I have an idea for a game I would like to make. As I’ve currently conceived of the game, it’s important to have some kind of time tracking (not real-time, but x number of moves being equivalent to an hour of in-game time or something of that sort), and I would like to also have an inventory. Possibly I also want to track some other stats, though I’m not sure about that yet.
Now, all of this stuff I could do in I7 easily, but I’m making this for a game jam in a venue where I doubt many people will be familiar with parser-based IF, and I’d like to make it as accessible as possible to the other participants. As such, I’d like to make it… well, if not necessarily choice-based, at least hypertext-based. But the only system I’ve worked with in that area is Twine, and my experience of making Twine do any state-tracking more sophisticated than setting tokens to “yes” or “no” has been that it’s like trying to get through a wall by bashing your head against it repeatedly. With enough persistence (and, I guess, a hard enough skull) it’s possible, but boy, does it give you a headache. I mean, I know some people do amazing things with Twine, so this may be me and not it, but I felt like I was fighting with it every step of the way and even when I did get it to do what I wanted, it was still buggy for reasons I could not discern.
So I was thinking of trying to pick up one of the other systems for choice-based/hypertext-based games that works more from the base assumption that people are going to want to do complicated things, but I don’t know much about any of them, and I’d need to be able to pick up a working knowledge of it in less than a month. … Which, after that whole wall of text, finally brings me to the question that I’m here to ask in the first place: which non-Twine development system for choice-based IF would you recommend? Or does someone have a link to a good explanation of how to do the things I want to do in Twine? (… Or should I just give up and use I7 and decide I don’t care about all those losers who can’t get on with parser-based games?)
Let’s see, first thing that springs to mind is Quest. You can make gamebooks out of it and it’s an IF language so some world-modelling, like inventory, is possible.
You can make a choice game in I7. There’s an extension or two that gives you a framework, and it does all those other things you want. Your players (who can also play online) would be typing “1”, “2”, “3”, possibly “i”. You could put the options in hyperlinks, even.
Or you could look at Inklewriter. Tends to be overlooked somewhat, and I’m not at all sure that it can do turns/time, but it seems to be a good (if underused) system. I could be wrong, of course…
On the whole, though, don’t be too quick to discard I7,
Have you had a look at Squiffy? I haven’t used it myself yet, but it has turn counting built in. Next time I want to do a choice-based game that tracks any state, I’ll probably give it a whirl.
(Evidence that it’s not just you: I’ve had the same head-bashing experience with Twine. The last time I tried to write a Twine that tracked state I couldn’t even get my yes-no flags to work, and I wound up rigging things so that all the state-tracking I needed was accomplished by checking whether certain passages had been visited.)
It depends on what kind of state tracking you want to do and how much of it. Choicescript has good functionality for stat-based or characteristic-based narratives. Undum (With Raconteur, perhaps) doesn’t supply a world model but, if you’re familiar with web development or aren’t afraid to learn, it gives you direct access to the code such that you can implement whatever world model you want.
A thing about Raconteur (or Undum) for this kind of project is that you’re not limited to situations (analogous to Twine’s passages) that you define by hand; you can generate situations using metaprogramming. So if, for example, you have objects in your game you can create an examine/pick up situation for each one of them without having to define them by hand; and similarly, Undum’s tag-based way of connecting situations together favours those kinds of things to some degree.
Inkle has the most beautiful and accessible output (each story file has a static URL you give out) but the flags and state tracking might not be enough, especially the turn-count timing.
(I did an introcomp in Inkle writer.inklestudios.com/stories/5ggm)
You may wish to check out AXMA
Which is enough like Twine that you’ll get it fast, powerful, and finite in its feature set so you can get a handle on the capabilities right away. You can read the whole manual in 20-30 minutes.
The free version lets you export a complete HTML file to the online AXMA library where you can set it to private/unannounced, and then download the HTML for distribution. Paying the fee lets you export your HTML directly.
It has powerful features, nice templates, built in real-time timers, image and sound implemention, and even sprites…which I’m guessing are for something like a dynamic map. Variables, lists, text substitution, side menus. The text output is pleasant to read like an e-book and modifies display for a computer or a device very nicely.
It lacks the whacky text manipulation of Twine. They offer code for a robust inventory system for a fee, but you can make your own as well.
(I did an Ectocomp in Axma ifdb.tads.org/viewgame?id=70wywbixa57vy3sz)
What a bizarre way of doing things.
Thanks for all of your suggestions! So far Squiffy and Axma (neither of which I’d heard of before!) look like the most promising possibilities to me, although Axma’s freemium model gives me pause.
There is a google group for Axma, and while sometimes it takes a bit of time to get a response, the developers are generally very nice and helpful.