Sign in to follow this  

MUD Help

This topic is 2045 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello,

I have been trawling arond for a good while looking for the answer to this particular question. How do you develop a MUD? I mean an old school text based one. I am not looking for a step by step guide or sample code or anything. I am a programmer by trade (Well only recently Gradudated but.....). I am just looking to get an idea of the basic architecture etc that would go into one. Basically I know next to nothing about programming multi-user system at all, let alone a MUD in particular and am just looking for a place to start.

Thanks for any help I get and apologies to any moderators if this is in the wrong place etc.

Share this post


Link to post
Share on other sites
Start by writing a single-player "MUD"; just make sure it's easy to get to all your game state data (good design will give you this anyway).

From there, you'll need to host a server that simply responds to requests from clients (Give me game state data from map coordinates (0, 0) to (10, 10), because my player is at (5, 5)).

Global chat etc. can be polled by the client or pushed by the server.

Share this post


Link to post
Share on other sites
[quote name='ndssia' timestamp='1335920976' post='4936613']
Start by writing a single-player "MUD"; just make sure it's easy to get to all your game state data (good design will give you this anyway).

From there, you'll need to host a server that simply responds to requests from clients (Give me game state data from map coordinates (0, 0) to (10, 10), because my player is at (5, 5)).

Global chat etc. can be polled by the client or pushed by the server.
[/quote]

Traditional MUDs run through TELNET so there is no specialised client, the basic idea is to have the server run the entire game and the clients mearly send text commands using the TELNET protocol (To which the server responds with the appropriate text).

TELNET is a plaintext protocol so at the most basic level you just open a socket and start sending text, data is sent as 7 bit characters (most significant bit is set to 0 (so bytes with values from 0-127 are treated as data) , if the most significant bit is 1 the byte is treated as a command (See http://support.microsoft.com/kb/231866 ).

a good place to start would be a simple chat, (The server just has ask each user for a name when they connect and then keep track of them and add their name in front of any message they send before sending it off to the other users)

Share this post


Link to post
Share on other sites
I made a simple one nearly 20 years ago in Visual Basic 3 using a null modem cable and win 95 file sharing.

It's just a Multi User Database with some tweaks. Each record had a list of text "links" to other records. Planning the room layout on paper when you enter the data gives the dungeon impression. All the monsters were just computer operated users that traveled the same network of links. Then build on it like letting links link to scripts, adding the battle system. (I gave all items attack values, it was fun attacking my little brother with fuzzy dice and flowers.)

A few years ago I thought about porting the code to PHP. But I lost interest and the code.

I hope maybe this helps, if not, it was fun reminiscing.

Good Luck

Share this post


Link to post
Share on other sites
I ran across these recently when I was writing a little Lua based MUD:
[url="http://www.skotos.net/articles/DAWNOF.shtml"]http://www.skotos.net/articles/DAWNOF.shtml[/url]

It's a series of articles from the inventor of MUDs himself, Richard Bartle. It is probably higher level than you are looking for; he barely mentions the actual server parts. It's mostly a discussion of the game logic parts. Still, a very good read.

What language are you writing in? I've got this little C++ and Lua MUD sitting around. It was a rush job for a class assignment, so it is likely significantly less well thought out and definitely less featurefull than a "for real" MUD, but it is small and it mostly works. It might be good inspiration if you want to write your own. It has an async select based server what for the telnets, with Lua doing pretty much everything else. It also comes with an IRC bot so you don't actually have to use telnet!

Share this post


Link to post
Share on other sites

This topic is 2045 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this