Electron User


How To Write Adventure Games

Author: Penguin
Publisher: Penguin
Machine: Acorn Electron

 
Published in Electron User 2.09

As you sit at your micro in the early hours of the morning, puzzling over some tricky problem in the latest adventure from your favourite software house, do you ever wonder what is going on in the mind of the programmer? Well, here's a book written by Acornsoft's top adventure writer, Peter Killworth.

After a brief introduction to adventuring, the author starts with a discussion of how the games are written.

The best way to explain any problem is by example, so three adventures are created and their development discussed in detailed.

"Caves" involves exploring a random network of caves and passages, searching for treasure. "Mini" is an adventure with only four rooms and is surprisingly complex. "Roman" is a larger, more sophisticated adventure, set in Ancient Rome.

The reader is taken through each stage step by step. First the plot needs to be outlined, then the game logic worked out before any code is written.

The most complicated and difficult part of the program is the database for storing the location of the objects, rooms and occupants.

A great deal of time is spent looking at this to try to find the most efficient way of storing the data.

I had to read through the text several times before I even remotely understood how the author was storing and retrieving the information.

It's amazing how much information Mr Killworth can cram into a few simple variables. Every bit is significant and often shows whether something exists, or is possible, or present, and so on.

"Mini" is an adventure with only four locations, but is packed full of puzzles, messages, objects and magic words.

This is an excellent, typical adventure. Don't be put off by the number of rooms, this is irrelevent. It's the structure that is important.

Chapter five describes how an advanced database is constructed and a program which can be used by the reader to construct a database for his own adventures is presented.

The program enables you to enter the objects, rooms and vocabulary for the adventure and then stores it in the most efficient way.

The following chapter develops routines for extracting the information from the database, using "Roman" as an example.

Finally there is a complete listing of the adventure "Roman".

This is an excellent book from a superb programmer which gives an insight into how adventures are constructed. It's not an easy text to follow, so I can only recommend it to advanced programmers or those wanting an intellectual challenge.

If you have written a few simple adventures and want to know how the professionals do it, then this book is definitely for you.

Penguin