Live data from Hacker News

Box3D, an open source 3D physics engine

box2d.org

41–50 of 135 posts

Re: Box3D, an open source 3D physics engine

#41
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.

There weren't many free and open source 3D physics engines to begin with. The ancient forefathers are ODE, Bullet and Newton Dynamics (all first released in the early 2000s), then nothing(?) for nearly two decades until Jolt in 2021 and now Box3D. Any addition to this small and exclusive list is very welcome :)

Full List Of Open Source Physics Engines: https://www.tapirgames.com/blog/open-source-physics-engines

Re: Box3D, an open source 3D physics engine

#44
Physics simulation is a dangerous rabbit hole. Even if you focus just on rigid bodies and just physical plausibility there are plenty of open problems related to collision detection and collision resolution. Convex approximations and/or decompositions for geometry and hand tuning of solvers are the norm, balancing robustness and precision against speed.

Re: Box3D, an open source 3D physics engine

#46
Yes! This is exciting to see. Erin Catto is such a cool hacker. Thank you, Erin, for sharing your code with the open source community.

There wasn't anything about determinism in the announcement, but I'd really love to see some more about that, too. Trying to use Unity's built-in physics to make a networked billiards game is quite troubling, when none of the clients can happily agree on what happened.

Re: Box3D, an open source 3D physics engine

#47
Oh, nice! What a wonderful surprise!

Very easy to build, and quite small. A release build of the library is 916K (on macos at least). I have a game engine that compiles to WASM for web, and having 3D physics has been a challenge. 3D physics libraries tend to be large and hard to compile. I didn't try yet, but compiling this into a WASM library with emscripten should be easy, and it's likely small enough to be justifiable for a simple web game.

Re: Box3D, an open source 3D physics engine

#48
post #20

> On the Valve side, Rubikon continues to evolve and Dirk has developed optimizations (similar to those in Box3D) in a new engine called Ragnarok. Look for that in future Valve games. wait....

Don't get your hopes up, it'll be used in deadlock's volleyball game mode

They do have a bouncing ball of about the right size in the beta. I was thinking basketball though.

Re: Box3D, an open source 3D physics engine

#49
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.

There weren't many free and open source 3D physics engines to begin with. The ancient forefathers are ODE, Bullet and Newton Dynamics (all first released in the early 2000s), then nothing(?) for nearly two decades until Jolt in 2021 and now Box3D. Any addition to this small and exclusive list is very welcome :)

Physx and Havok have been around for a while and dominate in the games industry for a huge class of games since they are integrated in Unreal and Unity.

On the web alone, there is also:

ammo.js, - a wasm port of bullet

cannon.js, - a hand rolled engine

oimo.js, - an older hand roll

rapier.js - a newer hand roll

jolt.js - a newer engine based on the engine used in horizon zero dawn.

physx.js/wasm - nvidia wasm port of physx

havok.js/wasm - microsoft endowed wasm port of havok (used in babylon)

I've been in the space for a while, and anecdotally, PhysX is the most robust, stable, and vying for speed with Havok which is slightly faster, but makes some different accuracy choices for speed. ammo/(Bullet) was one of the earliest serious engines to make it to the web.

r.e. - Box3d - Erin Catto is pretty legendary in the physics engine scene for (box2d).. it has powered a huuuuge number of games that many of us have likely enjoyed...

So I'm definitely gonna keep my eyes on this one!

Re: Box3D, an open source 3D physics engine

#50
post #46

Yes! This is exciting to see. Erin Catto is such a cool hacker. Thank you, Erin, for sharing your code with the open source community. There wasn't anything about determinism in the announcement, but I'd really love to see some more about that, too. Trying to use Unity's built-in physics to make a networked billiards game is quite troubling, when none of the clients can happily agree on what happened.

I was looking for the same thing. There is a replay mechanism, so it seems to be deterministic. But with floating point physics, not across platforms. Though -ffast-math is unsupported according to the documentation, so maybe it is intended to be deterministic across platforms? https://box2d.org/documentation3d/recording.html

EDIT: Clarified meaning about ffast-math

Post reply on HN