Inform hosting on textadventures.co.uk

You can now upload games created with Inform directly to textadventures.co.uk.

Previously, you could upload an HTML game created using Inform’s “Release along with an interpreter” option, but now it’s even easier – you can now upload a .z5, .z8, .ulx, .zblorb or .gblorb file directly.

Just head to the “Submit a Game” link and submit your file. After uploading the file, enter a few basic details and hit Publish. That’s it! Your game’s listing page is created, where it can be played online (using Parchment) or downloaded.

When publishing a game, you can also choose to keep your game unlisted, which means only people you give the link to will have access.

If you upload a blorb file that includes cover art, that will be automatically added to your game listing.

Squiffy 3 – a new web-based editor for interactive fiction

The third release of Squiffy is now available. The big new feature in this version is you no longer have to download anything!

Previously, the only way to use Squiffy was by creating a file in a text editor and compiling it from the command line. You can still do that, but you can now just use your web browser instead.

In-keeping with the philosophy of trying not to do too many new things in any one release, this first iteration of the editor is intentionally very simple. It’s pretty much a text editor in the cloud, with a few Squiffy-specific bells and whistles to make editing a game easier.

Squiffy Editor

You can use the editor without logging in, in which case all changes are automatically saved to your browser (and are automatically re-loaded the next time you come back). Or if you’re logged in, you can hit the Save button to sync your game to your account, so you can access it from anywhere.

You can publish your game directly to textadventures.co.uk, or you can export it as HTML and JavaScript to upload to any website (or even wrap with something like PhoneGap to turn it into a mobile app).

As you create sections and passages, the drop-down lists above the editor automatically update. These provide an easy way for you to find your way around your game.

When you run your game, it appears on the right-hand side of the screen, so you don’t need to switch between tabs or windows.

If you set attributes in your game, you can keep track of them by looking at the pane at the bottom of the screen, which logs all attribute changes.

Try it out now at http://textadventures.co.uk/squiffy/editor.

Open source, of course…

Both Squiffy and the editor are open source and on GitHub:

For Squiffy 4, I’m planning to wrap this HTML-based editor with Electron (formerly Atom Shell), to create an offline downloadable app that will work on Windows, Mac and Linux. After that, we can start fleshing out the editor with more features – a graphical overview of your game’s sections would be an important feature, I think. I’m open to more suggestions!

Enjoy! If you have any questions, post in the forum or ask at IF Answers.

IF Answers – a Q&A site for Interactive Fiction

I’ve wished we had a Stack Exchange site for Interactive Fiction for years now – that is, a site where questions and answers can be voted on and edited by the IF community (like Stack Overflow). There was a proposal on Area 51 back in 2011, and another one in 2014. Both got quietly deleted after the initial interest faded away. Yet I believe the community has enough people in it, with enough questions, that a Q&A site would be a well-used and really valuable resource.

We have a chicken and egg problem though with the way the Area 51 process works. Prospective community members have to be persuaded to express interest in a site that doesn’t exist, and work out up-front what it might look like, before anything gets created. If they’re not heavily involved in other Stack Exchange sites already, that seems like a bit too much to expect.

I think an IF Q&A site would only gain momentum after it started existing, but there aren’t enough of us who really “get” the idea yet to get one started via the Stack Exchange Area 51 process. (And even though I happen to be an employee of Stack Exchange myself, I have no influence over what sites get set up).

Over the weekend I was upgrading phpBB on textadventures.co.uk, and remembering how much I think forums suck for getting answers to questions. Plenty of people ask questions about Quest in its forum, but I don’t think it’s the best solution.

After a tiny amount of research I came across an open source platform called Question2Answer which allows you to create Stack Exchange-style sites. It’s pretty easy to set up, so after a very short time I suddenly found myself having set up a new site called IF Answers.

We’re just getting started, but I think we’re doing pretty well in fleshing out the site with questions and answers even after only a couple of days.

Questions about Quest, QuestKit, Squiffy, Inform, Adrift, TADS, Twine etc. are all on-topic. Non-technical questions about things like IF game design are on-topic too, as are questions about specific games, questions about entering the IF Comp etc.

Check it out at ifanswers.com. Please help us with populating the content – answering your own questions is allowed (even encouraged, especially as we get going).

Open-sourcing “Moquette”

A year ago, I released my first work of interactive fiction “Moquette” into the IFComp.

Today, I’m releasing the source code for it: https://github.com/alexwarren/moquette

It might be useful if you’re interested in implementing similar text effects in your own Quest game – if so, this blog post may also help.

Or who knows, maybe you’d like to adapt it – fix up the writing, change the ending, whatever… you can now fork it and do what you like with it.

The commit history goes all the way back to when it was a very primitive London Underground simulator, so you can see how it evolved over time. You can see the bursts of activity on GitHub’s commit graphs, which give some indication of the ebbs and flows of my energy for writing.

I haven’t had so much energy for writing for the last year, though I’m kicking around ideas again. Who knows where they will end up. Perhaps we haven’t yet heard the last of Private Rod…

Squiffy 2.0

Squiffy 2.0 is now available. Just like Apple’s “Snow Leopard” release of OS X a few years ago, this release of Squiffy boasts an amazing 0 new features.

0 new features

 

Why no new features? Because Squiffy releases should only do one thing at a time, and this release is all about rewriting the compiler to use Node.js instead of Python.

This does make installation simpler, as Squiffy is now an npm package. To install Squiffy, you just need to install Node.js and then run

npm install squiffy -g

That’s it!

Everything else is the same as before, with the possible exception of there being a different set of bugs now. If you spot any, please log them on GitHub.

You can find out how to use Squiffy by looking at the documentation, and the Squiffy 1.0 blog post’s overview is still up-to-date except for the reference to Python.

Quest 5.5.1

Quest 5.5.1 is now available.

  • Containers can now be locked using multiple keys (contributed by Pertex)
  • Gamebooks can now have a script that runs for every page (contributed by Pertex)
  • New Grid_DrawImage function to draw an image on the custom drawing grid
  • New Setup uses InnoSetup instead of InstallShield, and has a smaller file size

Various bugs have been fixed by me and Pertex. In particular, there were a couple of bugs with timers that meant they used to work unreliably, particularly when playing a game on the web. These have now been resolved, so if you were avoiding using timers, please try them again!

This release is now live for the web version of Quest, and you can also download the Windows version.

Please log any bugs you find on GitHub.

Squiffy 1.0

Squiffy is a lightweight tool for writing interactive fiction. It is open source and runs on Windows, OS X and Linux. It generates static HTML, CSS and JavaScript files which you can upload anywhere.

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:

  • Sections which move the story forward
  • Passages which provide a way to further explore or interact with the same scene

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.

Squiffy also makes it easy to use JavaScript. Any section or passage can embed JavaScript, simply by indenting code before the text. This would be useful for Moquette-style transitions – here’s an example of a screen blackout between sections.

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.

You can save state in attributes, replace text, and make links that replace themselves.

For publishing your game, you can upload it to any web space, or submit it to textadventures.co.uk. You could install PhoneGap or upload it to PhoneGap Build to turn it into an app.

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.

I hope you will give it a try and give me your feedback in the forums!

Quest is now on GitHub

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.

How am I doing? The Quest and textadventures.co.uk Annual Review 2013/14

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.

Some stats

textadventures.co.uk has grown quite a lot over the last year:

  • It currently averages around 1500 unique visitors per day, up from about 800 a year ago.
  • Over the last week, there were on average 2150 game sessions per day, which is up from 480 per day. (That figure was the average over 2012/13, so is not exactly equivalent – the site grew over 2012/13 too, so the daily average by the end of 2012/13 would probably have been a bit higher).
  • There are currently 3693 games listed on the site, up from 980. Of these, 2536 are publicly available (the rest are private “unlisted” games only available to those who have been given the link).
  • Of the games on the site, 2752 are Quest games, of which 1671 are public. So, there are 941 non-Quest games – which is up from zero a year ago, as during this year support was added for all kinds of web-playable text games. 503 of these non-Quest games have been imported from IFDB (more will be added soon).
  • 24,548 games have now been created using the web version of the Quest editor since it was launched, up from 7300 last year. 1766 of these have been published, up from 331.
  • Of the 1751 Quest games added since 1st April 2013, 1334 were created with the web version of Quest – 76%. Last year it was more like 50%.

Some things that happened since the previous annual review

May 2013: Released Filbert and the Broccoli Escape – an interactive children’s book for iPad, and the beta of ActiveLit. I also spoke a bit about text adventures at GameCamp.

June 2013: Wrote up some thoughts from the Futurebook Innovation Workshop, and started accepting games built with Twine, Undum, Parchment etc.

July 2013: The first QuestComp competition finished. Open-sourced QuestJS, the Quest-to-JavaScript converter. Wrote up some initial thoughts about Quest 6, although my thinking has changed somewhat since then – carry on reading this post for my current thoughts.

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.

March: Released Quest 5.5 and started my new job.

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.

  • ActiveLit, the site I set up for schools using Quest in the classroom, has got off to a fairly slow start. It is getting signups, and there are other groups (presumably schools) which I can detect using the main site, but it seems like the energy has waned somehow – I used to see blog posts and tweets from teachers getting excited about the potential for text games in the classroom, but I don’t see this very often now. I haven’t been invited to an educational conference or asked to run a workshop for a while now either.
  • Moquette did OK in the IFComp – not terribly, which was a relief for my first game, but it hardly set the world alight. I still judge this a successful project though – it was my favourite thing I worked on all year and certainly the most challenging. It taught me a lot about writing interactive fiction, and I got to see Quest in a whole new light. It’s good to remember the importance of “eating your own dogfood“.
  • Join The Southern Reach is pretty good, I think, but it has attracted very few users. I had big hopes for this as it’s something I’ve wanted to do for a long time – a project with a traditional publisher. I got to focus on the coding, leaving other people to worry about the actual writing, the marketing, and so on. It got on to BoingBoing, yet it has had fewer players than Moquette. It shows that even if a project is backed by a publisher and an author with an existing fan base, that’s not enough.
  • I suppose “seeking money” was the other major project of the year. We came tantalisingly close with Emerge, but not close enough.

Where next?

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?

Quest itself seems less interesting to me. The textadventures.co.uk site is now bigger than Quest, as it now accepts submissions from all web-playable systems. And it feels to me like I don’t have much more to contribute to Quest itself – I’ve pretty much reached the end of my mental list of things I’d like to do with it. Significantly, in writing Moquette I came to the realisation that Quest isn’t actually working for me as an author. It’s too big and complicated, it tries to do too much, and the HTML/JavaScript aspects of it are not as flexible as I’d hoped. (I had to do a lot of hacking around to make Moquette, which is largely why the 5.5 release of Quest exists).

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”.