Finally I actually got around to blocking out some level design. Nothing fancy, just a plan of walls and obstacles for the player to manoeuvre around (apparently that's maneuver for Americans).
It didn't take long before I realized that the whole thing was way too big and needed to be smaller. But that wasn't the only issue. As the game time increases in a level, so does the difficulty. And as the levels increase, the game gets harder. Obviously this is a tried and tested gaming concept, but I was finding that the difficulty curve ramped up very sharply. A little rejigging later and ... it was far too easy. Minor adjustment and too difficult again. Balancing this difficulty curve has taken up the vast amount of time this month.
It turned out that a lot of this difficulty stemmed from the player's powerups not reinitiating in later levels. I had made various changes to the powerup system and how it gets stored for reference and not all of it carried across correctly, and in one case I found that the variable being stored had received a name change at the other end which was no longer being referenced.
Going through the various powerups I fixed all the broken paths and references, and generally tweaked the strengths and effects. Gradius style "option" followers, or weapon satellites which follow the player and increase firepower were toned down in the amount of damage they did. "Static Heal" powerup was scrapped because the player never has chance to stop long enough to increase healing without getting swarmed by enemies. Enemies and their spawning routines were tweaked to give a more gradual rise in challenge but also to watch out for the player wiping the floor with them over a longer period of gameplay.
Each level has an exit, and each exit requires unlocking via activating nodes with later levels having multiply nodes to unlock. To make sure that the player understands this concept there are visual hints in the bottom right of the screen and the in the first level the node is next to the exit. Once all nodes are unlocked the level boss spawns (currently just a large cube with an aggressive charge attack) and once the boss has been defeated the exit opens. To prevent the player from lingering in the level to "clean up" cash and remaining swag I decided to stop the enemy from dropping loot coins once the boss has been defeated. Difficulty also takes a temporary increase both whilst the boss is released and also when they have been defeated to encourage the player to head for the open exit and progress the game.
In the end it all seems to work rather well, and I am pleased with the result. Here's nearly an hour of playtesting the system. I also found an error at the end of it, as not statistical information was being passed to the end of level screen when the player was killed and the game was over - now fixed.
So, next up is adding a few more statistics to the end of level screen such as percentage of kills, cash, swag, etc that the player has gained that level. After this it will time to get on to actually designing art for the level, and eventually even the characters with a greater variation of enemies, bosses and enemy attacks. But hey, one thing at a time! ;)