Why New Muds Should Use Dead Souls
Normally I like to stay neutral, and say stuff like
'Use whatever codebase you're comfortable with, I don't
want to start a flamewar.' And today that would be half
right. I don't want to start a flamewar.
But I'd like to take a moment out to advocate LPmuds
for new mud admins. If this is going to get you all pissy
and flamey, you can just stop reading here.
I was inspired in part by recent discussions about the
division of labor between 'coders' and 'owners' and such on
other codebases. This seems bizarre to me. It's my opinion
that a mud 'owner' should be just as capable as any person
on her mud to build and code, and manage personnel besides. I
see it kind of like the role of a captain on a ship. The captain
may not have to be in the engine room answering 'ahead one
third', but she damn well should know *how* to, if the
situation calls for it.
A ship captain should know every inch of her ship, how
many lifeboats, etc. If the ship is not performing well,
she should be able to identify this and she should be able
to supervise the corrections, if necessary.
Obviously any metaphor has its limits. You can come up
with all sorts of reasons why the ship metaphor is flawed.
But the main reason I use it is the sense it carries of
ultimate responsibility resting on the shoulders of one
officer. Whatever happens on a ship, however successful its
mission, whatever disaster it incurs, all of it, is the
responsibility of the captain. The buck stops there.
So, to me, 'my mud is failing because I can't get a
coder' doesn't make any sense at all. Obviously a successful
mud will usually have a staff of more than one, but at
first, it's just you and your dream, man. You gotta build
that boat by yourself at first, before you can convince a
proper crew to join you.
And if you just get a prebuilt boat you don't know how
to customize, why should anyone join you, when they can just
get their own? And why should they listen to you, if you
don't even know enough to run it yourself? I see lots of
muds adrift at sea here, with a lone 'captain' at the bow,
calling out in the darkness for an experienced crew that
will never come.
I can only guess that the problem here is either fear
of C or inability to learn it fast enough to suit the admin.
I'm not addressing the newbie admins who are diligently
studying their C textbooks, determined to make a proper go
of it. I'm talking to those newbie admins who have decided
to make a mud and are determined to be admins and not C
coders.
If this is so, then my proposition is, forget about
starting a mud whose guts you don't intend to know inside
out. If C is too hard, and you doubt ever knowing it
well enough to rewrite commands and system code, then
you should drop your C based mud. You should think about
a codebase that uses a language you stand a chance of
picking up quickly and easily.
Yep. LPC. LPC is a 'coding language' in that it has
variables and objects and such. But these variables and
objects are not the 'bare metal' code elements
that you see in naked C. In LPC you have a level of
abstraction between you and that cold, hard C that makes
coding much easier...more like scripting than C coding.
Ok, let me ask you, in a Diku
style mud, how do you set a room so that you can't magically
teleport in or out? In Dead Souls, all you do is add this
to the file:
SetProperty('no teleport', 1);
In a Diku style mud, how would you have a mob respond
to a player saying something to them? In Dead Souls, you
just add this line to the mob's file:
AddTalkResponse('hello', 'hi!');
To make the mob do something when asked, you use AddCommandResponse.
To make it do or say something when *asked*, you use AddRequestResponse.
How would you do it in Diku?
Now, remember. This is not a 'Diku sucks' thread. For Diku
people, this stuff is presumably not that difficult. What I'm
showing you is how *trivial* this is to do, even for non-LPC people,
on LP muds. Don't get me wrong...you still need to spend a lot
of time going through docs, and looking at examples. But the
amount of time it takes to become LPC proficient is a tiny
fraction of the amount of time it takes to become C proficient
enough to handle mud coding.
You want a mud, you're not sure you can learn C fast enough,
and you aren't having luck finding a talented coder that will
bend to your will. I say your choice is obvious. Try an LP mud on
for size. Get your mud on.
Or wait for your knight in shining armor. Whichever comes first.
There are plenty of LP mud libs out there. I suggest you
take a look at Dead Souls. It's super easy to set up, and there is
an online intermud chat community ready to help answer your
questions.
Dead Souls Homepage