Tile collision
Collision resolved against a grid of tiles flagged solid or empty, rather than against arbitrary colliders.
In a 2D game built on a tilemap you rarely need a general collision solver. Each tile is either in the way or not, and the grid is itself a spatial index: take the character's bounding box, work out which tiles it covers, and test only those few. It is fast, predictable and easy to debug — the backbone of nearly every platformer since Super Mario Bros. (1985).
That simplicity is also the trap. A fast-moving character can pass clean through a thin wall between two frames, so people usually resolve one axis at a time: move in x, push out of solid tiles, move in y, push out again. Per-tile flags carry extra behaviour — one-way floors, ladders, and slopes, which need handling of their own.