Invasion from OctorSpace has an amazing level editor and it should be, because I dislike most pack in level editors. Its a joy to just see the levels without having to play the levels. With this in mind, I wanted to see more levels and play more levels without making more levels. So to fill this need, I forged something to generate levels for me to marvel at.
The first method system was level generation based on building a level from mini levels. Mini levels are any size, 1 phase, 3 phases, 82 phases. Users can make and save their own mini levels as let’s say “shuffle-1-1” “shuffle-1-2” so then the system picks up level 1, mini level 1, mini level 2. Then when the game makes levels it will take 5 or 6 mini levels and make a level from them.This method is similar to AquaNimble. The only difference is AquaNimble has a bit of variety of enemies and placement when using level chunks to make random levels.
Because it was so similar to AquaNimble, I went a step further and came up with a random wave generator. The second system would come up with rows of enemies and make symmetrical patterns. If the game placed a tough enemy, it would stop adding to the row and push back the next row far back so the game so players can deal with the tough enemies before they get overloaded.
Playing the game with this new method felt great! I enjoyed it and it never needed any tweaks beyond the tough enemies finishing the row of enemies and pushing the next row back further. Its playable and enjoyable. The problem is that there was no art to it since its just all random.
The third iteration was then created based around patterns such as lines, circles, squares and arrows. Then the game selects a pattern and assigns enemies to the lines. Like the second method, when it plops down a tough enemy, it discontinues the row and discontinues the next set of rows to give players time to deal with the tough enemies. With patterns, it almost looks as if a human had made the levels. To make things more interesting the patterns are randomly flipped so south pointing arrows become north pointing arrows.
Since the system eliminates the next few rows after tough enemies, it makes the patterns even more unique and unrecognizable. This method has resulted in a few unintentional smiles and frowning faces as one pattern has two circles while another pattern has a circle that gets trimmed in half with tougher enemies being placed.
With this all done, now I need to figure out enemy collections for each level so the challenge can ramp up as the game progresses. Pick ups for power-ups, items, and collectables still need to be added to the procedural generation system to make enjoyable levels even more fun. Then once its all done, I will cap it off with a boss fight and automatic music changes.
I should point out that OctorSpace also has a shuffler mode that will shuffle the waves of a level. So if you ever get used to playing level 1 over and over, the shuffler should make it more interesting and challenging. The shuffler feels a bit too challenging as a lot of levels are designed to have an easy first half, then you obtain an extra weapon before tackling the tougher second half.
Before I let you go, I should point out that I added a horizontal and vertical flip to selections while in the editor. This makes it a lot easier for users to hand make symmetrical enemy waves. Users need only select a bunch of objects, press H or V to flip them accordingly.