Back in November I said that over 2022 I would work on stitching together as much of the Stu Galley “Milliways” demo as possible. This isn’t “done” by any means but it’s reached a natural “good time to pause and share” so that’s what i’m doing here.
The original 1988 demo game file has been available for years now but there wasn’t too much to it. Whilst I can’t promise that this enhanced version will offer a lot more, it definitely offers a bit more than what was originally there. Once I got into the ZIL code it turned out that there were a number of rooms coded but just not linked so there was no way to access them; all I have done essentially is link them.
Also partly coded was the restaurant itself (Milliways); referred to as the Pub (likely just a partial copy and paste from the first game). You can access this room by typing “pub” and pressing Enter, you will jump to the Pub but it is a one-way trip and you will need to restart to get back to the ship.
I want to stress that this remains 80% Stu Galleys original code, it’s just been connected up and i’ve added a more fleshed out ship as originally intended (based on available plot descriptions).
Anyways, enough talking/typing, here is the game file - have fun exploring!
Very nice. However, I think that maybe you could include something to do with an alternative to the IID, maybe(someone said this, maybe even you) use MEANWHILE, ON… to teleport to different people who are in different places, for example:
Ford in a bar on a dangerous planet, fighting the bartender ( he has to give the bartender his HHGTTG writer’s card
Trillian on one of the planets she went to after she left Zaphod on the HOG.
I do think that the Marvin puzzle may be a bit too silly, maybe not work. However, something like it may work, and I think you could do it so if Marvin becomes slightly happier than he normally is (or you have to hotwire his motherboard), he becomes hyper-energetic and sends you running into the whale crater(“half-mad, half-mad,” the game assures you) and you lose.
I like the idea, however, but I already designed the THIRD game in the series(don’t ask me why), which begins in the Starship Bistromath, so maybe it could end like that. (I have a good idea regarding Frogstar World B, and Prehistoric Earth…)
Unfortunately, my coding skills are limited to Quest and Python. So, I could write an outline version of mine in Quest, if you want…
I think your part with the planets is good, but too many puzzles is not what players would want. 1 puzzle is good per part (or up to 3 in a large part), but too many becomes boring. Maybe you are stuck on the Earth with Slartibartfast, which is where it ends. I have an idea on how to do the next bit - scrap my part on ending in the Starship Bistromath, it’s better to end on Prehistoric Earth.
I hope you see this and haven’t forgotten about this post since you posted it - that would be annoying…
I modified the release 184 to compile with Zilf and the ZilLib for the “new parser” that Infocom used for Zork0, Arthur and Shogun. See readme below. The zip-file is complete with all library files.
These files compiles with:
Restaurant at the End of the Universe on The Obsessively Complete Infocom Catalog(https://eblong.com/infocom/#restaurant)
ZilLib, the "new parser" modified for Zilf on The Infocom Files (https://github.com/the-infocom-files/zillib)
Zilf 0.9 (https://foss.heptapod.net/zilf/zilf/-/wikis/Releases/0.9/Downloads)
These files are modified from r184:
parser.h2 new reconstructed file
defs.zil line 14 ;<REPLACE-DEFINITION PLURAL <CONSTANT PLURAL PLURALBIT>>
28 <INCLUDE "BASEDEFS" "SYMBOLS">
places.zil line 8 (FLAGS NARTICLEBIT PLURALBIT)> ;"The parser-library assume these bits are defined on some object"
Compile with (see make_restaurant.bat):
zilf -ci h2.zil -ip ..\zillib -ip ..\zillib\parser
zapf -ab h2.zap > h2_freq.xzap
As I understand it you are continuing the work that @Adam_S did that modified the original work with new content and to work with the Zilf parser library. Because the original code assumes the “new parser” it uses some specific features in that library that’s not supported in Zilf’s library. I’m not sure wich way forward that is the best but as I see it there are two paths:
Continuing with Zilf libary and accept the limitations. There are workarounds to get the functionality you want but it’s done a bit differently and you probably need to change some of the syntax definitions.
Backing back and using the “new parser”. The changes that are done need to be extracted and retrofited into the old code. The “new parser” doesn’t have much of documentation so that’s a drawback.
I’ll try working on 2 (much for my own interest) but can’t give a timeline or if I ever get finished. Before I tried it I’m not sure how much work it is. If I ever fget finished you’re free to use it if you like it and feel it’s the path forward. Path 1 is probably a bit safer and is more documented. It is also much easier to get help.