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,
[; 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.
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.
With the deadline looming ambitions have been somewhat scaled back. Instead of attempting to finish the entire game it’s very much going to be a Silent Running (Part 1.) The process has reminded me of my school exam days where I would race through the exam in around a quarter of the allotted time and then spend the rest of the time writing out the original scribble in a more legible form. As I learn more elegant ways of doing things I have to spend time going back and updating the code.
However much of it remains inelegant, there’s one problem that I can’t seem to resolve which involves monitors I had intended to place in various locations that could be examined to reveal the current locations of the ships drones, Huey, Dewey and Louie, I’ve had to abandon this for now as it was taking up too much time. As an aside, I’d forgotten how quickly the hours pass when engaged in a task like this.
Of the several kludges I have resorted to, possibly the most Heath Robinson is using the Take and Drop routines to have the Drones follow the player character, in the process modifying the parser to say ‘You are carrying or being followed by’ in place of the standard ‘You are carrying,’ Ouch! Using ‘drop’ to have someone stop following is pretty poor but I’m confident given a bit more time I’ll crack that one.
Of the ideas that I’d mapped out in my mind I would guess I’m going to achieve about a quarter of what I’d hoped. The goal therefore of the first instalment will be to make it to the next area of the Valley Forge.
One thing all this time in front of the computer has allowed me to do is catch up on old Retrobits podcasts which I can’t recommend highly enough, great stuff Earl.