thinBasic Adventure Builder (TAB)

Text Adventure Tutorial


     

Part Three: First Steps

 
      Just before you start to build the example game it is as well to understand about the various forms of adventure data which will be required...
TAB text adventures consist of various items of textual data which are typed in from the various Editors:

Locations. Room Descriptions and the direction exit connections between them. These are the places the player can visit and usually describe the surroundings and scenery and the sights and sounds in the vicinity of the player. The exit direction boxes indicate the location to go to if the player moves that way. If an exit direction is set to 0 then the player will be unable to go that way. You can also enter a 'brief' description of the room.
There is a limit of 500 locations.

Objects. Items/things which the player can examine, use or manipulate in some way. Objects can be set to be carried, worn or in some container or they can be a static, immovable type of object. Objects can be set to start off in a particular room or be flagged as currently not existing in the game. During a game an object can be destroyed, created or moved to different places. Objects can also be set to have a weight and size attribute as well. In the Object Editor you can enter the keyword Noun and any synonyms for it plus a short description of the object and a more explanatory text for if the player examines it closer. There is a limit of 200 objects.

Characters. Characters can be people, creatures, monsters and the like which are to appear in your game and thus make the game scenario a bit more interesting and colourful.
They can also move about in the game world independently (randomly?) according to their own whims or desires in valid directions - or they can be assigned a preset movement path (or pattern) following a list of specified directions.
If a character is in a player's location then TAB will announce the fact via a message such as "A farmer is here." TAB will also report if a character enters the player's vicinity or departs to move on to another location.
Like Objects the Characters have their Noun, 'examine message', start location, and other fields for their sex and movement status which can be static, random moving, follow the player or move according to specified directions. It is important that your Noun Keywords for characters be an occupation, trade, profession or a type of creature eg: 'blacksmith', 'dwarf', or 'bartender'.
An adequate, albeit limited form of interaction is possible by allowing the player to 'talk to <character>' when the character is present.
Characters really liven up an adventure and could be made to impart a message or provide a hint or clue. You can also allow the player to offer an object to a character to gain its trust or cooperation or to appease it in some way to make it more friendly or helpful. This could be done by devising a 'give <object> to <character>' . Each Character has its own carried and worn inventory locations.
You could also design responses to player commands such as:
'ask <character> about <object>/<character>'
'tell <character> about <object>/<character>'

Setting a Character to "random" will force the character to move randomly, roaming through the game world seemingly according to its own wishes or intelligence! They appear to move when they feel like it!
A random moving character may stay at a location for several game turns before 'deciding' to move elsewhere or it may go off on its travels for three or four successive turns before 'waiting' around again.
This adds a nice touch of realism to games. In general, the more exits in a character location then the more chances of movement from it. (because the odds of the random direction number matching a listed exit are greater)

Randomly moving Characters can be restricted from certain places and areas of the game which you do not wish them to visit as well.
To prohibit a character from travelling via exits which would lead to off-limits location(s), it will be necessary to construct a special "move pattern" defining the locations which the random character is barred from entering. The pattern should consist of the location numbers to which access is prohibited, and each valid location number should be surrounded by a letter `x`. eg:

x12x25x47x56x101x

[Char can move randomly e(x)cept via e(x)its which would lead to locations 12, 25, 47, 56, or 101.]

This type of pattern is input as normal from the Character Editor or You can use the 'pattx=' action within coding entries.

This sort of pattern means you can confine random moving characters to specific areas, realms or parts of your game map. For instance a vampire might move randomly in its 20 underground locations, a dwarf might move anywhere except the palace and the gardens...etc

Setting a "move pattern". This is a predetermined sequence of moves for a character to execute. The character will carry out these moves, one at a time, each turn of the game. When the character has completed its travels, its movement pattern will be repeated again from the start. Therefore, the character will follow this same series of moves continuously until you decide otherwise.
These "move patterns" are useful for controlling a characters movement and for confining a character to a specific area or part of the game.
eg: a robot could be created for patrolling a particular section of an industrial complex...

It will also be possible to cause the character to pause or wait in a room for a turn or turns as part of its pattern. The player can follow a character around on its journeys to see where it goes and what it may do. To follow a character simply type: 'follow <character>' from within the game. Whenever the character leaves a location at which the player is present TAB will cause the player to follow it to its next port of call. This will continue to happen until the player simply types 'stop following' or decides to follow another character instead.

Setting a Character to "static" means the Character is non-moving and will remain in its current location unless you decide otherwise.

Setting a Character to "follow" will cause the character to follow the player when he next moves in a valid direction from a room.

There is a limit of 100 Characters.

Messages. These are text messages which can be outputted to inform the player of certain information or as result of things that have happened in the game or as a consequence of their input commands. Messages can be inserted, amended or deleted.
There is a limit of 500 Messages.

System Messages. These messages form an integral part of the system and TAB uses them to print appropriate responses to player commands. You should be careful not to delete any of these messages - but if you should accidentally do so, then a full list is present in the "default.tab" database so you can re-insert them. Note that some entries have leading or trailing spaces to allow correct spacing when printing occurs. The entries are however configurable. That is, they can be customized to your own preference. For instance, you could change all the messages to read 'I' instead of 'You', thus, 'You now have the ' could be changed to read 'I now have the '. etc.
Be careful when you amend a System Message to maintain the meaning and content of the message so that the reporting system works properly.
There is a limit of 100 System messages.

Vocabulary. This Editor will comprise all the words which the game will understand. Verbs, Nouns, Object Nouns, Character Nouns, Prepositions, and Deletions listboxes.
Synonyms are just words which mean the same as other words.
When you enter a word in the Vocabulary, and you subsequently enter a word (or words) which is (are) to be deemed the same - You must decide which of the words shall be nominated as being the KEYWORD.

For instance if you decide to enter the verbs 'tie', 'fix' and 'fasten' as Verb number 20, you may decide that you are going to use 'tie' as the verb KEYWORD and will have 'fix' and 'fasten' as synoynm alternatives that can be typed.
You click on Verb 20 and then type in '/tie/fix/fasten/' in the Edit field. It is important that the Keyword comes first. Any synonyms follow separated by a forward slash symbol /.
You may find it helpful to keep a note of the keywords you have established as TAB only takes notice of keywords when it comes to process input commands.
By looking at the Vocabulary entries in a database you will be able to tell which are the keywords which TAB 'knows' and interprets. Basically, if you want your game to understand a particular word, then it must be present in the Vocabulary lists.

The purpose of the Deletions list is to instruct TAB to remove certain words from the player command(s) input string. You will find the Deletions on the Vocabulary Editor where you can see the words which will be deleted from a command phrase. These words are not part of the game vocabulary and thus must first be extracted from the input phrase before the command is decoded. You will note that some often used adjectives such as 'a', 'an', 'the' and 'some' are present. Thus, if the command 'get the large green statue' were to be understood the words 'the', 'large' and 'green' would need to appear in the Deletions list. It makes no difference to TAB which order the words appear in the list. As long as the word is in there somewhere then TAB will ignore it.

There is a limit of 500 verbs, 500 nouns, 200 Object Nouns, 100 Character Nouns, 200 prepositions and 500 deletions.

Game Settings. Initial game settings can be set up here:

Strength (0-500)
If strength were set to 10 and the player tried to carry objects which would make the total weight carried exceed 10 then the player would be informed with a suitable system message.

Carryable (0-200)
Informs CAT how many objects may be carried without the players hands becoming too full.
If the player tries to carry too many objects or too much weight the relevant system messages prohibiting him doing so will be displayed and another input requested. Note that the player could get round this problem by perhaps putting objects into a container which was carried or worn. You can, of course, change these values to suit your taste at any time during development of your game.

Start Room (1-500)
Informs TAB which room the game starts off in.

Window Title
Your game title, author, credit etc displayed on the Player window titlebar.

Input Timeout (0-200)
Set this to a value in seconds eg: 30.
This means that if the player hasn't entered an input for 30 seconds then system message 'Time passes.' will be displayed, and the player will lose a 'turn' at the game.

Colour Settings
These will take effect when an adventure is tested and run. From here you can set the default
Text Colour, Back Colour, Prompt Colour and Player Input Echo Colour

Set Password
Password protect your data to stop other TAB owners loading your data. Always remember or record any password you use!

Get Player Name
Invoke a dialog at the start of the game to get the player's name, surname and gender which can subsequently be referred to in game text.

This concludes a brief summary of the various adventure data editors. So it's back to our short example type-in game, which will be a useful exercise to gain proficiency in using TAB. Why not have a go at building it?

The name of this game we shall call "The Sacred Quest of Dragoria" - so first of all go to the Settings Editor and change the window title to read:

"The Sacred Quest of Dragoria" by <your name>.

For this game set your Strength at 7, and Carryable to 3. Also set your Start Room as 1.

Optional: Choose some new colour settings for your game

Now click the 'Accept' Button to enter this info into the database.

Now click the 'Back' button to return to the Editor Main Menu.

Go to the Locations Editor

Delete the current Location 1 entry and insert the following text:

"You are at the edge of a large forest.  A narrow dirt track heads east into the trees." (without quote marks)

For the 'brief' description insert:

EDGE OF FOREST.

For the exits: insert 2 in the 'East' editbox. Ensure all other exits contain 0.

Click the 'Accept' button.

Click the 'Back' button to return to the Editor Main Menu.

Enter the System Message Editor.

In the Introduction EditBox, delete the existing text and enter the following text:

"Another day is nearly over and you lie in bed anxious to get some sleep before your 6 am flight from Gatwick to Spain for your annual holiday.  To help you sleep you take a book off your bedside table and start reading a fictional work about the fabled Forest of Dragoria and a quest to discover ancient artefacts .... zzzzzz!"

Just to space out our text a little add 3 CRLF's by pressing the enter/return key 3 times at the end of the above text.

Click the 'Accept' button.

Click the 'Back' button to return to the Editor Main Menu.

Choose 'Save Adventure' and save your game under the name 'dragoria'.

Select 'Test Adventure' to start the TAB Player which automatically runs the current game loaded in the Editor. Now you can view your window title, intro message and opening location with east exit.

Check your text for any errors. If so, quit the Player and amend them using the relevant editors then save any changes you made under the same filename as before: 'dragoria'.

This completes the first step in building the example adventure....

GO TO PART FOUR



Copyright catventure © 2006 , All Rights Reserved.