Night Train
Build a Three.js scene: A night train crossing a landscape.
More
1 test · 6 finished runs (0 agent, 6 raw one-shot) · 6 live demos
The prompt
Build a Three.js scene: A night train crossing a landscape. A passenger train of a locomotive and at least four carriages with warm, glowing lit windows travels along a track that winds through rolling hills, over a bridge across a river and past a small village with a few lit houses. A full moon lights the scene with cool blue light and casts soft shadows; stars fill the sky, the river reflects the moon, and the locomotive's headlight throws a beam ahead of the train. The train moves continuously and loops forever along the track, its wheels turning and a faint trail of steam or exhaust drifting behind it. The camera slowly follows the train by default; OrbitControls let the viewer take over, and a button switches between the follow camera and a free camera. Everything is built in code from Three.js geometry, materials and shaders; no external models, textures or fonts. The scene must visibly animate from the moment it loads and run in a browser with software WebGL (no GPU). Deliver ONE self-contained HTML file; load Three.js only through an import map from https://cdn.jsdelivr.net/npm/three@0.170.0/build/three.module.js (addons from https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/), with no other external requests (no image, texture, model, font or audio files): build every shape and texture in code. It must work when opened directly from disk in a current desktop or mobile browser, fit the window responsively, and run without console errors. Output ONLY the complete HTML file, starting with <!DOCTYPE html> and ending with </html>, with no explanation or markdown fences.
Same prompt, all models: step through 9 runsIn the gallery: one player, arrow keys or swipe.
Live scene
Live scene
Live scene
Live scene
Live scenegpt-oss-120b
Raw API (one-shot)
raw API baseline
The model's code errors on load: script not found: 404 https://cdn.jsdelivr.net/npm/three@0.170.0/examples/jsm/jsm/controls/OrbitControls.js
Live sceneQwen3.8 Max
Raw API (one-shot)
raw API baseline
The model's code errors on load: Cannot access 'waterMat' before initialization