panthavma / castagne

Fighting Game engine and toolkit
Other
77 stars 9 forks source link

Rollback implementation #1

Open panthavma opened 2 years ago

panthavma commented 2 years ago

Create the rollback implementation for the engine.

Currently, the engine is already made with this in mind, but this will still be a long task.

panthavma commented 2 years ago

It works, but still needs support and debugging before integrating into the main branch. Code accesible on the rollback branch.

TheYellowArchitect commented 2 years ago

I am hyped to find a fighting game engine with rollback netcoding already implemented (this is the hardest part of making a fighting game nowadays imo)

Having read all the roadmap, I have a question Since this won't be limited to 2 entities (nice) How many players could this support at the same time, without visible issues? Because there are 2 physical bottlenecks to rollback netcoding from what I remember:

I also want to ask your opinion on Godot 4.0 - do you see Godot 4.0 as part of Castagne's roadmap, when Godot 4.0 stabilizes itself?

panthavma commented 2 years ago

Hi!

I haven't tried with more players at the moment. Considering the netcode is done using dsnopek's addon, I would expect being able to support at least as many as Retro Tank Party, so 4. I've tried to reduce my input state as much as possible.

Having more players however will increase the amount of resimulated frames, as there are a lot more ways for inputs to come at different points. Last time I checked, it could simulate 5 frames per frame with no or little slowdown, but this merits being checked again.

Since I don't rely on Godot's features too much, migrating to 4.0 doesn't seem to be urgent, but I am interested by the C++ modules to eventually rewrite the core to be faster.