Wondering About Serious IF Applications

Given that IF has its roots in gaming, the projects I see are either gaming based or creative writing based. I am curious to know if anyone knows of any IF project that has a non-entertainment based objective. Is the project serious and in-use, or is it a concept that someone is twiddling? If so, why was IF chosen over the many other methods of experiencing information?

If it’s not clear what I’m asking, a sample answer might be like this:
“We use an IF interface to help guests find books in our library. There are other methods of doing this, but we have found that our specialized customer base feels most comfortable exploring the virtual library by text. Also, our librarians can easily update the system without the use of an expensive programmer.”

If this has been discussed in another thread, feel free to point me to it. Is there a site where several of these kinds projects are posted?

After thinking about this question, I realized I’m asking about interactive non-fiction. So, this is probably an off-topic post. If so, let me know and I will certainly delete it.

No, it’s on-topic as long as you’re asking about the kinds of tools and design problems that are discussed around here. Although “serious” is probably the wrong label, one way or another.

If you’d asked about “non-fiction IF”, nobody would even have blinked at the implicit contradiction in the label. :slight_smile:

I don’t have much of an answer, other than the old standard of “using IF to present a historic or educational environment.” (1893: A World’s Fair is the classic in this area.)

Textfyre was an attempt to leverage IF as a multi-discipline connected learning platform, but we were never able to build a real prototype. This was the impetus for fyrevm-web, so we could build a platform out of an IF engine.

I’ve had other ideas. Using Inform 7 as a rules engine of sorts. Also as a knowledge base platform. I never explored these ideas though.

If you leave just a menu or parser interface, it’s already everywhere. From robo-assistants to library wizards. Linux console allows you to link “ls” to “examine”, “cd” to “go”, “look at home directory” to “inventory” etc.

The set of classic world-building rules itself is not very useful outside of fiction. Things you put in/out of containers is a metaphor that can be mapped to files, okay. Things you wear is a metaphor that can be mapped to user flags, like “wear an admin hat / take off the admin hat”. Then there are verbs like “jump”, “sit”, “open (door)”, “talk”… I don’t know what to do with them.

Possibly the “adventure shell” and such:

ifarchive.org/indexes/if-ar … hells.html

Yeah, it seems like it is well suited for that sort of thing. Definitely it could be a tool for teaching by immersion and play. I have been curious about the idea of a help-desk guide that uses NPCs as helpful guides. It would have virtual objects that correspond to real-world products and allow the customer to interact with them. I don’t know. Probably much better tools out there.

I was thinking more about the free-form style of interaction that IF offers. I am slowly becoming aware that contemporary IF seems to limit the player by providing clickable links and menus, eliminating (what I consider to be) the fun of guessing what to do in a particular situation. Given that, we could probably say that nearly any web page is a form of interactive storytelling. So, you make a fair point. In most real-world situations, the user doesn’t want to be guessing what to do, so it makes more sense to provide him with a web page than a command line. Hmm.

1 Like

There are also a few things like the Oz Project:

Which is/was a project to create more “literary” IF (I may be missing some nuances of the goals), which they dubbed Interactive Drama.

Oooooooh, what a wonderfully shiny rabbit hole! Thanks. :smiley: :ugeek: :smiley:

I created a trouble-shooting guide in Twine so users could go through a series of steps to diagnose and solve simple IT problems where I work. I am not sure if anyone has ever used it though…

That is such a good idea. We had a database set up to walk through a troubleshooting wizard, but it was too difficult to maintain. Twine would have been a much better option.

Andrew Plotkin aka zarf once made a LISP tutorial for the Z-machine, which apparently involved writing a whole Scheme interpreter in Inform 6. How “serious” this is, it’s hard to say, but certainly worth noting.

(And now I’m wondering if any IF has ever been written in LISP? The language of Emacs, AI, and, to hear some people talk, preternatural beauty - it seems like a natural fit in some ways.)

Eliza was ported to Lisp in the late sixties or early seventies. Of course, Eliza would not have qualified as IF in the age of Infocom, but I think it would’ve ranked highly in a modern IFComp.

ZORK was written in MDL, and all of Infocom’s published games were written in ZIL. Those are definitely LISP dialects.
Another IF LISP is AdvSys, though there aren’t very many games in it.
There’s also the famous case of Dunnet.

I wouldn’t call ZIL a LISP dialect. The source code is built out of LISP data structures, and compiled with a LISP-based compiler. But there’s nothing functional-programming or list-processing about ZIL. No lambda, no cons.

I wouldn’t go that far. Here’s part of ZILF’s library, pronouns.zil, which uses FUNCTION and MAPF to process a list using a lambda, and there’s even a call to CONS in there. There’s similar code in Advent, specifically the maze and the hint system.

Now, it’s true that those calls aren’t compiled into Z-code. They run at compile time, generating tables and routines that will eventually become Z-code. But they aren’t part of the compiler, they’re part of the game, and any author working on a complex ZIL game can benefit from writing code like that to tailor the language to the game.

I’d distinguish ZIL as Infocom used it from modern ZIL. But, now that you point it out, the minizork ZIL code has a couple of MAPFs in there. So yes – I overstated the case there.

(Is there a current downloadable location for the minizork ZIL code? I have it lying around, probably from the PAX USB incident, but I don’t know if someone who goes looking can find it out there.)

One of my co-workers spent a lot of time and frustration in Java making a website that was essentially a customer-service callflow script with pictures - she was also doing some tricky drop-down box choice things and radio buttons. I kept thinking “I could whip out an HTML that does that in a day with Twine or AXMA.”

And it would have looked a lot better and been more responsive than hundreds of separate web pages. I love the default complete UI ASM provides. axma.info/ru/manual/