Live data from Hacker News

Box3D, an open source 3D physics engine

box2d.org

131–135 of 135 posts

Re: Box3D, an open source 3D physics engine

#131

Earlier quoted context omitted.

Hi! Rollback determinism is a term invented by Erin Catto here: https://box2d.org/posts/2024/08/determinism/ Physics engines like Box3D have a significant amount of internal state and caching, like contact caching, and other things to speed things up. I've talked to Erin a lot about stuff like: "Hey, what if I want to do an FPS or a vehicle, but I want to roll back only the character or vehicle, like in an FPS?" From…

I see. This helps a lot thank you. 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 p…

That's awesome!

Re: Box3D, an open source 3D physics engine

#132

Earlier quoted context omitted.

I see. This helps a lot thank you. 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 p…

That's awesome!

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.

Re: Box3D, an open source 3D physics engine

#133

Earlier quoted context omitted.

That's awesome!

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)

Re: Box3D, an open source 3D physics engine

#134
post #3

Box2D was a foundation for a lot of interesting physics oriented indie games in my day. I wonder if the landscape is empty enough for a resurgence.

i remember being hooked on Incredibots back when that was still a thing! that was how I heard about Box2D way back.

It's so cool to see people talking about Incredibots here, I also learned about Box2D from it back then, and it immediately came to mind when I saw the Box3D samples app.

Re: Box3D, an open source 3D physics engine

#135
post #91

Earlier quoted context omitted.

Yep, there is a WASM build with full feature support: https://github.com/jrouwe/JoltPhysics.js

I open sourced a wasm build that has better typescript support here: https://github.com/snackdotgame/jolt-ts I also have an open source character controller for it https://github.com/snackdotgame/jolt-ts-character-controller I'm a big fan of jolt because they have a more incremental way of snapshotting physics state which really reduces the amount of serialization and memory you have to do if you want to implement de…

Nice, thanks for sharing! I'm definitely hoping to make use of the determinism for my netcode, if you have any useful write ups about that I'd be interested to read more.
Post reply on HN