Discussions about interactive fiction

Archive for May, 2010

[TADS3] object is instance of class type?

How do I tell if an object is an instance of a particular class type?

Also, how can I check to see if an object has a particular property/method?

posted by admin in Uncategorized and have Comments (3)

[TADS3] hints

When I type "hints" it says "Sorry, no hints are currently available.
Please check back later.".

However, I’ve defined the following:

topHintMenu: TopHintMenu ‘Hints’;
+ HintMenu ‘General Questions’;
++ Goal ‘What am I supposed to be doing?’ [
        ‘answer 1′,
        ‘answer 2′,
        ‘answer 3′

As far as I can tell, simply defining a TopHintMenu should be enough to
enable the "hints" command, but that is apparently not the case.

posted by admin in Uncategorized and have Comment (1)

[TADS3] TADS 3 syntax highlighting for EditPad Pro

I have made a syntax highlighting scheme for EditPad Pro (which is a nice,
compact, cheap text file editor for Windows).

The scheme parses comments, preprocessor statements, keywords, numeric
constants, strings, and expressions embedded in double-quoted strings. It
does not parse standard library identifiers or precompiler symbols.

It can be downloaded from the EditPad Pro website:


posted by admin in Uncategorized and have No Comments

IF series… Idea…?

I just had an idea yesterday. It’s going to take me awhile to explain
it, but maybe those of you who would be interested in making huge
collaborative IF effort will be interested.

I’ve been very active in scriptwriting community and there is a highly
popular form of virtual series. There you create a series and produce
it with a bunch of writers and producers like you would do with an
ordinary series except that they’re never filmed. They are released as
scripts, usually once a week.

I’ve been forming a basis for such series when I thought that maybe my
idea could be turned into a series of small IF games. The basis of the
idea is that a group of IF writers would produce a small game
involving the same world and/or characters and the story would go on
from game to another.

Of course, release schedule couldn’t possibly be once a week, but once
a month maybe?

I know it would be a huge undertaking and there’s a lot of questions
to solve before it could get into action. The reason for this post is
to find out if there are interested programmers and/or designers to
participate in the project?

posted by admin in Uncategorized and have Comments (6)

[ADRIFT 3.90] Creating Choose Your Own Adventure Games

   I’ve seen some Choose-Your-Own-Adventure games created with ADRIFT
4.0, but I’m wondering if this type of game can be created with
version 3.90? If yes, what are the steps needed to create a game like

Yours Sincerely,
Kelly John Sapergia

posted by admin in Uncategorized and have Comments (3)

[Tads-3] withActionEnv()

I’m baffled by the withActionEnv() function. I wish it had more
comments explaining the code.

It runs several times per turn. I’m not sure why.

I don’t understand the code structure. Why the try/finally structure?
What happens when there’s a return in the try block? Why doesn’t it
simply return the value to the caller of the function (i.e., how can
reach the finally block if there’s a return in the try block)?


posted by admin in Uncategorized and have Comment (1)

Platypus + Glulx?

I have a question for anyone that’s used Platypus and/or Glulx,
and/or, ideally, both:

Are they compatible?

That is, I gather I need to incorporate a special library in order to
compile inform source code for use with Glulx. Are this library and
the Platypus library compatible with each other?



posted by admin in Uncategorized and have Comments (3)

TADS2 – numbers

I am working on a part of a game in which the player gambles money.  I
would like the player to be able to type ‘bet 1000′ but haven’t been
able to figure out how to make the parser evaluate a number following a
verb in the same sentence.  I realize I could separate the commands, for
betVerb: deepverb
        verb = ‘bet’ ‘wager’
        sdesc = "bet"
        action(actor) = {
                "How much do you want to wager? ";
                Me.Wager := getbet(Me.Wager);
                "You bet $<<Me.Wager>>. ";
getbet: function(bet)
                local i, j:=nil;
                do {                    
                        i := cvtnum(input());
                        if (datatype(i) = 1) {
                                 return i;
                                 j := true;
                    else "That wasn’t a number. How much do you want to wager?";              
                while (j = nil);
(though even this doesn’t work properly because without the cvtnum() the
input is always a string and with it, datatype() always returns a value
of 1, and a i value of 0.)
I would like to be able to evaluate ‘bet 1000′ to streamline the
process, also considering there will be potentially more than one type
of bet a player could place.

posted by admin in Uncategorized and have Comments (8)

[TADS3] preventing standing in Room

allowedPostures only works for NestedRoom objects. I have a Room that I
want to only allow lying in (it’s small and long), but it’s not a nested
room so I don’t want the room description to say something like "blah
(lying in blah)".

I tried doing:
floorYouCannotStandOn : Floor ‘floor’ ‘floor’
     dobjFor(SitOn) {
                action() {"It’s too cramped to sit in here. ";}
     dobjFor(StandOn) {
                action() {"There’s no room to stand here. ";}

and then adding
        roomParts = [floorYouCannotStandOn, defaultCeiling,
                defaultNorthWall, defaultSouthWall,
                defaultEastWall, defaultWestWall]
to the Room. But, that only traps "sit". For some reason "stand" still

posted by admin in Uncategorized and have Comment (1)

Where to take programs for "posts-tree" text games?

It want to install an php or perl program on server in my LAN, which
must be looks like bulletin board with tree-structure of posts, but
made specially for text games. So, user must see only outgoing
branches from this situation/post and be able to add own new branch,
add pointer to existing post as new branch and use simple scripts.
I’m sure, what there a lot of such programs and part of them must be
freeware, but I don’t know how to find them.
If you know any, tell me about it, please.


posted by admin in Uncategorized and have Comments (2)