[DGD] subdividing into subsystems

Jared Maddox absinthdraco at gmail.com
Thu Apr 4 04:08:34 CEST 2013


> Date: Tue, 2 Apr 2013 05:05:32 -0700
> From: Raymond Jennings <shentino at gmail.com>
> To: "All about Dworkin's Game Driver" <dgd at dworkin.nl>
> Subject: [DGD] subdividing into subsystems
> Message-ID:
> 	<CAGDaZ_ptC1Vhjr7xeF5D=jOm2FNCW1CFn7UQLADj0FzP-Ajgpw at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> I've been on a modularization kick lately and I just split the main game
> logic.  My latest move was to extract all object handling functionality
> such as bulk, description, and so on to its own subsystem.
>
> Is there such a thing as excessive modularity when it comes ot a mudlib?
>  I'm starting to feel like I'm going crazy, but otoh having the kernel
> library enforce privilege barriers as a perk is quite reassuring.
>

> Date: Tue, 2 Apr 2013 06:38:28 -0700
> From: Raymond Jennings <shentino at gmail.com>
> To: All about DGD and Hydra <dgd at dworkin.nl>
> Subject: Re: [DGD] subdividing into subsystems
> Message-ID:
> 	<CAGDaZ_os8Zf9GvaH1HZO9JUOC7N5m3TTT=nL_o+R+KL7itvuog at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> it's mostly that I'm worried about turning into too much of a modularity
> neat freak
>

Certainly there's such a thing as excessive modularity in anything,
but as long as you keep your eye on why you're making SPECIFIC things
modular, you should probably be fine.

Do remember, however, that occasional refactoring is the height of
wisdom, and that if your naming scheme is good you won't ever have to
rename anything that's already used.

As for what to modularize, for algorithms I'd say to follow the old
"write it as a tool if you do it twice" rule, except in the form
"write it as a singleton if you implement it twice". For everything
else, I'd say to just do what makes sense for the code base. "What
makes sense" will change over time, but if you have a good, extensible
naming scheme then you shouldn't ever have any name collisions.



More information about the DGD mailing list