11 October 2005 

An Absolute Beginner's Guide to MUD Programming
By Jon Morrow

Part 1: Introduction

"Sure, I have never programmed before, but I want to make games!"

I imagine that every person to have ever desired to program a game has uttered this phrase, or at least thought it. The Veteran programmers have a tendency to mutter this in their sleep, for at every programming newsgroup or mailing list they turn to, countless neophytes agonizingly scream it in bursts of incredible frustration. If you have ever been reduced to this level, or you are simply struggling to get started, this article is for you. Wipe away your tears, regain your feet, and lend me your hand, because I am about to show you the glorious world of MUD programming!

What is a MUD? Well, this is a little difficult to answer because the term is used so broadly these days. It stands for Multi-User Dungeon. MUDs began as an online version of a board game called Dungeons & Dragons, hence the acronym. However, over the past twenty years or so they have evolved to be the single most popular form of interactive entertainment for all age ranges. The most complex and magnificent MUDs take the shape of entire worlds where thousands of people interact to form intricate economies and societies, an occasional battle between computer-generated monsters and players may shift the game's history, and people get together to form indispensable life lasting friendships.

MUDs are the perfect environment for someone to start learning how to game program. They can be programmed and maintained by a single coder, often yield incredible results, and they are simple enough for anyone to learn. Now, don't get me wrong, it isn't an easy path to the big bucks, but it provides a great learning foundation that teaches important concepts like modular design, networking, and how to maintain a large gaming server. The best thing is, it is also totally free to get started!

Part 2: Steps to Success

You may be thinking, "Wow, this sounds great! Let's get rolling!" Well, we could jump right in and get you running, but my goal here is do that and help you distinguish your MUD from the thousands of others out there. Making a great game is only half of the ballgame. The other half is getting everyone else to realize that you made a great game. To do this, you will need to have a clear game plan. Here is what I recommend:

a) If you have never played a MUD before, finding a good one is probably the best place to start. You might want to play several different kinds and decide which you like best. Playing different kinds is not only a good way to get a feel of what you are getting into, but it also serves to help you get a group of friends with similar interests. Your friends might be your only players in the beginning, so treat them well!

There are basically two different kinds of MUDs: hack'n'slash and role-playing. You can go all-out with either, but the best games on the Internet are a careful and delicate blend of the two. However, these games are often overcrowded and don't have many opportunities beyond playing for the beginning game programmer, so I recommend finding a smaller and only moderately successful one. Why? You are going to need to work your way up the administrative ladder in the next step, so you don't want much competition!

If you can't decide where to start playing, surf on over to www.mudconnector.com. These folks have created an incredible resource where thousands of unique MUDs are described in great detail. Use the searching tool on their site to find the perfect game for you. Do be advised, however, that some of the information found here might stretch the truth a bit, so you might want to compile a list of possibilities and go visit them all. Try and stick around for a few hours on each one to give it an adequate chance. Sometimes the brilliance of a MUD doesn't hit you immediately!

b) Once you have established a network of friends on a MUD, you might consider trying to become an immortal on your favorite one. I recommend being an immortal on at least one MUD before trying to start your own. Normally you are given responsibilities depending on your level of skill and experience. In general, you exchange your services to the admins for tutoring. You may start off by enforcing rules and helping new players, but eventually the admins should offer to let you build areas or they might even teach you to code.

Just for an example, I was a builder of at least five MUDs before I struck out on my own and I still struggled mightily by myself. You will definitely want to get a handle on building first, for once you start your own, you will likely have to train builders. The importance of this is beyond my ability to express in words! World building is probably the most time-consuming task for any game out of there, whether it to be text based or graphical, and it requires the most talent.

Are there any prerequisites for building? Generally, you will need to be on a speaking basis with the administrators, have good English skills, and a creative mind. A good administrator will probably give you a small stomping ground where you can let your creative juices flow down your arms and into the keyboard, creating magnificent, succulent fruits of your labor. Before starting for real though, be sure to visit some of the other original areas within the game to get a feel about what the administration is looking for.

If you show dedication, great potential, and have a great deal of luck, someone will harness your now blossoming creative energy and show you the source code. All of the mysteries will be unraveled and you will be equal to God in your power over the game. Under supervision of the administration, you could then implement all of the awesome ideas that you have been dreaming about for so many years! Don't give them all away though, for you need something to start with in the next step!

c) Now that you have all of the skills and plenty of friends, it is time to start your own! That's right, you are finally to the point where you can probably make it on your own! The first step here is finding the code base that you want to run, which will probably be the kind that you have the most experience with. After that, all you need to do is decide what you want your game to be like and start implementing your ideas!

Don't tell me, you didn't learn how to code in your internship of sorts? Some programmers would tell you that you and the seven generations to come will burn in hell, but do not listen to them! There is hope! Grab yourself several C books, go to the WebSite for the source code you chose, and get cracking. On this road, no one is going to do it for you, much less do it well, so you are going to have to learn and do it yourself. If you are determined and have a very thick hide, you will probably end up being better off than if someone taught you. You learn to figure things out for yourself, exercise your own creative potential, your mind is not polluted by everyone else's foul ideas, and eventually you earn the respect of everyone, including yourself.

Lastly, you need to figure out how you are going to host your MUD. "Hosting?! No one said anything about that!" you scream. You are going to need one of three things: Linux or a Unix box, a Unix emulator, or a shell account. Those of you that are new to MUD administration should probably go with the shell account because they have technical support and you don't have to learn how to be a network administrator. Unfortunately, this route costs money under most circumstances, although it is the best choice in my humble opinion for the novice. I recommend www.betterbox.com due to their outstanding support and low prices. After you get an account, head back to the library or bookstore and get a good book on Unix/Linux.

If you can't pull together the money, you can either beg friends and family or do a great deal more learning. You can repartition hard drive at the risk of erasing everything, go through the hassle of installing Linux, and then learn how to host your own mud if you wish. To be one of the big boys, you are eventually going to have to learn all of this anyway, but starting with a shell account is much, much easier and in my opinion, better.

Note that these are the basic steps to getting started. There are steps beyond this if you wish to take them, but things get much more complicated and difficult. The steps after those will be covered in later articles in great detail. Coding specifics, building, and other overall good administrative practices will be covered in later chapters as well. Until then, happy learning, for you are now on the path to being a game programmer!

 

GIGnews is a publication of GIGnews.com, Inc.
"Get In the Game" is a registered trademark used with permission.

© 1
999- 2005 GIGnews.com, Inc.
Legal