Skip to content

Arcade › Fruit Sort

Fruit Sort

  • 3d
  • casual
  • sorting
  • clicker
  • low-poly
  • fruit
  • arcade
0
Remix it Discord

7 plays

How to play

Click the game above and it runs right here in your browser. No download, no installer, no account needed. Kellen Shaw built it with Cinevva, so it works on a phone or a tablet too.

Discussion

Nobody has said anything about Fruit Sort yet. Play it, then tell Kellen Shaw what you would add next.

Make your own game

Fruit Sort was built by Kellen Shaw with the Cinevva game creator: describe the game you want in chat, watch it get built, and play it in your browser minutes later.

Remix Fruit Sort opens the real game in the creator and forks its actual files, chat and design doc, so you start from the code rather than from a description.

Read the build brief for Fruit Sort

Cinevva's analyzer read this game's design doc and its source, then wrote the brief below. "Make your own" hands it to the game creator as your opening message, so you start from a real spec rather than a one-line idea.

Create a browser-based 3D casual sorting game titled “Fruit Sort,” using Three.js and a warm, low-poly grocery/market aesthetic. Show a fixed elevated perspective camera looking down at a circular wooden tabletop or bounded wooden sorting area: the camera is positioned above and slightly in front of the center, with a pale cream background/fog, soft shadows, warm sunlight, and a subtle cool fill light. The play area should have a large tan wood surface, a dark brown circular rim, and four low dark-brown boundary rails around a square-ish inner fruit area. Place a shopping basket near the far/back edge of the play area, with a glowing golden ring on the table marking it as the collection target. The basket should gently sway/rotate.

Populate the bounded area with a very large batch of randomly positioned, physically simulated low-poly fruits—between 100 and 200 fruits, with the total chosen randomly at startup. Cycle fruit types among red apples, yellow bananas, orange oranges, and green watermelons. Use recognizable 3D food models and vary their initial positions, heights, rotations, and small horizontal velocities. Fruits fall under gravity, bounce on the tabletop, slow down, collide with each other, and bounce off the boundary rails; keep them inside the roughly x/z range -3.6 to 3.6. Watermelons are visibly larger, bananas and smaller fruits have their own scale differences. The initial scene should look cluttered with fruit scattered across the table, though some may be partly hidden or moving.

The core interaction is pointer/touch based: clicking or tapping a visible fruit raycasts into the 3D scene and selects that fruit. A selected fruit is marked sorted, awards coins, and flies along a smooth arcing animation from its current position into the basket, rotating as it travels and shrinking toward a pile-like target offset inside the basket. Sorted fruit should no longer participate in physics or be selectable. Display a running counter “Sorted: [number] / [total]” and a coin counter. Normally each fruit awards 1 coin. Rare fruits have colored rings/badges around them: bronze awards 2 coins, silver awards 3, gold awards 5, and an extremely rare purple “secret” fruit awards 10; show a short status message when a fruit is sorted, including the rarity reward when applicable. When all fruits are sorted, show “All the fruit is sorted — new fruit incoming!” and automatically reload/spawn a fresh batch after about 1.8 seconds.

Build a fixed HTML HUD over the canvas. At the upper left, use a rounded off-white translucent panel with a dark brown outline and soft offset shadow. It contains the bold brown title “FRUIT SORT” and an instructional/status line such as “Click any fruit — it flies into the basket.” At the upper right, use a matching rounded panel containing the green sorted counter, gold coin display (with a coin icon), and buttons labeled “Shop,” “Saves,” and “Reset.” At the bottom center, show a matching rounded hint panel reading “Tap fruits to send them to the basket 🍎 🍌 🍊 🍉 — watch them pile up.” Buttons should be orange with white bold text, rounded corners, and a darker pressed/shadow edge; use responsive sizing for small screens.

Implement the Shop button as a toggle for a right-side overlay panel titled “Fruit Shop.” Include three purchasable green upgrade buttons: “Anywhere click — 30 coins” with the description “Click anywhere to collect a fruit”; “Double collect — 50 coins” with “Each click collects two fruits”; and “Lucky rings — 100 coins” with “Rare bronze, silver, and gold fruits appear more often.” Disable buttons when unaffordable or already purchased, and replace purchased labels with an active check/status label. Anywhere click makes a click anywhere on the canvas collect the next unsorted fruit even if no fruit was directly hit. Double collect sends the clicked fruit plus one additional unsorted fruit into the basket. Lucky rings changes rarity probabilities so bronze, silver, and gold fruits occur more frequently. Persist coins and purchased upgrade states in browser localStorage so they survive reloads.

Implement the Saves button as a toggle for a left-side overlay panel titled “Save Files,” with three save slots. Each slot displays whether it is empty or shows its coin count/upgrades, and provides Save, Load, and Delete controls. Store the slot data in browser localStorage; loading a slot restores its coins and upgrade flags and refreshes the game. The Reset button should save current progress and reload the game, causing a new random fruit batch while retaining persistent coins/upgrades. Keep the overall look playful, clean, warm, and tactile: cream UI panels, dark chocolate outlines, green score text, orange controls, tan wood, pastel lighting, low-poly fruit, and soft contact shadows. Do not add enemies, player movement, timers, lives, or an inventory system; the only gameplay goal is to click/tap all fruit into the basket and earn coins for upgrades.

More free browser games

Browse the whole Arcade →