ignifx
GitHubnpm · soon

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…

1Create a project

ignifx is not on npm yet, so the first step is the repository:

shell
git clone https://github.com/astrum-forge/ignifx.gitcd ignifxpnpm installpnpm build

pnpm build compiles every package once; the templates import them from the workspace.

2Pick a template

  • 2D top-down

    A tilemap with collision, Y-sorted props, a dead-zoned camera and shrines to light.

    2d-topdown

  • 2D side-scroller

    Parallax bands, slopes and one-way platforms, coins, and a pixel-perfect camera.

    2d-sidescroller

  • 3D third-person

    A character on a capsule, an orbit camera that avoids walls, an animated rig, a companion.

    3d-third-person

  • 3D 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

shell
pnpm --filter ignifx-template-3d-third-person dev

Open 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

pnpm --filter ignifx-template-3d-third-person build writes a static dist/.

Host it 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.

Before the first release, run the desktop variant of a template from the workspace: pnpm --filter ignifx-template-3d-first-person-desktop dev.

What next