Snippets and Patches

From: Marc Gale (MARC@BGC.AC.UK)
Date: 09/02/98


For those that are interested, my two penneth follows;

Some of us have a tendancy to forget what it was like trying to
*start* running a MUD.  I try not to.

What I mean is, okay, you have played MUDs, you may or may not have
been an immortal on someone elses MUD.  You do a bit of digging
around and you find the CircleMUD web site.  Hooray, you think, I can
run my own MUD.

So you download the code, compile it on some platform or other, and
connect and have a mess around.  You think about some zones, and may
even write a few after reading the documentation in the directories.

(I agree that some people may not actually read the documentation,
but for those people who are reading this, go read *all* of it, now)

You then realise that CircleMUD is very basic, compared to the
excellent MUDs you have been playing on.  After reading the
documentation you also realise that this is intentional.  CircleMUD
code base being a nice clean slate with which to base your own MUD
on.

You have a few ideas of what you would like to add to your MUD and
you may start having a bash at coding.  This tends to follow one of
the following styles;

1. You know C already and just need to familiarise yourself with the
way Circle is put together.

2. You have never coded C before, but, having a logical mind, and a
working system in front of you, you have a play with the code,
changing things that will have a visual effect, and recompiling and
running the MUD, learning how to code Circle this way.

3. You have never coded C before and you run out and buy one or more
C programming books, intent on learning what you need to be able to
do what you want.

4. You find a friend who knows how to code C and you work together,
learning from his experience, and getting things coded.

5. You join the CircleMUD discussion list, hailed as a friendly
source of information and a place of discussion for all aspects of
CircleMUD (moaners and flamers take note).  And send a polite message
asking for help with something you are doing.  Sometimes you get the
typical RTFM response, you blush, and read the manual, finding what
you needed.  But at least now you know.

6. No doubt many other ways.

You also find the snippets page.  WOW! so many people have written
some excellent code and have made it freely available for other
CircleMUD admin.  You browse through the directory, reading the text
files and download whatever fits into your MUD idea.

You also decide that when you get some wonderful and useful piece of
code, you will send it to the snippets section. (Honest, you will.
hmm, I wonder if email can implant suggestions *smiles*)

Now back to the issue at hand.

When should we use snippets and to what degree?

I agree that base circle and a bunch of snippets should not be the
entire MUD.  This also extends to the free zones kicking around.

There is nothing wrong with taking snippets that are exactly what you
need for your MUD, and ignoring the other ones.  It is assumed, I
think, that you will use these in conjunction with your own code.

A basic Circle base, and snippets, *can* make for a very samey MUD.
But this is arguably a good thing.  People like Circle because they
know how it works.  If you use the mount code, and people play your
MUD, they may already know how the mount code works, and be very
happy that their knowledge is useful on your MUD as well.

However, there is a great risk of hitting this phrase 'Oh, this MUD
is just like <MudName> but with a few extra zones.  Sod it, I'll play
the other one, this offers nothing new'

This is what I think people who use snippets should be wary of.
Using snippets and patches should be used along with your own code
and ideas.  They should help create the framework to build your own
MUD on.

I won't get into MUD design here, as I've waffled on far enough.

Marc


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST