Skip to content
🍄 Nintendo2021Aladdin XFIDDLY

Suika Game rebuild deck

FIDDLY

Mutate the physics world inside a collision callback and the first five-deep chain gives you ghost bodies and a crash; the deferred merge queue is the whole build.

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

It shipped in April 2021 on Aladdin X's popIn Aladdin projectors and reached the Switch that December; the virality came two years later. Physics games are where agents produce something that runs and is quietly wrong. The deferred-merge pattern is non-negotiable and worth reading in the source rather than trusting, and the loss timer is worth testing by deliberately playing badly. Draw your own circles and pick your own palette while you are at it, because the fruit art is exactly what gets these taken down.

Difficulty
FIDDLY · 2 of 5
First playable
A weekend
The original
1 team-years
Released
2021 · Nintendo
Genre
Physics Puzzle
The one-shot build prompt
Build a physics fruit-merging game as a single HTML file with Matter.js vendored alongside it. No build step.

Requirements:
- A tall open-topped container. The player moves a dropper left and right and releases a circular fruit. Two identical fruits that touch merge into the next size up, across eleven tiers.
- The rule that will bite you: never mutate the physics world inside a collision callback. Collect merge candidates during collisionStart into a pending set keyed by the sorted body-id pair, deduplicate so one body cannot be consumed twice, and apply removals and the replacement body only after the engine step has completed. Merging mid-step gives you ghost bodies, double merges and hard crashes.
- The new fruit spawns at the midpoint of the two consumed bodies with zero angular velocity, the averaged linear velocity, and a small upward impulse so chains read visually.
- The loss condition is time-based, not contact-based. A fruit must rest above the line continuously for 1200ms before the run ends. A fruit that merely brushes the line on the way down does not count.
- Physics constants: restitution 0.15, friction 0.4, frictionAir 0.005, gravity scale 0.0018. Fruit radii, colours and tier scores live in fruits.json. Draw plain circles and choose your own palette.
- Score by tier index on merge, with a Web Audio blip rising a step per tier.

Definition of done: a five-fruit chain reaction resolves in a single step with no crash and no duplicate fruit, and a drop that momentarily clips the line does not end my run.
What you lose
  • The fruit illustrations, which are the trademark and the exact reason clones get pulled from stores
  • The late-2023 eShop moment when every Japanese streamer played nothing else for a month
  • A global leaderboard, without which there is no reason to chase a second watermelon
  • The merge sound, which carries more of the loop than any physics constant you can tune
What to steal

Deferred merge queue applied after the physics step

Every simulation eventually needs to change the world while it is iterating over that world, and every one that does it inline is quietly broken in ways that look like haunting. Collect, deduplicate, apply after the step — and cascades stop being a crash and start being the fun part.

ScopeAn evening— build just this, not the game

Build a cascading-merge physics toy as a single self-contained HTML file with a 2D physics library vendored alongside it. No build step.

Circles of eleven sizes drop into an open-topped container. Two circles of equal size that touch become one circle of the next size up.

Doing that safely is the whole exercise. Never mutate the physics world inside a collision callback. During the step, collect candidate pairs into a pending set keyed by the sorted pair of body ids. After the step returns, walk the set, skip any pair whose bodies were already consumed this tick, then remove and replace. The replacement spawns at the midpoint with the averaged linear velocity, zero spin, and a small upward impulse so chains read visually.

Show a per-tick HUD: pairs collected, pairs skipped as already consumed, bodies removed, bodies created.

Definition of done: one drop triggers a five-deep chain, removals and creations balance exactly in the HUD, and no orphaned bodies remain.
Make it different

Not a clone — Suika Game 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.

Olympian Endless

Suika Game, but an endless survival mode instead of levels, set in Greek myth. Rendered in flat vector minimalism.

ThemeGreek myth
Anglean endless survival mode instead of levels
Lookflat vector minimalism
Build a browser game called "Olympian Endless".

The pitch in one line: a physics puzzle in the spirit of Suika Game, but an endless survival mode instead of levels, set in Greek myth.

WHAT THIS IS
Take the SHAPE of Suika Game — 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
An endless survival mode instead of levels. One arena, escalating waves on a data-driven timeline, a run timer and a score. Replaces level design with a difficulty curve.
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
Greek myth. Gods, hubris and monsters that are each a design problem. Bronze, marble and wine-dark colour.
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
Flat vector minimalism. Pure geometry, no textures, three colours plus white. All feedback carried by motion and scale rather than detail.

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

Questions

How hard is Suika Game to rebuild with an AI agent?

Yes — every game is buildable at some scope. The question is how hard, and Suika Game is FIDDLY (2 of 5). You will get it, but one specific system will fight you. Mutate the physics world inside a collision callback and the first five-deep chain gives you ghost bodies and a crash; the deferred merge queue is the whole build. Reckon on a weekend to something you can actually play — not to something that matches the 1 team-years Aladdin X spent.

What makes Suika Game hard to rebuild?

Mutate the physics world inside a collision callback and the first five-deep chain gives you ghost bodies and a crash; the deferred merge queue is the whole build. 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 deferred merge queue applied after the physics step — an evening of work.

How long does it take to build a Suika Game clone?

Wrong question, and it is worth saying why. Nobody rebuilds Suika Game — the original took Aladdin X on the order of 1 team-years, released in 2021 on Nintendo. 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 Suika Game?

The fruit illustrations, which are the trademark and the exact reason clones get pulled from stores. The late-2023 eShop moment when every Japanese streamer played nothing else for a month. A global leaderboard, without which there is no reason to chase a second watermelon. 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.