Pre-release
AdventureJS Docs Downloads
Score: 0 Moves: 0
Document featuring Frequently Asked Questions about AdventureJS. faqs, frequently asked questions

FAQs

What the heck even is this thing?

AdventureJS 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 70+ 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.

Comparing AdventureJS against today's rapidly evolving Large Language Models, is like comparing a hand-cranked Model-T Ford against a SpaceX launcher. The main benefit is that AdventureJS 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 (at least, as readable as any large codebase can be), so that you can get under the hood and customize it as much (or as little) as you like.

Who is this for?

Hopefully, it's for anyone who wants to write parser-based interactive fiction. We've heard it said that a parser engine written in Javascript would likely only attract people who already develop in Javascript. That sounds like a reasonable assumption... only, AdventureJS has been designed not just for experienced Javscript developers, but also in a way that we hope might teach the basics of Javascript to inexperienced developers. This way, as you learn AdventureJS, you will be learning skills that you can directly transfer to other development environments.

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 also tries very hard to accommodate custom code through a variety of methods. For example, Verb Phases, Verb Actions and Verb Reactions are three methods that allow authors to granularly inject custom code when specific verbs are applied to specific assets. The three methods are all related, but different in ways that offer nuanced ways to control verb interactions. It's also possible to make broader customizations, if you just want to override verbs completely or even 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 docs@adventurejs.com.