Bullet Hell Patterns

6.png

So this has been my 3rd bullet hell entry for a game jam (first in a LD) - so I thought I'd share how I generate patterns easily. Note that this is for generic patterns - there are specialized patterns (even in this game) whose behavior you'd have to program separately.

Step 1: Have a spawner class which spawns bullets.

Step 2: Create some common variables for every bullet type:

InitSpeed: What speed the bullet starts with

FinalSpeed: What speed the bullet ends at

Deceleration: The rate at which the bullet decelerates.

DecelerationDelay: If there's a delay from when the decel starts.

NumberOfBullets: Number of bullets created in one round

AngleVariation: The angle between two bullets in terms of direction

NumberOfRounds: Number of rounds in one burst (one burst is considered firing once).

TimeBetweenRounds: The time between two rounds.

RateOfFire: The time between each set of rounds

SpawnerRotationRate: The rate at which the spawner rotates

NumberOfSpawners: The number of spawners, equally spaced in terms of angle.

Step 3: Program the spawner to spawn based on just those variables - should be fairly easy to do.

Remember, if you're creating a more danmaku-like game, make sure your bullets have deceleration and a minimum speed. This was used in this game.

And voila - by changing just these values - you can get a lot of variations! You can set these variables to vary based on the current level too to make teh game progressively harder. You can try out the effects in our deckbuilding x bullet-hell entry!