Skip to content

Game, Built for phones, Free in your browser

Voxel Runner

A 3D endless runner I built for phones.

Three lanes, five biomes that roll in over the horizon, and a track that never deals you an unwinnable hand. The world you run in is decided by the date, so tomorrow is a different game. There are no art or sound files: every voxel, the sky, the soundtrack and every sound effect is made in code.

Best on a phone, and it works with a keyboard. No download, no account.

Voxel Runner in daylight: a runner on a city road, with the tutorial prompt Swipe to change lane
Voxel Runner: the ECLIPSE rift, where only what you are near exists, for ×1.9 score
biomes
5
daily worlds
10
art or audio files
0
first download
249 kB

From real runs

Five frames, straight out of the game.

Captured by the game’s own screenshot tool on a phone-sized screen. Nothing painted over.

How to play

Swipe on a phone. Arrow keys on a computer.

The tutorial waits for each move before it teaches the next, and words it for what you are actually using: swipe, drag or press.

Change lane
Touch: Swipe left or right
Keyboard: ←→or A, D
Jump
Touch: Swipe up, or tap anywhere
Keyboard: ↑or W, Space
Roll, or dive mid-air
Touch: Swipe down
Keyboard: ↓or S
Extended jump
Touch: Double-tap anywhere
Keyboard: Q
Burst
Touch: Tap the ⚡ meter
Keyboard: Bor Shift
Pause
Touch: The pause button
Keyboard: Escor P

A new world every day

Tomorrow is a different game.

Ten worlds, dealt one a day, each with its own physics, light and road. The date is the seed: every phone gets the same world on the same day, with no server in between.

  • The Long DuskThe fog closes to ninety metres and the sun never clears the horizon.
  • High WaterThree times as much of the road is a swim.
  • IronfallGravity pulls harder and launches throw harder.
  • Gold RushEvery coin pays triple.
Voxel Runner’s title card: today’s world, the season, and the Play button

Under the hood

Fair, because the generator is built that way.

An endless runner is only fun if every hazard can be beaten. These rules are written into the track generator, and the game’s automated play tests check them.

  1. 1A crate row always leaves one lane open, and that lane only ever moves one lane between rows.
  2. 2Rows that ask for a jump or a roll are at least six cells apart, so one can never land inside the last one’s arc.
  3. 3A pit is exactly one cell, inside the jump arc at the slowest speed.
  4. 4Water only gets hazards a swimmer can actually meet, and a tunnel never hides a pit in the dark.
  5. 5The first eight cells of every run are calm.

How it is made

  • three.js and TypeScript, built with Vite.
  • Nothing to download but code: 249 kB on a first visit, fonts included.
  • Installable. Add it to your home screen and it opens like an app: full screen, and it works offline.
  • No tracking, no ads, no network calls. It saves your best runs on your own device.

Built by one person

Want something made with this much care?

Voxel Runner is my own project, down to the physics of a front crawl. The same attention goes into the apps I build for clients.

Reply within one business day. No pitch deck, no sequence.