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 CHECKs 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 - CHECKs 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