physics: add collision and physics engine #1084

Open
opened 2023-10-25 07:19:07 +00:00 by emidoots · 0 comments
emidoots commented 2023-10-25 07:19:07 +00:00 (Migrated from github.com)

This issue is a declaration that we will add a physics engine eventually. It will not happen soon, but rather slowly over time.


Here are my thoughts:

  1. Yes Mach will provide physics eventually, but no ETA on this yet. I only plan ~2 minor versions (about 1 year) in advance. I will add Physics to the long-term section of the roadmap.

As for what is good today, it depends on what you are making..

  • 3D: ODE is a great 3D physics engine with an official C API, and may be what I would reach for
  • 3D: Bullet Physics is the old tried-and-true, but it is C++ and doesn't have any official C API
  • 3D: Jolt Physics is the up-and-coming contender in the space, but it is C++ and doesn't have a C API. zig-gamedev has bindings to it.
  • 2D: Box2D 3.0 is being worked on these days, which is being written in C instead of C++ like the old version - https://box2d.org/posts/2023/01/starting-box2d-3.0/

My intention is to slowly over time add more collision logic to mach.math and then physics engine logic as well. If you need something immediate which is an extensive/comprehensive physics engine, you'll probably need to pick something above.

This issue is a declaration that we will add a physics engine eventually. It will not happen soon, but rather slowly over time. --- > Here are my thoughts: > > 1. Yes Mach will provide physics eventually, but no ETA on this yet. I only plan ~2 minor versions (about 1 year) in advance. I will add Physics to the long-term section of the roadmap. > > As for what is good today, it depends on what you are making.. > * 3D: ODE is a great 3D physics engine with an official C API, and may be what I would reach for > * 3D: Bullet Physics is the old tried-and-true, but it is C++ and doesn't have any official C API > * 3D: Jolt Physics is the up-and-coming contender in the space, but it is C++ and doesn't have a C API. zig-gamedev has bindings to it. > * 2D: Box2D 3.0 is being worked on these days, which is being written in C instead of C++ like the old version - https://box2d.org/posts/2023/01/starting-box2d-3.0/ > > My intention is to slowly over time add more collision logic to `mach.math` and then physics engine logic as well. If you need something immediate which is an extensive/comprehensive physics engine, you'll probably need to pick something above.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hexops/mach#1084
No description provided.