v3.0 alpha test progress report


Testing can be a tedious process, for sure. I need to play games, start to finish, that represent "genetic differences" in a variety of games.

Genetic Differences

  • Which authoring system was used?
  • What is the authorial intent?
    • Standard-issue adventure game
    • Accurate historical recreation of a lost game (usually tries to recreate known bugs and quirks in the original)
    • Port a game from another language/system
    • Push boundaries of what the z-machine can do
    • Experimental / Art
  • Which set of z-machine features are used?
    • z3
    • z4
    • z5
    • z8

You can imagine the combinatorial matrix of z-machine games that are needed to satisfy every combination of authorial possibilities. With true due-diligence we should be able to verify everything in that list as behaving accurately.

The Testing Process

I do my best to find games that provide as much coverage in the genetic differences as possible. That said, I certainly do place particular emphasis on the Infocom canon and games which have proven noteworthy/famous in the modern age.

I grab a variety of games, especially in a variety of z-formats, and I test them "simultaenously." Using walkthroughs I start up a game, play to some notable point in the walkthrough, then save the game and quit. Then, drag in another game in the test list, play to some notable point, save, quit. Drag in another game, do the same. Drag in another game, do the same. I typically have 4 or 5 games in progress at any one time.

As I play through the games, I sometimes have the same game running in another interpreter (WinFrotz, Lectrote, Yazmin) to verify behavior in Status Line. Sometimes I check behavior against Ozmoo on a C64 or C128. For an Infocom game, I typically go straight to the originals in an emulator and see how they behaved. 

For example, in playing Infocom's Sherlock, I noticed in the beginning some strange formatting when I performed "read paper" in Holmes's study. In cases like that, I need to see, "Is it me or is it the game?" (it was the game)

Likewise, I noticed spelling mistakes ("the" read as "he") in Lost Pig and needed to check, "Is Status Line skipping data bytes, or is the spelling actually wrong?" (it was the game)

After I've satisfied myself on who is to blame for the noted issue, I cycle through the games again. Reload the first game, restore the save point, and continue from there. After making a chunk of progress, save the game again, quit, load the next game, and just keep going until all games are finished.

This process forces me to play lots of games, in a style similar to how I'd play for fun, robustly checks the critical save/restore function, exposes me rapidly to a wide variety of z-machine state possibilities, and attenuates me to "normal" interpreter flow such that anomalies stick out rather prominently. 

Yes, I've found bugs

  • Sherlock would reload a game and tell me "restore failed" (no other game complained though). There was a bug in the save system with how the program counter was restored.
  • Border Zone wouldn't let me tell a password to a spy that was wrapped in quotation marks. There was a bug in how open quotes were processed vs. close quotes.
  • Spellbreaker wouldn't let me write words properly on the white cube. Again, quotation mark handling was the issue and this showed an off-by-one error in how words in quotes were indicated in memory. (curiously, Border Zone didn't complain about this issue)
  • Freefall revealed that my timed input processing order was reversed, and so keyboard input would be ignored in tight loops.
  • The Job exposed a flaw in my thinking about how split-screen drawing is handled. My "clever" solution for coalescing print calls into a single call in window 1 needed a clever "trick" to provide the current cursor position to the game, even if I haven't displayed anything.

And so on.

Status Line Classics v2

The following games are slated for Status Line Classics updates. (modified source code to look and play great in Status Line)

  • Infocom Solid Gold w/Invisiclues games (had to do the same for Nord and Bert)
  • Border Zone (it's basically OK! but it can be better)
  • Sherlock (just a couple of small things where a "sign" won't display on a small screen)
  • Curses (a lot of text formatting needed)
  • Beyond Zork (this one is going to be hard)

robotfindskitten is adorable

Obligatory screenshot, just because it looks so, so cute in Status Line on a Pico-8.


Get Status Line

Leave a comment

Log in with itch.io to leave a comment.