We're coming up to the halfway point now, if you haven't already you should upload a build to itch and make sure it works!
A few people have been asking about patterns and design, so I figured I'd make a big post about it here 馃榿
What's the point of all these bullets?
Enemy bullets serve a very specific purpose. They are there to make the player dodge!
You can think of your bullets like dangerous terrain that the player has to navigate. You're making the player move - preferably in interesting ways. Here are a few tips:
- Visibility is key: Players need to be able to see the bullets in order to dodge them. This seems obvious, but it's easy to get carried away with fancy effects that obscure the actual danger. Make sure your bullets are bright and easy to see against the background, and try to make sure smaller bullets are drawn on top of bigger ones, and faster bullets are drawn on top of slower ones.
- Give the player a chance: Even the most chaotic bullet patterns should have gaps for the player to weave through. This doesn't mean every pattern needs a giant safe zone, but it's important to give the player a sense of agency. If they die instantly, they won't feel like they had a chance to succeed.
- Understand the rhythm: Bullet hell is all about rhythm. Think of the patterns you create as a kind of deadly dance. The player's movements should feel like a response to the patterns you create. Vary the speed, density, and direction of your bullets to create interesting and challenging rhythms.
- Where are the bullets not? Sometimes it's helpful to think about where the bullets aren't. This can be a great way to create safe paths for the player to follow. For example, a ring of bullets with a gap in it can be a really effective way to guide the player's movement.
Play around with your bullet spawners!
Your bullet spawners are your most powerful tools for creating interesting patterns. Experiment with different configurations to see what kind of effects you can create. Here are a few ideas to get you started:
- Rotating spawners: A ring of bullets with a single gap that rotates over time can be a very effective way to create a moving safe path for the player.
- Oscillating spawners: Spawners that move back and forth can create interesting patterns that are constantly shifting and changing.
- Aimed shots: Spawners that shoot bullets directly at the player are a much more dynamic type of pattern. They force the player to move, there are no safe spots with an aimed shot!
- Randomized spawners: A little bit of randomness can go a long way in creating unpredictable and challenging patterns. Try randomizing the direction, speed, or timing of your bullets to keep the player on their toes. However, with great power comes great responsibility! Randomness is easy to overuse, you still want your patterns to be predictable. Try keeping your randomness within bounds - e.g. instead of moving your spawner randomly across the whole screen, move it randomly within a circle. That stops the player from being able to memorise where the bullets are coming from, but it lets them be a bit more consistent with positioning.
- Overlapping: Once you've mastered the basics of bullet spawning, you can start to experiment with overlapping different patterns. This is where things can get really interesting, it's what most of the best bullet patterns do! Big walls of bullets are spectacular, but often leave a safe space that the player can sit in. Adding some aimed shots to that will keep the player on their toes!
Further reading and resources:
- Bulletfury: If you're using Unity, I've made my bullet spawning tool free to use for the jam! It's a powerful pattern creator, with a ton of options and a LOT of optimisation. It'll work well no matter what machine it runs on. I'm around on Discord if you've got questions! https://wayfarergames.itch.io/bulletfury
- Sparen's Danmaku Design Studio: This is a great resource for learning about the theory and practice of bullet hell design. Check it out here: https://sparen.github.io/ph3tutorials/ddsga2.html
- Boghog's Shmup Workshop: A wonderful resource that goes in depth about shmup design. Boghog really knows what he's talking about: https://www.youtube.com/playlist?list=PLj_fo4j9ZtOlW8jUPFG-zlONynlI0ycnu
Don't be afraid to experiment!
The best way to learn about bullet hell design is to experiment and have fun. Try out different ideas, see what works, and there are a bunch of people on Discord who will be happy to try your game out, or provide feedback on screenshots and videos 馃榿
I hope this guide has been helpful. Now get out there and start making some awesome bullet patterns!