AI Model Reviewer

Back to Three.js

GLM-5.3 (fast router) · Three.js

Folding road threejs

ok here it is - my first Opus 5.5 vibecoded threejs 3D experience

my God!! Opus is creative!!

I made a road that forgets which way is down.

It folds 90° up a yellow wall, runs upside down across a ceiling, and turns into sheet music: steer through the notes to play each street's melody.

Watercolour. Ink. A radio on the roof.

#vibejam Build it as index.html (plus any local asset files you create) in the current directory. Three.js may load from a pinned CDN. You may serve it locally and open it in headless chromium (/usr/bin/chromium, software WebGL, no GPU) to screenshot and inspect your own output, and iterate on your own before finishing. Close any browser you open as soon as you've taken your screenshot.

Game battleship

Build a complete, polished Battleship game playable in the browser (index.html plus any JS/CSS, no build step). Player vs computer on 10x10 grids: ship placement (drag or click, with rotate), a computer opponent with a sensible hunt/target strategy, hit/miss/sunk feedback with animation and sound, turn indicator, win/lose screen and restart. It must work with mouse and touch and look good on desktop and phone. Write everything into the working directory and finish with a short README.md.

Gpu fluid sim

Build a GPU-accelerated fluid simulation in a single HTML file using WebGL, no external libraries. Dragging the mouse or a finger should push colorful dye through the fluid, with a soft glow. Make it look stunning and run smoothly.

Build it as a self-contained index.html in the current directory, with WebGL/WebGL2 shaders you write yourself; no libraries and no CDNs; interactive with mouse or touch input. You may serve it locally and open it in headless chromium (/usr/bin/chromium, software WebGL, no GPU) to screenshot and inspect your own output, and iterate on your own before finishing. Close any browser you open as soon as you've taken your screenshot.

Js13k style shader game

Make a complete playable game in ONE html file under 13 KB (minified size reported in a corner): the visuals are rendered entirely by one fragment shader (raymarched or 2D SDF). Arcade loop: dodge/collect, score, increasing speed, game over + restart. Keyboard and touch controls. No libraries, no assets. IDLE AUTO-PLAY: with no input, the page starts animating immediately and runs an automatic demo (camera motion, preset or seed cycling, or an AI player) so a headless capture shows constant motion. Must render on WebGL/WebGL2 with no WebGPU required. Save the main page as index.html in the current directory (plus any local asset files you create), with no build step. You may serve it locally and open it in headless chromium (/usr/bin/chromium, software WebGL, no GPU, no WebGPU) to screenshot and inspect your own output, and iterate on your own before finishing. Close any browser you open as soon as you've taken your screenshot. Finish with a short README.md describing the controls.

Threejs impressionist world

Build a real-time 3D world in Three.js that looks like a living impressionist oil painting (one HTML file, CDN imports only, no external assets or textures; everything procedural). The whole frame must read as painted, not as a 3D render with a filter: a brush-stroke post-process (oriented, varied-size strokes that follow surface direction and color, visible canvas grain), a painterly sky with broken-color clouds, water with dappled reflections of the sky and shore, and a small landscape (garden, footbridge or shoreline, trees, flowers). Add falling snow that is painted too, and flocks of birds flying through the scene. Include two or three painted figures; clicking one opens a short in-world dialogue in a hand-lettered caption style. Interactive camera (orbit plus a gentle walk mode), a time-of-day slider that shifts the palette from cool morning to warm dusk, and a toggle that compares the painted view with the plain render. Must stay smooth on a laptop and usable on a phone (touch controls, adaptive quality). It should feel like stepping into a painting.

Threejs island stream diorama

Build a real-time 3D diorama in Three.js of a small, cosy island valley with a clear mountain stream running through it (one HTML file, CDN imports only, no external assets or textures; everything procedural). The stream is the hero: shallow, crystal-clear water you can see the pebbled bed through, with animated flow, caustic light patterns on the stones underneath, sparkling sun glints on the surface, foam and small rapids where it runs over rocks, and soft rounded river boulders of varied size partly submerged with wet darkening at the waterline. Around it: lush stylised grass and ferns that sway, a few broad-leaf trees, wildflowers, an arched stone bridge or culvert the stream flows through, stepping stones, and a small timber cottage on the bank whose windows glow warmly at night. Lighting presets in a small on-screen pill menu: Morning, Afternoon, Sunset, Blue hour, Night (night shows moonlight on the water and lit windows); transitions animate smoothly. Camera: a slow cinematic auto-fly along the stream by default, free orbit on drag, and a top-down view toggle. Ambient life: drifting petals or fireflies at night, small fish darting under the surface. Gentle procedural water ambience via Web Audio after the first click, with a mute toggle. A title card in the corner names the place. Target 60 fps on a mid-range laptop; include a quality toggle (low/high). Deliver index.html.

Threejs mobile touch arcade game

Build a complete, polished mobile-first 3D arcade game in Three.js as one self-contained index.html (no external assets; all geometry, textures and sound procedural). Portrait orientation, touch controls (swipe/drag and tap) with keyboard fallback for desktop. Include a title screen, at least 3 increasing difficulty phases, score and best-score persistence in localStorage, juicy feedback (screen shake, particles, procedural Web Audio sfx), pause/resume when the tab is hidden, and a game-over screen with restart. Must hold 60 fps on a mid-range phone; keep draw calls low with instancing.