Mapping the Unknown
"Mapping the Unknown: An Adventure in Eamon" is an article written by developer and adventure author Margaret Anderson, published in the September 2013 issue of Juiced.GS magazine. In the article Anderson describes the origin and operation of her Eamon Mapper program.
Below is the full text of the article, reprinted by kind permission of Margaret Anderson:
I have been playing Eamon games off and on for as long as I've had a computer. Eamon is a public domain hybrid adventure/role-playing game system written in Applesoft BASIC. It's possibly the oldest game-authoring system around, and there are about 250 games available for it. Like most text adventures, tracking your progress with a hardcopy map is essential. I like to make a nice map for each game I finish, but I don't always want to replay a game if my sketch is confusing or I didn't see every room.
When I came to KansasFest 2013, I brought several unsolved Eamon games to play if I had some spare time. That didn't happen, of course. But when I decided to write an Eamon utility for HackFest, I had some games to try it on.
I wanted a program that would let you walk through the map from room to room — like playing the adventure without the monsters and treasures. The data for Eamon games is stored in random access files. The room descriptions are in the
EAMON.DESCfile, the short room descriptions in
EAMON.ROOM NAMES, and the room connections in
EAMON.ROOMS. Listing the
MAIN PROGRAMgave me the parameters for the data.
My program reads the data files on the disk for the room's descriptions and exits. It starts by printing the description for Room #1, listing the exits, and waiting for a command from you, usually a direction to move. Then it displays the room you move to, with each exit shown. Other options are to move to a specific room, or to quit. It keeps a list of rooms you have seen. Rooms you have visited are shown by their short description; rooms not yet visited are shown by "???"
This works with games using Main Program versions 5 and 6, and some version 4 games. Version 7 programs use a slightly different database arrangement, and the HackFest version of my program doesn't read them. For now, secret passages, locked doors, and exits that required unavailable items are shown as "(Special code)". Rooms can also be accessed directly by typing their number.
Since KansasFest, I have added code to read version 7 games and to list the rooms and whether they have been seen. Right now my program handles only six directions, which you'd think would be enough — there are a few Eamon adventures with 10-direction rooms. That is my next challenge.
I want to use this program to help me make reasonably neat maps and to find out after I finish a game if there were any rooms I missed. While it probably counts as cheating, I also occasionally want to check an adventure and see how to go further. And I want an option to show just the room number. That would let me make a map before playing the game — making it a slightly different experience.