[DGD] Any advice?

Stephen Schmidt schmidsj at union.edu
Tue May 20 05:54:17 CEST 2003


> Ben Chambers <bjchamb at bellsouth.net> wrote:
> > Any advice as to where to start or what will be
> > necessary to create a new kernel from scratch?

Having done something similar (I would not label Melville
a "kernel" for a variety of reasons, but it is a standalone
mudlib for DGD) the main thing is to make a list of all
objects the driver needs to access (this used to be only
two objects, the driver object and user object - it may
have changed) and all the functions it tries to call
(quite a few in the driver and I believe receive_message
is the only one in user, and again that's probably
changed in the 9 years that have elapsed). Decide what
you want all those functions to do, and then your
new kernel is basically set to implement. (Figuring out
how you want user to handle receive_message is going to
force you to cope with command processing and most of
the game-world type issues at some point.)

On Mon, 19 May 2003, Noah Gibbs wrote:
>   One of your most major decisions is going to be how
> (and whether) to handle inheritance and upgrade-in-place.

I agree. Melville doesn't really deal with this issue at
all, because it wasn't a feature when Melville was designed
nine years ago, and I've never had the time to work through
the whole thing myself to make Melville handle it better.
I have done that primarily because I think that if I wanted
to go down that road I'd probably be better off just making
a variant of Melville that ran over the kernel. I have
started work on that project, but at present rate of progress
it'll take about 250 years to complete it :(

In fact, it's not clear to me why one would want to write
a new kernel from scratch, except I guess for the sheer
challenge of it. The kernel mudlib handles a great number
of very hairy persistance issues and it seems to me that
the time to code from scratch something to handle them,
and then debug it, would be prohibitive.

But if the idea is to do it "because it's there" then it
would be an excellent project for sharpening one's skills.

Steve


_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list