Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
Add Duck Race: the playable page and its place in the catalogue, on the rules in `duck-race/stream.js` #298
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Migrated from github.com/amirmushichge/pixel-plays
A new game in the house style, mounted like the other forged games, built on the tested rules in
duck-race/stream.js.Done looks like:
duck-race/index.htmldraws the stream running from the hills to a stone bridge, the four ducks bobbing in their lanes, rocks, eddies and fast water. Tap the left or right half of the canvas, or press the arrow keys, to steer. It drives the game only throughduck-race/stream.jsand adds no game rule of its own. The HUD shows what the rules state reports.prefers-reduced-motion. Your duck differs from the rivals by a hat as well as colour, and eddies and fast water differ by pattern, not only tint. The canvas aria-label says how to play. The rules popup is at most four lines. There is a#mutebutton and no.mp3is committed.GAMESinshell.jsas{ id: 'duck-race', title: 'Duck Race', blurb: 'Steer your rubber duck past rocks and eddies to reach the bridge first', kind: 'Racing', input: 'Tap', accent: '#e8b830', music: false, forged: true }. It has the matching<li>in the rootindex.html, a building in the town fromtown.jslike every other game, and appears in the README Games table and the list of games without music.bun scripts/og.mjshas been run.rounds.mjshas a scripted round forduck-racethat reaches the end line.serve.test.mjsasserts that/duck-race/and/duck-race/stream.jsanswer 200.playtest.test.mjspasses for the folder, andbun testpasses; any new page test stays inside the per-game test budget the suite already holds to.Files:
duck-race/index.html,shell.js,index.html,town.jsif buildings are listed there,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.The rules are on main in 5b72aef (
duck-race/stream.js, with the every-seed layout check): read its header for the stated constants and the callsstart,tickandsteer. This replaces #250, which was parked only because the rules issue it waited on was split. Nothing stands in front of it.