Getting started
Five minutes from an empty folder to a running game. You need Node 24, a package manager, and a browser with WebGPU.
WebGPU: checking…See browser support
1Create a project
npx @ignifx/cli@latest my-gameThe default template is 2d-topdown. Pass one to pick another:
npx @ignifx/cli@latest my-game --template 3d-third-person2Pick a template
2D top-down
A tilemap with collision, Y-sorted props, a dead-zoned camera and shrines to light.
2d-topdown2D side-scroller
Parallax bands, slopes and one-way platforms, coins, and a pixel-perfect camera.
2d-sidescroller3D third-person
A character on a capsule, an orbit camera that avoids walls, an animated rig, a companion.
3d-third-person3D first-person
Walk, sprint, crouch and jump with pointer lock, a view model, and things to push.
3d-first-person
Every template is a small finished game: a title screen, a pause menu, settings for volume, render scale, shadows and post-processing, interactive rebinding, saves with checkpoint autosave, and English and French strings. Delete the game and keep the front end.
3Run it
cd my-gamenpm installnpm run devOpen http://localhost:5173. Press backtick for the devtools overlay. Press Escape for the pause menu.
4Change something
Open src/scripts/ and find a Script. Change a speed, save, and watch the game update without a reload. Every field you declare with Script.define shows up in the devtools inspector.
5Build
npm run build writes a static dist/ you can host anywhere: Cloudflare Pages, Netlify, GitHub Pages, an S3 bucket, itch.io.
Desktop
Add --desktop when you create the project and you get an Electron variant with dev:desktop, build:desktop and dist:desktop. The window is created with WebGPU enabled, context isolation on, the renderer sandboxed, and a typed bridge for the few things a game needs from the host.
npx @ignifx/cli@latest my-game --template 3d-first-person --desktopWhat next
- Guides — one task each.
- Examples — see a feature running and read its source.
- API reference — every export.
- Something wrong? Open an issue.
