Usenet.com

www.Usenet.com

Group Index

Rec Thread Archive from Usenet.com

<-- __Chronological__ --> <-- __Thread__ -->

Making TADS2 easier for lazy authors



I've been extensively modifying (hacking apart) adv.t recently, mainly
because it's fun, but also because I'm hoping to make TADS less daunting
for my sister to try.

Some of its gimmicks:

No more containers or surfaces.  If you examine/search something that
contains something, it says "You find (the stuff)" and moves it into the
room.

An exit-lister.  (Room.north, etc., is called silently like a verification
method.
Yeah, I know that's stupid.  I also use it to support a class for randomly
wandering things.)

"Barrier" class to block certain directions, or prevent taking some object.
They can be turned off, or allow the action (with a message) if certain key
objects are possessed.  (You see, I'm trying to make it easier to create
certain kinds of puzzles.)

Objects can do something the first time they see the player naked.  (This
is crucial for mimesis.)

And here's the big, most important gimmick:
Almost all actions have been combined into a single verb object.  The
jist of it is that the programmer won't have to write verification or action
methods for different verbs.  He just defines a list of objects "validwith,"
and a method "usedwith(obj)" which runs with the guarantee that "obj" is
something from "validwith," both objects are visible, held if required, and
not blocked by a "barrier."

Thing.ioUseWith intelligently decides which object should handle the
action.  It attempts an autotake if something needs to be held.
Intransitive
commands are recast as reflexive ("eat fruit" becomes "use fruit with
fruit").

I'm trying to come up with a list of simple methods that could be used
within "usedwith," such as "swap this object with that one."  Not sure how
successful I'll be.

Anyone have any thoughts on this?  Is it just dumb, or do you think it might
be useful to someone?

Kevin Venzke





<-- __Chronological__ --> <-- __Thread__ -->


Usenet.com



Please check out one of the premium Usenet Newsgroup Service Providers below for access to Usenet.