Category Archives: Quest

Introducing Quest WebEditor – create text adventures online in your browser

I was hoping to announce the world’s very first online text adventure maker – but, dammit! Playfic got there first, by a matter of days. So, what I am announcing today may be the world’s second-ever online text adventure maker, but it is also rather different to Playfic as you will see.

The Quest WebEditor is the world’s first online visual text adventure maker. It is (almost) the entire desktop version of Quest, but transplanted into a web browser. So, now you can create a text adventure game, with no prior programming experience, and without downloading any software. You have access to the full range of Quest functionality, including multiple languages, the ability to use hyperlinks in your game (to make it easier to play without typing), and the ability to embed videos, pictures and sounds for a modern text game experience (personally I’m fairly tired of text adventures being thought of as “retro” all the time – there’s no need for them all to look like MS-DOS).

Let me take you on a tour!

First, you’ll need to log in to textadventures.co.uk. You’ll then be able to access the “Create” page, which looks like this:

01 create

Enter a name for your game (you can always change it later), and choose a language.

Hit the Create button, and your game will be created. This is what it looks like in the editor:

03 blank game

This is a similar layout to the desktop software, and the full range of functionality is available – including cut/copy/paste and undo/redo.

The Settings button lets you turn on Simple Mode – as in the desktop software, this hides away some of the functionality to make it easier to get started.

I’ve renamed the initial “room” to “lounge”, and I’ve clicked the “+ Room” button to add another location to the game, a kitchen. Now, with the lounge selected, I can add an exit to the kitchen from the Exits tab:

05 create exit

I can add an object by clicking the “+ Object” button. Here I’ve added a sofa, and entered a text description:

06 add object

I can try the game by clicking the Play button. It appears in a new tab, using the same “play online” interface as the published games on the site.

07 play game

I can interact with the game just like all Quest games. There’s no need to force your players to type commands – the hyperlinks allow you to make a game which can be played with a click of the mouse, or a touch of the screen:

Here’s the game output after looking at the sofa, and moving east into the kitchen.

09 game

The real power of Quest comes from scripts, which let you control anything in the game – move the player, change responses according to what the player has done before, set up puzzles, show pictures and more. Back in the editor, let’s change the description of the sofa so that it runs a script instead of just displaying text:

Now we can click the “Add new script” button to choose from various options. This is the Simple Mode list – there is a much bigger list if we turn this off:

11 add script

Let’s play a YouTube video when the player looks at sofa. I choose “Play YouTube video” from the “Add New Script” dialog, and then I can enter a video ID. I found a clip of a TV sofa advert:

And here’s what the game looks like if we run it now:

13 play youtube

So there you have it!

This is currently in private beta – email me if you’re very keen to test it. Otherwise, I will make it available as a public beta in a few weeks.

Gamebook mode ("Choose Your Own Adventure") in Quest 5.2

I’ve started work on Quest 5.2, aiming for a release in the Spring. One of the first new features I’ve implemented begins to take Quest away from “pure” text adventures to open up another type of interactive storytelling – gamebooks, also known as Choose Your Own Adventure (CYOA).

The gamebook mode is fundamentally a simple alternative Core library, built on the Quest platform. This means that you can create games using Quest’s visual editor, include graphics, upload your game to be played online in a web browser, and have your game converted into an app – everything that a “full” Quest game supports, with the difference that it is much simpler to create and play a gamebook, as players are only given a limited set of choices.

To create a gamebook, the “New Game” dialog has been updated with a new “Game type” option:

The Editor for Gamebooks is simple – each game comprises a number of pages. Each page has some descriptive text, and links to other pages.

Pages automatically default to names Page1, Page2 etc., but you can call a page any name you like.

This is what a new gamebook (as shown in the Editor above) looks like when you play it:

That’s all there is to it – pretty simple stuff really, at least for this first version. There is definitely potential for adding functionality in the future – because gamebooks are not fundamentally any different from ordinary Quest games, the full power of Quest’s scripting engine is available. This means that different behaviour could be triggered based on the player’s previous choices, random elements could be added, YouTube or Vimeo videos embedded, and a whole lot more.

Hopefully this new mode will open up interactive stories to a wider audience – if a full text adventure is too much work, a gamebook is one way of creating an interactive story where you really can focus much more on the writing than the implementation.

Gamebook mode is part of Quest 5.2, which is currently in development. I’m aiming to release this around Spring, although there will be a beta version before then. If you want to try it out right now, you will need to build the code yourself.

Quest 5.1 now available

Quest 5.1 is now available.

The new version of Quest features the following improvements below (mostly copied from the beta announcement, so apologies if this is all familiar!)

  • Enhanced Game Browser. You can now see star ratings, and read reviews and comments, directly within Quest. You also have more control – from the Options window, you can change the download folder, and enable or disable the Sandpit and Adult categories. Also, the Adult category option can be “locked out” with a registry setting (see “Configuring Quest” on the wiki for details) – handy if you’re rolling out Quest on a school network for example.
  • Simple Mode. Hides Quest’s more advanced functionality in the Editor – great for beginners, or for using Quest with younger children. The Editor becomes stripped right down to the basics – only rooms and objects are displayed in the tree, without the distracting “clutter” of functions, walkthroughs and so on. The Script Editor is cut down so only the most important script commands are displayed when adding a command. But full power is only ever a click away – you can toggle Simple Mode on or off at any time from the Tools menu.
  • Walkthrough Enhancements. You can now include walkthroughs in published .quest files, and the new walkthrough assertions feature allows you to create automated tests. See Walkthrough Assertions on the wiki for details.
  • Loops. There is a new “while” loop, and a new step parameter for “for”.
  • Use/Give. These have been moved to their own tab in the object editor, which is now more flexible. There are now separate lists for “Use (other object) on this” and “Use this on (other object)”, so you can set up a “use A on B” relationship from either A or B.
  • Hyperlinks. You can now customise the look of hyperlink menus – change the menu fonts and colours, and turn link underlining on or off. It’s now easier to create custom hyperlinks – the new ObjectLink function makes it easier to create an object hyperlink, and the new CommandLink function lets you create a hyperlink that will run any command.
  • Metadata. From the game editor, you can now enter a description and choose a category. There is a new game ID which will be used to uniquely identify a game. This will make it possible to upload a game to textadventures.co.uk without having to re-enter descriptions etc. on the web upload form.
  • Better error reporting. Error messages are now more detailed, so if your game won’t load you should have a better idea why. If Quest crashes, you can now submit an error report online.
  • Comments in the Editor. Script comments (lines beginning with “//”) are no longer stripped away when you open an ASLX file in the Editor – comments are now viewable in the Script Editor, and you can add and edit them.
  • Videos now automatically start.
  • You can now turn off sounds from the Options window.

Full upgrade notes are available on the wiki.

Download Quest 5.1

Quest 5.1 Beta

Quest 5.1 Beta is now available. This is the beta test version of the next release of Quest, which features the following improvements:

  • Enhanced Game Browser. You can now see star ratings, and read reviews and comments, directly within Quest. You also have more control – from the Options window, you can change the download folder, and enable or disable the Sandpit and Adult categories. Also, the Adult category option can be “locked out” with a registry setting – handy if you’re rolling out Quest on a school network for example.
  • Simple Mode. Hides Quest’s more advanced functionality in the Editor – great for beginners, or for using Quest with younger children. The Editor becomes stripped right down to the basics – only rooms and objects are displayed in the tree, without the distracting “clutter” of functions, walkthroughs and so on. The Script Editor is cut down so only the most important script commands are displayed when adding a command. But full power is only ever a click away – you can toggle Simple Mode on or off at any time from the Tools menu.
  • Walkthrough Enhancements. You can now include walkthroughs in published .quest files, and the new walkthrough assertions feature allows you to create automated tests. Enter “assert:” followed by an expression at any point in a walkthrough, and that expression will be evaluated. The walkthrough will terminate if the expression evaluates to false.
  • Loops. There is a new “while” loop, and a new step parameter for “for”.
  • Use/Give. These have been moved to their own tab in the object editor, which is now more flexible. There are now separate lists for “Use (other object) on this” and “Use this on (other object)”, so you can set up a “use A on B” relationship from either A or B.
  • Hyperlinks. You can now customise the look of hyperlink menus – change the menu fonts and colours, and turn link underlining on or off. It’s now easier to create custom hyperlinks – the new ObjectLink function makes it easier to create an object hyperlink, and the new CommandLink function lets you create a hyperlink that will run any command.
  • Metadata. From the game editor, you can now enter a description and choose a category. There is a new game ID which will be used to uniquely identify a game. This will make it possible to upload a game to textadventures.co.uk without having to re-enter descriptions etc. on the web upload form.
  • Better error reporting. Error messages are now more detailed, so if your game won’t load you should have a better idea why. If Quest crashes, you can now submit an error report online.
  • You can now turn off sounds from the Options window.

Download Quest 5.1 Beta

"The Things That Go Bump In The Night" now available for iOS and Android

The Things That Go Bump In The Night is now available for iOS (iPhone, iPod Touch, iPad) and Android devices.

In this game, written by Tim Hamilton, you are a security guard settling down to a quiet night shift, when things start to go wrong. You must make your way around the compound, solving puzzles and dispatching mysterious beasts.

Available on the App Store

androidmarket

This is the first Quest game to appear for smartphones, and I believe it is the first text adventure to be specifically designed for a pocket-sized touch screen – you can play the entire game without typing, instead using the hyperlinks and tabs to navigate and interact with the game world.

bump-300x194

You can find out more about how the game was made in my earlier blog post. The game is fairly difficult – if you get stuck, check out the comments on the original textadventures.co.uk game page for some tips! Also check out the Twitter hashtag #ttgbitn.

More games will be released soon. Maybe you’d like to write one? Any game written for Quest 5 can now be converted into an app, so if you’re interested, please get in touch!

"The Things That Go Bump In The Night" coming to iPhone and Android

The first Quest-powered smartphone app will be released soon. It is an updated version of Tim Hamilton’s The Things That Go Bump In The Night, currently one of the top-rated games on textadventures.co.uk, and will be available for both iPhone/iPod Touch and Android devices.

bump-300x194

This is the first time that a Quest game has been converted into a native application. As I’ve explained in a previous blog post, the way it works is by using a tool which I’ve built to convert Quest games into pure Javascript. Using Phonegap, this HTML/JS is then wrapped into a cross-platform app.

That’s the theory, but it has taken a bit longer than I initially expected to get this first app ready for release, for reasons which I’ll go into below. The good news is that subsequent conversions should now be much quicker and easier.

Two Conversions

The first step was actually a pre-conversion – the app converter works with games written for Quest 5, but Tim’s game was written for Quest 4, which is effectively a completely different system (although sharing some of the same design). So the first thing to do was convert a Quest 4 game into a Quest 5 game.

I wrote a converter application which converts most of a game correctly, although there were still a few manual tweaks to do – even some Quest 4 bugs to emulate! What really helped was to have a complete walkthrough for the game – Quest 4 has a “transcript” feature which is similar to Quest 5’s walkthrough feature. This meant I could have Quest 4 and 5 automatically play the game through to completion, and compare the output, fixing things as I went along.

I then sent Tim the converted Quest 5 game, and he made a few more tweaks and corrections. He also adapted the game to make better use of hyperlinks – something which is really important for the smartphone version of the game. Tim’s enhancements mean it is possible to play the game through in its entirety, without having to type anything.

By the way, now that I have an internal Quest 4 to Quest 5 conversion tool, please get in touch if you have an old game you’d like to convert. The conversion isn’t perfect (which is why this won’t become part of Quest itself), but it can get you most of the way.

Re-engineering Quest

The next step was to convert Tim’s enhanced Q5 version of the game to Javascript, using the converter which I announced back in September. I’d thought the converter was 90% done, but as is the case with so much in the software world, the last 10% took far longer than the first 90%.

The main difficulty has been threading. Javascript is single-threaded, which means you can’t pause a running thread while you wait for some user input. This meant I needed to re-work all of Quest’s functions for displaying menus, waiting for keypresses, asking questions etc. The result of this is new asynchronous versions of various functions, which are implemented in Quest 5.1 and used by the Core Library, as the old synchronous versions of the functions cannot be converted to Javascript.

Being unable to block the thread to display a menu meant that I had to rewrite the parser, as this often needs to display menus to resolve the typed-in object names. I drew myself the diagram below and almost descended into insanity in the process:

So, that was annoying, but it’s actually a better design for the future (especially when playing a game via the web, as the server will no longer need to keep a thread hanging around if it’s waiting for the user to respond to a menu).

Eventually I had a pure HTML/JS version of the game which could be played in any web browser. I implemented the walkthrough feature to verify the game was working correctly, and again I sent it to Tim so he could check for any “off-walkthrough” problems.

Performance

Now the game was working in HTML/JS, it was straightforward to wrap it in Phonegap and create a functioning app. Even here there were unexpected problems – although the app ran at a respectable speed on my iPhone 4, when I ran it on my old iPhone 3G I was horrified to find that it would sometimes take 10 seconds to respond to a command. The fix was again some re-engineering of Quest 5 and the Core Library, this time adding the ability to cache regular expressions, and improving the performance of the scope functions.

Saving

The desktop/web version of Quest 5 saves games by writing out the entire game state. The JS app version takes a different approach, saving a delta instead – only changed attributes are saved to local storage. This is quicker, requires much less local storage, and also means that the app can be safely updated without breaking existing games. The delta is automatically saved after each turn. Again I found some performance issues here, so it took a bit of time to get this right. With a Phonegap app on the iPhone, you get no warning if your app is going to be terminated, so I had to make saving robust enough that it wouldn’t break things horribly if the game started saving but never finished (instead, there are effectively two save slots that are used alternately, so the worst that can happen is you lose one turn).

Android

By now I had the game working pretty well on iOS, and sent it to a few beta testers using TestFlight, which I highly recommend as it takes much of the pain out of ad-hoc distribution on the iPhone. I thought it would be a good idea to get it working on Android too, and I was pretty pleased when only two days after I took delivery of the cheap but surprisingly capable Samsung Galaxy Ace, I had a version that worked on that too.

The Android version looks pretty similar to the iOS version. There is no NativeControls plugin for Android, and Android doesn’t “do” iOS-style tabs at the bottom of the screen anyway, but it didn’t take long to create a native menu which can be used to switch between screens instead. When tapping an object link, I had to create a Javascript menu to display the verbs, but that was only a small amount of work too, made relatively easily using a jQuery UI dialog.

I was pleased with the overall Android development experience – it seems so much more developer-friendly than iOS. The documentation is laid out in a way that a mortal can understand, and it’s so much easier to send a build to beta testers – just email an APK file. Much more pleasant than dealing with certificates and distribution profiles on iOS.

Ready

So it is now ready – the first Quest-powered iOS and Android app, which is also my own first app for these platforms. The iOS version has been submitted to Apple, and I’ll submit the Android version as soon as it’s approved, so both versions will be available on the same day – watch this space!

Quest 5.0.1 released

The first bug-fix release of Quest 5 is now available – download Quest 5.0.1 here.

I’m pretty pleased that nothing too major was discovered in the v5.0 release, so thanks once again to the beta testers!

Here’s what’s new and what’s fixed:

  • New feature: Players can now customise fonts and colours for a game from the new Options window.
  • New feature: Container “open” and “close” messages can be customised per container.
  • Improved: More useful error messages if Quest can’t load a game file due to an error in one of your scripts.
  • Fixed: Various issues with Quest 4 games – locked exits in CAS files, sounds in ZIP files, and timers running at the wrong time.
  • Fixed: Memory leaks in the Editor which could cause Quest to hang when switching to/from the Code View with large games.
For the full list, see the Closed Quest 5.0.1 Items on the Issue Tracker.

Using Quest to create text adventures for iPhone, iPad, Android

You can already use Quest to create text adventure games for desktop PCs and web browsers. But the big area of growth for games (and indeed software of all types) in recent years has been smartphones, and I’m pleased to report that I am making good progress in bringing Quest games to the iPhone. The way it works is a tool which I am developing to convert Quest games into pure Javascript. By taking the output of this tool and combining it with PhoneGap, it is possible to create native applications for iPhone, iPad, Android, Blackberry and more, which we can then submit to the App Stores. So far, I’ve created an iPhone UI which uses a combination of HTML and the NativeControls PhoneGap plugin for added iPhone-native slickness (there is still some way to go before pure HTML UIs are really good enough). I’m pretty happy with the results – by using Quest’s existing hyperlink support to cut down on the amount of typing required, I think I have come up with a design which makes text adventures work nicely on a mobile phone. First, here’s a screenshot showing the start of an example game. Objects and exits have hyperlinks, and there is a clearly marked textbox for typing in commands. There are tabs at the bottom of the screen for Inventory, Objects, Exits and “More”. IMG_1007 Tapping a hyperlink brings up a standard style iPhone menu. In this screenshot, we’ve just tapped the “glovebox” object link, and we see the display verbs: IMG_1008 If we tap “open”, the “open glovebox” command is inserted, complete with another hyperlink to make it easier to perform further actions on the same object. IMG_1009 Tapping the gun in the output above again gives a pop-up menu. It’s a different set of options this time- in a Quest game, each object can have its own set of “display verbs”, and I think it is especially important for the mobile phone version of a game that each object has relevant display verbs. IMG_1010 If we tap “take”, we’re now carrying the gun. If we switch to the Inventory tab, we can now see it listed. IMG_1011 If we tap the gun in the inventory, we again get a list of verbs. This time it’s Quest’s “inventory verbs” that are used, so we get a different list of relevant actions now that we’re carrying the gun. IMG_1015 The Objects tab is laid out in a similar fashion to the Inventory tab, and shows the objects in the current location. IMG_1012 The compass tab shows the familiar Quest compass, with available exits highlighted. You can tap an exit to move in that direction. You could also simply tap the exit’s hyperlink on the Game tab. IMG_1013 Images are resized to fit the screen. In this example, looking at the car triggers a script to show a picture and print a message. IMG_1014

[Car picture by skrotmumrik, CC licence]

So far, this only works on iPhone, but an obvious next step is to make the UI work nicely for iPad too – which is the perfect excuse for me to go out and buy one! Because I’m using PhoneGap, it will be straightforward to create similar apps for Android too – although the UI would need to be developed for that platform. PhoneGap also supports Blackberry, WebOS, Symbian and soon Windows Phone, so it would be possible to bring Quest games to those platforms too – although it makes more sense to focus on iOS and Android as the main ones. Let’s make it happen If we’re going to find new audiences for text adventure games, we need to make them easy to find, install, and play. Right now, App Stores are a great way of making that happen. I believe they also provide a realistic opportunity to make money from text adventure games – for the first time in years. Think of how many people are happy to buy games for their smartphone, who may never purchase software for their desktop PC. With a few tweaks to the conventional parser-based interface, I hope I’ve shown that text adventures can work well on a mobile phone. I think they’re a great fit for mobile gaming – you can play a text adventure game at your own pace, for a few minutes at a time, whenever it suits you.

Educating the next generation of software developers

[Cross-posted from my Gamasutra blog]

We are going to need vastly more programmers over the coming decades. Where are they going to come from? How can we get children started programming at an early age? I have some ideas.

With the proliferation of app stores – first on the iPhone, then Android, Mac OS X and soon Windows – it’s easier than ever for people to download games and other types of software. On the web, too, increasing access to broadband and mobile internet around the world means that developers of web apps and games have vast potential audiences, as it’s now entirely normal for most people to have web access whenever and wherever they are.

This is a huge opportunity for software developers. With more people using more software more often, one thing is clear – we are going to need a lot of programmers. The potential market is already absolutely enormous. Just imagine how big it’s going to get over the coming years – and how valuable programming skills will be.

But it is already very difficult to find good developers. HR departments and recruitment agents rarely have much of a clue about the skills required for the jobs they’re trying to fill, so they’re pretty ineffective filters – which means plenty of people who can barely program are still able to get interviews. I’ve had candidates stare pretty blankly at me when I’ve asked them reasonably basic questions – yet amazingly, in many companies, these people still get hired. There are more jobs than qualified developers out there – at least, that is my experience in London anyway, and we’re in a recession.

Making Developers

So, there is already a developer shortage, and it’s only going to get worse. How can we fill the developer gap?

To answer that, we need to know what makes someone become a developer. Many people, myself included, got started on the home computers of the 1980’s – the C64s and Acorn Electrons of the time often booted up straight into a BASIC command prompt. Programming was something that pretty much all computer users did to some extent, and it was relatively easy to get started, as the computers and languages were simple. One boy in his bedroom could create software that was of a similar quality to that which could be bought for 99p on a cassette tape down at the local newsagent. Those were the days.

Fast forward to today, and we’ve lost that. The vast majority of computer users will never go anywhere near anything resembling a programming language, so they won’t even poke around out of curiosity. Even if they wanted to, it is much harder to get started now. Where do you begin? You started up an Electron and you were presented with a very simple screen that threw you straight into programming, and there was even a book in the box called “Start Programming with the Acorn Electron”. You almost couldn’t stop yourself from programming on one of those. But today, how can you get started on a PC? You can download Visual Studio Express for free – but check out what Microsoft thinks is a friendly introduction. Just go to that page and ask yourself what somebody who has never attempted programming before is likely to make of it.

programming

One of these is easier to get started with than the other

In Schools

If it weren’t for that Electron, I doubt I would be a software developer now. I remember the IT lessons I had at school in the mid 1990’s, pre mass adoption of the web, and it was all about using Word and Excel. Very uninspiring. It doesn’t sound like much has changed since then, apart from a rebrand of the subject as “ICT” – they’re still not teaching programming.

Google’s Eric Schmidt criticised this state of affairs recently:

Schmidt said the country that invented the computer was “throwing away your great computer heritage” by failing to teach programming in schools. “I was flabbergasted to learn that today computer science isn’t even taught as standard in UK schools,” he said. “Your IT curriculum focuses on teaching how to use software, but gives no insight into how it’s made.”

Recently though, it seems the tide is beginning to change, and people are waking up to what has surely been obvious for years now – we need to get kids programming again, and we need to act now.

There are plans to pilot a programming GCSE and A-Level, but I think programming concepts could be taught even earlier. I started when I was 8 years old, and there must be plenty of kids out there who have the aptitude for it and could do the same thing. We just need to make programming accessible and appealing.

Simplified Languages

There are some simplified languages, such as Scratch and Microsoft’s SmallBasic. I think there are more creative ways to introduce programming into the curriculum though, and I think the software I have been working on, Quest, has a role to play here. Quest is designed to revive the text adventure, and I think it also has a wide variety of potential uses for education, one of which is as a way of introducing the fundamentals of programming.

Quest presents a visual editor so it doesn’t have off-putting syntax and crazy punctuation all over the place – all programming script commands are displayed in plain English. There’s no need to remember what to type, because the possible script commands can be selected from a searchable list. You can create a very simple game without using any script commands at all, so the programming side of things can be introduced gradually. Underneath is a fully featured, powerful programming language – it has all the fundamental concepts that you would expect, such as variables, functions, loops, expressions and objects.

Because it’s not a “pure” programming tool I think it could even be sneaked into other areas of the curriculum – for example, in an English creative writing lesson, pupils creating a text adventure game would be exposed to a few programming concepts, and it wouldn’t even hurt a bit.

Quest Script Editor

By playing each other’s creations over the web or a school network, that will encourage competition between pupils as to who can make the best game. From the evidence I’ve seen so far, creating games with Quest is something that school children can really get excited about – some year 7’s (11-12 year olds) were so keen they were even skipping breaks to continue working on their games.

So if you’re a teacher or parent and want to introduce your children to programming, why not give Quest a try. It is free and open source.

I still have more work to do on Quest to make it even more education-friendly. I’m currently working on version 5.1, and one of my plans is to have a “simple mode” in the Editor, to hide the more advanced features which could be distracting. I hope that this will make it even more suitable for children of primary school age. There is also work to do developing course materials for teachers and pupils – Kristian Still, an assistant head teacher in Southampton, is currently developing a Moodle course for Quest.

I’m very keen to hear from teachers who may be thinking about using Quest in the classroom, so please get in touch if you have any questions or feedback.

Quest 5.0 is out now

Quest 5.0 is now available! Download it now.

A brand new system for creating text adventures

Quest 5 is more than just an upgrade from Quest 4 – it is a completely new system, rewritten from scratch. I started work on it around April 2009, and the first preview version was released in February 2010. In October 2010, I announced that the system was to be free and open source. And in April 2011, I decided to increase the pace of development – quitting my job to work on Quest full-time.

Easy to use, powerful, flexible

Compared to Quest 4, the new system is much more powerful, flexible and robust – and I believe it’s even easier to use. The standard game behaviour is written in Quest itself, which means it is completely customisable. New features include support for “undo” when playing games (and also undo/redo in the Editor), expressions, local variables, lists and dictionaries – if you used Quest 4 you’ll want to check out the Upgrade Notes.

Compared to other systems, I had several objectives. Many of these are the same objectives I’ve always had for Quest, but the rewrite has made it possible for me to finally do them properly:

  • Easy to create games. It’s easy to get started creating games with Quest 5. The visual editor is designed to be intuitive – everything is shown in plain English, and the aim is that features are easy to find by exploring the menus and tabs. You don’t need to learn programming syntax, or spend time trying to get the system to understand you. I believe that no other system is as easy to get started with.
  • Easy to play games. I would guess that the vast majority of people in the world have never played a text adventure game. Quest is designed so that new players should be able to easily figure out how to play – see my earlier blog post on Eliminating “Guess the Verb”.
  • Powerful. Behind the visual editor is a fully featured programming language. This means that although Quest is easy to learn, it doesn’t restrict what is possible. See my earlier blog post about the design of the Script Editor.
  • Modern. I believe we should try to think of text adventure games as a new format. Many people, particularly those under 30, give me a worryingly blank look when I say I’m trying to revive the text adventure – they don’t remember them in the first place. So there is no sense in trying to emulate the 1980’s. The modern text adventure must be part of the web – it must be possible to play games in a browser, and easily share links to them. Games should be able to embed anything on the web – links, pictures, sounds and YouTube videos can all be part of the modern text adventure experience. Quest games use HTML and Javascript whether they’re being played online or offline, which means they can be integrated with websites, and there is also the potential to create innovative new user interfaces for games. No other system offers this flexibility.
  • Shareable. It’s fairly pointless making games if other people don’t play them. Quest makes it easy to download and play games with its integrated game browser – there’s no need to visit a separate site, as you can easily download games directly inside the application. When you create a game and upload it to textadventures.co.uk, other people can play online in their web browser – there is no need for them to download any software, so they can play a game on Windows, Mac and Linux – even iPhone, iPad and Android, though there is still some work to be done to make the site easy to use with those devices. No other system makes it this easy for you to share your creations.
  • Flexible. Quest is fully open source, and under a fairly permissive licence (Ms-PL, which is similar to the MIT licence). This means you can use and adapt Quest for use in closed source applications, to create desktop games or to power websites. No other system lets you do this.
  • International. Quest 5 supports multiple languages. Out of the box, you can create games in English, French, German, Spanish or Dutch. Quest’s standard text comes from one file, meaning it is straightforward to create your own translation.
But don’t take my word for it, download it now and see for yourself.

This is just the beginning

There are many more things I want to add to Quest, but “shipping is also a feature” as they say – I thought it was important to get something of release quality “out there” as soon as I could. The Issue Tracker will give you some idea of what is coming up – there are currently a large number of features assigned to a future “Quest 5.1” release, though this is quite a long list at the moment so I would expect a lot of those features to be pushed back to later releases.

In addition to the features listed on the Issue Tracker, there are some other Quest projects in the pipeline:

  • Linux and OS X versions of the desktop Player (and eventually, the Editor)
  • iPhone- and iPad-friendly versions of the web Player – maybe also native applications
  • “Simple mode” for the Editor, to make it even easier (particularly for children) to create games with Quest
  • Possibly a web-based Editor
  • Improvements to the textadventures.co.uk site – better profiles, editing existing game listings, improvements to categories, easier embedding of games in other websites, game analytics (e.g. what percentage of people complete your game), non-public games (i.e. not listed in the categories but you can still share the game via a link)
  • Integration of Quest with e-learning systems such as Moodle
If you have any other suggestions please let me know!

You can help

I quit my job to make Quest but I don’t really have a business plan – my primary motivation is really just that I want the software to exist. If it brings opportunities my way, that’s marvellous (and if not, it’s all good for my CV/resumé – I’m not completely nuts). So if you have a particular project in mind, please get in touch. Maybe you’d like me to do some custom development for you? Maybe you’ve seen a feature on the Issue Tracker you would like to sponsor?

Or if you would simply like to express your gratitude, if you think this software which I am giving away is worth something, I am of course happy to accept donations too, large or small.

If you don’t want to contribute money, there are other ways to show your appreciation – get involved! Quest isn’t just “my” project any more – as it’s open source, I’m happy to accept code contributions and translations. All feedback is very useful, so please report any bugs you find using the Issue Tracker, make suggestions at Uservoice, and join in the forums. You can also email me at alex@axeuk.com or tweet me @alexwarren.

Thanks

Many thanks to everybody who has made suggestions, posted bug reports, contributed features and translations. I don’t even know some of your real names. In no particular order, thanks to Stephen Hart, Jhames, Pertex, Jonathan Dobson, ThePixie, Xordevoreaux, Lina Anna, Guillaume Poulain, and anyone else I’ve forgotten!

Keep up to date

To keep up to date:

  • Join the mailing list for release announcements
  • Follow @TextAdv on Twitter for Quest announcements and game releases
  • Follow @alexwarren on Twitter for Quest announcements and other thoughts

Download Quest 5.0 now