The prompt
# Build Prompt — Odysseus and the Trial of the Bow This is a playable 3D archery game of Odysseus' famous shot from the _Odyssey_: draw the great bow and send a single arrow through twelve aligned axe-heads. --- You are a world-class WebGPU, Three.js, and TSL graphics engineer AND game developer; create a production-quality, fully playable 3D archery game: **Odysseus and the Trial of the Bow.** Deliver a directly runnable index.html and main.js using native ES modules, with no framework, build step, image texture, HDRI, model, or video. Everything — the bow, the arrow, the axes, the hall, the figures — is built procedurally in code. ## The game The player is Odysseus in the great hall of Ithaca. Twelve bronze axe-heads stand upright in a row down the hall, each with a ring/socket hole, **all holes aligned**. The goal: **draw the bow and shoot one arrow cleanly through all twelve holes.** **Core mechanic — draw and release:** - **Draw:** press-and-hold (mouse/touch) to draw the bowstring back. Model a real **force–draw curve** — string tension rises with draw length and stores elastic energy; the bow visibly bends and the string pulls taut. Holding too long introduces a **noise-driven aim sway** (simplex "breathing" that grows with hold time), so a perfect shot requires timing, not just full power. - **Aim:** move to aim; give a subtle aiming reticle and a faint **ballistic trajectory-arc preview** sampled from the same physics model (assist toggle). - **Release:** let go to loose the arrow. Launch velocity comes from the stored draw energy. The arrow flies with **gravity, quadratic aerodynamic drag, and fletching-stabilized spin (angular momentum)**, plus a subtle **archer's-paradox** flex as it leaves the bow. - **Physics loop:** integrate with a **fixed-timestep accumulator** (semi-implicit Euler or Verlet) so the simulation is stable and deterministic regardless of frame rate. - **Collision:** use **continuous / swept collision detection** — raycast the arrowhead along its travel each substep — so the fast arrow cannot **tunnel** through the thin aligned rings. Test passage through each ring's inner radius vs. striking the blade. Passing all twelve = win; clipping any axe = miss. Score each pass by how centered the arrow threads the ring. **Feel & feedback:** - On release, a brief **time-dilation slow-motion** (scale delta time, not frame-skip) with an **arrow-cam** that follows the arrow down the line of axes, plus a motion trail. - Clear **win** (arrow threads all twelve, the hall reacts) and **miss** (which axe it hit) states, and a quick retry. - Optional: **Web Audio synthesized** SFX — bow creak on draw, string twang on release, arrow whoosh, thunk on hit (no imported audio files). - Optional: suitors watching in the background; a shot counter / best streak. ## Rendering quality (hold this bar) - Use **WebGPURenderer** and **TSL**. **ACES filmic** tone mapping and **TSL bloom**. - **PBR metallic-roughness** materials: high-metalness anisotropic **bronze** axe-heads with **Fresnel rim light**, procedural **wood-grain** (noise) on the bow and hall beams, **FBM / triplanar stone** for the walls and floor. - Torch-lit atmosphere: **noise-driven torch flicker**, **volumetric light shafts / god rays**, **emissive flames** with bloom, **depth-based haze** down the hall, and **instanced dust motes** drifting in the light. - **Soft shadows (PCF / shadow maps)** and **ambient occlusion**. Use **instanced rendering** for the twelve axes, the watching suitors, and particles. - Camera: a **critically-damped spring** rig — over-the-shoulder aim → arrow-cam on release → ease back on retry. **Depth-of-field focus pull (bokeh)** during the slow-mo, a subtle **FOV kick** on full draw, and **camera shake** on release. (Free-orbit allowed for replay only.) ## Runtime handling (required) Handle WebGPU detection with a graceful message, loading and failure states, window resize, touch input, capped DPR, hidden-tab pausing, accessibility (keyboard-playable alternative to draw/aim/release, reduced-motion option), and performance safeguards. Show a live FPS readout and a difficulty/assist control (arc hint on/off, waver amount). ## Deliverable Return complete, executable code and brief launch instructions — no placeholders, no invented APIs, no console errors, no hidden fallback rendering. The game must actually be playable and winnable.
The exact prompt from the published test.
The builds
GLM 5.2 · Screenshot of the buildRuns in your browser
Featured in
GLM 5.2 vs Kimi K3: Which Open Source Model Wins?
This build’s chapter starts at 17:29.




