Shh, don’t tell them, but yeah, plots are static! Fundamentally, at least.
Right; I should have added this caveat to my reply, too.
I guess you are right. Dynamic would mean it’s not an adventure (edit: and not a plot) but more an RPG. Probably…
The most important aspect of an IF story is that it makes sense, is playable, is well-tested, and has a compelling plot and theme.
You can do that in any platform whether it’s an IF platform or nor not.
And some tools fit better to personal abilities.
And it can be a lot of work building an IF parser from scratch, so an IF platform can let you get results faster.
There is a well established paradigm in IF where smart people look at what’s available and decide to take a crack at building their own.
It’s very easy to underestimate the complexity of building a parser and world model with extensible vocabulary.
Just learning how to use parser based systems is a very steep learning curve for me. I have started several compiler construction texts over the years. They always look like a simple task to start.
I am amazed by the brilliance shown by the IF system developers!!!
I would like to modify that a little, if I may. I would prefer to remove the word smart, and then we can agree.
It’s hard to judge, but if we start with the population of an average-sized country these days. Ten or twenty million maybe, I don’t know. Then look at the proportion of those who are engaged as readers or writers of Interactive Fiction. Somewhat less. By orders of magnitude.
Now zoom in to those who have decided that the options for creating IF where they live are insufficient for their needs. Still further, only some of them will resolve to do something about it…
All I’m saying is that I don’t think smart is the right word.
I’d rather give them the benefit of the doubt, personally.
I do think “courageous” might be appropriate. “Optimistic” comes to mind. “Strong-willed”… “Gung Ho”?
I’ll settle for “pleasantly intentionally bypassing the wheel-already-invented”.
I suspect someone like Douglas Adams would describe such people as, “Mindbogglingly addle-brained dishwashers (no offense to dishwashers) with grandiose ideas of confronting Darth Vader with a toothpick and 15-year-old scotch tape. The level of hubris required in such an endeavor escapes any rational measurement, especially for a human.”
There’s no shortage of other choices as well. Inform 7 is the defacto for natural language. Inform 6 is a fine system, but for some reason, the documentation didn’t mesh with my brain.
I prefer TADS 3 myself, because the documentation is exhaustive, easy to navigate, and clear. The toolset is also excellent. If you’ve come from a more traditional programming background, TADS 3 is a great choice.
I’d amend this by saying, “if you come from a traditional object-oriented programming background.”
I first purchased Tads in the early 90’s and I was still a procedural programmer. I struggled with it a great deal so it never stuck. Inform 6 is a hybrid OO+procedure syntax and was much easier to follow.
It’s precisely because I’m from a traditional OO background that I like Inform 7. It’s like when I had to learn LISP as an undergrad in '93 – it tickles my brain in a good way to do something totally different. I’m going to be teaching Python and Java for a long time; having something that’s nothing like those is refreshing.
Hm. This must be why I love it so much…
I love functional programming, but for adventure games OO does actually make some sense. Objects, in the programming context, map pretty neatly to characters and items in a game. It’s a natural mental model to connect adventure game elements with classes, methods, and properties.
But that’s just been my experience. What’s great about making IF in 2023 is that you can make games pretty much however you want.
@spaceflounder How long have you been writing with TADS? I haven’t seen you around here till now!
Inform 7 isn’t functional programming at all – it in fact has no functions. And it does have objects, at least in the sense that objects encapsulate related data. It doesn’t have object methods, of course, and its notion of inheritance is pretty weak. The things it has that distinguish it from other programming languages are relations and rules.
Curious: asking those who know, can’t TADS be used functionally more or less, if a person wanted to? Granted, the existing libraries are built from inheritance classes…