[MUD-Dev] SMAUG Code (was Personality Types)

Kwon Ekstrom justice at softhome.net
Mon Aug 20 21:01:24 New Zealand Standard Time 2001

Somehow I knew this would generate a flame, so here's my 2 cents.

From: "Corey Crawford" <myrddin at seventh.net>
> From: Kwon Ekstrom

>> On a side note, this isn't the game I'm developing on my own
>> time, that one is my attempt to bypass the compounded problems I
>> have with smaug's lack of scalability and most decidedly coder
>> unfriendly structure.

> Just to further take us off the topic, I have to say that Smaug is
> probably the best code base I've worked with to date. Sure, it has
> some problems and things I'd like done otherwise, but it's a great
> starting point for making something better. My SMAUG game looks

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

> 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

> And honestly, it's not THAT 'coder unfriendly'. I mean, hell, it
> actually uses C! Woo! The only reason I bring that up is because
> I'm currently frying my brain on Cold and ColdC.. and I can tell
> you it'd be nice to work in a well documented language (C/C++)
> that actually has more than a handful of people who know how to
> use it.. I have -maybe- a handful of persons to bring questions
> to.

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.

> The OO'ness of Cold is all and good, but it's definantly not as
> straight forward as SMAUG's or any other C based MUD's code. Of
> course, this is coming from a guy who thinks OO is a type of
> cereal..

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.

-- Kwon Ekstrom

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list