# Benefits of going full AABB?

By "going full AABB" I mean using only AABBs for all of your objects (both dynamic and static), with dynamic objects colliding both with each other and static objects. In what specific ways does this simplify physics calculations? Are there any special techniques that require a world made entirely of AABBs? Some way to, say, remove the need for TOI-ordering (or similar) by taking advantage of that fact that all objects are AABBs?

In particular I'm looking for specific large-scale benefits, not just small things like collision detection being slightly faster. There seem to be quite a few games that use only AABBs, like Minecraft for example, so there must be a significant benefit to it or they wouldn't be doing it. Only thing I can think of is getting to do position/velocity corrections per-axis, though I'm not sure how one would exploit that to its full potential.

• Quake 3 uses these. They're faster and easier to calculate. But you get weird artifacts, like characters are effectively wider and easier to hit when shooting diagonally across the grid. Also, Q3 characters can stand on top of one another. – Almo Jun 7 '18 at 19:22
• I would think that sphere collisions would be the easiest to check for exclusion, then switch to some better method once you know the objects are at least close, would be the way to go. The problem AABB is that they can be a really bad approximation to an object's geometry for certain shapes (like long skinny objects that are "diagonal" to your axes) so you're often not better off over spheres. – markspace Jun 8 '18 at 5:04

Testing whether 2 AABB collide with each other requires 2 compares per axis. The test itself is really simple (box1.maxX >= box2.minX && box2.maxX >= box1.minX) however it's likely that a copy-paste-edit error gets made there.