Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
Loading the full README. The saved excerpt is shown below.
A gentle dentist game (the game itself is in French) for a 6–7 year old who is
starting to read. You play Dr Smile: children arrive with dirty teeth, the view
zooms onto the open mouth, and you scrub the spots off with a finger until the smile
shines — then the child leaves happy. No stress, no failure, almost no text. For young
kids (6–7).Read the full README ↗A gentle dentist game (the game itself is in French) for a 6–7 year old who is starting to read. You play Dr Smile: children arrive with dirty teeth, the view zooms onto the open mouth, and you scrub the spots off with a finger until the smile shines — then the child leaves happy. No stress, no failure, almost no text. For young kids (6–7).
Dr Smile is built on a generic, reusable 2D game engine (Phaser 3, 100% static, no build). The whole game lives in
game.config.js+ assets; the engine code is never game-specific. The rest of this README is that engine's documentation — how to build your own game the same way.
A template repository for building small top-down 2D games. The engine is generic:
you don't code a game, you describe it in one config file (game.config.js) + assets
— or just run the /new-game skill and answer a few questions. Each new game starts
from something that already runs.
This repo is a GitHub template — each game lives in its own repository, so the engine stays clean and you can make as many games as you like.
my-space-game). You get
a fresh, independent repo containing the whole engine + a game that already runs.main branch (see the warning below)./new-game. It interviews you — theme, target age/audience, art style,
language, core loop — then writes your game.config.js, creates/sources the assets,
themes the look, tests it, and can deploy. It never edits engine.js.https://<you>.github.io/<repo>/, and every later
push to main redeploys automatically.That's it — you now have your own game. Keep shaping it by iterating.
⚠️ Run the Claude Code session on
main. When you open your game repo in Claude Code (web), make sure it develops onmain— a session can otherwise spin up a separate branch. If the game is pushed to another branch, GitHub Pages won't publish it (Pages deploys the default branch) and the first deploy fails. Working onmainkeeps every push a one-click deploy.
Start small. A new game should be tiny: one place, one creature, 1–2 needs, two actions, maybe a small goal. You grow it by iterating — that's the whole workflow, so don't pile on features up front.
(Prefer a hands-on start? You can skip /new-game and edit game.config.js yourself —
the full field-by-field schema is in ENGINE.md.)
Most changes are a small config edit, each with a dedicated skill — just ask in plain language (e.g. “add a pink critter”, “let me ride them”, “add a shop”):
| Want to add… | Where it lives | Skill |
|---|---|---|
| A new colour/skin for the creature | creature.variants (a tint, or a sheet drawn in tools/art/) | add-creature-variant |
| Rename / restyle creatures | creature.customize | — |
| A shop & coins | economy + shop (and meta.showCoins) | — |
| Buyable, placeable decorations | GAME.decor | add-decor-item |
| Riding + obstacles to hop | creature.ride (+ environment.arena) | add-collision |
| Babies / growing up | creature.breeding, creature.aging | — |
| A scattered forest / trail loop | GAME.environment | place-scatter |
| More goals / levels | GAME.objectives.levels | — |
| Another playable character | GAME.characters | add-character |
| Brand-new art | tools/art/<game>.cjs → assets/ (SVG → PNG) | asset-add (or asset-search for external art) |
| New UI icons | GAME.icons (_shared/icon-kit.cjs) | — |
| Theme-specific effects (e.g. stars when playing) | action.anim particles | — |
Nothing here ships in the starter on purpose — you switch features on as you need them. For non-technical feedback (the players, even children), the feedback-session skill lets them drive changes in plain words while the technical work happens silently.
Game-authoring helpers in .claude/skills/ — invoke with /<name> or just describe what
you want.
| Skill | What it does |
|---|---|
| new-game | Scaffold a brand-new game (interactive; starts minimal). |
| feedback-session | Non-technical “playtester” mode — changes from plain-language feedback. |
| add-character · add-creature-variant · add-decor-item · add-collision · place-scatter | Add the matching piece of content. |
| asset-search · asset-add | Find (with content + license checks) and integrate art. |
| state-migration | Add a saved field without breaking existing saves. |
| test-debug · map-verify | Prove a change works / check map placement (headless, with proof). |
| visual-review | Art + UI QA at full size (anatomy, clipping, icons, short/tall screens) — before every publish. |
| ios-pwa-check | Keep the iPhone/PWA layout clean. |
| release-deploy | Cache-bust, push to main, verify the Pages deploy. |
You rarely need this — Claude Code tests for you — but to run the game yourself:
bash .claude/skills/_shared/serve.sh 8099 # open http://localhost:8099/
Phaser is vendored (vendor/phaser.min.js) — no CDN, works offline. A headless
Playwright harness (playtest.cjs) drives the real game with screenshots and assertions;
the test-debug / map-verify skills use it.
This is the beginning of the README. Read the rest at the original. Read the full README ↗