AI bullet hell maker: patterns are maths, and maths is code
Bullet hell is the genre where the gap between having an idea and seeing it on screen is widest, because every pattern is a small maths problem. This is exactly what a code-writing layer is for.
Why this genre is a wall for non-programmers
You can picture the pattern. A ring of thirty bullets that expands, rotates as it goes, and every fourth bullet accelerates. That is a clear image and it is also a trigonometry problem with a timing loop wrapped round it.
For someone who does not write code, that gap is where the genre ends. There is no drag-and-drop way to express a spiral that tightens over four seconds and then reverses. It is code or nothing.
Director 1 writes GDScript into your project, so it stops being a wall. You describe the pattern in the words you already used to picture it, and you watch it run.
Patterns, described and played
Rings, spirals, aimed shots that lead the player, walls with a single gap that drifts, bullets that split on a timer, lasers that telegraph before they fire. Each is a sentence to ask for and a fiddly function to write.
The value is not that the first version is right. It is that the first version exists in a minute, so you can see that the spiral is too dense and ask for it looser. Iterating on patterns by playing them is the only way to design them, and normally you cannot afford to iterate because each attempt costs an evening.
Bosses are the same idea at a larger scale. Three phases, a transition, a desperation pattern at low health, and an attack that only appears if you have not been hit. All describable, all mechanical to implement.
The technical parts that decide whether it feels good
A hitbox smaller than the sprite, because that is the genre convention and the game is unfair without it. Grazing, if you want scoring to reward nerve. Bullet pooling so a thousand on screen does not cause a hitch. Slowdown on focus. A death that clears the screen and gives you a moment.
These are all conventions with specific implementations, which makes them a good fit for generation. Ask, play, adjust.
Sound matters here more than people expect too. A pattern with a clear audio cue on the wind-up is a different difficulty from the same pattern in silence, and it is a cheaper fix than redesigning the wave.
Where the judgement stays with you
Difficulty. There is no algorithm that tells you a wave is fair. You play it, you die to it eleven times, and you decide whether the eleventh death was your fault or the pattern's. That distinction is the entire craft of the genre and it belongs to the person playing.
Readability too. A pattern can be mechanically survivable and visually illegible. Only your eyes will tell you that.
Scoring is the other place your taste has to do the work. A scoring system decides how players play, and a system that rewards sitting still safely will produce a game where everyone sits still safely. That connection is invisible until you watch someone optimise against it.
Practical shape
Stage Engine is a desktop app for Mac and Windows with Godot bundled inside it, so a run starts instantly at your machine's framerate. That matters here, because a thousand bullets at a stable frame rate is the baseline requirement of the genre and a browser preview is a bad place to test it.
Free to download with a free plan, Indie at $10 a month, Pro at $50. Building needs an internet connection; playing what you built does not.
Building a pattern library that is yours
The way this genre is actually developed is that you accumulate a personal vocabulary of patterns and then compose with them. Fifteen or twenty base behaviours, each with parameters, combined and layered.
That is worth building deliberately rather than by accident. Ask for each pattern as a reusable thing with the parameters you care about exposed, so a spiral is a spiral with a speed, a density and a rotation rather than one specific spiral. The second boss then costs a fraction of the first.
This is also the difference between a game with eight patterns and a game with a hundred, which is roughly the difference between a demo and something people finish.
None of it is a preset list handed to you. It is your vocabulary, built for your game, which is why it does not run out at the point your ambitions exceed somebody else's menu.
Questions
- How do I describe a pattern?
- In the words you would use to describe it to a person. Director 1 turns that into GDScript and you watch it run.
- Can it handle a thousand bullets on screen?
- The game runs locally on the bundled Godot rather than in a browser, which is what makes that a reasonable target.
- Is there a library of preset patterns?
- No, deliberately. A preset list is a ceiling, and this genre is entirely about the pattern nobody has made yet.
- Can I do 3D bullet hell?
- Yes. The camera and space are your choice rather than a fixed mode.
- What does it cost?
- Free plan at $0, Indie $10 a month, Pro $50. More usage, same engine.
- Do I need to understand the maths behind a pattern?
- No. Describing the shape and the movement is enough. If the result is not what you pictured, describing the difference is also enough.