I’ve already written one interactive fiction system, Quest - so why create another? It was while writing my first game Moquette last year that I realised I needed a simpler tool for the kind of interactive story that I was interested in writing. I wanted something that would let me sit down and “just write”, mostly getting out of my way.
So I’ve now created the tool that I wished I had back then. This version 1.0 release is intentionally very simple - it’s a command-line Python script that reads in a text file, and writes the output to the same folder. Here’s how to install Squiffy.
Game text is written using Markdown. Players click links to interact with the game. Unlike other systems, Squiffy’s equivalent of “nodes” or “pages” are split into two types:
An example might help to explain the distinction between the two.
You enter the room. There's a [chair] and a [table] here. You can go to the [[kitchen]]. [chair]: Just a chair. [table]: An ordinary table. [[kitchen]]: You enter the kitchen...
Here, “kitchen” is a new section, whereas “chair” and “table” are links in the same section. You can click the chair, and the chair’s description appears, but the table and kitchen links remain enabled. If you click the kitchen link, the table link is now disabled, as you’ve moved to the next section.
If this sounds confusing, don’t worry - you can build you game entirely out of sections, and it will play as a traditional multiple choice game. But by including passages, you could create works that have a bit more of an exploratory feel. If Moquette were written now using Squiffy, I could use sections for each train, and passages for interacting with people in the same train carriage, for example.
A player’s progress is saved automatically to the browser’s local storage. They can close their browser tab, and the game will be restored immediately when they come back.
Instead of “big bang” releases, the plan is to improve Squiffy one feature at a time. We will build up to a web-based editor over a series of what will hopefully be relatively frequent releases. For the plan, see the Development Roadmap.
For full details on using Squiffy, see the documentation.
Ever since Quest was made open source back in 2010, we’ve been using CodePlex, which is Microsoft’s open source project hosting site.
Now in 2014, even Microsoft isn’t using CodePlex any more - all their open source ASP.NET is on GitHub, for example.
So CodePlex has been feeling a bit dead, but even worse, it’s been a bit buggy over the last few months - frequently giving me authorisation errors when pushing to the Mercurial repository.
I’d stuck with CodePlex and Mercurial for a while because Git tooling on Windows was always kind of horrible. Fortunately, that changed when GitHub launched GitHub for Windows, which finally makes it easy for just about anybody to use Git.
So I’ve now migrated Quest over, and the source code now officially lives on GitHub at https://github.com/textadventures/quest.
All issues from the CodePlex Issue Tracker have been migrated too. Please log all bug reports at GitHub from now on.
Finally, nobody had ever heard of the Ms-PL which Quest was previously licensed under. I kept having to say it was “just like the MIT licence”. So I’ve updated that too, and Quest is now officially licensed using the MIT licence. Nothing has really changed - you can still do pretty much what you want with the Quest code, including using it within closed-source projects - but hopefully it’s just a bit clearer now.
This talk was given at the London Educational Games Meetup on 28th May 2014.
I’ve done an “annual review” at around this time of year for the last few years, so it feels like a good idea to do it again, one last time. For reference:
This is the last time I’ll do an annual review because I am no longer working on Quest and textadventures.co.uk full-time. The good news is I’ve just started an absolutely awesome job at Stack Exchange, and for pretty much the first time ever I am thoroughly enjoying being employed.
textadventures.co.uk has grown quite a lot over the last year:
Some things that happened since the previous annual review
June 2013: Wrote up some thoughts from the Futurebook Innovation Workshop, and started accepting games built with Twine, Undum, Parchment etc.
August 2013: Added more games to the site by accepting external listings for web-playable text games.
September 2013: Wrote up some notes from the Publish 2013 conference. The IFComp games were released, including my very own first work of interactive fiction - a story set on the London Underground called Moquette.
October 2013: Enrolled on the 3-month Story Innovation Programme, experimenting with stories and technology with a whole bunch of interesting people.
November 2013: The IFComp results were in, and I wrote a two-part analysis of Moquette - part 1 and part 2. I also wrote a three-part series of blog posts looking back at 15 years of Quest - part 1, part 2, part 3. Meanwhile, as part of the Story Innovation Programme, I started work on an experimental interactive fiction project as part of a brief we had been given by book publisher 4th Estate, to come up with something to promote the forthcoming “Annihilation” by Jeff VanderMeer.
December 2013: After failing to get funding to continue with Quest and textadventures.co.uk full-time, it was time to start thinking about moving on. I didn’t let the knock-back stop me from released Quest 5.5 Beta though. The Story Innovation Programme came to an end, and we demonstrated our prototype to 4th Estate, who liked it enough to want to see it turned into an actual thing.
January 2014: Mostly job-hunting, really.
February 2014: After finally getting the go-ahead from 4th Estate, I spent most of the month working with Caroline Moran, Simon Mercer, Martha Henson and Sam Howey-Nunn to build our interactive experience Join The Southern Reach, which launched at the end of the month.
Good, but not good enough
I think there are a lot of positive aspects to what’s happened over the last year, but ultimately none of the major projects were as successful as I’d hoped.
What next for Quest and textadventures.co.uk, then? They are back to being spare-time projects, which is a relief in many ways as I no longer need to worry about how on earth I might make money from them - giving me a lot more freedom to just pursue the aspects I’m interested in.
textadventures.co.uk is growing, getting more visitors and receiving more submissions. Managing this is an interesting challenge. How should we highlight and encourage good games, how can we help people to post useful reviews and comments?
It was with this in mind that I started work on Squiffy, which is pretty much the system that would have needed to exist for me to have been able to write Moquette as simply as possible. I haven’t really announced it much yet, and there’s still some way to go before it’s really usable.
I will continue to accept any pull requests that are sent my way for Quest, but I can’t see myself doing anything too major on it in the future.
The wider world of interactive fiction continues to grow and change. Inkle seem to be doing very well, people are still making stuff in Twine, the IFComp is changing, there are new meetups like the Oxford and London Interactive Fiction Group. This is all very encouraging, but maybe over the last year I’m just not seeing the acceleration of change that I was expecting. I used to be convinced that interactive fiction could grow to become much more mainstream than it currently is, but now I’m not so sure at all.
So it feels like the right time for me to be putting interactive fiction projects back into the time-slot marked “hobbies”.
QuestComp is back, and Evan Williams is once again organising the competition.
For details - rules, dates, guidelines and the all-important theme, see the new QuestComp blog.
To get a feel for the competition, check out the games from last year’s QuestComp.