Main Program
The Main Program (sometimes referred to by its Apple II filename, MAIN PGM) is the core game engine of Eamon. It contains all the game logic, such as the command parser, disk/database access, etc. The Main Program is one of the three major programs that make up the Eamon game play experience, along with the Main Hall and the Leadin Program (the short program on most adventure disks which displays the adventure's intro text).
Versions
1.0—3.0 (and other early versions)
- Written by Donald Brown in Applesoft BASIC.
- The early versions of the Main Program were in use in the time period around 1980. They do not have version numbers, so it is difficult to tell if they were version 1, 2, or 3.
- The features are mostly similar to v4.0, though the line numbers in the code are different.
- Adventures based on these early versions often added a system beep when the player tried an invalid command, such as moving in a direction where there is no room connection.
- The
SMILE
command would merely say "nothing happens" unless there was a hostile monster in the room. - The only known adventures that use early versions of the Main Program are The Beginners Cave, The Cave of the Mind, and The Dragon of Aldaar, as noted by Tom Zuchowski. The official EAG adventure list describes these as v4 adventures, as some of them were later ported to v4.
4.0
- Written by Donald Brown.
- Distributed with the v4 Dungeon Designer Disk.
- This is the basis for most of the older adventures like The Lair of the Minotaur and The Caves of Mondamen, as well as some newer ones like The Prince's Tavern.
- This version uses the original combat system.
- The to-hit formula is based on the attacker's "offensive odds" statistic.
- There is also a "defensive odds" statistic for the defender, which gives the defender a bonus to evade the hit.
- When the player is attacking, his or her agility can provide a bonus chance to hit (or a negative bonus, if agility is low). However, the formula does not take non-player monsters' agility into account at all.
- Version 4.0 did not include a save game feature. However, this feature was back-ported from version 5.0 to many version 4.0 adventures in the 1984-1985 time frame.
5.0
- Written by John Nelson.
- Save game capability is standard, using the
SAVE
andRESTORE
commands. - Introduces the option to have a ten-direction adventure, adding the directions NE, SE, SW, and NW to the original six.
- The six-direction version adds first-character matching for directional commands, so you didn't have to add both
NORTH
andN
to the command list - On the Dungeon Desigher Disk v5.0, there are two versions:
- BASE PROGRAM 2.0 - for six-direction adventures
- BASE PROGRAM TEN - for ten-direction adventures
6.0
- Written by John Nelson and announced in the May 1984 edition of the Eamon Adventurer's Log.
- The first adventure released using this Main Program is Nelson's Picnic in Paradise.
- Added many new artifact types:
- Doors and gates (described in the newsletter)
- Healing potions
- Embedded artifact logic was added:
- Version 6.x and newer adventures no longer use the
LOOK
command to find secret doors. The player must try to guess the name of the secret door based on clues in the room description.
- Version 6.x and newer adventures no longer use the
- Automatic screen pauses were added
- Some adventures based on the 6.x MAIN PGM contain fuzzy matching for commands, artifact names, and monster names. This was not a standard 6.x feature, but was developed by Tom Zuchowski and others around this time. It was later included in the base MAIN PGM 7.0.
6.2
Version 6.2 was released in October 1987 by John Nelson. It features some bug fixes and speed improvements over version 6.0.
This version added a new feature: the ability to show the room exits before the command prompt. This feature is described in the June 1988 newsletter.
Many of the adventures based on version 6.2, such as Walled City of Darkness and Journey to Jotunheim, are heavily modified and often include some 7.0 features.
7.0
- Written by Tom Zuchowski.
- The first adventure released using this Main Program is Zuchowski's Eamon 7.0 Demo Adventure, which is a simple adventure intended to demonstrate all the features of the new Main Program. It was aimed at showing adventure authors what they could do without writing any custom code.
- Fuzzy matching of commands, artifact names, and monster names was standard (e.g.,
AT DR
forATTACK DRAGON
) - The version introduced some revised combat logic:
- The to-hit formula uses the difference between the attacker's agility and defender's agility to determine chance to hit.
- The old "Offensive Odds" and "Defensive Odds" stats was removed.
- Added the "Wearable" artifact type.
- Player can
REST
to recover spell ability. - Weapons can be damaged during fumbles - this decreases their damage "sides".
- "Magical" weapons cannot break or be damaged in combat.
- Player can
GIVE
a healing potion to an NPC, who will take a sip and return it to the player. EXAMINE
a monster to see its health status.INVENTORY
a friendly monster to see what it's carrying.- Group monster option was added.
7.1
A 7.1 version of the Main Program was also released by Zuchowski.
8.0
- Written by Frank Black.
- This is the basis for a couple of the newest adventures, which Frank ported from Nelson's KnightQuest system after that was discontinued.
- This version includes a few new features which would later be used in Eamon Deluxe.
Eamon Deluxe
This is a port of the Main Program to Microsoft BASIC by Frank Black, developed from 1997 through 2012. It runs on MS-DOS rather than the Apple II.
- The Eamon Deluxe Main Program includes most features of the Apple II v7.1 and 8.0 MAIN PGM.
- Adds new artifact types: Disguised Monster and Dead Body
- Allows "Adventure sets" where multiple adventures can be stored in the same set of data files. Each "set" is represented by a folder in the program.
- Contains widespread use of color text and some upgraded visual effects.
- Later versions are optimized for screen readers.
- There are several versions of the EDX MAIN PGM:
- 1.0/1.1 - used for a few adventures like The Donald Brown Adventures.
- 3.0 - still in use for a few adventures.
- 4.1/4.2 - most adventures have been ported to this version.
- 5.0 - enhanced version; only a few adventures have been ported.
- The adventure data is stored in flat text files similar to the Apple II versions. The record format is the same for all of the versions, though there may be slight differences in the special codes used to represent embedded artifacts, etc.
Eamon Remastered
This is a web-based rewrite of the Eamon Main Program, written by Keith Dechant from 2016 onward.
- The game engine was completely rewritten in JavaScript.
- Features are mostly based on Eamon Deluxe 5.0, with a few new innovations.
- Two-handed weapon logic was introduced. The game prevents the player from using a shield and a two-handed weapon simultaneously.
- The player now readies his or her best weapon and armor at the beginning of the adventure.
- Some commands like
INVENTORY
are obsolete due to the fact that the player's inventory is displayed in the sidebar. These commands were removed from the system. LOOK
/EXAMINE
a monster will show its full inventory (if friendly), its ready weapon (if neutral or hostile) and its health status.- Screen pauses are no longer possible. Instead, the player can see older command history by using a web browser scrollbar to review past output.
- Color text is used for some special effects, though the colors are different from Eamon Deluxe.
- Up and Down arrow keys scroll through previous commands to save typing. Pressing Enter still repeats the previous command.
- Player armor and shields are now full artifacts, similar to weapons. They may be brought back to the Main Hall and bought and sold as desired. This allows players to keep special magic armor and shields found on one adventure, to take into another adventure.
- Eamon Remastered also includes a rewritten Main Hall. Marcos sells both normal and (expensive) magic weapons. Hokas can teach you a spell again (for more money) if you weren't satisfied with your ability the first time.
Technical notes:
- Data is stored in a MySQL database instead of flat text files as in all previous versions.
- The data format has been enhanced, providing many new columns. The previous complicated system of "record types" for artifacts has been removed. It was no longer necessary given the larger disk and memory capacities of modern computers.
- Adventures no longer have their own complete copy of the main program. Instead, they all share common "core" code (which includes all base commands like movement, artifact handling, monster interaction, etc.). Custom programming for adventures is done via a system of "event handlers" and by adding custom classes to create new commands.
- Synonyms for monsters and artifacts are now stored in the database, rather than requiring custom code.
Contents and structure
Tom Zuchowski wrote what he described as a "tour" of the version 7.1 Main Program and published it serially in the September 1994, December 1994, March 1995, and June 1995 issues of the Eamon Adventurer's Guild Newsletter. The tour consisted of the complete code listing of the program, with textual annotations added to most lines explaining their operation and purpose. Matthew Clark later added the tour in its entirety to his website.
Other Main Programs
See also