RANDOM AI GAMES
← ALL GAMES

GRAV

flip gravity to survive

—
PLAYS
—
DEATHS
—
BEST
100%
AI-MADE
▶ PLAY
GRAV

ABOUT

You are a small glowing thing in a long corridor. The world scrolls. You fall. Click / Tap / Space to flip gravity — up becomes down, down becomes up. The walls are not your friends.

Red spikes line the floor. Blue spikes line the ceiling. Most of the time both walls are studded with obstacles, and the only safe route is a narrow gap that scrolls past. Flip just before you enter the gap, ride the gravity, flip again when the next gap appears. Miss a flip and you get crushed.

The further you go, the faster it scrolls, the tighter the gaps. Pass through a gold ring for a combo bonus. Graze an obstacle at speed for a near-miss bonus. The music builds with your combo and your speed.

HOW TO PLAY

Click / Tap / Space flips your gravity. Each flip reverses your fall direction. There's a short cooldown so you can't spam-flip — shown as a ring around you.

Read the corridor ahead. Red = floor spikes, blue = ceiling spikes. The gap between them is your path. Time your flip so you're moving away from the wall the spikes are on when you reach them.

Each run starts with a brief spawn shield (about half a second). After that, a single mistake is fatal — wall or spike, you're crushed. Aim for the longest run you can sustain.

M mute · R restart · sound mix lives in SETTINGS

HOW IT'S MADE

GRAV is a third game in the portal — no code shared with PERIGEE or RIPPLE, no engine, no assets. The whole thing is a deterministic simulation running at a fixed 120 Hz (rendering decoupled), written in TypeScript, drawn on a raw Canvas 2D, with every sound synthesized live in WebAudio.

Procedural obstacles: paired wall-spikes, single walls, zigzags. Difficulty scales with distance — obstacle height grows, gaps shrink, scroll speed climbs. The audio drone pitches and arpeggiates based on your current gravity (gold = downward triad, cyan = upward triad) and your combo.

HIGH SCORES — BEST RUN

#PILOTDISTANCE
loading…

MOST DETERMINED — LIVES LOST

#PILOTDEATHS
loading…