I’ve just uploaded a new C port of Crowther and Woods’ “Adventure” to GitHub. If you know how to use a C compiler, please try out the game and report any bugs to me.
This is a refactoring of Knuth’s CWEB version. What’s wrong with Knuth’s version? Well, Knuth’s version has 81 global variables and a 3000-line main() function. My new version has 42 global variables (still way too many) and its longest function is 600 lines (still way too long). This makes it small enough that David Given’s old “vbccz” compiler (from way back in 2001) can compile it into something that runs on the Z-machine!!
Note that I stopped short of saying it “works” on the Z-machine. It patently does not “work”, yet. Probably due to compiler bugs that I will just have to find and fix one at a time. But even the horribly glitchy current version is pretty amusing… to me. You can play it on Parchment here. The early obvious glitches can be worked around if you’re clever; it’s playable for quite a long ways. I only gave up when going west from the dirty passage crashed the game.
Colossal Cave: The Board Game swag is in it for anyone who finds bugs in “advent.c” or helps fix bugs in vbccz!