Looking for an engine that meets the criteria below

Welcome, dodge!

Just for the sake of clarity: you’re talking about parser-based interactive fiction, right? A “classical text adventure” where player types commands, as opposed to making choices by, say, clicking hyperlinks? It sounds to me like you are, in part because TADS, Inform, and Quest are all parser-based systems, but many people mentioning JavaScript are thinking about choice-based IF, so I wanted to be clear.

I think Inform 7 will do most of what you want, though you’ll need to use some extensions to get some of it. In particular, there’s at least one onscreen map extension, and people do write Inform 7 games with onscreen maps. (One of my favorites was Vain Empires from last year’s IFComp, which had a gorgeous map; there’s at least a littie bit of information in the linked article on IFDB about the extension used, and there’s at least one other automapping extension for Inform (I’m not sure if that last one works with current builds, though; you’ll note that I linked an old thread). I don’t believe it’s an easy thing to set up, but I’ve never tried to do so myself.

Inform 7 will allow you to keep track of stats and statuses in a flexible way, either by customizing the object used to model the world or just by storing relevant global variables (“values that vary” in Inform’s terminology).

Inform 7 has built-in support for basic conversation, but doing complex conversation stuff is, again, made easier by extensions. I myself like Eric Eve’s conversation extensions (Conversation Package for the whole collection at once; but Conversation Nodes can be used without dragging all of the others in, and is the single extension that most directly makes it possible to build a conversation tree). it’s built in a way similar to TADS-style conversation, if I understand correctly. There are other branching conversation extensions, though.

Inform will also happily create a website for you with a built-in interpreter that lets people play your published work directly from the website.

I cannot say whether there’s an easy way to get a constant inventory window in Inform, but suspect you could create multiple windows in a Glulx-type Inform project that would make this not too difficult. (I myself would find this annoying in a game unless the game really was doing something unusual – changing inventory a lot, or was otherwise heavily inventory-focused – but that’s just my opinion, and other people might feel differently, and I wouldn’t mind in a game that made it pay off.)

So the first two items are your list, as far as Inform 7 is concerned, are “yes, but there’s less precedent than for some other stuff, and you should expect to put some work into getting it going.” The answer to the other three bullet points is “Sure, no problem.” (Though writing a conversation tree is a surprising amount of work even with an extension handling much of the coding-based heavy lifting.)

I can’t speak nearly as much about TADS or Quest, so I’ll stay silent on those. Hopefully other people will come by to be helpful.

2 Likes