TAB - Quick Tutorial 

Before starting this project you may wish to watch the video about making this tutorial adventure using TAB on the TAB itch.io Page or perhaps view it on the YouTube site here

When you feel ready to create this example text adventure game you first need to download the TAB program (text-only version) from the TAB HomePage

Once done,unzip and then open the TAB folder and launch the TAB_Editor.EXE program application.

When the program has loaded you should see the TAB Main Menu window.

Click on or activate the "Open Adventure" menu option button on the left of the TAB Main Menu window.

From the File Requester Dialog that appears open up and access the "ADVENTURE GAMES TO PLAY" folder.

Select and Open the "default.tab" adventure datafile from the listing of ".tab" files into the TAB Editor.

When it has loaded the name of the currently loaded database, in this case "default.tab", will be shown in the TAB Editor window titlebar.

The "default.tab" database contains essential vocabulary words, system messages and pre-existing basic standard coding entries for your adventure.

It is a sort of 'skeleton', 'shell' or 'template' database which you use when first starting to write your game.

Once this has loaded into the Editor the other menu button options will become available to you and you can begin entering/deleting/amending data from within the various adventure Editors.

When you have finished your work session you can save your data using a unique filename for example: 'myfirstgame'.

Next time you save an edited version of your data, simply overwrite the existing data with your new updated data using the same filename as before eg: 'myfirstgame'.

TAB will always remind you to save your adventure when you try to close/exit the program.

Step 1

The name of this game we shall call "The Sacred Quest of Dragoria" - so first of all select the "Game Settings Editor" button from the Main Menu on the left of the TAB main window.

If you are now in the Game Settings Editor, go to 'Window Title' and delete the entry text already present.

Now set the window title box text to instead read:

"The Sacred Quest of Dragoria" by Your Name.

Now to enter some more settings in the appropriate boxes:

Display mode should be set to 1 (indicating text-only)

[If using a Graphic Version of TAB the Display Mode must be set to 2 - indicating Text/Graphics]

For this game set:

Player Strength to 7

Carryable to 3

Start Location as 1

Optional: Choose some new colour settings for your game.

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."

For the 'brief' description insert:

EDGE OF FOREST

(can be uppercase or lowercase)

For the exits:

insert 2 in the 'East' editbox.

Ensure all other exit fields are reading 0.

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

From the Main Menu enter the 'System Message Editor'.

In the bottom 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 a couple of blank lines by pressing the <enter/return> key 2 times at the end of the above text.

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

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

Select 'Test Adventure' on the Main Menu 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. To quit the Player by either typing in "quit" in the input textbox or closing the Window using the X button on the top right of the window titlebar.

Go to the relevant editors and amend any errors if necessary then from the Main Menu click 'Save Adventure' to save the changes you made under the same filename as before: 'dragoria'.

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

 

Step 2

Now it is time to enter some more locations for the "dragoria" game.

Reload your game "dragoria" using 'Open Adventure' if necessary.

Select the 'Location Editor' button and type in the following locations...

Click the arrow buttons at the bottom right of the Editor to move to higher/lower location numbers.

Location 2 text:

You are on a difficult and time consuming path, brushing through dense undergrowth and tangled creepers.

Brief description: FOREST PATH

Exits: east to 3 ; west to 1

Location 3 text:

You are at a small, dimly lit clearing. In the centre stands a small wooden hut. The ground here is quite soft.

Brief description: DIMLY LIT CLEARING

Exits: west to 2 ; in to 4

Location 4 text:

You are inside a dilapidated ancient hut. The place is uninhabited and a musty, obnoxious smell permeates the atmosphere.

Brief Description: RAMSHACKLE HUT

Exits: out to 3

Check each entry carefully and then click on the 'Back' button to exit the Locations.

Select "Test Adventure" to start your game. This will open up automatically in a TAB Player window.

You should now see the starting location (1). Ensure the exit connections, east and west, are showing beneath it.

Enter 'e' or 'east' or 'go east' and you should end up in location 2, the forest path.

Try out the exit directions to make sure the connections are working right through to Location 4 and back to Location 1.

When you are satisfied all is as it should be then QUIT the player by typing 'quit' or by closing the TAB Player adventure window (X button in top right of titlebar) to get back to the Editor.

This might be a convenient point to Save your Adventure again before continuing. Remember the filename is "dragoria".

 

Step 3

We will now enter some objects into our game. Objects can be static or dynamic. (You can also have 'hidden' objects - but more on that later)

Click the 'Objects' button on the Main Menu to reveal the Object Editor and carefully enter all the objects in the game as follows:

Object 1:

Description = an egg sandwich.

Noun = /sandwich/

Message = The egg sandwich looks quite appetizing.

Start Location = 5

Weight = 1

Size = 1

Now enter the following Objects:

Object 2.

Description = a small silver key.

Noun = /key/

Message = The silver key is very old. I wonder what it unlocks!

Start Location = 0 (will not initially exist in game)

Weight = 1

Size = 1

Object 3.

Description = a spade.

Noun = /spade/

Message = The spade is a useful digging implement.

Start Location = 0

Weight = 4

Size = 4.

Object 4.

Description = a sharp knife.

Noun = /knife/

Message = The knife is a handy weapon and is slightly bloodstained.

Start Location = 6

Weight = 2

Size = 2

Object 5.

Description = a canvas rucksack.

Noun = /rucksack/sack/bag/

Message = The rucksack is a canvas bag with two arm straps. It is quite roomy.

Start Location = 502 (special location for player WORN objects)

Weight = 4

Size=3

Check the tickbox as Wearable

Check the tickbox as a Container

Object 6.

Description = a wooden chest.

Noun = /chest/

Message = The chest is very large and has a small keyhole in front.

Start Location = 4

Weight = 11

Size = 10

Check it as a Container

Notice we have constructed two container type objects, a rucksack (which can also be worn) and a wooden chest (which will prove too heavy to carry because it exceeds the player strength rating of 7 entered earlier...)

Now there is a special rule with container objects. The rule is that an object container must use the corresponding location number as its "inside". This means that you cannot use those locations for normal room descriptions in the game. Our containers, Objects 5 and 6 will therefore use Locations 5 and 6 respectively as their 'contents location'. [Locations 5 and 6 are unused locations in this mini-game so that is OK]

When you're happy with your entered objects click the 'Back' Button to exit to the Main window again.

Get to the Editor Main Window again. Select the 'Vocabulary Editor' button.

In this Editor you will see the Lists of Verbs, Nouns, Object Nouns, Character Nouns, Prepositions and Deletions.

You will notice that the Object Noun list contains the noun names of your objects. If it does not then you may have forgotten to enter them so you will have to go back to the Object Editor and re-enter any missing object details. When playing the game the player may use different words to describe the object he/she sees, like 'box' for 'chest', or 'sack' for 'rucksack'. So that is why we sometimes must enter some synonyms along with the keyword nouns...

So in the Object Noun Listbox DOUBLECLICK the mouse on /chest/ and it will appear in the Edit Vocabulary Field below.

Now carefully amend the entry to read:

/chest/box/

and click 'Accept' button to update the list with your newly amended entry.

At this stage we may as well enter some 'Deletions' words. You have an 'egg sandwich' object but the object Noun is only called '/sandwich/' To cover the possibility of the player referring to an object in this way we must inform TAB to disregard the adjective 'egg' and indeed any adjectives associated with any of the objects in the game. So you can enter the word 'egg' into the deletions list, and that means that when you play the game, you can input things like 'give the egg sandwich to ????' and it will work ok, but if 'egg' was not in the deletions list it might say something like 'That's not possible!' or "Sorry, I don't understand 'egg' in that sentence".

Doubleclick blank entries in the Deletion listbox and add/accept the following individual words one at a time into the list:

egg

wooden

canvas

small

silver

sharp

Go 'Back' to the Main Editor.

Now it is time to design a couple of NPC's. (Non-Player Characters)

Click on 'Characters' button on the Main Menu to reveal the Character Editor.

Ensure you are looking at Character number 1. (see arrow box number)

The first edit box is the 'Character Announcement Text' so enter in that box:

"Joseph the farmer is here." (without quotes)

In the 'Character Noun' box enter:

/farmer/joseph/

In the larger 'Character Examine' textbox insert:

"Joseph the farmer is a local yokel, and is a very strong, hefty looking man." (without quotes)

 The Char Start Location for Character 1 should be set to 3.

In the 'Char Name' editbox enter:

"Joseph the farmer" (without the quotes)

This textbox is specially for any alternative name text that will be used by the Character movement messages. For instance when a character enters or leaves a room or when it follows the player. By default the 'name' text can be set to 'The ' where is the current noun KEYWORD for the Character. By changing this to "Joseph the farmer" it will ensure that TAB prints system messages like "Joseph the farmer goes east." instead of "The farmer goes east."

Click the 'Male' Character Gender radiobutton to establish the sex/gender of the Character.

We will make a walk pattern that farmer will follow; so click the 'Walk' radiobutton and type it in the walk pattern editbox VERY carefully. It should look as follows:

walk=4,3,p,2,1,2,p,3

(Note very carefully the positions of the commas)

The 'p' in the above entry will cause the character to pause/wait a turn at its current location.

The numbers are the locations (rooms) where the Character is moved in sequence each turn of the game according to the pattern.

This 'Walk Pattern' means that at the start of the game the farmer will be in location 3. He will move IN to location 4, will go OUT to location 3, pause a move, move WEST to location 2, WEST again to location 1, and then move EAST to location 2, pause a move, and finally move EAST to location 3 which was his starting room in the first place!

The Character will then repeat the pattern. On the next turn the character will set off on the walk pattern again and will continue his travels indefinately. (unless the author cancels the pattern, removes the Character from the game or sets a new pattern in a TAB coding entry)

Notice how a pattern was devised so that the character arrived back at location 3. (Character Start Loc)

When designing a walk pattern you must take into account the logical and valid directions which exist between locations...

The responsibility rests with the author to implement a sensible pattern because TAB does not check to see if you are typing the right location numbers.

Now click the bottom right arrow button to move to and edit Character number 2.

Enter the following data for Character 2

Announcement text = A cat sits close by.

Character Noun = /cat/

Message = The cat is a scraggy moggy, but looks quite friendly.

Char Start Location = 2

Name Text = "The cat" (without quote marks)

Click the 'random' radiobutton. (The cat will move randomly)

Click the 'it' radiobutton. (The cat is a creature and not a male or female human)

Exit Characters and go back to the Main Menu.

'Test Adventure' again...

Check that the farmer and cat show up and move around. Examine them. Try entering 'follow farmer' or 'follow cat' when they're around. To stop following them type in 'stop following'. Type 'inventory', 'inv' or 'i' to check you are wearing the rucksack. You should be able to remove, drop, get and wear it and also look in it... See if you can take the sandwich out of the rucksack and put the sandwich into the rucksack ok. Check that the wooden chest is visible in the old hut in the clearing. The knife should be in the chest. Later we will cover locking/unlocking the chest and constructing a few puzzles and problems for the player.

If all is satisfactory, exit the TAB Player and save your updated "dragoria" adventure.

 

Step 4

CODING EDITORS

Now we come to the Editors that are at the heart of the TAB program and execute the main game control...

The SCRIPT 1 Editor is a special list of entries which consist of conditions and actions which are scanned by TAB after every location has been described in the game but BEFORE exits and/or objects visible have been printed. TAB does all the entries in this table, providing they exist starting at earliest valid entry and continues to the end of the list. Script 1 is useful for adding a message to a location text or for printing extra info to a location. It can also be used for other things too.

The RESPONSE Editor. This is a list of entries constructed to take care of input commands from the player. When the player types a command from within the game, the parser examines the phrase typed and extracts variables: v, n1/objn1/charn1, p and n2/objn2/charn2 i.e. the verb, first noun (be it an ordinary noun, object noun or character noun) any preposition and any second noun. (be it an ordinary noun, object noun or character noun) The parser also removes any deletion words and devises a special string which is the KEYWORD string sentence equivalent to the input typed. This information is then passed to the RESPONSE entries to find a match. So, TAB looks at each entry in turn until it finds one that corresponds. If it does then it looks at the conditions in that entry and if they are satisfied it carries out the actions in the entry in the order it meets them and then exits RESPONSE to look at the SCRIPT 2 entries.

The SCRIPT 2 Editor. This list of entries, again containing conditions and actions, is called by the TAB immediately AFTER Response but BEFORE getting the next phrase of input from the player or before a new input is requested. It is also called after each input 'timeout' has expired. As with Script 1, ALL the entries are done in sequence and the Conditions and Actions are looked at in turn to see if anything needs to be executed. Script 2 provides for the computer's turn at the game and to inform the player of any events which may have happened such as a car crashing, a secret panel opening or a bomb exploding etc. When TAB has scanned all the entries it makes a return to the parser for the next command or prompts the player for the next input.

You need to know a bit about what the entries in these Editors do; but in short they consist of 2 parts, part 1 is where you put the Conditions, and part 2 where you put in the Actions you want to take place.

For example you want to talk to someone, you have to show whether the Character is in the room, etc. those are the Conditions. Following this are whatever action(s) you require to take place, for example a message to be shown stating what the Character says to you or does.

You will see what I mean when you enter some entries into Responses Editor shortly. You will use these 3 Editors to insert all the entries which the game will be able to interpret, and to devise the problems and puzzles which the player will encounter on his journey through the realm of your fantasy world.

From the Main Menu go to the 'Response Editor'.

Examine the default entries present in the list. You will see that there are entries already provided in this list to take care of basic player commands such as 'getting', 'dropping', 'wearing', 'removing' objects and for commands such as 'inventory' 'wait', 'look' and the like.

Spend a few moments examining this list.

In fact all these Response entries already present are going to be necessary for the smooth running and execution of games, so it's best to keep these as they stand, and just add new entries as and when needed.

As you realise they are quite short sections of code. They will not be time consuming to insert and are quite easy to create and type in.

However, it should be borne in mind that you should construct these entries properly in the correct format, and using the rules which will be given, in order for your entries to function properly.

If you ignore the coding rules then doubtless your entry will not perform correctly and you may get an error report when you come to playtest your game. The error reports may indicate the entry list that is causing the error. If you find this happening then you must quit the game and go back to the Response Editor to put things right.

The format of each coding entry in the list must contain 3 special "tags" enclosed in square brackets like this:

[start]......[acts].......[end]

After a [start] tag you must enter the CONDITIONS that are needed to make the entry work.

The first CONDITION in a RESPONSE entry is always a "WORDS CONDITION"

If there are any other conditions required then the # hash symbol is used to separate them.

When the entry conditions have been typed in you then type the [acts] tag.

After this any ACTION commands required are typed.

If there is more than one action then the # hash symbol is used to separate them.

When the entry ACTIONS are finished the entry is closed or completed with an [end] tag.

[start]words_conditions#condition2#condition3[acts]action1#action2[end]

Roughly translated this means: IF the words conditions match AND condition 1 is true AND condition 2 is true THEN do action 1 THEN do action 2 THEN Exit the Response list.

Type the following entries into the Response Editbox. (If you scroll down the response list you should come to a marked section that tells you where to construct your coding entries.)

Important: Note that the [tags] and the WORDS CONDITIONS, OTHER CONDITIONS and ACTIONS must all be typed in lower case.

HINT: Copy and paste the entries below - It's much easier. :)

Use the keyboard shortcut [SHIFT]+Insert to paste them into the correct place.

[start]unlock chest/unlock chest with key#here6#here2#closed6[acts]openobj6#cmessThe chest is now unlocked.[end]

[start]unlock chest/unlock chest with key#here6#opened6[acts]cmessThe chest is already unlocked.[end]

[start]unlock chest/unlock chest with key#here6#absent2[acts]cmessYou don't have a key![end]

[start]lock chest/lock chest with key#here6#opened6#here2[acts]closeobj6#cmessYou lock the chest with the silver key.[end]

[start]lock chest/lock chest with key#here6#closed6[acts]cmessThe chest is already locked![end]

[start]open chest#here6#opened6[acts]cmessChest: open.[end]

[start]open chest#here6#closed6[acts]cmessYou can't. it's locked.[end]

[start]close chest#here6#opened6[acts]cmessThe chest is closed.[end]

[start]close chest#here6#closed6[acts]cmessYou can't. It's locked.[end]

[start]eat sandwich#here1[acts]destroy1#cmessYum Yum... You greedily consume the egg sandwich.[end]

[start]eat sandwich#absent1[acts]cmessYou don't seem to own a sandwich!#done[end]

[start]dig/dig ground/dig with spade/dig ground with spade#here3#room=3#objloc2=0[acts]create2#cmessYou dig and uncover a small object...[end]

[start]dig/dig ground/dig with spade/dig ground with spade#here3[acts]You dig around for a bit but uncover nothing of interest.[end]

[start]dig/dig ground/dig with spade/dig ground with spade#absent3[acts]cmessYou have no digging tool.[end]

[start]give sandwich to farmer#here1#charpresent1#flag1=0[acts]destroy1#create3#flag1=1#cmessThe farmer gratefully accepts your gift. He drops a spade he was carrying and eats the sandwich hungrily.[end]

[start]give %objn1% to farmer#charpresent1#objlocn1=here[acts]cmessThe farmer politely refuses your gift.[end]

[start]give %objn1% to cat#charpresent2#objlocn1=here[acts]cmessThe cat ignores you and eyes you suspiciously...[end]

[start]talk to farmer#charpresent1#flag1=0[acts]cmessThe farmer greets you cheerily and comments on the fine weather. "I seem to have mislaid my lunch box and I am so hungry" he exclaims.[end]

[start]talk to farmer#charpresent1#flag1=1[acts]cmessThe farmer chats a while and wishes you good luck on your quest.[end]

[start]talk to cat#charpresent2[acts]cmessThe cat stares at you in amazement![end] 

By the way, If you don't like to type coding entries into the Response Editor manually you can elect to construct your coding entries with a text editor that has full editing facilities such as eg: Notepad, then you can simply copy and paste them into the the TAB Response Editor - or save them as a file and load the file into the Response Editor through the file dialog that appears when you press the button: "Load Responses". Very Handy. (Same thing for the Script 1 and Script 2 coding Editors)

Exit the Response Editor and go back to the Main Menu.

Click the Script 2 button to open that Editor.

Type or copy and paste these entries to somewhere near the top of the Script 2 Editbox

Use the keyboard shortcut [SHIFT]+Insert to paste them in.

'sets the chest to be initially locked
[start]flag2=0[acts]closeobj6#flag2=1[end]

[start]flag3=0#carried4[acts]objloc4=1#score+20#flag3=1#cmessAs you touch the knife it vibrates in your hand. An unearthly voice shatters the silence. "If thou wouldst claim the Sacred Knife of Dragoria and use its mystic powers then thou must first possess it three times." A blinding flash of light causes the knife to disintegrate in a shower of sparks![end]

[start]flag3=1#carried4[acts]objloc4=6#score+20#flag3=2#cmessAs you hold the knife the strange voice returns - "Once more bold seeker thy aim to own this legendary prize is thwarted. Ha ha ha.." The knife jumps out of your hand and spins in the air with increasing rapidity and vanishes in a cloud of smoke! Phew!![end]

[start]flag3=2#carried4[acts]objloc4=5#score+20#flag3=3#cmessThe knife seems to have a life of it's own!! Invisible hands seem to repeatedly raise and slash... raise and slash in a frenzied attack upon you. You struggle to protect yourself against the rain of blows! Suddenly the knife has disappeared again and you realise the attack was just an illusion.[end]

[start]flag3=3#carried4[acts]score+40#cmessHaving discovered the knife once more, a fanfare sounds in the distance. A Psychic message from the Guardian of the Knife unfolds in your mind - "Congratulations, thou art chosen as worthy to own this famed treasure and control it's mystic powers." The piercing tones of your 6am alarm call bring you to waking reality. The adventure is over. You have solved the game.#score#pause6#gameover[end] 

Go 'Back' to the Main Editor.

FINAL ENTRIES

Go to the Vocabulary Editor.

Add the following individual words entries to the VERB listbox:

/unlock/

/lock/

/open/

/close/shut/

/dig/

/eat/

Add the following word entry in the ordinary NOUN listbox:

/ground/floor/soil/

Go 'Back' to the Editor Main Menu.

Save your adventure - "dragoria" again...

This should have completed the short game, and you can 'Test Adventure' from beginning to end.

To win, the player must find and possess the knife 3 times.

The "tutorial.tab" database in the ADVENTURES TO PLAY directory is the same as the above tutorial.

I hope you have had some fun making the tutorial game and found it easy and simple enough to follow these instructions to build it without much problem.

Thank you for taking the time to try it out.

Now you know the basics, you will find a LOT more information about creating a game in the USERGUIDE and language text files which are included in the TAB main directory.

Email: catventure@yahoo.co.uk

TAB Site: http://tab.thinbasic.com/

TAB games: https://catventure.itch.io/