TAB (ThinBasic Adventure Builder)


The following might be of interest to some members.

TAB is my text adventure/interactive fiction maker project in Alpha development and being made with the thinBasic script programming language for Windows 98/2000/Me/XP/Vista platform.

It is not meant to compete with other languages such as INFORM, TADS, HUGO or ALAN.
In fact it has similarities with many old text adventure makers such as STAC, GAC, Quill or PAW… so has a kind of “retro” feel and look about it…
It operates on a condition/action coding rather than INFORM’s natural english language.

Here are some details and links:

TAB consists of two programs:

The TAB Editor: Create, build and test your text adventure.

The TAB Player: Standalone distributable to play your finished adventures.

Current release: Alpha 43 ; 20 Sep 2008.

TAB supercedes my previous IF creator “Creative Adventure Toolkit” which is now no longer being updated/supported.

Download TAB Alpha Editor/Player+demos here:

TAB forum:

TAB blog:

Best regards,

Very interesting.

Is it open source?


The TAB program was recently updated and is available from:

You can watch a small videoclip demo here:

Sorry not open source. Source code not yet available just yet.


Released a minor update today.



Just a line to say that the Latest Release is posted.
03 Aug 2010 (Alpha Release 58)

thinBASIC Adventure Builder (aka T.A.B.) is my adventure creator project for Windows 98/2000/ME/XP/Vista/7 currently at Alpha stage.

thinBASIC Adventure Builder Home Page. ScreenShots. Download the TAB Editor, the TAB Player and some games and demos. (3.48mb zip)

TAB is not meant to compete with the likes of INFORM, TADS, HUGO, ADRIFT etc. It is a personal project which I am sharing free with the Interactive Fiction community at large.
TAB operates on similar principles to popular retro adventure creators such as STAC, GAC, CAT, Quill, PAW or ACE. It has an IDE to enter adventure data and interprets parser commands using a condition/action ‘language’. It is being developed with the thinBASIC scripting language.

Even though TAB is still in development it is perfectly possible to create a standard text adventure right now using it. A few are currently so doing.
I think it will appeal more to ‘home- grown’ adventure makers esp. those who dabbled with Quill, PAW or GAC in the eighties. With some thought, games made with those could be converted to run under TAB fairly easily.

TAB is one of a few variants or alternative tools that might be considered by the aspiring adventure writer who may prefer or be happier using/working with a different authoring system…
There is certainly plenty of room for these other creators like SUDS, ADRIFT, QUEST, JACL or the CYOA-type makers to co-exist alongside INFORM - and I understand a new system called CURVESHIP is on the horizon too. It’s all good. :slight_smile:

Some Screenshots here:

Version History Change Log here:

Only the freely distributable ‘TAB Player’ is needed to run any TAB games made using the TAB Editor.

Sound and music supported: mp3, ogg, wav, aiff, mod.
Graphics supported: jpg, gif, bmp, png.

There is also a FORUM and a Yahoo email user group.

Some Youtube videoclips here:
TAB Player -
TAB Editor -
Graphic Mode -

If forum members wish to try out an example game which was entered into the IF “Spring Thing” Comp in 2009 by Amy Kerns download “Realm of Obsidian” (old skool retro text adventure) from here:

Best wishes,

Just to let you know T.A.B. retro if/text adventure creator is working fine under the latest version of Windows…
Current version is v61.

recent demovid



A minor update to TAB was released on 18 Jul 2012 (Version 62)



I am returning to the “Windows Only” TAB Project after quite some time and recently released a new minor update:

Also, I have updated the TAB Interactive Fiction playlist on youtube: … nXjQ4zD5DG

Best regards,

A new minor update of this old-school retro text adventure program was released on 25 Jan 2016:

Some info here: … re_Builder


What would be useful I think, would be the documentation of the file format and execution of it. In such case you might not need to release the source-codes in case you do not want to do so.

I did an analysis of the TAB file format a number of years ago; I can dig up my results, if you’re interested.

Posted a short clip of the Adventure Player loading in some example adventure datafiles.
TAB is a retro text adventure maker project for Windows and is my homage to popular 80’s 8-bit adventure utilities. It operates on very similar principles to STAC, Quill, PAW or GAC.


If I create an object in the editor and switch to another object without entering the /name/ of the object, all my changes are lost except the Object text description.

Thank you for your report.
I have now fixed this issue and will post a minor update of the 3 versions of TABv68 in the next couple of days or so. (date of new version will be on the TAB page download links)


There’s a problem with your tutorial: you can open the chest indefinitely, and it says “OK” every time:
[start]open chest#here6#opened6[acts]cmessOK.[end] instead of
[start]open chest#here6#opened6[acts]cmessThe chest is already opened.[end]

I assume that you have to create an open/closed chest object and another locked chest object. When I unlock the locked chest object, I exchange it with the closed/opened chest object.
Is it possible by an action to change the text description of the object e.g. closed chest to open chest?

Hi auraes,

Well done for your vigilance. I was aware and knew about this of course. I’m trying to keep the quickstart tutorial as simple as possible. There are a few different ways of achieving the same effect. One of those is by changing the object text description as you thought, but this is a little more complicated for ‘newbies’ to grasp and I also didn’t want to get into how to code multiple objects with the same name at that stage.
Also - I could have used a spare flag to hold the open/close status of the chest so as to give a better reply - something like this…

[start]open chest#here6#opened6#flag30=0[acts]cmessYou open the chest.#flag30=1[end]

[start]open chest#here6#opened6#flag30=1[acts]cmessThe chest is already open![end]

Need to adjust the ‘close chest’ entry too.

However, maybe the easiest and simplest answer for the tutorial purposes anyway to keep it short and less complicated is to just amend the Response entry you showed to read something like:

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


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

I want to complete the minor update incorporating your suggestions for the Object, Character and Location ‘Find’ button so I can have it ready for your Windows test. When I have done that (very soon) I will have a rest for coding for a while and should have more time to answer any coding questions and provide example solutions. :slight_smile:

Btw, if you’d rather email me instead that too is OK.


Just out of interest you might like to know that lots of the TAB conditions and actions can use the object and character KEYWORDS and lowercase ‘brief’ location text instead of using object, character or location NUMBERS…
[As long as there are no duplicate names for that data - in which case use the number format for those]

This can make entries more readable and understandable in the coding editors.

===Start of Tutorial Response entries===

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

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

[start]give sandwich to farmer#here[sandwich]#charpresent[farmer]#flag1=0[acts]destroy[sandwich]#create[spade]#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#charpresent[farmer]#objlocn1=here[acts]cmessThe farmer politely refuses your gift.[end]

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

[start]talk to farmer#charpresent[farmer]#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#charpresent[farmer]#flag1=1[acts]cmessThe farmer chats a while and wishes you good luck on your quest.[end]

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

===End of tutorial Response entries===

Examples of location conditions

#room=[dimly lit clearing]#

#objloc[key]=[inside hut]#

Examples of location actions:

#listobjs[the bedroom]#
eg: List any objects present in the “bedroom” location.

#connect[the study]=northto[in the library]#
eg: Open a north exit from the “study” location leading to the “library” location.

The old TAB forum is defunct and been moved to a new link:

but still pretty quiet over there :slight_smile:

It could be simpler to associate to the numeric identifier a unique word that would have nothing to do with the content of the object: name, description etc. (as Inform 6 does)

Hi Auraes,

I’m not very familair with INFORM or exactly what you are trying to tell me.
I’m only hobbiest programmer in BASIC and not pro programmer.
Do you mean some kind of ALIAS command or hash table, dictionary type of storage?
Or an extra ARRAY element?
Thanks. :slight_smile: