RECOMMENDATION REQUEST: The Future of Interactive Fiction

I counted 6, but that’s neither here nor there. I didn’t articulate my thoughts clearly enough in that throwaway statement, and I’m retracting it for now. Though I would like to say that the games won the competition, not the language. I’m not aware of any of those Inform 7 games that could only have been achieved at a technical level by its natural language development system. However, I waved aside the “make people who were scared of Inform 6 feel empowered to write something finally” feature without much thought, which is not fair to those projects.

1 Like

Nah, it’s three - 2007 (Inform 6), 2016 (Versificator), and 2020 (Twine and Dialog). Coloratura was re-implemented in Twine, but the version that won the Comp was written in Inform 7. Whether or not it’s the future, Inform 7 is definitely the present of IF - it’s true that on a technical level most Inform 7 games could have been written instead in a different, non-natural-language parser system, but of course the reverse is true too, so the fact that it’s so dominant does seem to indicate that there is something significant about the natural language approach.

Anyway it’s nitpicky to belabor the point but I think it’s relevant to the topic of the thread that the two most commonly-used development systems and also the ones that produce the most popular work - I mean Inform 7 and Twine - both have low barriers to entry, such that folks who don’t want to learn traditional programming languages can make high-quality games.

I won’t venture to make any firm predictions, because predictions are hard (who debating the future of tabletop roleplaying games in 2012 would have put their chips on “watching voice actors play DnD”?) and the definitions here are fuzzy (like, in terms of impact, the future of roguelikes is what’s happening in run-based platformers and deckbuilders, but that probably wouldn’t tell you much about what the folks working on Angband, ADOM, etc. are going to do next). But whatever that future is, given our present it seems to me that the most important trends are going to be ones that make game creation easier and less reliant on separate specialist knowledge (though of course not everything that points this direction is likely to be successful - details matter a lot!)

…OK, I can’t help making one additional minor prognostication: there’s been an increasing number of games that blur the parser/choice divide in recent years (beyond limited-parser games, I think someone mentioned Libonotus Cup earlier, which is a parser game with an extended choice-based section, and there are lots of choice-based games that have adopted parser-style navigation and inventory systems), as a newer generation of authors who weren’t around for the bad old days of the Twine Wars make new stuff based on what they see the IF community making. I think that’ll continue and keep fuzzing up that division until it no longer seems as salient as it does these days.

6 Likes

Ah, I went back too far and counted a couple outside the time range. My bad.

It’s strange to me how Inform 7 is always touted as having a low barrier to entry, but I just cannot see it. Its first impression feels like a low barrier to entry because, “Hey look I’m typing in English sentences!” but it requires all the same logical thinking, planning, flow control understanding, and such of any other language. It’s existence beyond pure novelty remains an elusive mystery to me.

Yeah, I would never ever ever ever ever have put money on “watching voice actors play DnD”.

I do think the idea of “make game creation easier and less reliant on separate specialist knowledge” is sound, but it’s also one of those, “Stop me if you’ve heard this one before.” kind of promises that computing has made in various disciplines for decades.

As a simple example, I recall early OS X development using Interface Builder. The demos, and reality, showed a simple drag-and-drop interface for building beautiful UI with no code! And that was true!.. until you tried to do something even vaguely more complex than the demos and suddenly you realized how limiting those tools were in many way. In fact, I knew a lot of places were doing layout in pure code, giving up on Interface Builder for anything but the most basic of “About this application” window and such. (not to belabor the point, but that matches my impressions of Inform 7; which may be why I bristle at it so much)

1 Like

Giving a “false” first impression of having a low barrier to entry is the same thing as having a low barrier to entry, because the real barrier to entry is, “I’ve never programmed; I don’t think I can write any code at all.”

Considering the history of IF, what did you expect to happen instead? Like, when Inform 7 came out, would you have expected Inform users to stick with Inform 6? (Or switch to TADS?)

Most people/companies use Interface Builder to this day; layout in code is the exception that proves the rule in modern macOS/iOS development.

3 Likes

Funnily enough, ZILCH was the name of Infocom’s ZIL compiler!

1 Like

My understanding is that this problem is resolved (see Zilf 0.9 - Raspberry Pi 4 - #2 by Adam_S)

I’m no expert on IFComp but all of the (parser) games I’ve seen are possible to do in either Inform 6/Inform 7/Dialog/ZIL. The language you use is just a personal preference.

I’ve followed this thread a bit from the sideline but here are two thoughts from my perspective…

  1. The quality and success of game is connected to the quality of the story and text. What computer language that is used to realize this story is irrelevant. A text-based IF is so low on resources that it can be played on most imaginable platforms. I find a discussion on what operating system and with what computer language one use quite fruitless and a dead end.
  2. Watching my kids play modern games on consoles (PS5 among others), I notice that many games have a story mode that have many elements from IF. The sport games from EA, for instance, have a career mode and Spider-Man: Miles Morales is defintely a story with a beginning and an end (there is also lots of action sequences, for sure). This makes me wonder if not the future of Interactive Fiction already is here, as components of games from commercial game developers.
5 Likes

Having started programming in Applescript, I know very well the lure of “English-like syntax” and also its pitfalls. It looks and smells at first like “English” except that promise breaks down as you have to learn a more and more specialized flavor of English to coerce the thing to do something specific. Amazing things can be built in Applescript by one industrious enough to fight its unique frustrations, but I would never have held it up as the future of Mac programming. Nor would Apple have done so, I think. Now it’s on life support, relative to its position in the past.

I’ve been working in macOS/iOS development for 15 years now. My statement directly reflects my firsthand experience with those tools and the conversations I’ve had about them over the years. The app I work for now started with ZERO interface builder nib/xib files which I thought was madness at first, but grew to appreciate. It isn’t that way now, but it took a couple of years and a radical change of development team to start injecting those in.

But I was really referring to the early promises of IB, not what it finally became. Only in recent years (post “springs and struts” I’d say) did it finally provide something usable for complex layouts, IMHO. And with SwiftUI the writing may be on the wall anyway (though SwiftUI has a long way to go still).

And yes, I guess I did expect inform 7 to be rejected more. I thought it would be tried a bit, with writers falling back to Inform 6 for more complex projects. Or jumping off the inform train all together. “If I have to relearn Inform anyway, might as well see what else is out there.”

But clearly that didn’t happen, so my predictions are obviously not worth much. Hence my posting of his thread to learn what’s what.

I’m sure a fair number of established Inform authors did stay on Inform 6, but what your prediction didn’t take into account was the influx of new authors. That’s where the (lack of) barrier of entry mentioned above comes into play.

I can think of a few factors: New authors are more likely to use the newest version of Inform, whether they know that the language is new or not. The lower barrier of entry in Inform 7 means the influx of new authors might be larger than earlier. Established Inform 6 authors are less likely to ask questions about Inform (either 6 or 7), so most questions will be Inform 7 specific questions from new authors, giving publicity to Inform 7 and invisibility to Inform 6, and then we have a snowball effect.

“If I have to learn programming (or a new domain-specific language) to make IF anyway, might as well use this English-like one (and if I know another programming language already, it’s interesting to learn one which is completely different from any other language I’ve ever seen).”

2 Likes

I have zero background in coding, and struggle daily to get my computer to do basic things. When I decided to write a game, I picked Inform because it was English and did seem friendlier. Perhaps that’s just a psychological trick to make newbies like me feel more confident that we can do it, but it didn’t scare me the way other languages do because it felt more… natural? There has always been a little voice in my head that whispers, “You’re too dumb to learn to code,”, and starting with I7 has silenced that voice to some degree-- at the end of writing my first game I was able to take an html walkthrough template and adapt it by trial and error, and that surprised me.

So from a wet-behind-the-ears perspective, I think I7 does have a low barrier to entry, and it’s a gateway drug to other coding languages. Once you have some success, your confidence grows and coding doesn’t seem like such an insurmountable, difficult thing.

**Not sure why this post replied to Mike. I can code a game, but posting on a forum remains difficult.

7 Likes

A little difference with this instance. The RPi Foundation just updated Raspi OS to a 64 bit version of Debian. The prior version had a 64 bit OS core and a 32 bit user space to maintain compatibility with older existing hardware and software. They recently ironed out the compatibility issues and Raspi OS now has a 64 bit user space.

Zilf 0.9 failed to work with a simple install.

You currently have to do the following:

Zilf 0.9 also working on the new 64 bit RaspiOS. It did not work initially but after installing .NET Core runtime and then adding:

export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1

to the .bashrc fille, it works fine.

As I mentioned in another thread.

v/r

2 Likes

In my personal experience, the logical thinking, planning, etc isn’t the problem for authors at all, it’s the need to learn a completely abstract codebase that scares people off. Inform 7 is very attractive to writers who don’t code because they can wrap their brain more easily around prose declarations. In fact, an Inform 7 source text is often quite comprehensible even to people who don’t know Inform because of this.

Here’s ZIL:

<OBJECT SERVER
        (LOC SERVER-ROOM)
        (DESC "an ancient server")
        (FLAGS NODESC)
        (SYNONYM SERVER COMPUTER MACHINE ANCIENT OLD)>

This is Inform 6:

Object server "server" server_room
    with
        description "an ancient server",
        name 'server' 'machine' 'computer' 'ancient' 'old',
    has scenery;

And Inform 7:

The ancient server is scenery in the server room. Understand 
"machine" and "computer" and "old" as the ancient server. 
The description of the ancient server is "an ancient server".

Writing Inform 7 feels more like writing an actual story and that’s less exhausting to many non-coders. True, I7 does get tricky as you do more advanced implementations, but almost anyone on their first try can make a few rooms with doors and containers and keys and explore it successfully.

5 Likes

I think I missed the original post and the intended question, apologies, I was more just ruminating on the last 3-4 years so in hindsight I think you can ignore my entry here!

I think, regarding I6 vs ZIL, it’s just different. If you factor in the amount of learning and support resources then hands down there’s far more available for I6. But for me, and this is just a personal viewpoint, when you compare code and syntax and function etc then I don’t see either of them being “easier” than the other. If I sit down with a screen full of I6 code and a screen full of ZIL they both (to me) look equally “difficult”; the complexity looks the same to me.

Again, I’m comparing chunks of code versus other chunks and code and discounting the availability of support and learning material here. But that’s always been my judgement call when anyone asks, I don’t really agree that I6 is “easier” in itself.

Now, I7 is a totally different beast. I7 vs ZIL and it’s I7 every time in terms of complexity.

Adam

2 Likes

This encapsulates it perfectly. I don’t see either of these as being less or more difficult than the other. Both are chunks of code that are equally… Code-ish… Not sure what else to say there! :sweat_smile: Again, I’m ignoring learning resource availability and also not really answering the original question so I’ll leave it there. :slightly_smiling_face:

Adam

1 Like

Yeah, exactly. I’m a lawyer by training, so the work of deploying English words in a precise, technical way to communicate a complex, multi-part process is pretty familiar – like, that’s what interpreting and writing laws is all about. Inform 7 has its own jargon and idiosyncracies, of course, but so do all other programming languages, so having to learn those tricks while also dredging up my memories of C syntax from a couple computer science courses I took 20 years ago doesn’t appeal. And Hanon’s point that the natural language approach makes it easy to get a basic game up and running in my experience was really critical in flipping the switch in my head from “I need to learn Inform 7” (which is a really daunting prospect!) to “I need to learn how to implement an action with a direct and indirect object in Inform 7” (much more manageable and even kind of fun!)

Anyway, apologies for the thread drift, and I definitely agree that not all tools that move in the direction of accessibility are likely to be successful – as folks have mentioned, some are too underpowered, or too fiddly, to outcompete. And it’s also questionable whether “the future of IF” is more about tools or more about games (it’s notable that this thread started out with a broad request that included games, but the discussion has treated them as an afterthought – which I’m also contributing to!) But if it wasn’t necessarily obvious in 2006 that Inform 7 was going to be successful, it’s maybe worth digging into why it was to help see what the shape of things to come might look like.

3 Likes

If that’s true, then why don’t people learn Quill? If you know all the planning and logical thinking, then something like ScottKit is no trouble at all. My experience is that learning ScottKit is much faster and easier than learning Inform. It only takes an afternoon to learn ScottKit as compared to Inform.

In fact, I see people are driven to Twine because learning Inform is a tremendous bother. Some Twine games have explicit world model that would be better served with Inform, but ended up implemented in Twine. This, despite the fact that I don’t think Twine is that easy to use. Just much easier to learn than Inform.

This is a common phenomenon, isn’t it? I recall making a thread asking for player impressions of Planetfall’s Floyd (I imagine many here have such impressions)… I think the majority of responses were about file size limitations on the C64, TRS-80, and elsewhere.

I say this affectionately, of course

5 Likes

I didn’t learn Quill because I’d never heard of it (and in fact I just had to google it). I think most non-coders don’t even know what languages exist to learn. I knew about I6 & I7 because I play a lot of IF, and since I7 was touted as being friendly and in somewhat comprehensible English, I went with that. I didn’t have anyone to advise me about what might be best. It just turned out to be a good thing for me, although it wouldn’t have gone well without all the technical support here.

From what I understand, most forums that can help with learning a language are mean, intimidating places. I just got lucky that I hit on the place-- here-- that was patient with me.

5 Likes

Was it Masquerade?

5 Likes

And that’s the key to most thing. It’s the same reason why I end up with Raspberry Pi OS, instead of other OS. It’s the reason why ZIL is not as popular as I6, despite being mostly the same.

We all need help when we first started. There is no community without good feedback. Good support is paramount to the future of IF. There’s no new people, and therefore, no future without it.

Whatever the future of IF is, it doesn’t have to be the most user friendly, or one that runs on most computers. But it has to be the most people supported platform. IMHO.

Edit: If all else fails, there’s collaboration. Douglas Adams didn’t code HHGTTG. So, there.

5 Likes

I think most of y’all have heard me say this before, but the language that an IF system uses is arguably the least important factor in making it popular.

Most people decide to use an IF system because they see a game that they admire, and they say, “I want to make a game just like that! Whatever system the author used to make it, I’ll use that system, too!” Admirers don’t seem to directly care about any of the details of the system, except that if it’s too hard for them to learn the system and finish a game, that’s a major factor in achieving true popularity.

This makes it difficult (nearly impossible) for new systems to defeat existing popular systems. The new system has to be so much better that it’s worth starting a new community of practitioners from scratch, and it has to be better in a way that the existing community simply can’t adopt the new idea(s) into their existing community/tools.

I believe that Inform 7 crossed that bridge by working hand in hand with community leaders (popular IF authors) to deliver a tool that they liked, that they felt like they had a hand in shaping. In 2006, when Emily Short shipped Bronze in Inform 7, and Stephen Granade shipped Child’s Play, it proved that Inform 7 was a serious design system in which admirable authors could make sophisticated works of IF, and that IF players could read the source and understand it. That set the stage in 2008 for Violet and Blue Lacuna, and from there, Inform 7 had fully achieved community liftoff.

7 Likes