Alice through theVDU
I'VE been kept busy this month, looking at two rather nice adventures
from Level 9, Snowball and Colossal Cave, and lan Watt's book.
Creating Adventure Programs on the BBC Micro. Let's start with
the games.
BOTH Snowball and Colossal Cave are massive. Collossal Cave
has about 200 rooms (70 more than the original) and Snowball has
7,000 - but that's mainly done by a clever trick.
In order to handle the vast amount of text in the messages Level
9 has invented an "a-code". How this works they have
not revealed, but it must depend on the redundancy of letter and
word association.
For example, the letter Q is always followed by the letter U,
the most common trigrams (three letter associations) are THE AND
THA ENT ION FOR NDE HAS and NCE and, even more remarkable, the
fact that 10 words - the, of, and, to, a, in, that, it, is and
I - account for over a quarter of English text.
The result is impressive - long, detailed descriptions come
up quickly and, almost word for word, are identical to the original
Colossal Cave text.
Another advantage of the a-code is that it makes it almost impossible
to cheat by trying to look at any part of the program.
In Snowball you wake up in a coffin aboard an enormous interstellar
spaceship which has a problem - it is falling into a sun and you
are the only person who can save it and the two million passengers
it carries.
If you don't take this responsibility very seriously you can
actually look in all the two million coffins (one in particular
in the Green/Green Green Orange room) but this does take some
time and you have to keep dodging some nasty robots.
There are no treasures to collect in this adventure and the
way you find out if you are "getting warmer" is to ask
for your score after some problem or on reaching a difficult location.
After about three hours I had a fairly good idea what the spaceship
looked like (a demountable disc pack was probably the inspiration)
and obtained 350 points out of a possible 1,000.
To do this I had got together a spacesuit, obtained a welding
lance (how, I can't remember — it required a lot of paper shuffling
with two bureaucratic robots so I SAVEd the position and don't
intend to go near them again) and was outside the ship with a
gun and a lamp.
Unfortunately I hadn't sorted out how to get an LL9 battery
for the lamp or how to get a spanner — they might be in the DROID
STORES but getting in there seemed to be a matter of timing with
the DUSBOT.
So here I currently am at the south of the ship. I can see lights
to the south where the engines must be but it's another "twisty
little maze" which I think I can solve (though rather slowly)
by dropping things and then feeling for them.
I've run out of air twice and it's going to be a long haul.
A twisty little maze was one of the great inventions of Crowther
and Woods in the original Colossal Cave.
In order to appeal to those who have already got their 350 points
in the cave (and been carried off by the jubilant elves) Level
9 has made some tricky alterations and extensions.
The COINS and the FOOD have been moved but, even more testing,
you can now only carry four objects, so you can't clear out the
cave in just three trips any more.
The old complication of fighting off the psychopathic dwarfs
made me adopt a new strategy of dropping the treasures at Y2 and
(eventually) shifting them out of the cave with the lamp off.
If you don't do this then the dwarfs and the pirate can waste
so much time that your lamp will run out.
I have always preferred to clear out the far end of the cave
first and leave the Platinum Pyramid till last. Here the programs
differ, because the instant I got the Pyramid the cave began to
close and I was unable to get out of the room (let alone the cave)
and sort out the last point in Witt's End.
So the cave closed with most of the treasures at Y2 and the
new "final problem".
Level 9 has been a lot fairer here because you are given a good
hint about how to start solving this new ending.
However, once you take the hint the cave begins to flood with
water and you are faced with mapping another "twisty little
maze", and this time you have to keep doing a RESTORE to
a SAVEd position about every 10 moves else you drown.
Level 9 estimates that it will take the average player two weeks
to solve Snowball, with four weeks for Colossal Cave. As you can
see I have solved neither of them because I haven't had the time
to slog through the two new mazes.
Whenever you reach a maze you have, essentially, to discover
a password made up from known letters (usually N,S,E,W,U and D)
but of unknown mix and length.
Dropping objects and seeing (or feeling) them again tells you
that the last direction you chose was wrong. This speeds up the
solution but you still have to solve the maze by trial and error
and the fewer objects you have the longer it will take to discover
the pathword.
Now in the old Colossal Cave you could carry just enough objects
to mark your trail from the start to the exit of the Pirate's
maze and this was also the longest trail, so it was quite fair
to expect people to solve it.
However, the Level 9 version, by restricting the player to only
four objects, makes the Pirate's maze very much harder to solve.
This new water maze, with its limited time for exploration before
you have to RESTORE, reduces the game to almost random guessing
(unless I've missed something).
So what I propose to do is reveal the pathword of the Pirate's
maze but, for those who still want to solve the problem themselves,
I have used the following program to encode the solution:
10 INPUT LINE hint$
20 FOR P=LEN(hint$) TO 1 STEP -1
30 char$=MID$(hint$,P,1)
40 IF char$=" " THEN PRINT " "; ELSE PRINT
CHR$(ASC(char$)+P-32);
50 NEXT P
and the coded result is:
M BO QG <;CGFE6 4B@5; *4 @*:,74
Incidentally, decoding this message requires rather more than
changing +P-32) to-P+32) in line 4 - that is, 40 of the encoder.
I also propose to offer an adventure solving service to any
readers who are stuck. Send in the name of the game and your query
and we will publish a selection of them, inviting other readers
to send us the answer (in clear preferably, and don't be clever
with leading spaces). These answers will then be published in
the above code.
I don't think adventure publishers should object to this proposal.
In fact it might be a good idea for them to provide a similar
service.
And, by the way, could any reader tell me how to get through
the Snowball web and the drowning maze? Sorry to be so boring,
but I don't play these games for fun.
Finally a plug for Level 9. These games are superb value for
money and set a new level for adventure writers which many amateurs
will find impossible to compete with.
Two other Level 9 Adventures are currently on sale and a sequel
to Snowball is promised. Buy them all, and it should take about
six months to sort them out.
And if all this questing has given you the urge to write your
own games, you might wish to consult lan Watt's Creating Adventure
Programs on the BBC Micro.
Buyers of this book - published by Interface and Addison Wesley
- will have an immediate problem to solve on the second page:
"All rights reserved. No part of this publication may be
reproduced ... in any form ... without prior written permission
of the publisher".
This is a very strong caveat emptor, and yet the book is only
value for money if the buyer (or his kids) can and is prepared
to type in the programs listed in the book because, although the
three adventure listings have obviously been carefully prepared,
the supporting text is full of misprints, waffle and errors.
I had the impression that the author had spent 90 per cent of
his time on the programs and then dashed off the book as quickly
as possible, having never even seen the proofs.
I disagreed immediately with the foreword by Tim Hartnell, who
says: "Once you've mastered the tricks of the adventure writing
trade which are revealed in this book . . ."
Actually Watt doesn't claim that he will reveal (all) the tricks.
In fact he makes it quite clear that his games are rather limited
in that they only accept simple VERB OBJECT commands.
He also limits how many objects you can carry, which is reasonable,
but also limits how many objects can be dropped in a "room".
Now a "room" in an adventure can be the middle of
a desert so this restriction is not reasonable. Watt states that
twisty mazes (that is, GO NORTH then GO SOUTH and you're not back
in the same place) "is a poor technique in programming"
and then admits even poorer technique.
Actually "twisty little mazes" do send me round the
bend because, without a listing, they are often a boring slog
to solve, but I will leave them, and their solution, to another
review.
All of the adventures are based on "logical maps"
- they can be drawn in two dimensions with no overlapping passages.
In Chapter 2 he presents a simple example in order to describe
his techniques for laying out such maps, their contents and how
the program "understands" the commands, moves between
the rooms and manipulates the objects.
If you have no idea how to do this yourself then this chapter
is well worth reading, but you have to be careful because there
are at least five spelling mistakes in the text, numerous errors
in the lines of program that you are invited to type in (after,
I presume, you have obtained permission from the publisher) and
strange sentences like (bottom of page 29):
"When writing programs, full instructions are necessary
in most cases, since anyone loading a certain program would be
able to work out the basis of the program without too much confusion"
which (even replacing the "would" with "should")
caused me much confusion.
Some of the errors in the program lines are amusing because
the poor typesetter has obviously become utterly baffled by his
task.
For example he uses inverted commas for string double quotes
thus "---" and hasn't a clue what to use when he meets
a single quote - see Page 25 where the poor man eventually just
mixes them randomly and also makes two errors with the full stop.
Fortunately this is all about adventures, so it's up to you,
the reader, to sort out what you should really type.
Although I have seen far worse ways of laying out a map and
its connections I don't particularly like Watt's technique either.
He associates the four ways out of a room (N,S,E and W only
- again an odd restriction) with four offsets which can be positive,
negative or zero.
If a non-zero direction is chosen then the new room number =
old room number + offset.
Much simpler to understand and expand is the form:
1001 DATA "You are in Room 1 -- ",2 ,0,0,0
1002 DATA "You are in Room 2 -- ",3 ,-1,0,0
This could simulate a portcullis or a rockfall etc. preventing
you from returning South to Room 1 until you did something, for
example PULL LEVER or THROW DYNAMITE.
Such a command, if acceptable, would set an "override"
in one of four variables allowing a negative direction to be taken.
I give the above alternative to show that there is nothing sacrosanct
about Watt's techniques. He freely admits this himself, and encourages
the reader to develop his own ideas and techniques.
Chapters three and six contain two adventures which could be
CHAINed into one large game and then be comparable to many adventures
selling in the shops for about £10.
A bonus is that Watt discusses how to convert his programs to
other micros, an important skill for anyone with pretensions to
being a programmer.
You must always be wary of the text (by Page 61 the typesetter
has even given up using anyspacesinsentences) but at this stage
most people should just type in the programs from the listings.
Chapter seven discusses possible improvements for adventures
of the future and is surprisingly unimaginative - mere mechanical
improvements with Space Invader overtones.
Chapter eight invites you to write your own adventure from a
rough plan and plot, but anyone capable of performing this exercise
would be better employed designing their own story.
And finally there are two appendices and solutions to the three
adventures.
If you intend to type in the games I would suggest that you
Sellotape these pages shut because it's more fun to solve the
problems from the listings.
As an incentive, why not try to beat the number of moves that
Watt gives in his solutions to the three games (62, 185 and 170)?
All in all a book that is full of ideas and enthusiasm for the
subject and, ironically, should inspire many people to write much
better adventures.