Your Spectrum
Issue 5, July 1984 - The Quill
Home Contents KwikPik
THRILLS FROM
T H E   Q U I L L
 
After all those hours spent playing other people's adventures, the time has come to create some of your own. Thomas Green takes a look at the do-it-yourself package from Gilsoft.
Although the scenarios of adventure games differ widely, their worlds always comprise a series of locations and a number of objects, some of which have to be found by the player and assembled in a specified location. Hidden workings present various puzzles; in one classic adventure (said to be the granddaddy of them all) you have to catch a bird to get past the serpent, but you can't catch the bird if you're holding the black rod. Far more elaborate situations can and have been devised - the art, in fact, is to set puzzles of the right difficulty - but most of them depend on discovering combinations of objects, on carrying out appropriate actions in certain locations, or on performing specified actions within a limited number of turns.
The player controls the game by typing commands: 'GO EAST', 'GET ROD' or 'CATCH BIRD'. The computer usually replies along the lines of 'OK' or 'I CAN'T'; particular situations may evoke longer, more descriptive messages - 'THE BIRD FLUTTERS AWAY FROM YOU AND SITS SINGING JUST OUT OF REACH'. As each new location is entered, the computer describes it and lists any objects (coins and jewels, for example) that may be visible. These objects can be picked up or dropped, sometimes worn, and so on.

WHAT'S ON THE MENU

Big adventures contain many hundreds of rooms and dozens of messages. They cannot he written ad hoc; you need a systematic approach and a database that records, for instance, which objects are where, etc. The Quill supplies just that. There's a convenient menu-driven database Editor, which allows you to create or amend the locations, the objects. the messages, and the events taking place in response to the
player's commands. When the database is ready to be tested, the Interpreter runs the adventure, keeping track of the player's commands. Finally, when the adventure is complete it can be saved as a stand-alone program, with facilities for saving and restoring games and keeping the score.
Entities in The Quill's database are linked by numbers. For instance, each message has a number; 'THE BIRD FLUTTERS AWAY FROM YOU' might be message 3. The bird itself might be object 13, and the black rod might be object 20. At the heart of the system, the Event Table will describe how to interpret the command 'CATCH BIRD'. It will do so using tests, such as PRESENT 13 ('Is object 13, the bird, present?') or NOTCARR 20 ('Is object 20 not being carried?), and actions such as MESSAGE 3 ('Print message number 3'). These are all combined in an 'Adventure' language like this:
CATCH BIRD
conditions:
	PRESENT 13
	NOTCARR 20
actions:
	GET 13
	OK

CATCH BIRD
conditions:
	PRESENT 13
	CARRIED 20
actions:
	MESSAGE 3
	DONE
The Interpreter responds to the player's command 'CATCH BIRD' by scanning the Event Table and checking the conditions for each possible interpretation of the words. As soon as it finds a possibility in which all conditions are met, the specified actions are performed.
The Event Table is supplemented by a Movement Table, which handles
unconditional movements or single-word actions, such as North or its synonym 'N', and a Status Table which checks the current state after each turn, and will perform any actions whose conditions are met. Numbered flags can record past events, such as having eaten an apple; all the more interesting and unexpected parts of an adventure are likely to make heavy use of flags. There are particular flags which record the number of moves taken, whether the light is on for example, and there are a number of flags which are automatically decremented on each turn. These might be useful, say, if the player triggers the fuse on a bomb and is allowed five turns to reach safety.
The systematic approach is clearly far better than any ad hoc efforts are likely to be. Moreover, the Editor makes it simple to change the text describing a location, the movements from a location, the Status and Event Tables, and so on. Hard copy on the Spectrum printer is easily produced.
Although essentially designed for text adventures, The Quill permits user-defined graphics and provides changes of INK and PAPER colours, bleeps, and pauses. The code is very speedy, with no waiting for even the longest room descriptions. "Well over 200 locations" are allowed, and small adventures will run in the 16K Spectrum (although The Quill itself needs 48K). Some of the messages from the Interpreter seemed a little ponderous and, in most instances, I would have preferred the laconic 'What now?' to the boring 'I am ready for your instructions'. The messages use 'I' by default; a special file switches to 'you', but not consistently. A pity the user can't tailor them.

THE QUALITIES OF QUILL

In its own terms, The Quill is without doubt exceedingly usable, with its speedy editing and testing of adventures and unusually clear documentation. While testing adventures, a diagnostic table

THRILLS FROM
T H E   Q U I L L
 


can be displayed to show the current location and the value of each of the flags, thus you can work out why something didn't do what you expected - a facility that makes debugging a much easier task. One small quibble though: all built-in scoring is in percentage terms, which means if you add a bit more to the adventure you have to
adjust the existing scores.
Working with The Quill certainly helps warm imagination's wings, and there's an impressively wide variety of worlds to accompany the adventures in Gilsoft's pipeline. But, despite my admiration for the system as it stands, it tends to encourage rather 'noddy' results - mainly because the Interpreter fails to allow actions that would surely have been quite easy to include. It would have been nice, for instance, to perform an action if A is true OR if B is true; move an object from one location to another; set a flag; print the value of a flag (for example, 'YOU HAVE ONLY x TURNS LEFT BEFORE THE EXPLOSION'); change the
description of a room after an event; and be able to GET any object present, without further specification (this would allow me to construct a version using single key pushes only, for younger children who can read but not yet type - if Atic Atac can do it, so can The Quill).
Although a number of these requirements cannot be met at all, some, like the OR, can quite easily be but with a clumsy and inscrutable result. Others, such as moving an object, or changing the description of a room, demand a degree of ingenuity; making an animal follow you seemed at first impossible until the mysteries were explained to me. (Hint: you have to make it both a message and an object.) Ingenuity is

A BIRD IN THE HAND

This example is a rather short adventure game based on the Bird/Rod saga in classic adventures. The game has only two rooms and two objects but serves to show the way adventures are built up. All the basic information is stored in a set of tables - messages, location descriptions, possible

 

movements and so on. The Vocabulary Table lists all the words the game understands - most of these are predefined by Quill. Finally, the actual 'program' is the Event Table which, using the other tables, dictates how the game responds to the player's commands.
Example program

THRILLS FROM
T H E   Q U I L L
 


fun, but slow to create and sometimes tricky to debug.
These features would allow more sophisticated worlds and more interesting relationships. As it stands, The Quill makes it easier to hide a torch in one arbitrary place and a battery in another than to create a world with a lunatic logic; easier just to make the player die and be forced to start again than to create bizarre but comprehensible events. Two Quill-written adventures came with the test package - Magic Castle and Diamond Trail - and both fell into that 'Snakes and Ladders' trap.
By keeping the Interpreter language simple, however, the authors have made sure that it's highly compact and very easy to learn. It's just a question of balance.
Another problem is that despite the excellent Editor and the diagnostics for testing adventures, the structure of the database is not far removed from that of machine code, because of all those inflexible numbers linking things together. You can't use the command MESSAGE "HARD LUCK"; you
have to store 'HARD LUCK' in the Message Table, note the message number x, and use the command MESSAGE x. Similarly, the separation between unconditional movements and conditional - handled respectively by the Movement Table and the Status Table - obscures the structure of the adventure, making it more difficult to develop interesting and unforeseen happenings - and easier to introduce inconsistencies. The problem is particularly acute with flags. Flags have numbers, not names, and their relationships are distributed through perhaps a substantial number of entries in the Event and Status Tables; these are very difficult to grasp in their entirety. The result is that new inspirations are very hard to work in while creating an adventure, and modifying an existing one is more difficult still.
In short, The Quill is 'first-generation'. It's a great improvement over run-of-the-mill adventure programs, but we can expect the next generation to offer increased levels of comprehensibility and modifiability. One can anticipate symbolic names for flags, a structure that allows 'events dealing with the bird and the rod' to be treated as a unit, and being able to edit the interpreter messages. And there'll be adventures for foreign language speakers, adventures for younger children, educational adventures for teaching foreign languages, and adventures describing how to use computer packages.
Compared to the general level of software documentation, the instructions and information that accompany The Quill are undoubtedly excellent. A 52-page A5 booklet describes the design of a small but well-chosen adventure that exhibits most of The Quill's features and explains them clearly enough for anyone to understand; it then goes on to give a detailed account of every part of the system. Grammar, punctuation, spelling and proofreading are very accurate (something it would be nice to take for granted, which is hardly the case with many manuals).
It would have been helpful had the author given novice adventurers a little more guidance in some of the recognised tricks of the trade - how to set up a maze, or how to make an animal follow the player from place to place. Gilsoft says it is considering producing a book on the craft of adventure-writing; let's hope so ... it might make good reading.

ALL IN ALL

Setting up an adventure demands resources rather like those needed for writing programs - plus the added ingredients of creativity and wit. It also takes a long time, but if you want to give it a try then The Quill at £14.95 is a robust, well-documented and very usable system. But beware ... if you thought playing adventures was addictive, just try writing them!
Home Contents KwikPik