Skip to content

Releases: ScottMorris/lieutenant-fizz-dos

Lieutenant Fizz for DOS v0.3.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Oct 22:45
v0.3.1
8d37fc7

Added

  • Each release now includes -floppy-freedos.img, a bootable FreeDOS 1.4 version of the game disk. On a machine or emulator without DOS, it starts at an A:\> prompt; type FIZZ to play.
  • -floppy.img is unchanged for a machine that already has DOS.
  • The FreeDOS image keeps at least 64 KB free for saves and ships without a save file. The build fails if that reserve is not available.
  • The game saves to the disk it runs from (AUTO.SAV and the other saves on A:\). A write-protected floppy may fail or complain when saving; this has not been tried on real hardware.
  • FREEDOS.TXT on the image carries FreeDOS's GPL licence and source information.

Changed

  • CHANGES.TXT on the disk is a running log: it holds every version's changes, newest first, so a player can see what changed from one version to the next. It held only the release's own section.

What's Changed

Enhancements

Documentation

Full Changelog: v0.3.0...v0.3.1

Lieutenant Fizz for DOS v0.3.0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Oct 14:11
v0.3.0
852bb5b

The game opens on a read-only system check, as a picture on a VGA and as an 80 × 25 text screen on a machine without one. Nothing has run on real hardware yet; see docs/STATUS.md.

Added

  • The start-up system check as an 80 × 25 text screen, the way Keen drew its own: brown, yellow and white over a field of dark shade, with double-line boxes and shadows. A machine without a VGA (EGA, CGA, Hercules) shows it in place of plain lines of text, and FIZZ TEXT shows it on any machine; on a VGA the picture stays the default, and Enter on the text screen goes on to the game as on the picture. It says "Speed test: running" while the speed test runs.

Changed

  • The start-up system check is read-only and shows what the game needs. Video lists the VGA adapter, the 320 × 200 × 256 mode (or, without a VGA, the best mode the machine has: EGA, CGA or monochrome text) and the 14 lighting shades; Input the keyboard, mouse and joystick; Sound the PC speaker, AdLib and Sound Blaster; Machine the processor, the x87 and free memory. Without a VGA, an x87 or 1 MB of free memory the speed test is not run, the footer names what is missing and only Esc leaves; from 1 MB to just under 10 MB the memory row is a yellow warning and the game still starts, paging to disk. The A, M, P and O sound keys are gone; the sound is set on the Options screen, and the sound choice kept in FIZZ.CFG is no longer read.
  • The game no longer sets VGA mode 13h on a machine without a VGA: the system check is shown on the text screen instead.
  • The title plate no longer carries the "work in progress" legend.
  • The Controls screen also lists the play keys the readme lists: R, N, M, E, PgUp, PgDn and Backspace.
  • The Options screen offers only the sound settings that can apply: Music and "Effects play on" only with an AdLib (the music plays on it alone), Effects only when sound is running. The M and E keys follow the same rules and their changes are kept in FIZZ.CFG.
  • The release build checks that the floppy image keeps at least 8,192 bytes free for what the game writes beside itself: the six saves, FIZZ.CFG and the temporary file a save goes through take 4,096 bytes in 512-byte clusters.

Fixed

  • The N key toggles night from what it is now: after Night was changed on the Options screen, the next N press could leave it as it was. N still changes night for the run only; the Options row keeps it.
  • Saving the options on a run without an AdLib, or with the sound off, no longer overwrites the music and effects-device choices made on a run with one.

What's Changed

Enhancements

  • Make the start-up screen a read-only check of what the game needs by @ScottMorris in #36
  • Add the start-up check as a text screen, for machines without a VGA and FIZZ TEXT by @ScottMorris in #37
  • Keep room on the floppy for saves and options by @ScottMorris in #38

Documentation

Full Changelog: v0.2.1...v0.3.0

Lieutenant Fizz for DOS v0.2.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 13:34
v0.2.1
c28c254

The game is the same as 0.2.0, 24% smaller. Nothing has run on real hardware yet; see docs/STATUS.md.

Added

  • A debug zip with each release (-debug.zip), holding the unstripped FIZZ.EXE for reading a crash's traceback.

Changed

  • The game in a release and in the browser bundle is stripped of its symbols and debugging sections: FIZZ.EXE is 853,504 bytes, 24% smaller than 1,123,051, and the floppy has 396,288 bytes free instead of 126,464. The program is the same: its code and data bytes are unchanged, and in DOSBox it draws the same frames and drives the sound the same way. The checks and tools/dosrun.sh still run the unstripped build.
  • A release updates the page: it serves the release's browser bundle and shows the release's version in its footer, and the game bundles are no longer committed.
  • The floppy image's creation time is the time its files carry. It was fixed at a constant in 2015 by mkfs.fat --invariant, while the files were stamped with the build's time. The files, the zips, the image and the browser bundle now all carry the one time (the last commit's, or SOURCE_DATE_EPOCH, in UTC), so a build gives the same files in any time zone.

What's Changed

Enhancements

  • Update the page from each release and show its version by @ScottMorris in #31
  • Strip the game in releases and keep an unstripped debug copy by @ScottMorris in #33

Fixes

  • Rebuild the page's game bundles with the 0.2.0 game by @ScottMorris in #30
  • Stamp the floppy image's creation time with the time of its files by @ScottMorris in #32
  • Stamp the image label's time whatever mkfs.fat does by @ScottMorris in #35

Documentation

Full Changelog: v0.2.0...v0.2.1

Lieutenant Fizz for DOS v0.2.0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Oct 06:12
v0.2.0
71bf66f

Everything the main game has in Episode 1 is in: the opening titles, the opening story, the ending and credits, the controls screen, quick-save and Ben on the title. Nothing has run on real hardware yet, and the sound has been listened to only in DOSBox and the browser; see docs/STATUS.md.

Added

  • Opening titles: Liminal HQ presents, the Lieutenant Fizz wordmark and a chase with Ben stunning the Zargs, over a score of its own, 12.8 s in mode 13h. They play when the game starts and any key skips them. When the title menu has sat untouched for two loops of its song (about two minutes) they play again for two loops, then the menu returns. Every frame is checked byte for byte against a port of the design's drawing routine.
  • The opening story from New Game: eight letterboxed scenes (the backyard, the lab, the liftoff, the flight and the landing) with the typed text and each scene's music, then the map with a word about where to start. Enter moves on and Esc skips it.
  • The ending: four letterboxed panels after the last boss, the credits roll (Enter speeds it up, Esc skips) with the ending's music, and an end card that returns to the title.
  • Ben on the title wordmark: he bobs, leans, hops up and pogoes across it, turns to the menu when the cursor moves and waves on a pick.
  • A Controls screen on the title and the pause menu, and a key hint under each menu.
  • Quick-save and quick-load on F5 and F9, in a slot of their own (QUICK.SAV) so the four slots picked from the pause menu are never overwritten. The main game quick-saves into the newest manual slot; the proposal to change that is liminal-hq/lieutenant-fizz#220.
  • fx, a small module of screen effects (fades, a flash, easings and tweens in fixed point, a cue timeline) that the titles use and the shell's fades now run on.
  • A music clock in the sound driver, an any-key input bit, and FIZZ.EXE soundtestN to play any extra song headless.
  • A release's notes now list the pull requests merged since the last release, grouped by label.

Changed

  • A save is written to a temporary file and then renamed, so a failed write keeps the old save.

Fixed

  • The disk's README.TXT and README.RTF no longer list the opening, the ending, the credits and the controls screen as missing.

What's Changed

Enhancements

Documentation

CI and Build

  • Move the screen fades into a shared effects module by @ScottMorris in #23

Full Changelog: v0.1.0...v0.2.0

Lieutenant Fizz for DOS v0.1.0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 23:09
v0.1.0
52941a3

The first release. Episode 1 plays from the title through the overworld and every level, with boss dialogue, saves and options. Still missing: the opening cinematic, the ending and credits, and the controls screen. Nothing has run on real hardware yet; see docs/STATUS.md.

Added

  • The game as a 32-bit DOS program: the main game's simulation (checked against the web build's 800 state hashes), a C layer for VGA mode 13h, the keyboard and AdLib or PC-speaker sound, and a Rust runtime for the drawing, menus, saves and HUD.
  • A start-up system check, title, pause menu, options, load and save lists, and result cards.
  • A browser page on GitHub Pages that runs the game through js-dos, with sound, fullscreen and Restart buttons.
  • Download saves and Upload saves buttons under the emulator, so a player can keep their saves across a Restart.
  • A sound test tone, TONETEST, for checking AdLib and the PC speaker.
  • Release files: a 1.44 MB floppy image, the disk's contents as a zip, a DOSBox demo zip and the browser bundle.
  • Link preview tags and a share image for the page.
  • Guides: Rust on DOS, the DOS architecture with an animated diagram, and a performance write-up.
  • Measuring tools in m5/bench: instruction counts, frame checksums, callgrind profiling and an estimate of 486 cycles.

Changed

  • The renderer is faster: baked tiles, sprite placement in integers, lighting in fixed point, and a draw list that is kept while the scene is still. Instructions a frame fell by 23% to 59% in the benchmark scenes; the pictures are the same, apart from lighting that can differ by one level on at most 0.13% of pixels.
  • The browser page's audio runs at its real rate (the mixer's prebuffer is 0) and uses the fast OPL emulator; the lighter compat one played the music wrongly.
  • The page's workflows use action versions that run on Node 24.

Fixed

  • Quitting says goodbye instead of printing run statistics.