Monday, July 20, 2020

Game 202: Dunjonquest: Temple of Apshai

Read the manuals here:
https://mocagh.org/loadpage.php?getgame=templeapshai-manual

To this day, it still amazes me a little bit that so many of the earliest commercial computer games were distributed on cassette tapes, where the entire program, often written in BASIC too, would be loaded into 16KB of RAM or less of the computer's RAM, and vanish as soon as the computer was switched off. As recently as five years ago, I associated the earliest computer games with floppy disks, which had higher capacities than the computer's memory, and were designed to load specific portions of the game into memory at the time they were needed, much as hard drives work today. BASIC was, in my eyes, a toy language appropriate for teaching young children how to program, or for goofing around on the computer, inappropriate for developing a commercial product.

Indeed, for whatever reason, at least in the U.S., cassette games are much more obscure than the floppy disk games of just a few years later. Adventureland is forgotten, but Zork is the most famous text adventure of all time. The BASIC strategy games of Avalon Hill are all but unrecognized, but M.U.L.E. frequently shows up on GOAT candidate shortlists. Castle Wolfenstein is somewhat well known as both the original Wolfenstein and a forerunner to the stealth action genre, but few discuss the earlier titles by Muse Software. Ultima and Wizardry went on to spawn popular, decades-running franchises of immense influence, but the Dunjonquest franchise effectively died in 1986, when Westwood's 16-bit remake of the original Temple of Apshai and its expansions failed to rejuvenate the series.

I hadn't played it yet, but I knew a little bit beforehand about Temple of Apshai, the first game in the Dunjonquest series. I knew it's a 16KB BASIC title, that it was distributed on cassette tapes originally, and was divided into two separate programs; the "innkeeper" and "dungeon" programs. Even then, the 16KB RAM limit must have been overly restrictive. I knew that the game is a simple dungeon crawler with no real goals or ending, and that in order to capture the feeling of playing a D&D campaign with a dungeon master, each room has a corresponding paragraph in the manual describing the sights and sounds. Most strangely of all, I knew that rather than offering any sort of file saving functionality, the game simply displayed your character sheet at the end of each successful dungeon expedition, which you were expected to copy down onto paper and re-enter when you resume, inviting abuse of the system (oh yes, I did conclude my last session with 18/00 strength, 20,000 pieces of silver, and a +5 vorpal blade!).

Reading the manual beforehand gleaned more information. The Dunjonquest system has no capacity for magic or stealth, but instead has a greater emphasis on tactical physical combat than the D&D rules of the time, utilizing the computer's natural ability to quickly and accurately perform tedious calculations. Fatigue levels are central to this, as fighting with a heavy weapon and shield will drain your stamina quickly, as will just walking around while wearing heavy armor or carrying large amounts of treasure. Battle tactics include swings, thrusts,firing arrows (which curiously drain no stamina), and parries (which actually restore stamina). Out of battle, you may also inspect rooms for traps or hidden doors, listen for monsters in adjacent rooms, and parlay with ones in the current room.

Sandwiched between the rules and room descriptions is a four-page framing vignette called The Adventures of Brian Hammerhand, about a sailor who, while bar-hopping on shore leave, learns of a recently excavated temple to the insect god Apshai. The foul rituals performed long ago have blighted the land, and the efforts of the priests of Geb to loot its upper levels and discover its dark secrets had only brought temporary prosperity back to the city. Few have dared to enter the passages beneath, accessible only with the ebb of the tides, and those who did never returned. It's left ambiguous whether we are playing as Brian Hammerhand, or as one of the many other adventurers foolhardy enough to enter in search of the untold riches within.

Getting the series to run at all was a challenge. All of the Dunjonquest games from 1979 to 1982, as well as the MicroQuest and StarQuest spinoffs, were developed primarily for the TRS-80, and I wanted to play these versions. Finding copies wasn't a problem, but the CAS-file tape images didn't work! I don't know if I was doing something wrong, but I tried both MAME and SDLTRS, where I'd play them with CLOAD, the virtual tapes would play to the very end, and nothing at all would happen. Other copies were distributed as DSK disk images, not quite authentic, but some of them wouldn't be read by MAME, some would be read by MAME but the files were corrupt, and others were mislabeled, containing completely different games on them. Most of the available copies, though, were distributed as loose BASIC files.

I ultimately used these loose files to make my own MAME-friendly package, which you can download here if interested. If not, just search for the next instance of the phrase "and then, we can play."
https://drive.google.com/uc?authuser=0&id=1AA9-47Cb7dt4l8knLnd-cq88Jq_WMpuw&export=download

This package is meant for MAMEUI, which can be downloaded here:
http://www.mameui.info/

Extract my package into the MAMEUI, overwriting the folders there.

Launch MAMEUI.

On the left-hand side of the window is a list of categories, such as “All Systems” and “Available.” Right click the one called “Computer” and click “Audit.” Wait for this process to finish.

Locate the machine “TRS-80 Model I (Level II Basic).” Right click->Properties.



Under Display, you want “Run in a window” checked. If you haven’t spent much time emulating a TRS-80 through MAME before, trust me on this.



Under Miscellaneous, you want “Show Menu” checked.

OK out. With the TRS-80 Model I level II icon selected, click the "Media View" tab. Set the flop1 to your "NEWDOS_80sssd_jv1.DSK" file, and flop2 to a disk image containing the game you want to play. The file "temple-of-apshai-v1-microquests-starquests.DSK" contains all of them except for Hellfire Warrior and the expansions Upper Reaches and Keys of Acheron, each of which exist on their own dedicated floppies.

Double-click the TRS-80 Model I Level II icon.



If it doesn't boot into NEWDOS, then you'll need to go into Options->Configuration to enable floppy disks. Then do a hard reset.



You'll also want to go to Options->Keyboard and enable Natural keyboard input. This is because MAME's TRS-80 emulation module supports lowercase input, but Temple of Apshai only recognizes upper-case input. Be aware that in this mode, the left arrow key is used to backspace.

To play Temple of Apshai, type this command:
BASIC RUN "INN"

To play one of the Microquests or StarQuests, use one of these commands:
  • BASIC RUN "DATESTON"
  • BASIC RUN "MORLOC/LII"
  • BASIC,45000,RUN "RESCUE"
  • BASIC RUN "SQ/BAS"

Upper Reaches of Apshai has a dedicated floppy disk, which I've prepared as a standalone image, and needs this command:
CHAIN APSHAI/JCL

Hellfire Warrior and Keys of Acheron also have dedicated, separate floppy disks. Both use this command:
CHAIN HELLFIRE/JCL

And then, we can play.



Lacking any prior play experience, I had the innkeeper program generate a new character for me.



This seemed like a pretty good roll. Temple of Apshai has no magic system, and according to the manual, intelligence is used only to bargain with the innkeeper or to parlay with monsters. Intuition helps spot traps and secret doors. Ego does the same as intelligence, but also helps a wounded character press on and fight. The physical attributes are straightforward, and the manual states that constitution, which I rolled pretty high on, is the most important stat of all.

I bought a broadsword and shield for a bit less than their asking prices, and spent the last of my remaining coin on a ring tunic.



I descended to level 1, which loaded sloooowly, taking almost two minutes, and then another 30 seconds to draw the first room. Thank heaven for MAME's turbo key. The tape version would have been even worse, as on later levels it would have to "play" the data files for all of the previous levels before reaching the selected one for loading!


As the room drew, I read its description:
The smooth stonework of the passageway floor shows that advanced methods were used in its creation. A skeleton sprawls on the floor just inside the door, a  bony hand, still clutching a  rusty dagger, outstretched toward the door to safety. A faint roaring sound can be heard from the far end of the passage.

Movement isn't tile-based, but instead you "step" forward between 1 and 9 footsteps at a time, causing your character sprite to jump that many pixels ahead of where he's facing, which in this case is to the right. The lump of pixels overlapping your sprite is called "Treasure #20," which is listed in the manual and described as "nothing of value." These treasures are distressingly common in the temple, and serve only to weigh you down.

I allowed the skeleton in the room to approach me as I swung at it, killing it without much sweat.



The only exit was to the north, leading to a hall with a mural on the east wall and a ransacked backpack underneath it. This backpack was another treasure #20, nothing of value, but inspecting the mural revealed a secret door, which I entered.

I explored a few watery rooms past this secret door. To the south, a suit of plate armor lay in a three foot pool of water. To the east, worthless lilies and moss floated in the pool. To the north, more lilies triggered a "dust trap" as I brushed against them.

Crap.

Fortunately, Olias the Dwarf found me. Unfortunately, Olias is greedy and will take away all of your treasures. Fortunately, I didn't have any, as far as I know. So I was able to re-enter the dungeon and continue exploring.

North of the start, I followed a roaring sound through a corridor, finding a treasure hidden behind a pyramid of stones. This continued for some time - I'd travel some, enter a new room, and read the description in the manual. The description was usually just flavor text, but would occasionally describe some gameplay event or treasure found within, or hint at the existence of a secret wall or trap. Treasures, like rooms, are indicated by numbers, and have corresponding descriptions in the manual. After killing a few dozen monsters with my broad sword and picking up several treasures, I noticed that my fatigue levels were dropping quite quickly, at 18 points per 9-step stride. I foolishly pressed on, until my wounds reduced to 50%, at which point I retreated, running from monsters as much as possible, and resting whenever fatigue got low, which was constantly.

Eventually I returned to the temple entrance, where the game offered to identify my items.



The manual is needed here. My haul was:
  1. A beautiful cloak, wondrously light, yet tough as nails. (no value after being removed from the temple)
  2. The aroma of the plant overcomes your better judgement and you taste a bit of it. It is delicious and builds strong bodies twelve ways. (2*5 SP)
  3. In a pocket of the deceased you find four gold pieces.
  4. Inside the cabinet you find five arrows with mithril worked into the points. (magic arrows, though the game gave me eight)
  5. Nothing of value


Then, I returned to the inn.

Tallying up the loot is your responsibility. Honor system.


With my newfound silver, I bought some healing salves and entered the dungeon again, this time a little stronger and with a lot more understanding of how things work here. Contrary to what I'd expected from earlier reading on the subject, Temple of Apshai (or this version of it, at least) does keep track of the dungeon state and your character stats and inventory as long as the computer is kept on, with the exception of your silver. Turn the computer off, though, and the dungeon resets, your character is gone, and you will need to re-type your character sheet if you want to keep playing as him.

I went further in, mapped things out a little better, and made heavy use of MAME's turbo key while going through familiar grounds.

I did die through my own carelessness, but nothing bad came of it. The manual outlines four possibilities - getting eaten by monsters, being rescued by the dwarf who will take all of your treasures and magic items, being rescued by the wizard who will take your magic weapons and armor but allow you to keep your treasures, and being rescued by the cleric who will take nothing but request a donation to the (non-Apshai) temple.

Eventually I found my first decent treasure. At the end of a vanilla-scented passage, I emerged into a partly caved-in room swarming with giant ants. This room killed me a few times - again, thank heaven for MAME's turbo key, which I used liberally to return here - but once I survived, I found eight diamonds worth 100 SP each laying in the earth. Battered and bruised down to 20% of my health, I ran back to the entrance with my treasure, jumping past monsters whenever possible, and stopping to rest with practically every step when I could.


 
I started to wonder if my character might not be viable. At only 12 strength, he could wield nothing better than a broadsword, and after being weighed down with a plate cuirass and extra healing salves, merely walking through the first corridor tired him out. Nevertheless, I pressed on to see how far I could get. The armor did stop the majority of attacks, though the powerful giant ants in the cluster of vanilla-scented rooms did as much as 40% damage when they landed a blow. I managed to clear out all of the rooms in this cluster, and each of them contained a few respawning giant ants and a some more small diamonds, 34 in total.

Returning to the inn, another problem became clear. This was just the treasure of the first level, but there's already nothing you can spend the money on! I had 3,847 pieces of silver, but even the most extravagant shopping spree would barely touch that.
  • A great sword, which I couldn't even use, costs 70 SP.
  • A large shield costs 15 SP.
  • Full plate costs 1000 SP.
  • A full quiver of 60 arrows costs 30 SP.
  • A maximum allotment of 10 healing salves costs 100 SP.


That's 1,215 SP to buy out the shop, and 130 SP to totally replenish your salves and arrows. There are better items - I had already found some magic arrows, some healing lilies, and magic armor and weapons exist somewhere, but they're not for sale. At this point I stopped bothering to keep track of silver and just gave myself 130 on each return to the inn so I could buy more arrows and healing salves.

Going back in, I intuited the locations of two hidden rooms I missed before, helped by my map and the room numbers (it seemed odd that 9 and 10 were missing, so I searched the walls of room 8), where I found a copper ingot and some valuable moss. The weight of full plate made everything drain my stamina hard. I could barely trudge across the width of a single room without stopping to rest, and just swinging my sword drained dozens of points, but in turn it protected me from nearly everything. I eventually mapped out the rest of the level, finding the level's best treasure - a magic sword - in a central room guarded by giant bombardier beetles.



One last, particularly well hidden room concealed a lavish treasure of 200 silver pieces and a diamond ring worth 300, guarded by a few weak but ferocious spiders.

My map of level 1:



I noted some bugs and limitations of the program:

The innkeeper program fails to remember how much silver you have. If you leave the inn with 100 SP and immediately return, it will show 0 silver on your character sheet. Given that the first thing it asks you is how much silver you've got (because the game can't calculate the value of the treasures you find), you can just enter this value in yourself, and in the long run this isn't a real problem as you soon get more silver than you could possibly spend.

The bow doesn't seem to really exist. After creating or importing a character, you have the option of buying a bow, and are only given the option to buy arrows if you buy a bow first (or if you declared a bow when importing your character). But the bow doesn't appear on the character sheet, and if you return to the inn and continue with your active character, you won't get the option to buy a bow, but you will be allowed to buy arrows. And as long as you have arrows, you can fire them, whether you bought a bow or not.

Shields are often lost - presumably they get destroyed in battle - but you can't buy a shield without buying a sword first! And if you have a magic sword, it will be replaced when you do this. The only way to replace your shield and keep your magic sword is to import a character and declare both.

There's no way to check your stock of healing items. Not a bug per se, but this would have been useful.

After identifying your treasures, you are asked "art thou ready for more," and it doesn't seem to matter how you answer. Either way you return to the inn, where you are asked if you are going to continue with your current character or not.

Death and resurrection by the wizard or cleric resets your carrying weight, even though they do not take your treasures away from you.

Whenever you leave the dungeon, the program offers to save the dungeon state, but this doesn't seem to do anything, even though it does write a file to the disk called "LEVEL." The dungeon state is persisted across continuous play sessions whether you save or not, and is lost when you hard-reset the machine whether you save or not.

When entering a dungeon level, typing anything but 1, 2, 3, or 4, will either crash the game, or load a level comprised of garbage data and then crash the game.


Overall I am enjoying Temple of Apshai, but the experience is already beginning to wear thin, and I know that if I didn't have the turbo key button, I'd have given up by now, or perhaps switched to a speedier version like the Atari port.

4 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Temple of Apshai Trilogy just got released on Steam. It's a remake of the original game and its expansions Upper Reaches of Apshai and Curse of Ra, but it's also the DOS version, which means CGA graphics and beeper audio, and generally a worse experience than the earlier C64/Atari versions, or the enhanced Amiga port by Westwood.

    ReplyDelete
  3. Hi Ahab. Excuse me for the simultaneous comments again :)

    I am trying out the TRS-80 version of Temple of Apshai now. I am playing the disk version instead of the cassette version. It seems like I can save characters between sessions. I also could buy a shield without buying the sword.

    I wanted to ask you something regarding the magic sword. There were many instances on Level 1 where I grab the magic sword, and the program asks me if I want the sword. I pressed 'Y'. Sometimes, maybe because I entered 'Y' too late, I ended up not getting that treasure, and instead the Elixir got activated and healed my HP. I pressed 'I' to check if I collected that treasure, but no.

    Other times, I successfully collect the treasure, it appears in the inventory when I press 'I', but when I get back to the inn, I am still equipped with the old weapon.

    And once, I managed to successfully obtain the 'magic sword'.

    I am not even sure if I am supposed to be pressing 'Y' when prompted for the sword. Do you have any idea if I am doing anything wrong??

    ReplyDelete
    Replies
    1. I don't remember having that particular problem. One thing that did happen quite a lot throughout the series is that I'd press 'G' to get a treasure, not yet knowing what it was, and then buffer the next command, only to find out that it was a magic sword and my keystroke was interpreted as a decline. Dropped inputs were a problem too. Does your title screen have a version number on it?

      I have gotten the magic sword and not seen in reflected in the character sheet. I'm assuming that the enchantment level is random, and can be as low as 0, in which case it just doesn't bother showing.

      Delete