Runner
An endless runner drawn in fake 3D on a flat canvas: three lanes, barriers to jump, coins to collect, and a speed that never stops climbing.
How to play
- ← and → (or A and D) change lane. ↑, W or Space jumps. On a phone, swipe left, right or up.
- Jump the barriers and run through the coins. Your score is the distance you cover.
- F goes fullscreen and Esc leaves it. After a crash, any key or a tap starts again.
How it's built
Nothing on the road has an x or a y. Each obstacle is a lane — −1, 0 or 1 — and a distance, z. Three small functions turn that pair into a position and a size on screen every frame, and that is the whole perspective effect: things far away sit near the horizon, close together and small.
Difficulty is two lines of arithmetic rather than a level table. Speed is 2 plus 0.0003 per unit of distance, and the gap between spawns shrinks from 60 frames toward a floor of 30 as you go.
A hit is any barrier in your lane whose z is between −5 and 8, which is the moment it reaches you. You clear it only if you are high enough in a jump at that moment.
Canvas 2D · no game engine · How the arcade was built