Fruit Ninja rebuild deck
FIDDLY
The entire game is a swept segment-versus-circle test across the last 120ms of blade, and the per-frame pointer check an agent writes instead tunnels the first time somebody swipes like they mean it.
You will get it, but one specific system will fight you.
Segment-versus-circle is the entire game and it is about fifteen lines of maths. An agent will default to a per-frame pointer test, which works beautifully while you poke at it slowly on a desktop and disintegrates the moment someone swipes like they mean it. Spend your review budget on audio instead: the cut sound must fire on the same frame as the cut, and Web Audio will cheerfully hand you 40ms of scheduling latency if you do not schedule against the audio clock. Three people at Halfbrick built the original in about six weeks, and the core slicing prototype took three days. That is the whole argument for the verdict.
- Difficulty
- FIDDLY · 2 of 5
- First playable
- An evening
- The original
- 1 team-years
- Released
- 2010 · Mobile
- Genre
- Arcade Action
Build a touch slicing game as a single self-contained HTML file. Canvas 2D, Web Audio, no dependencies, portrait, 60fps on a mid-range Android. Requirements: - Objects launch from below the bottom edge with randomised horizontal velocity and a vertical impulse that peaks just inside the top third of the screen. Gravity 2000px/s squared. They spin. - The blade is a polyline of pointer samples from the last 120ms. Slicing tests every SEGMENT of that polyline against every object circle, never just the current pointer position. Get this wrong and a fast swipe tunnels straight past a target, which is exactly what happens when someone finally plays properly. - A cut requires the segment to genuinely cross the circle AND the pointer to be moving faster than 300px/s, so a resting finger does nothing. - A cut object splits into two halves along the blade direction, each inheriting the parent velocity plus a small separation impulse and opposite spin. Halves cannot be cut again. - Bombs end the run instantly. Three misses end the run. Three or more cuts within 400ms award a combo bonus and a fatter sound. - The trail is a tapered quad strip fading by sample age, not a fixed-width stroked line. - Object types, spawn weights, colours and score values in a JSON file. Definition of done: one fast diagonal swipe across the full screen cuts every object in its path with no tunnelling, and the halves fly apart along the cut line.
- The audio design — squelch, whoosh, the gong on a bomb — which is most of the satisfaction
- Zen and Arcade modes plus sixteen years of blade and dojo cosmetics
- Halfbrick's fruit art, which reads instantly at any size against any background
- Native touch latency, which a browser will not give you
Slice a polygon into pieces you can slice again
Two prebaked halves is a conjuring trick that survives only because nobody looks twice. Clipping an arbitrary polygon along the real cut line, and letting the offcuts be cut again, is proper geometry and gives you destructible everything — and the moment a piece can be cut a fourth time, players start experimenting.
ScopeAbout a week— build just this, not the game
Build a polygon-slicing sandbox. Single self-contained HTML file, Canvas 2D, no dependencies, no build step. - Convex polygons fall under gravity. A pointer drag defines a cut line, tested as this frame's movement segment against each polygon so a fast drag cannot tunnel past one. - A cut clips the polygon against the line into two convex pieces. Recompute each piece's centroid, area and moment of inertia from its vertices, set mass from area, and give the pair a small separation impulse along the cut normal plus opposite spin. - Pieces are ordinary polygons and can be cut again, down to a minimum area at which they are removed. - Rigid-body integration with polygon-versus-floor and polygon-versus-polygon resolution good enough that a heap settles instead of vibrating. - Show piece count, total area and a slow-motion toggle. Definition of done: one shape cut four times leaves eight pieces whose combined area matches the original within 0.5%, and the heap comes to rest.
Not a clone — Fruit Ninja 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. 5,880 ways to land.
Shogun Turn Order
Fruit Ninja, but turn-based instead of real-time, set in feudal Japan. Rendered in photocopied zine.
Build a browser game called "Shogun Turn Order". The pitch in one line: a arcade action in the spirit of Fruit Ninja, but turn-based instead of real-time, set in feudal Japan. WHAT THIS IS Take the SHAPE of Fruit Ninja — 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 Turn-based instead of real-time. Time only advances when the player acts. Removes every timing, netcode and animation-blending problem and turns reflexes into decisions. 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 Feudal Japan. Duels decided before the first strike, weather and season as mood, and restraint in everything including the interface. 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 Photocopied zine. Blown-out high contrast, dithered halftones, visible toner streaks and a page that shifts a pixel or two per frame. 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.
- matter-js — if you want the halves to tumble with real physics
- pixi.js — fast tapered trails without writing WebGL yourself
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.
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.
Then try these
Questions
How hard is Fruit Ninja to rebuild with an AI agent?
Yes — every game is buildable at some scope. The question is how hard, and Fruit Ninja is FIDDLY (2 of 5). You will get it, but one specific system will fight you. The entire game is a swept segment-versus-circle test across the last 120ms of blade, and the per-frame pointer check an agent writes instead tunnels the first time somebody swipes like they mean it. Reckon on an evening to something you can actually play — not to something that matches the 1 team-years Halfbrick Studios spent.
What makes Fruit Ninja hard to rebuild?
The entire game is a swept segment-versus-circle test across the last 120ms of blade, and the per-frame pointer check an agent writes instead tunnels the first time somebody swipes like they mean it. 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 slice a polygon into pieces you can slice again — about a week of work.
How long does it take to build a Fruit Ninja clone?
Wrong question, and it is worth saying why. Nobody rebuilds Fruit Ninja — the original took Halfbrick Studios on the order of 1 team-years, released in 2010 on Mobile. What you can do is reach something playable and genuinely yours in about an evening, 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 Fruit Ninja?
The audio design — squelch, whoosh, the gong on a bomb — which is most of the satisfaction. Zen and Arcade modes plus sixteen years of blade and dojo cosmetics. Halfbrick's fruit art, which reads instantly at any size against any background. 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.
One email when new games go on the list. No other reason to email you, ever.