Adventure.js Docs Downloads
Score: 0 Moves: 0
Document featuring Frequently Asked Questions about Adventurejs. faqs, frequently asked questions


What the heck even is this thing?

Adventure.js is a Javascript framework for writing text adventure games, aka interactive fiction, like the old school Zork games, or the Hitchhiker's Guide to the Galaxy game. Heck, it's possible you've never even heard of text adventure games. They're ancient, almost as old as computers, and in the dawn of computer gaming they ran in majestic herds, and many of them were very good. Later they succumbed to the evolutionary pressure of graphical games and became almost extinct... but in fact there is still a small but dedicated community of people writing and playing them, like some geological era throwback. And though there already were tools to write them with, they tended to be somewhat esoteric. Adventurejs grew out of a particular desire to build an authoring tool in Javascript, a common progamming language, and offer it in a way that teaches basic skills, so that any investment in learning Adventurejs might be transferable to other Javascript projects.

Is it AI?

It is not AI, except perhaps in the same sense that 50+ year old Eliza is AI. Adventurejs parses sentences by breaking them down into parts of grammar and then comparing the pieces against recognized keywords, using a lookup table that is built at runtime. The lookup contains a combination of built-in words and words provided by you, the Author. Out of the box, Adventurejs "knows" a few hundred words. Compared to today's rapidly evolving AI large language models, it's like comparing a Model-T Ford to the Space Shuttle. The main benefit is that this Model-T was built entirely by hand, so you can tinker with it. Think of it as a garage kit. Adventurejs was cobbled together by humans, and meant to be human readable, so that you can get under the hood and customize it as much (or as little) as you like.

Do I have to write my own code?

You don't! Adventurejs tries very hard to give you a toolbox that does not require you to write custom code beyond setting properties on basic Javascript objects. See how to Create a Game to get started, and follow along from there.

But can I write my own code?

You can! Adventurejs tries very hard to accommodate custom code through a variety of methods. For example, Verb Phases, Verb Actions and Verb Reactions are three (similar but different) methods that allow authors to granularly inject custom code at a variety of points, when specific verbs are applied to particular assets. If you want to make broader customizations, it's also possible to override verbs completely or write new ones from scratch. You can find code examples in the Start Scripting pages and also in some of the reference documentation, as in the docs for verbs plug and open.

Are there other interactive fiction tools?

A bunch! Here are some popular ones you might like.

  • TADS, the Text Adventure Development System, lets you write games using a C-like language.
  • Inform 7 lets you write games using natural English language.
  • Twine lets you write games codelessly in a sort of Choose Your Own Adventure style.

To ask questions, email