ZX Computing
1st August 1986
Publisher: Incentive
Machine: Spectrum 48K
Published in ZX Computing #28
Graphic Adventure Creator
Once in a while, a programming utility appears which makes a major impact on the games-writing world, and undeniably The Quill was one of them. It opened up the art of adventure writing so that anyone with the necessary patience and imagination could turn out a professional and polished game regardless of his or her programming ability. Of course it's true that a great number of "Quilled" adventures leave much to be desired, but the best of them (remember the superb Tower Of Despair?) show just what can be achieved.
Although The Quill has dominated the adventure scene for some considerable time, it does have its limitations, and now it has a serious competitor in the shape of The Graphic Adventure Creator, designed and written by Sean Ellis and Brendan Kelly for Incentive Software. You'll have seen the ads already: on paper the GAC looks very promising indeed, offering complex sentence analysis, multiple commands, text compression, a wide range of graphics facilities, and much more besides. What really counts, of course, is how it performs in use, and the potential quality of the adventures you can write with it. At the time of writing this I've been beavering away with a copy for several days: this isn't long enough to completely master the program, but it's enough to get its measure. Quite simply, it's the most exciting utility I've encountered for some considerable time. It isn't without flaws, and it does suffer from its own inevitable limitations, but there is no doubt that the GAC has enormous potential for the budding adventure writer.
Getting Started
The GAC package includes the Adventure Creator itself, plus a useful "Quickstart" data file, a sample mini-adventure and, as might be expected for a utility which offers so much, a fairly lengthy instruction manual. I'd recommend several readings of the manual before you even load in the program. There are a few points which remain obscure, giving rise to much head-scratching when you're using the program, but virtually all you need is in there - it's just a matter of finding it! Unfortunately, there are no instructions for transferring the program to disc or microdrive, and neither are we told where an alternative character set could be safely stored in memory - two pieces of information which many users will very sensibly require. It's not difficult to sort this out yourself - but personally I don't see why you should have to be put to this trouble.
On loading the program itself, you're presented with a comprehensive menu of options, and if you're wise your first choice will be to load in the "Quickstart" data file which is provided on the cassette following the main program. This gives you a useful base from which to start work, as it contains a basic vocabulary of common verbs which all adventures need (GET, INVENTORY, LOOK, EXAMINE and so on) together with a set of basic system messages without which the program can't operate (You can't, What now? You are carrying, etc). All of these can be edited as much as you like.
Vocabulary is added to the program in three separate files for verbs, nouns and adverbs (yes, folks, adverbs!), a process which is made admirably simple by the excellent editing facilities. Each verb, noun or adverb is assigned a number between 1 and 255, and synonyms are catered for by assigning the same number to each synonym. The ability of the program to recognise adverbs (or adjectives) as such represents an advance on The Quill, since it allows you to distinguish between commands such as EXAMINE THE BOX and EXAMINE THE BOX CAREFULLY. (Personally, I view this with some misgivings - I foresee a spate of games whose solution depends entirely on the correct use of obscure adverbs!)
Entering location descriptions and messages is sheer delight. Gone are the days of fiddling about with your text to get it formatted correctly on screen. You can just bash in your text as it comes, ignoring the effect of words breaking at the ends of lines, since GAC sorts all this out for you when the adventure is running, word-wrapping where necessary. That's the good news. The bad news (which caused me much loss of temper) is that it doesn't always work properly! Although it's standard practice when typing to leave a space after a punctuation mark, the program doesn't seem to know this and fails to cope with it when punctuation marks fall at the end of a line. The result can be a messy, irregular left hand margin, necessitating either a fresh editing of your text description or the omission of the obligatory space as a matter of course (which gives the text a rather cramped appearance). Neither is really satisfactory.
At every stage the program prompts ou in an intelligent manner. After completing a location description, for example, you are asked to enter the connections between this and adjoining locations. If going north would take you to location 15, for example, this is simply entered as NORTH 15 - and in this way the map of your adventure world can be built up quite painlessly. Modifications can be made with great ease too.
Logic
Once your basic text descriptions, messages, map, objects and so on have been entered, it's time to start building up the logic of your adventure. This is where the real strengths of this program become apparent, and it's also where things can get rather difficult. There are basically three types of conditional actions available, the files for each type being separately accessible from the main menu. High priority conditions are checked before the player types a command, low priority ones are checked after his command is entered, and local conditions refer to events which take place in specific locations. The logical operators available for all this are so extensive that it would take considerable time to explore their potential fully, and I can't pretend to have done more than scratch the surface so far. 255 flags or "markers" are provided so that you can keep track of important events (such as whether doors are locked or unlocked) together with the means for testing just about everything you'll ever want to test - weights of objects, whether objects are present, carried or in some specified room. This is all accomplished using a simple language - well explained the manual - which is used to describe both conditions (entered in brackets) and subsequent actions.
One specific example should illustrate the power of the program here. In the little adventure I wrote to test GAC, the player encounters Nasty Nick the burglar, who is armed with a gun. On typing TELL NICK TO GIVE ME THE GUN, the player needs to be given an appropriate message, and to have the gun (which in fact doesn't yet 'exist' as an object) added to his list of possessions. The condition line needed for this was:
IF ( VERB 24 AND NOUN 3 AND NOUN 6 AND RES? 6 AND HERE 3 ) SET 6 MESS 6 5 TO 3 GET 5 END
Roughly translated (!) this means:
If the player's command contains the verb "tell" (24) and nouns "Nick" (3) and "gun" (5), if flag 6 is reset, and if Nick is present (HERE 3) then set flag 6 (so that his action can occur only once), print a suitable message (MESS 6), create the gun in this location (5 TO 3) and put it in the player's inventory (GET 5).
Multiple commands work beautifully without any special effort on the part of the writer, and "IT" is automatically understood to mean the last noun used.
As long as each separate command has already been programmed, a sentence like "UNLOCK THE DOOR, OPEN IT AND GO IN" is easily accepted, with each command being executed in turn. The only notable omission is "DROP ALL" and "GET ALL" which, sadly, are not catered for.
Graphics
Adventures can be written to incorporate graphics, of course, and any pictures can be turned on or off at will when the finished adventure is played. The pictures are drawn in a window which occupies the top two-thirds of the screen, which I thought was rather excessive. It leaves relatively little room below for text, and I found I often had to amend a location description to prevent the top lines scrolling out of view before they could be read. Facilities for drawing ellipses, rectangles, lines, dots, solid filling and shaded filling are all provided, together with very good editing facilities, and one of the screenshots here represents the result of my experiments with these. Not a masterpiece, I'm afraid - but it should give you some idea of the sort of thing you can turn out in half an hour or so, once the graphics commands are mastered. This picture takes up about 450 bytes. A help in this respect is the facility for merging pictures together, so that you could use a 'standard' tree for instance, stored as a picture on its own, and merge this whenever its needed. The value of this feature is limited by the fact that the tree would have to be drawn in the same place every time in the graphics window - there's no facility for moving it around.
Overall, the program is such a joy to use, and its potential so great, that my chief criticisms might seem like nit-picking. I've already mentioned the word-wrapping problem, but there are other rough edges which I'm sure could be very easily put right, and these do affect the polish of the final adventure that can be produced. The worst of these concerns the way in which inventories and objects are listed - instead of "You are carrying a gun, a hat, and a letter," you actually get "You are carrying a gun, a hat, a letter" without a full stop at the end. I could ignore the omission of "and", but the omission of the full stop really does matter if a high priority message is printed immediately afterwards, giving rise to output like "You can see a letterNick arrives" You can fiddle a way around this (and I did so) but things can become rather messy. I also found it hard to get consistency in the printing of blank lines to space out the text pleasantly: an unconditional 'line feed' as a high priority instruction works most of the time - but now when you move between locations.
Finally, despite the claims for text compression in the current Incentive ads, I confess that I'm unable to find evidence for any such thing. Free memory is displayed constantly on the menu screen, and so it's easy to keep track of what's going on. If you type in, say, 500 characters of location descriptions, free memory seems to reduce by considerably *more* than 500 bytes! Am I missing something, I wonder?
If you're never used an adventure generator before, then I suspect you'd find The Quill easier to use. Because The Quill attempts to do less, it's naturally easier to work with. But if you want to boldly go where no Quill has gone before, then the Graphic Adventure Creator must come very close to what you're probably looking for. Even as it stands, the program is a superb addition to the game writer's armoury; and if Incentive can sort out the minor representational defects mentioned earlier, then it could very well prove unbeatable.