# Make a 256x256 pixel game with GameLib

Output one JavaScript file that defines `const game = { init, step, draw }`. The global `GameLib` is provided.

## Rules

- Use `view: 'front'` (top-down) or `view: 'side'` (side-scroller). `iso` and `depth` are in development; do not use them.
- `init` returns JSON-compatible state. `step(state, input, world, dt)` returns the next state without mutating; it runs at 60Hz, `dt = 1/60`. `draw(state, g, world)` only renders.
- Use `world.time`, `world.tick` and `GameLib.random(seed, index)`. Never use wall-clock time or `Math.random`.
- Write rules, levels, scoring, enemies and win/fail conditions yourself. GameLib has primitives only, no game templates.
- Colors: `ink / paper / mist / stone / shade` only. Images: built-in assets only. Text: 8x8 font, Latin and kana; other glyphs render `?`.
- No persistence or network. `world.caps.save/shared/room/ai` are all `false`.
- Do not call `GameLib.run` or include the engine. Max 3,000 bytes after gzip, 65,536 bytes of source.

## Docs

- https://play.inta.site/docs/api.md — every function, option and default
- https://play.inta.site/docs/start.md — run in HTML or as a module
- https://play.inta.site/docs/patterns.md — minimal game structure
- https://play.inta.site/docs/game.md — `init / step / draw` contract, time, simulation
- https://play.inta.site/docs/worlds.md — front and side views, grid coordinates, placement
- https://play.inta.site/docs/mechanics.md — recipes: maps, doors, platformer, particles, HUD
- https://play.inta.site/docs/graphics.md — screen, hero, sprites, palette, text
- https://play.inta.site/docs/assets.md — asset names and size rules
- https://play.inta.site/docs/input.md — keys and on-screen controls
- https://play.inta.site/docs/sharing.md — share URLs and limits
- https://play.inta.site/assets.json — every asset with description, size, anchor and PNG URL
- https://play.inta.site/materials/<name>.png — PNG preview of any asset
- https://play.inta.site/engine.d.ts — complete types

## Distribution

- https://play.inta.site/claude.js — global `GameLib`
- https://play.inta.site/engine.mjs — ES module
