Thursday, 12 August 2010 Muds and Databases

Link: Muds and Databases

A few years ago, I started quoting especially interesting MUD posts in forums that I occasionally read. Unfortunately, I let it lapse, but reading the post I link to here reminded me I should get back into the practice.

Using a database on the backend of a multiplayer game, let alone a MUD, is not exactly a new concept. So the initial question this topic poses, is not very interesting. However, the replies are a valuable insight into the past efforts of MUD developers that would otherwise be overlooked due to the unapproachability of the projects in this day and age. Finding time to work on MUDs is hard enough, without spending it looking at what may be presumed to be ancient and dated projects.

Tyche: [link]

One of the interesting things is that in the distant past muds have been on the cutting edge of technology...sometimes even ahead of it.
For instance this one released in 1993 also features a language that uses run-time dynamic inheritance that's its own object database query language. I did research on this about 10 years ago and only found a total of one contemporary paper even proposing this notion of an OODBMS in the IBM archives, let alone implementing it. Not only that but you can set up multiple mud servers and walk your character around interacting with rooms and objects residing on multiple servers. Distributed mudding.

CoolMud 2.2.1
Author: White, Lambert
Valcados: [link]
Am I reading you right: the web server serves up rooms? As in, you can walk around the game universe through HTTP?

I tried to find more on this. The codebase seems abandoned. I was able to find one MUD online running this code, but it was closed to new players and appeared to be run through a standard telnet connection with no special HTTP support. Are there any working examples of the features you just listed?
Tyche: [link]
Yes, you can browse the rooms, traverse the exits, examine extra descriptions, examine objects and players by clicking on links. That much is the default library, ColdCore. If you want to do more, I expect you'd write more ColdC code. A commercial mud uses the engine, The Eternal City, but they either aren't using $web_daemon in their lib or perhaps don't expose it to the public.

The easiest way to see it is to download it, build it, get the ColdCore lib, compile it and run it. Then look in your browser at http://localhost:1180. The last time I compiled it was 2005, so it's certainly possible there's some bit-rot with newer compilers like gcc 4.x. Actually there's an easier way if you are running windows. Just get the two binaries at and then get the ColdCore lib.

1 comment:

  1. I know that this is a really old post, but if you're interested in ColdC, I have a lot of experience with it. I am on a couple of game servers that still run the codebase, but they're mostly inactive now and I don't know if the http interface is accessible on either of them. I'll bet the server is still the most powerful online-scriptable mud server, though. It's too bad it's no longer actively maintained.