[MUD-Dev] New to MUD Dev, need friendly advice!

Daniel.Harman at barclayscapital.com Daniel.Harman at barclayscapital.com
Tue Apr 29 11:02:26 CEST 2003


From: Sean Kelly [mailto:sean at ffwd.cx] 

> The optimal implementation actually varies depending on platform,
> but the underlying tech is the same -- kernel-level signalling.
> On Windows, it's IOCP (completion ports) and Linux introduced
> something similar with (I think) version 2.4 of their kernel --
> I'd give you the name of it but I'm less familiar with Linux and
> don't have the documentation in front of me.  Basically, both
> methods are a highly efficient form of select() that has no
> maximum limit on the number of events that can be queued.  IOCP
> takes this a step further by automatically integrating thread
> pools.

I'd suggest that you don't bother using IOCP etc. when starting to
get an engine going. You can get a lot of scalability from a crappy
implementation, so as long as you abstract it nicely there's not a
whole lot of point wasting days getting a 'perfect' IOCP/etc
implementation.

I only say this, because I've wasted far too long on implementing
optimal solutions, when I could have actually been writing
interesting stuff like game logic. If the shortcut is properly
componentised and has low coupling just get a 'good enough' solution
in, as you get further into the project, you'll realise that the
problem domain doesn't quite match what you'd originally envisaged
anyway, so there's no point investing effort in code that may have
to be radically refactored anyway.

Having said that, some stuff, generally highly coupled, is probably
necessary from the get-go as it is often too painful to insert late
in the day e.g.(in C++) ref-counted objects, a nice exception
hierarchy.

Dan

/wanders off to poke his custom fixed block mem allocator and IOCP
implementation.
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list