Create · The fast lane

A working game in minutes

Skip the blank page. The engine ships a default style — a rigged hero, a palette, juice and synth audio, all code — so your agent starts assembling, not sourcing.

1

Scaffold

One command creates a solver-ready project with the engine wired in.

npm create hayao@latest
2

Paste the prompt

Hand the prompt below to your coding agent. It reads the conventions and builds with the stock parts.

3

Play & prove

npm run dev to play it; npm run verify to machine-prove every level is winnable.

npm run verify

Hand it to your agent

Paste this into Claude Code, Cursor, or any coding agent — it does the rest.

Set up the Hayao game engine and build me a 2D platformer in the default (Regalia) style.

1. Scaffold a project:
   npm create hayao@latest my-game && cd my-game && npm install
2. Read AGENTS.md and docs/CONVENTIONS.md for the invariants.
3. Build a small platformer from the batteries in the box:
   - stepPlatformer + DEFAULT_PLATFORMER for movement
     (coyote time, jump buffering, wall-jump — already tuned)
   - DuotoneHero + REGALIA_SCHEMES for the character
     (a rigged hero with authored idle/run/jump/fall/wallSlide/death/spawn clips)
   - Particles, Shaker and FloatingText for feel; the audio bus for synth SFX
4. Keep the rules pure and prove every level winnable: npm run verify
5. Run it: npm run dev

First ask me for a theme — scheme gold, meadow, dusk, rose or bark — then start.

Using Claude Code?

Install the Hayao plugin

The workflow above, packaged and enforced: authoring skills, commands like /hayao:new-game and /hayao:inspect-api, and a determinism gate — a hook that runs the proof harness and blocks the agent from finishing until it passes. Verification stops being a habit and becomes a wall.

/plugin marketplace add hellojanpacan/hayao-js
/plugin install hayao@hayao

What's in the box

Everything here is code your agent can read and rewrite

This grid isn't illustrations — it's the engine running on this page. The hero is the shipped rig playing its authored clips; the sounds come off the real synth bus.

A rigged hero

Seven authored clips on a loop — idle, run, jump, fall, wall-slide, death, spawn. Pick a scheme; the rig recolours.

The juice kit

click the crate — burst, shake, popup, thud

Particle presets, trauma-based camera shake, floating text, squash — the recipes your agent wires to game events.

Synth audio

audio.blip() · rendered live, deterministic to render offline

No samples to source — every sound is parameters through the mixer, with separate music and SFX buses.

The Regalia palette

Five duotone schemes derived from one contrast-checked colour system. These swatches are read from the shipped constants.

A tuned platformer controller

Coyote time, jump buffering, dash, wall-jump, moving platforms — pure, deterministic, pre-tuned. These are the shipped defaults.

Proof tooling

npm run verify

A solver proves levels winnable; replay hashes prove refactors safe. The same checks your agent runs before showing you anything.

A default, not a wall

Outgrow the style whenever you like

Regalia gets you moving; it doesn't lock you in. Swap the scheme, redraw the hero, replace any asset — it's all code in your project.

Or start from scratch