Skip to content
📱 Mobile2018Team AltoHARD

Alto's Odyssey rebuild deck

HARD

Chunk stitching and the trick-chain scoring are a weekend; the reason anyone opens it twice is a day-night colour ramp, a fog curve and a wind mix, and those are a slider panel you sit in front of for a month, not a system you write.

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

The spline continuity requirement reads as pedantry right up until you watch a rider get launched sideways by a barely-visible tangent mismatch at a segment join, so ask for it in the first prompt rather than the fourth. Driving fog, tint and parallax off one shared day-night scalar is the cheapest atmosphere you will ever buy. The harder truth is that you can land every mechanic on this list and still end up with something nobody opens twice, because the appeal is a colour ramp, a fog value and a soundtrack, and none of those three arrive in a prompt.

Difficulty
HARD · 3 of 5
First playable
A project
The original
8 team-years
Released
2018 · Mobile
Genre
Endless Sandboarding
The one-shot build prompt
Build a procedural downhill sandboarding endless runner as a single self-contained HTML file. Canvas 2D, no build step.

Requirements:
- The terrain is a continuous path, not tiles. Generate it as a chain of cubic Bezier segments with matching endpoint tangents so the slope stays C1 continuous. A seam with even a two-degree tangent mismatch will fling the rider into orbit and you will spend an evening blaming the physics. Sample points along the spline and use the local tangent angle for both rider rotation and the gravity projection.
- Movement follows the slope: accelerate on downhill gradient, decelerate on uphill. One button. Tap to jump, HOLD in the air to backflip at a constant angular rate.
- The trick system is the product. Landing within about 25 degrees of the terrain tangent scores; chaining tricks without touching ground builds a combo multiplier; landing backwards is a wipeout.
- Grinds: rails and vines are separate spline segments the rider snaps onto when landing within tolerance. Grinding holds speed and keeps the combo alive.
- Three biomes with distinct terrain parameters and colour ramps in a JSON file. Interpolate a full day-to-night gradient over about 8 minutes of play, and drive fog density and parallax layer tint from that same single value.
- Chained objectives, three at a time, defined in JSON.

Definition of done: I can chain a backflip into a rail grind into a second backflip, land it clean, and see a x3 combo with the sky visibly further into dusk than when I started.
What you lose
  • Harry Nesbitt's art direction, which is the actual reason anyone bought it
  • The soundtrack and sound design, quietly doing the entire meditative half of the work
  • Weather and lighting states that make a procedurally generated slope feel hand-authored
  • Zen mode, which is a stated design position rather than a settings toggle
What to steal

One time-of-day scalar drives every colour

The atmosphere you envy is not art direction, it is one number and a table of keyframed colours that sky, fog, parallax tints and particles all read from. Highest ratio of perceived production value to lines of code available to you, and it drops into anything with a background.

ScopeAn evening— build just this, not the game

Build a scene whose entire look is driven by one number, as a single self-contained HTML file. Canvas 2D, no build step, no dependencies.

- A slowly scrolling side-on landscape: four parallax layers of hills drawn as filled paths, a sky, a sun/moon disc, and drifting particles.
- Define t, a scalar from 0 to 1, exposed as a slider and also cycling automatically over 90 seconds.
- Every colour in the file lives in a JSON keyframe table at t = 0, 0.2, 0.35, 0.5, 0.75 and 0.9: sky top, sky bottom, per-layer tint, fog colour, fog density, disc position, disc colour, particle alpha. Interpolate each channel between surrounding keyframes. No draw call may contain a literal colour.
- Fog is applied per layer as a lerp toward the fog colour weighted by layer depth times density, so distant layers wash out first.
- A key dumps the current interpolated palette as JSON so a look can be captured.

Definition of done: dragging one slider takes the scene from dawn to night, and every colour on screen is traceable to the table.
Make it different

Not a clone — Alto's Odyssey 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.

The Outfit One Room

Alto's Odyssey, but one level, done properly, set in organized crime. Rendered in 16-colour pixel art.

Themeorganized crime
Angleone level, done properly
Look16-colour pixel art
Build a browser game called "The Outfit One Room".

The pitch in one line: a endless sandboarding in the spirit of Alto's Odyssey, but one level, done properly, set in organized crime.

WHAT THIS IS
Take the SHAPE of Alto's Odyssey — 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
One level, done properly. A single space, built to a finish quality you could not sustain across twenty. Every prop and every sightline is deliberate.
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
Organized crime. Families, territory and quiet threats. The win condition is control, not a body count.
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
16-colour pixel art. A fixed 16-colour palette (start from a Lospec palette), a hard pixel grid, and no sub-pixel movement — snap all rendering to whole pixels.

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

Questions

How hard is Alto's Odyssey to rebuild with an AI agent?

Yes — every game is buildable at some scope. The question is how hard, and Alto's Odyssey is HARD (3 of 5). You will get the loop working. Then the real work starts. Chunk stitching and the trick-chain scoring are a weekend; the reason anyone opens it twice is a day-night colour ramp, a fog curve and a wind mix, and those are a slider panel you sit in front of for a month, not a system you write. Reckon on a project to something you can actually play — not to something that matches the 8 team-years Team Alto spent.

What makes Alto's Odyssey hard to rebuild?

Chunk stitching and the trick-chain scoring are a weekend; the reason anyone opens it twice is a day-night colour ramp, a fog curve and a wind mix, and those are a slider panel you sit in front of for a month, not a system you write. 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 one time-of-day scalar drives every colour — an evening of work.

How long does it take to build a Alto's Odyssey clone?

Wrong question, and it is worth saying why. Nobody rebuilds Alto's Odyssey — the original took Team Alto on the order of 8 team-years, released in 2018 on Mobile. What you can do is reach something playable and genuinely yours in about a project, 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 Alto's Odyssey?

Harry Nesbitt's art direction, which is the actual reason anyone bought it. The soundtrack and sound design, quietly doing the entire meditative half of the work. Weather and lighting states that make a procedurally generated slope feel hand-authored. 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.