Legend of the Red Dragon

Personal project

Before the Internet became widely available, there were bulletin board systems that you would connect via your dial-up modem. One of my favourite “door” games was Legend of the Red Dragon by Seth Able Robinson.

The need

I find it helpful to have a specific project in mind when I’m learning a new programming language, and when I decided to move from desktop application development to web application development, I decided to attempt to recreate Legend of the Red Dragon.

The solution

Recreating the look and feel of a text-based game was easy enough. Reverse-engineering how the game actually worked under the hood was more difficult, but various FAQs and wiki pages provided helpful insights.

I began the project in ASP using a Microsoft Access database on the backend. Two years later, I began migrating to PHP and MySQL when it became apparent that the LAMP stack was going to be more prevalent. The project has also served as a sandbox for learning JavaScript and JQuery.

The PHP version is not yet playable, but the ASP version is currently playable and includes some IGMs, such as Barak’s House which Robinson also wrote.

Initially, I set out to recreate version 4.00a of the game, which was the last version released by Robinson before he sold it to Metropolis GamePort in 1997. I had mixed feelings about the changes made to the game by Michael Preslar in subsequent versions. As I started to explore popular IGMs, I came across The L.O.R.D. Cavern by Jason Brown, and it was such a perfect addition to the game that I decided to recreate it; the documentation helpfully provided all the information I needed to understand what was going on in the source code.

My version of the game is currently 4.09, and includes everything from 4.00a plus the following improvements:

  • Troll forest event from version 4.07 has been added.
  • Alignment attribute from LORD2: New World has been added. Some forest events and user fights have been adjusted to affect this attribute.
  • Three forest events from LORD2: New World have been added, which make use of the new Alignment attribute.
  • The L.O.R.D. Cavern version 1.7 by Jason Brown and Donald Tidmore has been integrated into the code base as a core feature. Colors have been toned down for consistency with the core game.
  • RHP Sets 1 and 2 for The L.O.R.D. Cavern have been added in a modular fashion. The core cavern code randomly selects cavern events from a subfolder.
  • Special events in the forest have similarly been made modular, with the core forest code randomly selecting forest events from a subfolder.
  • Weapon and armour numbers have been added to the Stats screen for convenience.
  • Numerous spelling and grammar corrections.
  • Login time remaining is animated using JQuery. Unused time is rolled over to the next day!
  • Combat changes: first strike is now determined by a 1d20 dexterity roll; masters no longer use death crystals against your horse.
  • IGM Barak’s House by Seth Able Robinson has been rebuilt according to Robinson’s original Pascal source code. Custom JavaScript written for mini-games.
  • IGM Violet’s Cottage by Trevor Herndon has been rebuilt through extensive testing, and slightly modified for consistency with the core game.

Unfortunately, copyright law prevents me from ever releasing it. Metropolis GamePort still owns the rights to the game, even though they have stopped selling and supporting it.