home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-13 | 146.7 KB | 3,590 lines |
-
-
-
-
-
-
-
-
-
-
-
- THE MASTER'S EDITION
-
- OF
-
- THE ADVENTURE GAME TOOLKIT
-
- Version 1.5
-
-
- BY
-
- DAVID R. MALMBERG
-
-
- Based on a program by Mark J. Welch
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Published by:
-
- Softworks
- 43064 Via Moraga
- Mission San Jose
- California
- 94539
-
- (510) 659-0533
-
-
-
-
- COPYRIGHT, TRADEMARKS AND WARRANTY
-
-
- COPYRIGHT:
- The Adventure Game Toolkit is a copyrighted work, just like a book. It is
- protected by United States copyright law and by applicable international
- treaty provisions. All text, program, and source code files on disk(s) are
- copyright 1987, 1988, 1989, 1990, 1991, 1992 and 1993 by Mark J. Welch and
- David R. Malmberg. Portions of the manual and source code are copyright
- 1985 and 1986 by Mark J. Welch.
-
-
- TRADEMARKS:
- "Adventure Game Toolkit", "AGT" and "Master's Edition" are trademarks of
- Mark J. Welch and David R. Malmberg.
-
-
- WARRANTY:
- The program disk(s) and printed manual are warranted to be free from
- defects in materials and workmanship for a period of 90 days from the date
- of purchase. In the event of a defect, registered users of AGT may obtain
- a replacement copy of the program disk(s) and/or manual from Softworks.
- The remedy for any breach of warranty shall be limited to replacement or
- refund and shall not encompass any other damages, including but not limited
- to loss of profit, special, incidental, consequential, or other similar
- claims.
-
-
- DISCLAIMER:
- THE ADVENTURE GAME TOOLKIT (AGT) COMES WITH NO OTHER WARRANTIES OF ANY
- KIND, INCLUDING WARRANTY OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR
- PURPOSE. THE ADVENTURE GAME TOOLKIT (AGT) IS AVAILABLE AS IS. IN NO EVENT
- WILL THE AUTHORS BE LIABLE FOR DAMAGES, INCLUDING ANY LOST PROFITS OR
- INCIDENTAL AND CONSEQUENTIAL DAMAGES, EVEN IF THE AUTHORS HAVE BEEN ADVISED
- OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
- Softworks is a member of the Association of Shareware Professionals -- your
- guarantee of quality in shareware software.
-
- ┌─────────┐
- ┌─────┴───┐ │ MEMBER
- ───│ │O │───────────────────
- │ ┌─────┴╨──┐ │ Association of
- │ │ ├─┘ Shareware
- └───┤ O │ Professionals
- ───────│ ║ │─────────────────────
- └────╨────┘
-
-
-
-
-
- 2
-
-
-
-
- QUICK START
-
-
- THE FILES ON THE DISK(S)
-
- On the disk(s) included with this documentation are a number of files.
- Specifically, the disk(s) have the Adventure Game Toolkit's MCOMPILE and
- MRUN programs, a number of sample adventure game source files, some
- "utility" programs, the latest documentation, and one or more "README"
- files.
-
- However, all of these files (except the README files) on the disk(s) are in
- a "compressed" form. By doing this, we were able to put the equivalent of
- twenty 360K disks worth of material on only six 360K disks. The IBM files
- have been "ZIPped." However, the means to "uncompress" your files has also
- been included on your disks. To learn how to do this, simply run or browse
- the README file. This file will explain in detail what steps you should
- follow to create an "uncompressed", fully-useable version of the Adventure
- Game Toolkit (AGT).
-
-
- CREATING A PLAYABLE VERSION OF ONE OF THE SAMPLE GAMES
-
- To create a playable version of one of the sample adventure games on your
- disk you will first need to MCOMPILE the game's source files and then RUN
- the compiled game using AGT's MCOMPILE and MRUN programs. The detailed
- steps needed to do this for an IBM or compatible computer are described in
- a section of the manual beginning on page 17.
-
-
- CREATING YOUR OWN ADVENTURE GAME
-
- When creating your source data files for your own AGT game, you must use a
- text editor (Qedit is highly recommended!) or word processor which creates
- plain ASCII or TEXT files with a true carriage return at the end of each
- line. Lines longer than 80 characters, WordStar or WordPerfect document
- files, will cause AGT to abort! The best rule-of-thumb is to use the
- MS-DOS "TYPE" command to view the file. If it looks normal, it's probably
- OK for AGT. If words split at the end of the line and strange characters
- appear, it's probably not OK for AGT.
-
- Obviously, you will need to know what to put into your AGT source files in
- order to create your own adventure game. Unfortunately, there is no "quick
- start" for doing this -- other than reading the documentation. If you are
- anxious to start your own adventure game and want to read as little as
- possible to get started, read sections 1 and 2 of the manual. These
- sections should tell you enough to get you started. However, read the
- other sections of the manual later or you will really miss out on
- discovering just how much power AGT can give you to creating truly
- professional level, world-class games.
-
-
-
- 3
-
-
-
-
- SECTIONS OF THE MANUAL
-
- PART 1 gives an overview of the Adventure Game Toolkit, the various files
- on the disk(s), and explains how to play the adventure games created by the
- AGT.
-
- PART 2 gives a number of pointers on how to create a good adventure game.
- It also explains the way AGT defines an adventure game in terms of files
- and game data elements like Rooms, Nouns, and Creatures and gives several
- examples of each.
-
- PART 3 explains the use of AGT's unique meta-language and how it can be
- used to create Professional Level adventure games. Numerous examples are
- given.
-
- PART 4 gives several detailed scenarios where meta-language commands have
- been used to create typical adventure games situations, like random attacks
- by other characters, and how to expand the game's vocabulary to include new
- verbs and actions.
-
- PART 5 gives a number of helpful "secret" commands for "debugging" your
- game once you have a first draft.
-
- PART 6 shows how to (at your option) incorporate graphic illustrations into
- your game.
-
- PART 7 shows how to (at your option) incorporate music and sound effects
- that use the PC's internal speaker or Adlib or SoundBlaster (or compatible)
- files into your game.
-
- PART 8 shows a variety of the "new and improved" features to be found in
- the Master's Edition (that are not available in the Classic Edition).
-
- The final part of the manual is a series of Appendices that give detailed
- information on a number of specific AGT topics for easy reference.
-
-
- HARDWARE REQUIREMENTS FOR AGT
-
- The games created by the Master's Edition of the Adventure Game Toolkit
- requires an IBM-compatible computer with at least 512K of memory, MS-DOS
- 2.1, and a hard disk drive. You may use any kind of monitor and AGT will
- automatically adjust its output to best suit your monitor. However, when
- viewing illustrations (or pictures) you must have a graphics display. An
- EGA or VGA display is recommended.
-
-
-
-
-
-
-
-
- 4
-
-
-
-
- DIFFERENCES BETWEEN THE CLASSIC AND THE MASTER'S EDITIONS
-
-
- The "Classic Edition" (i.e., the normal/old/regular version) of AGT is very
- simple to use and can be used by programming novices or even by
- non-programmer's to create very professional text adventures similar to
- those from firms like Infocom. Versions of the Classic Edition are
- available for IBM, Macintosh, Atari ST and Amiga computers and games
- created on any of these computers can be re-compiled and played on any of
- the other computers. The Classic Edition is still supported and available
- from Softworks as Shareware for only $20 (or $40 including a 223 page
- printed manual with lots and lots of detailed examples).
-
- The "Master's Edition" contains all the features and capabilities of the
- "Classic Edition" plus a whole lot more. It is totally compatible with the
- Classic Edition and games originally developed for the Classic Edition can
- be easily converted to and used with the Master's Edition. The Master's
- Edition is available only for IBM (or compatible) computers. The Master's
- Edition is aimed at the more sophisticated and experienced programmer/game
- designer.
-
- The Master's Edition has a number of "new and improved" features not found
- in the Classic Edition -- including:
-
- o Bigger games; approximately twice as large as "Classic" games,
- e.g., up to 300 rooms, 200 nouns, 900 messages, etc., and a
- typical game can have a vocabulary of 1000 words or more.
-
- o An OOPS feature that allows you to edit/correct your input
- commands.
-
- o Optional graphic illustrations using PCX formatted pictures for
- display on CGA, EGA or VGA screens. The PCX format is the most
- widely available of any picture format and is supported by most
- PAINT and/or DRAW programs. Plus -- a great deal of PCX
- "clip-art" is available.
-
- o Optional animation (*) using FLI files (produced by Autodesk
- Animator, Animator Pro, 3D-Studio, PC-Animate, StrataVision 3D
- and other animation packages) that can be displayed on VGA
- screens (only). The FLI format is the most widely used animation
- format. Plus -- a great deal of FLI animation "clip-art" is
- available.
-
- o Optional music and sound effects that can be played in the
- "background" during the game. These sound effects can either use
- the PC's internal speaker or use an AdLib (*) or SoundBlaster (*)
- (or compatible) "sound card" (if one is available).
-
- o Optional user-definable "look-and-feel" interface including a
- menu-driven player input option that displays feasible commands
- for he player to pick from.
-
- 5
-
-
-
-
- o Optional "pop-up" hints available when the <Alt> and <h> keys are
- pressed at the same time.
-
- o Optional fonts (EGA and VGA monitors only) that can be changed to
- suit the needs of the game. The Master's Edition comes with over
- 30 sample fonts including Old English, Scrawl, Computereze.
- Plus, a Font Editor is provided that allows you to create your
- own unique fonts.
-
- o Greatly enhanced question and answer capability (*) that makes
- the Master's Edition ideal for computer-aided-instruction or
- tutorial applications.
-
- (*) New feature available with version 1.5 of the Master's Edition.
-
- The Master's Edition is totally compatible with the Classic Edition and
- games originally developed for the Classic Edition can be easily converted
- to (using a provided conversion utility) and used with the Master's
- Edition.
-
- The Master's Edition is available only for IBM (or compatible) computers.
- However, be warned: The Master's Edition is aimed at the more sophisticated
- and experienced programmer/game designer!
-
- The Master's Edition is available from Softworks for only $50. This price
- includes the cost of six ZIPped disks with over 5 megabytes of goodies
- including complete documentation on disk, a bunch of game creation
- utilities, several brand new sample games including the complete AGT source
- code to:
-
- o HUMONGOUS CAVE (believed to be the largest text adventure game
- available on any microcomputer). Based on the "Colossal Cave"
- adventure, but expanded to 1000 points, 300 locations, hundreds
- of objects, elves and other creatures, treasures and puzzles.
-
- o HURRY! HURRY! HURRY! -- an illustrated, musical text adventure
- about a mystery in a traveling circus with all of the game's
- related font, music, sound effects and pictures files.
-
- o SHERLOCK HOLMES -- a very unusual, menu-driven adventure where
- you play the famous detective and try to solve a total of 18
- separate cases. This adventure illustrates the Master's
- Edition's vastly improved capability to handle questions and
- answers. HOLMES is new with version 1.5 of the Master's.
-
- o BRAINSCAPE -- an adventure that takes place inside the brain
- similar to the novels (and movie) by Isaac Asimov "Fantastic
- Voyage" and "Fantastic Voyage II: Destination Brain".
-
- o SQUYNCH -- a classic adventure in-the-style-of-Infocom in which
- you challenge the evils and mysteries of the Land of Squynch.
- Very clever!
-
- 6
-
-
-
-
- o PORK -- a parody of the Infocom ZORK series of adventures. If
- you were frustrated by ZORK, play PORK and enjoy the sweet fruits
- of revenge.
-
- o ADVENTURELAND and PIRATE'S ADVENTURE -- two true classic games by
- Scott Adams converted to AGT. See how a real master of the genre
- does his magic!
-
- Which version is right for you? If you are a "power" gamer/programmer and
- know that you can use (or need) the full power of the Master's Edition,
- then by all means -- get the Master's Edition. If you have less experience
- with programming or game design, then you should probably start with the
- Classic Edition. If you select the Classic Edition, you can always upgrade
- later when you need the full power of the Master's Edition -- for a special
- "registered AGT user" upgrade price of only $35.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 7
-
-
-
-
- ADVENTURE GAME TOOLKIT (AGT) REGISTRATION/ORDER FORM
-
- Remit to: Softworks
- 43064 Via Moraga, Mission San Jose, California 94539-5748
-
- You can also order by phone using your Mastercard or VISA by dialing
- (510) 659-0533, 6:00 PM to 9:00 PM., PST ONLY, Monday to Thursday
- 9:00 AM to 5:00 PM., PST ONLY, Saturday and Sunday
-
- AGT Registration (Classic Edition).................... $ 20.00 $ ______
- includes: (1) Notice of future AGT upgrades, new AGT Adventures and
- related AGT products. (2) Latest version of the programs, sample
- Adventure game source files (CAVE, CRUSADE, UNDERGND, ALICE and
- others), and summary documentation on disk. Over one and half megabyte
- of program and data files -- ZIPped on two disks. (3) Telephone
- support from 7 PM to 9 PM PST (M-Th) plus Weekends. (4) The option to
- upgrade to the Master's Edition of AGT at any time for only $ 35.
-
- Above with printed AGT manual (Classic Edition)....... $ 40.00 $ ______
- includes: Above items plus printed manual (223 pages) with numerous
- detailed examples on how to use the Adventure Game Toolkit to create
- very professional and very clever Adventure games. The printed AGT
- manual has approximately 300% the amount of information as contained in
- the summary disk documentation.
-
- Master's Edition AGT Purchase ........................ $ 50.00 $ ______
- The Master's Edition of AGT is for the IBM only and is aimed at
- more sophisticated programmers/game designers. The package includes:
- (1) Notice of future AGT upgrades, new AGT Adventures and related AGT
- products. (2) Latest version of the Master's Edition programs and
- utilities, sample Adventure game source files (HUMONGOUS CAVE, HURRY,
- PORK, SQUYNCH, PIRATE and others), and complete documentation on disk.
- Over five megabyte of program and data files -- ZIPped on six disks.
- (3) Telephone support from 7 PM to 9 PM PST (M-Th) plus Weekends.
-
- Orders are normally shipped by US mail at no additional charge.
- For UPS ground shipment, please add $5.00......... $ 5.00 $ ______
-
- Shipments outside the United States are sent via Air Mail:
- For shipments to Africa, Hong Kong, Japan, New Zealand
- or Australia add ............................ $ 14.00 $ ______
- For shipments to Canada or Mexico add........... $ 6.00 $ ______
- For shipments to Great Britain and Europe add... $ 10.00 $ ______
- For shipments elsewhere outside the USA add..... $ 12.00 $ ______
-
- Subtotal $ ______
-
- (California residents please add 8.25% sales tax) Tax $ ______
-
- ******** U.S. Dollars ONLY!!! -------------->>> Total $ ______
-
- Payment by: ( ) Check ( ) MasterCard ( ) VISA ( ) Cash
-
- 8
-
-
-
-
- ADVENTURE GAME TOOLKIT (AGT) REGISTRATION/ORDER FORM -- PAGE 2
-
-
- Name: ____________________________________________________________
-
- Company: ____________________________________________________________
-
- Address: ____________________________________________________________
-
- : ____________________________________________________________
-
- City : ____________________________________________________________
-
- State: ___________________________ Zip:____________________________
-
- Country: ____________________________________________________________
-
- Day Phone: _________________________ Eve: ___________________________
-
- Card #: _________________________________ Exp. Date: _______________
-
- Signature of cardholder: ____________________________________________
-
- AGT Version/Disk Size desired: ______ IBM 5 1/4 ______ IBM 3 1/2
-
- Disk density desired: ______ High ______ Low
-
-
- ------------------------ User comments ------------------------------
-
- I heard about the Adventure Game Toolkit (AGT) from
- [ ] - Friend [ ] - Disk Vendor
- [ ] - Computer Club [ ] - Computer Store
- [ ] - CompuServe [ ] - BIX
- [ ] - Genie [ ] - Electronic Bulletin Board
- [ ] - Other - Please Specify ________________________________
-
- We would also appreciate any input you would care to give concerning
- AGT. If you have any ideas or comments that would make AGT a better
- system, then please let us know.
-
- We value your comments and/or suggestions:
-
- ____________________________________________________________________
-
- ____________________________________________________________________
-
- ____________________________________________________________________
-
- ____________________________________________________________________
-
- ____________________________________________________________________
-
- 9
-
-
-
-
- ADVENTURE GAME TOOLKIT PRODUCT/TECHNICAL SUPPORT
-
-
- Softworks will make every reasonable effort to fix AGT bugs, and help
- registered users by answering technical and other AGT related questions.
- This Product/Technical support for AGT is available to registered users
- (only) in several forms:
-
- (1) By telephone to David Malmberg at Softworks, Monday through
- Thursday from 7:00 PM to 9:00 PM (Pacific Coast Time) at (510)
- 659-0533. Or, on Saturday and Sunday from 9:00 AM to 5:00 PM
- (PST). Please respect these hours!!!
-
- (2) By CompuServe E-Mail to David Malmberg, CompuServe ID 73435,1277.
-
- (3) By Genie E-Mail to D.MALMBERG.
-
- (5) By letter to: Softworks
- 43064 Via Moraga
- Mission San Jose, California
- 94539
-
- If you send disks or listings that you wish returned, be sure to
- enclosed a self-addressed, stamped envelope (SASE) with
- sufficient postage. If you do not enclose a SASE, your material
- will not be returned.
-
- Regardless of the method you use to solicit AGT support, if you are having
- a problem and you can not get AGT to do what you think it should do, please
- provide background information on the following:
-
- (1) The version of AGT you are using. The version number is
- displayed on the title screen whenever you execute MCOMPILE or
- MRUN.
-
- (2) The computer system you are using.
-
- (3) Your system's configuration, i.e., amount of RAM, number and type
- of disk drives, the type of monitor you are using.
-
- (4) Any memory resident programs you have installed at the same time
- you are using AGT and a "rough idea" of what they do and how much
- memory they take.
-
- (5) Your problem, i.e., what is happening vs. what you think should
- be happening.
-
-
-
-
-
-
-
- 10
-
-
-
-
-
- TABLE OF CONTENTS
-
- COPYRIGHT, TRADEMARKS AND WARRANTY . . . . . . . . . . . . . . . . . . 2
-
- QUICK START . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
- THE FILES ON THE DISK(S) . . . . . . . . . . . . . . . . . . . . . 3
- CREATING A PLAYABLE VERSION OF ONE OF THE SAMPLE GAMES . . . . . . 3
- CREATING YOUR OWN ADVENTURE GAME . . . . . . . . . . . . . . . . . 3
- SECTIONS OF THE MANUAL . . . . . . . . . . . . . . . . . . . . . . 4
- HARDWARE REQUIREMENTS FOR AGT . . . . . . . . . . . . . . . . . . 4
-
- DIFFERENCES BETWEEN THE CLASSIC AND THE MASTER'S EDITIONS . . . . . . . 5
-
- ADVENTURE GAME TOOLKIT (AGT) REGISTRATION/ORDER FORM . . . . . . . . . 8
-
- ADVENTURE GAME TOOLKIT PRODUCT/TECHNICAL SUPPORT . . . . . . . . . . . 10
-
- PART 1: INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . 15
- FEATURES OF THE MASTER'S EDITION OF THE ADVENTURE GAME TOOLKIT . . 15
- QUICK START FOR CREATING A READY-TO-PLAY GAME . . . . . . . . . . 17
- MASTER'S EDITION AGT FILES . . . . . . . . . . . . . . . . . . . . 19
- ADDITIONAL GAMES AVAILABLE . . . . . . . . . . . . . . . . . . . . 19
- HOW TO PLAY THE ADVENTURE GAME(S) PROVIDED WITH AGT . . . . . . . 20
- VOCABULARY . . . . . . . . . . . . . . . . . . . . . . . . . 20
- STANDARD LEVEL VERBS . . . . . . . . . . . . . . . . . . . . 22
- SOME GENERAL COMMENTS ABOUT COMMANDS . . . . . . . . . . . . 23
- ABBREVIATIONS AND SPECIAL KEYS . . . . . . . . . . . . . . . 23
- RE-DEFINABLE FUNCTION KEYS . . . . . . . . . . . . . . . . . 24
- NEW INPUT "EDITOR" WITH "OOPS" FEATURE . . . . . . . . . . . 24
- SPECIAL WORDS . . . . . . . . . . . . . . . . . . . . . . . . 25
- NOUNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
- NOISE WORDS . . . . . . . . . . . . . . . . . . . . . . . . . 26
- PREPOSITIONAL PHRASES . . . . . . . . . . . . . . . . . . . . 26
- COMMAND LINE OPTIONS . . . . . . . . . . . . . . . . . . . . 26
-
- PART 2: HOW TO WRITE AN ADVENTURE GAME . . . . . . . . . . . . . . . . 27
- INTRODUCTION: WHY SHOULD I WRITE MY OWN ADVENTURE GAME? . . . . . 27
- HOW AN AGT ADVENTURE GAME WORKS . . . . . . . . . . . . . . . . . 27
- AN OVERVIEW . . . . . . . . . . . . . . . . . . . . . . . . . 27
- THE "MECHANICS" OF WRITING YOUR GAME FILES . . . . . . . . . . . . 29
- LABELS AND AGTLABEL . . . . . . . . . . . . . . . . . . . . . 29
- LABEL DEFINITIONS . . . . . . . . . . . . . . . . . . . . . . 30
- STANDARD LEVEL GAME FILES . . . . . . . . . . . . . . . . . . 31
- TITLE FILES . . . . . . . . . . . . . . . . . . . . . . . . . 31
- SETTING SCREEN COLORS . . . . . . . . . . . . . . . . . . . . 32
- INSTRUCTIONS FILES . . . . . . . . . . . . . . . . . . . . . 33
- THE WORK-HORSE .AGT FILE . . . . . . . . . . . . . . . . . . 33
- ROOMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
- HELP MESSAGES . . . . . . . . . . . . . . . . . . . . . . . . 36
- NOUNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
- TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
-
- 11
-
-
-
-
- MULTIPLE NOUNS WITH THE SAME NAME . . . . . . . . . . . . . . 39
- PUSH, PULL, TURN, AND PLAY DESCRIPTIONS . . . . . . . . . . . 39
- EATING, DRINKING, AND DYING . . . . . . . . . . . . . . . . . 40
- WEIGHT AND SIZE . . . . . . . . . . . . . . . . . . . . . . . 41
- LIGHT AND DARKNESS . . . . . . . . . . . . . . . . . . . . . 41
- CREATURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
- TALK AND ASK MESSAGES . . . . . . . . . . . . . . . . . . . . 44
- GROUPS OF CREATURES . . . . . . . . . . . . . . . . . . . . . 44
- SPECIALS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
- "SPECIAL" SPECIALS . . . . . . . . . . . . . . . . . . . . . 46
- CREATING A TYPICAL ROOM . . . . . . . . . . . . . . . . . . . . . 48
- "INVISIBLE" NOUNS . . . . . . . . . . . . . . . . . . . . . . . . 51
- SCORING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
- OTHER DATA ITEMS IN THE .AGT FILE . . . . . . . . . . . . . . . . 53
- INTRODUCTION or INTRO TEXT . . . . . . . . . . . . . . . . . 53
- STARTING ROOM . . . . . . . . . . . . . . . . . . . . . . . . 53
- RESURRECTION_ROOM . . . . . . . . . . . . . . . . . . . . . . 54
- MAX_LIVES . . . . . . . . . . . . . . . . . . . . . . . . . . 54
- TREASURE ROOM . . . . . . . . . . . . . . . . . . . . . . . . 54
- VERB SYNONYMS . . . . . . . . . . . . . . . . . . . . . . . . 54
- WARNING . . . . . . . . . . . . . . . . . . . . . . . . 55
- PLAYER_DEAD . . . . . . . . . . . . . . . . . . . . . . . . . 55
- GAME_WIN . . . . . . . . . . . . . . . . . . . . . . . . . . 56
- GAME_END . . . . . . . . . . . . . . . . . . . . . . . . . . 56
- PAGE PAUSES . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
- ORDER OF DEFINITIONS . . . . . . . . . . . . . . . . . . . . . . . 57
- HOW TO INCLUDE COMMENTS IN YOUR AGT DATA FILES . . . . . . . . . . 57
- CREATING A FINAL COMPILED VERSION . . . . . . . . . . . . . . . . 59
-
- PART 3: USING META-COMMANDS IN PROFESSIONAL LEVEL ADVENTURE GAMES . . 60
- CUSTOM USER-DEFINED VERBS . . . . . . . . . . . . . . . . . . . . 60
- MAXIMUM_SCORE . . . . . . . . . . . . . . . . . . . . . . . . . . 62
- MESSAGES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
- A TYPICAL GAME TURN . . . . . . . . . . . . . . . . . . . . . . . 63
- "ANY" META-COMMANDS . . . . . . . . . . . . . . . . . . . . . . . 64
- META-COMMANDS FOR SPECIFIC WORDS . . . . . . . . . . . . . . . . . 66
- "AFTER" META-COMMANDS . . . . . . . . . . . . . . . . . . . . . . 66
- THE FORMAT OF META-COMMANDS . . . . . . . . . . . . . . . . . . . 67
- PRINTING SHORT MESSAGES FROM META-COMMANDS . . . . . . . . . . . . 70
- MULTI-LINE SHORT-CUT MESSAGES . . . . . . . . . . . . . . . . . . 71
- META-COMMANDS CONDITIONAL TESTS . . . . . . . . . . . . . . . . . 72
- PLAYER CONDITIONS . . . . . . . . . . . . . . . . . . . . . . 73
- ITEM(S) CONDITIONS . . . . . . . . . . . . . . . . . . . . . 74
- NOUN CONDITIONS . . . . . . . . . . . . . . . . . . . . . . 75
- MISCELLANEOUS CONDITIONS . . . . . . . . . . . . . . . . . . 77
- TEXT MACROS . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
- MACRO NESTING AND RECURSION . . . . . . . . . . . . . . . . . . . 80
- MULTIPLE SOURCE FILES . . . . . . . . . . . . . . . . . . . . . . 81
- OTHER MCOMPILE KEYWORDS . . . . . . . . . . . . . . . . . . . . . 83
- DELIMITER CHARACTERS . . . . . . . . . . . . . . . . . . . . . . . 83
- META-COMMANDS ACTION TOKENS . . . . . . . . . . . . . . . . . . . 84
- PLAYER ACTION TOKENS . . . . . . . . . . . . . . . . . . . . 84
-
- 12
-
-
-
-
- A WORD OF WARNING . . . . . . . . . . . . . . . . . . . . . . 84
- ITEM/NOUN/LOCATION ACTION TOKENS . . . . . . . . . . . . . . 85
- MISCELLANEOUS ACTION TOKENS . . . . . . . . . . . . . . . . . 86
- SPECIAL META-COMMAND SITUATIONS . . . . . . . . . . . . . . . . . 87
- FLAGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
- DEBUG FLAG . . . . . . . . . . . . . . . . . . . . . . . . . 88
- COUNTERS . . . . . . . . . . . . . . . . . . . . . . . . . . 88
- VARIABLES . . . . . . . . . . . . . . . . . . . . . . . . . . 89
- NUMBER INPUT . . . . . . . . . . . . . . . . . . . . . . . . 93
- ASKING AND ANSWERING QUESTIONS . . . . . . . . . . . . . . . 94
- DEALING WITH MULTIPLE NOUNS WITH THE SAME NAME . . . . . . . 95
- HANDLING THE CONTENTS OF VARIOUS THINGS . . . . . . . . . . . 96
- OPENING AND CLOSING PASSAGEWAYS BETWEEN ROOMS . . . . . . . . 97
- META-COMMAND REDIRECTION . . . . . . . . . . . . . . . . . . . . . 98
- ORGANIZATION OF META-COMMANDS IN THE .AGT FILE . . . . . . . . . . 104
-
- PART 4: SAMPLE AGT META-COMMAND SCENARIOS . . . . . . . . . . . . . . 108
- SCENARIO 1: "FIND" VERB ACTIONS . . . . . . . . . . . . . . . . . 108
- SCENARIO 2: RANDOM ACTIVITIES BY GUARD . . . . . . . . . . . . . . 110
- SCENARIO 3: INTERACTION WITH OTHER CHARACTERS . . . . . . . . . . 117
-
- PART 5: "DEBUGGING" YOUR ADVENTURE . . . . . . . . . . . . . . . . . . 125
-
- PART 6: OPTIONAL GRAPHIC ILLUSTRATIONS . . . . . . . . . . . . . . . . 127
- GRAPHIC CONVERSION UTILITIES . . . . . . . . . . . . . . . . . . . 127
- SCREEN DISPLAY AND FILE EXTENSION OPTIONS . . . . . . . . . . . . 127
- ANIMATION DISPLAYS . . . . . . . . . . . . . . . . . . . . . . . . 128
- UTILITY VIEWER . . . . . . . . . . . . . . . . . . . . . . . . . . 129
- ROOM, NOUN AND CREATURE PICTURES OR ANIMATIONS . . . . . . . . . . 129
- MULTIPLE ROOM PICTURES AND ANIMATIONS . . . . . . . . . . . . . . 131
- META-COMMANDS AND PICTURES . . . . . . . . . . . . . . . . . . . . 132
-
- PART 7: OPTIONAL MUSIC AND SOUND EFFECTS . . . . . . . . . . . . . . . 135
- SOUND CONVERSION UTILITIES . . . . . . . . . . . . . . . . . . . . 135
- ADLIB AND SOUNDBLASTER SUPPORT . . . . . . . . . . . . . . . . . . 136
- USING SOUND AND MUSIC . . . . . . . . . . . . . . . . . . . . . . 136
- IMPORTANT NOTE ABOUT SOUND AND MUSIC . . . . . . . . . . . . . . . 137
-
- PART 8: OTHER NEW FEATURES UNIQUE TO MASTER'S EDITION . . . . . . . . 139
- CUSTOMIZEABLE "DEFAULT" MESSAGES . . . . . . . . . . . . . . . . . 139
- CUSTOMIZEABLE USER INTERFACE . . . . . . . . . . . . . . . . . . . 140
- ADAPTING YOUR GAME FOR THE "MENU-DRIVEN" PLAYER INPUT . . . . . . 141
- INITIAL DESCRIPTIONS FOR ROOMS, NOUNS AND CREATURES . . . . . . . 147
- NOUN INITIAL DESCRIPTIONS . . . . . . . . . . . . . . . . . . 147
- CREATURE INITIAL DESCRIPTIONS . . . . . . . . . . . . . . . . 148
- ROOM INITIAL DESCRIPTIONS . . . . . . . . . . . . . . . . . . 149
- SETTING COLORS WITHIN MESSAGES AND DESCRIPTIONS . . . . . . . . . 153
- "ILLEGAL" DIRECTION MESSAGES . . . . . . . . . . . . . . . . . . . 154
- CUSTOM FONTS . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
- NOTIFY COMMAND . . . . . . . . . . . . . . . . . . . . . . . . . . 155
- USER SPECIFIED "STRINGS" . . . . . . . . . . . . . . . . . . . . . 156
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
-
- 13
-
-
-
-
- OTHER NEW META-COMMAND TOKENS . . . . . . . . . . . . . . . . . . 159
- SUMMARY OF ALL NEW MASTER'S EDITION META-COMMAND TOKENS . . . . . 161
-
- APPENDIX A: AGT ERROR MESSAGES . . . . . . . . . . . . . . . . . . . . 165
- ERRORS DURING GAME COMPILATION . . . . . . . . . . . . . . . . . . 165
- ERRORS DURING RESTORING GAME . . . . . . . . . . . . . . . . . . . 165
- ERRORS DURING GAME PLAY . . . . . . . . . . . . . . . . . . . . . 165
- TURBO PASCAL RUN-TIME ERRORS . . . . . . . . . . . . . . . . . . . 166
-
- APPENDIX B: RECOMMENDED SHAREWARE UTILITIES . . . . . . . . . . . . . 167
- PIANOMAN 4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
- MELODY MASTER . . . . . . . . . . . . . . . . . . . . . . . . . . 167
- GRAPHIC WORKSHOP . . . . . . . . . . . . . . . . . . . . . . . . . 168
- IMPROCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
- PAINT SHOP PRO . . . . . . . . . . . . . . . . . . . . . . . . . . 169
-
- APPENDIX C: ANNUAL AGT CONTEST . . . . . . . . . . . . . . . . . . . . 170
-
- APPENDIX D: ABOUT THE AUTHOR . . . . . . . . . . . . . . . . . . . . . 172
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 14
-
-
-
-
- PART 1: INTRODUCTION
-
-
- The Adventure Game Toolkit is designed to allow you to create and play your
- own text adventure games. Once created, your adventure games can be shared
- with and enjoyed by others -- even if they do not have a copy of the
- Adventure Game Toolkit themselves.
-
- The Adventure Game Toolkit (AGT) began life as a program by Mark Welch
- called the Generic Adventure Game System (GAGS). Using GAGS it was
- possible for the non-programmer to develop complete adventure games using a
- fixed (but relatively large) vocabulary of action verbs. David Malmberg
- took GAGS and made a number of enhancements including the ability to
- customize the vocabulary and to program complex conditional tests and a
- rich assortment of actions and messages using a special meta-language
- (designed specifically for adventure games). The current Adventure Game
- Toolkit combines the best features of both approaches to enable the user to
- create two distinct levels of adventure games:
-
- (1) Standard Level games that require no programming experience
- (honestly!), only a fertile imagination. These Standard Level
- games follow the original GAGS format and only require that the
- user generate the game using a word processor or text editor to
- describe the various locations, objects and results of actions
- that collectively make up the game.
-
- (2) Professional Level games that also make use of the special
- adventure game meta-language to create games as complex and rich
- as the game designer's imagination and prose style will allow.
- These games should be technically comparable with the published
- text adventure games from firms like Infocom.
-
-
- FEATURES OF THE MASTER'S EDITION OF THE ADVENTURE GAME TOOLKIT
-
- The Master's Edition of AGT has a number of features that make it a very
- comprehensive adventure product. These features make the Master's Edition
- more powerful, more professional and easier to use than any previously
- available Adventure Game development system. Some of these key features
- are:
-
- POWERFUL
-
- * Big, complex games with up to 300 locations, 200 inanimate
- objects (e.g., treasures, swords, lakes, trees, books, etc.)
- and 200 animate objects (e.g., people, animals or
- creatures).
-
- * Large standard vocabulary with potential to define many more
- words unique to a specific adventure. Typical games can
- have a vocabulary of 1000 words or more.
-
-
- 15
-
-
-
-
- * Sophisticated parser that can understand (1) complex input
- commands including pronouns (IT, HIM, HER, THEM, MY and
- ITS), and (2) compound commands separated by AND or THEN or
- punctuation symbols, and (3) commands addressed to
- characters within the game. Here are a few examples of
- commands AGT can handle with ease:
-
- GET THE FLASH LIGHT AND THEN SWITCH IT ON
- DROP THE FOOD, THE KEY AND THE BOTTLE THEN UNLOCK THE
- DOOR WITH THE BRASS KEY AND THEN LEAVE
- PUT ON THE CLOAK, THEN EXAMINE IT; READ ITS LABEL
- PLACE THE GREEN ROCK AND THE SMALL PEBBLE BEHIND
- THE TREE
- ENTER THE HOUSE; GET ALL; EXIT; SOUTH; SOUTH THEN DOWN
- SULU, SET A COURSE FOR ALPHA 14
- SCOTTY, BEAM DOWN A TRICORDER AND THE QWERTY MODULE
-
- * Special, English-like meta-language (especially developed
- for writing Adventure games) that gives the game designer
- total control and flexibility in the development of his/her
- games.
-
-
- PROFESSIONAL
-
- * "Look and feel" of Infocom adventure games with similar
- screen layout and standard vocabulary and routines.
-
- * Optional graphic illustrations using PCX formatted pictures
- or FLI file animation -- if the player's display can support
- it.
-
- * Optional fonts (EGA and VGA monitors only) that can be
- changed to suit the needs of the game.
-
- * Optional music and sound effects that can be played in the
- background during the game. These sound effects can use the
- PC's internal speaker or Adlib or SoundBlaster cards.
-
- * Optional user-definable "look-and-feel" interface including
- a menu-driven player input option that displays feasible
- commands from which the player can pick.
-
- * Optional "pop-up" hints available when the <Alt> and <h>
- keys are pressed at the same time.
-
- * Automatic screen adaptation to use either a color or a mono-
- chrome monitor. Color combinations may be specified by the
- game designer or by the player during the game.
-
- * Predefined function and cursor keys to input frequently used
- commands and move directions.
-
- 16
-
-
-
-
- * SCRIPT and UNSCRIPT commands to echo game output to printer.
-
- EASY-TO-USE
-
- * Large library of completed games that can be enjoyed simply
- as great entertainment or used as a platform by the game
- designer to build upon and/or learn from.
-
- * Professionally written documentation totalling over 200
- pages. Has numerous examples that unveil the "secrets" of
- great adventure writers.
-
-
- QUICK START FOR CREATING A READY-TO-PLAY GAME
-
- If you've never played an adventure game before, the best way to start to
- understand how an adventure game works is to play one. Before you can do
- that, however, there are a few things you should do first to protect your
- disk(s) and to create the final version of the game from the source files
- on the disk(s).
-
- Let's make a playable copy of SQUYNCH (one of the games provided as part of
- the Master's Edition package).
-
- NOTE: You would follow exactly the same steps to make a ready-to-play
- version of any of the other games provided with the Master's Edition. For
- example, if you want to make a playable copy of the game HUMONGOUS CAVE,
- just substitute the word "HUGHCAVE" wherever you see the word "SQUYNCH"
- below.
-
- 1. First, make a copy of the original disk(s) and put them in a safe
- place. That way, if you accidentally damage the disk(s) you're
- playing with, you can still re-copy the original(s). Check your DOS
- manual for the correct form of the COPY or DISKCOPY command that is
- appropriate for your particular system.
-
- 2. If there is a file on the disk(s) called READ.ME, read that file
- before going further. These files will have information on changes
- and/or features that have been made after the documentation was
- created.
-
- 3. Create a new subdirectory (named SQUYNCH) on your hard disk by giving
- the DOS command MD\SQUYNCH
-
- 4. Copy the following files to your new subdirectory from the Master's
- Edition disks: AGTFILES.ZIP, SQUYNCH.ZIP and PKUNZIP.EXE by giving the
- following DOS commands:
-
- COPY A:AGTFILES.ZIP C:\SQUYNCH
-
- COPY A:SQUYNCH.ZIP C:\SQUYNCH
-
-
- 17
-
-
-
-
- COPY A:PKUNZIP.EXE C:\SQUYNCH
-
- The above commands assume your floppy drive is drive A: and your hard
- drive is drive C:. Change these letters as appropriate for your
- drives.
-
- 5. Switch to the SQUYNCH subdirectory on the C: drive by giving the
- following DOS commands:
-
- C: <-- Switches you to the C: drive
-
- CD\SQUYNCH <-- Switches you to the SQUYNCH subdirectory
-
- 6. "Unzip" the ZIP files by giving the following DOS commands:
-
- PKUNZIP AGTFILES.ZIP
-
- PKUNZIP SQUYNCH.ZIP
-
- 7. Now you are ready to actually compile the game by giving the DOS
- command:
-
- MCOMPILE SQUYNCH
-
- This will cause the MCOMPILE program to read your game source file,
- SQUYNCH.AGT, and create a number of intermediate files, SQUYNCH.DAT,
- SQUYNCH.MSG, SQUYNCH.CMD, etc. You must have enough space available
- on your hard disk for these files to be created. Two megabytes of
- free space before you begin to compile a game is recommended.
- If the compile of the game is successful, you will hear a loud "beep"
- at the end of the process and MCOMPILE will erase the intermediate
- files (SQUYNCH.DAT, SQUYNCH.MSG, SQUYNCH.CMD, etc.) from your hard
- disk -- since they are no longer needed.
-
- 8. The files needed JUST TO PLAY the SQUYNCH game are:
-
- MRUN.EXE <-- The "Run-Time Engine" for all Master's games
- SQUYNCH.TTL <-- The SQUYNCH title file
- SQUYNCH.INS <-- The SQUYNCH instructions file
- SQUYNCH.VOC <-- The SQUYNCH vocabulary file
- SQUYNCH.BAT <-- The SQUYNCH batch file
- SQUYNCH.D$$ <-- A SQUYNCH game data file
- SQUYNCH.DA1 <-- A SQUYNCH game data file
- SQUYNCH.DA2 <-- A SQUYNCH game data file
- SQUYNCH.DA3 <-- A SQUYNCH game data file
- SQUYNCH.DA4 <-- A SQUYNCH game data file
- SQUYNCH.DA5 <-- A SQUYNCH game data file
- SQUYNCH.DA6 <-- A SQUYNCH game data file
-
- And optionally -- the SQUYNCH.SOL file, the solution to the game.
-
- These files may be copied to a "floppy" disk or another directory on
-
- 18
-
-
-
-
- your hard disk as the "finished" game that is ready-to-play by giving
- the DOS command SQUYNCH.
-
- 9. You will be left with a number of files in your SQUYNCH directory that
- are unnecessary to play the finished SQUYNCH game. These files
- include:
-
- SQUYNCH.ZIP <-- The SQUYNCH zip file containing the source code
- AGTFILES.ZIP <-- The AGT zip file containing various files
- ORDERFRM.AGT <-- The AGT order form
- AGT.STD <-- The AGT "standard" default message file
- IRUN.STD <-- The AGT "first-person" default message file
- STDDEFS.AGT <-- The AGT "standard" DEFINEs file
- MCOMPILE.EXE <-- The AGT game compiler
- AGT.VOC <-- The AGT "standard" default vocabulary file
- PKUNZIP.EXE <-- The "unzipper" utility
- SQUYNCH.AGT <-- The SQUYNCH source code file
- SQUYNCH.SOL <-- The SQUYNCH solution or "Walk-Thru" file
-
- If all you wanted to do was create a playable version of SQUYNCH, all
- of these files may be deleted. However, if you want to build your own
- new game using SQUYNCH as your starting "platform," then keep these
- files in the subdirectory until you have finished your new SQUYNCH
- game.
-
-
- MASTER'S EDITION AGT FILES
-
- Included on the disk(s) are numerous files. If there is a file on the
- disk(s) called READ.ME, read that file before going further. That file
- will have "late-breaking news" as well as information about all of the
- files that make up the Master's Edition.
-
-
- ADDITIONAL GAMES AVAILABLE
-
- If you would like additional games, you should be aware of our annual
- contest. Softworks sponsors an annual Adventure Game writing contest and
- makes the AGT source code available for the winning games. All registered
- users will received a "flyer" describing the winning games and how they can
- get copies. This flyer is normally sent once a year in June when the
- contest judging has been completed and the winners selected.
-
- Incidently, see Appendix C on page 170 for details on how you can enter
- your game in the current AGT game writing contest.
-
-
-
-
-
-
-
-
- 19
-
-
-
-
- HOW TO PLAY THE ADVENTURE GAME(S) PROVIDED WITH AGT
-
-
- VOCABULARY
-
- The Adventure Game Toolkit creates adventure games that understand a wide
- variety of commands. A typical AGT game might have a vocabulary totalling
- 1000 words or more.
-
- Your game's commands should generally be in the format:
-
- <verb phrase> <(multiple) noun phrase(s)> <preposition> <noun
- phrase/object>
-
- Verb phrases can consist of a simple verb like EAT, SHOOT, READ or a verb
- followed by a preposition such as CLIMB UP, JUMP THROUGH, or SWIM IN. Noun
- (or object) phrases can consist of a single word noun like TREE, ROCK, LAKE
- or a noun and its adjective such as RED ROCK, SMALL BOWL or UGLY MUTANT.
- Several nouns may be connected with AND's or commas. Articles like A, AN
- or THE are optional. The personal pronouns MY and ITS are also optional.
- The pronouns IT, THEM, HIM and HER may be used to refer to a previously
- mentioned noun.
-
- Here are some (hypothetical) examples of valid commands:
-
- PLACE A RED ROCK IN THE SMALL BOWL
- PUT THE GREEN ROCK AND THE SMALL PEBBLE BEHIND THE OAK TREE
- READ MY POETRY BOOK
- SWIM IN THE SWIMMING POOL
- EXAMINE THE GOLD RING, THE DWARF AND THE SILVER NECKLACE
- EAT THE CELERY, THE TUNA, THE APPLE AND THE ONION
- THROW THE BATTLE AXE AND THE LARGE ROCK AT THE WEREWOLF
- SHOOT THE BURGLAR WITH THE REVOLVER
- ATTACK HIM
- ("HIM" will refer to last noun mentioned, e.g., the burglar)
- FIRE THE LASER PISTOL AT THE ALIEN MUTANT
- GET THE BOOK (also: TAKE THE BOOK)
- READ IT
- ("IT" will refer to last noun mentioned, e.g., the book)
- GET ALL (will get everything movable at the current location)
- GET THE KEYS, BOTTLE, FOOD AND THE CLOAK
- EXAMINE THE KEYS, BOTTLE, FOOD AND CLOAK
- PUSH THE RED BUTTON AND THE GREEN BUTTON
- UNLOCK THE FILE CABINET WITH THE STEEL KEY
- JUMP THROUGH THE OPENING
- JUMP OVER THE LOG
- NORTH
- SOUTHWEST
- PLACE AN AXE AND THE SHIELD NEXT TO THE BIG TREE
- PUT THE FOOD ON THE KITCHEN TABLE
- TURN ON THE FLASHLIGHT
- LIGHT THE TORCH WITH THE WOODEN MATCHES
-
- 20
-
-
-
-
- SCREAM AT THE UGLY TROLL
- CLIMB UP THE LADDER
- EXTINGUISH THE FIRE (or PUT OUT THE FIRE)
- DRINK THE WHITE WINE
- THROW THE FIRE WOOD IN THE STOVE
- PULL THE BELL CORD
- WEAR THE STUPID HAT (also: PUT ON THE STUPID HAT)
- TAKE OFF THE HAT (also: REMOVE THE HAT)
- NE (for NORTHEAST)
- DROP THE KEY AND THE BOTTLE
- ENTER THE CAVE
- XYZZY (i.e., a "magic" word)
- TURN THE DOORKNOB
- PLAY WITH THE DOG
- TALK TO (or TALK WITH) THE OLD MAN (ABOUT THE WEATHER)
- TELL JEFF ABOUT THE SWORD
- ASK JODIE ABOUT THE CRIME
-
- Compound commands can be created by connecting single commands (like those
- above) with "AND", "THEN" or the punctuation symbols "," or ";" to connect
- two or more separate commands. However, "end-of-sentence" punctuation
- symbols like ".", "!" and "?" should not be used. Below are a few examples
- of valid compound commands:
-
- TURN THE DOORKNOB; OPEN THE DOOR THEN ENTER THE ROOM
- CLIMB DOWN THE LADDER THEN SOUTH, WEST AND NORTHWEST
- GET THE CLOAK AND THEN EXAMINE IT; READ THE LABEL
- DROP THE FOOD AND THE BOTTLE THEN UNLOCK THE DOOR AND THEN LEAVE
- GET THE TORCH, LIGHT IT WITH THE WOODEN MATCHES THEN EXAMINE IT
-
- AGT's parser also allows you to give commands to other characters in the
- game like these:
-
- SULU, SET A COURSE FOR ALPHA 14
- SCOTTY, BEAM DOWN A TRICORDER AND THE QWERTY MODULE
- HELMSMAN, RAISE THE DEFLECTOR SHIELDS
- BONES, COME TO THE BRIDGE
-
- The comma after the character's name is optional.
-
- One point of advice about command structure is in order. Your commands
- should be structured to follow the most "natural" sequence of words when
- two or more sequences are possible. For example, THROW THE GOLDEN EGGS TO
- THE TROLL will be understood by the AGT parser, whereas THROW TROLL THE
- EGGS will not be understood -- even though it is understandable to most
- humans as equivalent. Similarly, you should avoid the verb "USE", such as
- USE THE KEY TO UNLOCK THE DOOR. This command should be entered simply as
- UNLOCK THE DOOR WITH THE KEY.
-
- NOTE: Player's input commands will be shown in all caps throughout this
- document.
-
-
- 21
-
-
-
-
- STANDARD LEVEL VERBS
-
- Standard level games have a fixed set of verbs -- although these may all be
- supplemented by additional synonyms. Professional level games have all of
- the standard level verbs plus they can have additional verbs that are
- defined uniquely for each game. The standard level verbs and the form of
- their commands are shown below:
-
- Meanings of notation:
- [required word]
- {optional word}
- | (means OR, i.e., alternative words)
-
- Verbs that do not require nouns
- ===============================
- N,S,E,W,NE,NW,SE,SW,U,D,
- NORTH,SOUTH,EAST,WEST,NORTHEAST,NORTHWEST,SOUTHEAST,
- SOUTHWEST,UP,DOWN
- ENTER | GO [IN | INTO]
- EXIT | LEAVE (* directions *)
-
- SCORE (* display score and status *)
- QUIT | Q (* end game *)
- INVENTORY | I (* list things player is carrying and wearing *)
- SCREAM | SHOUT | YELL (* make noise *)
- WAIT (* waste a turn *)
- BRIEF | VERBOSE (* change description mode *)
- L | LOOK (* repeat full description *)
- SAVE | RESTORE {GAME} (* save and restore game status *)
- HELP | H (* ask for help *)
- AGAIN | G (* repeat last command entered *)
- SCRIPT (* echo all output to both printer (LP1:) and screen *)
- UNSCRIPT (* send all output to screen only *)
-
- Verbs that require nouns (and perhaps objects)
- ==============================================
- LIST | SHOW [EXITS] (* list visible exits *)
- THROW | CAST | DUMP [noun]
- {[AT | TO | IN | INTO | ACROSS | INSIDE] [noun]}
- ATTACK | KILL | FIGHT | HIT [creature] {[WITH] [noun]}
- DROP | PUT DOWN [noun | ALL]
- GET | TAKE | PICK UP [noun | ALL]
- OPEN [noun] {[WITH] [noun]}
- CLOSE | SHUT [noun]
- LOCK [noun] {[WITH] [noun]}
- UNLOCK [noun] {[WITH] [noun]}
- EXAMINE | CHECK | INSPECT | LOOK AT | LOOK IN [noun]
- READ [noun]
- EAT [noun]
- DRINK [noun]
- PUT | PLACE [noun]
- [IN | WITH | INSIDE | INTO | NEAR | BEHIND |
-
- 22
-
-
-
-
- BESIDE | ON | UNDER] [noun]
- PUSH | TOUCH [noun] {[WITH] [noun]}
- TURN [noun] {ON | OFF}
- TURN {ON | OFF} [noun]
- PULL [noun]
- PLAY {WITH} [noun]
- LIGHT [noun]
- EXTINGUISH | PUT OUT [noun] (* synonym is "EXT" *)
- SHOOT | FIRE [noun] [AT] [creature]
- SHOOT | FIRE [creature] [WITH] [noun]
- PUT ON | WEAR [noun | ALL]
- TAKE OFF | REMOVE [noun | ALL]
- ASK [creature] [ABOUT] [noun]
- TALK [TO | WITH] [creature] {[ABOUT] [noun]}
- TELL [creature] [ABOUT] [noun]
-
-
- SOME GENERAL COMMENTS ABOUT COMMANDS
-
- Figuring out what words work in a game is part of the "challenge" of some
- adventure games. The usual directions are understood by AGT games (N, S,
- E, W, NE, NW, SE, SW, UP, and DOWN; in some cases, ENTER or EXIT might also
- be appropriate). Other events might also cause you to change location: if
- you detonate a nuclear warhead, for example, you'll likely be immediately
- transported somewhere far, far away.
-
- You can try to TAKE or GET most things that are in a room with you; you
- should EXAMINE or LOOK AT most visible nouns as well, whether or not you
- are carrying them. You can DROP or THROW anything you're carrying. Eating
- and drinking are often permitted, but eating strange things is usually
- dangerous. If something seems to be closed or locked, you can try to open
- or unlock it -- but it may require some special kind of key.
-
- There's no penalty for incorrect words: if the game doesn't understand a
- word, it gives you another chance and doesn't count the invalid input as a
- turn.
-
- If you try to do something foolish like EAT THE CHAIR or GET THE BUILDING,
- the game will give you an appropriate response like "Eat the chair? You
- must be kidding!" or "The building can not be taken".
-
-
- ABBREVIATIONS AND SPECIAL KEYS
-
- All of the directions can be abbreviated by using one or two key letters.
- For example, N for NORTH, SW for SOUTHWEST, U for UP, etc. You can also
- abbreviate EXAMINE as EX (e.g., EX BOOK). To turn out a light, you can
- EXTINGUISH it, and EXTINGUISH can be abbreviated as EXT (e.g., EXT LAMP).
- Other acceptable abbreviation are L for LOOK, I for INVENTORY, G for AGAIN,
- H for HELP and Q for QUIT.
-
-
-
- 23
-
-
-
-
- It is also possible to use the function keys and the cursor keys (in
- combination with the Alt key) in lieu of many frequently used commands and
- directions as follows:
-
- F1 -- GET Alt-Up Arrow -- NORTH
- F2 -- DROP Alt-Down Arrow -- SOUTH
- F3 -- EXAMINE Alt-Right Arrow -- EAST
- F4 -- READ Alt-Left Arrow -- WEST
- F5 -- OPEN Alt-Home -- NORTHWEST
- F6 -- CLOSE Alt-End -- SOUTHWEST
- F7 -- INVENTORY Alt-Pg Up -- NORTHEAST
- F8 -- LOOK Alt-Pg Dn -- SOUTHEAST
- F9 -- SCORE Alt-Gray "-" Key -- UP
- F10 -- HELP Alt-Gray "+" Key -- DOWN
- Alt-Ins -- ENTER
- Alt-Del -- EXIT
-
- If at any time during the game the player needs to be reminded of what the
- function and cursor keys stand for, hitting the ? key followed by <ENTER>
- will produce a diagram of what each cursor and function key means.
-
-
- RE-DEFINABLE FUNCTION KEYS
-
- As explained above, the function keys have been predefined to stand for
- several of the most frequently used commands. Now, by giving the command
- DEFINE, you may re-define any of the function keys to give any input
- command you wish. For example, in a game you might find it useful to
- re-define one of the function keys to give the command KILL ORC WITH AXE or
- GIVE CANDY TO BABY.
-
- Hitting the '?' key (during the game) will display a diagram of keys and
- their current definitions.
-
-
- NEW INPUT "EDITOR" WITH "OOPS" FEATURE
-
- The Master's Edition of AGT has a much improved input command editor than
- that found as part of the Classic Edition. Now it is possible to edit
- (using the cursor keys, and the delete, insert and backspace keys) either
- the command you are currently entering or your previous command. For
- example, if you are entering a command and you notice that you have typed
- THORW ROPE by mistake, you can use the left arrow key to move the cursor
- over to the mistake and correct it to THROW ROPE.
-
- Also, there is now an OOPS command that will allow you to recall and edit
- your previous command.
-
-
-
-
-
-
- 24
-
-
-
-
- SPECIAL WORDS
-
- Certain words have special meanings to AGT games. SCORE will let you see
- how much progress you've made and will give you an idea how much of the
- game you've seen so far. QUIT will permit you to stop the game and return
- to DOS. SAVE will allow you to save the current game status, and RESTORE
- will restore a previously-saved game. AGAIN (or its abbreviation G) will
- cause the game to respond as if the previous command had been entered
- again.
-
- In addition, AGT also allows the use of SCRIPT to echo all of the game's
- output to your printer (as well as the screen). UNSCRIPT may be used to
- turn off the printer output.
-
- As you move around through the game, you'll notice that the game provides a
- long text description of each room only when you first enter the room. To
- see the full description again, type LOOK or L or hit the F8 function key.
- The game doesn't keep these long text descriptions in memory, but instead
- reads them from disk each time it needs them. If you don't like this
- delay, you can suppress the long text by using the BRIEF command. VERBOSE
- will bring them back.
-
- Further, in AGT it is possible to issue commands for HELP or alternatively
- hit the F10 key. Be warned, however, that some game designers might feel
- that the situation does not deserve any help or, worse yet, some deviate
- designers might actually give the player a hint that is a little
- misleading.
-
-
- NOUNS
-
- While the list of verbs is generally similar from game to game, all the
- nouns change every time. One game might be filled with weapons and
- creatures, while another might contain many keys and locks. Most nouns are
- unique: you probably won't find more than one "gold key," but you might
- find a "brass key," an "access card," and an "entry pass." The game only
- understands an adjective if it is correctly followed by the matching noun:
- if TAKE RED FLUTE is valid, the game will not try to guess what you meant
- by TAKE RED or TAKE RED INSTRUMENT or TAKE THE RED ONE. It will accept
- TAKE FLUTE, but not TAKE BLUE FLUTE.
-
- With some verbs, nouns are optional. For example, NORTH is quite clear by
- itself, and any "valid" words following it will be ignored completely. EAT
- needs a noun of some kind, preferably an edible one. And some things may
- not be possible unless you specify a tool: UNLOCK PADLOCK may not be
- acceptable, while UNLOCK THE PADLOCK WITH THE BRASS KEY may work fine.
-
-
-
-
-
-
-
- 25
-
-
-
-
- NOISE WORDS
-
- The words "THE", "MY", "ITS", "A" and "AN" are ignored; so are friendly
- words like "PLEASE" and "NOW." This way, PLEASE PUT A RED ROSE AND MY NOTE
- ON THE SMALL TABLE NOW can be understood, while the game may be quite
- confused by PLEASE YOUR MOTHER.
-
-
- PREPOSITIONAL PHRASES
-
- In some cases, the preposition need not be followed by an object (TURN THE
- GAS STOVE ON is fine), but often the game will be puzzled unless you
- provide one. For example, UNLOCK THE PADLOCK WITH or PLACE THE BOOK BESIDE
- just won't do.
-
-
- COMMAND LINE OPTIONS
-
- In order to accommodate as many hardware systems as possible, it is
- possible to enter a "/B" option on the command line that invokes your
- adventure game. This causes the game to use the BIOS for all output,
- rather than writing directly to the screen memory locations (which is
- considerably faster and AGT's default mode of operation). Some clones may
- require this option. Also, some multi-tasking environments (specifically,
- DESQview) need this option to allow an AGT game to run in its own "window".
- If you find that an AGT game causes strange behavior on your screen, you
- should try this option. For example, to play the game QUEST using this
- option, you would start the game from the DOS prompt with "MRUN QUEST /B".
-
- There is one additional command line option available. If you wish the
- player's input to be in lower case, rather than AGT's default mode of upper
- case, use the option "/L". For example, to play CAVE with lower case
- player input, start the game from the DOS prompt with "MRUN CAVE /L".
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 26
-
-
-
-
- PART 2: HOW TO WRITE AN ADVENTURE GAME
-
-
- INTRODUCTION: WHY SHOULD I WRITE MY OWN ADVENTURE GAME?
-
- Here are a few good reasons:
-
- * Imagine your office as an adventure game. Imagine the wonderful
- descriptions you could provide for your co-workers' offices, the
- analogies you could make for the delivery people, and the
- thinly-veiled insults of your boss you could include. If such an
- adventure game scenario were written in reasonable taste, it
- could serve as a well-deserved diversion on a Friday afternoon.
- Of course, if it's written in poor taste, and your insults aren't
- veiled enough, it could be your last Friday.
-
- * Maybe you are trying to teach someone something. Perhaps you
- want them to learn about computers. Maybe you want to guide them
- through many screens of tutorials. If you could write the text
- as an adventure game, and make learning a game, the game players
- might learn faster and even have fun doing it. An excellent
- example of this is a series of spreadsheet templates called
- Templates of Doom which has introduced Lotus 1-2-3 (in the guise
- of an adventure game) to thousands of new spreadsheet users.
- Another excellent example is a game entitled Brainscape which
- teaches the anatomy of the human brain by letting the player (who
- has been reduced to microscopic size) explore the various
- "locations" of the brain in search of human growth hormone and
- other "treasures" -- so the he can be restored to normal size.
-
- * Or maybe you're well-equipped with a great imagination and you
- want to develop a game that will rival the ones you've bought in
- stores or played with friends. Perhaps this is your chance to
- prove your fiction-writing abilities.
-
- * Or last, but not least, because writing adventures is even more
- fun than playing them.
-
-
- HOW AN AGT ADVENTURE GAME WORKS
-
-
- AN OVERVIEW
-
- When a player begins to play an AGT game, the first thing the program does
- is look on the disk for a title file (indicated by a .TTL file extension),
- which should contain the name of the game, the author's name, and perhaps a
- copyright statement. Each line in the file is displayed centered on the
- screen.
-
- AGT also posts its copyright notice just below the game writer's title
- information. If, for some reason, there is no file with a .TTL extension,
-
- 27
-
-
-
-
- the AGT copyright information is displayed by itself. The title screen,
- with the author's information and AGT's, stays on the screen while the
- program initializes all its data arrays and records and reads the various
- compiled data file.
-
- If the game's .AGT file contains some text preceded by the keywords INTRO
- or INTRODUCTION and ended with the keyword END_INTRO, that text is
- displayed at the beginning of the game. It cannot be re-read during the
- game.
-
- In addition to the INTRO section of the .AGT file, there can also be an
- instruction file with a .INS extension. If such a file exists for the
- adventure being played, before actual play begins AGT will ask the player
- if he/she would like instructions. If the answer if yes, this file will be
- displayed.
-
- Once all the data has been read and the player has had an opportunity to
- read the game's instructions (if any), the program puts the player into the
- game's starting location. AGT then prints the long text description for
- the starting location and the player is asked what to do.
-
- Each time the player types in a command and <ENTER>, the program sends the
- input line to the "parse" module. The parser takes the input line, breaks
- it into separate words, and tries to locate an addressee (if the command is
- being directed to another character), a verb, a noun, a preposition, and
- another noun as the object of the preposition. It does this by eliminating
- extra words like "THE" and "PLEASE"; and by checking and then eliminating
- adjectives. It returns up to five words: addressee, verb, noun,
- preposition, and an object of the preposition. (If any of these elements
- is missing, the "empty string" ('') is returned in its place.)
-
- If an invalid word is found by the parser, it informs the user, indicating
- what part of speech AGT expected and which specific input command word it
- didn't recognize. Otherwise, the program then calls the execute module;
- this section selects a procedure to call based on the verb (THROW, TAKE,
- EAT, MOVE, etc.). Depending on the procedure's own checking, the noun,
- preposition and object might be rejected as invalid or, in some cases,
- ignored partly or completely and an appropriate "error" message will be
- given For example, "EAT CASTLE" would typically cause the "error" message:
- "It is impossible to eat the castle."
-
- There are two ways a player can be moved to a new room. One is by
- specifically trying to do so. Moving east is generally accomplished by
- typing EAST or E or hitting the Right Arrow cursor key. If the player
- tries to move in a direction that is not allowed, AGT will inform him that
- such a move is impossible.
-
- The other way to move is by meeting a set of special requirements that the
- game's author has defined as a "special." The special might be defined, in
- plain language, as "if the player is in the sauna, and he turns the faucet,
- then move him to another room X." That other room X might be anything.
- One possibility is that it may be a room with a similar or identical
-
- 28
-
-
-
-
- description, but with a new exit or without an old one. It might even be
- the same room, but by executing the "special," the program displays several
- lines of text.
-
- In this case, the special text might be "You turn on the faucet, and
- scalding hot water pours onto your feet. You scream in agony and kick the
- faucet, which is turned off." If the author was cruel, the "special" here
- might move the player to a new room called "hell" and be told "As you turn
- the faucet, scalding hot water pours out onto your legs. You scream in
- agony, but the faucet won't shut off. In minutes, you are scalded to
- death. You awaken in purgatory, where Satan tells you that your punishment
- for killing the lizard (something the player did earlier to get here) will
- be boiling in oil for eternity." The new room description would describe a
- vat of boiling oil, provide no exits, and include the keyword GAME_END to
- end the game.
-
- For relatively simple adventure games (i.e., Standard Level games),
- "Specials" are the way you do almost anything unusual. Of course, a
- special can be used to move a player to a new room (i.e., TOUCH MIRROR
- might cause the player to fall through the looking-glass and into a new
- room). But specials also allow a room to be "changed" in the player's view
- -- this is accomplished by actually moving the player to a new, but similar
- room. If you want an airlock to close one door and open another, you use a
- "special" which moves the player to a 'new' airlock with a different exit.
- If you want a player to 'teleport,' you use a special. If you want to
- player to be surprised by some action but not moved (i.e., PLAY STEREO
- could lead to "Beethoven's Fifth plays loudly, awakening the neighbors.
- Someone pounds loudly on the ceiling"), use a special. More examples of
- "Specials" will be given later.
-
-
- CREATING YOUR SOURCE DATA FILES WITH WORD PROCESSORS
-
- When creating your source data files for your own AGT game, you must use a
- text editor (I recommend QEdit -- a wonderful shareware text editor) or
- word processor which creates plain ASCII or TEXT files with a true carriage
- return at the end of each line. Lines longer than 80 characters, WordStar
- or WordPerfect document files, will cause AGT to abort! The best
- rule-of-thumb is to use the MS-DOS "TYPE" command to view the file. If it
- looks normal, it's probably OK for AGT. If words split at the end of the
- line and strange characters appear, it's probably not OK for AGT.
-
-
- THE "MECHANICS" OF WRITING YOUR GAME FILES
-
-
- LABELS AND AGTLABEL
-
- The Master's Edition of AGT uses labels rather than numbers -- similar to
- the way the utility AGTNUM works. AGTNUM is a utility that is provided as
- a part of the Classic Edition of AGT.
-
-
- 29
-
-
-
-
- A utility, named AGTLABEL, can be used to convert your old/normal (i.e.,
- Classic Edition) game source files to files that use labels instead of
- numbers. By the way, be sure to use an .OVR file to preserve the meanings
- of all of your game's flags, counters, variables, etc. Read the
- AGTLABEL.DOC file for details.
-
- The .AGT file looks very much like the files it replaced. The main
- difference is that it uses text labels instead of numbers for rooms, nouns,
- and the like. The labels are enclosed in delimiters, which are braces [ ]
- by default. (This can be changed.) Labels may consist of any ASCII
- characters (even whitespace characters), except the closing delimiter. For
- example, the following labels are all legal (and unique):
-
- [bridge]
- [the captain's quarters]
- [transporter pad number 6]
- [ transporter pad number 6 ]
- [!@#$%^&*()]
- [[[[[[]
- [!]
- [ ]
- [ ]
-
-
- The null label [] is not allowed. MCOMPILE, the Master's Edition's game
- compiler, is insensitive to case by default, so [bridge] and [BRIDGE] are
- considered identical.
-
- When MCOMPILE parses the .AGT file, it assigns appropriate numbers to the
- labels. When the output files are written, the numbers are substituted for
- the labels. (The .AGT file is not changed by MCOMPILE.)
-
-
- LABEL DEFINITIONS
-
- When MCOMPILE encounters a label, it must determine what type of item the
- label refers to (room, message, flag, etc.). For some items, the normal
- item definition gives this information. Consider this example:
-
- ROOM [sickbay]
- Sickbay
- EXIT [corridor]
- END_ROOM
-
- ROOM_DESCR [sickbay]
- This is the sickbay, where the regulars are cured of all their ills
- and the extras meet slow, painful deaths.
- END_ROOM_DESCR
-
- In this case, the word "ROOM" at the beginning of the line tells MCOMPILE
- that [sickbay] is a label for a room. Labels for nouns, creatures,
- messages, and questions are determined in the same way.
-
- 30
-
-
-
-
- STANDARD LEVEL GAME FILES
-
- Each Standard Level games can have up to three files: A title file (e.g.,
- ALICE.TTL), an instruction file (e.g., ALICE.INS), and a data file
- (ALICE.AGT). Each of these file types will be explained in separate
- sections to follow.
-
-
- TITLE FILES
-
- If there is a file with a .TTL extension, that file is displayed first
- before the actual game play begins. The contents of this file will be
- displayed centered on a cleared screen. For example, the title file for
- the ALICE IN WONDERLAND game contained in the ALICE.TTL file is:
-
- The Adventures of Alice
- Who
- Went Through the Looking-Glass
- And
- Came Back
- Though Not Much Changed
- Based on characters created by Lewis Carroll
- Game and Text Copyright 1986 D.A. Asherman
-
- This would actually be centered on the screen as follows:
-
- The Adventures of Alice
- Who
- Went Through the Looking-Glass
- And
- Came Back
- Though Not Much Changed
- Based on characters created by Lewis Carroll
- Game and Text Copyright 1986 D.A. Asherman
-
- Optionally, the title information can be included in the game's .AGT file
- by doing the following:
-
- TITLE
- The Adventures of Alice
- Who
- Went Through the Looking-Glass
- And
- Came Back
- Though Not Much Changed
- Based on characters created by Lewis Carroll
- Game and Text Copyright 1986 D.A. Asherman
- END_TITLE
-
-
-
-
-
- 31
-
-
-
-
- SETTING SCREEN COLORS
-
- AGT sets the screen colors to be used during the adventure automatically.
- If the game is being played on a color monitor, the screen output is quite
- colorful. Specifically, the default screen colors will be:
-
- Normal text color is Cyan
- High lighted text color is Yellow
- Background color is Black
- Reverse text color is Red
- Reverse background color is Light Gray
-
- These colors cause the normal screen output to be shown as "Cyan on Black",
- while the player's input is shown as "Yellow on Black", and the status line
- at the top of the screen is shown as "Red on Light Gray".
-
- These default colors can be changed to specific different colors in the
- first line of the .TTL file. For example, if you wanted to change the
- color combinations to normal output of "White on Blue", and player input of
- "Yellow on Blue", and the status line of "Black on Cyan", then you are
- specifying:
-
- Normal text color is White
- High lighted text color is Yellow
- Background color is Blue
- Reverse text color is Black
- Reverse background color is Cyan
-
- This could be accomplished by putting the following line as the first line
- of the .TTL file:
-
- COLORS WHITE YELLOW BLUE BLACK CYAN
-
- If you are playing the game on a monochrome monitor, most of the screen
- output will be "White on Black", i.e., the normal monochrome output for
- your monitor. The only exceptions will be the player input which will be
- shown high-lighted and the status line on the top of the screen which will
- be shown in reverse, i.e., "Black on White". On monochrome monitors, this
- basic monochrome color combination will be used automatically regardless of
- what may have been specified in the COLORS command in the first line of the
- .TTL file.
-
- It is also possible for the player to change the screen color combination
- by giving input during the game. For example, if the player inputs:
-
- COLORS YELLOW GREEN CYAN BLACK LIGHTGRAY
-
- during the game, the screen will immediately change to "Yellow on Cyan",
- with the player's input shown as "Green on Cyan", and the status line
- displayed as "Black on Light Gray" -- if the game is being played on a
- color monitor. If the game is being played on a monochrome monitor, the
- above player input would have no effect. Other player color commands
-
- 32
-
-
-
-
- allowed are:
-
- COLORS MONO
-
- which changes the screen to a monochrome color combination - even on a
- color monitor, and:
-
- COLORS DEFAULT
-
- which will return the screen to AGT's default color combination --
- depending upon the type of monitor the game is currently being played upon.
-
-
- INSTRUCTIONS FILES
-
- If there is a file with the correct filename and the suffix .INS, then AGT
- will ask the player if he wished to read the instructions for the game. If
- the response is Y or YES, the filename.INS file will be displayed a screen
- at a time with a pause between screens. If the player responds with N or
- NO, then the instructions will be skipped and the game will begin normally
- in the starting room location.
-
- If there is no .INS file, then the instruction prompt will not appear and
- play will begin without any instructions.
-
- Optionally, the instructions can be included in the game's .AGT file by
- doing like the following:
-
- INSTRUCTIONS
- The instruction text goes here.
- END_INSTRUCTIONS
-
-
- THE WORK-HORSE .AGT FILE
-
- Adventure games are really just a special kind of data base application.
- The game driver (for AGT, this is MRUN.EXE) just accesses the adventure
- data base to retrieve data based on the player's commands. This is much
- like how a "standard" data base application might display all employees in
- the marketing department with salaries over a certain amount after getting
- a query from the data base user. For Standard Level AGT games, the data
- base is contained in the .AGT file. This file is the real work-horse file
- for AGT adventure games. The most important data elements in an AGT game
- are three large data arrays: the game's ROOMS, NOUNS, and CREATURES. Each
- of these data types will be explained in separate sections that follow.
-
-
-
-
-
-
-
-
- 33
-
-
-
-
- ROOMS
-
- The room specification in the .AGT data file is quite simple:
-
- Required:
-
- |<-----significant----->|<------ignored------------------------>|
- |
-
- ROOM [label] <-- [label for the Room], i.e., its AGT
- "name"
- Room Name <-- short room name (up to 30 characters),
- that will be shown on the status
- line (do not include comments!)
- {optional characteristics}
- END_ROOM
-
- Optional characteristics: <-- optional but at least one is
- strongly recommended
-
- |<---significant--->|<------ignored------------------------>|
- |
-
- {direction} [Room label] <-- Room label is the room to be found in
- that direction. The default is
- [none] or zero.
- {any one of 12 directions can be
- specified, from the list:
- NORTH NORTHEAST UP
- SOUTH SOUTHEAST DOWN
- EAST NORTHWEST ENTER
- WEST SOUTHWEST EXIT}
- SPECIAL [Room label] <-- optional, Room label is a room name.
- {If present, the current definition
- must include KEY xxx and there must
- be a SPECIAL [Room label] definition}
- KEY [Noun label] <-- Noun label is for the noun that
- {activates special [Room label]}
- LIGHT [Noun label] <-- Noun label for a light that is a noun
- used to light up the room OR the
- value 1 for ("any light"). The
- default is [none] or no light is need
- for the room.
- POINTS xxx <-- xxx is number of points player is
- awarded just for getting here.
- Default is 0.
- LOCKED_DOOR <-- default is FALSE. If TRUE, AGT
- will act as if there is a locked
- door that cannot be opened in
- the room and give various
- appropriate messages if player
- tries to do something to the
-
- 34
-
-
-
-
- door.
- PLAYER_DEAD <-- if this line is in the definition,
- the player dies as soon as he or she
- enters the room.
- GAME_END <-- if this line is in the definition,
- the game ends as soon as the player
- enters the room (the room_descr
- is displayed, then the score).
- (Player loses game here.)
- GAME_WIN <-- if this line is in the definition,
- the game ends as soon as the player
- enters the room (the room_descr
- is displayed, then the score).
- (Player wins game here.)
- ROOM_SYNONYMS <-- default is NONE. Room synonyms are
- indicated in the .AGT file as:
- ROOM_SYNONYMS MAGIC_WORD XYZZY SESAME
- ROOM_SYNONYMS CHANGE_LOCATION CLIMB
- ROOM_SYNONYMS PLAY SHOW DISPLAY FLASH
- These cause the first word (which must
- be a valid verb) to be substituted
- whenever the player enters one of the
- words following the first word in that
- room. For example, if the player
- entered SHOW, DISPLAY, or FLASH
- (above), AGT would act as if the word
- PLAY (which is a "special") was
- entered and react accordingly. There
- can only be one room synonym
- specification in each room.
- PICTURE [Picture label] <-- Picture label for a PCX format picture
- file associated with this ROOM.
- To be explained in a later section.
-
- It is recommended that at a minimum, one exit from each room be provided;
- otherwise the player will be stuck in the room until he quits. Of course,
- that direction might be a special -- which will be explained in a later
- section.
-
- A room description should also be provided in .AGT file:
-
- ROOM_DESCR [Room label]
- Some text, any number of lines, about the room.
- END_ROOM_DESCR
-
- This room description will be what is printed whenever the player enters
- the room or gives the command to LOOK.
-
-
-
-
-
-
- 35
-
-
-
-
- HELP MESSAGES
-
- An optional HELP message may also be provided for each room:
-
- HELP [Room label]
- Some text, any number of lines, gives a HELP message for this room.
- END_HELP_DESCR
-
- If you don't enter a specific HELP message for a room, the default message
- if the player asks for HELP is "Sorry, but you are on your own here."
-
- Here is a more complete example of how a room might be specified in the
- .AGT file:
-
- ROOM [Top of the Cliff]
- Top of Cliff
- NORTH [North of Cliff Top]
- SOUTH [South of Cliff Top]
- WEST [West of Cliff Top]
- END_ROOM
-
- ROOM_DESCR [Top of the Cliff]
- You are standing near the edge on the top of a tall cliff. To the
- east is a sheer drop of several thousand feet. To the north, west and
- south are paths that lead down the side of the mountain.
- END_ROOM_DESCR
-
- HELP [Top of the Cliff]
- Be careful, don't go too near the edge!
- END_HELP_DESCR
-
-
- NOUNS
-
- Nouns are necessarily more complex than rooms. They are specified in the
- following format, listed with the possible values (and defaults):
-
- |<-----significant----->|<------ignored------------------------>|
- |
-
- NOUN [label] <-- Label is the AGT name for this noun
- Name <-- one-word name of the noun
- Adjective <-- one-word adjective
- Short one-line description of the noun
-
- {other characteristics go here}-
- END_NOUN
-
-
-
-
-
-
- 36
-
-
-
-
- Other characteristics (optional):
-
- SIZE nn <-- nn is a number from 1 to 99+
- Default is 1.
- WEIGHT nn <-- nn is a number from 1 to 99+
- Default is 1.
- UNMOVABLE <-- default is movable (carryable)
- LOCATION [Room label] <-- Room label is AGT name for the "room"
- where this noun is located. It may
- be located in a room, inside another
- noun, being carried, or worn.
- READABLE <-- default is "not readable"
- {if READABLE then TEXT [label]
- must also be defined}
- CLOSABLE <-- default is "not closable"
- OPEN <-- default is "closed"
- {if open, then it can hold something}
- {if closed, it can not hold something}
- LOCKABLE <-- default is not lockable
- LOCKED <-- default is unlocked
- KEY [Noun label] <-- default is 0
- Noun label is the AGT name for the
- noun that unlocks this noun --
- if it's lockable.
- EDIBLE <-- default is inedible
- DRINKABLE <-- default is undrinkable/solid
- POISONOUS <-- default is nonpoisonous
- {predictable effect if poisonous
- edible/drinkable noun is eaten}
- ON <-- default is 'off'
- PUSHABLE <-- default is not pushable
- {PUSH_DESCR nn recommended but
- not required if it is pushable}
- PULLABLE <-- (ditto, PULL_DESCR nn)
- PLAYABLE <-- (ditto, PLAY_DESCR nn)
- TURNABLE <-- (ditto, TURN_DESCR nn)
- IS_LIGHT <-- default is NOT is_light
- (IS_LIGHT -> illuminates any room
- defined as LIGHT 1 or LIGHT
- [label] where [label] is this noun
- POINTS <-- default is 0 (points awarded to player
- if object is being carried,
- present or in the "treasure" room
- at game_end)
- GAME_WIN <-- default is FALSE. Player wins game
- if TRUE when he get this noun.
- CAN_SHOOT <-- default is can't shoot (Can the
- weapon be used to shoot a creature?
- If not, it must be thrown.)
- NUM_SHOTS <-- default is 0 (how many bullets/
- charges are there initially?
- decremented each time the noun is
-
- 37
-
-
-
-
- fired.)
- WEARABLE <-- default is not wearable
- POSITION <-- default in NONE. If the game designer
- wishes to have a noun's original
- position as "(behind the tree)"
- he would have:
- POSITION behind the tree
- in the .AGT file. The verbs
- PUT/PLACE and GET/TAKE change the
- noun's position.
- SINGULAR <-- default is SINGULAR. The only
- alternative is PLURAL. AGT
- verbs/pronouns will be singular
- or plural depending upon this
- value.
- NOUN_SYNONYMS <-- default is NONE. If the .AGT file had
- NOUN_SYNONYMS GOLD COIN COINS
- then all of these words would be
- accepted as valid synonyms for
- this noun. Of course, the
- "official" NAME will also work.
- PICTURE [Picture label] <-- Picture label for a PCX format picture
- file associated with this NOUN.
- To be explained in a later section.
-
- Note: To 'spice up' the game, you might want to put things inside other
- things initially, so the player has to open everything to be sure s/he
- doesn't miss anything important. Be logical, though: a refrigerator seems
- likely to be open-able, but a crabapple probably ought to be 'closed' and
- 'unclosable' and thus unable to contain something else.
-
- Similar to the complete room descriptions, there is a way to specify a
- lengthy description of a noun by using a NOUN_DESCR in the .AGT file. When
- the player gives the command to EXAMINE the noun, this description will be
- displayed on the screen.
-
- TEXT
-
- If a noun is readable, the description that is printed whenever the player
- gives the command to READ it is contained in a TEXT description in the .AGT
- file. Thus, the following would be a valid set of definitions:
-
- NOUN [Small Red Book]
- Book
- Red
- There is a small red book here.
- WEIGHT 1
- SIZE 3
- LOCATION [Top of the Cliff]
- READABLE
- NOUN_SYNONYMS Cover Title
- END_NOUN
-
- 38
-
-
-
-
- NOUN_DESCR [Small Red Book]
- The red book is quite thin, and has a hard cover. There is writing on
- the book's cover.
- END_NOUN_DESCR
-
- TEXT [Small Red Book]
- The title of the book is "The Wisdom of Ronald Reagan." The pages are
- all blank.
- END_TEXT
-
-
- MULTIPLE NOUNS WITH THE SAME NAME
-
- AGT allows multiple nouns with the same name. The parser examines the
- current room and player environment and assumes that if only one noun with
- a particular name is in the room then that must be the noun that the player
- meant as the NOUN or OBJECT of his command. If there is more than one noun
- with the same name in the room, the parser gives an "error" message and
- asks the player to be more specific about which NOUN (or OBJECT) he means.
- For example, if there are three kinds of trees in the "room" and the player
- had entered the command to EXAMINE TREES, the parser would ask for the
- clarification: "Which 'TREES', the OLIVE TREES or the OAK TREES or the PINE
- TREES?" The player could then enter any response with one of the proper
- adjectives to specify which trees were meant, i.e., any of these responses
- would tell the parser that the OAK trees were correct:
-
- THE OAK TREES
- EXAMINE THE OAKS
- OAK
- THE OAKS, YOU OAF!!
-
- If the player still doesn't enter a response with one of the proper
- adjectives, a message is given that asks the player to re-enter his command
- using the NOUN's adjective to clarify which NOUN is meant. This means that
- if there are two or more nouns with the same name, their adjectives MUST BE
- unique, i.e., you can have a RED BOWL and a GREEN BOWL, but the game should
- not contain two RED BOWLs!
-
-
- PUSH, PULL, TURN, AND PLAY DESCRIPTIONS
-
- Similar to TEXT descriptions if a noun is readable, you may also give
- unique descriptions if a noun is described as being pushable, playable,
- turnable, or pullable and the player takes one of those actions with the
- noun. These descriptions are included in the .AGT file as a PUSH_DESCR,
- PULL_DESCR, TURN_DESCR and PLAY_DESCR. They will be displayed only if the
- player takes the specified action AND that action does not activate a
- SPECIAL for the current room. If there is no description provided, a
- standard ("nothing happens" or something equally appropriate) message is
- provided.
-
- For example, if you want to generate messages whenever the player gives the
-
- 39
-
-
-
-
- commands to PLAY RADIO or to TURN ON RADIO or TURN DIAL, you could set up
- the following in the .AGT file:
-
- NOUN [Portable Radio]
- Radio
- Portable
- There is a large "ghetto blaster" portable radio here.
- MOVABLE
- WEIGHT 10
- SIZE 10
- NOUN_SYNONYMS GHETTO BLASTER DIAL DIALS KNOB KNOBS
- PLAYABLE
- TURNABLE
- END_NOUN
-
- NOUN_DESCR [Portable Radio]
- The radio is barely portable. It weighs about 47 pounds and must be
- carried with both hands. It has many dials and knobs.
- END_NOUN_DESCR
-
- PLAY_DESCR [Portable Radio]
- As you turn on the radio, you hear a song by "Duran." After a few
- moments, you become bored with the music and you turn the radio off.
- END_PLAY_DESCR
-
- TURN_DESCR [Portable Radio]
- As you turn the dial on the radio, you hear the Beatles singing
- "Yesterday". This sounds like a good station and you stop turning the
- dial. The music sounds nice and you sing along softly.
- END_TURN_DESCR
-
-
- EATING, DRINKING, AND DYING
-
- Any object defined as EDIBLE can be eaten. Any object defined as DRINKABLE
- can be drunk. And any object defined as POISONOUS will kill the player if
- s/he eats or drinks it. POISONOUS has no effect if the noun is neither
- edible nor drinkable. In most situations, it is considered poor sport to
- make completely non-threatening and logically edible things poisonous; it
- is likewise questionable to make packages of rat poison edible but
- non-poisonous.
-
- When a noun is eaten or drunk it normally disappears (into the player's
- stomach -- naturally). The only exception to this is when the noun is
- unmovable. This makes it possible for the player to drink from a lake
- without having all the water (or the lake itself) disappear.
-
-
-
-
-
-
-
- 40
-
-
-
-
- WEIGHT AND SIZE
-
- Those values are there for a reason!! No player can lift an object heavier
- than 100, even if it's defined as MOVABLE. Likewise, objects whose size is
- more than 100 are too awkward to be carried. The total weight the player
- can carry is 100, so the player cannot carry two 60-weight objects at once.
- Total size limit is also 100. It is considered poor sport to assign large
- weight values to feathers and low values to large slabs of steel, but cruel
- game writers are able to do so. Likewise, a game will be less baffling if
- small objects (pens, tin cans) have small size values and large ones
- (desks, cars) are larger.
-
- VERY, VERY IMPORTANT NOTE: Size is also very important when dealing with
- "containers". A container will only be able to contain things whose total
- size is less than the size of the container. For example, if you have a
- knapsack whose size is 10, it will be able to hold a flashlight of size 2,
- a sandwich of size 1, and long rope of size 6. If the player tries to put
- something else (e.g., a compass of size 3) into the knapsack, he/she will
- get a message that "The compass will not fit into the knapsack".
- Confusion about sizes and containers is the single greatest source of phone
- calls and letters about suspected "bugs" in AGT.
-
-
- LIGHT AND DARKNESS
-
- If a room has a LIGHT value other than 0 (the default), the room will
- appear pitch black if the player wanders in empty-handed. There are two
- "types" of lights and two types of darkness. A noun may be defined as
- being a light by specifying the word IS_LIGHT in its definition; in this
- case, it will light any dark room defined as LIGHT 1. The light value of 1
- in a room definition means that any light will make the room visible. Of
- course, these "general-purpose" lights must be turned on to light the room,
- and thus all LIGHTs can be TURNed ON and OFF (or LIGHTed and EXTINGUISHed).
-
- If the LIGHT value is other than 1 (i.e., LIGHT [Torch]), only the noun
- with the matching AGT "name," i.e., [Torch], will make the room's contents
- visible. This is useful if the darkness comes from something other than an
- absence of light: for example, a fan might be the only object that makes a
- smokey room clear enough to see in. A special-purpose light need not be
- defined as a light (i.e., it doesn't have to be defined IS_LIGHT), nor does
- it have to be on, to work as a light in a room with that noun as a LIGHT.
- A noun can function as a special-purpose light for more than one room, but
- each room can only be lit by one special-purpose light. (A room with a
- LIGHT value of 1 will be lit by ANY noun defined as IS_LIGHT.)
-
-
- CREATURES
-
- Any living thing is identified as a 'creature', and can be either
- 'friendly' or 'hostile'. Friendly creatures are quite passive; hostile
- creatures are not quite as friendly. It is recommended that provisions be
- made for a weapon to kill any hostile creatures. For fairness, that weapon
-
- 41
-
-
-
-
- should be accessible by the player before s/he meets the hostile creature.
-
- Players should be discouraged from wild and unwarranted killing: i.e., they
- ought not kill friendly creatures. If no weapon will kill the creature
- (i.e., if you leave or specify WEAPON as the default value 0), the player
- cannot kill it. For friendly creatures, you should not lead the player on
- by making the weapon something unexpected: if the player kindly offers a
- jelly bean to the friendly creature, it ought not be fatal. Only one
- weapon can kill any given creature, but the same weapon might be used to
- kill many creatures.
-
- The format in the .AGT file for Creatures, like rooms, are relatively
- simple:
-
- |<-----significant----->|<------ignored------------------------>|
- |
- Required:
-
- CREATURE [Label] <-- Label is the AGT name for the creature
- Name <-- one word name
- Adjective <-- one word adjective
- Short one-line description of creature.
- {optional characteristics}
- END_CREATURE
-
- Optional:
-
- LOCATION [Room label] <-- Room label is the creature's location
- {default is 0 or [Nowhere]}
- WEAPON [Noun label] <-- Noun label is the AGT name weapon
- that kills this creature.
- {default is 0 or [none]}
- HOSTILE <-- default is friendly
- THRESHOLD n <-- {n is number of times a hostile
- creature can be unsuccessfully
- attacked before it and kills the
- player - default 3}
- TIME_THRESH n <-- {n is number of turns player can be
- in the same room with the creature
- before it kills the player - default
- value is infinite, or disabled}
- POINTS nn <-- nn is the number of points player
- gets for having this creature in the
- current room, i.e., for "capturing"
- or "rescuing" the creature.
- {default is 0}
- GROUPMEMBER <-- default is NOT a GroupMember. If a
- creature is specified as a GROUPMEMBER
- then it will automatically follow the
- player from location to location once
- they meet.
-
-
- 42
-
-
-
-
- GENDER <-- default is THING. GENDER may also be
- specified as MAN or WOMAN. GENDER
- causes pronouns and verbs to be used
- that are appropriate to the specific
- creature. THINGs are ferocious and
- referred to as "IT". MANs are less
- ferocious and are referred to as
- "HE" and "HIM". WOMANs are "SHE"
- and "HER".
- CREATURE_SYNONYMS <-- default is NONE. If the .AGT file had
- CREATURE_SYNONYMS BOB BILLY then all
- of these names would be accepted as
- valid synonyms for the creature.
- Of course, the "official" NAME will
- also work.
- PICTURE [Picture label] <-- Picture label for a PCX format picture
- file associated with this CREATURE.
- To be explained in a later section.
-
- NOTE: A player cannot exit a room containing a hostile creature. When
- killed, creatures are relocated to LOCATION 0, i.e., [Nowhere].
- Friendly/non-hostile creatures have no effect on the (Standard Level)
- game's outcome -- they just add a little "spice" to the game.
-
- For example, to define a female Froobious Bandersnatch in room [Jungle],
- which can be killed with noun [Big Gun], we could use the following
- specifications in the .AGT file:
-
- CREATURE [Froobious Bandersnatch]
- Bandersnatch
- Froobious
- There is a mommy froobious bandersnatch, looking for her cubs.
- LOCATION [Jungle]
- WEAPON 205
- THRESHOLD 2
- TIME_THRESH 5
- WOMAN
- HOSTILE
- CREATURE_SYNONYMS BEAST
- END_CREATURE
-
- The thresholds specify that you can try to attack the bandersnatch twice
- (unsuccessfully) or be in the room with the bandersnatch for 5 turns,
- before the beast kills you. The player will not be able to leave the room
- if the Bandersnatch is present, because she is hostile, until the creature
- has been killed (with weapon [Big Gun]). To use the weapon to kill the
- creature, the player would FIRE THE GUN AT THE BANDERSNATCH or SHOOT THE
- BEAST WITH THE GUN, if the weapon is a gun, or THROW the weapon AT the
- creature or KILL the creature WITH the weapon, if the weapon is not a gun.
-
- The complete EXAMINE description might be contained in the .AGT file as:
-
-
- 43
-
-
-
-
- CREATURE_DESCR [Froobious Bandersnatch]
- The bandersnatch is snorting and drooling. It is a large female and
- she appears to have misplaced her cubs, which makes her very un-
- pleasant and very dangerous. She seems to harbor few honorable
- intentions towards you.
- END_CREATURE_DESCR
-
-
- TALK AND ASK MESSAGES
-
- CREATURES can now have messages that will be given in response to a TALK TO
- or ASK CREATURE ABOUT XXXXXX input commands. These are similar to the
- PUSH, PULL, TURN, etc., messages for NOUNs.
-
- Here is an example of how you might define these messages:
-
- CREATURE [Bart Simpson]
- Kid
- Obnoxious
- There is an obnoxious kid here leaning against a skate board.
- LOCATION [NoWhere]
- MAN
- CREATURE_SYNONYMS Bart Simpson
- PICTURE [Bart2 pic]
- END_CREATURE
-
- CREATURE_DESCR [Bart Simpson]
- The kid still looks familiar. He is resting against a skateboard. As
- you look at him he says "I'm Bart Simpson. Who the hell are you,
- Dude?" You decide to ignore him.
- END_CREATURE_DESCR
-
- TALK_DESCR [Bart Simpson]
- "I don't talk to people from your generation! Like stooonnnee aage!
- Get real, Dude.!"
- END_TALK_DESCR
-
- ASK_DESCR [Bart Simpson]
- "Do I look like I am someone who know or cares about $OBJECT$? Do I?
- Do I really? Get real, Dude.!"
- END_ASK_DESCR
-
-
- GROUPS OF CREATURES
-
- Creatures can be designated as a member of the "Group" by using the
- GROUPMEMBER specification. All group members in the current location will
- automatically move with the player when he/she moves to another location.
- However, their group status will not effect other aspects of their behavior
- during the game, i.e., they can still be talked to or killed as
- individuals. Probably the best known example of an adventure creature
- following the player once they meet is the Robot Floyd who is the player's
-
- 44
-
-
-
-
- constant companion in the Infocom adventure games Planetfall and its sequel
- Stationfall. The group can have several members, so this feature could be
- used to beam down a "landing party" consisting of the player, Spock, Sulu,
- McCoy and Scotty and have them explore the planet as a group in a Star Trek
- adventure.
-
- Later in this manual, we will introduce a variety of meta-commands that
- enable the game designer to test the status of the group and to manipulate
- the group in many ways, i.e., add or subtract members, disband the group,
- send the group off to another location, etc.
-
-
- SPECIALS
-
- To 'activate' the special, the player must 'do something' to the noun
- specified as the room's KEY. This can include turning it, pushing it,
- pulling it, or playing it (depending on what can be done to the noun as
- defined). If the proper action is taken on the noun while in the room, the
- player will be relocated to the room specified in the SPECIAL line and the
- SPECIAL nn text will be displayed. (If the Special points to the current
- room, the only effect apparent to the reader will be the display of the
- SPECIAL text.)
-
- For example, to enter the house (by going to the entry hall -- ROOM [Entry
- Hall]) by pushing the door bell on the porch (ROOM [Porch]) could be done
- with the following special:
-
- ROOM [Porch]
- Front Porch
- .
- .
- .
- SPECIAL 14 [Entry Hall]
- KEY [Door Bell]
- END_ROOM
-
- ROOM_DESCR [Porch]
- You are standing on the front porch of a large mansion. The doors are
- about 10 feet high.
- END_ROOM_DESCR
-
- NOUN [Door Bell]
- Bell
- Door
- Beside the door in a door bell.
- .
- .
- PUSHABLE
- UNMOVABLE
- LOCATION [Front Porch]
- NOUN_SYNONYMS doorbell
- END_NOUN
-
- 45
-
-
-
-
- SPECIAL [Entry Hall]
- You boldly push the door bell. Deep inside the house, you hear some
- chimes that sound vaguely like Big Ben. After a few minutes, the door
- is opened by a butler dressed in a black morning coat. He says "Good
- morning, Sir. I will tell the Master that you have arrived." With
- that, he disappears down the hall. You are left alone in the entry
- hall of the house.
- END_SPECIAL
-
- ROOM [Entry Hall]
- Entry Hall
- NORTH [End of Hall]
- .
- .
- END_ROOM
-
- ROOM_DESCR [Entry Hall]
- The entry hall is long and narrow. You can see open doors at the end
- of the hall to the north. The front doors are behind you to the
- south.
- END_ROOM_DESCR
-
-
- "SPECIAL" SPECIALS
-
- AGT has two "special" specials: the verbs MAGIC_WORD and CHANGE_LOCATION.
- These words are used in conjunction with a room synonym declaration to
- create a "special" for any words the game designer may wish to use (i.e.,
- you are not restricted to PULL, PUSH, TURN and PLAY). For example, the
- designer may specify that XYZZY and MAGIC_WORD are synonyms in a particular
- room -- so that if the player gives the command XYZZY in that room, it
- causes a "special" for that room which might send the player to another
- room with an appropriate "special" messages being written. CHANGE_LOCATION
- works the same way except it requires a specific NOUN that is the "key" to
- the "special" to be present in the room. For example, the game designer
- might make SHOW a synonym for CHANGE_LOCATION in particular room and make
- the noun PASS the "key" to the "special" in that room, then whenever the
- player gives the command SHOW THE PASS TO THE GUARD (in the particular
- room), the "special" would be executed and a message like "The guard
- examines your security pass and finds it in order. He opens the steel door
- and allows you to enter the vault, where you find...."
-
- NOTE: In AGT, each room may have only one special. So, you will not be
- able to have a MAGIC_WORD and another special in the same room. (You could,
- however, achieve similar results using meta-commands.)
-
- For example, in order to be able to define a special for CLIMB TREE or
- SCALE TREE to cause the player to go from room [Dark Forest] to room [Top
- of Oak Tree] with a special message, the game designer could use the
- following specifications in his data file:
-
-
-
- 46
-
-
-
-
- ROOM [Dark Forest]
- Dark Forest
- .
- .
- SPECIAL [Top of Oak Tree]
- KEY [Oak Tree]
- ROOM_SYNONYMS CHANGE_LOCATION CLIMB SCALE
- END_ROOM
-
- NOUN [Oak Tree]
- tree
- oak
- There is a large oak tree at the edge of the clearing.
- .
- .
- UNMOVABLE
- LOCATION [Dark Forest]
- END_NOUN
-
- SPECIAL [Top of Oak Tree]
- You manage to climb up to the top of the oak tree.
- END_SPECIAL
-
- ROOM [Top of Oak Tree]
- Top of Oak Tree
- .
- .
- DOWN [Dark Forest] <-- can exit by going DOWN
- END_ROOM
-
- MAGIC_WORD works the same way except, the KEY for the room must be zero.
- For example, if you wish to allow the player to go from room [Emperor's
- Tomb] to room [Outside Tomb Entrance] when he gives the commands SESAME,
- SHAZAM or ABRACADABRA you would do it as follows:
-
- ROOM [Emperor's Tomb]
- Emperor's Tomb
- .
- .
- SPECIAL [Outside Tomb Entrance]
- KEY 0
- ROOM_SYNONYMS MAGIC_WORD SESAME SHAZAM ABRACADABRA
- END_ROOM
-
- SPECIAL [Outside Tomb Entrance]
- By saying the magic word $VERB$, you are suddenly transported to the
- outside of the Emperor's Tomb. You are very lucky to have escaped,
- because the air in the tomb was almost gone.
- END_SPECIAL
-
-
-
-
- 47
-
-
-
-
- ROOM [Outside Tomb Entrance]
- Outside Tomb Entrance
- .
- .
- END_ROOM
-
- In this example, the SPECIAL message uses a very convenient and helpful
- feature of AGT, namely $VERB$. This causes the original verb to be
- repeated back in the message, i.e., if the command was SHAZAM, then the
- special message would be "By saying the magic word SHAZAM, you are suddenly
- transported..." Similarly, in AGT, the game designer may also have the
- NOUN, the noun's ADJECTIVE, the PREPOSITION and the OBJECT of the commands
- repeated back in messages by specifying $NOUN$, $ADJECTIVE$, $PREPOSITION$
- and $OBJECT$ within the message text. If a command is being addressed to a
- character in the adventure, e.g., SCOTTY, BEAM ME UP, the character's name
- may also be echoed back in a message by using $NAME$.
-
- IMPORTANT NOTE: The $-words are case-sensitive. For example, if you use
- $NAME$, you will get the name echoed back to the player in the game in all
- caps. If you use $Name$, you will get the first letter of the name
- capitalized and the remainder in lower case. If you use $name$, you will
- get the name displayed in all lower case letters. These same case rules
- also apply to the other $-words, i.e., $Verb$ will cause the verb to be
- repeated back with its first letter capitalized and the other letters lower
- case.
-
-
- CREATING A TYPICAL ROOM
-
- Let's suppose that your game contains a bedroom, connected to a closet, a
- bathroom, and a hallway. In the bedroom are a lamp, a bed, a dresser, a
- mirror, and a werewolf.
-
- First, you want to define the room itself:
-
- ROOM [Master Bedroom]
- Master Bedroom
- WEST [hallway]
- EAST [bathroom]
- NORTHEAST [closet]
- END_ROOM
-
- A description of the room is appropriate here:
-
- ROOM_DESCR [Master Bedroom]
- This is the master bedroom, where Mommy and Daddy usually sleep.
- Plainly visible in the room are a bed, a dresser, a lamp, and a large
- wall mirror. The room smells horrible, as if a large, unclean animal
- had been here recently.
- END_ROOM_DESCR
-
-
-
- 48
-
-
-
-
- Note that this description mentions the nouns that are initially in the
- room. This is OK, since all of the nouns are UNMOVABLE, but if they could
- be taken by the player, they should not be described in the room
- description since they may not be there if the player should return.
-
- That werewolf is begging to be described, too:
-
- CREATURE [Werewolf]
- Werewolf
- Black
- There is a menacing black werewolf here.
- LOCATION [Master Bedroom]
- WEAPON [Blow gun] <-- Noun [Blow gun] will kill it
- HOSTILE <-- ever met a friendly werewolf?
- END_CREATURE
-
- CREATURE_DESCR [Werewolf]
- The werewolf is about the size of a small horse. Its matted fur
- stinks, and a sickening smell emerges from its open mouth, through
- which you can see sharp, large teeth.
- END_CREATURE_DESCR
-
- A HELP message might be given as follows:
-
- HELP [Master Bedroom]
- The werewolf looks dangerous. Perhaps, you should get out of here as
- fast as you can.
- END_HELP
-
- Finally, each noun within the room ought to be defined and described:
-
- NOUN [Bed]
- Bed
- Large
- There is a large (king-size) bed here.
- LOCATION [Master Bedroom]
- UNMOVABLE
- END_NOUN
-
- NOUN_DESCR [Bed]
- The bed is quite ordinary.
- END_NOUN_DESCR
-
- NOUN [Dresser]
- Dresser
- Wooden
- There is a large wooden dresser here.
- LOCATION [Master Bedroom]
- CLOSABLE
- CLOSED
- UNMOVABLE
- END_NOUN
-
- 49
-
-
-
-
- NOUN_DESCR [Dresser]
- The wooden dresser looks pretty much like most wooden dressers.
- END_NOUN_DESCR
-
- NOUN [Lamp]
- Lamp
- Small
- There is a lamp on the dresser.
- LOCATION [Master Bedroom]
- UNMOVABLE
- END_NOUN
-
- NOUN_DESCR [Lamp]
- The small table lamp is pink and has a green shade.
- END_NOUN_DESCR
-
- NOUN [Strange Mirror]
- Mirror
- Strange
- There is a wall-size mirror here.
- LOCATION [Master Bedroom]
- UNMOVABLE
- END_NOUN
-
- NOUN_DESCR [Strange Mirror]
- As you gaze into the mirror, you sense something unusual about it. It
- seems to shimmer, and your reflection seems somehow unreal, as if the
- mirror weren't really there at all.
- END_NOUN_DESCR
-
- Hmm. That mirror seems rather interesting. Maybe you could make a
- "special" out of it. For example: when the player touches it, s/he is sent
- to room [Cavern], the mystic cavern of the Wizardess. To do so, you need
- to add a "special" to room [Master Bedroom] and specify the mirror as its
- key, and you need to make the mirror touchable. (Note: "touch" and "push"
- are synonyms -- but, you should use the word "push," not the word "touch,"
- in your definitions.)
-
- ROOM [Master Bedroom]
- Master Bedroom
- WEST [hallway]
- EAST [bathroom]
- NORTHEAST [closet]
- SPECIAL [Cavern] <-- Special goes to room [Cavern]
- KEY [Strange Mirror] <-- Special activated by touching mirror
- END_ROOM
-
-
-
-
-
-
-
- 50
-
-
-
-
- NOUN [Strange Mirror]
- Mirror
- Strange
- There is a wall-size mirror here.
- LOCATION [Master Bedroom]
- UNMOVABLE
- PUSHABLE <-- Here's how we'll activate the special
- END_NOUN
-
- The player will see room [Cavern]'s description when s/he gets there, but
- the SPECIAL text for room [Cavern] will be displayed first:
-
- SPECIAL [Cavern]
- You reach out to touch the mirror, and are shocked to find that your
- fingers vanish through the surface. Before you can react, you feel
- yourself drawn forward through the mirror, and into a black nothing-
- ness. You look back to try to see the mirror, but everything is
- black.
-
- You are falling, but not very quickly -- it's almost as if you are
- floating. As you fall, your eyes begin to adjust to the darkness.
- Then, suddenly, you land on a soft cushion of some sort. As you rest
- on the cushion, your eyes adjust to the very dim light of this new
- room.
- END_SPECIAL
-
- (Note that usually, you'd want to have a PUSH_DESCR prepared for when the
- player touches a noun when it doesn't activate a special, but the mirror
- can't be moved so it will always activate a special when Touched.)
-
-
- "INVISIBLE" NOUNS
-
- Occasionally, you will want to have a noun that does not have a separate
- description line when you see the room's description, i.e., you want to
- have an "invisible" noun. The most common instance of these is an
- UNMOVABLE noun whose description is incorporated in the room description.
- This is accomplished by having the first word in the "one-line" description
- of the noun be the word "INVISIBLE." For example, below is an invisible
- bunch of toys which can be EXAMINEd and PLAYed with, but its basic
- description is contained within the room's description.
-
- ROOM [Santa's Workshop]
- Santa's Workshop
- EAST [Bunkhouse]
- WEST [Garage]
- SOUTH [Gift Wrapping Room]
- NORTH [Outside Workshop]
- END_ROOM
-
-
-
-
- 51
-
-
-
-
- ROOM_DESCR [Santa's Workshop]
- This is Santa's Workshop. Not many people have laid their eyes on
- this room. All around you is a clutter of toys, in various stages of
- development, and tools of all descriptions. To the north there is a
- door. Doors also lie to the south, east and west. Work benches line
- all four walls. Above each bench is a peg board full of hooks. Tools
- hang from the hooks. The tops of the benches are covered with an
- array of items, from scraps of building materials, the odd nail and
- screw, paint brushes, cans of paint, some open and some closed, to
- blueprints and plans of toys. The floor is cluttered with toys.
- These toys represent just about every stage of development possible.
- In fact the clutter on the floor is so bad, that you have to kick a
- path in order to move about the room.
- END_ROOM_DESCR
-
- NOUN [Invisible Toys]
- toys
- many
- INVISIBLE -- description in room description
- UNMOVABLE
- LOCATION [Santa's Workshop]
- PLAYABLE
- PLURAL
- NOUN_SYNONYMS toy sleds toboggans skates skis dolls trains car cars
- END_NOUN
-
- NOUN_DESCR [Invisible Toys]
- This is what Santa's part of Christmas is all about...TOYS! There are
- so many, that it's hard to begin to describe what you see. The first
- thing you notice is that there seems be a lot more than when you were
- around. The world's population must have doubled in the few short
- years of your retirement. The sleds and toboggans have the 'New and
- Improved' look. There's not much change in the design and style of
- the skates and skis, just better materials to work with. Now the
- dolls are a different story. You see your standard 'cry-and-wet' doll,
- rag dolls, the so-called fashion doll and the new 'vegetable-patch'
- doll. The biggest change in the dolls is the talking dolls. Computer
- chips are a miracle-come-true. These dolls have real voices...nothing
- tinny about the quality of the sound. From the number of them here,
- you would guess that at least 4 out of 5 good girls are going to find
- one of these little gems under their Christmas Tree tomorrow morning.
- Over in the corner you spy the electric trains. Santa and his 'toy
- architects' have left this design alone. They look the same and
- operate the same. The next thing you ogle over are the racing cars
- sets. The cars are sleek and fast! Not to mention the slick surface
- of the track. Too bad you have a mission. You'd love to sit and
- pretend you're A. J. Foyt. The little ones will be pleased that
- Santa's elves have made up the latest stuffed toys. Alf seems to be
- the most popular. You really don't have much time to look at all the
- toys. You have a mission, remember? One last quick scan of the room,
- just to make sure that the usually rocking horses and bicycles are
- present and accounted for.
-
- 52
-
-
-
-
- END_NOUN_DESCR
-
- PLAY_DESCR [Invisible Toys]
- Sorry, but you don't have time to play with the toys. You have to
- help Santa make Christmas a success this year.
- END_PLAY_DESCR
-
- Notice, that the toy noun must be UNMOVABLE for this scenario to work the
- way it should.
-
-
- SCORING
-
- The player's progress in the game is reported in two ways: the number of
- rooms visited, and the number of points currently held. The player
- receives the defined number of points for visiting each room (default point
- value is 0), and for possessing (i.e., carrying, wearing or in the current
- room or in the treasure room) each noun (or creature with points) when
- scoring is done. The point defaults for both nouns and creatures are zero.
- Players get no points for having eaten something, since objects which are
- eaten or drunk are removed from the game.
-
- For best results, it is best to assign a point value to each room which the
- player arrives at after solving some puzzle. It's also wise to award a few
- points for out-of-the-way rooms. Objects should only have point values if
- they can reasonably be expected to be carried at the end of game -- if an
- object is too heavy to be lifted or moved, it's not logical to assign it a
- point value.
-
-
- OTHER DATA ITEMS IN THE .AGT FILE
-
-
- INTRODUCTION or INTRO TEXT
-
- In the .AGT file, you can include some introductory remarks by using the
- header INTRO or INTRODUCTION and ending these remarks with END_INTRO.
- These kinds of remarks are particularly useful for telling the player what
- has happened prior to his arrival in the game's starting room. The
- introductory text is displayed during the game's initialization and cannot
- be re-read later. It also cannot be skipped over. For example, you would
- include intro material in the .AGT file by doing something like the
- following:
-
- INTRODUCTION
- The introductory text goes here.
- END_INTRO
-
-
- STARTING ROOM
-
- You must specify a starting room location within your in the .AGT file.
-
- 53
-
-
-
-
- For example, if the .AGT file had:
-
- STARTING_ROOM [At the end of the road]
-
- then the game would start in room [At the end of the road].
-
-
- RESURRECTION_ROOM
-
- You can now specify a room to have the player resurrected in. The starting
- room is the default resurrection location, but you now specify an
- alternative room. For example, by putting the following line in your .AGT
- file, you can cause the player to be resurrected in room number [Inside
- Small Building]:
-
- RESURRECTION_ROOM [Inside Small Building]
-
-
- MAX_LIVES
-
- You can also specify the number of times the player can be resurrected in
- the game. For example, by putting the following in the .AGT file, you
- would set the number of player lives to 5:
-
- MAX_LIVES 5
-
- The default is 3 lives. If you set MAX_LIVES to zero, the player will
- never be resurrected.
-
-
- TREASURE ROOM
-
- Normally, the player only gets points for visiting rooms and for possessing
- treasures (i.e., nouns or creatures with value). However, many classic
- adventure games use a convention that required the player to bring his
- various treasures to a "Treasure Room". Probably, the best example of this
- is the Well House in the original "Colossal Cave" adventure. AGT adds this
- feature by allowing the game designer to specify a treasure room in the
- .AGT file as:
-
- TREASURE_ROOM [Inside Well House]
-
- Normally, there is no treasure room. This option is only activated if a
- statement like the above appears in the .AGT file.
-
-
- VERB SYNONYMS
-
- To specify verb synonyms, simply create a AGT definition starting with VERB
- (alone on a line) and ending with END_VERB (alone on a line). For example:
-
-
-
- 54
-
-
-
-
- VERB
- KILL STAB CHOP
- ATTACK STRANGLE CHOKE THROTTLE
- UP CLIMB ASCEND
- END_VERB
-
- In the above example, if the player types STAB THE DWARF WITH THE KNIFE,
- AGT will translate the sentence to KILL THE DWARF WITH THE KNIFE and
- attempt to do so. Synonyms do not replace the original verb, e.g., the
- verb KILL would also work. Likewise, if the player types CLIMB the game
- will execute the sentence as if the player had typed UP -- which means that
- CLIMB DOWN would be translated to UP DOWN which would, of course, confuse
- the game somewhat and generate an error message which might, in turn,
- confuse the player.
-
- Because the verb synonyms are not actually user-defined verbs, you should
- think carefully about the possible uses of words you add, to make sure the
- player won't be confused by the meaning of a word.
-
- WARNING: It is NOT possible to define a synonym for a synonym. For
- example, the following entry would generate an error message:
-
- VERB
- ATTACK CHOKE
- CHOKE STRANGLE <-- "Verb not recognized - Line ignored"
- END_VERB
-
- Verb synonyms defined as those above are "global" in that they apply in
- each room of the game. On the other hand, room synonyms apply only in the
- particular room for which they are defined. Room synonyms take precedence
- over global synonyms. For example, you could define CHOKE to be a synonym
- for ATTACK globally (as above), then define CHOKE to be a synonym for PULL
- in a particular room. If you were in that room, CHOKE would be treated
- like the verb PULL; outside of that room CHOKE would be treated as if you
- had input the verb ATTACK.
-
-
- PLAYER_DEAD
-
- A ROOM can contain a PLAYER_DEAD specification that will cause the player
- to die when he or she first enters the room (and after the description is
- displayed on the screen). An example of how this feature might be used is
- as follows:
-
- ROOM [In the frigid water]
- You have drowned!
- PLAYER_DEAD
- END_ROOM
-
-
-
-
-
- 55
-
-
-
-
- ROOM_DESCR [In the frigid water]
- Now you've done it! You've slid off the floe into the frigid water.
- Your life passes before your eyes. They say drowning is not such a
- bad way to go, but whoever said that must have drowned in warm water.
- Your frozen little body bobs to the surface for a second then flips
- upside down and you sink to the bottom of the ocean. You're dead!
- END_ROOM_DESCR
-
-
- GAME_WIN
-
- Acquiring all the points defined in the game doesn't let the player "win,"
- and winning isn't even related to points. If you define a room as
- GAME_WIN, then the player wins the game upon entering the room, and the
- game ends and the final score is displayed. It is usually desirable to
- make that room very difficult to enter and not let the player get there
- unless he or she has done everything else there is to do.
-
- The room description is displayed, so you should put your congratulatory
- description there. For example:
-
- ROOM [End of the Rainbow]
- End of the Rainbow
- GAME_WIN
- POINTS 50
- END_ROOM
-
- ROOM_DESCR [End of the Rainbow]
- At long last, you have reached the end of the rainbow. The pot of
- gold lies at your feet. You have won the game!!
- END_ROOM_DESCR
-
- Note that is also possible to win the game when a specific Noun is
- acquired. This is done be putting a GAME_WIN in the Noun's specification.
-
-
- GAME_END
-
- If you desire to have the game end, without having the player win, you can
- use a GAME_END in the room definition. When this is done, the game will
- end when the player enters the room and the final score is displayed. The
- room description is also displayed, so you should put any final comments to
- the player in the room description. For example:
-
- ROOM [End of the trail]
- End of the trail
- GAME_END
- END_ROOM
-
-
-
-
-
- 56
-
-
-
-
- ROOM_DESCR [End of the trail]
- You have reached the end of the trail. There is no turning back.
- Sorry, but your adventure is OVER!
- END_ROOM_DESCR
-
-
- PAGE PAUSES
-
- Normally, the game pauses after every 22 lines of text (so that the player
- can read it), and the player then hits <CR> to read more. As you play-test
- your game, you might try to adjust your paragraph or line spacing so that
- the page breaks don't come at awkward spots and confuse the player. This
- is probably most important in the title screen and the INSTRUCTION and
- INTRO texts; it is less controllable in the individual room descriptions.
-
-
- ORDER OF DEFINITIONS
-
- AGT doesn't require that the definitions be in any specific order within
- the data files. Definitions can be freely mixed throughout your data
- files. You'll probably want to group items together that logically belong
- together. That's how the sample games were written. The order of
- definitions in the file has no effect on game performance, as long as each
- definition is properly structured.
-
-
- HOW TO INCLUDE COMMENTS IN YOUR AGT DATA FILES
-
- Within your data file, you'll probably want to include comments which won't
- be processed by the game itself, so you'll be able to understand why you
- did certain things.
-
- In general, AGT treats anything it doesn't understand as a comment. Thus,
- if you have a paragraph of text in between definitions, AGT will usually
- ignore it.
-
- BEWARE: If one of the lines in the paragraph begins with a keyword like
- "noun" or "text," AGT will probably decide that it's the beginning of a
- definition and get confused.
-
- To avoid this, you can use a nonsense word to start each line of a comment:
- words like "REM" (for remark) are useful since they also clearly state what
- the line is.
-
- AGT ignores most punctuation completely, so using "comment" indicators like
- "(*" and "*)" or { and } at the beginning of a line won't help. However,
- using these kinds of comment indicators will make your game files easier to
- read. AGT usually only sees alphabetic characters ('a'..'z' and 'A'..'Z')
- or the digits ('0'..'9').
-
- You can put comments on lines which contain a keyword or a keyword and a
- number; don't include comments on lines which contain a full-line
-
- 57
-
-
-
-
- description.
-
- Example of properly-commented definitions:
-
- ROOM [Master Bedroom]
- Master Bedroom
- EAST [bathroom]
- NORTHEAST [closet]
- SPECIAL [cavern]
- KEY [Strange Mirror] <-- Special activated by touching mirror
- END_ROOM
-
- NOUN [Strange Mirror]
- Mirror
- Strange (isn't there a better adjective?)
- There is a wall-size mirror here.
- LOCATION [Master Bedroom] (in the Master Bedroom)
- rem: the player finds this mirror in the master bedroom,
- rem: and gets to the Cavern by touching it. The player
- rem: can only return if s/he has the magic amulet, and
- rem: will need the soap from the bathroom to kill the
- rem: demon on the bridge.
- UNMOVABLE (not very useful if the player can take it!)
- PUSHABLE <-- Here's how we'll activate the special
- END_NOUN
-
- Below is an example of a badly-commented definition:
-
- ROOM [Master Bedroom]
- Master Bedroom
- WEST [hallway]
- (If the player decides to enter the bathroom to the
- west, s/he will find the 32 gold pieces.)
- EAST [bathroom]
- NORTHEAST [closet]
- SPECIAL [Cavern] <-- Special goes to room [Cavern]
- KEY [Strange Mirror] <-- Activated by touching mirror
- (The player gets to the mystic cavern by means of a
- key special, activated by noun [Magic Mirror])
- END_ROOM
-
- In the above example, the second full comment line begins with the keyword
- "WEST" and contains the number 32, so AGT might decide that WEST should
- lead to room 32, changing the game! The last line before the END_ROOM
- could confuse AGT and redefine the key number (to 233). That comment line
- is also plainly incorrect, since it says "[Magic Mirror]" instead of
- "[Strange Mirror]."
-
- There are several other ways to sprinkle comments throughout your game
- source files. Any line in the file that begins with either a ! mark or ;
- in column 1 of the line will be treated as a comment and ignored by
- MCOMPILE. In addition, you may use the #COMMENT directive to place notes
-
- 58
-
-
-
-
- or remarks anywhere in the source file, even in the middle of game text, so
- long as the comment begins and ends on its own line(s). MCOMPILE will
- completely disregard these comments, and they will not appear in any output
- files.
-
- The #COMMENT directive has two forms: a single-line form and a multi-line
- form. The two forms look like this:
-
- #COMMENT This is a single-line comment.
-
- #COMMENT
- This is a multi-
- line comment.
- #END_COMMENT
-
- Note that MCOMPILE tells the difference between single- and multi-line
- directives by the presence or absence of text following the directive
- keyword.
-
-
- CREATING A FINAL COMPILED VERSION
-
- To make a playable copy of your game -- named YOURGAME for purposes of
- illustration -- just follow the steps laid out in the section entitled
- "QUICK START FOR CREATING A READY-TO-PLAY GAME" earlier in the manual.
- However substitute the name YOURGAME wherever you see the name SQUYNCH.
-
- Later in this manual, you will learn that you may also want to include
- various picture, sound, music and font files with your game as part of the
- "finished" package.
-
- And remember to NEVER, NEVER erase or delete your source game file,
- YOURGAME.AGT!!
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 59
-
-
-
-
- PART 3: USING META-COMMANDS IN PROFESSIONAL LEVEL ADVENTURE GAMES
-
-
- Before discussing meta-commands in detail, it is convenient to present a
- quick overview of other changes in Professional Level games. The principal
- changes are the addition of custom user-defined verbs and Maximum_Score to
- the .AGT file (NOTE: everything else about the .AGT files as previously
- presented still applies in Professional Level games).
-
-
- CUSTOM USER-DEFINED VERBS
-
- Custom user-defined verbs are defined very much like "Verb Synonyms". For
- example, the following lines in the .AGT file will define several new verbs
- (and synonyms):
-
- VERB
- Dummy_Verb1 KISS HUG LOVE CARESS
- Dummy_Verb2 GO CLIMB CROSS
- Dummy_Verb3 CUT CHOP BREAK CRACK BUST
- Dummy_Verb4 JUMP LEAP
- Dummy_Verb5 SEARCH FIND
- END_VERB
-
- AGT adds 50 "dummy verbs" (Dummy_Verb1 ... Dummy_Verb50) to the list of
- valid verbs. These dummy verbs are then redefined as if they had synonyms
- in statements like the ones above. These user-defined verbs are then used
- in meta-commands to specify new conditional tests and appropriate actions.
- For example, the following meta-commands (in the .AGT file) would allow the
- player to CLIMB a tree and to CROSS a bridge:
-
- COMMAND CLIMB TREE
- InRoom [sturdy oak tree]
- GoToRoom [in branches at top of oak tree]
- PrintMessage [You climb up to the top of the tree.]
- DoneWithTurn
- END_COMMAND
-
- COMMAND CROSS BRIDGE
- AtLocation [West side of bridge]
- GoToRoom [East side of bridge]
- PrintMessage [You walk across the bridge to the other side.]
- DoneWithTurn
- END_COMMAND
-
- COMMAND CROSS BRIDGE
- AtLocation [East side of bridge]
- GoToRoom [West side of bridge]
- PrintMessage [You walk across the bridge to the other side.]
- DoneWithTurn
- END_COMMAND
-
-
- 60
-
-
-
-
- The above meta-commands could also have been done by CHANGE_LOCATION
- specials. However, custom verbs and meta-commands can also be used to
- create more unusual situations, like these meta-commands for processing the
- user's input to KISS or HUG something:
-
- COMMAND KISS PRINCESS
- InRoom [Princess]
- AtLocation [Bridal Suite of palace]
- PrintMessage [The princess melts into your strong arms, etc.]
- PlusScore [Bonus for Kiss]
- WinGame
- DoneWithTurn
- END_COMMAND
-
- COMMAND KISS PRINCESS
- InRoom [Princess]
- NOT AtLocation [Bridal Suite of palace]
- PrintMessage [The princess pushes you away coyly, "Not here!"]
- DoneWithTurn
- END_COMMAND
-
- COMMAND KISS TROLL
- InRoom [Ugly Troll]
- PrintMessage [The troll kills you!]
- KillPlayer [That will teach you to KISS THE TROLL!!]
- DoneWithTurn
- END_COMMAND
-
- COMMAND KISS ANY
- NOUNpresent ; NOUN (whatever it is) is here.
- PrintMessage [You try to $verb$ the $noun$ for awhile.]
- MinusScore 10 ; penalty for sick mind
- DoneWithTurn
- END_COMMAND
-
- COMMAND KISS ANY
- PrintMessage [The $adjective$ $noun$ isn't here!]
- MinusScore 10 ; penalty for sick mind
- DoneWithTurn
- END_COMMAND
-
- Meta-commands are processed in the order encountered in the .AGT file, so
- the last two KISS ANY commands represent "default" commands and would be
- activated only if you weren't trying to KISS, HUG, etc. the PRINCESS or the
- TROLL. For example, if you gave the input "KISS THE BLARNEY STONE", the
- game would respond with "You try to kiss the stone for a while" or "The
- Blarney stone isn't here!" depending upon if the Blarney stone is present
- at your current location or not.
-
-
-
-
-
- 61
-
-
-
-
- MAXIMUM_SCORE
-
- AGT allows the score to be manipulated via meta-language commands. For
- example, using meta-language commands, one could adjust the score whenever
- the player:
-
- -- Accepts a hint
- -- Solves a particularly difficult puzzle
- -- Gives the correct answer to a riddle
- -- Performs a daring and/or noble act
-
- The score can be manipulated either positively or negatively in this way.
-
- Since in AGT you may add (or subtract) points from your score via your
- deeds, the maximum score for the game will often be different from the sum
- of the scores for visiting rooms and possessing objects. In this
- situation, you will need to specify a maximum score for the game in the
- .AGT file. For example, to have a maximum score of 350 points for the game
- you would put the following statement in the game's .AGT file:
-
- MAXIMUM_SCORE 350
-
-
- MESSAGES
-
- The Master's Edition allows you to have up to 700 messages that are used by
- various meta-language commands. The format for each message is straight-
- forward text as follows:
-
- MESSAGE [As you speak, the vault door opens]
- As you $verb$ into the microphone, the security door slides open
- noiselessly. You hurry into the vault. The door closes behind you.
- END_MESSAGE
-
- In any message, the game designer can use $VERB$, $NOUN$, $ADJECTIVE$,
- $PREPOSITION$, $OBJECT$ and $NAME$ wherever he wants to have the original
- verb, the noun, the noun's adjective, the preposition, the objective of the
- preposition or the name of the person the command is addressed to (if any)
- echoed back in a message. $VERB$ uses the original verb which is input by
- the player, not the verb for which it may be a synonym, e.g., if SPEAK is a
- synonym for TALK and you input the verb SPEAK, the above MESSAGE [As you
- speak, the vault door opens] would output "As you speak into the
- microphone..."
-
- IMPORTANT NOTE: The $-words are case-sensitive. For example, if you use
- $NAME$, you will get the name echoed back to the player in the game in all
- caps. If you use $Name$, you will get the first letter of the name
- capitalized and the remainder in lower case. If you use $name$, you will
- get the name displayed in all lower case letters. These same case rules
- also apply to the other $-words, i.e., $Verb$ will cause the verb to be
- repeated back with its first letter capitalized and the other letters lower
- case.
-
- 62
-
-
-