The classic tower climber, rebuilt for the browser. Run fast, jump high, chain combos and don't fall off the bottom.

  • 0themed zones
  • 0achievements
  • 0AI best floor
  • 0runtime deps

Live build · Frosty is playing the attract demo behind the menu

NICE✦COOL!✦CHILLY!✦SLICK!✦FROSTBITE!✦BLIZZARD!✦AVALANCHE!✦GLACIAL!✦ABSOLUTE ZERO✦ NICE✦COOL!✦CHILLY!✦SLICK!✦FROSTBITE!✦BLIZZARD!✦AVALANCHE!✦GLACIAL!✦ABSOLUTE ZERO✦

Floor 1 · The cast

Three penguins, one tower

Pick a climber to meet them. Two of them never get tired.

Wardrobe

On the roadmap · bought with 💎

Scarf

Hat

Every cosmetic is visual only. Scores stay fair because every run is a replay the server can re-simulate.

Floor 25 · How it moves

Speed is height

Try it right here. Hold ← → to build speed, tap Space to jump. Bounce off the walls to keep your momentum.

💎
Click here, then use the arrows and space
Speed
Jump power
  • Combos. Chain jumps that skip 2+ floors before the meter runs out. A combo cashes in for floors².
  • Keep moving. The tower scrolls from floor 5 and speeds up every 30 seconds.
  • Pickups. 💎 +25 · 🚀 rocket jump · ❄️ freeze the scroll · 🧲 gem magnet

📱 On a phone

Slide your left thumb anywhere on the left half to run, tap anywhere on the right half to jump. No tiny buttons to aim for.

Hit ⛶ for full screen, or Add to Home Screen to play without browser bars.

Floor 50 · Six zones

A new world every 50 floors

Each zone cross-fades into the next, and the platforms get meaner on the way up. Pick one to look around.

    Floor 100 · Ways to play

    Climb, race, or sit back

    Pengu climbing the Ice Cave and chaining combos
    01

    Endless Climb

    How high can you go? Earn XP, level up, and chase the personal-best marker painted on the tower wall.

    Daily Tower run racing a translucent ghost
    02

    Daily Tower GHOST

    Same seeded tower for everyone, reset at midnight UTC. Your best run comes back as a ghost to race on every retry.

    Frosty the AI climbing through several zones at 4x speed
    03

    Watch the AI

    Frosty clones the game, simulates 90 short plans and picks the highest, safest one. Watch at ×1, ×4 or ×16.

    18 achievements

    They pop mid-run. Tap one to see how to earn it.

     

    Floor 150 · Under the hood

    A few commands, zero magic

    The game is a pure function of (seed, inputs). That makes it testable, replayable, and easy for bots to play.

    
              

    Write your own agent

    An agent sees an Observation each tick and returns an input bitmask. No DOM, so it runs in Node at thousands of ticks per second.

    import type { Agent } from './src/agents/api';
    import { INPUT_JUMP, INPUT_RIGHT } from './src/engine/constants';
    
    export const bunnyHop: Agent = {
      name: 'Bunny hop',
      act: (obs) => obs.player.grounded
        ? INPUT_RIGHT | INPUT_JUMP
        : INPUT_RIGHT,
    };
    • src/engine/ deterministic sim: no DOM, no Date, no Math.random
    • src/agents/ the Agent interface and Frosty's planner
    • window.icyTower state, observe(), lastReplay() in the console

    Floor 250 · Play with your team

    Icy Tower for your office

    One person runs a single command. Everyone else on the network opens the link, picks their climber and plays. No accounts, nothing to install, and the scores can't be faked.

    $ npx icy-tower-reloaded

    Every visit starts here

    Who's climbing?

    no sign-up

    Try it: pick a climber, or remove one with ✕ and bring them back.

    Live · Friday Cup

    Arena leaderboard

    ✔ replay-verified
      🏆 Friday Cup · 6d 23h leftSame tower for everyone · 3 attempts
      🐧

      Pick your climber

      Continue as yourself, choose your name from the list, or make a new climber. Names are unique, and your scores follow you to any machine.

      🔐

      Optional PIN

      Lock your climber with a 4-digit PIN, so nobody else can play as you from another desk.

      🤝

      No admin needed

      Anyone can remove a climber, and anyone can restore them for 7 days. Everybody sees who removed whom, with an Undo.

      🏆

      Tournaments

      From a 5-minute sprint to a month-long cup. One tower for everyone, an optional attempt limit, and the winner announced live.

      📺

      Big-screen board

      Put /tv on the office TV: standings with a countdown, who's climbing right now, and a feed of new records.

      🛡️

      Scores you can trust

      Players send replays, not scores. The server re-runs every run before it counts, so nobody can post a fake one.

      Want it hosted for your company?

      SSO, a Slack bot and company leagues are on the roadmap. Tell us what you'd need.

      Register interest on GitHub →

      Floor 300 · What's next

      The summit keeps moving

      1. Shipped

        Deterministic engine and replays

        Every run stored as { seed, inputs } in a few KB.

      2. Shipped

        Office arena

        Shared, replay-verified leaderboards, tournaments up to a month long and a live TV board, from one npx command.

      3. Shipped · 0.2

        Climbers and phones

        Pick yourself on any device, optional PINs, shared removal with undo, and touch controls made for thumbs.

      4. Next

        Global leaderboard

        A hosted board anyone can post to, with the same server-side replay check.

      5. Next

        AI agent arena

        HTTP and WebSocket API so LLMs and Python RL bots can play headless, with their own board.

      6. Planned

        Ghosts, seasons, wardrobe

        Shareable ghost links, weekly seasons, and scarves and hats bought with 💎.

      Ready to climb?

      ▶ Play Icy Tower Reloaded

      Free, in your browser. Works with a keyboard, or with your thumbs on a phone.