After growing disillusioned with parser-based interactive fiction, I wandered for a while searching for a choice-based engine that would suit me. Found a couple, too, and did good work with them. Trouble is, these engines are all too often bound to modern browsers, which makes them popular, but problematic. For one thing you must be online to play, in particular on mobile devices. And then, a text game requiring gigabytes of memory to run is just shameful. That's not progress.
More importantly, most of these engines originate in the Anglosphere, and it shows.
Well, there's an exception. First released all the way back in 2009, INSTEAD is a Russian engine with... many twists, really. For one thing, it runs on the desktop, or else natively on mobile devices. Then it's an original hybrid, that borrows from many worlds. That makes it seem quirky, but also enables a variety of different games.
Wait, Russian? No worries: the Instead homepage has an English version, and some of the sample games are also in English. Even better, as of last August the user manual, all 173 pages of it, has been translated as well, and reads surprisingly well under the circumstances. The public game library and community websites are all in Russian.
As for running it: Instead is available for various operating systems like Windows and FreeBSD, but I'm running it on Android and Debian 10. The latter is a bit of a problem, being stuck at the older 3.2.1 version, but oh well. Games are written in Lua and packaged into zip archives along with any assets. The manual teaches enough of the language for beginners to get a head start.
But what is it like? That's a complicated question. In some ways, it reminds me of the Elm Narrative Engine; in others, of my own Adventure Prompt. There's a world model with rooms, exits and items that you navigate by clicking or tapping links. Other features like minigames, dialog trees or using items on other items are more like in graphical adventures.
Visually, the game window is divided in two panes: the scene and the inventory. Well, "inventory": the latter can just as easily be used for status displays, a fixed command menu, or even collapsible areas. In fact, since items in the inventory are just lines of text, you can easily have an object called "examine" that you can use on anything else on the screen and get around engine limitations. Use your imagination!
For a first attempt, I tried to adapt my game City of Dead Leaves. It quickly became clear that it didn't fit the engine, so it was time for plan B: the even older Catch That Cat. And it clicked! As of this writing most of the game's first area is complete and working, with plenty of room to add extra interactions that made no sense in previous editions.
Speaking of which: by default, there are only four things you can do with an item. Those with a
tak attribute get picked up when you click on them; otherwise, if they have an
act attribute, they just do something in place (such as showing a description). Once added to your inventory, they can also be used on other items as mentioned above, and/or double-clicked to trigger the
inv handler. You can use that for dropping them again, or better yet you can make it show a description, and require using the item on a table or the like to drop it.
Other details I don't like as much, like the way exits are listed above the room description for some reason. Luckily scenery objects can be made to act like exits easily enough. And it's not clear how to work with decorations, or tags.
Those are quibbles however. Instead is fine: easy to get started with, flexible, and different. That matters. I might even be inspired to make a game with it that wouldn't have occurred to me otherwise. But first to finish this port and learn to work with pictures and sound in the engine.
I'll get back to you on that. In the mean time, give it a try, maybe. There's something in Instead for everyone.