Skip to content

Game Developer Guide

This guide is your complete path from zero to shipped game. Whether you're building a 2D platformer, a 3D action game, or a puzzle in the browser, this section walks you through every system you'll touch-with practical examples at every step.

Who This Is For

  • New to Web Engine Dev, start at Core Game Loop and work through sequentially
  • Web developer new to game dev, ECS and game loops work differently from app UIs; this guide bridges that gap
  • Experienced game developer, jump to any section to understand how this engine's patterns map to what you know

The Learning Path

Follow this sequence for the most productive onboarding:

Foundation (Start Here)

StepTopicWhat You'll Learn
1Core Game LoopHow World, systems, the scheduler, and the main loop work together
2ScriptingAdding gameplay logic to entities with the scripting layer
3Entities & ComponentsECS patterns: players, enemies, bullets, inventory
4Scenes & PrefabsOrganizing your world into levels and reusable templates

Interaction & Feel

StepTopicWhat You'll Learn
5Input HandlingKeyboard, gamepad, touch, virtual buttons, action mapping
6Camera SystemsFollow cameras, zoom, screen shake, split-screen
7PhysicsRigidbodies, collisions, triggers, joints, character controllers
8AnimationSprite sheets, skeletal animation, blend trees, state machines

World Building

StepTopicWhat You'll Learn
92D DevelopmentTilemaps, sprite batching, 2D lighting, pixel art
103D DevelopmentglTF models, terrain, PBR materials, 3D lighting
11AudioBGM, SFX, spatial audio, adaptive music
12UI & HUDHealth bars, menus, dialogue, HUD layout
13Visual EffectsParticles, VFX graphs, post-processing, screen effects

Game Systems

StepTopicWhat You'll Learn
14AI & NPCsPathfinding, behavior trees, GOAP, steering behaviors
15Save & LoadPersisting game state, checkpoints, cloud saves
16Networking & MultiplayerClient-server, rollback netcode, matchmaking

Shipping

StepTopicWhat You'll Learn
17Performance OptimizationProfiling, bottleneck analysis, batching, pooling
18Deployment & PublishingWeb hosting, PWA, mobile (Capacitor), itch.io

Quick Reference

Minimal Game Bootstrap

typescript
import { World, CoreSchedule } from '@web-engine-dev/ecs';
import { createDevice } from '@web-engine-dev/renderer';

const world = new World();

// Register systems
world.addSystem(InputSystem);
world.addSystem(PlayerMovementSystem);
world.addSystem(PhysicsSystem);
world.addSystem(RenderSystem);

// Run
let last = performance.now();
function loop() {
  const now = performance.now();
  const dt = (now - last) / 1000;
  last = now;
  world.runSchedule(CoreSchedule.Update, dt);
  requestAnimationFrame(loop);
}
requestAnimationFrame(loop);

The Golden Rules

  1. world.get() returns a copy, always world.insert() to persist changes
  2. Systems are pure functions over components, no shared mutable state
  3. Entities are IDs, they have no behavior, only data
  4. Use commands for deferred mutations, never mutate the world mid-iteration
  5. Resources are singletons, use them for global state (input state, game settings)

Tutorials

If you prefer to learn by building, jump straight to the Tutorials section where you'll build complete games from scratch.

Proprietary software. All rights reserved.