@babylonjsmarket/arcade is a curated bundle of 14 game components plus a lazy JSON scene loader, all built on @babylonjsmarket/ecs.
Install
Pick a renderer:
Optional, for the debug viz panels:
The fast path: ArcadeGame
That's a fully wired game. The next section (Scene JSON) covers what level1.json should look like. The section after (ArcadeGame) is a code walkthrough of the wrapper class itself — what it does, what it doesn't.
Or wire systems by hand
If you don't need the JSON scene loader and you'd rather instantiate Systems directly:
You'd then create entities and add components in code. The JSON path is just sugar over this.
Per-component imports
If you want maximum tree-shaking and don't need the lazy loader:
Each component has its own dist file, so bundlers get the cleanest possible split.
What ships in v0.1
| Component | What it does |
|---|---|
| MeshPrimitive | Spawn meshes from primitive shapes |
| Mesh | Load .glb/.gltf assets |
| Movement | Velocity-driven movement |
| KeyboardMover | WASD + arrow keys |
| PlayerInput | Higher-level input mapping |
| ArcCamera | Orbiting camera around a target |
| CameraFollow | Trailing camera with lag |
| DirectionalLight | Sun-style lighting |
| HemisphericLight | Ambient sky lighting |
| Shadow | Shadow casting |
| Physics | Rigid bodies (Havok via Babylon) |
| Score | Numeric scores per player |
| Scoreboard | DOM overlay |
| Animation | Skeletal animation playback |
The rest of these docs walk through each one — what data they carry, what events they emit and listen to, what to put in the JSON.
Where to next
- Scene JSON Format — the file the loader reads
- ArcadeGame walkthrough — what the wrapper class actually does