[MUD-Dev] SMAUG Code (was Personality Types)
ccrawford at seventh.net
Tue Aug 21 12:00:54 New Zealand Standard Time 2001
From: Kwon Ekstrom
> Somehow I knew this would generate a flame, so here's my 2 cents.
I'm sorry if my mail sounded like a flame, it wasn't.
> SMAUG codebase as a whole is wonderful, it's just that after years
> of being patched together with different coders writting little
> additions it's become... well... muddled. There are no major
> conventions that I know of, and there is little or no consistency
> in the code overall. Not to mention the lack of major
> documentation. SMAUG is simply modified on a need/want basis
> without the resources or apparent desire to increase the overall
> quality. These problems are most likely due to a lack of time on
> the part of the volunteer coders.
Sure, that's very understandable. It's hard to get good quality when
all you have is a bunch of volunteer's who have their own idea of
what would be cool to implement this week. Being a "volunteer" on my
own mud hasn't been so bad if only because I'm the only one who
touches the actual code. But, I also know that if I want to do
something worthwhile (within any type of time frame) it'll take more
than just myself to get it done. But who the hell wants to volunteer
to be project management? I sure don't.
>> almost NOTHING like the original SMAUG release, I'm only using
>> the very basics of the SMAUG code. I've already changed the way
>> the skill system works, the combat system, OLC, dynamic channels,
>> etc. .. I've also completely revamped tons of other things as I
>> saw fit.
> Good for you, I've also done major revamps on several different
> smaugs that I've worked for, and released plenty of snippets to
> various UCMM affiliates. I've also rewritten the class/level
> structure, channels, and combat/skills to perform nothing like
> base SMAUG.
I think that's one of the things that I like about Smaug, even tho
some of it's stuff is kinda wishy-washy it's pretty easy to see how
you can actually turn it into something much more fluid and
> Simply using a common language does NOT mean it's coder friendly.
> Come to think of it, you could probably name several dozen
> codebases that use c that have had various other complaints. The
> lack of documentation or conventions makes it difficult to learn.
> I've worked with smaug for quite a while and can generally write
> code off the top of my head, but I still find myself grepping the
> files to figure out how a specific function is handled. Often
> similar functions which take the same types of arguments have the
> arguments reversed (can_see(ch, victim) PERS(victim, ch)), etc..
> These are my major complaints.
Sure, I'm not saying just because your using C your code is
automatically beautiful and efficient, but it defiantly gives you an
edge to use something common to most programmers. Since it's been
around for so long, there's plenty of resources on good techniques
for just about anything (memory management, hash tables, etc etc).
However I think you're going to run into the same problem unless you
write all the code yourself, no matter what language. I have yet to
encounter a MUD code base that has good documentation. Nor do I
think I ever will, unless someone creates a base to license in some
sort of business venture, and only then if they know what's good for
> I've never worked with Cold so I don't know how their object
> heirarchy is, but OOP is meant to save time, code, and allow
> better understanding by associating method calls with the data
> structure they work with. I'll admin I've seen several different
> OO muds with a terrible object heirarchy, but with OOP planning
> (something mud development often lacks) is even more important.
And it would be more efficient, I'm sure, if I didn't have to
consult a small reference guide (that should be the size of a
dictionary) every 5 lines. I'm sure I'll be dancing around with joy
the day I actually /learn/ ColdC to a degree where I can read it
without scratching my head half way through.
Corey Crawford | ccrawford at seventh.net
MUD-Dev mailing list
MUD-Dev at kanga.nu
More information about the MUD-Dev