Chapter 1
Overview

This document is intended for people who are administering Multi-User
Dungeons based on the CircleMUD 3.0 public source distribution, and who
are responsible for making these MUDs interesting through modifications to
the source code of the game program.  It assumes that you have an idea as
to what MUDs are, have a reasonable knowledge of the C programming
language, and have access to the computing resources, in both hardware and
software, to actually download, unpack, compile, link and run the program. 
It also assumes that either you or someone you know is willing and able to
act as a builder, to modify the world files as needed to accommodate your
changes.  Some experience with adventure games is also desirable, since
understanding how these games as a category are played and experienced
will enhance the reader's understanding of much of what is discussed.  MUD
experience, particularly with Diku-class MUDs or derived types such as
Circle, Envy and ROM, is preferable, since it is questionable why someone
would implement a MUD without having played one before.  However, most
role-playing adventure games, such as a number of Dungeons & Dragons
games, members of the Wizardry series, or games like Diablo share many of
the same concepts, and experience with these will suffice. 

This document is not intended to replace Jeremy Elson's "coding.doc" file,
nor is it intended to be an end-all guide to manipulating the code of the
MUD.  Rather, it is a walk-through by example of how to make a few of the
common types of additions to CircleMUD which require working with the
program source code, based on the newest version available, which is
version 3.0, beta patch level 11.  The intention is to supplement the
documentation which comes with CircleMUD in a couple of areas which are
not covered or are incomplete.  Parts of this, however, are intended to
replace or combine other mini-documents which may have missed a couple of
spots along the way.  I can only hope I haven't missed too many myself. 

The purpose of this document is to provide examples of some of the more
popular types of modifications to the game code.  This includes the
addition of a new player class, the creation of skills and spells, other
commands, and non- player character special functions.  After that, we'll
finish up with a couple of ideas about what more can be done that would
make your game really unique.  Along the way, I will attempt to explain
what these changes do, so that you aren't just making them blindly and
taking it on faith that they will do what you want.  Never take it on
faith that what I or any other by-example writer does in their example
will have the exact results you are after.  For starters, the specifics of
your idea of what you want are probably rather different from what I was
thinking about while writing this.  Also, I'd hate for someone to go
MUD-hopping and discover that every other MUD they hop onto has identical
additions to the ones I've placed here, and is, beyond those changes, a
stock CircleMUD.  I urge you to show some creativity in applying the
information contained herein, and tailor your MUD to suit your own
personal tastes and those of your players, using this material as a guide,
not a Bible.  After all, the point of modifying the code is to customize
it for yourself and your player base, so that it provides those players
with a somewhat unique experience, within the context of still being a
CircleMUD-based game. 

Above all, remember that the purpose of these games is to have fun.  While
it is understandable if you find yourself disappointed with someone else's
MUD, it is unforgivable for you to find yourself not enjoying your own
MUD.  After all, it's your game.  You have the power to make your MUD all
that you want it to be.  It just takes a little time at the keyboard, a
couple of compiler passes, and the will and commitment to doing the job,
doing it right, and most importantly, to doing it your way. 


Chapter 1	Overview
	Page 1-2
