slembcke/Chipmunk2D
FreeA fast and lightweight 2D game physics library.
About slembcke/Chipmunk2D
Chipmunk2D is a simple, lightweight, fast and portable 2D rigid body physics library written in C. Designed specifically for 2D video games, it offers a full suite of physics features including circle, convex polygon, and beveled line segment collision primitives, fast broad phase collision detection via bounding box tree or spatial hash, impulse solving using Erin Catto's contact persistence algorithm, sleeping objects for CPU efficiency, collision callbacks, flexible filtering, nearest point/segment/shape queries, a variety of joints (with joint callbacks for breakable/animated joints), and a contact graph. The library is C99 with no external dependencies, licensed under the MIT license, and has many language bindings available. Version 7 adds ARM NEON optimizations, autogeometry code, and a multithreaded solver.
Key Features
Pros & Cons
- Fast and lightweight with no external dependencies
- MIT license allows free use in commercial projects
- Rich feature set including joints, sleeping, queries, and callbacks
- Many language bindings available for easy integration
- Cross-platform portable C code
- Active development with recent optimizations (ARM NEON, multithreading)
- 2D only, not suitable for 3D physics
- C library may require wrappers for other languages
- No built-in graphics or audio; physics only