This prototype started as part of the #100DaysOfGameDev challenge on Twitter. It was meant to be a full game - a homage to the bullet hell/shmup genre, with a modern twist using the game mechanics from popular action-shooters. However, I have decided to take the project in an entirely new direction.
Bullet Hell games have a special place in my heart. I enjoy playing them when I need to relax, since I need to concentrate on them fully in order to beat a level. The genre is niche though. People who have been exposed to the name through Cuphead and Undertale do not know the wonders of a classic Bullet Hell game like Touhou.
How can I offer bring back the wonders of the Bullet Hell genre?
In 2020, I started the #100DaysOfGamedev challenge, determined to make a Bullet Hell game. During then, this would have been my first ever full-length game!
I started off with the intention of making a classic Bullet Hell like Touhou. In this case, the game would be divided into levels like arcade games are. The player would have to complete all the levels to win the game. In each level, the player is given a certain number of lives. They lose lives when they collide with an enemy or enemy projectile, and if they lose all their lives, they must return to the first level.
How can I offer bring back the wonders of the Bullet Hell genre? I first tried giving the game a modern aesthetic using neon colors and a sci-fi environment. I took a lot of inspiration from Sayonara Wild Hearts.
Eventually, a new game mechanic came to me (which was bad). What if I added elements from first person action-shooters like Titanfall? These games require the players to approach enemies with thought and caution. They may need to change their weapon or their movement patterns before charging in.
I soon started making different attributes, or "types" in the game. Like Pokemon or Fire Emblem, each type was weak to one type, but strong against another. For my Bullet Hell, projectiles of different types would result in different interactions. I created different kinds of weapons as well to reflect those different types.
A diagram of the "types" in the game and a description of their interactions.
A diagram of the different weapons I designed for the game based on their types.
Many projectiles in bullet hell games never interact. With this feature however, the player has to strategize before shooting.
Once again, the player has to put some thought into their attacks. This laser can jam itself on certain projectiles!
This weapon shoots out fun particles, and projectiles at the end!
Due to the size and length of this game, I've taken a lot of care to document. I've especially made sure to keep a running diagram of the systems and scripts at play. Here's a simplified UML diagram that I made in Milanote to keep track:
I lost direction of my original vision for the game. In fact, it was hard to retain the wonders of the Bullet Hell genre with this new mechanic. One of the "wonders" of the genre is allowing the player to read patterns and carefully weave through them to win. However, this new mechanic takes away from that experience.
After some time, I reevaluated where I wanted this game to go, and decided that this mechanic would not work.
I recently read Jesse Schell's "The Art of Game Design." I found that I made a lot of mistakes during development. I needed to:
Come up with a plan and a direction for the game before you begin making it.
Flesh out as much of the game as you can before you begin making it. Think of your risks and edge cases!
Complete the core mechanic first and make it fun (this is hard to do when you're trying to gain visibility online actually, since you will need something visually appealing to showcase your game!)
Some other skills I picked up were:
Discipline. Which includes:
Motivation to work on the same game after months.
Understanding the importance of keeping the game's direction and scope.
Constant technical documentation.
3D math (I had this before, but this project took it to the next level!).
I plan to revive my Bullet Hell game, but with a new direction and new core mechanic! For my next step, I'm actually turning over to Unreal instead of Unity. I've always wanted to learn Unreal! Stay tuned for more!
I'm glad you asked! Take at the Game Dev Friends Club to learn more.