There’s a special place in computer history for MUDs (Multi-User Dungeons). In the history of games MUDs were the first multiplayer online game, originally being playable across local area networks at colleges, then eventually, after it was invented, the Internet. MUDs were, and still are, essentially multiplayer online text adventures, often with roleplaying elements such as characters and equipment. Especially for those that enjoy text adventures, MUDs hold a certain charm.
One of the things that gives MUDs their appeal is the ability to play them from almost anywhere. You don’t need any special graphics hardware or a powerful computer. All you need is a terminal or console program and an Internet connection. They can even be played using a simple telnet program, though there are also dedicated MUD clients that offer special features such as syntax highlighting and mapping.
Many of the more modern MUD servers are written in C. Which is to say they were written a while ago and have simply been refined and updated since then, while keeping the same underlying server architecture, with the two most popular MUD server bases being Diku MUD and ROM MUD.
For my next programming project I’ll be creating a MUD server in the D programming language. There should be many advantages to writing it in D instead of in C or even C++, such as better memory management, more modern syntax, and overall ease-of-use while still being memory efficient and fast.
In order to fit the design I have in mind, rather than incorporating the game world into the code itself I’ll write an interface that can load the game world from separate files. This will make the programming a little more complicated but it’ll also give the server flexibility. That way changes and additions can be made to the game world without having to change the underlying server code and it also means the same server can be used for different sorts of games.
The goal for the first version of the server is to simply create an online game world with rooms people can navigate among and chat with each other in. Once that’s complete, the more complex items will be added such as objects that can be picked up and used and all the other elements that are normally associated with MUDs and similar online games.