Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions game/.nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
22
29 changes: 29 additions & 0 deletions game/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Game

Use **Node 22** (`nvm use` reads `.nvmrc`). From this folder:

```bash
npm ci
npm run dev
npm run typecheck
npm test
npm run build
npm run preview
```

Open the local URL printed by Vite. The empty 1280×720 stage starts through
Boot → Preload → Stage, with UI running over Stage. The canvas uses whole-number
display scaling whenever the window can hold the native view; smaller windows
fit the entire view. Production output is `dist/`.

Bootstrap scenes are in `src/core/scaffold.ts` so they do not occupy lane A's
`src/scenes/` or `src/ui/`. Integration can replace them with the story scenes.
Subscribe to `gameEvents` from `src/core/events.ts`; keep the returned unsubscribe
function and call it on scene shutdown.

`public/assets/placeholder/` contains plain coloured rectangles, loaded as Phaser
JSON-hash atlases with `idle-00` frames and feet pivots `(0.5, 1)`, plus matching
`.anims.json` files. Hero: 28×76 body in an 80 px frame; Dexter: 20 px;
rover: 25 px; crab: 40 px; drone: 45 px; Jenny: 200×70.
They are development stand-ins for the [production contracts](../docs/13-PRODUCTION-PIPELINE.md),
and are never copied to `art/`. No gameplay, HUD, or collision is included yet.
12 changes: 12 additions & 0 deletions game/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>DEGGSTER.EXE</title>
</head>
<body>
<div id="game" aria-label="DEGGSTER.EXE game"></div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
Loading
Loading