A TypeScript 2D game engine. Built around composable components, prefab-driven world objects, and the rendering pipeline you already know.
See the demosDemos
-
Top-Down RPG
A top-down zombie-survival showcase — mouse-aimed WASD shooting, physics-driven collisions, houses built as parent/child objects with nested furniture, and timer-based zombie spawners. The most complete end-to-end exercise of the engine: sprites, physics, collision events, and prefabs together.
View source -
Dungeon Crawler
A dungeon crawler built on arcade2d, exercising texture and sprite rendering with a full tileset and animated characters.
View source -
Physics Playground
A rigid-body sandbox built on arcade2d, exercising the Rapier-backed physics components — boxes and balls fall under gravity, collide, and stack inside a bin.
View source
Concepts
The engine surface, by area. Each links into the API reference.
- Core 19 Game lifecycle, components, and the error model.
- World 28 Worlds, objects, prefabs, and the per-frame update loop.
- Graphics 23 Rendering — the scene graph, shapes, sprites, textures, and frame animation.
- Assets 16 Loading images into textures, grouped as typed, preloadable bundles.
- Audio 13 Sound effects and music over Web Audio, with master and per-category volume buses.
- Physics 21 Rigid-body simulation — gravity, collisions, and colliders — powered by Rapier.
- Geometry 25 Points, shapes, and spatial math.
- Input 6 Keyboard and mouse state, sampled per tick.
- Utilities 4 Helpers like seeded RNG and id generation.