CAW's (Creative Adventure Writer)
method of adventure writing was based
on Peter Voke's Imagen on the BBC
Micros (Acorn User October 1988) which
used one trigger string to define
locations. The current version of CAW
(V3.6) goes much further than this in
that it has two seperate longer strings
for better descriptions, two triggers
and objects, an end of game part,
graphics and windows and several
prefixes which enable quite complicated
adventures to be written easily and
relatively quickly. It is now in it's
27th version, since version 3.4 extra
prefixes and graphics facilities have
been added and the GET routine bug
corrected. Due to a new method of
formatting the text to fit the windows
(just before display, not on entering
as previously) it is necessary to alter
any files written with older versions
so that the text is 'normal', the
manual explains how to do this. CAW was
written entirely in STOS basic and
compiled with the STOS compiler. It may
be copied freely so long as no charge
except that for duplication costs etc.
is made. This disk contains:
CAW.PRG Main program
GRAPHIC.PRG Converts picture files
to STOS compressed
format
CROWN.ADV Caw adventure - find
the King's crown
OGRE.ADV Caw adventure -
investigate strange
noises in the mountain
and take appropiate
action
MANUAL.DOC Manual in 1st word
format
MANUAL.TXT Ascii manual (view
from desktop)
READ_ME.TXT This file
The adventures are converted from the
old format and so do not have any
extra functions that are in this
version of CAW. Because of this there
are several niggles with location
descriptions. You could if you wanted
alter this so that everything was
consistant, the password for the CROWN
adventure (a first attempt) is CROWN.
The manual is 8 computer paper (66
lines) pages long and also includes
hints and tips as to how to get the
most out of CAW, have fun.
Creative Adventure Writer (Version 3.6) by Richard Hunt
Introduction
CAW is both an adventure game and adventure writer and was
written using Mandarin's brilliant STOS. Adventures can be made
up as you play by customising each location you come to (e.g.
exits, what happens, description). CAW is based on the concept of
triggers, a trigger being a command or phrase which will cause
something to happen, e.g. a door to open, an object to be got, an
object to be removed. Although this might not seem to be very
comprehensive it can be used to create quite versatile adventures
easily and relatively quickly.
Game commands
If you are interested on only playing adventures and not writing
them then you need only know the following basic commands.
n/north go north
s/south go south
e/east go east
w/west go west
u/up go up
d/down go down
inv/inventory lists objects carried
help lists verbs used in adventure
commands lists all CAW commands available
score current score (% explored)
cls clears screen
clear toggles clearing of screen on/off
look shows full graphic picture (if any)
border selects border type 1-16
display method of graphic display 1 - on
2 - once
3 - off
dir show disc's contents
keep (filename) save position to disc
resume (filename) load position from disc
ram save save position to memory
ram restore recall position from memory
load (filename) load adventure
pmap prints squared paper for mapping
psheet prints lined paper
Editing commands
As game commands but with the following additions:
edit enter edit mode and add password
edit (password) enter edit mode using password
normal return to game mode
!go (location number) jump to location
!edit edit location
!n !s !e !w !u !d create exit for direction
!wipe wipe location/exit
!bring (object) conjures up object into inventory
!remove (object) removes object from inventory
save (filename) saves adventure to disc
Creative Adventure Writer (Version 3.6) by Richard Hunt
edit/normal
This toggles between edit/game mode, edit mode allows all other
editing commands to be used while game mode restricts commands to
those relevant to playing the adventure. If there is no editing
password present then edit should be used and then the password
entered when requested, otherwise edit (password) should be used.
There are no extra parts to normal. When in edit mode ending the
game through holding or lack of an object is not possible, only
when it is caused through a trigger.
!go
When editing it is useful to be able to jump directly to a
location instead of 'walking' there. To go to the location simply
type !go (location number), the location number is displayed
above the location description in edit mode.
!n !s !e !w !u !d
Depending on what direction the exit you want to create is you
use one of the above, e.g. !s. After you have entered this the
computer will then ask you for two pieces of information. The
first is simply for the location number it is to lead to and the
second is for the exit type. The exit type can be hidden/visible
and/or accessible after a certain trigger[s] (more on triggers
later). The following is a summary of the codes used:
! Exit type ! Visible ! Hidden !
!-------------------------------------------------!
! Normal ! 0 ! 5 !
! After trigger 1 ! 1 ! 6 !
! After trigger 2 ! 2 ! 7 !
! After trigger 1 and 2 ! 3 ! 8 !
! After trigger 1 or 3 ! 4 ! 9 !
CAW can now only store a maximum of 1000 locations (the true
amount depends on the content of descriptions) due to the added
graphics and windows. This is not likely to cause many problems -
extremely few commercial adventure have this many!
!wipe
Wipes either an exit or location, simply follow the questions and
prompts to do so.
!bring
When testing the adventure it is useful to be able to have an
object to test the trigger[s] with (see next sheet). To conjure
up an object in your inventory type !bring (object).
!remove
The opposite of !bring being used to remove unwanted baggage, to
do so type !remove (object). Useful for testing triggers again
which require that object to be picked up.
Creative Adventure Writer (Version 3.6) by Richard Hunt
!edit
The most important of the editing commands as it is the one which
actually defines what is going to happen at that location. It is
described by entering two strings, the description and the
trigger string.
e.g. You are in a dark cave, water drips slowly down the walls
giving a sullen atmosphere. Exits lead north and south.
(chest:scroll::)get chest:examine scroll`The scroll shows a
map of the island, by a river is an X(:)
This location is set in a cave, the text entered in the
description is automatically formatted to fit onto the screen
without words being cut in half. No other text is treated like
this but the end of a line may be forced by inserting a \ into
the text. This is most useful in the trigger string and can also
be done on the location string forcing manual formatting.
The first two words are the objects which are present, in our
example these are a chest and a scroll. If no objects are
required then nothing is put although the actual 'sentance'
punctuation, i.e. (:::):(:), is. Note that the objects correspond
to their triggers.
The next two blank spaces are for additional text which is
printed up on the screen if the corresponding trigger is set,
this and everything else will be explained in more detail later.
It is now that the actual triggers come, in this case get chest
and examine scroll. The first word is always taken to be a verb
(unless otherwise stated, see further on) and is just there to
indetify whether the user is trying to do the right thing with
the object (the remaining words). However if the verb is get then
that object will be added to the player's inventory. Also note
that after examine scroll is an ` (the apostrophe above the
return key), this causes the following text to be printed up
immediately after the trigger is set and only then, again this
can be manually formatted through the use of \. If the additional
text begins with a # then this will print up the following text
and end the game.
The last brackets contain the 'game over' details, if there are
any. The first part is the object part, if the player has this
and the death object is prefixed with a # or the player hasn't
that object and there is no prefix then the game is over. The
final part of the bracket is the text which is printed up when
this happens, again this has to be manually formatted with \.
So in this location the player can get the chest which will be
removed from the location and can also examine the scroll. When
this happens the following text will appear on the screen (once
only), the scroll will not however be removed.
When !edit is entered then the triggers for that location are
reset. Also, by entering no text for a string then the old one is
used. Entering just a * results in the last location's text being
entered.
Version 3.6 also features a very useful 'secret' trigger
addition. Prefixing the trigger with & (this must be the first
prefix) will cause that action being carried out automatically
(and secretly) on arrival at the location. Similarly adding & to
Creative Adventure Writer (Version 3.6) by Richard Hunt
the beginning of an object name (it becomes part of the name)
causes the object to be picked up immediately on entering and
makes it invisible to the adventurer as are all the automatic
actions. Prefixing (first character again) an object with ^
results in the object being picked up when it's corresponding
trigger is set regardless of what that trigger is. All of these
features mark a significant improvement on previous versions as
it is now possible to have 'remote' triggers, i.e. an action at
one location can result in the adventurer being 'tagged' with an
invisible object to cause another event elsewhere. Note that
automatic triggers will not work if they have text after them
through the use of an apostrophe.
Creative Adventure Writer (Version 3.6) by Richard Hunt
To summarise, the description string is always automatically
formatted where as nothing else is and can only be done manually
using \. The trigger string can be briefly described as:
(Object 1:Object 2:Description 1:Description 2:)Trigger 1:
Trigger 2(End game Object:End game Message)Window & Graphic
Objects
These relate directly to the triggers, e.g. for get spanner to
work in trigger 1 then spanner would have to be object 1.
Prefixes can also be added, @ hides the object so that it won't
show on the You can see ..., # will only allow the object to
be seen after the other trigger has been activated - i.e. trigger
2 if object 1 and trigger 1 if object 2 and ^ will cause the
object to be picked up as soon as it's trigger is set. Any
combination of the prefixes can be used although ^ if used must
come first, e.g. #@spanner, ^@hidden. Adding & to the beginning
of the name will make it be picked up automatically on entering a
location. CAW can handle 200 movable objects (i.e. they can be
got), do not include any more or error messages will come up when
the limit is passed in the game.
Descriptions
These are printed up on the screen if their corresponding trigger
is activated, i.e. description 1 with trigger 1 and description 2
with trigger 2. These are added directly onto the end of the
location description and so put a \ at the beginning to force a
new line if that is what you want instead. Alternatively a # can
be used as a prefix which will cause the description to be the
new location description, trigger 2 taking the priority if both
triggers have this effect. All text is automatically formatted in
version 3.6 before display.
Triggers
The first word of these is always taken as the verb(s) and the
latter part the noun (name of the object) unless a \ (which will
take the place of a space), with or using is used to seperate the
two. The noun must be the name of the corresponding object or an
object which is in the player's inventory. If the first word is
get then the object will be removed and added to the player's
inventory. Triggers should not clash with the CAW commands.
Prefixes can also be added to these as well, & (this must be
the first prefix if there are several) carries out the trigger on
arrival secretly, # will remove the object after the trigger has
been activated and @ will only allow the trigger to take place
after the other trigger has been done. An apostrophe can also be
added to display instant text after the trigger.
e.g. get knife get the\knife attack guard with knife
Also, if the text after the ` begins with a # then this will
result in the followig text being printed up and the game ending.
Creative Adventure Writer (Version 3.6) by Richard Hunt
End of game bracket
The object part of this decides whether the game ends or not; if
it is prefixed with a # then the player dies if he has that
object, if it isn't prefixed then the player dies if he doesn't
have it. The message is then printed up and CAW prints up the
score, number of moves taken and then asks whether the player
wants another game.
Window and Graphic
This has not been mentioned before and is another new feature to
CAW. Version 3.6 has 6 window (text area) types, 5 of which can
be selected by the user - the other is the starting window. This
is selected by putting the relevant number straight after the
last bracket, these are:
0 - Full Screen 3 - Left half
1 - Top half of screen 4 - Right half
2 - Bottom half
The most successful of these are 0 - 3, the latter in my opinion
do not have sufficient width (19 characters). I included it as
extra options for anyone who finds it alright.
The windows were included specifically so that graphics could be
included, if you do not intend having graphics then simply leave
out the filename, I also suggest using window type 0. The
graphics are in the form of a compressed (STOS) screen created
from Neochrome or Degas (not Elite) screens using the program
GRAPHIC.PRG or one of your own. This filename (minus the .MBK)
comes immediately after the window type which must be specified,
e.g.:
1house - Top window (1) with screen HOUSE.MBK
223 - Bottom window (2) with screen 23.MBK
Although you will only usually draw the part seen, if you are
feeling really artistic you could draw all the screen which could
then be viewed by the adventurer by typing LOOK. If there is no
set graphic screen at the next location the picture will stay
displayed.
Creative Adventure Writer (Version 3.6) by Richard Hunt
Hints and Tips
An object does not have to be visible, it could be permanently
invisible to allow commands such as say hello to take place -
hello would be in the object part of the trigger string prefixed
with a @.
A similar technique can be used with the end game object, this
could be an object which isn't to be found in the adventure thus
causing instant death.
The game over part does not have to be for when the player dies -
it is a useful way of ending an adventure when it is completed.
Try to use up any spare triggers with commands like examine,
discovering things which needn't necessarily be necessary is
enjoyable in itself - especially if what has been discovered is
humourous.
Take up as much space for your description as you can, sometimes
this isn't possible if a trigger alters this but the bigger the
description the more powerful the image it conjures up.
In your adventure scatter bits of information which can be
discovered by the player as a detective would so helping build
the storyline.
Mistakes when keying in the strings are extremely annoying,
especially if what you have just typed in is very long. Checking
as you go along and having a final check at the end is very good
advice.
Try to introduce an air of originality into your adventure in the
sense of descriptions of doors etc.. Doors could be talking,
wooden, iron, intelligent, stupid, have spyholes, locks, the list
goes on!
On the subject of doors, exits can be easily made to be one-way
or go back to a different location - extremely handy for
constructing mazes. Don't make this too complicated though as it
could prove too frustrating and almost impossible.
Hiding exits and other objects is also a good idea, for example
having to open some curtains to find a door. You could also
include other ways of getting to locations such as pulling a
lever.
Puzzles are compulsary! An adventure without puzzles is like a
film without a plot. Arrange your puzzles so that they start off
fairly easy and get harder thus encouraging the player to carry
on. A lot of puzzles needn't necessarily mean a huge adventure,
in fact a huge adventure with relatively few puzzles can become
boring very quickly.
Creative Adventure Writer (Version 3.6) by Richard Hunt
Bigger puzzles can be constructed if you use the new prefixes (&
and ^). An object could be automatically picked up (e.g. &trip1)
which could then make an automatic trigger possible to bring
characters to a location. For example you could have a genie
which helps you at certain locations after you've rubbed it's
lamp or pull a trigger in one location to effectively do some
action elsewhere. This can be easily done as follows:
(^@trip1:::)pull lever:(:)
(::A bridge spans the gorge:)use trip1:(:)
When the lever is pulled the object trip1 secretly put in the
player's inventory. The player then goes back to the previously
uncrossable gorge to find a bridge (an exit was created with the
automatic trigger) as the trigger can now take place.
Think your puzzles out carefully beforehand, it's no good not
being able to complete a puzzle because to do just that you need
an object which is only available after you've overcome it! A
puzzle also needn't be a simple get key to unlock door job, it
might involve getting the hammer, to break the glass, to get the
whistle, to call the dog, to get a bone, to give to the wolf, to
get the key and then to unlock the door!!!
It is not necessary to give a password for editing by just
pressing return, useful if you forget things easily. When you do
come to include your password make it one that is unusual yet is
one you can remember instantly.
You can create adventures without ever editing in CAW by
wordprocessing it in pure ASCII (pressing return at the end of
each entire line). The file format is as follows:
(number of locations)
(description location 1)
(blank line)
(trigger string location 1)
(blank line)
etc.
(password)
This creates an unprotected CAW file and can be used to convert
any pre version 3.6 files. Although they will load in the text
will not fit correctly - to correct this just add back in the spaces
between any joined words and remove any unwanted \. The latter is
particularly important as in the old versions of CAW (the other
26!) the text was formatted on entering.
A useful source for an adventure is a book, even if the story
isn't in the area/time period you want to write in then names of
objects and people can easily be changed. However it is much more
satisfying to do your own idea as you can actually build your own
small world, it also allows you to distribute your adventure more
freely.
Test your adventure out before you give it to a friend or whoever
to play. On the same note, it's no good writing an adventure if
there's no one else to play it ...
Happy Adventuring