game design

PHYSICS-BASED DESTRUCTION IN GAMES

Here's a thing that took me embarrassingly long to figure out as a developer: almost every piece of destruction you have ever seen in a AAA game is fake. Not fake in the sense that it doesn't happen on screen, but fake in the sense that no physics simulation calculated it. A wall blows up in Call of Duty and what you saw was an animator's pre-baked mesh swap with a particle system glued on top. The bricks don't know they are bricks. They are a single mesh pretending to be many.

I want to walk through what real physics-based destruction actually means, why so few games do it, and the small handful of titles that actually pull it off. This is going to get nerdy.

The Three Tiers of Game Destruction

Before getting into the technical weeds, it helps to sort destruction into rough buckets. There's pre-baked destruction, which is what 95% of games use. There's hybrid destruction, which uses physics for some pieces but not the whole simulation. And there's true real-time destruction, which is rare and expensive and almost always involves voxels or some other clever data structure.

A pre-baked destruction event is just an animation. The artist models the intact wall, models the destroyed wall, models maybe two or three intermediate states, and a script triggers the swap when the wall takes enough damage. Particle effects sell the moment. The chunks that fly outward are usually pre-rigged with canned trajectories. It looks fantastic. It costs almost nothing to run. And it is, fundamentally, a magic trick.

Hybrid destruction is where most modern AAA lives. The wall is pre-fractured into chunks, those chunks are stored in the asset pipeline as separate meshes, and when the trigger fires the engine spawns each chunk as a rigid body with an initial impulse pointing roughly outward from the impact. Rigid body physics takes over from there. The chunks tumble, collide, settle. This is what Battlefield has been doing since Bad Company 2 and what Frostbite still uses today.

Real real-time destruction is the rare bird. This is when the geometry isn't pre-fractured. The game decides, at the moment of impact, how the material breaks. That is a hard computer science problem.

Rigid Body Simulation, the Foundation

Every piece of destruction physics in games sits on top of rigid body simulation. A rigid body is a piece of geometry that doesn't deform. It has a mass, a center of gravity, a velocity, an angular velocity, and a collision shape. The simulator's job each frame is to integrate forces, detect collisions, resolve those collisions without letting bodies pass through each other, and update positions.

The math is well understood. The hard part is doing it fast enough to maintain frame rate when there are thousands of bodies. Modern physics engines like PhysX, Bullet, Jolt, and Havok all use spatial partitioning to avoid the n-squared collision check problem. They use sleeping states so that bodies which haven't moved in a while drop out of the simulation entirely. They use simplified collision shapes, usually convex hulls or boxes, instead of the actual rendered mesh.

The trade-offs become visceral when you scale up. A hundred rigid bodies is fine on any platform. A thousand starts to hurt. Ten thousand, which is roughly what you'd need for a really convincing building collapse, requires either GPU-accelerated physics or aggressive culling. Most games hide the cost by despawning chunks after they settle, sometimes within five or ten seconds of landing. That's why the rubble in Battlefield disappears if you walk away and come back. The game is lying to you about the persistence of consequence because the alternative is a death spiral of accumulated rigid bodies.

Voronoi Shattering, the Math Behind the Crack

When a developer pre-fractures a mesh, the most common technique is Voronoi tessellation. The idea is simple. You scatter a bunch of seed points inside the mesh. Then for every point in space, you ask which seed it is closest to. All the points closest to seed A become chunk A. All the points closest to seed B become chunk B. The result is a pattern of polygonal cells that look surprisingly like real fracture patterns in concrete or ceramic.

The reason Voronoi works so well is that real materials, when they fracture under impact, do tend to form irregular polygonal pieces. Crystals in concrete, grain boundaries in metal, defects in glass, all of these create natural Voronoi-like patterns. It isn't physically accurate in the rigorous sense, but it looks right.

You can bias the seed distribution to control where chunks tend to form. Cluster seeds near the impact point and you get a fine spray of small fragments at the crater with larger pieces farther out. Use a uniform distribution and you get an evenly broken wall. Adjust per material. Glass wants tons of small chunks. Wood wants long splinters, which is where Voronoi starts to fail and you have to switch to anisotropic methods that respect grain direction.

The part that nobody tells you in tutorials is that Voronoi fracture is computed offline, before the game ships. The chunk meshes are baked into the asset. At runtime the engine just spawns them. This is why you can have spectacular looking destruction that isn't really physics-based, it's pre-physics, with the actual sim only kicking in for the chunks after they've been spawned.

Chaos Destruction in Unreal

Epic's Chaos system, which replaced the old APEX destruction in Unreal Engine 5, is currently the most accessible high-end destruction system for game developers. It lets you take any mesh, run a fracture pass on it inside the editor, define hierarchies of chunks so that big pieces can themselves break into smaller pieces, set up cluster connection graphs so that chunks support each other structurally, and trigger all of this at runtime with damage events.

The cluster system is the clever bit. You can fracture a building into, say, fifty large chunks at the top level. Each of those fifty chunks is itself fractured into ten medium chunks. Each medium chunk has five small chunks. You don't spawn all 2500 small chunks at the start. You spawn the fifty large chunks, and only when one of those takes enough damage does it break into its medium children. Same for the medium chunks. This way the simulation cost scales with how much destruction has actually happened, not with the maximum possible destruction.

The downside of Chaos, which I have personally felt, is that it is finicky to author. Getting clusters to behave the way you want, getting the connection graph to make a building actually feel like it's structurally collapsing rather than just falling apart from the bottom up, getting the performance to be acceptable on console, all of this is real work. The demos look great because they have been tuned by Epic engineers. Your wall will probably look worse the first ten times you try.

Havok and the Older Approach

Havok deserves its own paragraph because it powered destruction in a generation of games before Chaos existed. Half-Life 2 used Havok for its physics, and that game's barrels and crates and seesaws taught a generation what rigid body physics felt like. Red Faction Guerrilla, which I think still holds the throne for satisfying destruction, used Havok with a custom destruction layer on top. The Geo-Mod 2.0 system in Red Faction wasn't pure runtime fracture, it was a hybrid that used pre-defined stress points but allowed those points to chain in ways that produced emergent collapse patterns. Hit a load-bearing wall and the floors above genuinely came down because they had nothing supporting them.

What makes Red Faction Guerrilla special is that the destruction has consequences. You can't just blow up walls for fun, you can blow up the wall to remove cover from an enemy, or collapse a building on top of a vehicle, or open a sight line into a fortified position. The physics serves the gameplay rather than being a spectacle layer on top of it.

The Voxel Approach, Teardown

Teardown is the game that made me think differently about destruction. Tuxedo Labs went a completely different direction from everyone else. Instead of polygons and rigid bodies, the entire world is voxels. Tiny cubes, stacked into structures. Every voxel knows its material, its connectivity to its neighbors, and its damage state.

When you shoot a wall in Teardown, the engine doesn't run a fracture algorithm. It just removes the voxels in the impact area. Then it runs a connectivity check on the remaining voxels. If a chunk of voxels is no longer attached to anything supporting it, that chunk becomes a rigid body and falls. The chunk is a cluster of voxels treated as a single rigid object for the duration of its motion, then it can re-stabilize as static voxels if it lands somewhere supported, or stay as debris if it doesn't.

This sounds simple but the engineering is incredible. Teardown's renderer is custom path-traced specifically because it had to handle voxel geometry that changes every frame. The connectivity solver has to run fast enough that the world doesn't visibly hitch when a building collapses. The save state for a destroyed scene is gigantic compared to a polygonal game because you're storing per-voxel state. None of this comes for free.

The result is the most satisfying destruction in any game I have played, because the rules are consistent and the consequences are persistent. If you blow a hole in a wall, the hole stays. If you cut the legs off a tower, the tower falls. There are no triggers, no thresholds, no animator deciding what the destroyed version looks like. The world just obeys its own rules. I wrote about this in my piece on what makes destruction satisfying and Teardown is the closest thing to a controlled experiment that destruction satisfaction is a function of consistency, not spectacle.

Particle Effects, the Cheating Layer

Even in games with serious physics destruction, particles do enormous heavy lifting. Dust, smoke, sparks, tiny chunks too small to simulate as rigid bodies, all of these are particle effects. They sell the impact. They hide the seams between the pre-baked moment and the physics moment. They cover up the visual artifact where chunks suddenly appear from nowhere when the wall transitions from intact mesh to fractured mesh.

A well-tuned dust cloud can hide an enormous amount of physics cheating. The chunk count drops, the simulation simplifies, things despawn earlier than they should, and you don't notice because there's a satisfying poof of dust covering the moment of transition. This is why destruction that looks great in screenshots often looks worse in motion, the dust hides things that the still image can't.

Particles are also where most of the visual budget goes. A typical AAA destruction event might have a hundred chunks but ten thousand particles, and the particles are usually the bottleneck on lower-end hardware before the physics is.

Performance Trade-offs Nobody Talks About

The dirty secret of game destruction is that the performance cost is often invisible until your game ships and players try to do destruction in places you didn't expect. A controlled demo with one wall blowing up at a time looks perfect. A multiplayer match with eight players all causing destruction simultaneously can drop frame rate by half. The physics simulation cost scales superlinearly because more bodies means more collision pairs to check.

This is why you see so many design constraints around destruction in shipped games. Cooldowns on explosives. Limits on simultaneous chunks. Aggressive despawning. Destruction that only works in specific authored areas of the level. These aren't lazy design, they are necessary load management for a system that would otherwise tank performance the moment players got creative.

The one game that I think handles this gracefully is Teardown, partly because it's single player and partly because the voxel approach has more predictable cost characteristics than the rigid body approach. You always know roughly how many voxels are in a region, and the connectivity solver has bounded cost. Rigid body sims are unbounded if you let them be.

What I Took From All This

Building destruction for my own projects has taught me that the satisfaction comes from consistency more than from physical accuracy. Players don't have a physics intuition strong enough to spot the difference between a real Voronoi shatter and a pre-baked chunk swap, as long as the chunks behave plausibly afterward and the consequences persist. What players do notice is when destruction is fake in the sense of having no consequence, when the chunks despawn or the wall reappears or the destroyed area doesn't actually let you path through it.

So the right question isn't "is my destruction physically accurate", it's "does my destruction feel like a real change to the world that my game is willing to commit to". Pre-baked Voronoi with Chaos can feel real if the chunks persist and the gameplay respects the destruction. Voxel sims can feel fake if the world resets between sessions. The technology matters less than the design philosophy that wraps around it.

If you only play one game to feel what good destruction is, play Teardown. If you only play one game to see how destruction can drive gameplay, play Red Faction Guerrilla. Everything else is varying degrees of clever fakery, and now you know how the trick works.

← Back to the Sketchbook