Community Awareness Survey of TADS 3

Results are in. The screen reader can find the content window when alt-tabbing to it, but it’s not reading the text, and I tried several hotkeys to read it all. For context, I’m using Microsoft Narrator on HTML TADS.

However, images in HTML TADS do support alt text. If I hovered over the image, the alt text appeared. At one point, the screen reader caught it and read it out to me, but I’m not sure how I got it to do that.

Honestly, watching me attempt this is probably comical to watch. I have been told that HTML TADS works with a screen reader by a screen reader user before.


Okay, I did some poking around, and think I may or may not have found some information that is going to take me a moment to process:

The easiest and most reliable way to use TADS games with screen reader software on Windows is to the use the “DOS box” version of the TADS interpreter. This interpreter is compatible with virtually all TADS games - even games that use HTML TADS features to display graphics. The DOS-box interpreter simply ignores any graphics that the game attempts to display, and removes any special formatting effects, leaving only the plain text. Screen readers have a much easier time with this plain format than with the mixture of formatting and graphics that HTML TADS can display.

From here.

The issue I’m finding is specifically with this:

The DOS-box interpreter simply ignores any graphics that the game attempts to display, and removes any special formatting effects, leaving only the plain text.

Confusion and problems are the following:

  1. I have been told that clickable hyperlinks do show up in the screen reader when playing HTML TADS games. Is this not a “special formatting effect”?
  2. Sound only plays because an invisible, zero-size, text-based tag gets output to the screen. If you clear the screen, the sounds also stop.
  3. Depending on what counts as “special formatting effects”, this might also include sound.

I’ve been doing screen reader tests through Lectrote because I’m on Linux, and have only heard from one tester who uses HTML TADS on Windows with a screen reader, so I’m not working with first-hand personal experience here, but I am very confused. Add onto this that I’m not in a very good headspace as it is; I have a lot to think about right now.

Gawd, what is it like being a person who has been aware of text games for most of the medium’s lifecycle, and not some hermit who only learned what they were around 2010, and only found a community in the last few years? What must it be like to be driven to do things, and have the context and wisdom to follow through clearly?

4 Likes

I kind of know what that’s like :wink:

That one, not so much :cry:

3 Likes

OK. You people sucked me in with your effective advertising. I’ve downloaded the TADS3 development system. :grinning:

12 Likes

Welcome, Doug!

4 Likes

Learning TADS 3 is the thing to read first…

4 Likes

I was certainly broadly aware of the capabilities of TADS. This is timely for me in that I’m starting up a series of classes where our intent was to use Inform 7 but we keep running into issues. Nothing catastrophic, of course, but it’s usually with extensions not working or code examples not doing quite what they say should in the manual.

But one thing that I really do like with Inform 7 is my ability to do what I describe in this thread: Using Quixe in Web Page; Changing Font Size of Display. Not the font size bit so much but specifically the focus of putting a nice, easy to execute interpreter smack in the middle of the page. The page itself can have multiple such interpreter windows, just pointing to a different gblorb file.

Creating exploratory lesson plans for a class is invaluable when you have such an easy approach. I don’t know if that’s possible with TADS. I do know the Online sitegen service was announced but haven’t looked yet to see if that makes things workable like I talk about in that linked post.

The other challenge – and I’ve seen it mentioned a few times above – is that one of the selling points of TADS for me was always the use of HTML and CSS, which are already technologies many people are exposed to and utilize. It always just made sense to me to leverage those. (That’s what I’m doing in that above thread, for example; changing the styles in glkote.css.) But if online interpreters in particular don’t support those features for TADS, then the fact that they exist in a useful way in TADS becomes much less of a selling point.

I should also note I’ve only explored Vorple a very little bit at this point but if that works as it seems to, and combined with what I showed above in my linked post, I feel like as an author – whether of lesson plan style content or perhaps even a story experience – I have more control over the actual interface and presentation, which thus continues my lean towards Inform.

I could be wrong on that, actually. But it is my perception.

It’s also a bit undeniable for me that getting Inform 7 set up and “just working” is quite a bit easier. For the TADS 3 class I was experimenting with, I had to create the GitHub - jeffnyman/tads3-playground: Simplified Distribution of the TADS 3 Interactive Fiction System so that I could provide an easier means for people to get started. (We use the VSCode extension in that context.)

None of this was likely relevant to this thread. I guess I bring it up just to reinforce what I’ve seen some say: I’m broadly aware of TADS and its capabilities but I’ve always felt the momentum and experimentation was more in place with the Inform ecosystem making it seem like the safer bet.

That “safer bet” perception on my part is even the case with the flux Inform is often in, being under active development (hence some of the issues I mentioned at the start), which contrasts with TADS being in less flux as a general rule.

5 Likes

As I read down through the poll questions and started answering, the more each subsequent question sounded more and more like an AD for TADS and not just a survey.

“Did you know TADS could cure cancer?”

After a dozen or so I understood and stopped.

2 Likes

I have my own server hardware where I’m already hosting a bunch of things, and I have a fair amount of experience with making web pages and serving them and system administration stuff, and I’ve collected a whole lot of tads3 documentation already, so I’m thinking about renting like tads.com or something and setting up an informational site that looks as modern and trendy as I can make it

8 Likes

They literally said they didn’t intend it as an advertisement, if it sounds like one to you that just means you’re realizing it has a lot of cool features.

9 Likes

Relating to my above comment, however, here’s a counter-argument that often comes up for me. I hope this is relevant. I think it is because one of the survey questions was “Did you know that save, restore, undo and other core interpreter functions can be completely customized in TADS?”

The only way I can say it is to refer to a recent post I have going on Rules for Characters Exposing the Player To Dangerous Things - #11 by Jeff_Nyman.

Specifically the idea there is trying to figure out why an extension isn’t working to achieve a given effect.

The main thing here is to note that, to do this, you’re now dealing with code like this:

[ Hypo_Middle rule  a b save_sp hypo_size;
	Hypo_Capture_End();
	save_sp = say__p; say__p = 0;
	FollowRulebook(rule);
	if (say__p == false) say__p = save_sp;
	hypo_result-->0 = RulebookOutcome();
	if (hypo_result-->0 == RS_FAILS or RS_SUCCEEDS)
		hypo_result-->1 = ResultOfRule();
	hypo_size = (HYPO_RESULT_WORDS * WORDSIZE);
	@protect hypo_result hypo_size;
	@restoreundo rule;	! never returns if successful
	print "[What happened to my undo state? --hypo]^";
];

Essentially entirely Inform 6. But sort of “hooked into” Inform 7 in a type of bi-directional communication style. My only point here is that you sometimes have to deal with radically different abstraction in Inform. Granted, this is highly dependent on what you’re doing and what you’re needs are and I know there are plenty of projects out there that wouldn’t be dealing with this at all.

But when you are dealing with it, you might sometimes wish you were using a system that had just one abstraction to wade through. So in the case of a system like TADS 3, while I might be dealing with equally complex code, at least it’s all code at the same abstraction level – to wit, TADS 3 code. With Inform 7, on the other hand, I’m dealing with Inform 7 and Inform 6 and they are very different.

Side note: the extension in question appears to be using logic that the Inform 7 manual itself says “Please do not use any of the undocumented invocation syntaxes: they change frequently, without notice or even mention in the change log.” Which is another one of those “gives you pause” moments. I say that because part of you then wonders what other extensions might be using Inform 6 and using similar undocumented aspects.

I bring all this up just because it is something that I don’t see brought up much but it can matter. So I think it fits into the “at least worth being aware of” type of thing. How much you needs to be aware of it and how much it matters, of course, is very relative.

So, in relevance to that survey question I started with, one of the things I’m dealing with is some aspect of the undo and restore interpreter functions.

8 Likes

Is there a TADS 3 game that is short, accessible to play and acts as a show piece for the engine?

All this hoopla has peaked my interest.

4 Likes

According to Cain might fit, depending on your definition of short (it’s Comp length):

@inventor200’s I Am Prey is also a cool, recent, short TADS game, but since it’s less traditional it might work less well as a showcase for the language qua language vs the clever thing the game itself is doing? But certainly worth checking out in its own right:

Either way, per the thread definitely use QTADS as your interpreter!

7 Likes

That would be excellent!! :star_struck:

Unfortunately, the ones I would love to recommend are all WIP on my end (life stuff keeps happening), but the initial part of @johnnywz00’s Prince Quisbourne also puts on display quite a few things as well.

5 Likes

I don’t know how many of the features above were used, but the only submission to last year’s Winter TADS was very good:

I would play it on QTADS just to be sure you aren’t missing anything.

7 Likes

Trenchline is also eerily prescient about what sadly happened few months later… so I consider it much more than very good.

Alexis: I fully concur and agree, but please take in consideration people whose prefer to have offline reference, so please strike a balance between “modern and trendy” and the needs of offline consultation.

Best regards from Italy,
dott. Piergiorgio.

5 Likes

Games which are not too long or too hard, but do showcase some TADS3 features?

Maybe Mrs.Pepper’s Nasty Secret by Jim Aikin and Eric Eve (now there’s a combo of IF-authors!) or The Elysium Enigma by Eric Eve (solo)?

The Elysium Enigma - Details (ifdb.org)
Mrs. Pepper’s Nasty Secret - Details (ifdb.org)

9 Likes

Fully agree about Pepper, but Elysium has the issue of not having the source code available AFAICT, limiting its usefulness as showcase of features (that is, showing both what it does and how to do it)

Best regards from Italy,
dott. Piergiorgio.

2 Likes

I fully concur and agree, but please take in consideration people whose prefer to have offline reference, so please strike a balance between “modern and trendy” and the needs of offline consultation.

Don’t worry! First of all I won’t be rewriting the existing documentation, just collecting and organizing the links to it and making a more up to date summary of the current TADS situation, like how recently it’s been updated and why that’s okay, what interpreters and development tools to use now, and so on, as well as making an attempt to pitch TADS a bit more than the old website does by actually listing some of its lesser known features. Second of all, I’m making the website look modern, and it is using all the modern CSS and HTML5 constructs, but it is also extremely small, lightweight and pure HTML and CSS, basically no JavaScript of any relevance, and it’s a single page, because I’m a believer in the “small web” kinda stuff.

4 Likes

so, is basically like Zed’s periplus, extended to documentation &c. outside the official one ? looks very interesting… keep our community informed !

Best regards from Italy,
dott. Piergiorgio.

3 Likes

Not really like the periplus (although I’ll be linking it), just a better landing page for the technology that will help people get set up with it and find resources easier and understand what it’s all about. Plus an FAQ and list of prominent gamed made with it. I don’t want peoples expectations to be too high >.<

Something like this recent website for Common Lisp, but for TADS and with more content: https://lisp-lang.org/

3 Likes