== THE STORY ==
Our home computer in the mid-to-late 1980s was a 12 MHz 80286 clone. It had 2 MB of memory, a 20 MB hard drive, and a Hercules-compatible graphics card. The display was a glorious green phosphor display. Forty years later, I still remember every aspect of this computer, because it was in many ways the center of my childhood. To say that I was "obsessive" about computers would probably be an understatement.
At some point, we ordered a collection of shareware from a company called Lone Star, which was basically a diskette-duplication service that sold shareware disks for a few dollars apiece. My dad let me pick out two or three titles to go along with the various CAD and amateur radio programs he wanted to order. The one that most captured my imagination and my time was a game called DND, sold by R.O. Software.
DND was a pre-Rogue ASCII-based dungeon crawler. The dungeons were static. Three classes (fighter, mage, and cleric) were available, with the latter two having their own unique set of arcane and divine magic spells available to help you best the denizens of the dungeon. Get lucky and you might find some magic armor, weapons, cloaks, and rings along the way. Take your chances reading a book or drinking from a fountain, because something bad is just as likely as something good to happen.
DND, as it turns out, had a tangled family tree. The version I played descended from a VAX game of the same name, which descended from the DND that Daniel Lawrence wrote at Purdue on a DECsystem-10 sometime in the mid-to-late 1970s, which may or may not have descended from a PLATO game called dnd, written by Gary Whisenhunt and Ray Wood around 1974 and 1975. I should note, I have no dog in this race. There's real and lasting friction about the extent to which Lawrence's DND was a copy of the PLATO dnd, versus something arrived at through some odd game of telephone between players of both.
The PLATO folks say Lawrence played their game at Purdue in 1976 and then went and wrote his own. Lawrence maintained he built his independently, and that he started earlier than his critics give him credit for, which is really what the whole argument turns on: whoever gets to set the date wins. I don't know. I wasn't there. Regardless of what was copied or inspired or some combination of both, all the way back to pedit5 on the PLATO system, it eventually led to the version of DND that I played on the PC.
Without a doubt, that version was a straight-up port of the VAX software to the PC, originally, I believe, in Pascal, then later rewritten in C or C++. That's the version I knew as a kid. That's the version I loved as a kid. That's the version that (indirectly) led me to a career in software development. There was an introduction text file that cribbed some text from the original DM's Guide, including a passage extolling the virtues of Robert E. Howard and Fritz Leiber, and it fed directly into my already ample consumption of fantasy and science fiction.
At one point we were in the B. Dalton Booksellers in the Valley Mall in Harrisonburg, VA, and I asked my dad to buy me a game. He deferred.
A week or two later, he handed me a package that had come in the mail. "Here," he said. "You can write as many games as you want to with this."
Inside was QuickBASIC 1.0.
And I did write games. Many of them were variations of DND. I have a vivid recollection of a PC magazine we had with some game reviews in the back, including a review of Rogue. Having not played it, the random, procedural nature of how the levels were built was unknown to me, so the many copies of Rogue that I built all included pre-built maps, because that was what I knew from DND. Everything I 'knew' about Rogue was gleaned from one or two screenshots and a couple of paragraphs of copy.
Later, in college, I would play Rogue, and fall in love with it in a similar way to how I fell in love with DND years earlier. The similarities and differences between Rogue and DND are part of the reason I'm talking about all of this today. I love Rogue, but I love DND for different reasons. It's like a glimpse down a road not taken.
The software hosted on this site is yet another copy of the DND game. This is a rewrite, not a port, though I suppose the distinction is tenuous. I did have and look at the BASIC code from the version that existed on the VAX in the late 70s. I didn't copy the code, the flow, or the execution path, because honestly I'm not even sure what it would look like to try and do that moving from BASIC to Swift and Kotlin. I did copy the gameplay, the various calculations that determine combat, how equipment worked, how abilities were used, how spells and monsters worked, and so on. I also copied the maps. I copied the original three maps from the VAX version, and the extra two maps that R.O. Software created. I reverse-engineered these maps, and in the case of some of them I actually finished them, so that all maps include a full 20 levels and a dragon orb on the 20th floor. I borrowed, and I built.
That reverse-engineering left me weirdly qualified to say something about the old plagiarism fight, so here it is. The version I played was the far end of Lawrence's line, so everything Lawrence added, I actually played. Those three classes I mentioned? Lawrence's. The three dungeons? Also his addition. While I never played the PLATO dnd, by all accounts it had a single dungeon and one all-purpose character, with no class to pick. I can't (and wouldn't) tell you the PLATO game was worse. I never sat in front of it. But I can tell you this: you don't add dungeons and classes and depth to something you're only tracing. He borrowed, sure, but he also built.
I also spent a lot of time and effort coming up with an interface that bridged the past to the present. I worked out the best way to convert the keyboard-based game into something a little more modern and mobile-friendly, and came up with the "action keypad," which lets you play the game with all of the features the original had using nine buttons. To make the game more mobile-friendly, I introduced state, so you can play a bit when you have some downtime, quit, and immediately come back to it at your leisure. I managed, with some amount of success, to shove an 80x24 character game meant for a 14" display into a vertical phone application. With the exception of the action icons, I did not replace the original text dungeon layout with modern graphics. Use your imagination.
The game is hard. Like… stupid hard. I've never once managed to get the dragon's orb out of the dungeon. The store, introduced in Bill Knight's version, can be used to better equip your character and give them a much higher chance of surviving. I created an enhanced mode to balance it out a little bit and, in the process, make it a bit more interesting. I added level 5 spells. I added a bunch of new monsters. I themed the various dungeons and added about a dozen new room types, including new "boss" lairs. (dnd on the PLATO system is regarded as the first game to include the notion of a boss monster at all.)
The classic mode exists, and you can play it as such. It's CLOSE to the original VAX version, though I'm not going to guarantee 100%. The enhanced mode is a little more interesting, in my (not particularly) humble opinion. It's still not a "modern" game, because in enhancing it I went out of my way to not incorporate elements of Rogue and its descendants. In my mind, the PLATO to DECsystem-10 to VAX, pre-Rogue ancestry of DND is what makes it so interesting. When I added new rooms and new features, I really tried to ask myself: what would the original games have had, similar to this, if they hadn't been under the memory and compute constraints that they were? And that's what I've tried to create.
The version I fell for was shareware, twenty-five dollars, built by Bill Knight of R.O. Software from Lawrence's code that Knight found on a machine at work, with a chunk of the Dungeon Master's Guide pasted into the install file. I'm not throwing stones. That whole lineage runs on borrowing. This one is free on both platforms, writing it has not been a money-making endeavor, and it credits everyone it came from. It's a love letter to a treasured memory of my youth. It's a game that exists because I wanted to play it. The Android version only exists because one of my friends wanted to play it too.