A rooftop pickup game from sunset to stars, built as one three.js file with no models or textures, and every swish, rim-out and bank shot comes from real ball physics. Made with Opus 5.5 in @DevinAI
A sea turtle carrying a tiny village on its back swims through one full day, from dawn to night, in a single three.js file made with Opus 5.5 in @DevinAI with no models or textures.
Windup Town: a clockwork music box in a single three.js file, where you wind the key and the gears, the music cylinder and the whole little town run until the spring winds down. Made with Opus 5.5 in @DevinAI . 40.5$
Windup Town: a clockwork music box in a single three.js file, where you wind the key and the gears, the music cylinder and the whole little town run until the spring winds down. Made with Opus 5.5 in @DevinAI . 40.5$
A sea turtle carrying a tiny village on its back swims through one full day, from dawn to night, in a single three.js file made with Opus 5.5 in @DevinAI with no models or textures.
A rooftop pickup game from sunset to stars, built as one three.js file with no models or textures, and every swish, rim-out and bank shot comes from real ball physics. Made with Opus 5.5 in @DevinAI
@anardooo No. Each sprite is sampled separately and gets its own palette (up to 16 colours), so colours drift across a sheet. To get a matching set, snap the outputs to one fixed palette afterwards. That's a few lines of Pillow. There's no built-in option for it yet.
.@Angaisb_ 's pixel LoRA and the little model Opus trained for them made me want to try the same thing.
So I had Opus 5.5 train a 32×32 pixel art model, and used @DevinAI along the way. Krea 2 LoRA for the data, then the model on 175k sprites.
I'll open source the model, the dataset, and the LoRA soon.
A few samples:
Grand Loop: a 30-second toy-diorama race in three.js where every car, tree and spectator is built from code with no imported models or textures, made with Opus 5.5 in @DevinAI .
PROMPT:
Build "Pixel Ice Rink" — a single-file, real-time three.js (r160, ES module via import map from jsDelivr) page: an isometric diorama of a floating outdoor ice rink, rendered as crisp pixel art in the style of "3D rendered as pixel art". UI text in English.
RENDER PIPELINE
- Orthographic camera at ~31° elevation, azimuth 45° + 90° steps (animated turns, drag sideways or buttons), wheel/pinch zoom. Fit the whole floating slab into the free screen area (clear of the title, a top-centre scoreboard and a right control rail).
- Render the scene into a tiny target (screen / pixel size, ~480×300 on desktop) with no anti-aliasing. Snap the camera so the world origin lands on a whole pixel (static things never shimmer).
- Post pass on a full-screen quad:
- depth-based outlines: darken a pixel that stands >0.55 m in front of a neighbour;
- map every pixel to the nearest colour of a fixed ~49-colour winter palette in OKLab (snow/ice greys, ice blues, reds, lamplight/wood/skin, pines, dusk peach/rose/mauve/lilac, brass/ochre);
- optional light 4×4 Bayer dither;
- upscale with texelFetch so each art pixel is an exact block of device pixels. The background (depth = 1) is the page colour.
- Hard sun shadows (BasicShadowMap, 2048). Lambert flat-shaded low-poly materials.
- Planar ice reflection: render the scene mirrored (scene.scale.y = -1 about the ice plane, ground, ice, particles and lamp posts hidden) into a second target. Sample it in the ice shader at gl_FragCoord. Gloss = small base + extra where the ice is wet, reduced where it is worn.
- A "Raw 3D" mode renders the same scene at full resolution with MSAA, for comparison.
SCENE
- A floating slab of snow over earth over rock, each extruded from a ragged rounded rectangle.
- A 24×12 m rink with 3 m corners: white boards with a yellow kick plate and red cap, built as band segments with gaps for two bench doors and a double resurfacer gate (hinged doors that swing open).
- Ice markings painted texel-by-texel into a 10 px/m canvas: red centre and goal lines, blue lines, circles, face-off dots, creases.
- Red-post goals with alpha-tested grid nets; players' benches; a lit scoreboard drawn with 3×5 pixel digits.
- A log warming hut with lit windows and chimney smoke; a garage for the resurfacer; lamp posts with point lights; string lights at night.
- Snowy stacked-cone pines, snowbanks, a snowman.
PLAYERS — procedural rigs of ~16 boxes
- Placed every frame from heading, lean, crouch and turn roll. Two-bone IK for the legs (skating stride with push-out and toe-out, gliding, sideways hockey stop) and for the arms holding a stick.
- Stick poses: carry/stickhandle, slap-shot wind-up and strike, pass sweep, celebration with stick raised.
- Goalies: pads, blocker and glove, crease positioning, butterfly drop on incoming shots.
GAME
- Two-on-two pick-up hockey plus goalies. Steering with arrival, separation and board/net avoidance; hockey stops when reversing hard.
- Carrier AI weaves to the slot, shoots when the lane is open, passes when pressured. Defenders pressure goal-side and poke-check; the nearest skater chases a loose puck.
- Puck physics with substeps: friction, board bounces, posts, solid nets with goal detection through the mouth, goalie saves (deflect or catch and play out), blocks by skates.
- Face-offs, goal celebrations, score, shots and a game clock on the scoreboard. Clicking the ice drops a puck.
ICE WEAR
- An RG DataTexture over the rink (20 px/m). Blades write scratches as they glide; stops gouge wider marks and throw spray particles that settle as wear; falling snow settles too.
- "Resurface the ice": players skate off through the bench doors; the resurfacer drives out of its garage through the gate and does shrinking rounded-rectangle laps (swinging in front of the nets), wiping its swath and leaving wet, reflective ice that dries over time. Then the players return for a face-off. Show an "ice worn %" bar.
UI
- Pixel display font (Silkscreen) with a clean body font.
- Light and dark themes via tokens; the background is a near-white or near-black page.
- Controls: Day / Dusk / Night (lighting presets blended over ~1.6 s), Snow Off / Light / Heavy, Resurface, Drop a puck, Pause, New game, Turn left / right, Pixel art / Raw 3D, Pixel size slider, Palette / Dither / Outlines toggles.
- A "How it's drawn" panel explaining the pipeline. Stacked mobile layout with no horizontal scroll.
$0.21 vs $7.88 for a tiny ice rink
MiniMax M3.1-Flash vs GPT-6 Astra
MiniMax takes this one for me. Look at the nighttime lighting: warm lamps, shadows across the ice, glowing windows, and all those little details. The whole scene feels more alive
And all that for just 21 cents - almost 38 times cheaper than Astra
I’m picking MiniMax for both quality and price. What about you?