RECOMMENDATION REQUEST: The Future of Interactive Fiction

The learning curve for Zil / Zilf is pretty steep. The available documentation is terse.

Your videos are a big help.

I hope to write at least a small game using Zilf for including in the Winter 2023 TADS Jam which is going to include Zilf games.

My understanding of ZIL is… ZILch. My impression is that Inform can create the same works with less struggle. Does ZIL offer anything unique for the tradeoff of its learning curve? Since the thread is about “the future” are you thinking that the future of IF lies in going back to ZIL? “Everything old is new again” and so forth?

1 Like

I agree with you, but it’s not that way for everyone. Some people would rather code and hate I7’s natural language interface. And some know I6 like the back of their hand. For me, I7 nearly as fun to write as it is to play.

ZIL is the language the Infocom Implementors used, so it’s like maintaining the old magick and that’s good for history, education, and experimentation.

2 Likes

OK, I wasn’t quite accurate when I said my knowledge was ZILCH. It is at least “I’m aware of what it is and it’s role in the history of IF.” :stuck_out_tongue:

I meant it in terms of “why would someone use it when Inform 6 offers what ZIL did, plus more?” That said, I can appreciate “keeping the old magicks alive”, absolutely. I mean, I cloned VisiCalc for fun last year, so I get it. But I personally have trouble seeing it as a future path forward for IF.

Count me among the “hate I7 crowd” for what it’s worth. lol I think that avenue was worth exploring, I retract this part: but I have a very difficult time seeing it as having proven itself.

2 Likes

Since its release in 2006, there have been 3 years an Inform 7 game hasn’t won the IF Comp. I’m having trouble imagining where the bar’s set if that doesn’t qualify as proving itself.

(I can understand lots of reasons one might dislike it. Anyone would be hard pressed to hate I7 as much as I hate PHP, but I certainly can’t deny the evidence that one can use PHP and succeed with it.)

3 Likes

Somewhat hilariously:

Looking at the poll again, it actually seems like it’s shaken out to be somewhere between ~55-60% of the people played their first IF game before I was born…

2 Likes

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