Saturday, November 18, 2017

Building CoCo Games with Inform

Often we see people do retro computing projects that really are only a piece of the puzzle. Such projects include hardware gadgets with cool capabilities but no hardware to use them, or media players with no stash of media content to consume. Hopefully these projects "scatch an itch" for the people doing them, but they often do little for the community other than providing an entertaining read or a cool "look at that" moment.

One type of retro computing project that can be fun and rewarding involves enabling an existing pile of content to be consumed on a computer where it works perfectly well, but where it has never been published. Such a situation presents itself where some game producers of the past had standardized on platforms that presented games on multiple computers using identical source materials. These platforms packaged custom software for each computer with the computer-agnostic game data in order to reach the largest market possible. Sierra On-Line used this sort of strategy with their AGI game engine, and Guillaume Major has exploited that system to add a number of fan-made AGI games to the Color Computer Archive.

Infocom Games

A contemporary of Sierra On-Line, Infocom is often considered as a pioneering company in the "text adventure" or "interactive fiction" genre of games. The lack of graphics in such games probably led to their eventual loss of popularity, but it did make them especially suitable to the sort of "write once, publish anywhere" strategy described above. Not surprisingly, Infocom implemented just this sort of strategy by targeting their game designs at what they called the "Z machine".

By targeting their games to the Z machine, Infocom did not just simplify their own task of releasing to the large variety of machines that were commercially viable in that era. Infocom also enabled their games to be played on any machine to follow, provided only that someone implement a Z machine interpreter for the target machine. Portable code for such interpreters has been available since the mid-1990's, and such interpreters are available for nearly any machine of merit today.

Inform Us

Hot on the heels of the portable Z machine interpreters came a Z machine compiler called Inform. This tool allows individuals that want to write interactive fiction games to do so in a way that allows users to consume their games, almost as if the games had been released by Infocom itself years ago. All that is required is a Z machine interpreter. Fortunately for us, the CoCo already happens to have one of those... :-)

The inspiration for this endeavour was a paper presented at KansasFest 2017 by Michael Sternberg, available via his blog in a post entitled An Apple II Build Chain for Inform. I recommend reading his paper and viewing the video from KansasFest (linked from his blog) as background information before continuing to my next post on this subject.

The next post on this topic will provide some technical information and describe the steps necessary to "borrow" the Infocom interpreter from an existing CoCo Infocom game and to make it use a different Z-machine game file. If you have been desperate to demonstrate your skills at writing an interactive fiction game, then this may be the best way for you to get such a game released to the CoCo world. If that sounds good to you, then you had better stay tuned...

2 comments:

  1. I never understood the obsession with inform, it tends to produce bloating game database and while it's a decent engine it's not that much better than others (and a lot less non coder friendly).

    I have tiny interpreters for Quill, Scott Adams (and other games using thee same system), later Adventure Intertional UK and Level 9. I do need to write a player for PAWS and I find those more useful than infocom tools.

    Some day I need to sit down and write a game compiler for one of them.

    ReplyDelete
    Replies
    1. I must confess, I've never written a full game in Inform. I have no idea as to its bloat. I am aware of some of the other similar systems, but I don't know what tools can produce games for them. I probably should investigate that!

      I have used your MC-10 interpreter for the Scott Adams games. I almost used it to produce a CD full of games for Tandy Assembly, but I wasn't sure that Scott would appreciate that... ;-)

      It's nice to hear from you, Alan. I hope you are doing well!

      Delete