Help with some Shmup game design decisions

Hello,

I want to develop an arcade style bullet hell shmup game, and had a few design concerns I wanted to iron out early. If some more experienced Godot wizards could give some advice and maybe pros/cons I would greatly appreciate it.

Firstly, how bad of an idea would it be to avoid using delta throughout the project? The upside as I see it is that bullet pattern behavior should be 100% deterministic if done this way. I plan on having fps capped at 60, and the goal is for the game to be lightweight enough that it shouldn’t ever drop below this even on some weaker machines.

Secondly, if I’m instantiating potentially up to hundreds of bullets on the screen at a time as Area 2Ds, is the default Godot physics engine well optimized for this? Or would custom collision logic potentially be better (ie for a circular bullet only check the bullets distance from the player to determine collisions)?

Thanks,
Alex

  1. If you use _physics_process instead of _process(), you don’t need to use delta, basically.

  2. Radius checks are among the easiest checks to implement, so you can test this easily with your own project. You mostly want to avoid to check all bullets against the player every frame, and only those in some vicinity, so there is potential for optimization - which is something Godot’s physics engine probably already does.

1 Like

Thanks for the tips! I will definitely keep it all in mind. Other sources I’ve found have been supporting the idea that evaluating physics manually should be more efficient so I will try to go with that.
This one in particular was quite topical: https://www.youtube.com/watch?v=_z7Z7PrTD_M