Making a MUD - 0 - Motivation
Go forward to part 1
I used to play MUDs years ago. I absolutely loved them.
A MUD, or Multi-User Dungeon, is in essence the precursor to graphical MMORPGs. There are a couple of variants on the name:
- MUCK (a play on)
- MOO - MUD, Object Oriented
- MUSH - Multi-User Shared Hallucination
- MUX - Multi-User Experience
While each has a slight difference, "MUD" is generally the catch-all term.
MUDs are text-based. Rather than clicking on a picture of a book to make your character pick it up, you'd instead type
take book or something similar.
I think the MUDs are much more immersive than any graphical game could ever be. Your imagination creates and details the world as you explore even more so than if you are reading a novel.
The game world can be vast and unending. Because the game is just text, anybody can create a piece of the world without any knowledge of programming or computer art design. Items can be created by players, not like a craft skill in a MMORPG but a genuinely unique piece of the game itself.
You can already play a MUD. There is no multi-gigabyte client installation to sit through. It doesn't matter if you use Windows, Apple, Linux, Android, iOS, BSD, whatever... Open a Telnet client or a special MUD client if you prefer, type in the address, and you're playing. There are also web pages with embedded clients using Java or Flash if you don't even want to bother opening Telnet.
When I first saw the Internet in the late 1990's, I played Dragonrealms almost non-stop. Years later, I lived to play Cities of M'Dhoria. Now, I want to create my own.
There are quite a few MUD engines I can simply install and run, but I want a bit more. I'm an engineer; I want to create it all myself. Generally, "Not Invented Here" is something you avoid in a corporate environment. Software and firmware packages already exist and are maintained, so it's faster and cheaper for the company to buy something to use rather than creating it. Large-scale software and firmware engineering involves a lot of "glue code" rather than original thought, creativity, and design.
While I can make the game world almost immediately, I choose not to. I'd rather build a shelf that fits perfectly in a space in my apartment than buy one that only sort-of works. Plus, I can take pride in the construction, and I enjoy the feeling of actually creating it from scratch. Rather than buy a marking gauge, I built one.
I currently live in a situation where I can't physically build anything, so I'm going to build something virtually. Just like the physical world, I'd rather build my own tools.
I think it's interesting to watch a small, 1 kilobyte file project grow to hundreds of files and the design decisions behind each. Here, I will log what I am creating and why as a learning experience for myself and hopefully others. Essentially, I will be rubber-ducking this long-term project.
Go forward to part 1
Photo credit: Teekatas Suwannakrua, Waite, and Riviat - via Wikimedia Commons