Skip to content
📱 Mobile2013RobTop GamesHARD

Geometry Dash rebuild deck

HARD

The runner is an afternoon, after which the project becomes hitbox honesty and beat-space authoring — forty levels of iteration in which every death that felt cheap is your fault.

You will get the loop working. Then the real work starts.

An afternoon gets you the runner. One level that actually feels good takes longer than that, and you need forty of them. Agents reliably implement collision as a single AABB overlap that kills on any contact, which makes standing on a block lethal, so check that before anything else. The other thing worth guarding is beat-authoring, because retrofitting it means throwing away every level you have already made.

Difficulty
HARD · 3 of 5
First playable
A weekend
The original
3 team-years
Released
2013 · Mobile
Genre
Rhythm Platformer
The one-shot build prompt
Build a one-button auto-scrolling rhythm platformer as a single self-contained HTML file. Canvas 2D, one music track of your own through Web Audio, no build step.

Requirements:
- The player moves right at constant speed and never stops. Tap or hold to jump. The jump is a fixed parabola: fixed impulse, fixed gravity, no variable height. Holding the button re-jumps on the exact frame of landing.
- Author levels in beats, not pixels. Pick a BPM, derive pixels-per-beat from the scroll speed, and store objects in a JSON level file as {beat, lane, type}. Pixel-authored levels drift out of sync with the music permanently and there is no fixing it later.
- The collision rule to get right first: contact with the TOP surface of a solid block while descending is a landing. Contact with any side of that block, or any contact at all with a spike, is instant death. Give spikes a hitbox roughly half the drawn triangle's width and height, anchored low, or the game feels cheap and nobody finishes a level.
- Death restarts from the start in under 300ms with the music seeking back to zero. Attempt counter on screen.
- One gravity-flip portal type and one speed-change portal type, both data-driven.
- Practice mode: drop a checkpoint with a key, respawn there.
- A progress bar along the top showing percent complete.

Definition of done: a 90-second level whose spikes sit on the beat, clearable in about 30 attempts, with no death that felt like a hitbox lie.
What you lose
  • Two dozen hand-built official levels, any one of which took longer than your entire clone
  • The level editor and the millions of community levels, which are the real product
  • A Newgrounds soundtrack you cannot legally have and cannot replace
  • The folklore of a solo developer taking most of a decade to ship one update
What to steal

Authoring in beats against the audio clock

A level authored in pixels drifts out of sync with the music permanently, and no amount of later tuning gets it back. Beat-space authoring against AudioContext.currentTime costs an hour up front and is the whole difference between something that holds sync for four minutes and something that doesn't survive one.

ScopeAn evening— build just this, not the game

Build a beat-authored scroller as a single self-contained HTML file. Canvas 2D, Web Audio, one music loop you synthesise yourself, no build step.

- Nothing in the level is stored in pixels. Pick a BPM, pick a scroll speed in pixels per second, derive pixels-per-beat, and store every object as {beat, lane, type} in a JSON array.
- The clock is AudioContext.currentTime. Never a frame counter, never Date.now(). Convert audio time to beats, beats to world x, and draw from that. Frame-clock drift is invisible for ten seconds and unlistenable after two minutes.
- Draw a thin bar line every beat and a heavy one every fourth, so being off is something you can see rather than something you feel.
- One editor key snaps a new object to the nearest beat under the cursor, another nudges it by a sixteenth.
- Put a tempo change halfway through the track and confirm every placed object still lands correctly.

Definition of done: leave it running five minutes, tab away and back, and objects still cross the play line exactly on the kick.
Make it different

Not a clone — Geometry Dash 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.

Orbital Overhead

Geometry Dash, but top-down instead of first-person, set in deep space. Rendered in risograph two-colour print.

Themedeep space
Angletop-down instead of first-person
Lookrisograph two-colour print
Build a browser game called "Orbital Overhead".

The pitch in one line: a rhythm platformer in the spirit of Geometry Dash, but top-down instead of first-person, set in deep space.

WHAT THIS IS
Take the SHAPE of Geometry Dash — 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
Top-down instead of first-person. A fixed overhead camera. You lose immersion and gain readability, a far cheaper art pipeline, and collision you can actually debug.
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
Deep space. Vacuum, delay and no help coming. Sound only travels through the hull.
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
Risograph two-colour print. Two spot inks with visible misregistration, halftone dot shading, and paper texture showing through every fill.

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 3 team-years to the counter on the homepage.

Questions

How hard is Geometry Dash to rebuild with an AI agent?

Yes — every game is buildable at some scope. The question is how hard, and Geometry Dash is HARD (3 of 5). You will get the loop working. Then the real work starts. The runner is an afternoon, after which the project becomes hitbox honesty and beat-space authoring — forty levels of iteration in which every death that felt cheap is your fault. Reckon on a weekend to something you can actually play — not to something that matches the 3 team-years RobTop Games spent.

What makes Geometry Dash hard to rebuild?

The runner is an afternoon, after which the project becomes hitbox honesty and beat-space authoring — forty levels of iteration in which every death that felt cheap is your fault. That is why it sits at HARD rather than a tier either side of it. If you want the idea without the project, the transferable part is authoring in beats against the audio clock — an evening of work.

How long does it take to build a Geometry Dash clone?

Wrong question, and it is worth saying why. Nobody rebuilds Geometry Dash — the original took RobTop Games on the order of 3 team-years, released in 2013 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 Geometry Dash?

Two dozen hand-built official levels, any one of which took longer than your entire clone. The level editor and the millions of community levels, which are the real product. A Newgrounds soundtrack you cannot legally have and cannot replace. 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.