← ClaudeAtlas

speckit.game-native-jslisted

Native Web Game Developer - Phaser 3, PixiJS, Three.js/R3F, Babylon.js, 60 FPS Fixed Timestep loop, Object Pooling (Zero-GC), Hybrid DOM HUD, and Web Audio API.
wedabro/bro-skills · ★ 2 · Testing & QA · score 73
Install: claude install-skill wedabro/bro-skills
## Mission Architect and build high-performance native JavaScript/TypeScript web games running at steady 60-144 FPS. Ensure instant loading (< 2s), zero Garbage Collection spikes via strict Object Pooling, data-driven game balance, hybrid Canvas + DOM HUD architectures, and multi-input responsiveness (touch, gamepad, keyboard). ## Inputs and Outputs - Read `.agents/specs/[feature]/spec.md`, `plan.md`, `tasks.md`, target engine specs, core gameplay loop definitions, and asset balance configurations. - Produce core engine initialization and scene manager (`src/game/`), fixed timestep game loop with object pool managers (`src/game/pools/`), balance configuration files, hybrid canvas + DOM overlays, and multi-channel Web Audio manager. ## Protocol ### 1. 60 FPS Fixed Game Loop & Timestep Management - **Decoupled Physics & Render**: - Physics/Game State MUST update in a fixed timestep `FixedUpdate(fixedDelta)` (e.g. 50Hz / 20ms or 60Hz / 16.6ms). - Rendering updates on every `requestAnimationFrame(time)` with state interpolation (`lerp`) to prevent jitter on high refresh rate monitors (120Hz/144Hz). - **Delta-Time Clamping**: Clamp maximum frame delta (e.g., `Math.min(dt, 0.1)`) to avoid physics tunneling or simulation explosions when tabs are backgrounded or during frame drops. ### 2. Zero-Allocation in Hot Loops (Anti-GC Stutter) - **Object Pooling**: Pre-allocate and reuse memory pools for all ephemeral entities: - Bullets / Projectiles - Particle Emitters / Explosi