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
Status Line
Play Zork (and more!) on your Pico-8
Status | Released |
Author | Christopher Drum |
Genre | Interactive Fiction |
Tags | infocom, inform, PICO-8, punyinform, z3, z-machine |
More posts
- Infocom Purists - DO NOT READ THIS!3 days ago
- v3.0 alpha reached17 days ago
- Big Effort, Small-ish Payoff25 days ago
- ask pig about pig -> 162,000 ops32 days ago
- Battening Down Hatches39 days ago
- Progress Update on v346 days ago
- v3 Development Started57 days ago
- Status Line v2.0 released! z4 support, multi-font display, custom Infocom classi...Mar 21, 2022
- Status Line v1.2 ReleasedFeb 12, 2022
Leave a comment
Log in with itch.io to leave a comment.