Get the FREE Ultimate OpenClaw Setup Guide →

web-games

Scanned
npx machina-cli add skill vudovn/antigravity-kit/web-games --openclaw
Files (1)
SKILL.md
3.0 KB

Web Browser Game Development

Framework selection and browser-specific principles.


1. Framework Selection

Decision Tree

What type of game?
│
├── 2D Game
│   ├── Full game engine features? → Phaser
│   └── Raw rendering power? → PixiJS
│
├── 3D Game
│   ├── Full engine (physics, XR)? → Babylon.js
│   └── Rendering focused? → Three.js
│
└── Hybrid / Canvas
    └── Custom → Raw Canvas/WebGL

Comparison (2025)

FrameworkTypeBest For
Phaser 42DFull game features
PixiJS 82DRendering, UI
Three.js3DVisualizations, lightweight
Babylon.js 73DFull engine, XR

2. WebGPU Adoption

Browser Support (2025)

BrowserSupport
Chrome✅ Since v113
Edge✅ Since v113
Firefox✅ Since v131
Safari✅ Since 18.0
Total~73% global

Decision

  • New projects: Use WebGPU with WebGL fallback
  • Legacy support: Start with WebGL
  • Feature detection: Check navigator.gpu

3. Performance Principles

Browser Constraints

ConstraintStrategy
No local file accessAsset bundling, CDN
Tab throttlingPause when hidden
Mobile data limitsCompress assets
Audio autoplayRequire user interaction

Optimization Priority

  1. Asset compression - KTX2, Draco, WebP
  2. Lazy loading - Load on demand
  3. Object pooling - Avoid GC
  4. Draw call batching - Reduce state changes
  5. Web Workers - Offload heavy computation

4. Asset Strategy

Compression Formats

TypeFormat
TexturesKTX2 + Basis Universal
AudioWebM/Opus (fallback: MP3)
3D ModelsglTF + Draco/Meshopt

Loading Strategy

PhaseLoad
StartupCore assets, <2MB
GameplayStream on demand
BackgroundPrefetch next level

5. PWA for Games

Benefits

  • Offline play
  • Install to home screen
  • Full screen mode
  • Push notifications

Requirements

  • Service worker for caching
  • Web app manifest
  • HTTPS

6. Audio Handling

Browser Requirements

  • Audio context requires user interaction
  • Create AudioContext on first click/tap
  • Resume context if suspended

Best Practices

  • Use Web Audio API
  • Pool audio sources
  • Preload common sounds
  • Compress with WebM/Opus

7. Anti-Patterns

❌ Don't✅ Do
Load all assets upfrontProgressive loading
Ignore tab visibilityPause when hidden
Block on audio loadLazy load audio
Skip compressionCompress everything
Assume fast connectionHandle slow networks

Remember: Browser is the most accessible platform. Respect its constraints.

Source

git clone https://github.com/vudovn/antigravity-kit/blob/main/.agent/skills/game-development/web-games/SKILL.mdView on GitHub

Overview

Guides selecting web game frameworks (2D/3D/Hybrid), adopting WebGPU with WebGL fallback, and applying browser-focused performance and asset strategies. It also covers turning games into PWAs for offline play and efficient audio handling.

How This Skill Works

Start with a framework decision tree to match game type (2D -> Phaser or PixiJS; 3D -> Babylon.js or Three.js). Enable WebGPU with a WebGL fallback and use feature detection (navigator.gpu) for compatibility. Apply performance principles: compress assets, lazy load, pool objects, batch draw calls, and consider Web Workers for heavy work.

When to Use It

  • You’re building a 2D game and deciding between Phaser 4 and PixiJS.
  • You’re creating a 3D app and choosing between Three.js and Babylon.js.
  • You want WebGPU now but need fallback for older browsers.
  • You’re designing a game as a PWA for offline use and home screen install.
  • You must optimize assets, reduce GC, and minimize draw calls for mobile.

Quick Start

  1. Step 1: Assess project type (2D/3D/Hybrid) and pick a framework: Phaser 4 for 2D, PixiJS 8 for rendering, Babylon.js 7 for full engine/XR, or Three.js for rendering-focused work.
  2. Step 2: Enable WebGPU with a WebGL fallback and implement feature detection (navigator.gpu) to ensure broad compatibility; set up an asset pipeline.
  3. Step 3: Apply performance and asset strategies: compress assets, implement lazy loading, use object pooling, batch draw calls, and consider Web Workers for heavy tasks.

Best Practices

  • Asset compression with KTX2, Basis Universal, and WebP.
  • Lazy loading of assets and streaming on demand.
  • Object pooling to reduce garbage collection.
  • Draw call batching to minimize state changes.
  • Use Web Workers to offload heavy computation.

Example Use Cases

  • A 2D game built with Phaser 4 leveraging full game features.
  • A 2D rendering-focused experience using PixiJS 8 for UI and visuals.
  • A 3D engine built with Babylon.js 7 for full features and XR support.
  • A lightweight 3D visualization using Three.js.
  • A PWA game with service worker caching, manifest, and HTTPS.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers