Re: Distribution pack?

From: Patrick Dughi (
Date: 03/13/01

> > are nearly the same. The CircleMUD genre gets a reputation of being full
> > of stockmuds. That can't be good for the community.
> Joe Soaps turn into the guys you see on this list.  About 5 years ago, I
> got a package deal... and look at me now... I'm developing my own snippets.
> Peter Ajamian and I have taken a stock circle codebase, and turned it into
> a mess of original code and unique ideas.  Not so long ago, Peter hadn't
> played with the CircleMUD code at all, and he contributes to this list
> daily...
> We all start somewhere... so be careful how you word things...

        We all start somewhere; granted.

        The common assumption though is that before you start programming
CircleMUD, you actually already have the ability to program at all.  It is
certainly true that you can use CircleMUD to learn how to program in C;
many people attest to this fact.  It's also true that there are alot of
OS- and language- specific questions and answers on this list; for the
most part, the people who have (the answers) try to help the have-nots.
Perhaps this fosters the misconception that a purpose of the CircleMUD
distribution or list is to teach programming.

                However, it IS a misconception.

        When I put a patch out to the community, I don't have many
expectations.  I expect bugs, failed/rejected patchings, incompatibility
with other patches/versions/custom changes/existing files.  I expect
people to request fixes, features, and changes.  I fully expect some
scathing report on my coding style.  I also expect that the person who
uses my patch to have - roughly - the ability to have created the patch
from scratch to begin with.  Failing that, the ability to read though the
patch and understand the techniques and new-to-that-person functions
enough that they can _THEN_ go write it from scratch.

        You need the last at least to integrate any patch into anything
but a stock mud anyway. At least, if you want it to work correctly.

        Patches do not seem to me to be anything more than a time-saver.

        So, the ease of use is nice, and while it hasn't happened to me
directly, I fear the day that I am innudated with messages asking how to
make a simple one line fix regarding differing string constants.  Perhaps
I am fortunate in that I haven't received many of those so far, but I'd
like to keep it that way.

        The circle list though, hasn't been so lucky.  Time has gone by,
and there have been many ZipMUD owners.  No programming knowledge, no
applicable mud knowledge (barring as a player), and no computer knowledge
past email/browser/[irc|mud]-client.  Guess where they turn when they
have ANY error, regardless of complexity?  It's annoying, and sometimes
downright disheartening.

        So, you'll notice in some of my longer patches (especially if you
read the comments), that I've made space for things that were never put
into place.  Like the binary-to-ascii object convertor code for xapobjs
has a memory leak.  It'd only take 4-5 lines to fix it, else your mud may
crash on conversion if you have a too-large player base.  Perhaps it's the
fact that the dynamic boards crash if you create a new board in olc and
immediately attempt to set their OBJ_VAL's.  Minor things. Little 'it'd be
nice to have' things.

        Why do I do that? It's not because I'm a total ass.  It's because
it's a little attempt to dissuade people who aren't code-savvy enough to
read a comment and fix the 3-4 lines of code underneath it.  Especially
rough when the comments sometimes contain the entire algorithm/method to
do so.  Not exactly a high bar to hurdle.

        In general, the rules with patches should be;

1. If you couldn't write it yourself, don't use it.

2. If you use it anyway, and it doesn't work right, consider it an
opportunity to 'learn how to write C' - just like you say on the list.

3. If you're still REALLY boggled, ask, but ask specific questions.  Don't
ask 'how do I get this to run?'.  Try something like "Whenever the mud
runs through this loop of code <insert code> it crashes with a seg fault.
Here's the values of all data manipulated in the loop.  It's supposed to
<insert purpose of code>"

        All too often, people skip 2, and use the circle list as their
primary resource; even skipping the FAQ, WTFAQ, and the pletheora of other
resources out there.  I don't mind helping someone get a leg up in the
beginning, but after two or three weeks of penny-ante stuff, I will treat
them like an equal. That's implies responsibility.  That is, they've had
the time to learn, if they did not, they are showing me that they never
intend to.  In short, i'm being used.  I want to have discussions with my
peers, not continue to do someone elses homework for them.

        All that said, the general indication I get from the
administration-level fellows who run muds is that circle is the McDonalds
of muds.  That is, because there _are_ so many ZipMUD's with a circle
base, the reputation of Circle suffers as a whole.

        Granted, these are the guys who probably wrote their own closed
source muds from (near) scratch.  Their goal is usually to be as unique as
possible, and CircleMUD's is to have an orderly, well-coded blank slate to
jump off of.

        As for players, you'd have to ask them.  I find opinions differ,
primarily based on what type they most like to play/are used to.

        I don't think anyone really needs to take any direct actions
though right now to insure that Circlemud has a SPIN group to take care of
the ZipMUD concept.   Perhaps though, you want to take action for your OWN
copy of CircleMUD ;)


   | FAQ: |
   | Archives: |

This archive was generated by hypermail 2b30 : 12/04/01 PST