Rabbit Hole is a 3D endless runner that starts in your browser with no install and no sign-up. Play as Mocha, an adventurous rabbit, running down a burrow with no bottom — collecting carrots and dodging rocks, roots, and moles. Play it above; the rules and frequently asked questions are below.
Mocha finds an unfinished treasure map and a stopped pocket watch in a grandfather's old bag, and dives into the burrow. There is no floor down there. Mocha runs along the inside wall of a cylindrical tunnel, and moving left or right carries you around that wall. Instead of up and down, you orbit — familiar enough if you have played a runner before, but with a view that keeps rotating.
A run usually lasts one to three minutes. Three hearts mean a single hit doesn't end anything, and the 1.5 seconds of invulnerability after a hit keep you from losing the rest of them in one bad moment. The whole thing is built for the rhythm of one quick run, then another.
Your score comes from how deep you get and how many carrots you collect. Surviving alone raises it, but the top of the leaderboard is decided by how long you kept a combo alive.
There are only two things to do — move sideways and jump. Both keyboard and touch are supported, and the right one works as soon as you open the page.
The burrows aren't recolors — they play differently. You start in the Dirt Burrow and unlock the other two with coins. Speed, obstacle density, and gravity all change, so the same run scores differently depending on where you are.
Your total is depth plus carrot score. Depth accumulates just by staying alive, which means the carrots are what actually separate two players.
The burrow keeps accelerating until it hits top speed at 1,500m. Past that the speed stops rising — and something that wasn't there before starts appearing instead: the thorn gate.
A gate blocks most of the burrow and turns slowly. The opening is under a third of the way around, and it drifts clockwise or counterclockwise without stopping. Crucially, you cannot jump it. Roots you jump and rocks you go around; a gate leaves you nothing but the gap.
So a gate asks for planning rather than reaction. Not where the opening is now, but where it will be when you arrive — and you need to already be there. Fog means you first see a gate 90m out, which at top speed is three seconds. The opening keeps moving for all three of them.
In exchange, nothing else is placed in front of a gate. A rock on the way to the opening would mean taking one hit or the other, guaranteed. When a gate is in view, the gate is the only thing to think about.
Carrot coins collected on the way down dress Mocha up. One carrot is one coin, plus five more every 100m. Coins buy fur colors and accessories and unlock burrows. But three of the twenty accessories — the ribbon, the scarf, and the adventurer's hat — can't be bought at any price and come only from achievements. Some rewards should stay out of reach of a wallet.
Every midnight the same daily burrow opens for everyone. It is generated from a shared seed, so you're racing yesterday's run and everyone else's on identical ground. First clear pays 30 coins. Scores are tracked on both a today board and an all-time board.
No. Open the page in a browser and it starts. No account, no download, no app store. The nickname is only used to label your leaderboard entry — no email, no password.
Entirely. There are no paid items and no in-app purchases. Every burrow and cosmetic opens through coins earned in the game or through achievements.
Yes. On a touch device three buttons appear along the bottom — left, jump, right. Hold a side button to keep moving; the middle one jumps. It runs on phones and tablets in both portrait and landscape.
Your personal best, coins, items, and settings are stored in your browser's localStorage, so they're still there when you come back in the same browser. Clearing site data or switching devices resets them. Scores you submit to the global leaderboard are kept on the server.
Turning off 'bloom' in settings removes most of the rendering cost and usually fixes it; you can disable screen shake there too. It runs best in a current browser with WebGL support — Chrome, Edge, Safari, or Firefox.
It's a solo project built with Next.js, React Three Fiber, and TypeScript. How the tunnel generation, physics, and leaderboard were implemented is written up on the blog.