The remaster: a bridge, two bands, and a real modem
Adds the cel-shaded skin, the score and the sound, and puts the skin machinery back so the toggle under the frame has somewhere to go. The remaster is a bridge rather than a paper column: the ship down the left as meters and pips, a cel-shaded sensor grid in the middle, the log down the right. Both panels are devices -- break the short range sensors and the sector grid goes dark, break the computer and the chart does, and the chart draws what has been scanned rather than the galaxy as it is. Scans are drawn instead of printed, so the log gets the sentences and stops being eight rows of ASCII squeezed into a strip. One theme, two arrangements, so switching skin re-scores the piece rather than changing the record: brass, strings and timpani for the remaster, the same eight bars as a three-channel chiptune for 1971. Written in the idiom rather than quoted from it, for the same reason the game is not called what you expect -- NOTICE.md now argues both. Effects are the ship's: warp, beams, torpedo, hit, explode, klaxon, dock, and the print head on paper only. The boot dials in for real: Bell 103 at the real frequencies, which is what a 110-baud acoustic coupler sounded like and not the modem noise everybody remembers. The synth engine is the siblings', unforked. Tests cover the music the only way a test can: a mistyped note name does not throw, it silently removes a voice, so every step of every track is checked against the parser.
This commit is contained in:
@@ -7,9 +7,20 @@ digits at a time.
|
||||
It is called *Long Range Scan* rather than the name you are thinking of, and
|
||||
[NOTICE.md](NOTICE.md) explains why at length. The short version: the rules
|
||||
are free to rebuild and the trademarks are not, so the mechanics are exact
|
||||
and the vocabulary is ours.
|
||||
and the vocabulary is ours. The same goes for the music -- it is the idiom,
|
||||
written from scratch, not the theme.
|
||||
|
||||
React + TypeScript + Vite, and not one binary asset.
|
||||
It ships in two skins over one game. **1971** is the machine as it was: a
|
||||
printing terminal, black ink on fanfold paper, the print head hammering out
|
||||
one character at a time and nothing on screen you have not read. **Remaster**
|
||||
is the same patrol with the sensors drawn -- a bridge console with the ship
|
||||
down one side, a cel-shaded grid in the middle and the log down the other.
|
||||
The rules never differ between them, and neither does a single word the
|
||||
machine says. Switch any time with the button under the frame.
|
||||
|
||||
React + TypeScript + Vite, and not one binary asset: every mark on the
|
||||
sensors is SVG generated from the game state, and every note is generated by
|
||||
a small synth on the Web Audio API.
|
||||
|
||||
## Playing
|
||||
|
||||
@@ -83,9 +94,11 @@ off the bottom by a better one.
|
||||
| `src/game/galaxy.ts` | the compass, the scatter, laying out a quadrant |
|
||||
| `src/game/engine.ts` | the rules: warp, beams, torpedoes, being shot at |
|
||||
| `src/game/reducer.ts` | phases, and the only place a turn changes hands |
|
||||
| `src/components/` | the paper, the console, and the screens either side |
|
||||
| `src/audio/` | the synth, and the two bands written for it |
|
||||
| `src/components/` | the paper, the bridge, the console, and the screens either side |
|
||||
|
||||
`npm test` proves the parts that are arithmetic rather than judgement: that
|
||||
the compass closes, that a scattered galaxy is always worth flying, that a
|
||||
warp stops at the rim and short of anything in the way, and that every way a
|
||||
patrol can end, ends it.
|
||||
warp stops at the rim and short of anything in the way, that every way a
|
||||
patrol can end, ends it, and that every note in every tune is one the synth
|
||||
can find.
|
||||
|
||||
Reference in New Issue
Block a user