I was challenged to make a video game using nothing but a 16×2 LCD, the kind of screen that shows two rows of 16 text characters. No graphics, just character cells.
The trick I came up with: the LCD's controller lets you design up to 8 custom characters of 5×8 dots, and the game uses all 8. Each one is a different combination of three things: an upper wall, a lower wall, and the ball. Three things that are each on or off make 2³ = 8 combinations, which exactly fills the 8 slots.
So every character cell can show two walls and a ball at once. That doubles the vertical resolution: two text rows become four lines of walls, and every frame is just picking the right one of the 8 characters for each of the 32 cells.
parkour_game.ino. The top row of the screen only ever uses 0–3; the ball lives on the bottom row.