Wednesday, November 28, 2018

Data 'n Direction

Armed with some data-backed guidance on spells to use once the monsters get tough, I rolled a new character.

I got some pretty decent stats after several re-rolls.
  • Strength 17
  • IQ 17
  • Wisdom 18
  • Dexterity 15

Starting HP isn’t that important. It helps with survivability early on; a starting character with only 3 HP is probably going to die in any encounter where magic fails or runs out, but if you can survive long enough to reach dungeon level 2, you can easily harvest another HP or two per run. And when your HP measures in the hundreds, it’s not going to make any difference whether you started with 3 or 18.

Strength is more important, but maxing it out isn’t crucial. You can randomly find strength potions which permanently increase it, and although potions are sometimes poison, they are fairly low risk in my experience. The other stats can be increased by reading books, but this is too risky to even attempt, in my experience.

I played very, very cautiously for a while, never even leaving level 1 until I was strong enough to fight the monsters there without losing any HP. Even then, I farmed level 1 for gold and items, which is very slow and tedious with a safe approach.

When I found potions, I would always cast a cleric inspection spell first if I could. If it wasn’t poison, I’d sip. If the spell failed but I was at full health, I’d sip anyway, since it’s usually not poison, and I trust that sipping poison won’t do 100% damage. I found a strength potion pretty soon, which raised my strength to 18.

When I found chests, I would inspect them, which so far for this character has always revealed no useful information. I Carefully opened my first two chests for the early rush of much-needed gold, but after that I left them alone.

The unidentified chests are really frustrating, because they are usually safe to Carefully open, and the reward is significant. But I have no idea how much damage a trap can do to you. Even on level 1, traps might instantly kill a starting character with 18 HP, and I have no idea what the upper boundary is. The only way I could test that would be to develop a character with much more than 18 HP, and by then, I really don’t want to risk my life to find out.

Whenever I found magic items, I would clerically inspect them first, then visually inspect if the cleric spell failed, and then pick them up only if proven safe. I ignored books entirely.

During one farming run of level 1, I came across a potion of astral form. The effect of this potion prevents you from taking gold (or the orb), and causes you to drop any gold you’ve got (and presumably the orb too). The upside is that you may reliably teleport and passwall without spending any spell points. So I decided to drink it, and use the power to map out the lower levels of the dungeon until my spells started running out, and then teleport back. The mapping would be certain to prove useful later on, when I’d feel ready to farm the lower levels, and have maps to show me how to get back home.

I also discovered that teleporters and pits don’t occupy squares on the grid, but rather they occupy the edges in between squares, just as the walls do. Sometimes the edges have different features on either side; you may find a square has a wall to the south, but when you walk around the wall and enter the square immediately to the south, the north edge of that square is a teleporter. Other times, teleporters and pits occupy both sides of an edge, and may be entered from the square on either side of it.

Astral form not only lets you pass through walls and teleport up and down, but it also lets you float over pits, which are invisible and could be quite deadly if they drop you down to an unfamiliar level and you aren’t able to find or teleport your way back up. And if you stumble into an unseen teleporter and go down to an unfamiliar level, you can just cast teleport for free and go right back up to the level you came from.

Mapping out levels 1-5 was enough progress for one run. I returned, and called it a day. In the meantime, these were the items I found:
  • Magic sword +1
  • Ring of protection +1
  • Ring of power +1
  • Ring of regeneration +1
  • Ring of luck +1
  • Elven boots
  • Ring of swiftness

My maps so far:

Monday, November 26, 2018

Demons 'n Datspells

God, that was tedious.

I spent about two weeks of running around dungeon level 1, casting every spell on every enemy type multiple times, until I had cast each spell on each enemy a minimum of 5 times at the highest stat for that spell. Quite frequently, a spell would fail, and the monster would subsequently kill me. Then I would have to re-roll a new one.

Yet another demon fails to yield to my fireball spell. I should really stop trying.

Every character that I made during this process had 18 for either IQ or Wisdom, and very rarely, both. Whenever I encounter an enemy, I would cast a spell that needed more data, and log whether it killed the enemy or not, as well as the stat governing the spell that was cast. Very few characters lasted long enough to gain new spells, and since a fresh character has only one spell from each school, this meant a LOT of runs through the dungeon.

Another constraint is that I only logged results for characters at level 1, and only against monsters at level 1, on dungeon level 1. It’s simply not going to be reasonable to get this quantity of data at higher levels, so I may as well eliminate these variables from my study by focusing only on resistances at level 1 across the board.

And so, I have two charts. The first chart represents my estimation of spell effectiveness when your stats are maxed out, and only considers spell casting results when the governing stat was 18:

Ghoul Demon Death Wizard Glass Spectre Man
Fireball 100% 0% 100% 100% 100% 100% 100%
Lightning 100% 100% 100% 100% 100% 0% 100%
Flaming Arrow 0% 75% 100% 25% 75% 75% 100%
Eye of Newt 75% 100% 0% 100% 100% 100% 100%
Kitchen Sink 100% 50% 100% 100% 100% 50% 100%
Sleep 0% 0% 0% 100% 100% 0% 100%
Charm 25% 0% 0% 75% 25% 0% 80%
Light Candle 71% 80% 85% 100% 100% 85% 100%
Holy Water 100% 100% 100% 40% 20% 100% 0%
Exorcise 16% 100% 100% 0% 50% 50% 100%
Pray 100% 100% 100% 100% 100% 100% 100%
Datspell 20% 0% 100% 100% 100% 16% 25%
Dispell 50% 50% 25% 20% 50% 75% 0%
Hold 25% 25% 0% 100% 66% 0% 40%

The second chart considers all spellcasting attempts regardless of stats, and is probably less accurate than the above:

Ghoul Demon Death Wizard Glass Spectre Man
Fireball 100% 0% 100% 100% 100% 100% 100%
Lightning 100% 100% 100% 100% 100% 0% 100%
Flaming Arrow 0% 50% 100% 9% 57% 50% 75%
Eye of Newt 50% 80% 0% 75% 80% 100% 75%
Kitchen Sink 66% 28% 85% 77% 75% 50% 66%
Sleep 0% 0% 0% 100% 100% 0% 100%
Charm 14% 14% 0% 71% 40% 11% 71%
Light Candle 41% 40% 46% 100% 55% 40% 57%
Holy Water 75% 87% 100% 22% 28% 66% 0%
Exorcise 9% 100% 75% 0% 33% 37% 85%
Pray 100% 75% 66% 85% 85% 87% 77%
Datspell 10% 0% 66% 66% 77% 11% 14%
Dispell 42% 42% 12% 50% 62% 80% 0%
Hold 25% 33% 0% 100% 25% 0% 40%

From these, a summary of what appear to be the most useful spells against each monster type:

Mage Cleric
Ghoul Kitchen Sink, Lightning Pray
Demon Eye of Newt, Lightning Exorcise
Death Flaming Arrow Holy Water
Wizard Sleep, Kitchen Sink, Lightning Light Candle, Hold
Glass Sleep, Eye of Newt, Lightning Pray
Spectre Eye of Newt Pray
Man Sleep, Flaming Arrow, Eye of Newt, Lightning Exorcise

The helpfile states that Sleep only works on enemies at level 4 and under. So it’s going to be useless pretty quickly. The all-or-nothing spells in general seem to not be worth it. Ghouls, Demons, and Deaths didn’t respond well to any of them. Wizards responded well to Hold, but Light Candle instantly killed them just as often, and if Light Candle fails, it will at least do damage and save me some hurt. Glasses and Men respond best to Sleep, but again, that won’t last long. Spectres respond well to Dispell, but Eye of Newt and Pray work even better.

Lightning has been 100% effective against all monsters except Spectres, but has a chance of damaging you too. Eye of Newt has been 100% effective against Spectres, so there appears to be no need to use Fireball against anything. But that could certainly change in the higher level game.

There are a lot of caveats here. If a damaging spell does not kill, then I have no way of knowing how much damage it did to the monster. It is entirely possible that I am underestimating the usefulness of damaging spells because the tests make no distinction between partial damage and failures.

More importantly, it’s possible that at higher levels, the percentages are utterly skewed to the point where my estimation of the best spells is completely wrong. On level 1, Pray kills Glasses 85% of the time. It took me 7 casts to estimate that. But who’s to say what the odds are on higher levels? If I meet a level 100 Glass, and Pray fails and then I die, how am I to know whether I got an unlucky 15% failure roll, or if the failure rate for Pray is drastically affected by level? And although Fireball never seemed to be useful in a situation where a gentler spell wouldn’t suffice, that too could change at higher levels, depending on how damage scaling works.

The final character I used in this weeks-long experiment cast Hold on a Spectre, who wasn’t amused and promptly made him victim #1246.

Thursday, November 15, 2018

Game 34: dnd

Play dnd and other PLATO games at Cyber1:

I am certain I read about dnd for the first time on Wikipedia. Its pedigree is impressive; we have a multi-level dungeon, a good variety of equipment, a boss monster and end goal, and this predates Rogue by about five years, without anything previous to reference except pedit5 and original Dungeons and Dragons.

This screenshot from Wikipedia suggests dnd is also an early example of extreme power creep. A character about to win has stats nearly maxed out, is level 372, and has over 3,000 max HP. What is this, Disgaea? It’s my understanding that D&D characters rarely even made it to level 10, and stats remained the same no matter how high you leveled. In pedit5, you win by reaching level 6.

Like most, if not all computer games of the era, dnd went continuous development, and it is no longer possible to play it in its original form. The Cyber1 network hosts a history file on its development, written by collaborator Dirk Pellett. It states that the earliest versions were developed by Gary Whisenhunt and Ray Wood no later than 1975, were partly inspired by pedit5, and later versions incorporated enhancements by Dirk and Flint Pellett, including a bugfix that required a major rewrite of the game code. The final chapter directly accuses Daniel Lawrence of plagiarizing dnd with what eventually became Telengard.

On launching dnd, the title screen shows two playable versions, and helpfiles for three versions. It’s interesting that you can view the helpfile for version 6.0b, but can’t actually play it. Of the other two, v5.4 is copyrighted 1977, and v8.0 is copyrighted 1978. The helpfiles show that v8.0 is a much bigger, much more complicated game. Because I am interested in dnd as it influenced Telengard, I’m going to stick with playing v5.4. The enhancements in v8.0 could not have influenced DND as that game was developed in 1976, and probably did not influence Telengard either. Even so, the earlier v5.4 is still newer than DND, so it almost certainly also contains elements that weren’t in what Lawrence played at Purdue University in 1976.

The helpfiles are even more extensive than in pedit5, and indicate that even v5.4 is a much more complex game than it. However, they’re very light on information about monsters, giving little more than a few spell suggestions (e.g. don’t cast Charm on Death). And it seems there are far fewer types of them, only seven types compared to pedit5’s 30, though they come in multiple levels.

So on first glance, this looks an awful lot like pedit5. The look and feel is the same, combat gives you the same choice of fight/escape/magic, and fighting is a crapshoot, though the odds seem better than in pedit5. There seems to be a maximum amount of damage a monster can do to you in a fight, but early on, a single fight against any monster could still be fatal. When you run out of magic points, leaving would still be wise. But there are some differences that become evident early on. I never fought anything but level 1 monsters on the first dungeon level. The game does not remember where you’ve explored in between runs from what I can tell, so there’s nothing stopping you from doing repetitive level 1 runs repeatedly in search of treasure.

With a single exception, all spells are available from the start, and they all cost 1 SP from their respective pool (spells are still split between mage and cleric types). In combat, there are 14 spells available, seven of each type, and all of them either do damage, or have a chance of instantly killing:

  • Fireball – Biggest damage, has a chance of hurting you too
  • Lightning – Big damage, has a chance of hurting you too
  • Flaming Arrow
  • Eye of Newt
  • Kitchen Sink
  • Sleep – Instant kill on enemies level 4 and under, useless otherwise
  • Charm – Chance of instant kill

  • Light Candle
  • Holy Water
  • Exorcise
  • Pray
  • Datspell
  • Dispell – Chance of instant kill
  • Hold – Chance of instant kill

The instant kill spells will do nothing if they fail. Unfortunately, like in pedit5, there’s no way to tell if a damaging spell did non-fatal damage or if it failed. Different monster types also have different levels of resistance, and many spells are useless on certain enemies. Sleep, which was the most reliable spell in pedit5, is now only useful against wizards, men, and “glasses.”

In addition to those spells, a mage point can be spent any time to pass through a single wall, and a cleric point can be spent to check magic items for traps. Finally, teleportation costs 2 mage points and one cleric point and can take you up or down a level, but has a 10% chance of failing and taking you in the wrong direction, which is almost certain death if you’re low on power and want to go up to safety, and instead accidentally go down into unfamiliar territory in a weakened condition.

Gold is now a different resource from XP. It’s found everywhere, and you automatically pick it up when you find it. But the real money is found in treasure chests, which are often trapped. Checking for traps is safe but usually tells you nothing. But finding treasure early on is critical; you gain HP and more importantly SP by finding gold, and although it’s easy to gain 100-200 gold in a quick run with a fresh character, you need 10,000 before you get your first extra SP. A single chest can easily have over 20,000.

Go for it!

The odds are with you if you Carefully open, but you still stake your life.

This creates a vexing gambler’s dilemma; often I’d find a chest, and visual inspection would fail to reveal anything. Is it worth the risk? Maybe it’s not trapped. Or maybe I can avoid the trap by opening it carefully. The odds of safely opening an unidentified chest are pretty good, and the reward is awesome. But if you set off the trap, you probably die. Chests are so uncommon and visual inspection works so rarely that it’s very tempting to take the chance, and this blew up in my face quite often.

Don't touch it. Seriously.

Both chances to check for traps failed. Better abandon this one too.

There are also magic items, though rarer than chests. They are trapped more often than chests, and there is no way to disarm them, but you can inspect them visually or cast a clerical trap detection spell, essentially giving you two chances to detect the trap instead of one. Level 1 is probably a great place to farm items.

There are potions, which are unlabeled and can have a variety of effects. Occasionally a potion is poison; a clerical detection spell will sometimes tell you whether it is poison or not. You can also sip the potion to determine the effect with 100% accuracy before you drink it, but if it’s poison you will take some damage. I never wound up sipping poison, but the helpfile says the damage is less than if you Quaff it. Effects usually only last for the duration of your run, such as doubling the gold you collect or restoring HP, but occasionally boost your XP or strength permanently.

There are also books, which usually do nothing when you read them, but sometimes raise a stat point, sometimes lower a stat point, sometimes grant XP, and sometimes explode. Unfortunately, there seems to be no way to predict or prevent bad book outcomes.

Exploring the dungeon, I quickly found that mapping is going to be essential; there are invisible pitfalls and teleporters all over the place, and you aren’t notified when you step on one. You are silently taken down to a random location on a lower floor, and the only clue is that the wall layout changed very abruptly. Getting lost on a lower floor is effectively a death sentence.

It’s also apparent that the Sleep spell isn’t nearly as useful as in pedit5. More than half of the monster types appear to be immune. On the plus side, monsters are only level 1 as long as I stay on dungeon level 1, and damage-dealing spells usually kill them in one hit. Usually.

From this revelation, I decided my first long term goal would be to get some statistical analysis of monster spell resistance. It’s tedious work, but if it means I don’t get killed on dungeon level 20 because I wasn’t sure whether to zap the level 280 glass with Flaming Arrow or Eye of Newt, then it’s worth my time to do this now.

Tuesday, November 13, 2018

pedit5: Won!

During my second day of trying pedit5, I gave up on trying to give my characters unique names and just called them all “a” to save time. I discovered that you can re-roll stats by hitting the BACK key and then the LAB key.

One of my characters managed to find some gems and reach level 2, giving me access to a second mage spell and one cleric spell. Cleric spells that actually work include:
  • Cure wounds – heals 2-7 HP
  • Protection – Reduces the chance of being hit

From here on, I always made sure to have a “Protection” spell active.

Having Protection and an additional mage spell slot improved my survival odds per run considerably. It’s hard to say how much of a difference Protection made since surviving straight combat is very random as-is, but two mage spells clearly made the difference. For the next several runs, I would cast protection right away, venture into the dungeon, use a spell (usually sleep) as soon as I encounter a monster, and then high-tail it back, with one sleep spell in reserve in case I need it.

Alas, I got overconfident during a run. I proceeded as normal, got farther into the dungeon than ever before, and encountered an animal just outside of a new room. I killed it with magic, but instead of turning back, I just had to see what was inside the new room. Inside was another monster that I killed with my last spell. Turning back, about halfway home, I encountered a level 6 man in a corridor. Running was not successful, and he killed me.

But I actually enjoyed the game somewhat as that character. There was finally some tactical depth, and a palpable sense of risk and reward. That sense could not have existed if I knew I could just roll a new character and reach level 2 again.

I adjusted my exploration strategy. I started mapping the place out, and importantly, I kept track of which rooms my current character had already explored. Unexplored rooms are the most dangerous places, followed by explored rooms, and corridors are the safest as you can run away in them.

During each run, my first goal was to explore an unexplored room, any unexplored room, as soon as possible. The moment I encountered an enemy that I had any doubt of my ability to beat in combat, I used the appropriate magic (or ran if possible and if magic seemed too risky), and if I used any mage spells ever, I would abort the mission and return to the exit, avoiding rooms as much as possible and being damned sure not to enter any unexplored rooms.

Whenever I entered a new unexplored room, if it did not contain an encounter that made me cast a mage spell, then I would continue seeking out unexplored rooms until I ran into an encounter that did. I tended to survive a lot longer with this strategy, found some jewelry and gems, and gained enough XP for the level two mage spells:
  • Speed – Doubles movement rate, and guarantees first strike in combat
  • Blastobolt – Expends all remaining mage points, causes 5-30 damage with saving throw for half damage

From here on, I’d cast Speed at the beginning of every run, followed by Protection. Speed also effectively makes Protection last twice as long.

Soon, I got access to level 2 cleric spells:
  • Serious Cure – heals 4-14 HP
  • Hold – Like Charm, but works more often
  • Dispel Myth – Destroys mythical beasts except for dragons

I never wound up using any of these spells, but only Serious Cure looks all that good. Hold may basically replace Charm, but Charm is rarely useful in a situation where Sleep wouldn’t be better. And Dispel Myth seems like it would only be useful against Level 5 Wyverns. All of the mythical beasts weaker than it are susceptible to Sleep, and the only mythical beasts stronger are dragons. I encountered a Wyvern only once, and decided to use Blastobolt rather than Dispel Myth, since I had no idea how reliable Dispel Myth would be.

Soon after getting access to these spells, I encountered a level 5 scorpion. Even with 13 HP, protection and speed and a +1 sword, and a zap with magic missile before the fight, it killed me.

But I kept at it, and in about two and a half hours, I won the game. It was a slow victory, and most of the XP gains came from gems and jewelry, but it was a victory. I still kept retreating whenever I had used any magic at all; a level 5 character gets enough mage points to cast Speed at the start, Sleep/Magic Missile four times, and a final cast of Blastobolt. I might have been overly cautious, but I really didn’t want my character with over 12000 XP to get caught MP-less while retreating.

Another piece of jewelry brought me closer to victory, and the lesser rewards from silver, gold, and monster kills kept adding up. Finally, during a run, I encountered a level 5 wyvern in an unexplored room, and cast Blastobolt for that last bit of XP needed for retirement. I hightailed it out, killing a level 2 goblin on the way out with my sword.

I win! And I’m at the top of the hall of fame too! That said I’m not really sure why; kirin in position 10 did better all around. Maybe I’m just the most recent player to win?

The "% Kills" field must refer to the relative amount of experience points gained through combat rather than treasure, and I'm surprised that it's even that high for me. That's 4,480 XP, and the strongest monster you can reliably kill with Sleep is only worth 200 XP. Anything stronger needs Blastobolt, there's no certainty that it will work, and the strongest thing I ever killed was worth 600 XP. I trust the game is recording my kills accurately, but I wouldn't have at all guessed that "a" endured nearly that much combat. From the looks of things, 21.93% is a pretty average experience.

"kirin" at #9 must have had a very lucky run with lots and lots of jewelry and few or no serious enemy encounters. At 27430 gold, that's much more than is needed to win the game, and only 1420 XP came from fighting.

I did get some enjoyment out of this game, but only after putting a lot of joyless failed attempts into it. Once a character gains a level, survivability increases by a lot, but you’re never really safe. The last few runs were downright nail-biting; powerful as I might be, I still had to treat every encounter like it could kill me, and I had to go pretty deep into the dungeon during those runs before retreating. The farther in, the more opportunities there are to screw up and die on the way back home. My victorious character never encountered a single level 6 monster, and I still have no idea what the odds of surviving such an encounter would have been. Even level 5 monsters compelled me to use Blastobolt, which doesn’t guarantee a win, and leaves you MP-less and vulnerable even if you do.

Oh, and one last thing. At the very start, when it tells you to press Up to enter the dungeon, you can actually crash the game by pressing any other direction.

Monday, November 12, 2018

Game 33: pedit5

Game 33: pedit5

Play pedit5 and other PLATO games at Cyber1:

To be frank, I wasn’t looking forward to playing this game. I think I first heard of pedit5 around 2010-2011, in Wikipedia’s chronological list of RPGs, where it was listed as among the first ever made. Early CRPGs already have a reputation for being unplayable, even to unusually dedicated retro gamers, thanks to obtuse rules, convoluted controls, and merciless gameplay. If an “old” game like The Elder Scrolls: Arena is so hardcore that the Skyrim devs couldn’t get out of the starting dungeon (for the record, I could), how much of a nightmare is the earliest known CRPG going to be?

There’s also the unavoidable aspect of permadeath. I get the appeal of permadeath, but I’m not a fan of it.

I’d been curious for a long time, though, but not quite curious enough to invest time in actually playing it. In late 2011, I came across a Let’s Play on RPG Codex:

At the time, I figured that was enough education for me without me actually having to play it. My first takeaway was that this game had an impressive amount of documentation. It actually explains how combat works, exactly how having 15 strength is different from having 16 strength, and even shows you the monsters and their HP/XP values.

Second takeaway? This game still hates you. It will happily spawn hopeless fights that permakill your fledgling character, or worse, you could survive several fights, even level up, maybe survive for several hours, and then randomly encounter a level 6 dragon who instantly burninates you and all of your invested time with you.

That’s about par for the course for early Dungeons & Dragons, from what I understand. Death comes easily, can’t be undone, and isn’t always your fault, so don’t get too attached to your characters or progress. Of course, permadeath in CRPGs isn’t unique to this era. Wizardry had it, Nethack has it, and it’s still common enough that the term “Roguelite” identifies games with it. But all of these games tend to give you enough tactical options that if you play smart and cautiously, you have a pretty good chance of surviving a session. Here it doesn’t seem like you have many ways of minimizing the chances that pedit5 throws a deadly encounter at you long before you have a way of surviving it, and if you fail the escape throw (and inside rooms, you always will), you are dead. Since the game and your save files are hosted on Cyber1, savescumming is impossible, as it was in 1975. If you die, you start over.

So here we are seven years later. I signed up for a Cyber1 account to try it myself. I won’t retread ground that Elzair already covered, but decided to see if I could persevere a little more.
My first character had impressive strength, mediocre intelligence, and pathetic constitution and dexterity.

Entering a few corridors, I encountered a level 4 hobgoblin. Since the helpfile said sleep always works on monsters level 4 and below, I cast sleep and killed it. That was my only spell, so I left the dungeon right away so I could recharge and try again.

On the second entry, I encountered a level 1 man, and killed him easily and took his paltry treasure. A few seconds later, I encounter a level 6 dragon.

Crap. Even though it looks like I have the option to run, it only works in corridors, never in rooms, so I fought. Unsurprisingly, I’m dead, and I’m sure it wasn’t even close.

My second character found jewelry during his first trip, and killed a few rats on the way back as I beat it to cash in the jewelry. I was successful, and gained 4,000 XP for it. This is a big deal – you need 20,000 XP to win the game. Killing a dragon is worth a mere 840 XP in comparison. On the next run, I delved farther into the dungeon, won several easy battles, until I encountered a level 1 rat with 500 pieces of silver. Easy money. On the way back, I kill several level 1 “stirges,” but was done in by a level 1 man.

Goddamnnit. I’m not even sure if I did something wrong or not. Maybe my HP was low? It hadn’t occurred to me to check it; I just assumed that I survived those fights unscathed.
I kept trying. I lasted between 2 and 10 minutes with each character. A fresh character gets only one spell per run regardless of stats, and the available spells at first are:
  • Sleep – Guarantees a kill against any non-undead level 4 and below
  • Charm – Kills humans and goblinoids of any level, but doesn’t always work
  • Magic missile – Chance of doing 2-7 damage, does double against the undead

There’s a spell called “Light,” but it doesn’t seem like you can ever cast it. The helpfile says it reduces “surprise,” but nothing happens when you try to cast it. Your spell points don’t even decrease. I’m guessing that this spell was never programmed; it has a * symbol in its name, as do a few other spells which I’d later discover also can’t actually be cast.

Also, and I’m guessing this is a bug, the level 2 spell “blastobolt” can be cast during combat, but it always fails, and doesn’t deplete your spell points. All other level 2 spells can’t even be cast yet, as indicated by the helpfile.

These spells can only be cast in combat, and it’s trivial to decide which one to use in which situation. Sleep always works against 16 of the 30 enemy types, and never works against anyone else. Charm only works on goblinoids and humans. Since sleep always works on non-undead at levels 1-4, charm is only useful for level 5 and 6 humans and goblinoids, which make 4 of the 30 enemy types. Magic missile is to be used on anyone else, particularly the undead.

For a while, none of my characters managed to even come close to gaining 1500xp, which gets you your first upgrade; a single cast of a cleric spell. Starting characters are just so vulnerable. Encounter a level 5 or 6 monster in a room? You’re dead. Encounter one in a corridor? You’d better run, and if it doesn’t work, you’re dead. Encounter an undead of level 2 or higher? You’re probably dead, and definitely dead if 4 or higher. Encounter a monster 4 or under? Cast sleep and kill it, then run back to the entrance and hope you don’t encounter anything level 2 or higher, or you’re probably dead. Even level 1’s can kill you if you’re forced to fight.

Nearly all of my deaths occurred in rooms, not corridors. Mechanics are different in rooms. Running away usually works in corridors, but it never works in rooms, even though you are given the option to try. Rooms are also the only place where you will find treasure, but only in rooms that your character hasn’t explored yet, so I kept going to unexplored rooms in search of treasure. All too often, I’d encounter an enemy in a room, kill it with sleep, and immediately trigger a random (and fatal) encounter before I even take a step.

Also, for all of the information that the game gives you, I wish it gave me more. I know what spells to use in what situation, but deciding whether to fight, run, or cast a spell really depends on how confident you are about winning a fight, and I have no idea how to determine what the odds are.
For instance, the helpfile tells me that strength affects the chance of hitting a monster and the damage done, but what is the base chance and base damage? What happens when I miss, and what happens if I do non-lethal damage?

I can’t deduce any of that from the outcome of combat; the only information I get is which one of us was killed, and if it wasn't me (and if I remembered to check my stats before and after), then how much damage I took. During one session, a 10HP character fought a level 6 ogre and won, taking 9 damage. The very next session, the same character at full health fought a level 2 harpy and lost. I really have no idea how combat works in this game, so how do I make smart combat decisions? If I encounter another harpy, should I use my only mage spell point to cast sleep and risk being flattened by something stronger? Or should I fight the harpy and risk losing again?

Sunday, November 11, 2018

The road to Telengard

Thirty three games in, and I’m finally getting around to RPGs, the turf of so many other gaming retrospective blogs. Telengard is the next whale, and I have it listed as a 1978 title (despite other sources putting it at 1981-1982 – more on that later), making it the earliest RPG on my whaling log.

Before I discuss Telengard further, there’s a very confusing point concerning its history that I need to make clear. You may have heard of a game called dnd, developed in c1975 by Gary Whisenhunt and Ray Wood for the PLATO computer system. If not, you will. When I mention DND, in all capitals, I am not referring to that game. Upper-case DND is one game, lower-case dnd is a different game.

The history of Telengard, even more so than any whale so far (and possibly any yet to be), is fraught with conflicting facts and missing information. All that seems to be known and agreed on is that Daniel Lawrence is the author of Telengard, that Avalon Hill saw the game at a convention in c1982 and licensed it for publishing, and that Lawrence developed it on a Commodore PET some time previously, as an adaptation of DND, a game he had previously been developing at Purdue University on their mainframes.

Lawrence himself says on his website that he developed Telengard for a 8KB Commodore PET in 1978, as a rewrite of DND. The “final” version, which must have been the version licensed by Avalon Hill in 1982, uses 32KB.

Mobygames lists six games, including dnd, DND and Telengard, as part of the “DND” family, but there are a number of apparent errors, omissions, and inconsistencies. For instance, the Telengard entry lists a 1978 mainframe release called “DND,” but makes no mention of any PET version from before 1982, while "DND" is also listed as a separate game entirely, but as a 1976 mainframe release.

In 2016, CRPG Addict had played through a nearly exhaustive list of games in the DND family, including Telengard, dnd, and pedit5. With his final entry on the subject, on a game listed in Mobygames as Heathkit DND, he posted a speculative timeline of dnd-related events. To my knowledge, nobody else has posted a timeline of that nature, but there are some incomplete details, such as the omission of Telengard on the PET. He speculates that Heathkit DND is a stopgap in between DND and Telengard, but if Lawrence’s work on Telengard PET predates Heathkit DND, then that would probably make Heathkit DND a derivative of Telengard rather than the other way around.

So, I have my own take on the timeline. It’s largely based on CRPG Addict’s, but revised to consider the likelihood of a Telengard ’78, and omits the many endpoints which are of interest to CRPG Addict’s comprehensive journey, but not to mine.
  • pedit5 (c1975), by Reginald Rutherford, written for PLATO.
  • dnd (c1975), by Gary Whisenhunt and Ray Wood, written for PLATO.
  • DND (c1976), by Daniel Lawrence, written in BASIC for a mainframe computer at Purdue.
  • Telengard (c1978) by Daniel Lawrence, written in 8KB BASIC for the Commodore PET as an adaptation of DND.

Every connection here is tenuous. Dirk Pellett, who collaborated with Whisenhunt and Wood on revisions to dnd, states in dnd’s history file that it was inspired by pedit5, but pedit5’s author Rutherford claimed dnd was in development first. In 2007, Lawrence denied that he ever played dnd, which multiple CRPG historians including CRPG Addict found dubious. Pellett claimed plagiarism in a scathing open email, but later expressed uncertainty, if not a retraction. And I have no clear guideline on where DND ends and Telengard begins; both were continuous development efforts with obscure beginnings and multiple endpoints.

Furthermore, none of the dnd variants still exist in their original forms, but all of them exist in some playable form, albeit years or even decades removed from the original. Of course, without access to the real originals, this makes establishing a canonical timeline all the more challenging.
  • A version of pedit5 is playable at, which emulates the PLATO system. Differences from the deleted original are unknown.
  • Two versions of dnd are also playable at, marked v5 and v8. Both are newer than DND, and incorporate enhancements by Dirk Pellett, detailed in a history file.
  • BASIC source for various ports and enhancements of DND are floating around, and there are playable disk images of a VAX/VMS port of an uncertain date and authorship, as well as a 1984 DOS remake which CRPG Addict covered.
  • Many post-1981 versions of Telengard are available, including 32 KB Commodore PET, Commodore 64, DOS, and even Windows.

So this is hardly a clean and ideal retrospective, and I’m certain that no matter how hard I look at the chronology, I’ll still have lots of questions that will probably never be answered to my satisfaction. But for the purpose of this project, I will treat Telengard as a 1978 title, even though we’ll probably never get to see what Telengard was like in 1978, and I will regard pedit5, dnd, and DND as notable ancestors and play each of them in some form, if not necessarily to completion.

Wednesday, November 7, 2018

Game 32: Pirate Adventure

Get Pirate Adventure for TRS-80 in “cmd” format here:

See my notes on TRS-80 emulation here:

The next whale is the second Scott Adams adventure, Pirate Adventure. Initially written in BASIC toward the end of 1978, it was very soon remade in assembly along with Adventureland. An early advertisement for both games (evidently a disk version containing both on a floppy) was published in the February 1979 issue of Softside magazine, and is characteristically inscrutable.

I could not find any copies of the BASIC version, except for a source code version published in Byte magazine. I wasn’t going to spend that kind of effort typing up BASIC source code into an emulated TRS-80, so I stuck with the later assembly version downloaded from with Adams’ permission.

Interestingly, the first screen co-credits “Alexis,” making this the earliest video game credit for a female developer that I know of, predating Roberta Williams.

We begin in a London flat with no way out except for an open window. Jump out and you die. Rugs always conceal important things, but the rug here is nailed down (and nailed down rugs even more always conceal important things). On a bookcase is a blood-soaked copy of Treasure Island, which I take and then a secret passage opens up.

Hold on there, Lexie. There’s some stuff you’re glossing over. How did we get into this flat in the first place? Why isn’t there a door? Is this where I live? How did I not find this secret passage before? Maybe I just moved in? How did we get in here?

Anyway, when I open the book, two papers fall out. The first is a note with a clue, the second a plug.

Reading the book gives more clues. Inside, “YOHO” is written in blood, and there is a message:
“Long John Silver left 2 treasures on Treasure Island.”

Through the secret passage is an attic where something fun must have happened.

With nothing else to do, I “SAY YOHO,” and am whisked away to the ledge outside my window. Again, I “SAY YOHO” and I arrive on Pirate’s Island.

And so I go exploring! I head for the lagoon…

Bummer. But it turns out you can YOHO your way back to the flat as long as you’re carrying the book, even in death. If you aren’t carrying sneakers, then there’s a chance you’ll slip from the ledge and die again. Not a big deal, you can just YOHO yourself back to life again and again until you don’t slip, and then YOHO back to the island. But this means I’ll definitely want to carry the book at all times while exploring, and the inventory limit is still six items. If I carry the sneakers too, then this leaves four slots free.

As I explore, the island, I find lots of ship parts are scattered around, including an anchor stuck in the sand at the lagoon. There’s a grass shack near the beach belonging to a pirate. I give him rum (duh) and he scuttles off, leaving his treasure chest and parrot unguarded. I take the parrot (who squawks “pieces of eight!”) but the chest is locked.

At the bottom of a hill is a cave system with a token maze. So token in fact that you needn’t explore it at all; the maze’s exit is literally in the starting room of it. Going down from the starting room leads to a crocodile pit and a door leading farther into the cavern.

At the top of the hill is a cracked wall. I can squeeze through the crack to enter a cavern with a lot of useful looking stuff, but the crack is too tight to bring the bulky hardcover book through, and two items – a pile of lumber and a shovel – are too big to carry out. Since the book won’t come through, I can’t YOHO out with them either. There’s a locked door in the cavern, which is clearly meant to be my eventual way out that lets me leave with the goods by carrying them through the crocodile pit and maze. Two things I can squeeze through the crack are a hammer and a pair of water wings.

Hammer and book in hand, I YOHO back home and pry out those nails from the rug. Sure enough, there’s a keyring under it. Back to the island, it unlocks the treasure chest, and inside is some plans and a map. The plans are for building a ship, and require these items:
  • Hammer
  • Nails
  • Lumber
  • Anchor
  • Sails
  • Keel

I’ve already got everything except the anchor and the lumber, and I know where those are.

Reading the map, it says:
“30 paces then dig!”

I go back into the caves through the crack, and try to unlock the door, but it’s locked from the side of the crocodile pit.

Here I was stuck for a little while. Water wings let me survive high tide in the lagoon and even swim out to the ocean, but nothing of value was out there except a fish that I had no means to carry. I eventually returned to my flat, and found that the drunken pirate from earlier somehow wound up in my attic.

I took my bottle back, and used it to hold the fish like I did in Adventureland. I fed it to the crocs, then unlocked the door to the cavern, and carried the items out. I dug out the anchor, and with all the ship items accounted for, “BUILD SHIP” (just like that):

Next I needed some crew. The drunken pirate might do, so I woke him up, and he was perfectly willing to join.

Onboard, with map, shovel, book, sneakers, and crackers in hand, and with a pirate and his parrot on the deck, the pirate raised an additional objection:
“First Yee be getting that ACCURSED thing off me ship!”

I thought he meant he didn’t like the parrot, but when I tried to take the parrot away, he wouldn’t let me. Then I realized he meant the blood-stained book. So, I dropped it off on the shore. Treasure Island will offer no respite from death now, nor any easy way back home.

With an inventory limit of six items, I’d have to choose carefully. The map is required, of course. The shovel seemed pretty obvious to bring too. Outside the pirate’s shack is a mongoose, which had no use yet, so I brought that. The parrot and sack of crackers seemed like they might be important too. With room for only one more item, I couldn’t bring both the torch and matches, so I brought the hammer, seeing as that’s a pretty useful tool in most adventures. I saved before sailing off.

Treasure Island! The pirate went ashore. I walked 30 paces and dug, uncovering several bottles of rum which the pirate promptly drank and then ran off.

From there, Treasure Island was just a linear path to a “monastary” containing “DUBLEONS” guarded by some mambas.

Using the mongoose was just too obvious.

The parrot drove them off instead. Geez, what is it with birds and snakes in these games?

The had book said there would be two treasures here, and the endless supply of buried rum doesn’t count as one, so I tried digging in the field too. I dug up a box, and inside were rare stamps!

On the way back to the ship, I found the rum-drunk pirate sleeping. I woke him up again, set sail back, retrieved the book, and YOHO’d back home.

This was easier than Adventureland, which in turn was easier than Adventure. The manual laughably suggests an average completion time of one month. I did it in maybe two hours of play over two days, and did not need to look up help even once. In a replay, I beat it in ten minutes and a few seconds. Aside from falling off the window ledge, there weren’t any cheap deaths, or any horrible puzzles like Adventureland’s task of bringing bees to the dragon and hoping they don’t suffocate on the way. But it also honestly wasn’t very satisfying. Par for the genre’s course in this era, there’s still only a few elements that could charitably be called puzzles, most of them not terribly creative such as giving the pirate rum.

The best puzzle in the game was getting stuff out of the cavern; of the two entrances, one is such a tight squeeze that you can’t fit all of the items through it, and the other entrance is guarded by a pointless maze, crocodiles and a door locked on the croc’s side. You’ll explore the crack-side of the cavern before you are able to unlock the door from the croc-side, and you’ll know that you need to open the door from the other side so you can get the big items out well before it’s possible to, and you’ll know this is your goal well before it’s possible to do so.

The mongoose red herring was a moderately clever bit of trolling. The actual solution of using the parrot is absurd. I’m assuming that this is supposed to be a reference to Colossal Cave Adventure, where an early puzzle involves dropping a bird to scare away a snake, but would most gamers at the time have played it? For what it’s worth, this connection didn’t occur to me until after winning the game; I just tried using the parrot because it was there, and hadn’t done anything else useful yet.

The torch and matches are an obvious surrogate for the lamp found in Adventure and Adventureland. Unlike those games, the dark area is tiny. I never came close to running out of torchlight, and I don’t even know if it’s possible.

The only possible way I can see of getting a dead end situation, other than burning out the torch before you’re done with it, would be to set sail for Treasure Island without the shovel. You need the shovel not just for the treasure, but also to find more rum before you can return. But who would be daft enough to go to Treasure Island without bringing their shovel? I can forgive this.

My final map:

Sunday, November 4, 2018

Game 31: Adventureland

Interesting that this title screen refers to the game as “ADVENTURE” rather than “Adventureland.”

Right away, I appreciate that the game tells me simply what the interactive objects and exit directions in a room are. This will make exploring and mapping – always my first steps in a game of this nature - a lot easier.

Like Adventure, there’s a starting area above ground. This time it’s more interconnected, and every single room has interactive things in it. Adventure’s had nine rooms, and aside from the building and the grate, none of these rooms had anything in them. Here we have:
  • A forest that stretches endlessly in all directions except east, with climbable oak trees
  • The top of an oak tree, with a lake visible to the east
  • A meadow with a sleeping dragon who will eat you if you stink, and leave you alone otherwise
  • The lake’s shore, with water, fish, and a magic axe
  • A bog with a treasure stuck in it
  • A swamp with a climbable cypress tree, smelly mud, gas, slime, and chiggers
  • The top of the cypress, with a message written in a spider’s web and a keychain
  • A hole which can be descended, a tinderbox resting on a ledge below its rim
  • A hidden grove with treasure

Also at the top of the hole, there is a sign with a plug for Adams’ next game, Pirate Adventure.

The “hole” region is not present in the BASIC version of Adventureland, and neither is the ad. In that version, the tinderbox is located underground and isn’t needed to light the lamp. I am guessing that this area was added to the machine language version of Adventureland, at which point Pirate Adventure had already been coded in BASIC, and was in the pipeline to be ported to machine language and released (or re-released) through TSE.

It’s evident that Adventureland is deadlier than its PDP-10 predecessor. Adventure’s starting area was perfectly safe. Here, the very first room you see on leaving the forest has a sleeping dragon! He’s harmless at first, even throwing the axe won’t bother him, but if you make a quick visit to the swamp and back then the smell of mud will wake him up and he’ll eat you. The chiggers at the swamp will bite you, and these bites will infect and kill you if you don’t slather mud on them. If you mess with the web at the top of the cypress, its spider will bite and kill you. And if you descend the hole too far…

Adventureland isn’t playing around. Fortunately, saves work fine. They’re a bit cumbersome and inconvenient thanks to the tape format; you have to load a blank cassette file, type “SAVE GAME,” then rewind the tape, hit record, and press enter. Then you wait for about fifteen seconds and watch as the tape advances, and eventually stops recording. To load, you quit, start a new game, say “Y” when asked if you want to restore a saved game, and then rewind the game, then hit play, and press enter and once again wait for the tape to advance and play back your saved data. In the older BASIC version, this process takes over six minutes!

It didn’t take me long to figure out how to retrieve the treasure in the bog, which involves a moon logic puzzle, but the solution is literally signposted. A second treasure is found, unguarded, in the hidden grove past the swamp. The message in the web in the cypress tree says “Chop ‘er down!”, which I did (after taking the keys), revealing an explorable stump with another treasure and a locked door further down. This is good design; you won’t know to chop down the tree if you haven’t already climbed it, and so you probably took the keys while up there. If you didn’t, the game lets you know that something fell from the tree and sank in the swamp, and soon afterward you’ll find the locked door, ensuring you know that you screwed up before you waste too much time.

Past the locked door lies the cave system, and unsurprisingly, it’s tiny. Past a sloping hallway lies a big cavern room branching in four directions. Two of them lead to immediate dead-ends, one a hexagonal room with bees and honey, one to a silly joke room.

Southward from the cavern leads to a bricked window, and a clever puzzle involving gathering swamp gas from above and igniting it to blow it up. But then there’s just a linear series of ledges leading to a bear guarding two treasures. You can feed it the honey, but the honey is also a treasure, and you won’t get any more, so this is clearly not the correct solution.

Downward from the cavern lies a mercifully simple maze with two treasures, and at the end of it a chasm room that appears to be below the ledges mentioned previously. On typing “look lava,” the program announces there’s something in it, but refuses to get any closer. The maze can’t be left the way you got in, but a solving a signposted puzzle gets you out.

And that’s it. That’s the entire cave system of Adventureland. All that’s left is to find the 13 treasures by solving the puzzles. Four of them are lying around in plain sight, there’s another four that I gathered already by solving easy puzzles, and one more that I gathered soon afterward. That leaves the two treasures guarded by the bear, and two mysteries, and I’ll bet one of them involves the lava.

I solved one more puzzle on my own, but it was incredibly annoying. If you’re carrying mud and an empty bottle, you can take some bees, keeping them in the bottle. I brought these to the dragon in the meadow. The problem is, every turn, there’s a random chance that the bees will die in the bottle from suffocation. You could go back and get them again, but there’s a decent chance your mud will have dried up too, forcing you to go back to the swamp for more mud, then back down to get more bees hoping the mud doesn’t dry out again, then back to the meadow hoping the bees don’t die again. So I’d save to the cassette every step or two, and reload whenever my bees died, which was constantly. Often I’d have the bees die, load, and have the bees die again immediately on finishing the load before I had the chance to make a move!

To get the last three treasures, I needed some outside assistance. To get closer to the lava, you need the bricks from the window, then to go to the bottom of the chasm through the maze and type “DAM LAVA.”

Then pour water on the new firestone, and take it!

Eleven treasures down, two to go.

To deal with the bear, you have to yell at him. Seriously. Then you can get the last two treasures, bring them to the stump, and win the game.

On dropping the mirror, it gave me a hint that I didn’t need.

Incidentally, if you go back to the bottom of chasm below the maze, there’s now a dead bear there.

So, that’s Adventureland. After beating it, I tried replaying it to see if I could beat it again without saves using nothing but my map and memory. It took me 14 minutes. This wasn’t at all a perfect playthrough. Getting the bees to the dragon took way too many tries, I got killed a few times, mostly from forgetting to drop the mud before walking past the dragon, and I wasted the gas by accident by typing DROP GAS instead of DROP BLADDER. But none of these are game ruiners; you can come back to life quite easily by heading EAST (at least this always works in my version of the game), and more gas appears at the swamp if you waste the initial supply of it. Some things that might make the game unwinnable include feeding honey to the bear, or breaking the magic mirror, which can be done by dropping it not on the rug or throwing the axe at the bear guarding it, or letting the golden fish die by taking it without having a bottle of water for it.

I’m not at all sorry that I finally tried Adventureland. It contains more interesting puzzles than Adventure, even if they’re still a bit on the easy side, when they aren’t ridiculous. A lot of my gripes with Adventure are alleviated with Adventureland’s smaller size; I actually wouldn’t say it’s smaller, but rather more compact. I estimate both games have about the same amount of interactive content, but Adventure spreads it out among a far bigger game world, while Adventureland has something interactive in most of its rooms. Movement generally obeys orthogonal directions both ways, there are no secret passages, though sometimes direction involves typing “GO HOLE” or some other landmark mentioned in the room description, and there are no bloody dwarves. The game does try to kill you a lot more than Adventure, but it’s for the most part a slap on the wrist, and it wouldn’t take that long to retrace your steps from starting a new game anyway.

But, I hesitate to call Adventureland a good game. Maybe I’m being unfair to it and all of the games before Zork, but Adventureland is no Zork. Out of necessity for the 16KB cassette format, room descriptions are pragmatically terse, and do little for world building as Zork did. Every aspect is minimalist, such as the two-word parser, the unchanging locations, the small and disjointed world, the nonexistent plot, and the short length, and it’s hard for me to praise this first effort very highly knowing how much better adventures could get, even on the same system.

My Trizbort map:

Friday, November 2, 2018

Adventureland: An introduction to TRS-80 emulation

I had long written off Scott Adams’ Adventureland as an unsophisticated early attempt at bringing adventure games to microcomputers, vastly inferior to Zork I released two years later on the same TRS-80, notable only for being the first adventure designed for a microcomputer. “Firsts” never really interested me unless they were influential too. Zork I would have happened with or without Adventureland; an early PDP-10 version of Zork had already existed in some form on a PDP-10 at MIT by this time. Roberta William’s series of adventures on the Apple II have no evident influence from Adventureland, and led to King’s Quest and the graphic adventure genre. But Adventureland just seemed like a dead end, popular enough for Adams to found Adventure International and create 11 more text adventures in a similar vein which paled in comparison to Infocom’s full prose, advanced parser, and complex scenarios. They mainly sold on less powerful computers like the VIC-20 and TI-99/4A, becoming obsolete and irrelevant as these machines did, and forgotten as graphic adventures took over.

But it was popular in its day, and is on my whaling log. For the first time, I will play it in a serious manner.

Playing the game in a historically accurate manner proved challenging. The original version was distributed on a cassette tape which ran a BASIC program that loaded entirely into the TRS-80’s 16KB of memory. At some point, probably in 1979, Adams remade Adventureland in machine language. Other versions existed as compilations on diskette format.

There are modern Windows and Web-compatible interpreters for all of Adams’ Adventure International games, but I wanted to emulate a TRS-80 and deal with the experience of loading a cassette program. MAME can emulate a TRS-80, and offers Adventureland in a variety of formats including .cas.

Ultimately, I found a number of reliable ways to play Adventureland. I’ll present them, with pros and cons.

Setting up MAME

These steps are common to all of my methods that involve emulating a TRS-80. You can skip this if you’d rather just use a Windows or web interpreter. As of this writing, MAME is at version 0.202, and these instructions work with MAMEUI of this version.

To play this version, get MAMEUI here:

Download this package:

Extract the package into your MAMEUI directory, 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, and double-click the TRS-80 Model I Level II icon.

The Media drop-down menu lets you mount and unmount media files. You’ll need this.

Options->Configuration lets you enable or disable floppy disks, which is also important.

To save or restore a game, first unmount the cassette, and then mount “save.wav.” Do this even if you already have “save.wav” mounted, this will ensure that the tape is rewound all the way.

To save, open the Cassette menu and hit “Record.” Type “SAVE GAME” ingame, and follow the instructions.

To restore while ingame, type “QUIT.” You’ll eventually be asked if you want to play a new game, answer “Y.” You’ll be asked if you want to restore a save, answer “Y” and follow the instructions.

In the BASIC version, saving and loading takes about six minutes. In the machine language version, it takes about 45 seconds.

BASIC version on MAME with cassette and disk

  • Possibly the authentic original version
  • Not totally authentic
  • Somewhat involved setup
  • Slow, slow, slow!
  • Slow loading; takes 21 minutes just to load the game data
  • Slow saving, takes 6 minutes to save a game and another 6 minutes to restore it
  • Slow gameplay; takes several seconds for the program to react to your commands
  • Unfinished feel
  • Clunkiest parser out of all versions
  • Clumsy keyboard controls

Thanks to Jimmy Maher at Digital Antiquarian for providing this version!

This represents Adventureland in its earliest known state. A BASIC version was coded first, and a machine language version coded later and released through The Software Exchange (and later Adventure International).

I can’t find much in the way of hard facts regarding the BASIC version’s commercial distribution. The earliest advertisement, in an issue of SoftSide magazine printed in late 1978, is bizarrely worded but indicates that it includes Adventureland and its sequel Pirate Adventure on a single diskette. We know that Adventureland came first and was originally on a cassette, by itself, so even this first advertisement isn’t for the original BASIC version.

Nor is this version completely authentic to the original cassette tape version. The original cassette tape starts with an interpreter program, which then loads data from the remainder of the tape, to be used by the cassette program. In 1980, at which point Adams had long converted over to machine language, he coded a new “adventure builder” program in BASIC which would allow end users to create their own data tape, and the source code for the interpreter and this “adventure builder” were published in SoftDisk magazine. This disk image contains code transcribed from the magazine, rather than being the original BASIC interpreter and data, which may not exist anymore.

Run MAMEUI, and run the “TRS-80 Model I (Level II BASIC)” machine.

Make sure floppy disk drives are enabled!

You’ll probably want the keyboard set to “Natural.” I’ll assume you are doing this.
From the media menu:
  • Mount the cassette to “adventureland-data.wav.”
  • Mount Floppydisk1 to “NEWDOS_80sssd_jv1.DSK.”
  • Mount Floppydisk2 to “adventureland-interpreter.dsk.”
You might need to restart the machine, with Options->Hard Reset.

The machine should boot into NEWDOS/80.

Type “BASIC” at the NEWDOS/80 prompt.

Now run these commands exactly. Note that the left arrow key deletes, rather than the backspace key.

Yep, it will take 21 minutes to load! And the sounds coming from the machine will be shrill – that’s what the “audio” on the cassette tape sounds like! So wait 21 minutes, and mute your speakers if you like. MAME will display a virtual tape counter on the screen.

Once it loads, make sure your caps lock is on, because from here on it is possible to type in lowercase, but Adventureland only accepts commands in upper case! The left arrow key still serves as backspace, and your actual backspace key won’t work.

Machine language version on MAME with quickload

  • Mostly authentic c1979 gameplay experience
  • Instant loading
  • Fast gameplay
  • Feels reasonably finished and polished
  • Intuitive keyboard controls with emulated keyboard
  • Not the true original, contains some content and features that wouldn’t be present until Adams’ third or fourth adventure
  • Quickload isn’t authentic TRS-80 behavior.

Machine language versions of various TRS-80 games, including all of Scott Adams' adventures, may be downloaded in a variety of versions and formats here:

I am fairly certain that the .cas files distributed above accurately represent commercial copies of Adventureland distributed either by The Software Exchange or Adventure International.  But I couldn’t get them to work in MAME’s Model I machine, only in the Model III machine. Fortunately, they are also offered in a "cmd" format more or less equivalent to a DOS exe, and these files can be loaded directly in MAME, skipping the cassette load step entirely. This worked just fine with the Model I machine.

Run MAMEUI, and run the “TRS-80 Model I (Level II BASIC)” machine.

Make sure floppy disk drives are not enabled!

Mount the Quickload to “adventur.cmd.” Unmount all other devices.

You might need to restart the machine, with Options->Hard Reset.

That’s it, the game should just work!

ScottFree Windows 32 port

  • No emulation involved
  • Easy setup
  • Includes most of Scott Adam’s Adventure International library
  • Decent porting accuracy
  • Makes good use of Win32 features (GUI, fonts, file dialogues, etc.)
  • Quick and easy saving and restoring
  • Not authentic period play
  • Look and feel isn’t very immersive

Just download the package here.

You want the version compatible with Windows 95 through Windows 8 (not the PDA version). Extract wherever, run ADVENT.EXE, and within that program load “adv01.dat.” You can probably operate it fine without further instructions.

Inform conversion

  • Play in your web browser
  • Can undo moves by using the “back” button on your browser
  • Not authentic or accurate
  • Design appears to be based on BASIC version
  • No way to save and restore

The path of lowest resistance. There are conversions to Inform (the Infocom engine) for all of Scott Adam’s games playable online, but they aren’t accurate representations at all. Most notably, the parser accepts Infocom style full sentence commands rather than Adventure style two-word commands. Not everyone will consider that a bad thing.

The CMD file path was the first one that I figured out and deemed acceptable (the Windows and Inform ports are too far removed from authenticity for me to consider), and it’s how I played through the game.

Most popular posts