Est. 1998 Beginner

Quest ASL

The Adventure Scripting Language behind Quest, a Windows interactive-fiction authoring system created by Alex Warren in 1998 that lets writers define text-adventure worlds in a plain-text, declarative format.

Created by Alex Warren

Paradigm Declarative, domain-specific scripting language for interactive fiction
Typing Dynamic, weak
First Appeared 1998
Latest Version Quest 5 series with the ASLX format (2010s); later Quest releases moved to JavaScript

Quest ASL — short for Adventure Scripting Language — is the text-based language used to author games in Quest, an interactive-fiction (IF) authoring system for Windows created by Alex Warren and first released on 7 November 1998. Rather than a general-purpose programming language, ASL is a domain-specific, largely declarative format for describing the building blocks of a text adventure: rooms, objects, characters, commands, and the responses the game gives to a player typing instructions like go north or take lamp. Its guiding idea is that anyone with a story to tell should be able to build a playable game, even with little or no programming background.

History and Origins

In the late 1990s, Alex Warren — working under the name Axe Software — wondered what a text adventure for Windows might look like and decided to write himself an engine before writing a game. The result was Quest 1.0, announced to the interactive-fiction community in November 1998. The program was written in Visual Basic (it shipped depending on the Visual Basic 5 runtime) and targeted 32-bit Windows of the era (Windows 95/98 and NT 4).

Quest read a plain-text file written in ASL that defined every aspect of the game. There was no visual editor at first — authors wrote their .asl files by hand in a text editor such as Notepad — but the original release already included save/restore, text formatting, optional graphics and sound, user-defined commands, the ability to override built-in commands, and error checking of the script. Full documentation and a well-commented sample game were bundled so newcomers could start immediately. A visual editor, the QDK (Quest Development Kit), followed roughly a year later, lowering the barrier to entry further.

Design Philosophy

Quest ASL was shaped by a single overriding goal: accessibility for storytellers. Where contemporaries like Inform and TADS leaned toward a more programmer-oriented style, Quest emphasized a gentle on-ramp.

  • Declare the world, don’t program it. An ASL game is mostly a description of what exists — rooms and the objects in them, their properties, and the text the player sees — rather than imperative step-by-step code. The engine supplies the parser and the default behavior of a text adventure.
  • Readable, hand-writable syntax. The format was deliberately simple enough to type into Notepad, using intuitive keywords to define room and define object and to attach actions and descriptions to them.
  • Optional depth. Scripting is there when an author wants more control, but it is possible to build a complete game without ever reaching for the more advanced features — a philosophy the project still states explicitly today.

Key Features

The classic ASL format centered on a small set of constructs that map naturally onto how a text adventure is imagined:

  • Rooms and objects as the primary nouns of the world, each with descriptions and properties.
  • Commands and verbs, including the ability to define custom commands and to override the engine’s built-in ones.
  • Player-facing text and formatting, plus optional graphics and sound.
  • Save and restore of in-progress games.

Over the Quest 2.x and 3.x era the language grew more capable: the separate notion of “characters” was folded into ordinary objects, and the format gained arrays, arbitrary object properties, and object types that allowed properties to be inherited — a step toward an object-oriented model while keeping the author-friendly surface.

A small, illustrative sketch of the classic hand-written style looks like this:

define game <My First Adventure>
  asl-version <311>
  start <lounge>
end define

define room <lounge>
  look <You are in a cosy lounge. A door leads north.>
  north <hallway>
end define

Evolution: from ASL to ASLX to JavaScript

The most significant turning point came with Quest 5, announced as open source in October 2010. Quest 5 was a complete rewrite in C# with an XML-based file format, and it introduced a new scripting language, ASLX. Strikingly, much of Quest 5’s own core library — the default behavior of the parser and game world — is itself written in ASLX, the same language games are authored in, making the system highly customizable. Quest 5 also brought a polished editor and the ability to play games online in a browser. It was released first under the Microsoft Public License and later relicensed under the MIT License.

The original Visual Basic Quest 1–4 line, along with the classic ASL format, was effectively retired around 2012 as Quest 5 became the maintained system. Development later passed to Andy Joel (known in the community as “The Pixie”), who built QuestJS / Quest 6, a fresh rewrite in pure JavaScript that runs entirely in the player’s browser and reportedly reached a 1.0.0 release. With Quest 6 the system moved away from the ASL/ASLX scripting model toward JavaScript. Meanwhile, the lineage formerly known as Quest 5 has continued as Quest Viva, a modern cross-platform update still in active development, with beta builds published through 2026.

Current Relevance

Quest’s enduring contribution is democratizing interactive fiction. For more than two decades, through the companion site textadventures.co.uk, it has given non-programmers a path to writing and sharing parser-based and choice-based games, with many titles playable directly in a web browser. The same approachability has made it useful beyond entertainment — for building branching training material and e-learning content — and Quest games have circulated within the broader interactive-fiction community alongside works built in Inform and TADS.

Why It Matters

Quest ASL matters because it framed interactive-fiction authoring as writing first, programming second. By letting authors declare a world in a readable text format and supplying the adventure-game machinery for free, it brought a generation of would-be game-makers into IF who might otherwise have been put off by more code-centric tools. Its evolution — from a hand-typed Visual Basic-era scripting format, to the self-hosting ASLX of Quest 5, to a browser-native JavaScript rewrite — also traces in miniature the broader arc of hobbyist software: from desktop Windows utilities to open-source, web-delivered creative platforms.

Sources

Timeline

1998
Alex Warren announces Quest 1.0 for 32-bit Windows on 7 November 1998. Games are written by hand in plain-text files using ASL — the Adventure Scripting Language — with no visual editor yet.
1999
The QDK (Quest Development Kit), a visual editor for building ASL games without writing the script by hand, is introduced the year after Quest's first release.
2000
Quest 3.0 alpha builds expand the language: 'characters' become ordinary objects, and the format gains arrays, arbitrary object properties, and object types that let properties be inherited. A later Quest 3.x release (reportedly version 3.11) bundled QDK with a community extension library.
2010
Quest 5 is announced as open source (blog post dated 18 October 2010). It is a ground-up rewrite in C# with an XML-based file format and a new scripting language, ASLX, in which much of Quest's own core library is written.
2012
The original Visual Basic Quest 1–4 line (and its classic ASL format) is retired, with Quest 5 becoming the actively developed system. Quest 5 was released under the Microsoft Public License and later relicensed under the MIT License.
2010s
Andy Joel ('The Pixie') takes over development and creates QuestJS / Quest 6, a full rewrite in pure JavaScript that runs in the browser, reportedly reaching a 1.0.0 release and moving away from the ASL/ASLX scripting model toward JavaScript.
2026
Quest Viva — the modern, cross-platform successor formerly known as Quest 5 — continues active development, with beta releases (e.g. v6.0.0-beta.19) published on GitHub in mid-2026.

Notable Uses & Legacy

textadventures.co.uk

Quest's companion community site hosts a large library of text adventures and gamebooks authored in Quest, many of them playable directly in the browser through Quest's online player.

Beginner interactive-fiction authoring

Quest is designed so that writers with no programming experience can build complete games through its editor, while ASL/ASLX remains available for those who want deeper scripting control.

Education and e-learning

Beyond games, Quest has been used to build training materials and interactive, branching learning content, taking advantage of its choice- and parser-based interaction models.

Interactive-fiction community and archives

Games written with Quest have circulated within the wider interactive-fiction community, alongside works built in systems such as Inform and TADS, contributing to the modern era of amateur and indie text adventures.

Running Today

Run examples using the official Docker image:

docker pull
Last updated: