JACL is a language for writing interactive fiction, also known as text adventure games. It is easy to learn and comes with an extensive library of game verbs that will allow you to create the beginnings of your first game quickly and easily. The tutorial chapter of this guide walks you through the creation of a simple, but complete text adventure game and demonstrates all the main principles of the JACL language.
JACL is an interpreted language, so once you have written your games they can be run without modification on any platform that has a JACL interpreter. The JACL interpreter uses the Glk API to talk to its user interface which allows it to be compiled with many different Glk implementations on many different operating systems. Although interactive fiction is primarily a text-based medium, many of these Glk interfaces allow you to also fill your games with pictures and sound.
JACL also has two web-enabled interpreters that are easy to configure and run. If desired, games that do not require a complex graphical interface can be written in such a way that the same game file can be run by both the console-based and web-based interpreters. The web-enabled interpreters can also be used to create a variety of turn-based games with interfaces vastly different from traditional interactive fiction.
The latest version of JACL can be found on GitHub at https://github.com/DangarStu/JACL.
I would also like to take this opportunity to thank some of the people who have contributed to this system: Robert Osztolykan and Parham Doustdar for their invaluable beta testing, editing and suggestions; Andreas Matthias for contributing the internal web server and preprocessor code; Thomas Schwarz for his Javascript, CSS and user registration code; David Fisher for contributing the route-finding code; Niels Haedecke, Thomas Schwarz and Eric Forgeot for their work on translation and internationalisation; Andrew Plotkin, David Kinder, Tor Andersson and Ben Cressey for their Glk libraries. I would also like to thank Ben Cressey for his assistance in adding Unicode support to JACL.
Stuart Allen
Sydney, Australia
April 2026
dangarstu@gmail.com