Thank you for your time. I respect you deeply and have valued your work.
For box2d, in the past I added a function to delete the entire contact cache and then I experimented with either calling that every single frame on both client and server, or only during a rollback.
In one game, I did the former and in most others, I did that latter.
In those box2d games, the entire world was predicted/resimulated, including remote players. A smart smoothing technique was used on remote players to dampen network artifacts. It worked well, even sniper rifles worked well. (The player movement had a certain flavor)
I am currently building something custom on top of Jolt, but will experiment with box3d.
The smart detection of what needs to be resimulated is something I'm just about to start on.
My mind is turning on how partial resimulation could be done on top of box3d's 'keyframe' recording system....
OK I chatted with Erin, he says Box3D doesn't have the ability to clone a world yet, but he does plan to add it. So maybe reach out to him. I think you'll need the clone a world functionality to do the rollback properly GGPO style.
Awesome, thanks for engaging with me and talking to Erin about it.
I hacked together world cloning in box 2d and am confident I could do it in box 3d as well. Especially with the record/replay/validate system to help guide the implementation.
I'll find a way to send you and Erin my project when I get it working (or when I fail)
Thank you for your time. I respect you deeply and have valued your work.
For box2d, in the past I added a function to delete the entire contact cache and then I experimented with either calling that every single frame on both client and server, or only during a rollback.
In one game, I did the former and in most others, I did that latter.
In those box2d games, the entire world was predicted/resimulated, including remote players. A smart smoothing technique was used on remote players to dampen network artifacts. It worked well, even sniper rifles worked well. (The player movement had a certain flavor)
I am currently building something custom on top of Jolt, but will experiment with box3d.
The smart detection of what needs to be resimulated is something I'm just about to start on.
My mind is turning on how partial resimulation could be done on top of box3d's 'keyframe' recording system....