The following article is copyright 1996 by Branko Collin. You may keep it for personal use, but you may NOT distribute it or use it for commercial purposes.

The article first appeared in Dutch in "Amiga Magazine" (issue 40, July 1996).


GRAC 2

Do Your Own Quest


To write a great game and become rich and famous with it - the dream of many. Unfortunately a lack of programming talent will hinder more often than not the coming true of this dream. However, there are game creators like GRAC to help you.

by Branko Collin

Writing an adventure can be a complex matter. The player expects to be able to move around in the adventure world pretty much the same way as in the real one. He or she must be able to examine, take or move objects. The player must be able to communicate in some form with the creatures populating the game. The maker of an adventure must make sure that the player can move around freely in the fantasy world.

Another task for the maker is the creation of puzzles. These puzzles should be logical and fit within the fantasy world in order to avoid the game from becoming a try-all-actions-on-all- objects affair. In most cases it would be impermissible to have the player unlock a door with a banana.

The quality of a game will depend very much on how far these two demands have been met with.

There is an extra problem involved with designing graphical adventures, in that pictures and animations have to be made for all possible actions. Each added object may involve an exponential growth of the number of pictures and animations. Suppose the player finds a diving suit? That would not only require a picture of the suit, but also the addition of animations showing the player swimming under water and all the usual animations for the player whilst wearing the suit.

Because of all these things, designing an adventure can take up a lot of time. Implementing the design would be an extra punishment. Luckily we have adventure creators. These programs take away the more boring aspects of programming a game and the better ones will even force good design practices.

Automagical administration

GRAC2 is the greatly improved incarnation of one of such creators. It is written entirely in Amos Pro and makes extensive use of the possibilities of this language. Playing IFF animations and Soundtracker melodies, executing AMAL programs and showing IFF pictures: there is hardly anything that GRAC cannot do.

Where GRAC really shines, though, is in keeping track of things. Anyone who has ever tried programming an adventure in a conventional programming language knows that almost all non- trivial player actions involve an extensive administration. Suppose the player pushes a light switch. The program must now remember the switch is in a new state and that more of the surroundings (and possibly some new objects) should be visible. In the case of the player fetching an object the object should dissappear from view and re-appear in the player's inventory.

GRAC2 automatically deals with a lot of this administration and offers an easily programmable system for the rest. The system involves writing snippets of code. This may sound harder than it really is. GRAC will assign variables for each object and in a lot of cases it will guess which object to use. An example showing how to switch on the light:

	COMPARE #1,0
	IF 3,0
		OBJECT FRAME 3,3
		SET FLAG 1,1
	ELSE
		OBJECT FRAME 3,4
		SET FLAG 1,0
	END
This example says: See if flag 1 is false. If it is, then show object 3 as picture 3 and make flag 1 true, otherwise show object 3 as picture 4 and make flag 1 false. In most cases it won't be necessary to enter the flag numbers manually. Push the help button and GRAC will guess which flags to use, assign a new flag or show a requester showing all objects.

However...

The above seems to indicate that GRAC is God's gift to the labouring programmer. I have to disappoint the hopeful reader. At first sight, GRAC does indeed have some outstanding work- saving features [note that didn't appear in print :-): GRAC received nothing but positive reviews in all the other (British) magazines, showing how 'seriously' they take their job]. It is complete, it contains an all encompassing manual, including an excellent tutorial. Further it comes with a great example game, it has a consistent user interface and does try to take away the difficult and boring aspects of programming. Also it is fairly cheap.

But once you start working with GRAC all kinds of minor and also some major problems start to show. It begins with the installation program on disk. Not only does this program have nothing to do with installing GRAC (it will make a stand-alone game disk), it will write to the current floppy. In my case the original program disk! Granted, the manual clearly states the purpose of the "Install" program, but when I see an installation icon I click on it. An author should make sure everything is foolproof, because fools like me will make such mistakes.

The interface, though consistent, is not intuitive in some places. Sliders are implemented as some kind of funny textfields, which takes some getting used to. Although the manual is complete, it is not very accessible. It lacks a good index, which makes looking up the many commands very hard.

No error messages

So far the minor niggles. A bigger problem is the system of error messages: There is not any. The creator is very robust and will allow almost anything. Then when a player encounters an error only an Amos error message will be shown. The game author is left to guess what went wrong and where it went wrong. This makes debugging almost impossible.

Another problem is the lack of default actions. The adventure author who tries to implement examining objects is lucky: Examine is one of the two actions that is featured with an example in the manual. For all the other actions you will have to hope you can find an example in the example game.

Conclusion

The author of GRAC is right in expecting the adventure programmer to spend some time getting used to writing games with this creator. However, a program like GRAC requires a much clearer manual and a tutorial that does not just cover the very minimal basics. Other than that, debugging should not be a sport in its own right.

I find it hard to recommend GRAC. It is a very good specimen of its kind in the sense that it tries to make easy exactly the right kind of processes. But so far I have not managed to even implement the basis of the simplest three room adventure. The aforementioned problems are too big a hurdle to take in a short time. If you are interested in this creator, you would do well to wait for a version in which the problems I have listed have been solved. In the meantime I would use Amos (Pro) to write graphical adventures.

FACT-SHEET

product:	GRAC 2
author:		Edmund Clay
distributor:	F1 Licenseware, 31 Wellington Road, Exeter, Devon,
		EX2 9DU, United Kingdom.
price:		UKP 6,99, excl. handling and shipping.
(Note: Above facts were valid in July 1996. Check with F1 Licenseware or Edmund Clay for current versions and prices. Don't ask me for their addresses. As far as I know they can both be reached through the Internet.)

Aside

The text adventure is the oldest kind of computer game. The first adventure was called just that, Adventure, and the genre took over its name. Old is by no means equal to old-fashioned: After all, it is still the only type of computer game that will allow complicated puzzle solving.

The most famous text adventures are still the ones made by Infocom. What Sierra has been for the graphical adventure, Infocom was for the text based older brother. Most Infocom games have become classics. Never having played "Zork" or "The Hitchhiker's Guide to the Galaxy" is as unforgivable as never having watched Alfred Hitchcock's "The Birds" or never having read Douglas Adams' "The Hitchhiker's Guide to the Galaxy".

Infocom used a high quality adventure creator to produce all these great games, but they never released this creator. Britton Graham Nelson carefully examined the code of Infocom games and made a creator for Infocom like games. This program, called Inform, is freeware and has been compiled for many systems, including the Amiga. Inform is without doubt the best adventure creator available, as long as you can live without pictures. Inform can be found on Aminet in the drawer game/think/ and on the special adventure ftp-site at ftp://ftp.gmd.de/if-archive/ in the drawer infocom/compilers/. On this ftp-site everything related to adventures can be found, including hundreds of these games.

Changes per 10-Aug-2004: the Aminet URL given used to be http://www.germany.aminet.org/aminet/game/think/.