Retrochallenge Winter Warmup 2011 Entry

Well here it is, the first installment of Silent Running, a text adventure created using Inform.  The initial idea was to create something that would run on my Epson PX-8 which is a CP/M based machine. The first speed bump was locating a Z-machine interpreter for CP/M until it was pointed out to me that as I had the original Zork games for CP/M I had a suitable interpreter.

The Zork games typically came as two files, for instance, Zork1.com and Zork1.dat, the .com file being the interpreter and the .dat file the story file.  The interpreter supports version 3 story files and if you create a compatible story file you can rename it Zork1.dat then run Zork1.com and your game will load and run.

Needing to create version 3 story files I opted for Inform 5 as the compiler and was of course free to write the source code in any suitable text editor.  Thus development has taken place on a variety of machines including the Atari Portfolio, Epson PX-8, Epson Equity LT and some more modern machines.  I had hoped to compile the code on the Equity but I still haven’t had any success.

The game itself is heavily influenced in tone by Snowball from Level 9 which remains my fondest memory of text adventuring, that and Melbourne House’s The Hobbit.  I would estimate that I’ve completed about a quarter of what I’d hoped, therefore there are a number of elements within the game that may currently seem like red herrings.  The current goal is to achieve access to the biodome area of the freighter.

There will of course be many bugs, not the crash your system type, but responses to player input that are not catered for and the like.  Once you’re in the world creating it it’s difficult to jump outside and imagine how others are going to interact with it, reports would be welcome.

I’ve been quite absorbed by this process which has been enjoyable although it has meant I haven’t had as much time to keep up with all the other entries as I’d have liked and I’m looking forward to doing that now.

You’ll need an interpreter should you wish to try the game, you should be able to find one here:-

Link to Interpreters

Download Silent Running Story File

If like me you need an interpreter for CP/M you can download Zork and the included interpreter here.

General Retrochallenge Update

Finally resolved the issue that I’d passed on a few days ago.  With some help from the chaps over at the interactive fiction forum I finally found a method to return the location of Huey, Dewey and Louie to the player when the player examines some monitors that are found around the Valley Forge.  The final code was:-

Object monitors “bank of monitors”
with name “monitors” “monitor”,
description “There are three monitors, each one showing a live feed from the freighter’s maintenance drones.”,
found_in droneroom crewsmess,
after
[; examine: Print “^Huey is in:-  “;Print (name)parent(drone1);Print “^Dewey is in:-  “;Print (name)parent(drone2);Print “^Louie is in:-  “;Print (name)parent(drone3);
],
has static controlled;

The next thing I’d like to resolve is having the drones follow you when instructed rather and having to ‘take’ them which is the current situation.  Apart from that I realise I probably don’t have enough time left to sort out the various bugs and weird behaviour resulting from unexpected player input.

I’ve been reading creator of Inform Graham Nelson’s Craft of Adventure which is an interesting essay with five articles on the craft of creating interactive fiction.  In it he writes:-

It’s Never Finished

Games are never finished.  There’s always one more bug, or one more message which could be improved, or one more little cute reply to put it.  Debugging is a creative process that adds to the life of the game.

In the case of his own game Curses he writes:-

The play-testing process has increased the code size of ‘Curses’ by about 50%: in other words, over a third of a game is devoted to ‘irrelvant’ features, blind alleys, flippant replies and the like.

I’ve learnt just how much I’d underestimated the time required for this stage of the development and it’s given me a new appreciation for how tightly coded the original Infocom games must have been.

Retrochallenge Update

I’ve made a fair bit of progress today, tidied up a fair amount of code, resolved a number of issues that were returning slightly odd results when the player did unexpected things.  I came across some documentation that alluded to setting parameters for the target displays  Sad I know but this was quite exciting given the limitations of the PX-8’s display and the fact that the only CP/M interpreter I have doesn’t as far as I know allow you to specify display settings.

I therefore compiled a version for the PX-8’s 80 column by 8 line display and while I was as it one for the PX-4’s 40 by 8 display.  I transferred them over and… it didn’t work.  At the moment I don’t know why it’s not working and I also don’t know why I took some video of it not working but I did.