rune-ext-gamedev

Implements web game development patterns for rendering, physics, input, audio, and multiplayer.

1|Updated Mar 22, 2026
One-click install
npx skills add https://github.com/dangvu008/VietTruyen --skill rune-ext-gamedev-dangvu008
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rune-ext-gamedev
Source: https://github.com/dangvu008/VietTruyen/tree/main/.agents/skills/rune-ext-gamedev
Command: npx skills add https://github.com/dangvu008/VietTruyen --skill rune-ext-gamedev-dangvu008

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web games hit performance walls that typical web apps never face: 60fps render loops stuttering on garbage collection, non-deterministic physics, GPU memory leaks from undisposed resources, blocked asset loading, and untrusted multiplayer clients. This Skill provides audited patterns for the full web game stack so these failure modes are caught and fixed systematically. ## Core Features & Use Cases - Rendering & Shaders: Three.js, React Three Fiber, raw WebGL2/GLSL patterns with instanced rendering, LOD, post-processing, and mandatory GPU resource disposal. - Simulation & Architecture: Fixed-timestep game loops with interpolation, Rapier.js physics, archetype-based ECS, and object-pooled particle systems. - Gameplay Systems: Unified keyboard/mouse/gamepad/touch input with buffering and coyote time, 2D camera with screen shake, scene management, Web Audio spatial sound, and authoritative-server multiplayer with client prediction. - Use Case: When building a 3D multiplayer game with Three.js, invoke this Skill to audit the render loop for GC stutters, set up fixed-timestep physics, and implement server-authoritative netcode with client reconciliation. ## Quick Start Ask the agent to audit or implement a game system, for example: set up a fixed timestep game loop with Rapier physics and unified input handling for my Three.js project.

Frequently Asked Questions about rune-ext-gamedev

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement a fixed timestep game loop in JavaScript?

Use an accumulator pattern: add elapsed frame time to an accumulator, run fixed 60Hz updates while the accumulator exceeds the tick duration, then render with an interpolation alpha. Cap elapsed time at 250ms to prevent the spiral of death.

What physics engine works best with Three.js web games?

Rapier.js compiled to WASM is the recommended choice, offering collision groups, sleep thresholds, event-driven collision callbacks, and raycasting. For React Three Fiber projects, use the @react-three/rapier bindings.

Why does my WebGL game crash after a few minutes of play?

The usual cause is GPU memory leaks from undisposed geometries, textures, and materials. Call .dispose() on every Three.js resource during scene teardown, ideally through a centralized disposal manager.

How do I prevent cheating in a WebSocket multiplayer game?

Use an authoritative server model where clients send only inputs, never positions. The server simulates the game state, and clients perform prediction locally then reconcile against server snapshots with entity interpolation.

Why is there no audio when my web game first loads?

Browsers block AudioContext playback until a user gesture. Resume the AudioContext inside the first click or keydown handler, and show a muted indicator until the context is running.

How do I reduce asset loading time for a web game?

Compress geometry with Draco and textures with KTX2/Basis, define a typed asset manifest, and use a preloader with progress tracking so assets load before the first frame instead of mid-gameplay.