Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Plugh] TADS coding - what is tedious?

10 views
Skip to first unread message

Plugh!

unread,
Oct 24, 2002, 3:56:33 AM10/24/02
to
As some of you know (and I constantly remind you), I am developing a
GUI to help with the creation of i-f in TADS (see http://plugh.info).

One of the main goals is to automate tedious and perhaps error prone
functionality.

One invaluable Alpha tester has suggested that I automate the creation
of doorways. This is a multi step process which can easilly be
auto-coded given just a few veriables (2 room names at a minimum,
maybe a direction, or two).

Can you suggest anything else?

Phil Dearmore

unread,
Oct 24, 2002, 8:40:44 AM10/24/02
to
Automating doorways is a good idea.

Maybe...

How about using some kind of logic to calculate the isThem, adesc, and
thedesc properties? That is, if they need be non-standard. Like if you're
coding an Actor, it would need to set thedesc = sdesc, or if you have a
plural word (very basically check the 's' and give the ability to override
for singular words with an 's'), set the isThem = true and adesc = thedesc,
etc.. All with the ability to override.

One major thing I'd like to see (slightly unrelated) is a collapsable verb
implementation tree for each object. This would list every verb or derived
class of a verb in the game for each object, and the verbs that are
implemented at the class level below 'thing' would be in bold. That way if
you're making an object that needs to be heavily interactive, you can see
what verbs have already been implemented in its class hierarchy and which
ones you have left to code.

How about having a list of verbs when creating an object, and you can drag
and drop a verb (say "take" for example) from the list to the object
creation dialog (assuming you're using dialogs) which auto fills in the code
for the object with verDoTake( Actor ) = { } and doTake( Actor ) = { pass
doTake; } templates?

Philip

"Plugh!" <pl...@plugh.info> wrote in message
news:68bd0e8.02102...@posting.google.com...

Quintin Stone

unread,
Oct 24, 2002, 8:56:31 AM10/24/02
to
On 24 Oct 2002, Plugh! wrote:

> As some of you know (and I constantly remind you), I am developing a
> GUI to help with the creation of i-f in TADS (see http://plugh.info).
>

> ...


>
> Can you suggest anything else?

Possibly scenery objects, the fixeditems listed in a room's description
that may have a desc of their own, but are otherwise not important to the
game. Probably not error prone, but definitely tedious.

/====================================================================\
|| Quintin Stone O- > "You speak of necessary evil? One ||
|| Weapons Master & Coder < of those necessities is that if ||
|| Rebel Programmers Society > innocents must suffer, the guilty must ||
|| st...@rps.net < suffer more." -- Mackenzie Calhoun ||
|| http://www.rps.net/ > "Once Burned" by Peter David ||
\====================================================================/

A.P. Hill

unread,
Oct 24, 2002, 12:51:56 PM10/24/02
to
I hate having to assign weights and measures to items( max weight, max
bulk ) as well as iscrawlable.

Also coding liquids with containers is a chore.

A.P. Hill

Uli Kusterer

unread,
Oct 26, 2002, 9:48:29 AM10/26/02
to
Quintin Stone wrote:
> Possibly scenery objects, the fixeditems listed in a room's description
> that may have a desc of their own, but are otherwise not important to the
> game. Probably not error prone, but definitely tedious.

This would probably best be served by a more generic "template
instantiation" mechanism. I.e. there is a way to define certain objects
or (collections of) methods and properties in text files, with
placeholders for stuff the user is asked to enter, and then they can
select those from a menu to add them to the current game/object.
Ideally, these would be TADS source files in a special folder, with
placeholders inserted in certain places. Maybe something like:


takeVerb_template.t:

#template Take
/* pseudo preprocessor directive for Plugh so it knows how to name the
menu item */
#template_group Verbs
/* again, for Plugh so it knows what submenu this goes in */
#template_level object
/* inside an object, as opposed to "game" which would be used for
template objects */

#placeholder code VERB_CODE
#default VERB_CODE inherited.doTake(actor);
/* Name of place holder and what editor to use for it in the GUI.
Besides "code", which is TADS sourcecode, there'd be others like
"checkbox" (true/nil) or "number" or whatever.
"default" gives default text (or another default value) for a
placeholder. */
#placeholder variant VERB_PERMITTED_VARIANT
/* Variant is a checkbox in the GUI that will be used to produce
different code */

// Below comes real TADS source code:

#if VERB_PERMITTED_VARIANT

verDoTake(actor) = {}
doTake(actor) = { $VERB_CODE }
/* $VERB_CODE means code is inserted here. */

#else

verDoTake(actor) = { "You can't take this."; }

#endif

HaDel

unread,
Nov 4, 2002, 9:10:56 AM11/4/02
to
In article <68bd0e8.02102...@posting.google.com>,
pl...@plugh.info says...
Extremely excellent idea!
Although I got this bug report almost right away,
I think your intentions are admirable!

Start new project, dbl click the room, click on every tab, and on the
last one:

Exception name = _STL::out_of_range
Exception class = EExternalException
Exception address = 004E1A50
Exception line = 0
Exception file = Not avaiable
Exception message = External exception EEFFACE

------------------------------------------------
Ad astra per aspera!... Sort of...

hadelbg <put@sign> yahoo <put_Dot> com

Plugh!

unread,
Nov 5, 2002, 7:41:44 AM11/5/02
to
> Extremely excellent idea!
> Although I got this bug report almost right away

oops, sorry. It is, of course, a work in progress. However, I am
hoping to haev a stable beta version in just a few weeks now. Would
you like to test?

HaDel

unread,
Nov 6, 2002, 4:42:04 PM11/6/02
to
In article <68bd0e8.02110...@posting.google.com>,
pl...@plugh.info says...
I would, but I don't know about the time I would have.
The best I can promise is to download and play arround when I can.
Usually I am thorough in fault description, so even it might be a little
feedback, but I will try to be useful...
0 new messages