Ah, collision detection: one of the necessities of almost any game, 2D or 3D. In this chapter, first we talked about isolating objects on a grid to limit the number of actual collision tests to make. Then we talked about various collision-detection mechanisms, such as bounding spheres, sphere trees, bounding cylinders, and bounding boxes. You implemented collision detection with other objects and with the walls, floors, and ceilings of a BSP tree. You implemented some better collision handling that enables the player (and other objects) to slide against other objects' walls, slide against walls, and scoot up stairs. Finally, you added gravity and jumping for good measure. You can blast the robots to smithereens, but they aren't much of a challenge, are they? That's what you'll work on next: giving your enemies some artificial intelligence so you can make the games you create more fun and challenging.