While working on my current project at Himeki Games, An Oath to the Stars, I've been playing tons of SHMUPs and trying to find a set of rules to design fun, meaningful levels. When you first think about this, level design seems to be just about throwing random enemies at the player frantically. The truth is actually much different.
After countless hours dodging bullets and shooting enemies, I'd like to share with you my findings.
Designing meaningful levels
I can assume your game has a theme, a gameplay feature that makes it stand out from the crowd. In Ikaruga you have the color-switching, bullet-eating mechanic. In TriggerHeart Exelica you can anchor enemies to your character and throw them away to damage other enemies. That’s the general theme, the pitch of your game.
From there, you start designing each level, and think about what the focus of that level is, what design you’re going for and what kind of emotion, of challenge you want to convey. Is that a moment of urgency, with lots of enemies quickly spawning and moving towards you, with a grave music and lots of bullets? Is it a calm, more relaxed phase where you deal with bigger, fewer enemies and needs the time to think carefully? Your game needs the right balance between all those, otherwise it will feel inharmonious and confusing.
Then, like a fractal, each of those rules apply to waves. You want to give levels a nice sense of flow, and the player should feel a connection between each wave, each one a logical consequence of the other.
You should see each wave as a puzzle that the player has to solve. You can just mindlessly shoot your way through it, but there should be an elegant, smart solution to each portion of your level. SHMUPs are all about detecting patterns, and players like to feel smart by recognising those patterns. You should also try to create beautiful shapes and movements through enemy spawning and bullet patterns.
Here are some rules I found very useful when designing meaningful, fun and challenging levels:
- Start with a interesting but not too challenging wave, to introduce the player to the theme of the level and give a little time to practice. It should feel unique and different from previous levels, but still familiar and part of the main theme. Try to convey this theme through colour pattern, music, background etc.
- From there, keep building with more enemies and different twists to that same mechanic. The player should feel a sense of unity and integrity in each level, and detect a common pattern. For this reason, avoid introducing lots of different mechanic and new enemies in a single level, otherwise it will just feel like you’re throwing random stuff at him. Properly placing each enemy and bullet pattern is hard and requires lots of fine-tuning.
- Around mid-level, the player will have a good understanding of the mechanic and theme. That’s the right moment to use a mid-boss, as a climax to reward the user for mastering the new gameplay element.
- From this point on, feel free to go with harder challenges and mix the new mechanic with previously introduced ones to give interesting twists to the overall gameplay. That's the moment when the new element you introduced is integrated with the greater picture.
- In the final phase of the level, try to go slower and give the player an interesting challenge. You want to build momentum and anticipation for the final climax, the level boss. The player should use this time to rest and get ready for the final challenge, so don’t rush it and give them enough time to think.
- The final boss should feel like a summary of everything you learned up to that point. It should also follow the same structure of a level, again like a fractal. Use the level theme to provide an interesting challenge for the boss fight, have different phases, and increase the challenge until the final climax. Think of it like a separate stage in itself.
You should also follow these rules to make sure your game is enjoyable and easy to play:
- Keep the player busy at all times. Use popcorn enemies to fill blanks.
- Don't overdo with bullets. Players should always be able to find a way to survive in each situation, so make sure to design your patterns around this rule.
- Make sure bullets are visible at all times, using bright colours and high contrasts.
- Don't put elements in the background, such as building or asteroids, that may be confused with game elements or obstacles.
- If something cannot be destroyed, make it clear through sound effects, lack of flashing etc.
I hope you'll find these guidelines useful and that they'll give you a better understanding of the level design process in a SHMUP.
You can follow updates about Hoshi he no Chikai on Twitter and on our dev-blog. Also check our new website!