Skip to content
A web port of the classic text adventure game, the Wonderful World of Eamon
TypeScript Python HTML CSS Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
adventure
client
db
eamon
news
player
sample_import
static
.editorconfig
.gitignore
ADVENTURE-DESIGN.md
EVENT-HANDERS.md
LICENSE
PORTING-CLASSIC-ADVENTURES.md
PORTING-EDX-ADVENTURES.md
Pipfile
Pipfile.lock
README.md
fabfile.py
manage.py
truncate.sql

README.md

The Wonderful World of Eamon

This is a port of the classic Eamon adventure system to run on the web.

Play it at http://eamon.terranok.com. The main hall and several adventures have been ported so far, with more on the way!

Eamon is a text adventure game with RPG elements. It is notable for its modular adventure system, which allows authors to write their own adventures using a database editor program and a bit of custom programming.

The original Eamon was written by Donald Brown and released around 1980 for the Apple 2. Over 250 adventures were subsequently released. Eamon was ported to MS-DOS as Eamon Deluxe by Frank Black beginning in the 1990s. That work is the basis for this rewrite.

For Developers

This project is not really a port, so much as it is a complete rewrite using the most modern web technologies. When Eamon was originally written, BASIC was the one of the most widely-used languages. These days, BASIC has fallen out of favor and it's time to convert it to a new language. And, for the best user experience, it should run in a browser instead of requiring an emulator. For these reasons, it made sense to convert the game logic to JavaScript. Specifically, ReactJS with TypeScript, and a Django back-end to store the player and adventure data.

The main program was redesigned, as well. No longer do adventure authors hack the main program to add special effects. The game is built on a system of event handlers. All adventures use the same shared main program code. Each adventure has its own set of event handlers, such as "read" to activate a special effect when the player reads a book, and "use" to run a special effect when the player drinks a potion. Each adventure can also declare custom commands. Both the commands and the event handlers are easy-to-write JavaScript functions.

True to the original Eamon, this is non-commercial software. You can freely view the source code, including the logic for the adventures. Warning: spoilers!

Authors wanted! If you want to help port your favorite adventure into the new system, drop me a line and I can guide you through the process. Knowledge of JavaScript and a familiarity with the original system or Eamon Deluxe is all you need. Send adventurers to their deaths for fun and profit!

See the file ADVENTURE-DESIGN.md in this folder to get started building an adventure.

You can’t perform that action at this time.