Last night the Oxford/London IF Meetup had a session on three tools, and I promised to write up some notes for the benefit of the people who weren’t able to attend.
inkle’s ink, the open-source, Unity-compatible language used by inkle for 80 Days and other projects. If you’re curious about ink and missed the session, there’s always Joe Humfrey’s GDC talk on the subject; but Jon also talked to us about The Intercept, the new free and open source ink/Unity game.
Jon was a bit apologetic about the fact that there is currently no specialist ink runner, meaning that if you want to create (say) an ink entry to IF Comp, you will need to use Unity to build standalone apps. But to me, this is also partly a selling point, in the sense that ink is designed to build custom, professional-looking apps and doesn’t constrain the author to something a bit bland.
Doing this doesn’t have to mean figuring everything out from scratch. What I hadn’t realized about The Intercept until that conversation — and it’s very useful to know — is that the whole Unity project is open-source, not just the ink script that goes into the game. This means that if you want to build an ink/Unity game of your own but you have very little Unity experience, you could download the whole thing and then copy or gradually adapt The Intercept‘s look and feel. (Also worth saying: a personal Unity license is free if you’re not making significant money from your projects.)
Edited to add: on Twitter, I learned about the existence of Blot, a rough and ready alternative Unity project using ink that has fewer genre-specific features than The Intercept. So you have options, even!
Personally I’ve found working with an existing Unity project to mod it into something of my own to be a great route into learning how Unity works, because it means I don’t have to tackle understanding every type of asset at once. So if you’re in the same boat, that might be a way to get an ink game functioning, and then later you could start to figure out things like changing the fonts and presentation. (If you want to! Because it’s open source, you could just keep the way it looks, too.)
Indeed, you may want to play The Intercept even if you have no interest in using ink yourself: it is a short piece, short enough to play through (if not necessarily win) in 5-10 minutes, and it makes interesting use of the conversational options, as in the above example. Especially early in the game, we’re offered the chance to lie without really knowing ourselves what the truth is; and I found myself hesitating over whether I wanted to take the course that seemed safest or whether I wanted to steer towards the option that might reveal most about the story. Did I trust the protagonist, or not?
James Long talked about his play-by-email system (slides; James’ previous interview about the system, from earlier in its development) developed for his Kickstarted game TOP SECRET. This system provides for a branching narrative in which the player’s responses are determined by picking keywords out of email they send.
Emails can be scheduled or time-delayed (and the times can be adjusted to reflect the player’s own time zone) so that you can tell a story where certain beats are keyed to time of day. If the player goes too long without replying to an email, you can also send follow-ups to nudge or remind them of what their choices are. (You would presumably want to apply this carefully so as not to make your player feel nagged by the system, but in an urgent situation it might be relevant.)
Another unusual affordance is that any given email exchange can trigger multiple followups, meaning that the narrative stream can split into several: you might get emails from two different characters, and your interactions with those characters could continue to branch.
In theory, of course, this means that you could get different parts of the narrative out of sync with one another, by answering one character a great deal but ignoring the other; however, because the system can react to the player ignoring an email stream, there are some provisions for getting the player to keep up on secondary strands if that is necessary to the plot progression.
But this also means that there’s world state variation that arises not only from what the player chooses to do but from in what order they choose to act, and which threads they’re pursuing actively. From my point of view this suggests some really interesting social/negotiation games where e.g. you might be motivated to try to stall one character while finding out something from another: for instance, if you have a job offer from X but you’re really hoping to be hired by Y, so you’re exchanging email with Y while trying to keep X warm.
It’s an interesting structure that’s not any of the usual forms of branching narrative but also not really quality-based narrative or any of the other exotica I talked about in my recent beyond-branching post. Multiple-thread CYOA, perhaps: it feels a little like parser games that make multiple puzzles available at the same time, yet it remains essentially a choice-based structure with strong narrative momentum.
Matt Thompson talked about a system (slides) he’s building around ideas from TV Tropes. His system uses deontic logic — saying what might happen and what must happen — to describe trope-based systems to work out what could occur next in a story; these systems are then solved using a descendant of Prolog to find what events can be valid next given these constraints.
So, for instance, in a classic murder mystery trope, we might say something such as
- The Villain must kill the Victim,
- Then the Victim must be found,
- Then the Hero must find evidence of the Villain,
- Then the Hero must accuse the Villain before the end of the Story.
(Apologies to Matt if I’ve mangled the syntax, but he is indeed using an Inform 7-esque English-language front end to expressing these pieces of logic.)
We might have several different tropes in play at a time expressing what the different characters could possibly do — or what they must do — and then these possibilities are presented as affordances for those characters. So if the player is playing as the Villain, her first affordance would indeed be to commit the killing. The system becomes more interesting when there are multiple tropes in play, possibly conflicting with one another.
There are various issues still to be solved here: how does the author skin this with something closer to a readerly experience? Is this even intended to produce something close to classic IF? How does it handle time scale differences, for instance if one trope applies over the course of a few minutes and another has requirements that describe an epic journey?
And something that only occurred to me later: would there be a viable game in which players go back and forth adding new tropes to the solver and watching the story reform around what they’ve just done? Perhaps with the aim of making their particular character seem more like the hero, or perhaps with some other more artistic purpose. But I find myself amused by the idea of a game where the actual gameplay moves consist of things like “The Villain is an Obstructive Bureaucrat, so she may Deny Applications.” Committing to a particular trope would then mean that you had to live with all the implications later on. (This is probably a silly idea.)
2 thoughts on “Notes on New and experimental IF Tools”
Thank you for the writeup! I had wanted to go, but unfortunately Other Things in Life beckoned; Matt Thompson’s tool looks very interesting.