Recently, I discovered the historicalsource repo on GitHub with all the Infocom source code.
As of this writing, I've got most of the first part of the game done:
You can do (almost?) everything on Earth as Arthur. I stopped coding when you get to the darkness in the Vogon Hold immediately after Earth has been destroyed.
I also included the Invisiclues for Arthur's adventure on Earth (although I haven't added the HAVE YOU TRIED bits involving Arthur's adventure on Earth).
NSFW | There is profanity in that source code. Most of it is copied directly from the original source, but some of it is probably in notes I added myself (mostly TODO or "WTF is this?!?!" stuff, if I failed to delete all of that). I don't think "bad" words can really negatively effect anyone, even children, but some people appreciate such warnings; so, you've been warned.
I have code that should end the game with a special message if a mobile browser is detected. This is because I use JS to capture key presses at the very beginning of the game ("Would you like color?") and to navigate the Invisiclues menu, and the keyboard is not accessible on mobile during these parts of the game. I considered making it all work differently in the port, but decided to make everything behave the way the original game behaves on DOS as best I could. Also. . .
It doesn't seem right to publish this as a playable game, even if (or perhaps "especially since") it is only the first act of the game. It is not my intellectual property. I only ported it to learn about ZIL while learning more about Quest.
I'm sharing the source code for educational purposes. I believe that's okay, both morally and legally. If I were to learn that I am mistaken, I would immediately take it offline.
There is definitely some silly code in there. I was aiming more for "make it work" than for efficiency.
This has not been beta tested or anything; so expect to run into bugs.
The way I handle "verbs" is quite unorthodox, but it was the best way I could find to (A) make it work and (B) make the porting process go a little easier.
All comments and suggestions are welcome.
Why are you porting it to Quest 5?
Mainly for the learning experience. I have to know what the ZIL code is doing and how to make it work in Quest to be successful.
Also, this is my all-time favorite game.
Also also, it's nice to come across a bit of Douglas Adams dialogue during such a long, tedious process. Just when I'm about to panic, announcing (to an empty room) that I have decided that I shall go made and start talking to trees, something funny Douglas wrote pops up in the code, and I don't panic.
something funny Douglas wrote pops up in the code, and I don't panic.
That sounds nice.