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.