About

  • Discussions .

  • JoltPhysics .

  • JoltPhysics .

  • Open-source, MIT.

  • Playlist with all demos .

  • Pros :

    • 3D-Capable: Designed for 3D but can be used in 2D (lock Z-axis). Easier transition later.

    • High Performance: Multithreaded (job system) and SIMD-optimized for scalability.

    • Modern Design: Written in C++17, focused on large worlds and complex collisions.

    • Ragdoll/Bone Support: Built-in support for articulated bodies (useful for procedural animation).

    • Used in AAA Games: Horizon Forbidden West used Jolt’s predecessor (Jolt is its open-source successor).

  • Cons :

    • Steeper Learning Curve: Fewer 2D-specific tutorials compared to Box2D.

    • Heavier for 2D: Overkill if you’re only doing simple 2D games.

    • Less "Batteries-Included": You’ll need to handle 2D abstractions yourself.

  • Can Jolt be used as a physics engine for a 2D game in RayLib?

    • Technically, yes, but with caveats:

      • Jolt Physics is a 3D physics engine, primarily designed for rigid body simulations in 3D space.

      • RayLib is a 2D/3D graphics library, often used for 2D games.

      • While you can use Jolt in a 2D context by constraining movement to a plane (e.g., X/Y and freezing Z), this requires:

        • Manually restricting all bodies and forces to a 2D plane.

        • Filtering collisions and constraints accordingly.

        • No native 2D API or optimizations.

  • Should Jolt be used for a 2D game in RayLib?

    • Advantages :

      • High-performance and modern physics engine.

      • Features like multithreading, deterministic simulation, and fine control over physics behavior.

      • Good if you expect to migrate to 3D later or need advanced features.

    • Disadvantages :

      • Not designed for 2D: No 2D-specific APIs, optimizations, or collision shapes.

      • Increased complexity: Requires workarounds to force 2D behavior.

      • Memory and performance overhead for unused 3D capabilities.

      • Alternative 2D engines exist that integrate more naturally with RayLib.

  • Determinism :

    • "The simulation runs deterministically. You can replicate a simulation to a remote client by merely replicating the inputs to the simulation. Read the Deterministic Simulation  section to understand the limits."

Jolt for 2D

Beam

  • Early stage.

  • Type: C#

  • Inspiration: Jolt’s job system, but for .NET.

  • Why Watch It?

    • Could become a C# alternative to Jolt.