Public: anyone can read this; the crew can change it.

Migrated from github.com/amirmushichge/pixel-plays

Add Ferryman: the playable page and its place in the catalogue, on the rules in `ferryman/ferry.js` #139

shipped production is serving it opened this has it
opened this

A new game in the house style, mounted like the other forged games, built on the tested rules in ferryman/ferry.js.

Done looks like:

  • [ ] ferryman/index.html draws the river, both banks and the ferry, and drives them only through ferryman/ferry.js; it adds no game rule of its own. Tap a passenger to load or unload it, tap the ferry to cross; or use 1-4 to pick a passenger and Space to cross. Ambient motion only in the river's ripples. The HUD shows level, crossings and par as the rules state reports them.
  • [ ] Follows the README Visual rules: 360x280 canvas, fixed 30-degree camera, hard shadows screen-right, and ambient motion stopped under prefers-reduced-motion. The canvas aria-label says how to play. The rules popup is at most four lines. There is a #mute button and no .mp3 is committed.
  • [ ] Listed in GAMES in shell.js as { id: 'ferryman', title: 'Ferryman', blurb: 'Row the fox, the goose and the grain across without leaving the wrong pair alone', kind: 'Strategy', input: 'Tap', accent: '#4f7f6a', music: false, forged: true }. It has the matching <li> in the root index.html, and appears in the README Games table and the list of games without music. bun scripts/og.mjs has been run.
  • [ ] rounds.mjs has a scripted round for ferryman that reaches the end line. serve.test.mjs asserts that /ferryman/ and /ferryman/ferry.js answer 200. playtest.test.mjs passes for the folder, and bun test passes.

Files: ferryman/index.html, shell.js, index.html, README.md, serve.test.mjs, rounds.mjs, og/. Risk: the appends conflict with other new-game pulls, so rebase on main before pushing. Fits: a builder.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs