Middle Earth Mud

Description

Middle Earth Mud is a Multi-User Dungeon (MUD) based on Tolkien’s works. It aims for realism and tries to stay as loyal to Tolkien’s works as possible.

History

I started Middle Earth Mud while in Scotland, March of my sophomore year of high school (’03).  It began when I downloaded an old codebase (CircleMUD 3.0) and started fiddling with it.  I was able to get it to run, at which point I got the idea for a Middle Earth based MUD.  Not just any Middle Earth base MUD.  One that would strive for extreme realism as well as attempt to be loyal to Tolkien.

That summer I got a simple web server set up on an old iMac G3 rev D and Middle Earth Mud was born. I changed a number of things in the code slowly, but it was still a pretty stock CircleMUD. One of my first orders of business was attempting to implement an online shaping system. I based it, aesthetically, off the online shaping system I used while working on Return of the Shadow, because I liked its look and feel. I had to write it all from scratch, however, because I’d never had access to RotS’s code.

When the shape system reached a point where it was usable Middle Earth Mud became Middle Earth Mud II and the online construction began. Over the course of Middle Earth Mud II’s life the old CircleMUD/DikuMUD default engine was removed and replaced with an engine that looked much more like MUME. Though was in no way a direct clone. Weather was updated and made more realistic. A crafting system was added in, whereby players could be craftsman rather than fighters or adventurers. A house system was added in allowing for player homes. Eventually however, the code reached a point where it was clearly in need of desperate redesign.

In the fall of 2005, while I was taking my first Computer Science courses at Skidmore College I realized just how much Middle Earth Mud needed a redesign. I began to completely rewrite the code at it’s base in C++ and using the data structures and algorithms I was learning about in my Computer Science courses. It has slowly become Middle Earth Mud III.  Eventually Middle Earth Mud III’s code will be released – stripped of any Middle Earth specific code – as the open source Muddy Reality code base.

Current State:

The current state of Middle Earth Mud is Middle Earth Mud IIIa4. The fourth alpha includes completely rewritten code for the database system to take advantage of C++ classes. It includes a system to keep the data files organized using sorting algorithms and a quick and easy way to find various objects using searching algorithms.  A ‘dynamic storage system’ has been added in, which allows data to be robustly loaded from the text files in which it is saved.  This means that the classes could change, but the save files don’t need to be updated – they self update.  The classes for Characters, Accounts, Rooms, Terrains, Zones, Areas and Regions are all written and most of them are using the dynamic storage system. A new Account System has been written along with improved Character creation.  A new movement system taking advantage of vector mathematics to allow for movement with in a room and continuous movement from room to room rather than the broken movement of old DikuMUDs is mostly functional.  The game is currently down and development is on hold while I work on Fridge to Food.

Planned Features:

For features planned for Muddy Reality, please see its site.  Once the Muddy Reality codebase is finished building will begin again in earnest.  The world of Middle Earth will be broken down into 15 regions and construction on those regions will take place simultaneously.  Construction will begin first in the major cities, towns and fortresses (Rivendell, Goblin Town, Bree, the Lonely Mountain, Minas Tirith, Barad Dur, etc) and radiate out until all of the world is built.  A Middle Earth specific magic system will be added to the Muddy Reality code base.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>