hiatus
More patterns and improvements
Emitter things
DISCLAIMER: This thing isn't completely finished! It might (will) be very buggy!
Danmaku Engine is a C++ plugin for Godot I write and use to make my SHMUP games. It's geared towards my workflow but it may be useful to you too!
At the moment the plugin can handle ~7000 simultaneous bullets before it starts to hang. I'm looking for more ways to make it performant though!
I've spent time researching, and much more time playing, great SHMUPs such as Touhou and DoDonPachi, and I have tried my best to develop this plugin so that you can create amazing bullet patterns at that level.
To get started, create a BulletPool
node in your scene and set how many bullets you want the pool to... pool. Make sure you set correctly as the node will never activate more bullets than exists within the pool.
To spawn bullets, you can either do so by first creating a BulletSettings
resource, then using the Emitter2D
node to emit bullets for you.
Alternatively, you can do it manually:
bulletpool.start_bullet(relevant, parameters, go, here)
Once a bullet is emitted, it will have the physics layer that you set it to. Add a hitbox to your enemies/player with the matching collision mask, then connect the body_shape_entered
signal to do whatever you want when something is hit with a bullet.
Probably infinite (although countably infinite). However, the distant screams of Godot running this thing is not a bug. It's a feature.
If your game crashes because of this, feel free to let me know, making sure you give me as much juicy detail as possible.
Q: Will you be making 3D versions of the nodes?
Q: Can you recommend me a SHMUP to play?
Copyright (c) 2024-present MELMON PROJECT.
This program is released under the MIT Licence. In short, you may use, study and modify the source code in any way your heart desires. If you use this program in your own project, credit is not required but highly appreciated!
THIS SOFTWARE IS PROVIDED "AS IS" WITH NO WARRANTY OR LIABILITY OF ANY KIND. FOR DETAILS, CHECK THE PROVIDED LICENSE FILE.