State of TADS Overall

I’ve been playing around with Inform 7 but ultimately while interesting, it’s not for me. I guess I’m still an Inform 6 guy at heart.

When I was last around, TADS 2 was it and I actually liked it quite a bit. Just at a glance, TADS 3 looks like it has some fantastic additions to its overall design and the simulation-heavy style of the library is exactly what I would prefer to deal with.

I’ve browsed the forum here and read some posts, but my general question is: what’s the state of TADS 3? Are there any “gotchas” to be aware of?

TADS 3 is in excellent shape, it’s a really well designed and well integrated system with lots of documentation which would mainly appeal people who are familiar with computer programming. One minor “gotcha” for me is Mike was not been very active fixing bugs past 1,5 years so there are few issues unfixed, but that’s not something preventing you to make use of TADS, the system is in many sense done and not to expect any immediate major development effort.

If you try it out, make sure to also check out adv3Lite, a replacement library:

The standard library (adv3) can be somewhat annoying to work with if you’re new to it.

EDIT: Never mind this, I see that extensions are used to bring back the functionality. Interesting. I think I’ll try out this library as opposed to the built-in one.

Interesting on “adv3Lite”. I hadn’t even come across that.

In reading about it, I get that it removes some of the more in-depth simulationist aspects of adv3. What I don’t see from the immediate documentation: is it easy to add those things back in if you want them?

I know it’s all just code and you could add what you want but what I mean is, does adv3Lite do things differently, in a significant enough way, that bringing back in parts of adv3 would require a lot of tuning?

It looks like the adv3lite is stored on dropbox. The documentation link on the page ( … /index.htm) tends to just cause a download of index.htm in most browsers. In fact, I have yet to be able to access any of the documentation at all.

It might be worth hosting this on something other than dropbox.

You can grab adv3lite from here: All of the documentation is there as part of the “docs” directory.

And, yes, the documentation should probably be updated to reflect that. I think dropbox was just an initial storage location while adv3lite was being worked on.

You cannot bring anything back from adv3. adv3Lite is not a stripped adv3. It’s a completely new library.

It’s true you can’t directly bring something in from adv3, but as the documentation says:

“…if you actually want room parts and postures in your game, adv3Lite comes with extensions that allow you to add them.”

So you can recover the bits from adv3 if you find you are missing them. Further, while there are differences in adv3 and adv3lite, it’s generally not too difficult to see how to retrofit something from one library into the other. Obviously the spectrum of “generally not too difficult” will be based on how much you understand the code.

Incidentally, if you want to try something interesting, go through the adv3lite documentation – but link to the adv3liter library first. See how much you can do via the tutorial, just using that. When you find you run into a wall – meaning something in the tutorial doesn’t work – just link to the adv3lite library. It may sound like a convoluted way to learn but, in teaching TADS 3 to young programmers in particular, I’ve found starting with the bare minimum and working up was actually quite effective.

I haven’t worked with adv3Lite, but I would listen carefully to RealNC’s advice.

I’ve been working on a pretty big game in TADS3 for the past several years, and the impression I get is that it was built to cover just about anything an author might want to implement. But in doing that, it throws in way more than any one author is likely to want, and that extra stuff sometimes actually gets in the way.

So you spend a lot of time wondering why you cannot do x, or where message y came from, or what general case you need to disable in order to make your special case work.

I have really enjoyed the power and flexibility that TADS3 puts in your hands. But I am told by people I trust that adv3lite might be a better choice.


Okay, I tried this and when I do I get these warnings:

…/libraries/adv3lite/travel.t(203): warning: undefined symbol “Actor” - assuming this is a property name
…/libraries/adv3lite/travel.t(205): warning: undefined symbol “pcArrivalTurn” - assuming this is a property name

They are just warnings, but it doesn’t bode well when you try something like this and it already comes up with undefined symbol. :slight_smile:

Right now I’m just trying to get through some of the overly verbose documentation. I’m finding the existing docs keep almost apologizing for the “complexity” of TADS.