Skip to content
📱 Mobile2012Kiloo and SYBO GamesFIDDLY

Subway Surfers rebuild deck

FIDDLY

Your chunk generator will happily emit a section with no survivable line through it, and no agent adds the solvability solve unless you name it in the prompt.

You will get it, but one specific system will fight you.

What surprises people is how much of the feel comes from the collision being a lie. Honest hitboxes make this unplayable on a small screen, and the generous ones are why the original feels fair at speed. Ask explicitly for the chunk solvability check, because no agent adds it unsolicited and its absence is the single most common reason a hobby runner feels broken. The mechanic is a weekend; the company is the update cadence.

Difficulty
FIDDLY · 2 of 5
First playable
A weekend
The original
120 team-years
Released
2012 · Mobile
Genre
Endless Runner
The one-shot build prompt
Build a three-lane endless runner in the browser: single HTML file, three.js via import map, portrait, touch swipes only. It must hold 60fps on a mid-range Android.

Requirements:
- Track is assembled from JSON-defined chunks, each 24 units long, containing barriers, low bars, trains (blocking or rideable) and coin arcs. Stitch chunks endlessly with a seeded RNG and a mesh pool.
- The generator must guarantee a survivable path through every chunk. After picking a chunk, run a lane-by-lane solve: at least one sequence of lane changes, jumps and rolls must clear it. Reject and resample otherwise. Skip this and roughly one run in twenty ends against an unwinnable wall, which reads to players as your game being cheap rather than hard.
- Lane change is a 140ms ease-out tween between three fixed x positions, jump is a 0.6s arc, roll is 0.5s with a halved hitbox. Lane change and jump are separate state machines and may overlap.
- A side collision with a train nudges the player back to the previous lane and costs nothing. Only a head-on impact ends the run.
- Hitboxes are 70% of the visual mesh. Be generous: nobody judges depth accurately on a phone.
- Speed ramps from 12 to 26 units per second across three minutes. Add coins, a jetpack pickup, and a board that absorbs one crash.

Definition of done: two hundred consecutively generated chunks are all provably clearable, and a train side-swipe costs me a lane rather than the run.
What you lose
  • A themed World Tour update every three weeks for well over a decade
  • The character and board roster, plus the gacha loop that quietly sells them
  • SYBO's art direction, which stays readable at 60fps on a five-year-old Android
  • Four and a half billion downloads of distribution, which is the only number that ever mattered
What to steal

Hitboxes that lie in the player's favour

Honest collision is the most common reason a fast game feels cheap — nobody judges depth accurately on a small screen, and nobody in history has complained about a hit that failed to land. Build the lie in deliberately with a toggle and you can measure how much of your difficulty was real.

ScopeAn evening— build just this, not the game

Build a collision-generosity test bed as a single self-contained HTML file, Canvas 2D, no build step.

A character runs at increasing speed through a scrolling field of obstacles across three lanes. Draw everything at full size, but give each obstacle and the character a separate collision rectangle at 70% of its visual size, centred. Render both boxes behind a debug toggle so the lie is visible.

Then add graded failure: a lateral overlap of less than a third of the character's width is a graze that shoves them back into the previous lane and costs momentum only. Only a frontal overlap ends the run.

Add a key that switches between honest and generous collision at runtime, and an on-screen counter of runs ended per minute under each. Use a seeded obstacle field so both modes face identical input.

Definition of done: the same field is roughly twice as survivable under generous collision, and toggling honest collision mid-run makes the game feel immediately spiteful.
Make it different

Not a clone — Subway Surfers re-themed and cut down to something you can finish. The angle is the important reel: it is what turns a project into a weekend. 24,360 ways to land.

Campus Deck

Subway Surfers, but a deckbuilder version of its combat, set in university life. Rendered in isometric voxel.

Themeuniversity life
Anglea deckbuilder version of its combat
Lookisometric voxel
Build a browser game called "Campus Deck".

The pitch in one line: a endless runner in the spirit of Subway Surfers, but a deckbuilder version of its combat, set in university life.

WHAT THIS IS
Take the SHAPE of Subway Surfers — its core loop, and whatever makes that loop good — and rebuild it as your own game in a different world at a smaller scope. Use your own names, art and audio, which you want anyway: a reskin of somebody else's game is less interesting than a new one that works the same way.

THE ANGLE — this is the important constraint, honour it above everything else
A deckbuilder version of its combat. Every action becomes a card with a cost. Cards, relics and enemy intents are pure data, and the whole balance surface becomes a spreadsheet you can tune.
This is what makes the project finishable. If a decision would push the scope back towards the original's, take the smaller option every time.

THE THEME
University life. Semesters, clubs, exams and housing. Social graphs and deadlines do more damage than monsters.
The theme is not a coat of paint. Let it change what the mechanics mean — a reload, a health pack and a locked door should all be things that make sense in this world and nowhere else.

LOOK
Isometric voxel. A 2:1 isometric projection over a voxel grid, with correct depth sorting and ambient occlusion baked at chunk boundaries.

REQUIREMENTS
- Runs in a browser with no build step. Canvas 2D unless the angle genuinely requires 3D, in which case three.js.
- Fixed-timestep update loop with interpolated rendering, so it behaves the same at 60Hz and 144Hz.
- Every tuning constant in one CONFIG object at the top, exposed as live sliders in a debug panel. You will find the feel by dragging those, not by prompting.
- All content — levels, entities, balance numbers — in JSON or plain data files, never inline in the logic.
- Audio generated with the Web Audio API rather than asset files.
- Respect prefers-reduced-motion: keep the fades, drop the shake and the parallax.

BUILD ORDER
1. The core loop with placeholder rectangles, at the reduced scope the angle demands. No theme, no art, no audio. Make it fun as rectangles first.
2. The angle's consequences. Cutting to bots, or to turn-based, or to one level changes the design rather than just shrinking it — find out how and rewrite step 1.
3. The theme, as content and data.
4. The look, applied last as a rendering layer over a game that already works.

Start by writing a one-page plan: the core loop, what the angle removes and what that frees you to do properly, and what you are deliberately leaving out. Wait for me to approve it before writing code.
Prior art — read before you build

Half the time one of these already does what you wanted, and the other half it saves you a week of solving a problem someone documented in 1997.

Did you build it?
0Share on X

One count per game. No account — it is tied to a salted hash of your IP, which is not stored in a form anyone can reverse. Every build adds 120 team-years to the counter on the homepage.

Questions

How hard is Subway Surfers to rebuild with an AI agent?

Yes — every game is buildable at some scope. The question is how hard, and Subway Surfers is FIDDLY (2 of 5). You will get it, but one specific system will fight you. Your chunk generator will happily emit a section with no survivable line through it, and no agent adds the solvability solve unless you name it in the prompt. Reckon on a weekend to something you can actually play — not to something that matches the 120 team-years Kiloo and SYBO Games spent.

What makes Subway Surfers hard to rebuild?

Your chunk generator will happily emit a section with no survivable line through it, and no agent adds the solvability solve unless you name it in the prompt. That is why it sits at FIDDLY rather than a tier either side of it. If you want the idea without the project, the transferable part is hitboxes that lie in the player's favour — an evening of work.

How long does it take to build a Subway Surfers clone?

Wrong question, and it is worth saying why. Nobody rebuilds Subway Surfers — the original took Kiloo and SYBO Games on the order of 120 team-years, released in 2012 on Mobile. What you can do is reach something playable and genuinely yours in about a weekend, and then keep going for as long as it stays interesting. Any figure that claims otherwise is measuring a prototype and calling it a game.

What do I lose by building my own Subway Surfers?

A themed World Tour update every three weeks for well over a decade. The character and board roster, plus the gacha loop that quietly sells them. SYBO's art direction, which stays readable at 60fps on a five-year-old Android. Those are the parts a prompt will not hand you.

Which AI coding agent should I use to build it?

Any of Claude Code, Codex or Cursor will handle this prompt. Paste it as your first message, let the agent scaffold the project, then iterate on feel — the second, third and tenth prompts are where a game actually gets good. Work in an empty folder or a fresh git branch so you can throw it away cheaply.

Get the next game

One email when new games go on the list. No other reason to email you, ever.