Bullet Physics is an open-source, real-time physics simulation library that provides collision detection, rigid body dynamics, and soft body simulation for use in games, robotics, visual effects, and scientific computing. Originally developed by Erwin Coumans, it implements discrete and continuous collision detection alongside a constraint solver, enabling physically plausible interactions between complex 3D geometries at interactive frame rates.

Content

  • Bullet Physics was initiated by Erwin Coumans around 2003 whilst he was at Sony Computer Entertainment and released publicly in 2005 under a permissive zlib licence. It was designed from the outset to be platform-agnostic and suitable for PlayStation, Xbox, and PC targets simultaneously — an unusual requirement at a time when most physics middleware was platform-specific and commercially licensed. Its adoption accelerated rapidly through the mid-2000s as game studios sought an alternative to Havok’s commercial engine; titles such as Grand Theft Auto IV integrated Bullet for partial physics tasks.
  • Technically, Bullet’s simulation pipeline begins with broadphase collision detection using a dynamic bounding volume tree (DBVT) or sweep-and-prune (SAP) algorithm to quickly cull non-colliding pairs. Narrowphase detection then applies the Gilbert-Johnson-Keerthi (GJK) algorithm for convex shape pairs, augmented by the Expanding Polytope Algorithm (EPA) for penetration depth recovery. Contact manifolds are passed to the constraint solver — an iterative sequential impulse (SI) solver — which resolves linear and angular impulses subject to friction, restitution, and joint constraints. Soft body simulation extends this pipeline with position-based dynamics and FEM (finite element method) approaches.
  • In the robotics and AI community, PyBullet (the Python binding of Bullet 3) has become one of the dominant simulation backends for reinforcement learning research. OpenAI Gym, Google’s dm_control, and various robot manipulation benchmarks rely on Bullet for physical environment simulation. This trajectory reflects a broader shift from entertainment-focused physics engines to scientific simulation infrastructure. Bullet also integrates with Blender via its Game Engine (deprecated but influential) and NVIDIA’s Isaac Sim uses Bullet-compatible interfaces for ground-truth data generation.
  • By 2024–2025, Bullet Physics coexists with GPU-accelerated physics engines such as NVIDIA PhysX and Warp, which offer superior throughput for massively parallel simulation required by modern reinforcement learning. However, Bullet retains a strong position due to its zero-cost licensing, excellent CPU-side determinism, and deep integration in open robotics toolchains (ROS, Gazebo, PyBullet). Active development continues on Bullet 3, with GPU broadphase extensions and improved soft-body solvers. Its open-source nature and MIT-compatible licence ensure continued use in academic and applied research contexts.