coderJeff wrote:They all sound great; I was just think should avoid over reaching on the first try.
Totally agree. I think a functional design should be implemented first, then we'll iterate over it.
coderJeff wrote:Sounds perfect!
Very well. The name's 'NanoShips', still? Or do you wish to change it? Or we can 'decorate' it a little:
Code: Select all
/'
Very simple random game title generator
Useful for brainstorming =D
'/
dim as string prefixStrings( ... ) = { _
"Perfect", "Infinite", "Armed", "Omega", "Zero", "Astro", _
"Stellar", "Last", "Final", "Red", "Blue", "Dangerous", _
"Sol", "Shattered", "Mega", "Forgotten", "Alpha", "Giga", _
"Fighting", "Black", "Hyper", "Star", "G", "Super", "Luna", _
"Galaxy", "Sun", "Universal" _
}
dim as string nounStrings( ... ) = { _
"Lancer", "Planet", "Justice", "Battle", "Weapon", _
"Thunder", "Infinity", "Chaos", "Zone", "Breaker", _
"Titanium", "Steel", "Vapor", "Hell", "Heaven", "Seeker", _
"Gun", "Gemini", "Divide", "Fire", "Sol", "Luna", "Galaxy", _
"Sun", "Moon", "Universe" _
}
dim as string suffixStrings( ... ) = { _
"Gaiden", "Z", "X", "R", "EX", "Again", "Redux", "Plus", "Duel", _
"Special", "Trail", "Turbo", "War", "Blaze", "Stream", "Blade", _
"Unlimited", "Metal", "Divide", "Light", "Storm", "Laser", "Spirit", _
"Extra", "Super", "Nova", "Taisen", "Warrior" _
}
? ubound( prefixStrings ) * ubound( nounStrings ) * ubound( suffixStrings )
type ListOfStrings
public:
declare constructor( _
aStringArray() as string )
declare destructor()
declare function at( _
byval as integer ) as string
declare function atRandom() as string
private:
declare constructor()
m_stringArray( any ) as string
end type
constructor ListOfStrings()
end constructor
constructor ListOfStrings( _
aStringArray() as string )
redim m_stringArray( _
0 to ubound( aStringArray ) - lbound( aStringArray ) )
for i as integer = 0 to ubound( m_stringArray )
m_stringArray( i ) = aStringArray( lbound( aStringArray ) + i )
next
end constructor
destructor ListOfStrings()
end destructor
function ListOfStrings.at( _
byval anIndex as integer ) as string
return( m_stringArray( anIndex ) )
end function
function ListOfStrings.atRandom() as string
return( m_stringArray( cint( _
rnd() * ubound( m_stringArray ) ) ) )
end function
type RandomName
public:
declare constructor( _
byref as ListOfStrings, _
byref as ListOfStrings, _
byref as ListOfStrings )
declare destructor()
declare function make() as string
private:
declare constructor()
m_prefixes as ListOfStrings ptr
m_nouns as ListOfStrings ptr
m_suffixes as ListOfStrings ptr
end type
constructor RandomName()
end constructor
constructor RandomName( _
byref aPrefixList as ListOfStrings, _
byref aNounList as ListOfStrings, _
byref aSuffixList as ListOfStrings )
m_prefixes = @aPrefixList
m_nouns = @aNounList
m_suffixes = @aSuffixList
end constructor
destructor RandomName()
end destructor
function RandomName.make() as string
dim as string theName
theName = m_prefixes->atRandom() & " " & _
m_nouns->atRandom() & " " & _
m_suffixes->atRandom()
return( theName )
end function
randomize()
var prefixes = ListOfStrings( prefixStrings() )
var nouns = ListOfStrings( nounStrings() )
var suffixes = ListOfStrings( suffixStrings() )
var names = RandomName( prefixes, nouns, suffixes )
for i as integer = 1 to 100
? "NanoShips " & names.make()
next
sleep()
This generates a random game title in the over-the-top, kind of nonsensical japanese-style games and animes. Some cool names I've come across:
NanoShips Star Battle Trail
NanoShips Armed Breaker Divide
NanoShips Star Chaos Taisen
('taisen' is japanese for 'war')
NanoShips Mega Infinity Special
NanoShips Last Hell Unlimited
NanoShips Blue Gemini Z
NanoShips Star Chaos Divide
NanoShips Black Heaven Duel
NanoShips Giga Gemini Light
NanoShips Infinite Battle Again
NanoShips Shattered Heaven Blaze
NanoShips Last Divide X
NanoShips Fighting Zone X
NanoShips Omega Battle Z
NanoShips Sol Breaker Taisen
('sol' is spanish for 'sun', 'taisen' see above)
NanoShips Infinite Battle Unlimited
NanoShips Giga Chaos Plus
NanoShips Last Galaxy Taisen
NanoShips Infinite Titanium Unlimited
NanoShips Stellar Divide EX
NanoShips Universal Divide Unlimited
NanoShips Stellar Chaos Redux
NanoShips Forgotten Galaxy Taisen
NanoShips Galaxy Hell Nova
NanoShips Star Gun Blaze
NanoShips Star Weapon Storm
NanoShips Last Universe Nova
NanoShips Galaxy Battle Gaiden
NanoShips Final Heaven Blaze
NanoShips Final Sol Storm
NanoShips Infinite Infinity X (
LOL!)
NanoShips Hyper Battle Unlimited
NanoShips Fighting Universe R
NanoShips G Chaos Nova
You can change the strings used for generating names to create other styles. Crude but effective brainstorming =D