I was such a fan of Emily Short’s threaded conversation approach that I created a Dialog library for it.
It breaks conversation into “quips” and there’s a lot of rules controlling what quips are available for conversation at any time (some quips must follow, directly or indirectly, other quips, etc. etc.).
There’s “telling quips”, “asking quips”, and “demonstrative quips”; the latter are kind of ad-hoc verbs, so the quip for “accuse Colonel Mustard of murder” will eventually be suggested (“You could accuse Colonel Mustard of murder”, enabled when you have sufficient evidence) and your command might be as simple as “accuse”.
So, the in-built Dialog choice system breaks you out of parser mode and into a choice mode, but TC keeps you in parser mode, but still gives you all the reasonable choices (but there are cases where you can discuss a quip that isn’t listed).
Anyway, the conversations I’ve built with it have been somewhat simple, usually with a single through-path and a couple of side-lines (for the Sand-dancer game) but I expect to do more in my Futurama game.
As you’ve said: what made I7 appealing to many people when released is that it makes creating the stock basic components of a text adventure dead simple: Rooms, a compass-direction explorable map, objects that can be carried, examined and manipulated, doors and containers that can be opened, closed, and locked. Without getting too tricky, most anyone can make an explorable map and a few lock and key puzzles which is sufficient to tell a story. Back when Inform came out that was a huge leap for experienced players who wanted to try their hand at parser-writing but were put off by coding required by many systems where the learning curve is much steeper at the beginning. Inform 7 for beginners is high-result/low-investment to make a game of similar quality to Infocom. At least at first.
I think Inform 7 by design implements basic stuff rock solid with all the rules needed, but you need to learn how that works if you want to do more than “carry stuff around and put it in a box you unlocked with a key since you can see in the dark with your lantern” that is default to many parser adventures.
Of course, yes, then when you want to start simulating more complicated things like water flow and liquid volumes and magic spells and cutting things in half and combining things and changing rules and how physics work. Inform 7 can usually do it, but then it gets complicated and there is a point where even though you can describe something in English that any human could understand, you need to phrase it in a way Inform can understand it. And if you’re getting this complicated, yes: it’s probably more simple to do it in TADS or another system that compiles more complicated code - if you have already navigated the hump of learning code that isn’t “natural language” based.
A lot of people (usually people who code and expect one definite way to make something work) seem to interpret this as a vicious betrayal of the promised “natural language programming,” but in my opinion it’s just a steepening learning-curve that starts very gently. Kind of like Excel: anyone can plug numbers into cells and do math, but it can do a whole lot more and that requires sitting down and learning how to do tricks with it.
For me even the simple stuff would probably be easier to do by myself. I’m sure I can build a small functional parser and world model in a day, and in that case I don’t even have to read what feel like a 700 page book to even know what rules are predefined or how to create new ones in pseudo-English. It helps that I already made tile-based worlds and inventory systems for numerous discontinued projects though.
Well, yes. It’s easier for you to do that because you already know how. But for someone who doesn’t already know how to code the barrier to entry is going to be very, very different than it is for you. Inform 7 was made to fill a need for those people.
(I guess my IF hot take and unpopular opinion is that I know how to code and still like Inform 7 just fine.)
I know it’s intended purpose. And it did slow the learning curve for a lot of people. I admire that. I just think, although development has been stopped, maybe Inform 7 can now be improved? Maybe maybe not. I found it TOO HARD to learn, already knowing programming. I found it too “dumbed down.” Which meant that people STOPPED at a certain point. In making more complicated objects or puzzles or NPC’s.
The thing was BASIC was an easy to learn language for thousands and thousands of people. Especially APPLE basic. Apple magazine even published a game engine and game file. I typed it in and did my second game that way. Only a two word parser, but what the hey. I had started to write my first game with AdvSys, only I broke the parser trying to make it more than a two word parser.
I guess my expectation for Inform 7 were too high. But I will always disagree with people who emphasize the narrative way over the puzzles. I am a gamer. Period. If I want to read I will read a book and Amazon has tons of ebooks. I read all the time.
The IF World is big enough for many (all?), but the games I CHOOSE to play will not be the heavily narrative ones. Sorry. Unless I hear one getting raves. I am allowed my personal opinion and so are you.
My view from an earlier comment: “I like good stories like the next person”. I think either perfect narrative or perfect gameplay can only net you “good” IF at most (relatively speaking). To achieve “great”, you have to get both right. Because you’re right, it is a game after all. Though personally I think first person stories can benefit from the IF format without much gameplay, by increasing the immersion with player decisions.
And I think that leads to my second hot take: I like fake choices in games. Choices don’t have to impact the story if it’s clear they won’t (e.g. You get ice cream with your friend. What flavor do you choose?). It doesn’t serve the story, but it increases my immersion, so it has a valid use for me.
And IIRC in writing you should aim advance either the characters or the plot with every word. In IF, I’d convert that to a “narrative, gameplay, immersion” trifactor, but the immersion part doesn’t really matter in non-first-person games.
I found the natural language format, ironically, too hard to parse for my caveman programmer brain.
It was an interesting experiment, but ultimately it conflicts with efficiency on multiple levels. Coding is about pattern recognition… and appreciation. The patterns have to be clear and concise, lest you create unwanted friction.
Having more than one way to express the same statement ironically makes Inform harder to learn since it doesn’t support all the ways you might express the statement. Have just one right way gives less to memorize and less doubt about how to express yourself.
I co-sign this hot take. Many people’s complaint about choice-narratives is “there’s not enough choice” and without making a time-cave, psuedo choices are a way to dispel that. In a game where you just meet someone I want to direct the length of the conversation, but I don’t want a plain cutscene with “click next” over and over. Letting the player role-play within a linear narrative lets them feel some agency. And It can be a superfluous choice, or it can lead to the same passage but with a little text variation to feel customized, or the author has a chance to gather or set some stats for later.
“Hey, maybe you can come hang-gliding with me sometime!”
That sounds thrilling! (+1 daredevil) I’ll get back to you on that… Maybe…in some kind of emergency situation where we need to escape an exploding island. But that won’t happen. Sure. I don’t know. maybe. (+1 indecisive) That sounds dangerous. (-1 daredevil) Uh, hell no. (-1 daredevil)
[all choices lead to]
“Yep, you’re the same old AFGNCAAP I remember from college! Nothing ever changes, does it?”
Exactly. You just have to make sure that if your game is so good people want to replay it, you make sure the player knows which choices will have consequences and which won’t. I was let down some times by games that made me think something was an important choice, but upon replaying I figured out it didn’t matter.
Here’s my unpopular opinion: using compass directions as commands is comfortable, familiar, and a powerful habit. A habit that has become an addiction. A habit that needs to be broken.
There are many ruts in IF design and play that we have become trapped in, and this is just the most obvious one.
That’s actually something I’ve been working on. I had a prototype set up several years ago, but I was distracted from my IF hobby. I’ve very recently pondered starting up again.
There are two basic problems with my little project: first, I need to make a game interesting enough for people to bother playing it, regardless of what specific features it has, and second that I’ll need to make it simple and intuitive enough that I can not only prod players into trying it but won’t have to take up too much time and space explaining the system.
I like the immersion factor too. More depth in response. I often changed the standard library in Inform 6.
You know what I would like? A game constructor. To be asked questions and then more questions and it starts constructing a game for you. I think it is possible to do this in T3 and maybe possible in Inform 7 (which I never really got into).
Like welcome to whatever system. You are going to construct your first room.
Do you want your first room inside or outside? check box. or something.
Okay, please name your first room and name the four directions. Does it darken at night if the player carries no light with them? Then go on to add rooms.
Now we will add your first objects. Are they carryable or not? Why is it not carryable? Is it too heavy? Is it inside another object?
Now NPCs. It seems to me this could be done with scripts, there are ways to get feedback from the author. They just need to be adapted. Usually it is just their name, but…
Get people up and running quick. Then for refinement, they have to learn to code in that language a bit.
Both T3 and Inform 6 are capable of great complexity and Inform 7 can hook into Inform 6.