A real 3D shooter in a browser tab
The three.js arena uses simple meshes, emissive materials and additive glow sprites without post-processing. These choices limit scene complexity; Chromebook frame rates have not been benchmarked across devices.
The bug that taught us something
The current floor is drawn without depth writes, with a grid built from thin triangles. This avoids relying on WebGL line rendering for the grid. Broader GPU compatibility remains a device-test requirement.
Making it fair on touch screens
Twin-stick touch aiming is hard, so phones get a gentle aim assist: if a drone sits within a small cone around your crosshair and nothing blocks the line of sight, your aim drifts onto it and the blaster fires. Mouse players get raw, unassisted aim.
Example prompts
These examples describe the game design and are not a preserved transcript of the build session. Build duration and performance across devices have not been independently measured.
Arena & controls. three.js first-person arena shooter, no external assets. Circular neon arena with seeded cover pillars. WASD + pointer-lock mouse look, hitscan blaster with tracers and muzzle flash, dash on Shift. Touch: left virtual stick to move, right drag to look.
Enemies & waves. Add drone enemies spawning from edge pads in escalating waves: scouts that orbit at range and fire dodgeable projectiles, rushers that explode on contact, tanks with three-shot spreads. Line-of-sight checks against pillars. Seeded spawn order for a daily mode.