A technical comparison of single-prompt 3D WebGL game generation. Both models were given an identical 64-line specification prompt to engineer a self-contained 11-module Star Fox rail shooter set along a golden-hour flight corridor through Kuala Lumpur. ⚠ Note: The game is optimized exclusively for desktop browsers with physical keyboard navigation, not for touch-based mobile devices.
Single-Shot Prompt with Built-In Automated Test Harness
Single-Shot Prompt • Pure Raw Output Benchmark
Post-Benchmark Malaysian Cultural Fine-Tuning
Examining the development environment and generation harness behind each model's delivery:
Readers may ask: Why benchmark Gemini 4 (Argon) against GLM 5.3-max?
There is no grand experimental design here. I wanted to test Google's new Argon model, I wanted a comparative baseline, and I happened to have GLM 5.3-max tokens immediately available in Kilo Code. So I ran the prompt through both. While a textbook shootout would pit Argon directly against its frontier peers (such as Claude 3.5/Opus 5.5 or GPT-6 Sol), this run was an opportunistic experiment using what was readily on hand to see how each handled complex, single-prompt 3D WebGL generation.
Environment: Kilo Code extension in a local workspace (kl-star-runner).
index.html (2,903 LOC) and simultaneously generated a 370-line headless verification harness: verify.js.window.__KL_TEST_HOOKS__ into the global browser scope, exposing internal singletons (GAME, SHIP, BULLETS, ENEMIES, BOSS, HUD, AUDIO, CONFIG).--headless=new --remote-debugging-port=9222) to programmatically step physics, spawn drones, fire lasers, confirm damage, trigger smart bombs, and assert score persistence across page reloads.Environment: Google Gemini App Harness running the Gemini 4 (Argon) foundation model.
Build KL StarFox.txt without terminal access, sub-agents, or automated test runners. Delivered in a single prompt turn as kl-star-runner-argon-v1.html (2,984 LOC).Generated using automated Chromium DevTools Protocol (CDP) capturing at 1280×720 with synchronized 100ms game loops. Notice the striking spatial reasoning and aesthetic differences between the two models from the identical prompt.
rotateX(π/2); rotateZ(π/4), flipping the base forward and hanging upside-down near the ceiling like a pendant.[HQ] KL COMMAND) and dynamic boss warnings.Compare how each model interpreted the benchmark requirements across different game phases:
High camera angle looking down on a flipped pink cone hull. Buildings are densely instanced but lack vertical lighting falloff. Flight boundaries are strictly enforced but the craft occupies awkward upper-screen real estate.
True third-person Arwing flight framing. The sun sets directly behind the corridor axis. HUD displays real-time telemetry, cruise speed throttle, Nova Bomb diamond count, and incoming HQ communications.
Minimalist modern menu with blurred backdrop. Clean button layout with keyboard hint footer. Settings and Leaderboard fully functional via local storage.
Arcade cyber-cabinet styling with neon amber glowing border box, Orbitron typography, CRT scanlines, and highlighted keyboard key badges ([↑/↓] or [W/S] Select).
Towers placed at Z=2650. While stepped tiers and skybridge were constructed in code, extreme camera clipping and tight fog cause the upper spires to blend into the dark background.
Petronas Towers rise with distinct stepped setbacks, reflective metallic materials, glowing skybridge connectors, and radio chatter instructing the pilot to dive under the bridge.
Boss gunship spawns at Z=8520 directly below the ship's nose. Simple box cruiser mesh with twin orange jet cones. Fixed sine hovering pattern with health bar overlay.
Merdeka 118 silhouette towers behind the arena with its iconic diamond crown and offset spire. The Valkyrie Gunship features multi-phase attack patterns, glowing reactor core, and alarm klaxons.
Side-by-side audit of all 11 prompt modules requested in the 1-shot specification:
| Architecture Module | GLM 5.3-max (Kilo Code) | Gemini 4 Argon (Gemini App) |
|---|---|---|
| 1. Flight Coordinate System |
Absolute World Z (0 → 10,800) Ship advances down Z axis. Requires continuous camera chase recalculation; prone to 32-bit float jitter past 8,000 units. |
Origin-Anchored World Scroll SUPERIOR Player craft stays centered near Z=0; worldGroup.position.z scrolls backward. Zero float degradation over long corridors.
|
| 2. 3D Ship Mesh Topology |
Inverted Cone Nose Rotation Euler matrix inverted the fuselage; flat extruded polygon wings; 2D screen-space crosshair. |
Canonical Arwing Starfighter SUPERIOR Multi-part craft with blue G-Diffuser wing pylons, glowing cockpit canopy, dual thruster flames, and 3D world-space targeting reticle. |
| 3. Atmosphere & Skybox |
Basic GLSL Vertex/Fragment Sphere 3-stop linear color blend; harsh horizon cutoff; high-altitude clipping to black. |
Multi-Layer Atmospheric Scattering SUPERIOR Non-linear altitude curving (amber → dusty rose → indigo); glowing 175-unit sun disc; CRT scanlines post-process. |
| 4. Procedural Buildings |
InstancedMesh (6 Height Classes) Canvas window texture generated with uniform amber lights; flat building shading without ambient occlusion. |
InstancedMesh with Dual-Palette Windows SUPERIOR Canvas texture weighted 80% amber / 20% cyber-cyan; nearest-neighbor sampling; varied building setbacks. |
| 5. WebAudio Sound DSP |
White Noise Loop + Saw Laser Pre-built 2s white noise buffer; Biquad bandpass engine filter; 1 sawtooth laser pitch drop; basic noise explosion. |
9-Voice Polyphonic Synthesizer SUPERIOR Sub-bass oscillator + noise engine layer; dual square/saw lasers; 2-stage sub-bass explosions; 3-burst boss klaxon; harmonic UI blips. |
| 6. Boss Encounter Design |
KUL-Titan Cruiser (100 HP) Single attack loop; sine wave hover; drops half-health supply at 50% HP; health bar rendered over player ship. |
Merdeka Valkyrie Gunship (100 HP) SUPERIOR 3 distinct salvo patterns; health-phase scaling at 66% and 33%; guaranteed +1 bomb drop; dramatic comms alerts. |
| 7. Landmark Accuracy |
Petronas, KL Tower, Merdeka 118 Geometric approximations built, but camera positioning and fog render them difficult to spot during combat. |
Iconic Silhouette Landmarks SUPERIOR Merdeka 118 diamond crown and offset spire dominate Sector 4 arena; Petronas skybridge canyon flight path. |
| 8. HUD & Feedback |
Minimalist Standard HUD Score counter, speed gauge, 3 circular shield rings, bomb squares, damage vignette. |
Full Star Fox Arcade Cabinet HUD SUPERIOR Orbitron typography, Star Fox HQ radio comms transmission boxes, Nova Bomb diamond stars, distance counter, speed cruise bar. |
| 9. Automated Test Hooks |
Explicit Test Harness Export SUPERIOR Exports window.__KL_TEST_HOOKS__ for CDP browser test automation; flawlessly passes all 9 verification gates.
|
Clean Encapsulated ES Module Variables encapsulated inside module scope; requires DOM/keyboard event simulation for external orchestration. |
| 10. Leaderboard & Persistence |
localStorage 'kl-starfox-save' Top 10 scores, 3-char initials entry, audio volume and sensitivity persistence. |
localStorage 'kl-starfox-save' Defensive JSON schema validation, top 10 arcade score list, volume/sensitivity sliders with instant live audio feedback. |
Examining the foundational math and software engineering decisions that drove the outcome:
In 3D rail shooters, players traverse long distances (10,800 units in this spec). GLM moved the ship and camera continuously forward into positive Z space. Gemini Argon chose the gold-standard game engine pattern: anchor the player at Z=0 and translate the world geometry backward.
Without external audio files, synthetic sound richness depends on oscillator layering. GLM relied on a single filtered noise buffer for engine hum. Gemini Argon layered a pure sawtooth oscillator at 58Hz with the bandpass noise generator, introducing the deep harmonic rumble characteristic of sci-fi spacecraft engines.
As documented in the project's technical specifications, frame execution time remains locked at < 4.5ms per tick (sustaining 120 FPS on integrated GPUs) via strict batching:
THREE.InstancedMesh with matrix buffers.Float32Array(2700) inside one THREE.Points buffer (1 draw call).Math.abs(worldZ - shipZ) < threshold) discards 95% of candidates before executing Euclidean squared-distance checks.Having validated Gemini Argon's clear superiority in the apple-to-apple 1-shot contest, the engine was pushed further with domain-specific enhancements. Follow the progression from the baseline arcade shooter into a culturally localized, mechanically deep cyber-nusantara masterpiece.
Test drive all four builds live inside the embedded sandbox below. Use the selector tabs to switch between engines in real time: ⚠ Desktop keyboard required • Touch-based mobile devices are not supported.
Spatial Geometry & Proportions: Argon understood the spatial orientation of 3D polygonal models in Three.js without inverted normals or inverted rotations. Its Arwing starfighter had authentic pylon sweeps and canopy offsets.
Atmospheric Lighting Intuition: Rather than relying on simple directional lighting, Argon combined a 3-stop atmosphere shader, radial sun disc geometry, and screen-space scanlines to evoke retro arcade nostalgia.
Coordinate System Foresight: By anchoring the player at Z=0 and scrolling world coordinates, Argon prevented WebGL precision jitter along the 10,800-unit flight corridor.
Automated Rigging Rigor: Kilo Code excelled at engineering testability, explicitly exporting window.__KL_TEST_HOOKS__ with complete state accessors (SHIP, BOSS, BULLETS, ENEMIES).
100% Verification Gate Pass: All 9 strict verification criteria in verify.js (drone kill, shield decay, smart bomb clearing, 3-phase boss defeat, leaderboard persistence) passed with zero console exceptions.
Instruction Adherence: Every single requested constant, route milestone name, and scoring rule was implemented to exact mathematical specifications.