Stair Game — Endless Ascent

A browser climbing game inside a concrete stairwell that never ends: collect the packages left on the steps, deliver them at the doors, and ride the elevators sideways into ten different buildings — alone, or in a room with up to eight other climbers.

Category
Games
Type
In development
Author
Deniz Bazan
Published
September 14, 2026
Topics
  • Three.js
  • WebGL
  • Procedural
  • Game
  • Experimental

Live experiment

Stair Game — climb it in the browser

Ready in browser
§ 01

A stairwell with no top

The shaft is assembled step by step around the climber: concrete treads, industrial walls, pipe runs, lamps and graffiti. The next flight is built before you reach it, so the climb never loads and never ends. Eight atmosphere zones rotate as you rise — from cold concrete to a rusty pit, a toxic pit, an ice vault and a flooded deck — each with its own fog, palette and wall material. Doors open onto landings every few flights, and that is where the job is: pick up the packages left on the steps, stack up to three on your arm and carry them to a door.

  • F.01Endless procedural stairwell — the next flight is built while you climb
  • F.02Courier run: collect the packages on the steps, stack up to 3 on your arm, deliver them at the doors
  • F.03Packages and score pay more the higher you climb
  • F.04Falling junk scatters your packages — dodge it or knock it away
  • F.05Baseball bats appear on the path — swing them to launch junk and monsters into the void
  • F.06Monsters come out of doors: bat them into the void or run
  • F.07Floor modifiers: heavy floors, bomb floors, slippery floors and wind
  • F.08Pickups: energy, speed, power, shield, magnet, slow-motion and score multipliers
  • F.09Eight visual zones with their own fog, palette and wall material
  • F.10Fall and you resume from the last floor you reached — money and progress are saved
§ 02

Climb it together

A room is a shared stairwell. Create one from the pause menu, make it public so it appears in the room directory on this site, or send the code to a friend. Up to eight climbers get the same seeded floors, the same packages and the same falling junk, and the board shows who is on which floor and in which building. The world does not belong to the host: late joiners still receive their packages, hazards are relayed from whoever set them off, and when the host drops the guests reconnect on their own.

  • F.01Public and private rooms — public ones are listed in the site room directory
  • F.02Up to 8 climbers per room, with invite and share in the pause menu
  • F.03Race mode: first to reach the target floor takes it
  • F.04Deterministic seeded floors, so everyone climbs the same stairwell
  • F.05Elevators move you sideways into another building — a router item picks which one
  • F.06A board showing every player's floor and building
  • F.07Refresh resumes your room at the floor you left
  • F.08Guests reconnect by themselves when the host drops out
  • F.09Wardrobe: dress your climber before you set off
§ 03

Built for the browser

The whole game is a single HTML file running on three.js with no build step. Textures, pipework, graffiti and light fixtures are generated procedurally at runtime, so the download stays small and the shaft looks different on every climb.

  • F.01Climb: W / S or drag with one finger
  • F.02Move sideways: A / D
  • F.03Swing the bat: SPACE — on mobile, two fingers
  • F.04Shop: B — spend your money on shield, energy, bat upgrades and buffs
  • F.05Pause: P · Mute: M
  • F.06Ten languages, picked from the browser: English, Turkish, Spanish, Portuguese, German, French, Italian, Russian, Polish and Indonesian

Comments

No comments yet. Start the conversation.
Please sign in.