[MUD-Dev] Next gen MUD wishlist

Bruce bruce at puremagic.com
Sun Feb 20 02:04:36 CET 2000

Bryce Harringon wrote:
> On Sat, 19 Feb 2000, Bruce wrote:
> > One problem that I have is that many people equate the above to being a
> > server under the GPL.  Since I'm approaching this with a highly
> > commercial bent (and plan to announce our open source project
> > real-soon-now), that really doesn't work well for me.  I much prefer a
> > highly modular system with well defined APIs, licensed under either the
> > LPGL or the Mozilla Public License (with the appropriate modifications
> > to the boilerplate).
> Okay, so, say the underlying libraries (including especially the network
> layer) should be LGPL'd, allowing the remainder to be licensed as
> desired by the implementors of the server itself?  I admit I am indeed
> thinking of GPL, but no reason there couldnt be multiple implementations
> of the design, some of which may be GPL, others something else.  So I
> agree with you: If the important modules are sharable, that should be
> enough.

Why implement the design multiple times?  This is a waste of everyone's
if those people seriously intend to use it.  If everyone writes their
version due to licensing differences, then we might as well just keep
all proprietary.  This should be under a fairly liberal and open
not the GPL.  I might be offbase here by being more interested in
something done and built, rather than just watching people write the
infrastructure again and again.

> While I was involved with the MPL development I really prefer the LGPL;
> it was IMHO better thought out.  The MPL was done in kind of a rush...

The MPL solves some of the serious issues in the LGPL though with
regards to
mixing object code by completely ignoring them.

> > > Server
> > >    * Should support on the order of 100-500 simultaneous players
> > >      (Is this a realistic number?)
> >
> > This is easily doable with any of a number of servers around today.  My
> > goal is to scale well past that.  My base requirements are to be able to
> > support at least 5000 users in a single world.  I'd be happy to support
> > ten times that.
> *Nod* Okay...  I guess I'm thinking that with the coordinate-based
> physics the bandwidth per connection could be higher.

So?  If the commercial games support 1000+ players currently and can
only be
expected to support more in the future, any effort at an open source
engine should aim to supercede that.  We certainly plan on it.

> Would it be better to specify this in terms of bandwidth per person?
> How many players should a server on a T1 be able to serve?  On a OC3?
> A cablemodem?  A 56k modem?

The server side bandwidth doesn't matter.  Who is the target user? How
bandwidth do they have? Work backwards to find out how much bandwidth
server farm will need.

> > >    * Should permit scripting in easy to learn, existing language
> >
> > There are some other options here.  Customization (not extension) need
> > not involve scripting.  Rules-based authoring systems can provide for
> > customization in an even easier way than scripting.
> Ah, good point.  Mind elaborating?

Wait a couple of weeks for our announcement. :)

> > >    * (Desired) should allow use of any arbitrary scripting language(?)
> >
> > I'd rather have one well done, consistent system.  I want a single clean
> > object model that fits the requirements of my system, not a hodge-podge
> > that was jury-rigged to make it work with any given scripting language.
> > But, I might be odd in that I don't mind learning new languages and new
> > object models to get a job done.
> Hmm, okay.  I specified this mostly because I know everyone has their
> own favorite scripting language, and that deciding on a single language
> can be hard.  For instance,  I might perfer Python, but someone else
> want Mercury, Guile or Perl (or worse!)
> What if it was a compile-time option?  So, a given compiled instance of
> a server might only support a single scripting language (or even none,
> if one wishes to really squeeze out every bit of performance), but
> people are still permitted the ability to choose.

People will always complain about something.  If this path is followed,
you'll hear complaints about how code can't be shared, or "Why is this
written in language X? I don't know that language." ... I'd rather not

But, a key thing is to allow the use of the appropriate tools for the
task.  My designs take that into account and allow for multiple
languages at
a very different level, where it ends up making a lot of sense.

> > >    * Should abstract rules in a way that allow modular replacement
> > >    * Should be genre-generic, and even game-generic, at the core
> > >    * A stock world/rules should be provided, as a basis to work from.
> > >      Further, it should include all graphics, music, and text media to
> > >      characterize that world.
> >
> > This shouldn't be seen as an excuse to avoid documenting the server
> > though as happens all too often. :)
> Ah, decidely not!  ;-)
> My plan is to first assemble a fairly extensive wishlist, and then
> extract it into a more proper (and complete) requirements list.  Then a
> design document would be drawn up, and only then would implementation be
> allowed to go forth.  Separate docs would be want to be written, but if
> worse came to worse, at least there would be the design docs to fall
> back on.
> I think once the design docs exist, pretty much any decent programmer
> could code it up, assuming of course that the design was good and had a
> solid basis in reality.  ;-)

The core game engine is but a small piece of the pie.  The game
and everything needed to flesh out the game can be far larger.  That's
we're going the route of opening up the design and implementation of our
core game engine: shared infrastructure only benefits all of us, whether
we're commercially focused or not.

> > If all of this is to be the 'Next generation' of MUDs, then we (the mud
> > world) are largely already there.  MOO and Cold have been here at this
> > level for some time, or had the capabilities of being at this level at
> > the core architecture level.  They've had graphical clients.  Some of
> > them have had coordinate based systems.  They've been able to handle
> > 100-500 users.  That said, I've moved on from those systems for reasons
> > explained in the list archives.
> >
> > Isn't it time to really move on to the next generation?
> Hmm, did not know that...  So you're right, we ought to shoot for a
> little more aggressivity.  What would you suggest as good challenges to
> undertake?

Read the list archives!

 - Bruce

MUD-Dev maillist  -  MUD-Dev at kanga.nu

More information about the mud-dev-archive mailing list