Monday, January 14, 2019

Game 38: DND-1

Play DND-1 here (I prefer the Plain Version):
http://slashie.net/dnd1/

It’s been long well documented that Ultima’s predecessor, Akalabeth, was also known as DND28, being a young Richard Garriott’s 28th effort at making a D&D inspired computer game. But before 2014, information on his first 27 was nonexistent, and indications anyone cared were scarce.

In 2014, Portalarium released scans of source code printed by Garriott in 1979, designated “DND-1,” and offered a community contest to port it to a web browser format or Unity, suitable for inclusion as an easter egg in their then in-development game Shroud of the Avatar.

The contest winners were announced, but the links to the winning entries seem to be dead now. I could only find Santiago Zapata’s entry, which can be played with or without a simulated teletype interface.

It’s a cute gimmick, but the slowness and tiny viewing area gets tiresome pretty fast.

As one might expect, this game is REALLY unpolished, buggy, and just doesn’t feel finished, especially compared to the older PLATO games. This isn’t exactly a fair comparison; those games were made on a multi-million dollar supercomputer system by doctoral students, and were intended for general consumption by university students within the network. DND-1 was the work of a high school D&D geek tooling around on his school’s PDP-11, and wasn’t even played by his own classmates. We also don’t know for sure how pedit5 and dnd played back in the day, as they have been recreated and maintained over the years, and the full extent of changes made aren’t documented.

I’m also not certain how accurate Zapata’s port is. It’s clearly intended to preserve the original’s functionality, infested with uncorrected typos and deliberate interface weirdness, but without any reference guide except source code from BASIC of an unspecific dialect, how could you know for sure what the “correct” behavior of the program is? Any given bug could be authentic to the original, or could be a consequence of misunderstanding the BASIC logic.



Zapata offers a reference card, without which you’re likely to get frustrated and quit before even starting the game.

True to the teletype experience, there is no backspacing. In fact, the backspace key causes my browser to go back one page, kicking me out of the game and causing great annoyance.

When asked if you need instructions, type “no” or you get kicked out of the game.

The prompt for an old or new game will actually load a saved game file if you have saved earlier.

The DUNGEON # prompt is interesting. From looking at the source code, there are six dungeon maps, each stored in a separate file. Unfortunately, these files are not in the source code and have likely been long lost, so the dungeon layout is not Garriott’s original. However, this prompt doesn’t seem to care if you enter numbers higher than 6, and the source code doesn’t seem to do anything special here either, so I’m really not sure what this prompt actually does.

I am not sure what “CONTINUES RESET” does, but the reference card seems to be saying that if you enable it, the game resets when you kill all of the monsters in the dungeon. That’s my best guess anyway.

PLAYERS NME must be “shavs” or else you immediately get kicked out of the game. I’m guessing that Garriott intended to manually authorize multiple players and create a separate save file for each, but never got around to implementing this beyond the initial “shavs” account.

Stats are your basic six from D&D. Interesting that Charisma is there but always rolls zero – an unfinished feature, maybe?



I’m a fighter, because I have no idea how anything in this game works.

Buying weapons “fast” just skips the menu from loading.

I bought a 2H sword, “TLTE” mail, a rope, ten spikes, a bow, and lots of arrows. I never figured out what oil, crosses, or food do.



Don’t forget to equip a weapon!



Looking around, I get a map of my surroundings:



The 6’s represent treasure, so I go for the ones to my right:



Poisoned for two hits, but with treasure. To get my bearings again:



That ‘5’ on top is an enemy, so I attack! The bow doesn’t care that there’s a wall between us.



And here we have a bug. I attacked twice – why did my weapon suddenly switch to arrows? I tried switching my weapon back to the bow:



I don’t understand. Switching back to the bow yet again:



So somehow I don’t have a bow any more. I do have my 2H sword, so I switch to that.
Closing the gap, I cut him down to size:



Moving on, I fall into a trap, but my rope and spikes save me.



And then like an idiot I walk right back into the trap and die.



Wait, no spikes? I bought ten of them!
 
Aaaand that’s all the patience I have for this.

It’s pretty easy to see that this is another early, amateurish effort at replicating Dungeons & Dragons by a young computer nerd who had probably never played a CRPG before, and exists entirely outside the influence of the PLATO games. The same thing can be said of its successor Akalabeth, though, so I’m not sure that seeing this helps my goal of understanding the lineage to Akalabeth and Ultima any better.

The most obvious and most interesting tie to Akalabeth and Ultima is the option to purchase HP for gold. In the dnd-like games, gold either transformed into XP upon leaving the dungeon, or in dnd’s case earned you more HP and SP as you accumulated more of it. But only here is it an explicit option to purchase more HP for money, and this is a feature that would remain with the Ultima series well into the Apple II era.

More mundanely, gold can be used to purchase weapons and equipment. I’m sure Garriott didn’t invent that concept, and that this was a normal D&D gameplay feature that he was simply copying, but apparently it wasn’t such an ubiquitous feature that everyone felt compelled to use it. None of the dnd-likes that I’ve looked at had any kind of equipment store.

Speaking of equipment stores, the one in DND-1 is far more extensive than the one in Akalabeth, offering several types of weapons, armor, and equipment. Food, which I could discover no purpose for in DND-1, will return in Akalabeth and all Ultima games, and is absolutely essential to survival in the early titles. Ropes and spikes return in Ultima, where they serve a similar purpose of letting you escape pit traps (only much less bugged), and return again in the Ultima I remake but seem to serve no purpose there.

It’s just a pity that even with allowances for a clumsy interface and a buffet of spelling errors, this game is basically unplayable. There have been plenty of bugs that I haven’t documented in this post. There was a time that it immediately output “ALL MONSTERS DEAD RESET” before I had a chance to do anything at all.  I have no clue if armor does anything or not, though you can equip it the same way you’d equip a weapon, and I don’t know what that actually does. And there were multiple times when I'd encounter a monster, only for it to attack immediately, relentlessly, and repeatedly, without giving me any chance to react, and it absolutely would not stop until I was dead.


I don’t know whether or not to fault Garriott here for DND-1’s strange behavior. Again, the BASIC source code is the only record that we have, and even the source code itself is printed incorrectly in places, which was common with 70’s teletypes and their noisy lines. Zapata strove for accuracy, preserving the original program behavior with all of its typos and bugs, but without having access to the BASIC runtime used by the computer at Garriott’s high school, it’s impossible to know for sure how the code would have behaved for real. The source code at best can reliably show us how Garriott intended for the game to work, but things that appear to be bugs may in fact behave differently on the real thing due to minute differences in how that particular interpreter worked. If the bugs are in fact “Garriott originals,” it may be impossible to confirm this through the source code alone.

And this still leaves a giant unexplained gap in between DND-1 and Akalabeth. Portalarium claims that DND-1 was gradually refined over the years from 1975-1977 and its “final version” printed out in 1979, the same year that Garriott wrote Akalabeth. What were the 26 games in between like? Were they just iterations on DND-1 that gradually morphed into Akalabeth, or were they distinctly different games? If the former, then why is this apparently improved DND-1 not called DND-2 (or a higher number)? If the latter, did he maintain and refine DND-1 while also developing its sequels, and did the sequels get a similar treatment? Furthermore, if he kept refining DND-1 over the years, why is it clearly so unfinished? And how can Portalarium know this? The story doesn’t really add up and leaves me unsatisfied, and I expect things will stay that way.

6 comments:

  1. It's pretty amazing that anything of Garriot's old DND series is extant! Who knows exactly where this one falls in the lineage of DND 1-27 if it was printed in 1979. I agree though, it doesn't really look like something you could play. Heck... Akalabeth is marginal as a product itself.

    I have enjoyed stumbling on your blog via CRPG Addict, nice work!

    ReplyDelete
  2. The character creation part of this game, along with the title, is so much like Daniel Lawrence's DND that at first I thought not even Richard Garriott had escaped that sub-genre's history of plagiarism and deceit. Fortunately, after choosing the character class, the rest of the game seems nothing like DND. You didn't perceive any similarities, did you?

    ReplyDelete
    Replies
    1. Yeah, the spelling in both games is atrocious.

      Joking aside, I'm certain that any similarities can be attributed to the fact that both games used Dungeons & Dragons as a source. OD&D had six attributes and three classes. Lawrence and Garriott were just copying that rather than each other. I don't see a single similarity that would be a novelty to whichever game did it first (such as the Excelsior Transporter).

      DND-1 seems to have existed in complete isolation anyway, never leaving the high school in League City, Texas where it was written and played. I can't fathom a scenario where Lawrence or any DEC employee takes notice prior to 1980.

      Delete
  3. Is there anywhere you can still get the dnd-1 source code?

    ReplyDelete
    Replies
    1. There is!
      https://www.shroudoftheavatar.com/?p=39149

      Delete
    2. You can view scans of the printout here:
      https://www.shroudoftheavatar.com/dnd1.php

      And someone transcribed them, fixing some of the misprints (compare line 01330):
      https://ringbreak.dnd.utwente.nl/~mrjb/dnd/bas/DND.bas

      Delete

Most popular posts