The Ultimate Infocom Project?

I’m toying with the idea of creating new source-files and maybe new binaries for the Infocom games. My thinking is to use the latest released version and doing the folllowing to the files:

  • Fixes to make them compile with ZILF as outlined in The Infocom Files.
  • Additional fixes reported as issues at the same place (mostly done during playtesting by @eriktorbjorn ).
  • Fix Infocom bugs as reported in the list compiled by @Nathan or by Graeme Cree here.
  • Set release number to 1000+latest Infocom release (1119, for example, for Zork 1).
  • Add a line to version-info that inform about this version.
  • Add X as an abbreviation for EXAMINE.
  • Add ABOUT that specifies details about the version.
  • Remove copy-protection or move them in-game (make a note in Starcross that contains the coordinates, for example).
  • Considering making some graphic puzzles skippable to make games accessible for the visually impaired that uses screenreaders.
  • If possible, include InvisiClues. Could be in a seperate file if the formats size constrains make it impossible (Spellbreaker in z3 would be hard…).

What I would NOT like to do:

  • Modify or remove hunger.
  • Modify or remove inventory limits.
  • Modify or remove mazes.
  • Modify annoying puzzles (for example, the thief in Zork 1).

We had this discussion before (if it seems familiar…)

My thought is to start it as a seperate project at GitHub (to make it easy for Microsoft to send a cease and desist if they want, I guess) and invite anybody that wants (hopefully?) to help in the effort.

Thoughts?

13 Likes

First thought: it may be sensible to pick one game to concentrate on first.

I think it would be a shame to lose the copy-protection moments – at least the less clunky ones, like the Starcross coordinates. Feelies PDFs can be distributed just as easily as the game file at this point.

On the flip side, why not move to z5 or z8 and include invisiclues?

Are you planning this as a contrast to GitHub - Kweepa/planetfall-gold: Infocom's Planetfall, modernized , which does address hunger timers and so forth? But has a CLASSIC mode for players that want to keep them. Do you not like that approach?

4 Likes

My initial thought is to do it one at a time (in the order they was released, starting with Zork 1). I really don’t want to modify the games to much, and I’m a bit uneasy about the copy-protection. Fortunately I think Starcross is the first (or maybe Deadline, the feelies are quite useful in Deadline). Moving a z3-game to z5 (and beyond) isn’t all that trivial because much in the parser are hardcoded to the sizes in z3 but it’s a possibility to consider. classic/modern modes is also absolutely an option.

4 Likes

I just want to say that I think this is an excellent idea.

1 Like

I particularly like the bit about making graphic puzzles screenreader-accessible. :smile_cat:

3 Likes

I think that any activity that could eliminate sight-exclusive copy protection and puzzles would be a welcome improvement. While I don’t know ZIL, I’d support any such effort in any way that I could (documentation or whatever).

5 Likes

To my knowledge, Deadline was the first to include feelies, as the implementors ran headfirst into the limitations of the early Z-machine and searched for other ways to supply information to the player. A police report on the crime was an elegant solution: just hand it to the player physically instead of putting all that text in >READ REPORT.

Using them for copy protection was a later development, which went along with fancier and higher-production-value feelies (until later releases went back to easily-printable paper versions).

4 Likes

Using them for copy protection was a later development

Six months later, as Starcross was just a little after Deadline…

3 Likes

At the very least, it would be nice to see those bug reports be put to good use, since work on The Infocom Files seem stalled. (I was handed access to the project out of the blue, so I could presumably do it myself there… but at the moment it seems unlikely that I’ll do that.) I think the only game that has had any (tiny) gameplay changes there at all is Zork I, but I assume you would either start over from scratch (possibly from @zarf 's archived versions, since those seem pretty well organized) or strip those changes out before you begin?

And it might motivate me to resume the Bureaucracy testing, which is also stalled at the moment. :grinning:

The good news so far is that the preserved source code mostly seems to be in pretty good shape. Some of them have new and exciting bugs, of course, and some even have some user visible changes from the released versions. Even between preserved versions of the source code, there are changes in the text of at least some. The last archived version of Suspended even tried to add a new status line showing the location of each robot, but it was very broken when I tried it.

There are also at least one game (The Witness) that doesn’t recognize the word “all”, which always struck me as a bit odd. Perhaps “take all” revealed a bit too much in some locations?

Oh, and if you want to include playable versions of the the early Mini-Zork I and the unfinished Mini-Zork II, feel free to take whatever you need from https://github.com/eriktorbjorn/minizork1-beta-renovated and GitHub - eriktorbjorn/minizork2-renovated

2 Likes

Yes, I probably start from scratch and I’m partly motivated by all the work you have done.

2 Likes

I’ve created a placeholder at GitHub. Not much to look at yet, the place is empty.

Next question - What’s best, one big repository with, eventually, all games or a separate repository for each game?

  Zork 1
     feelies       packaging details + scans
     legacy      
        original   all releases source from The Obsessively Complete Infocom Catalog
        zilf       cleaned up version of 119, compilable with Zilf
     ultimate      Improved final version with at least two modes
                     classic   bug-fixes + minor changes + invisiclues
                     modern    + modifications (remove hunger timers and inventory limits for example) 

OR

The Ultimate Infocom Project
   Zork 1
      feelies       packaging details + scans
      legacy      
         original   all releases source from The Obsessively Complete Infocom Catalog
         zilf       cleaned up version of 119, compilable with Zilf 
      ultimate      Improved final version with at least two modes
                      classic   bug-fixes + minor changes + invisiclues
                      modern    + modifications (remove hunger timers and inventory limits for example) 
   Zork 2
      ...
1 Like

I just remembered that one thing that was committed to The Infocom Files was a bunch of typo fixes. Too many for me to remember, but a quick look through the commit logs should be enough to find them. There are probably some closed pull requests for them, as well.

1 Like

I don’t know… I can see how it might be nice to have one repository for each game, if you’re just interested in one game at a time, and I can see how it’d be convenient to be able to get them all at once.

I hear it’s possible to combine several Git repositories into one, so maybe it’s possible to have both? But Git is a strange and mysterious beast to me so I don’t know if that’d be the best of both worlds, or the worst…

3 Likes

Hi guys. I think single repository per game is definitely the way to go for development. GitHub will then give you single zip file per game for releases. These can then be combined in a single zip file for people who just want to download all the games at once. I haven’t seen anything about combining repositories on GitHub.

2 Likes

I suppose that was a reference to git submodules, or maybe git subtrees. Neither fits very well, but can be a decent approximation.

2 Likes

You can set up a github “Organization”, which is one group or person administering a bunch of repositories.

(I agree that submodules and subtrees are the wrong answer here. Those are ways to include source code from one project in another project.)

2 Likes

I’ve already made the organization (“The Ultimate Infocom Project”) that will hold the project. I would like to have more control on how and in which order the repositories are presented, though.

EDIT: Pinning repositories give you some control.

1 Like

If you want better presentation, maybe have a Github Pages page which displays everything you want. Or an IFWiki page for that matter.

2 Likes

If you need more than is provided by pinning, you can create an organisation website repository and take full control of the presentation. There’s also organisation readmes if a website seems too much hassle. I have an example of the website option using Jekyll if you’re interested.

2 Likes

Ok, time for me to look at this. This is definitely something I would enjoy helping with.

2 Likes