Skip to content
Techniques & Technology

Physics Engines

Simulating the real world

Physics engines simulate physical behaviour in games, from rigid body dynamics to fluid simulation, enabling realistic object interaction.

cross-platformphysicssimulationtechnical1995–present

Overview

Physics engines handle collision detection, rigid body dynamics, joints, ragdolls, cloth, and other physical simulations that modern games require. Early games implemented physics case-by-case — Pong had ball-and-paddle collision; Pinball Construction Set (1983) had remarkably good ball physics for its era; Marble Madness (1984) handled isometric ball-on-slope dynamics. By the late 1990s the physics-as-middleware market emerged, with Havok (1998), MathEngine (1998), and PhysX (originally Ageia, 2005) competing for licences.

This entry surveys the landscape. For specific engines see Havok; for ragdolls see Ragdoll Physics; for collision see Collision Detection.

Fast facts

  • Purpose: Simulate physical behaviour — Newtonian rigid bodies, soft bodies, fluids, cloth, articulated characters.
  • Core components: Collision detection, dynamics, constraint solving.
  • Major middleware: Havok, PhysX, Bullet, Jolt, Box2D, Chipmunk.
  • Built-in: Unity (PhysX-based + DOTS), Unreal (Chaos), Godot (Jolt), all modern engines.
  • Performance: Single-thread → multi-thread → GPU-accelerated → modern multi-threaded SIMD.

Physics types

Type Simulation domain Examples
Rigid body Solid, non-deforming objects Falling boxes, stacked crates, tumbling barrels
Soft body Deformable objects Jelly, sponge, deformable terrain
Ragdoll Articulated characters Death animations, body reactions
Cloth Fabric simulation Capes, flags, banners, character clothing
Rope / chain Chain-of-segments Rope swings, vehicle tow lines
Fluid Water, smoke, particles Pool water, smoke effects, blood spatter
Particle Small mass-points Sparks, debris, weather
Vehicle Car / bike / aircraft dynamics Specialised modules in most engines

Major physics engines

Engine Type Origin Notable for
Havok Physics Commercial 1998, Dublin Half-Life 2, Skyrim, Halo 3, dozens of AAA
PhysX Commercial → free Ageia 2005, NVIDIA 2008 Unreal Engine 4 default, Borderlands, Witcher 3
Bullet Open source Erwin Coumans, 2003 GTA V, Red Dead Redemption 2, Blender, Maya
Box2D Open source 2D Erin Catto, 2007 Angry Birds, countless 2D indies
Chipmunk2D Open source 2D Scott Lembcke, 2007 Crayon Physics, Limbo, indie 2D
Jolt Physics Open source Jorrit Rouwé, 2022 Horizon Forbidden West, Godot 4
MathEngine Commercial (defunct) 1998 Early competitor to Havok
ODE (Open Dynamics Engine) Open source Russell Smith, 2001 Education, robotics, early indie
Newton Game Dynamics Open source Julio Jerez, 2001 Mid-2000s indie

Integration approaches

How games use physics:

Approach Detail
Middleware licence Pay per platform / per game (Havok, original PhysX)
Engine-integrated Unity, Unreal, Godot bundle physics
Open source Bullet, Box2D, Jolt — free for any use
Custom Bespoke physics for specific gameplay (Trials, Worms, racing games)
Hybrid Middleware for general physics + custom for specific systems

What an engine does each frame

Simplified physics-engine update loop:

each frame:
    1. Update transforms from animation / scripts
    2. Apply external forces (gravity, wind, scripted impulses)
    3. Broad-phase collision detection (quick rejects via spatial hashing)
    4. Narrow-phase collision detection (precise contact generation)
    5. Constraint solver (resolve collisions + joint constraints)
    6. Integrate velocities → positions
    7. Sleep idle bodies (don't simulate stationary objects)
    8. Output transforms for renderer

The constraint solver is the maths-heavy core — typically iterative (run multiple passes until converged) and sensitive to timestep. Stable physics requires careful timestep management; fixed timestep with multiple sub-steps per frame is common.

Performance considerations

Optimisation Effect
Spatial partitioning Don’t check every pair against every other pair
Sleep / island detection Stop simulating objects at rest
Substepping Smaller timesteps for stable simulation, especially with high velocities
CCD (Continuous Collision Detection) Prevent fast objects from tunnelling through walls
Multi-threading Solver across multiple cores
GPU acceleration PhysX and others can offload to GPU
Determinism Reproducibility for replays / multiplayer

Notable physics-driven games

Games where physics is the gameplay rather than just visual flavour:

Game Year Physics use
Pinball Construction Set 1983 Surprisingly good 1980s ball physics
Marble Madness 1984 Isometric marble dynamics
Lemmings 1991 Per-pixel terrain physics
Worms 1995 Artillery + destructible terrain
Half-Life 2 2004 Gravity gun + interactive props
Trials series 2008+ Pure motorbike physics gameplay
Angry Birds 2009 Box2D + projectile physics
Crayon Physics Deluxe 2009 Player-drawn physics shapes
Bridge Constructor 2011+ Engineering simulation
Kerbal Space Program 2011+ Newtonian orbital mechanics
Besiege 2015 Build-and-test physics machines
Human: Fall Flat 2016 Active ragdoll as movement
Boneworks / Bonelab 2019, 2022 VR full-body physics
Teardown 2022 Voxel-based destruction physics

See also