2026-06-12·Sanchez

Welcome to Rabbit Hole

Rabbit Hole is a 3D casual runner where you dig endlessly deeper down the burrow alongside an adventurous rabbit.
You can play it right in your browser — no install, no sign-up.

Mocha heading down into the burrow

What kind of game it is

The protagonist is Mocha, an adventurer rabbit.
Mocha doesn't run along a floor — she can run anywhere around the tunnel's circumference, circling the wall to get around obstacles.

The rules are simple.
Collect carrots for points, dodge rocks and roots, and see how deep you can go before your three hearts run out.
Speed builds as you descend, so the same burrow is a completely different game early on than it is deep down.

There are only three controls: left, right, and jump.
On a keyboard that's the arrow keys (or A/D) plus space; on mobile, three buttons appear along the bottom — hold a side button to move, tap the middle one to jump.

What you'll be doing

  • Combos — chain carrots within 2 seconds and the score multiplier climbs to ×5
  • Today's Burrow — the same layout opens for everyone each day, so you compete on identical terrain
  • Three burrows — Dirt, Crystal Cave, and Moonlit. Not just colors: pace and gravity differ
  • Cosmetics and upgrades — spend coins on fur colors and accessories, or permanently boost your abilities

Play now →

What's on this blog

I record the making of the game: sculpting a rabbit in code without any 3D models, building game feel without a physics engine, and all the trial and error along the way.
It falls into three tracks.

The rebuild story — diagnosing why the old version wasn't a game, and rebuilding it against fresh criteria. Diagnosing the old version · Redesign direction · Before / After

How it's built — technical write-ups with the actual code and numbers. Sculpting a rabbit in code · Procedural animation · Toon shading · Arcade movement and jumping · Collisions and tunneling · An endless curved tunnel · Fixing frame drops · A serverless leaderboard

Strategy — how to score higher and get deeper. The mechanics of high scores · Keeping a combo · Survival by section · Trampolines and the pocket watch · Today's Burrow · Coins and cosmetics

Rabbits and burrows — where the game's setting came from. Why rabbits dig · Animals that live underground · Do rabbits actually like carrots? · Rabbits in culture and the origin of "rabbit hole"

The technical track also includes synthesizing sound with zero audio files and the React 19 migration.

Where to start

With more than twenty posts, an order helps.
Which one depends on what brought you here.

If you just finished a run — start with the mechanics of high scores.
It lays out where points come from and how many, in a table, which changes your very next run.
Then keeping a combo, and Today's Burrow if you plan to play daily.
Those three cover most of the strategy.

If you want to know how it was built — begin with diagnosing the old version.
Seeing what was wrong first makes the later technical posts read as why rather than what.
The order runs diagnosis → redesign direction → Before / After.

If you're building 3D on the web yourself — sculpting a rabbit in code and an endless curved tunnel will be the most useful: making shapes without assets, and recycling infinite terrain out of a handful of pieces.
If you're fighting performance, read fixing frame drops first — it collects the things not to do inside useFrame.

If you're here for the rabbits rather than the game — do rabbits actually like carrots? is the most practically useful one; there's material in it for anyone who keeps a rabbit.

Why write any of this down

It started after solving the same problem twice a few times over.
If I don't record why frames dropped, or why an approach got abandoned, the version of me six months later retraces the whole thing from scratch.

So these posts lean toward "here's what happened when I tried it" rather than "here's how to do it." Failed attempts and reversed decisions stay in.
Writing that shows where someone got stuck has always been more useful to me than writing that only presents the finished result.

This game is a side project I build on my own.
If something comes to mind while you play, or you spot a bug, sending it through Contact genuinely helps.