Alan
Adventure Language
Tutorial
(Version 1.0, May 1998)
(Copyright © 1998 Stephen Griffiths)
Table of Contents
i - Introducing this Tutorial
i.1 - Text Adventure Games
i.2 - The Alan Adventure Language
i.3 - Purpose of this Tutorial
i.4 - Using this Tutorial
ii - Introducing the Alan System
ii.1 - Use any wordprocessor to write an adventure
ii.2 - The Adventure creation process
ii.3 - Compiling Alan source file
ii.4 - Hints to fix source code errors
ii.5 - Playing the compiled adventure
1 - Lesson One
1.1 - The most basic adventure
1.2 - Adding direction commands
1.3 - Adding location descriptions
1.4 - Compile the Example
Example Alan source code
2 - Lesson Two
2.1 - The first command - "finish" !
2.2 - The 'syntax' statement
2.3 - Verbs with the same name as Alan Statements
2.4 - A complete adventure is now written !
Example Alan source code
r1 - Tutor's Ramble 1 - About Source Code Layout
r1.1 - Why worry about layout ?
r1.2 - Remarks
r1.3 - Spacing
r1.4 - Capitilisation
r1.4.1 - Capitilisation (its not significant....)
r1.4.2 - Capitilisation (....except where its very signifcant!)
r1.5 - Indentation
3 - Lesson Three
3.1 - Location Names
3.2 - Special Formatting Characters
3.3 - The Description Section is for more than descriptions
3.4 - Awarding points to the player
3.5 - Displaying the score
Example Alan source code
4 - Lesson Four
4.1 - Synonyms
4.1.1 - Verb Synonyms
4.1.2 - Direction Synonyms
4.1.3 - Direction names can be anything
4.2 - VISITS
Statement
4.3 - LOOK
Statement
4.4 - 'Brief' and 'Verbose' Verbs
4.5 - Verbs and Descriptive Text
4.6 - Use of Double and Single Quote-Marks
Example Alan source code
5 - Lesson Five
5.1 - $INCLUDE
Statement
5.2 - Objects
5.2 - 'Take' Verb
5.3 - 'Drop' Verb
5. 4 - List Inventory Verb
5.5 - 'Creating' and 'Destroying' Objects
5.5.1 - 'Creating' Objects
5.5.2 - 'Destroying' Objects
5.6 - Local Verbs in Object Definitions
5.7 - Assigning Points for Player Actions
5.8 - An Example Bug
5.9 - Transforming an Object
5.10 - Using the Alan '-listing
' Option
Example Alan source code
6 - Lesson Six
6.1 - Verb Checking
6.2 - Object Attributes
6.2.1 - Local Object Attributes
6.2.2 - Numeric and Text Object Attributes
6.3 - Checking Attributes in Verb Definitions
6.4 - Defining Verb Parameters
6.4.1 - Using OBJECT
with Defined Syntax Verbs
6.4.2 - Multiple Object Verbs
6.5 - Object Names
6.6 - Object Synonyms
6.7 - IF
and CHECK
Statements in Verbs
6.8.1 - The Difference between IF
and CHECK
6.8.2 CHECK
s and 'take all'
6.9 - 'put' - a two-object verb
6.10 Using player text in game output
6.11 - Syntax Checking
6.12 Describing a container's contents
Example Alan source code
7 - Lesson Seven
7.1 - Save and Restore
7.2 - Game Opening Text
7.3 - Examine Object Verb
7.4 - Local and Global Verbs
7.4.1 - Another Example - 'Take the Bomb'
7.4.2 - Yet another local/global example - 'read'
7.5 - Equivalent Verb Definitions
7.6 - CHECK
s in Exits
7.6.1 - Door Objects and 'Open' Verb
7.6.2 - Exit Check Example
7.6.3 - The other side of the door
7.7 - 'enter'/'exit' synonyms for exits
7.8 - Container Object
7.9 - Blank Object Descriptions.
7.10 - Disabling 'put' for a Container Object
7.11 - Winning and Losing
Example Alan source code
Tutor's Ramble 2 - Conclusion - What's still to do?
r2.1 - Beta Testing
r2.2 - Synonyms and lots of them
r2.3 - Help and Hints
r2.4 - Alan features that didn't 'feature'
Appendix 1 - Sources of Further Information
a1.1 - The Alan Language manual
a1.2 - Alan Web Site
a1.3 - I.F. Archive
a1.4 - Internet Mail
a1.5 - I.F. Newsgroups
a1.6 - Alan user support
Appendix 2 - Acknowledgements