Okay, so based on the massively overwhelming vote of 3 votes to 1 in favour of scripted levels, I'm deciding how to structure my levels. I'm going to have a number of waves per level, each wave will have a number of attacks, each attack is an enemy type attacking in a set formation comprised of four to six enemies. At the end of each level, after five to seven waves, they'll be a boss enemy, there's two boss graphics, but they will attack in different ways each time you meet them (I may also change their colours and weapons).
For the level files, I want to be able to write them manually using a simple text editor like notepad++, the simplest file to write would be a CSV file, I can then use the string utils library in B4A to read in the level files, one file per level. The level file structure would be like this:
level, num waves
wavenum, num attacks, bosswave(0,1)
attack1 atype,number, position,direction
time before next attack
attack2 atype,number, position,direction
time before next attack
attack3 atype,number, position,direction
...
...
wavenum, num attacks, bosswave (0,1)
attack1 atype,number, position,direction
time before next attack
attack2 atype,number, position,direction
time before next attack
attack3 atype,number, position,direction
...
wavennum, 1, bosswave 1
bosstype, speed, attacktype
...
one level per file, approx five to seven waves per level
one boss per level
To have multiple attacks start at once I set the time before next attack to zero, if the enemy attack is defeated before the time runs out then it starts straight away ignoring the rest of the next attack countdown.
I'll see how much I can get done on this today and post a video later if I manage anything that works.