Thursday, January 17, 2019

Game 39: Akalabeth: World of Doom

Long story short concerning the chronology – Garriott’s Akalabeth seems to have been made in the summer of 1979, and had its wide release through California Pacific Computing in 1980. Garriott’s claims are consistent with this narrative. The former date is more relevant to my interests, so I’m treating it as a 1979 game.

Like most players, I suspect, my first exposure to Akalabeth was with the DOS port released by Electronic Arts in 1997. I had made it my mission to experience the Ultima saga from start to finish (a mission I have yet to complete as of today, as Ultima IX still remains unplayed). Even then, I cared about chronology, but hadn’t yet adopted my appreciation of playing games in their original forms. I figured DOS games ran fine on my Windows 98 box, and any changes they made had to be enhancements, so why go to the trouble of emulating an old Apple game when the DOS version worked fine and was probably better? The DOS port offered color, music, and saves, all things the original Apple II version lacked.

I remember laughing at my first ignominious death of the game. At the starting shop I loaded up on weapons, a shield, and arrows, and then immediately starved to death as I took a single step outdoors. Seemed you needed to buy some food too, and unlike Ultima I, you didn’t start the game with any rations!

I remember finding that the mage class could utterly dominate and break Akalabeth. One spell has a chance of transforming you into a lizard man, which grants a massive, permanent, and cumulative stats boost, but also can transform you into a useless toad, at which point you may as well restart. The trick was to save before casting, and if it didn’t work, to reload until it did. A few successful lizard man transforms meant you could punch out balrogs.

I remember beating it on its hardest difficulty the same afternoon that I started it, and writing it off as little more than a relic, only of interest because of its place in Ultima history. I felt it offered nothing but very basic dungeon crawling, which Ultima I offered in a nearly identical format as a small part of a bigger and better game.

Since then, I’ve started caring more about the original platform a game appeared on. Sometimes the look and feel isn’t quite the same on a DOS port, sometimes gameplay balance is upset in subtle and not so subtle ways. Case in point, the lizard man spell which trivializes Akalabeth, only does so because of the DOS-exclusive ability to save the game. I’ve never actually played the original 1980 version, so I figured it was time, with my usual rules on save states (saving only permitted after 30 minutes of earnest playtime without loading or restarting).

We begin with an illustrated intro in color. It’s crudely drawn, but also the first time on this blog we’ve seen anything like it.

Interesting that Akalabeth first introduces not only Lord British, but Mondain too. It also raises some questions on the chronology and geography – by the time of Ultima, British rules Sosaria, not Akalabeth, and Mondain has very much not been driven out of it. Are Akalabeth and Sosaria separate places, or is one part of the other? When British drove out Mondain, was that before the Avatar killed him, or are these the same event? If the former, that makes Lord British either over 1,000 years old, or a time traveler like the Avatar. I’m sure I’m just overthinking this, and Garriott was just making everything up from game to game.

Next, some instructions:

Not quite as detailed as the PLATO helpfiles, but that’s a heck of a lot more detail than many contemporary CRPGs with lengthy manuals and nothing ingame whatsoever. In fact, the original release’s manual is just these four screens printed out, plus a map legend:

Starting a new game, we get some options:

The lucky number is actually an RNG seed. The land, dungeon layouts, and starting stats are generated according to the number you enter here. Level of play must be ‘10’ in order to truly finish the game, otherwise Lord British will end the game before you finish all of his quests and challenge you to increase this next time.

These seem like pretty good stats.

And so, I set out to explore the world of Akalabeth. I mapped out the overworld, which will look like this if and only if your lucky number is 1.

Some light farming in a dungeon to the south accumulated about 45 pieces of gold, which the game also sometimes calls “pieces of eight,” and really shouldn’t since the piece of eight was historically a large silver coin worth eight smaller denominations. I spent it all on lots of food and a few sets of weapons, and headed for the castle.

Huzzah, I have been granted a name, and a quest, just not a favorite color!

Sometime in, it became apparent that the fighter is not a viable class at this level of play. For all intents and purposes, fighters can’t use amulets, except perhaps to invoke them over and over again in the hopes that you eventually get a ladder spell in the direction that you want and to pray you don’t get turned into a toad. Fighters can do decent damage at first with rapiers, but it doesn’t take long before monsters with over 100 HP start appearing, and they only go higher the deeper you delve.

You can always farm for HP, and there’s essentially no maximum (there’s no such thing as “healing,” you are simply rewarded with HP when leaving a dungeon based on how much you killed), so outlasting the monsters isn’t necessarily a problem. That said, thieves are extremely annoying because they will randomly steal your gear, possibly leaving you with no weapons except your fists.

But the real problem is these little bastards who live deeper:

These gremlins have a chance, every round, to steal half of your food. And by the time I found my first, he had over 100 HP and I was doing maybe 10 hits per round on a successful strike. If we assume I can hit it three times out of four and do 10 points on average, then it will take 12-15 rounds for me to kill it. That’s a minimum of 12 chances for it to steal half my grub. If we assume 6 successful food steals, and assume I need 20 food units to safely retreat to town, that means I need at least 1280 food units just to beat this guy and not starve. And this is with making some very optimistic assumptions.

Why not just grind for levels? Here’s the thing – Akalabeth hasn’t got any. You can farm for gold, HP, and gear, but those things aren’t permanent character upgrades, and won’t enhance your ability to hit enemies or inflict damage. There are only two ways to increase your stats; by completing quests for Lord British, and through the lizard man spell. The first is problematic because opportunities to do quests are finite, the initial quest to kill a carrion crawler is already taking me through gremlin territory, and subsequent quests can only send me down deeper. The second is problematic for reasons already discussed.

The mage might fare better. He can’t use rapiers or bows, but amulets’ Kill spell can out-damage both, is ranged, and by using ladder spells might just be able to evade gremlins by skipping floors where they appear.

Alas, this approach didn’t last long. Amulets are expensive, and thieves infest nearly every level. On any level deep enough to have worthwhile treasure, thieves would have lots of HP, and trying to avoid them while farming for chests wasn't practical. So I'd engage them in combat, get stolen from again and again, and suffer a net loss; what a single thief would steal from me would cost more to replace than what I'd gain from collecting all the treasure chests in the area.

So, Lizard Man it is. A player in 1980 might not be able to save scum, but one could try right at the start of the game, and restart if they don’t like the outcome. So that’s what I did. For reasons I’ll get into in my next post, you have to do this after accepting Lord British’s first quest. The outcome of the RNG is predetermined when you step into a dungeon, so if the outcome is bad (as it was when I entered the dungeon near Lord British’s castle), go to a different dungeon next time. One dungeon granted a successful roll.

I'm ready to punch a thief in his stupid face.

And the best part? If you leave the dungeon, come back to the same place any time later, and use the amulet again, you turn into a lizard man again, which I found it necessary to do when even my 62 strength wasn’t enough to contend with a gremlin on level 5 before he could spoil all my food.

With 160+ strength and 130+ dexterity it was pretty smooth sailing. No monster could harm me. I did have to kill a gremlin as a quest for Lord British, and I prepared for it by farming gold and buying 2000 food, but it only stole from me twice leaving me with 500 food.

Eventually, Lord British asked me to kill a balrog, which I found roaming on level 10.

Like all other monsters, I killed it without taking a scratch, and then I returned to the surface with my amulet spells, and visited Lord British for the last time.

The game continues, but unless you want to see how deep you can spelunk, there’s nothing else to do at this point.

Playing the original version of this game has not endeared it to me. Instead of beating it easily by abusing spells with savescumming, I tried to beat it honestly, failed, and then beat it easily by abusing spells with RNG manipulation. And I can’t see how you’re supposed to beat the game at level 10 otherwise; even with one successful Lizard Man transformation, which alone took my stats far beyond what they can reach by any other means, I still wasn’t killing gremlins fast enough to save my food.

Maybe it’s my fault for playing at level 10, and maybe it’s more fun at a lower level, but I think the fact that it’s presented as a viable gameplay option means it should have been programmed as one. If there had been some ingame guidance advising me to play it at, say, level 5, I’d have done so. The additional fact that at any lower level, Lord British will challenge you to win again at the next one, indicates that Garriott intended winning at level 10 to be an achievable feat, and unless he also intended it to be beaten through multiple Lizard Man transformations, then he failed.


  1. If I'm not entirely mistaken, the trick to beating the game on the higher levels "fairly" was to play as a mage, grind up money for a whole boatload of amulets, then use the Ladder Down spell to get down to a floor containing what you need to kill, find your victim, spam the Kill spell until it dies, then use the Ladder Up spell to escape. The Kill spell doesn't care about what your stats are, so all you need to succeed is enough HP to tank the damage the monster will inflict.

    1. I did try that. Couldn't find an efficient way to grind money like that; the high HP thieves would kite me and steal tens of GP worth of gear before I could kill them, and that's assuming they didn't swipe my last axe.

      Surprisingly, the amulet uses dexterity to determine if you hit or not. At 20 dexterity you have a 4% chance of hitting a balrog on level 10, and at anything lower you have no chance at all. At least that's how I understand the BASIC code to work.

    2. Googling a bit got me this account from someone who beat it on Level 10 with a single Lizardman spell, at least.
      Considering you can start with 24 dexterity and can essentially choose your initial quest to get a bunch of stat gains from British, you can knock that up to at least 30, which is 44% chance of hitting a Balrog on level 9, which is still a bit on the obnoxious side, but not unreasonable.

      Also, here's an account from a guy that was able to easily grind the same few chests over and over for lots of money at minimal risk.

      So while beating the game at level 10 seems to require a proper understanding of how stats work (especially wisdom), minmaxing and playing kinda cheap by searching out easily pillaged dungeons, it absolutely seems doable without using any Lizardmen, and definitely without using multiples.

    3. Great find! I think it does show that a "fair" play is doable. I wish I knew Ophidian Dragon's lucky number so we would repeat his method of efficient chest farming. None of the dungeons I encountered were so easily plundered. One caveat - the Apple II version crashes if your wisdom is 33 or above when talking to L.B. for the first time, so that single Lizard Man spell needs to be planned accordingly, either cast after getting the first quest, or before with a starting wisdom of 13 or less.

      And I love the imagery of a lanky mage slowly punching a Balrog to death. You shall not pass, indeed.

  2. Hi Ahab. I was able to beat Akalabeth without using Lizardmen. I save-scummed quite a bit, so it is not completely genuine, but it theoretically proves that the game is beatable without lizardman.

    I examined the stats roll for lucky numbers 1-100, and concluded that 98 is the best when the difficulty is set at 10 (difficulty level also influences the stats rolls). The stats are:

    Strength 23 Dexterity 23 Stamina 19 Wisdom 8

    The amulet is necessary, but not for the kill spell. I was able to defeat Balrog only with my ax. As you have mentioned multiple times, the major and only obstacle is the Gremlins.

    First of all, unless it is to complete the quest, totally avoid Gremlins. Do not fight them. If you encounter them, cast the ladder spell to escape.

    It seems like the exact same combinations of monsters spawns every time you enter a dungeon level. So if you have encountered Gremlin on a level, avoid that level all together using the ladder spell.

    You do need to kill the Gremlin at least once to advance your quests. I used save-scumming here, and I was able to kill it with around 2500 food. Randomness in this game is "destined", so save-scumming doesn't change the outcome of the battle. If you have 8000 food, I think you are guaranteed a win regardless of your "destined RNG".

    I killed a Balrog on a level where Gremlin also was there. I got pretty lucky, because there was another monster stuck between the Gremlin and I, so I didn't have to worry about the Gremlin while I mindlessly bashed Balrog to death.

    Again, if you are not save-scumming and permadeath is on the line, then you should choose a floor where Balrog and Gremlins don't coexist, or bring plenty of food (more than 8000, since Gremlins on level 9+ has more HP than the Gremlins on level 5-6).

    As for accumulating money, I didn't see any problems. Every level has 1-3 chests, and I was naturally able to accumulate the necessary wealth while I was mapping out each level. Besides, as I have said, the amulets primary purpose is casting ladders to escape from Gremlins, so I usually only had 5-8 of them.

    1. I will add that I encountered Gremlins on two of the levels through level 5-9. I used the dungeon that is located to the Southeast of British's castle. I beat Balrog on level 9. My final HP was around 15000, but this is way more than enough. I had to kill 2 other monsters before battling the Balrog, but I only took a total of around 1000 in damage.

    2. Congrats on the regular-man win! That was some serious effort in finding an optimal seed.

      I tried out your lucky number, using the dungeon 6 south 1 east from L.B.'s castle. This is a pretty advantageous dungeon!

      Thieves do not appear on levels 3 through 6. This is important, because high-HP thieves will take forever to fight and very likely steal all of your amulets and axes.

      Gremlins start appearing at level 6. This isn't optimal - it means they have 134 HP instead of a minimum of 114, but it could be much worse.

      Level 5 has an orc, a viper, and carrion crawler to fight, and a chest. This means 30 gold per run from the monsters, plus whatever gold and item you find in the chest.

      I tried fighting the gremlin without farming just to see what would happen. I had about 960 food, and 326 HP. At 29 strength and 29 dexterity, I expect to hit 64% of the time. I should do between 6 and 9 damage about 80% of the time, evenly distributed, 10 damage 16% of the time, and 5 damage 4% of the time.

      Turn-by-turn, this is what happened:

      I miss, he hits (HP=320)
      I miss, he steals (Food=480)
      I miss, he steals (Food=239)
      I miss, he steals (Food=119)
      I hit (GHP=126), he steals (Food=59)
      I hit (GHP=117), he misses
      I hit (GHP=107), he steals (Food=29)
      I hit (GHP=100), he misses
      I hit (GHP=90), he steals (Food=14)
      We both miss
      I hit (GHP=80), he hits (HP=310)
      I miss, he hits (HP=301)
      I hit (GHP=72), he hits (HP=289)
      I hit (GHP=65), he steals (Food=6)
      I miss, he steals (Food=2)
      I hit (GHP=56), he flees
      I pursue, he steals once backed into a corner (Food=0)
      I hit (GHP=?) and starve to death.

      I hit 10 out of 17 times, a ~59% success rate, somewhat less than expected but well in the margin of error.

      My damage inflicted is never less than 7, and I did 10 damage three times out of the nine that I could observe. This is substantially better than expected, and I may have misunderstood the damage formula or miscalculated the odds.

      The Gremlin stole nine times in 16 opportunities. Slightly more than the 50% expected odds, but within reasonable deviation.

      I'm not really concerned about taking damage, so I didn't bother to analyze its hit or damage rates.

    3. On closer testing, it looks like fists always do Strength*0.2 damage rounded *up*. And reviewing the code I did misunderstood something. The damage isn't rounded down; the monsters' HP is!

      Based on that, I should be doing 7-10 damage for 80% of my hits, evenly distributed, 6 damage 6% of the time, and 11 damage 14% of the time, with an average of 8.7 per hit. But in my tests I never did the full 11 points, just 10 at most!

      Did another attempt starting with 2686 food. Here, damage from the Gremlin counts as a miss, because I only care whether he steals my food or not.

      I approach, he steals. (Food=1343).
      We both miss.
      I hit, he misses. (GHP=127)
      I hit, he misses. (GHP=120)
      I hit, he steals. (GHP=111, Food=671)
      I hit, he steals. (GHP=101, Food=335)
      I hit, he steals. (GHP=95, Food=167)
      We both miss.
      We both miss.
      I miss, he steals. (Food=83)
      I hit, he steals. (GHP=86, Food=41)
      I hit, he steals. (GHP=79, Food=20)
      I hit, he steals. (GHP=72, Food=9)
      We both miss.
      I hit, he steals. (GHP=64, Food=4)
      We both miss.
      I miss, he steals. (Food=1)
      I miss, he steals. (Food=0)
      I hit and starve. (GHP=?)

      I hit 55.6% of the time.
      He stole 61.1% of the time.
      My damage range was 6-10, averaging 7.78 per hit.

      It's very possible I was just unlucky both times. But assuming fair odds (and that my math is right), I can expect to need 28 rounds to hit him 18 times, to do the 154 points of damage that I need to kill him. If he steals 13 times, then I will need over 160,000 food to win with 20 food remaining. I think you'd need a pretty favorable RNG seed to win with only 8,000 food!

    4. Thank you for taking the time to look into this!!

      I was just typing a reply to you with several numbers and calculations, but I accidentally erased it . . .

      To summarize it, against the Gremlin on level 6 with 134 HP, assuming the amulet is stronger than the axe and we take only 20 turns on average to kill it, and we have 11,000 food, the success rate is 41%. 11,000 food is 1100 golds, which is tedious but doable. I am quite interested in the damage calculation for the amulet. (I killed Balrog with the axe, but Gremlin with the amulet)

    5. Amulet damage, if I understand the code right, is:
      RND(10+[Dungeon level]) + Strength*0.2

      So on level 6, with 29 strength, damage per hit would be a number at least 5.8, but less than 21.8, and then rounded up. Expected average of 14.3 damage per hit.

      Based on that, we'd need 15 turns to hit 10 times necessary to do the 134 damage. If he steals seven times, then we'd need 2,560 food to end with 20.

      I tried the amulet strategy:
      I hit, he misses (GHP=127).
      I hit, he misses (GHP=119).
      I hit, he steals (GHP=101, food=1343).
      We both miss.
      I hit, he steals (GHP=92, food=671).
      I hit, he misses (GHP=85).
      I hit, he steals (GHP=66, food=335).
      I hit, he flees (GHP=51).
      I pursue, he steals (food=166)
      We both miss.
      I hit, he misses (GHP=29)
      We both miss.
      I hit, he steals (GP=7, food=82)
      We both miss.
      I miss, he steals food (food=40).
      I hit and kill.

      I hit 10 of 15 attacks, about what the dexterity formula predicts.
      He stole 6 of 14 turns not counting the one where he fled, which is once less than the model predicts.
      My nine hits apart from the killing blow did between 7 and 22 damage, which is exactly the range expected, but the extreme values of 7 and 22 came out twice each, which is unexpected. Average damage was 14.11, very slightly less than expected.

      Basically, this didn't deviate much from the prediction model. Had the gremlin stole 8 times rather than 6, I'd have killed him but also starved to death - I think this random factor is the greatest potential for things to go wrong (or in your favor).

    6. Thanks Ahab!!

      So the amulet is dependent on the strength as well! As always, you have updated the mechanics page right away with this new info, but you forgot to erase the "but not amulets, which don’t care about strength" phrase :)

      The probability of successfully killing the Gremlin is exactly 50% in the above model. Realistic, but super risky. If you need to avoid permadeath, I guess you should be carrying more than 2500 food. But then again, your success rate might only be 50% but the probability of you dying is not 50% because you always have the option of laddering up and evacuate when the first several turns doesn't go your way.

      Thank you again Ahab, for providing all these datas (and Wizardry as well). Knowing these damage calculations and combat algorithms makes a huge difference, not just being able to beat the game, but it greatly enhances my playing experience and enjoyment.

    7. "you forgot to erase the "but not amulets, which don’t care about strength" phrase :)"

      Yep, thanks! I fixed that.

  3. This comment has been removed by the author.


Most popular posts