Monthly Archives: December 2012

Thoughts on interactive storytelling and The Hobbit

I recently did a talk at AdventureX where I attempted to set out some kind of vision for the future of text adventure games as a rich interactive story medium. This was filmed, so hopefully I will be able to put up a link here soon. I’ll also rework the talk as a blog post (or several) in the near future.

I’ve been thinking a lot about the text adventure format recently, about what kinds of experiments can be done, and what kind of story I could tell using my own software – it is a source of slight shame to me that I’ve been working on Quest for over 14 years now, and yet never released a game using it! This is something I hope to address in the near future. There was much food for thought for me as I watched the other talks at AdventureX, and I’ve found myself with a renewed energy to try and finally get together a game of my own.

Talking of experimentation, Peter Jackson has just released the first film of “The Hobbit” trilogy, and there has been much discussion of his use of a new 48fps format, which is perhaps a bit too realistic for a lot of people. There’s a suitably epic discussion on Vincent Laforet’s blog, which I found interesting despite not really caring that much about filmmaking – and having no interest in Tolkien at all (or perhaps just an insufficiently lengthy attention span).

I think there is an interesting lesson here that applies across all art forms – film, theatre, books, stand-up comedy, interactive fiction. I dabbled in stand-up comedy myself a few years ago, within the safe confines of a course, and one of the only real things to learn about stand-up (the rest being a matter of practice as you can’t teach somebody to be funny) is that “if it doesn’t add, it detracts”.

It takes a lot of effort to refine a one-liner by removing as much extraneous detail as possible, to deliver maximum impact. Most comedians don’t do one-liner “jokes” as such, but still much of the humour comes from what is left unsaid – and the audience putting two and two together in their own minds is a big part of what makes comedy pleasurable.

I often find myself left a bit cold by big budget special effects and CGI in movies – I can have a much more absorbing experience in a theatre, which is usually a lot less “realistic” than anything you can see in a film. I recently saw a production of The Curious Incident of the Dog in The Night-Time at the National Theatre in London, and the clever use of the theatre space with choreography and simple props told the story in a highly engaging way. It wasn’t trying to look like exactly the same as the events it was portraying – but that didn’t matter at all. Eight boxes do not look anything like the seats on a train, but as human beings we are highly skilled at suspending disbelief and piecing together our own internal visualisation of a story.

Which makes sense, right, because as a species we’ve been telling stories to each other for thousands of years. When cavemen set around a fire to share ancestral myths, they may have put on voices and waved their arms around, but they certainly didn’t have moving pictures or 3D glasses. Our brains have evolved to take the important parts of these stories and fill in the blanks perfectly well without these technological add-ons.

So it doesn’t really surprise me that when people watch a film in 3D at 48fps, it doesn’t add anything to the experience over the old-fashioned 2D version. If anything the extra visual detail just requires more brain processing, which probably hinders our brain’s ability to do all the other processing it needs to do during a movie, like remembering who all the characters are and what drives them – the things we still can’t see no matter what technology is available.

The human brain is great at shortcutting and making assumptions. That’s how we perceive a vivid, full-colour, 3D depiction of reality, when in actual fact the eye can only clearly focus on small parts of our visual field at any one time, and the brain fills in the rest. This is what leads to interesting phenomena such as change blindness, and our mental shortcuts are what enable magic tricks to work.

So perhaps that is what is missing from The Hobbit – too much detail and too much realism simply don’t let magic work.

All of which gives me much optimism about the future of text adventure games, or interactive fiction if you prefer. Too much visual detail is certainly too much, but if you can tell a story around a camp fire, it seems there is no lower bound – we can do very nicely without any kind of visual detail at all. Words work fine.

The slickness of a modern text adventure game will come from an intuitive user interface, and a story that doesn’t put up roadblocks to the player – something Jon Ingold was talking about at AdventureX in his talk.

We already have the technology to create highly engaging, accessible interactive story experiences that will have mass appeal and can be played on any device. I’ll certainly be trying to create my own over the Christmas break – why don’t you have a go too?

"Escape from Byron Bay" now available for iPhone and iPad

The text adventure game Escape From Byron Bay is now on the App Store.

Available on the App Store

The game is written by Allen Heard, a teacher from Wales who wrote the game as an introduction to interactive fiction for his Year 8 class.

It’s the game I’ve been using when running Quest workshops – it can be completed within about half an hour by children who have never played any kind of text-based game before.

It will run on any iPhone, iPad or iPod Touch running iOS 4.3 or later.

This is the second Quest-powered iOS app, the first being The Things That Go Bump In The Night which was released last year. Over the next few months I’ll be releasing even more games into the App Store, and Android versions too, so look out for more games coming soon!

Text Adventures on Tablets

This is the first text adventure app I’ve released that resizes properly to fit the iPad screen, and I think it works nicely. With hyperlinks and a dismissable on-screen keyboard, the tablet is the natural home for interactive fiction – it makes the idea of playing a text adventure on a desktop computer or laptop feel like the kind of niche activity it has always been, until now.

Interested in writing your own game?

Any game written with Quest can be turned into an app – see the Quest Apps Guide for more information. I really want to bring more high quality games to the app stores, so please contact me if you have any questions or if there’s anything I can do to help.

Quest 5.3 Beta is now available

You can now download Quest 5.3 Beta for Windows. This release features a number of enhancements – improvements to the look and feel of games, a few new things you can do in games, some additional script functions, and general improvements to make Quest just that little bit easier to use. And of course, quite a few bug fixes.

If you’re a user of the web browser version of Quest, stay tuned – you’ll be able to use Quest 5.3 Beta in your browser soon. Update 5th Dec: The web version of Quest is now running v5.3, so try it out!

Read on for all the details about what’s new, or download Quest 5.3 Beta now.

Improving the look and feel

One of the things that’s been annoying me lately is a prevailing attitude that somehow text adventure games are just a retro thing, that the way a text-based game should look is as though it comes from a mid-80’s DOS prompt. Well, I think the future of interactive story games is much richer than simply displaying a load of black-and-white text with a command prompt underneath – we have barely begun exploring the user interface for this kind of game. They are still new! The oldest text adventure game was released less than 40 years ago. We had not discovered everything there is to know about film making by 1940 either, and their growth was somewhat more rapid, without the whole being-pretty-much-forgotten-about thing to stymie development. The power that HTML gives us in every computer, tablet and smartphone is immense, and this is something text-based games should be tapping into and experimenting with.

So let’s forget the “ZOMG text adventures that’s so retro LOL!” nonsense and start to build something other people will actually give a crap about.

With that in mind, one of my aims for this release was to start to make it easier for authors to completely customise the game player interface with HTML and JavaScript. One problem with this was that up until Quest 5.2, there were really two separate UIs – when you play a game in your web browser, the UI is 100% HTML, but the desktop version of Quest rendered the Inventory list, Compass pane, input box etc. using standard Windows forms controls. This meant that the game looked a bit different and didn’t offer the ability to customise any of the Windows form elements.

So, the web version of the player UI has now been brought to the desktop version. This means that the entire game playing interface is pure HTML, and the game looks the same whether you play it in the desktop version or in the browser. With custom JavaScript and HTML, you can now do things like implement your own version of the Inventory pane, add your own panes, change the screen layout, create your own input method… and who knows what else. It also means that any enhancements made to the standard interface in future versions will apply to both desktop and web versions of Quest – any built-in “easy customisation” functionality would apply to both.

Furthermore, the desktop version of Quest is no longer dependent on the version of Internet Explorer that is currently installed. Instead, Quest bundles an embedded version of the Chromium browser. This is the browser that underpins Google Chrome, and is based on WebKit (which is also behind Safari and the default Android browser). This means you now get access to the Chrome Developer Tools directly within Quest – so you can play around and see the effects of tweaking HTML while a game is running.

Chrome Developer Tools in Quest

Quest 5.3 starts us down the road towards doing more innovative and exciting things within a predominately text-based medium. Of course we’re not fully where I want to be yet, and one of my focuses for Quest 5.4 is to extend the customisability of the UI even more, to make it even easier to try out interesting ideas. Keep on eye on the blog, as I’ll be documenting any experiments there, and please do contact me if you have any ideas!

Other new improvements to look and feel include:

  • Grid-based map (sponsored by Phillip Zolla) – as detailed in this separate blog post. This is an initial release of mapping functionality, so it’s fairly basic at the moment. Future releases will add support for images in the map, and a visual map editor.

Grid-based map example

  • Google Web Fonts. You can now choose from over 600 different fonts, and they will be downloaded on demand.
  • Cover art. You can now add cover art to your game from within the editor, and some game authors have kindly provided cover art for their existing published games. This is currently displayed in the game browser, and will soon be shown on the website too. Hopefully this will be a nice way of attracting more people to your game, and maybe provide something of an idea of the game’s feel and atmosphere.

Displaying cover art in the game browser

  • Text effects. There are new “typewriter” and “unscramble” text effects available from the new “Effects” category in the script editor. They are pretty basic JavaScript effects and work best with a monospaced font. It would be nice to expand this to a more fully featured library in the future as this is really the tip of the iceberg for the kinds of things that I think JavaScript could bring to text adventure games.
  • Background images. You can now specify a background image as well as a background colour, and you can also set the opacity for the section of background image that appears behind the game text. You could try the Subtle Patterns website for some nice backgrounds.
  • Redisplay hyperlinks in commands. When using object hyperlinks, the command output now has the same hyperlink in it so the player doesn’t have to scroll up again to do other things to the same object. As with most things, as a game author you can turn this off if you don’t like it (indeed you can turn off hyperlinks entirely if you want).

Showing hyperlinks for a command that has been entered

  • And more. Customisable object link colour (sponsored by Phillip Zolla), more room description options (by James Gregory), choose a different alias to display on the “Inventory” and “Places and Objects” panes (sponsored by Phillip Zolla), use “ul”, “ol” and “li” tags to show numbered and unnumbered lists (sponsored by Phillip Zolla), background sounds for gamebook pages (by Pertex).

Game behaviour – new things

  • Changable POV (sponsored by Phillip Zolla) – as detailed in this separate blog post. I’m looking forward to some interesting games where you can take control of multiple player characters over the course of a game.
  • Light and dark rooms, light sources (by Pertex). Rooms can now be dark, and lit up by a light source object.
  • Scenery/Invisible exits (by Pertex). It’s now easier to make exits appear or disappear using a script command, and you can also have a “scenery” exit which exists but is not displayed in a room description.

Script improvements

  • Mathematical functions. The .net Math functions are now available to expressions – including Sin, Cos, Tan, Ceiling, Floor, Log, Sqrt.
  • New sorting functions (sponsored by Phillip Zolla). Sort an object list by attribute with ObjectListSort(list, attributes…) and ObjectListSortDescending(list, attributes…). Sort a string list with StringListSort(list) and StringListSortDescending(list).
  • And more. Optional type parameter for “create” command (sponsored by Phillip Zolla), new GetDouble, HasDouble, ToDouble, IsDouble functions (sponsored by Phillip Zolla), names for temporary timers and turnscripts (by Pertex).

Making it easier

  • Automatic display verbs. By default, any verb you add to an object is now automatically added to its “Display verbs” list, so you don’t need to manually add it. This helps you to ensure that your game can be played without typing, as any custom verb you add will always be selectable from the object’s hyperlink menu.
  • Image previews in the editor. A small thumbnail is shown anywhere you can select an image.
  • Named character types (by James Gregory). Easier way of making a “named” character (e.g. “Bob”, “Dracula”) display correctly in a room description – this simply turns off the default prefix so Quest displays “You can see Bob” instead of “You can see a Bob”.
  • Editor automatically saves when you click Play. Being prompted to save all the time was tedious.
  • New toolbar when playing a game from the editor. Quickly return to the editor, or view the object debugger and log screens.
  • Game log (sponsored by Phillip Zolla). A place for outputting debug information, instead of writing things in-line with the game output.
  • Find/Replace enhancements to Code View (by Aleksandar Hummel). You can also search for text using a regex.
  • And more. Code view word-wrap setting is now saved (by James Gregory), “Source” column in the Debugger shows you which type an attribute was inherited from (sponsored by Phillip Zolla), sortable columns in the attributes editor (sponsored by Phillip Zolla).

It feels like I’ve been sitting on some of these enhancements for quite a long time, so it’s good to finally get Quest 5.3 out, even if it’s only in beta form at the moment. I’ve been busy for the last few months doing some contract work, which has now finished, so hopefully the frequency of updates will increase – until my money runs out again, that is!

Many thanks to Phillip Zolla, Pertex, James Gregory, Aleksandar Hummel and Jay Nabonne for code and contributions towards this release.

Please download Quest 5.3 Beta, and let me know what you think – and of course report any bugs you find! You can email me at, ask questions in the forum or you can find me on Twitter: