This spring, a friend of mine came up with an excellent gamebook made in Twine (now also on itch.io). At the time I appreciated not just the story itself, but also the way it worked around engine limitations to offer the player a character sheet at appropriate moments. And Kris isn’t the only one making RPGs in Twine, as I started to notice more recently. Which is a bit of a problem when using an authoring tool designed to display one passage at a time from a choose-your-own-adventure story, and not much else.
But what if I told you Twine has another face, one that allows you, with minimal effort, to make games with all the usual bells and whistles:
- a proper save dialog with multiple slots;
- more generally, a modal dialog system;
- graphical user interface elements;
- a fully customizable sidebar;
- toolbars and status lines.
It’s called SugarCube, and it’s as well-documented as it is powerful. Also heavyweight, which is why Twine 2 ships with the older, less capable branch in the package. For some reason, however, its capabilities aren’t well-known, even though plenty of Twine-using authors prefer it to the default Harlowe.
I got to this point largely by accident. Around the time Kris was launching Dragon Fate, I was working on my own concept for a gamebook/roguelike hybrid, where you’d have a linear chain of encounters — randomly shuffled — that you could handle with a mix of choices and skills, magic or equipment. That fizzled out for two reasons: I couldn’t figure out how to make it all actually work from a design perspective, and the thought of having to code an engine like that from scratch was daunting. So the whole thing was left to simmer over the summer.
Fast forward to mid-October, when one of my periodic surveys of authoring tools randomly led me to browse the SugarCube documentation more carefully and discover all those goodies. One evening later, I had an enhanced replica of my interface mock-up from six months ago. Another day, and it was a complete game framework ready to receive content. It won’t have the random angle anymore (Twine could do it, but it was a dumb idea), and because spells and such must be applicable in any situation they’ll be limited to stuff like turning yourself invisible or drinking a potion before making your next choice. No idea how the story itself will unfold yet, apart from the basic premise, but the theme should be strong enough to carry it for some distance.
You can change the format of a story at any time to see which you like best, but beware that everything will break except links between passages, which necessarily always work the same — otherwise Twine itself would break. You can also install third-party formats (you’ll have to do it to use SugarCube 2.x), and set a default one for new stories. More of them used to be floating out there; they may still turn up in searches.
Last but not least, in the course of writing this article I discovered that Harlowe does, in fact, support passage headers and footers you can use to add a status line and toolbar like in the screenshot above. Should have looked more closely. It’s curious, though, how this feature is virtually unknown to authors working in Twine. A sign, perhaps, that certain kinds of documentation are still lacking.
Hopefully this helps figure out your options a little better.
Three faces of Twine by Felix Pleşoianu is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.