Valid, lol
See…that’s the thing. I’ve personally never needed that in a game. Maybe at one point I had the “yes, I want to procedurally generate thousands of leaves in a pile” impulse, but that is usually quashed because in my brain that is one of those things that sound interesting on paper but rarely contribute to the story or extra fun for the player, so I’m happy with “a pile of leaves” being a singular object and the player can live with not examining each individual item in a multitude.
World models are great, until you get to minutia like coins and currency - which is way fussier to physically model than just setting a $money variable.
I 'm convinced at least part of you also made the poll just so you could fiddle with all the cool stuff you can make the Forum posts do.
Yeah, I mostly use it when I have “prefabs” in a game, like if a location uses standardized filing cabinets, vehicles (with interiors) or something. I just say “put a filing cabinet here”, and it reconstructs the interactive parts of it and assembles it together.
It’s also handy for puzzles were you need to collect some number of a kind of standard item and redistribute them to other locations.
Well, by world model I meant you’re not limited to having rooms, objects, and directional connections. You could use the passage-based model from Twine or modify what is considered “visible” or “in reach”, like I did for I Am Prey.
You could simulate even stranger spaces than all of that, which I plan to leverage in multiple upcoming projects.
Okay, but this forum has some amazing features, so you can hardly blame me!
Inform does that. You don’t need to procedurally generate them (I may have misunderstood what you mean though.) Inform has kinds where you can define an object as a kind - even a whole room - and then go There are five filing cabinets here.
or The main filing cabinet is a filing cabinet in Office.
When you say “procedurally generate” I assume you mean the engine can create new objects on the fly during play. Useful for a vending machine so if the player wants to generate 100 candy bars from it they can, and have it generate a quarter and a dime and a nickel as change. But if you’re needing prefab scenery with variations, you can do that with Inform.
I have considered doing a choice narrative with a world model, but if you just want a choice narrative Twine is a wee bit more accessible.
Everything works if it does what you want. I’ve appreciated how the parser kind of works automatically and rarely feel the need to tinker with it. It’s like some people like Harlowe in Twine because it does exactly what it does; others need less limitations so use Sugarcube. I would still be using AXMA if it were viable because I knew how to work around any limitations and quirks it had.
Correct. Given an object that has been modified during play, you can also create a copy of it (and apply further modifications) as well!
If this also includes attached interactible sub-parts of the prefab, then I missed this memo for I7.
This, though. I’ve hopped around a lot of IF systems, and TADS 3 (the second visit with Adv3Lite) is finally when I felt I could create the ideas I had.
But it comes down to what your project outline is.
The run time stuff is definitely a major cool thing TADS has over Inform, but I think this specific capability is also trivial to do in I7 unless I’m missing some subtleties (which I might well be doing!)
Ah! Well for the years I spent attempting to learn Inform 7 was also before I knew this forum and community existed, so there were a lot of capabilities I completely missed or couldn’t get working after trying for days.
When I switched to TADS (with the Adv3 library), I recreated in two hours what I spent 3 days on in Inform 7, which also included a combat system.
Then I tried a bunch of other platforms before coming to this forum, attempting to homebrew a Java-based system, and then leaving that to return to TADS with Adv3Lite.
I feel like accessibility and the barrier to entry for every system I have tried hinges on either effective documentation, or knowing there’s an online help community.
That’s amazing!
I know! Next time I go to a hotel, I’m definitely jumping as soon as I get to my room!
I agree with this. As someone who’s only investigated TADS, I find it confusing to get up to speed, and I’m not talking about learning the code.
For instance, if you go to the tads.org site, you’ll see the last entry on the changelog is 2013, so it’s easy to assume TADS is dead. But in this thread, people are saying TADS is indeed being updated, the source code is available, etc.
And what features don’t work in Parchment, exactly? Where is that documented?
Oh, and I recently saw a recent post that said a TADS game could be bundled into a single file. I think that means you can upload a TADS game to be playable on itch.io (with the limited Parchment functionality). But if I hadn’t stumbled on that post, how would I have known?
And how would I know to look for the VS Code extension? (I liked the code completion feature on it, but I couldn’t get it to work on Windows, so I guess I’m stuck with Workbench, which isn’t actually being updated, right?)
What I’m saying is that you’re right – the information needs to be accessible.
From my beginner’s perspective, a lot of information on TADS is scattered, and many wrong impressions and missed opportunities result.
This forum is great, and I’ve found the TADS community to be friendly and supportive, but I would love to have a central place where I can easily access updated documentation, news on latest developments, etc. Maybe I’m missing something?
Out of the box, it can display images inline, and play sounds, and that’s it. With some extensions, you can divide up the screen, draw images at arbitrary coordinates, play sounds on different channels and modify the volume, the usual stuff you’d expect (though still pretty bare-bones).
Graphics and text are fundamentally separate things, though, and (since you’re a programmer) I’d describe it this way: you can split the screen into sections that act like stdout (you put text there and then can no longer interact with it), sections that act like ncurses (you can put characters at arbitrary coordinates), and sections that act like HTML5 canvases (you can draw whatever you want). But these sections can’t overlap or interact with each other. Putting text on top of images takes Vorple.
As far as I can tell, all multimedia stuff, some text formatting (like centering, small text, and I think colorful text), and also clickable text. There may or may not be issues with UI panes, because I’ve had some weird results with those, but I’m not sure what’s happening exactly. (If anybody and confirm or deny these, I’ll edit as necessary. This is from memory.)
This is the problem. It’s not, and this is why new TADS authors get blindsided. When the documentation was written, it was assumed (as I understand it) that players would use a dedicated offline TADS interpreter. There is a variable that checks the capabilities of the interpreter, but I think that was specifically for knowing if the game was running on an older TADS interpreter, which lacked multimedia support.
As multi-purpose interpreters start popping up (again, as I understand it), people started using those (because they’re super handy), but TADS does not have full support in those. The documentation writers had no way of seeing this problem ahead of time, so it’s not mentioned anywhere.
Exactly.
I think tads.org is still owned and hosted by MJR—who also made TADS, Adv3, and I think the IFDB—but he’s been radio-silent for a long time, and nobody else is able to update the information and links there. This also completely threw me off when I was using the Adv3 library.
When I switched to Adv3Lite, I was on Linux and also had an account here, so I could ask if there was a Visual Studio Code extension.
Also—and I’m sorry for making this more convoluted—there are two VS Code extensions for TADS, I believe. Which one were you trying, which didn’t work on Windows?
Yeah, as other people have said this part, Inform can do (including interactible sub-parts); it’s just limited to compile-time. Nothing should fundamentally make it impossible to do at runtime—Glulx has malloc and free, after all—but Inform’s data structures for objects were designed on the assumption that their size would be immutable, so inserting and removing objects is an enormous pain. Hopefully eventually that’ll change.
(For example, I believe various-to-various relations are implemented as N×N arrays of booleans indicating whether any particular pair of objects is connected. These arrays are allocated at compile-time and inserting or deleting objects from them at runtime is…possible, but incredibly painful.)
Hopefully!! I had a few major deal breakers with Inform 7, but this was (by far) the biggest one! The others might have been solved if I knew the forum was a place that existed at the time. (For reference, I switched from I7 to TADS in 2014 or so).
Also!
(pspspspspsps!)
Hey, all you devs for ADRIFT, Adventuron, Hugo, Quest 3, QuestJS, PunyInform, ZIL, and others! There’s no reason why the conversations have to be about TADS 3 and Inform 7!
Y’all should make community awareness surveys as well! This forum should enjoy its variety, like any ecosystem!
Here’s an idea.
Should the IFWiki entry for TADS 3 be updated to mention that Adv3Lite and QTADS are both being actively maintained, and have a link to Tomas’s VS Code extension?
- Mention that Adv3Lite is still being maintained
- Mention Adv3Lite’s new GitHub location as being the primary location
- Mention that QTADS is an actively-maintained, cross-platform interpreter
- Mention Tomas’s TADS extension for VS Code
- Do not update IFWiki
(More polls! )
As someone who doesn’t use TADS (so take this with a grain of salt), I imagine it might be useful for someone to make a new “home page” that gathers links to all these resources and shows the current state of the language.