Monthly Archives: February 2012

Time-limited puzzles

When I was at Perins School last week, I was asked about puzzles with a time limit. For example, the player opens a cupboard, inside which is a hungry alien. How do you give the player 10 seconds to kill the alien, before the alien kills them instead?

This is pretty straightforward to handle, because in Quest you can run scripts after a certain number of seconds. Here’s a quick how-to:

First, add the cupboard and alien objects. The alien should be inside the cupboard. For the cupboard, go to the Container tab. Choose “Container” from the type list, and untick the “Is open” box so that the cupboard is closed when the game begins.

Now we want to run a script when the player opens the object. We’ll tell the player they’ve surprised the sleeping (and hungry) alien, then give them 10 seconds to get rid of the alien before it kills them. To do this, scroll down to “After opening the object”, and add a “Print a message” script. Next, add another script – from the Timers section, choose “Run a script after a number of seconds”.

You can now specify how many seconds to wait before something else happens. In this case, 10 seconds. After 10 seconds, we want to see if the “alien” object is still visible. If so, print a message and kill the player. If not, we don’t need to do anything.

So, all we need to do is add an “If” inside the “After 10 seconds” script, as shown below:

Finally, we just need to implement a way to solve the puzzle. Let’s add a flame thrower object. When the player uses the flame thrower on the alien, the alien bursts into flames.

Add an object called “flame thrower”, then on the “Use/Give” tab scroll down to “Use this on (other object)”. Select “Handle objects individually”, add “alien”, and then edit the script. Add a “print a message” command to say something to the player, then add a “Remove object” command to remove the alien from play.

The resulting script looks like this:

Now after the player opens the cupboard, if they use the flame thrower on the alien, the alien will no longer be visible in the room. This means that after the 10 seconds have elapsed, nothing will happen. However, if the player has not used the flame thrower, the alien will still be visible, in which case the alien enjoys a tasty meal.


Text adventures in the classroom – Quest day at Perins School

I had the pleasure of spending Wednesday at Perins School in Alresford, Hampshire, where the entire Year 7 (11-12 year olds) went off-timetable for the day to start creating their own text adventures with Quest.

Timetable for the day

Timetable for the day

This was part of their “Transform” programme spread over five Wednesdays. In the first week, the school had a visit from a local author to talk about writing and creating characters. In week two, they started looking at text adventures, playing The Things That Go Bump In The Night. In week three, they started planning their own games on paper (limiting themselves to four rooms to give a realistic chance of being able to implement the entire game).

Student plans for their own game

Student plans for their own game

I joined them for week four, where the pupils got to create a Quest game for the first time.

To get everybody up to speed, instead of diving in to create their own pre-planned games, the students were given the same game to implement. This was split up into various “Builds” consisting of step-by-step helpsheets, with only about 30 minutes for each Build:

  • Build 1: Creating a new game, setting font and colour options, adding rooms, exits and objects
  • Build 2: Adding descriptions to rooms and objects
  • Build 3: Taking and dropping, containers, lockable objects, adding verbs, winning/losing the game
Students learn about creating exits

Students learn about creating exits

After the break, various workshops run by myself and Kristian Still. We covered destroying objects, switching objects on and off, locking and verbs, and any other questions the students had such as keeping a score.

I must admit, I thought the timetable was pretty ambitious – these students hadn’t seen the Quest Editor at all before the day, yet by the end of it, most of them were getting on really well. They had covered everything they needed to implement their own games next week.

Kristian grabbed a few of the students for some quick “phonecast” interviews, and asked them how they found the day:

  • Overview of the day
  • Planning their own games “I found it was so simple, I just couldn’t really resist – I’m doing one at home now. It’s a very fun system.”
  • Is it difficult? “It’s great fun. It was exciting trying to think up ideas”. According to this student, coming up with the ideas is the hard bit, and implementing them is just pressing some buttons! I guess that means they found the software pretty easy to use.
  • Switching objects on and off
Testing the game

Testing the game

It was really great to see the students getting on well with the software, and I look forward to seeing their finished games.

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