Please help choose the most comprehensive programming language

Parchment’s Glk TADS isn’t the only way to get TADS to run online. Web UI remains an option, though it would need someone to invest in getting a new server running. Or a non-Glk online terp could be created. But until then the deficiencies of Glk TADS are something authors should be aware of.

4 Likes

TADS 3 with the standard adv3 library or the alternative adv3lite library are like the swiss army knife of IF.

Adv3lite recently had a new release by Eric Eve, its author.

3 Likes

As written elsewhere in past, the choice of language/compiler depends on the story/IF to be written/narrated, and TADS 3 and Inform 7/10 are complementary as features. The scene support of I7/10 remains superior to TADS3, but on the obverse, the NPC support, esp. interaction, of TADS3 (both adv3 and a3Lite) remain at the top of IF language and libraries.

And a good third remain ALAN3, whose flexibility can even surpass TADS3: for example, is the lone IF language capable of easily implement the full compass rose, all 32 points, simply defining those in a location (even a limbo location), or even steering into the full 360° gamut of courses (boatiness factor well beyond 11, I suspect… :wink: )

Also, the simplicity of Hugo must not be underestimated, remains the best language for small IF work, and has a simple but interesting NPC handling.

Inform 6, both standard and puny, remain the best all-around IF language, and compiling in glulx story file, is basically unlimited, albeit the combination of punyinform and .z8 format gives an ample elbow space for large IF, and is definitively the most mature IF language.

also, there’s the wild horse, Magx, whose potentiality is, IMVHO still to be explored, but can be used for writing small IF work (been here, but I fear that I haven’t well done that…)
[note for dannii: if you disagree, please delete only the part under parenthesis, NOT all the post…]

Dialog is another interesting wild horse, being rule-based (actually, is derived from Prolog) is well-tailored for the specifics of coding an IF, and if one feel at ease with prolog-style coding.

ZIL(F) is historically the very first IF language, but is still more than valid, and can compile the entire historical codebase without problem, so, it’s 0.90 version is actually 1.x, if not 2.x

I leave to other a comparision between choice-based IF languages :wink:

Best regards from Italy,
dott. Piergiorgio.

6 Likes

I think we’ve had a lot of “discussion” on the ups and downs of TADS, Why don’t we try another language? It is, as people have said, tiresome.

  • TADS is the most high power language we have here. :heavy_plus_sign:
  • However, it has a very steep learning curve. :heavy_minus_sign:
  • It can include all sorts of really cool features that many don’t have, and isn’t as difficult to add as (ahem…) some of my experience has shown me. :heavy_plus_sign:
  • It has less people working on it than, say, Inform 7, so it’s more difficult to get help. :heavy_minus_sign:

Yes, many interpreters do not understand all of its features. But many still do, and it is absolutely worth the download of QTads! Plus, when I want to play some of my favourite Infocom games, I only have one interpreter! I also need to have a special file alongside it. And if I want to make a game with images like that, it looks really messed up when I play it, because Frotz doesn’t work like that - it checks when the game was made and if was a V6 file in the 80s, it specifically changes the height and width to match it! But it won’t do that for mine, and therefore it won’t for any player of a game like that.

So look, you guys who are complaining that Parchment doesn’t support HTMLTADS, try making your own online interpreter, how about it?

4 Likes

Please do. :eyes: I’m very curious about Dialog.

I suggested this, and got told it would be a bad idea for sociological and tech maintenance reasons. :woman_shrugging:

1 Like

I think the confusion here is the difference between “HTML TADS”, which is fully supported by QTads, and “TADS Web UI” aka “TADS Web Play”, which isn’t supported at all in any modern interpreter.

I tried my best to explain the difference between HTML TADS and Web UI here:

IFDB’s code for TADS Web UI has never worked since we inherited the site from MJR, but if someone wants to dust it off, I’d be willing to help. The code is in PHP, and lives on in the t3legacy branch of the IFDB Github.

The files all start with t3: t3run, t3servers, t3register, t3ping, t3join, t3files.

https://github.com/iftechfoundation/ifdb/blob/t3legacy/www/

5 Likes

Interesting. I wonder what that even means.

On another note, how does Dialog even work? The Impossible Bottle was absolutely amazing, and I don’t know anything about it. What’s an example of some code from it? How long, on average, is the nondescript, nothing-added version of the Cloak of Darkness? Things like that, for example?

1 Like

Here is a side by side comparison of Ryan Veeder’s Craverly Heights in Inform and Dialog:

https://linusakesson.net/dialog/craverly/craverly_side_by_side.html

There is also a version in ZIL!:

My Dialog game is open source:
https://ifarchive.org/if-archive/games/source/dialog/ImpossibleStairs.dg

5 Likes

Exactly this long!

But what you really want, if you know Inform, is the delightfully annotated Craverly Heights port. Mathbrush beat me to it!

1 Like

That’s really short!

One thing I notice about Dialog and Inform is they run separate verb "routine"s. Like, directly planted onto the page is “Instead of doing this:” whereas in ZIL if the object in question has a routine, it will run that, and inside the routine it will check whether verbs are called.

1 Like

There are apparently also PunyInform and Inform 6 ports! Now we just need TADS3 (and Alan3/Hugo if someone wanted to).

4 Likes

I like Craverly Heights as the Rosetta stone of parser IF.

5 Likes

It is a pretty good example.

2 Likes

This isn’t really true either. Web play “isn’t supported in any modern interpreter” because it isn’t designed to run in an interpreter at all — it’s designed to serve your game in the browser, where it can take full advantage of HTML, CSS and JavaScript and having a network server separate from the client side. So this is like complaining that the Vorple doesn’t run in Gargoyle or something, it’s kind of a non sequitor. How web play games actually work is that you run the game file and it will start a server and open in your browser; and that mode of running a headless server version of a TADS gam is, in fact, supported by FrobTADS, which is fully modern in all of the ways you need it to be to run a headless server of a game (updated to 2.0 in 2022) since the fact that it is text only doesn’t matter in that case. All you need to do to play a Web Play game is run it with FrobTADS with network enabled.

4 Likes

Also, re TADS being closed source: GitHub - tajmone/tads-sources: Source files of TADS (Text Adventure Development System)

3 Likes

This is a good discussion to ferret out how things are described. For example, the TADS 3 documentation describes it thusly:

And, of course, if you dig in:

Which is all great. But what a lot of authors I talk with – and every one who attends my classes – want to really know is simply this: “How do I provide the experience I want?”

This is a question they would ask of Inform 7 as well. So this would come up, for example, with Vorple or flexible windows.

Thus notice, contrary to the title of this overall post, what I find authors are often asking about in relation to “comprehensiveness” is not about the language (output) but about the actual game/story experience (outcome).

So consider: if “comprehensiveness” to someone means an answer to this question: “I want to be able to use modern typography – colors, styles, sizes – along with images and sounds, will my players/readers be able to experience that?” …

… well, that’s the only question worth answering for them.

I say that because the readers/players don’t care about the programming language. They only care about the experience. And a lot of what has been discussed in this thread is not so much about what the languages can do but rather about what the supporting ecosystem can provide.

4 Likes

Was there a time you had a TADS question and nobody answered? I only saw you ask once! (Okay, so maybe I’m not Zed-quick🙂)

3 Likes

It’s a reasonable question to ask. Everywhere you look there are social media sites where all those elements are in abundance. Even in the workplace now, Business IT is adopting the same approach.

We’re currently in a web-native world. Frameworks that seek to continue the lineage of the classic formats maybe create for themselves a challenge in aligning with the modern paradigm.

I’ve never used TADS. But the headless server mode sounds to me to be the way you’d go if you want to provide a rich web experience.

Features aside, my impression is that many (most) of us choose a language because we think it would be fun/pleasant to learn.

I thought I would enjoy learning Inform 7, while I expected to dislike learning the others. After looking around, I know that I was right. Others have chosen different languages for similar reasons. The features horserace is an important subject, but in this hobbyist space, determining which language would be most enjoyable is a meaningful consideration.

12 Likes

I’m with you, Drew. My exuberance for TADS comes from the sheer enjoyment I’ve gotten from learning and using it…

6 Likes