Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(+1)

Yay finally a bullet hell done right. I love bullet hell but I rarely see a good implementation of it. May I ask you a bit about the technical side? How did you handle that many bullets on the screen, is there any trick to it? Also how did you design the bullet pattern? Like rotating the spawner and spawns bullet every x milliseconds? Regarding the game, it is so beautifully done in all aspect. Challenging but not impossible to beat, and the shield is really nice touch in term of game design. I love that I can only shoot within a range so I have to move closer to the targets to fire, creating a lot more depth to the game. Hitting the beat also feels very natural, but because of the busy graphics, sometimes I don't really know if I have missed a beat or not because I mostly had time to look at the bottom bar in the beginning and not during the stage. This is not important if I were to do well, but if I were not, or if the tempo changes, I wouldn't have notice. All in all, an awesome heavily rhythm based entry. I wish there were more tracks to play.

(2 edits) (+1)

The bullet hell things really depends on the game engine. The engine used for this game is custom-made and lightweight, so it won't do a lot of other transform logics creating unnecessary overheads. Actually you can do this with glfw or other similar graphics libraries.

The bullet logic is calculated in some way that the engine don't have to frequently update the bullet states. Every bullet has bullet state consists of position, velocity(in axial speeds or rotation+speed) and acceleration values (angular velocity+linear acceleration), and the position and velocity values are both updated every frame.

As for spawners, there are no actual spawners, but all bullets have an option of being spawned from any of the enemies. As I use Lua for the game script, every "spawner" is actually one cycle of a for loop, with a series of tasks and bullets assigned to a spawned enemy.

The tempo change was designed as part of the introduction, as I thought it's easier to start slower and gradually gains speed; from your feedback I feel this actually bad for new players. If there are more stages, I would definately give a constant tempo for all early stages.