[MUD-Dev] MMORPG/MMOG Server design

Derek Licciardi kressilac at insightbb.com
Sat Feb 22 08:56:59 New Zealand Daylight Time 2003

From: Damion Schubert
> From Weston Fryatt
>> From: "J C Lawrence" <claw at kanga.nu>

>>>> What is the best design for an MMORPG Server?

>>> On the homogenous back end cluster side there are several
>>> different approaches, each with tradeoffs in hardware expense,
>>> code complexity, etc.  You can go for SGI-style CC:NUMA clusters
>>> with fully virtually VM and CPU resources such that processes
>>> and VM blocks freely migrate about the cluster according to your
>>> load distribution algorithms.  Without significant support from
>>> your system vendor and an experienced development team this can
>>> be expensive and difficult to get right, but works beautifully
>>> when it does.

>> I couldn't even begin to afford something like this...

> In most projects, you don't need to get more than 200 testers or
> so until fairly close to launch (6 months, max).  Hopefully by
> then, a smaller scale demo has convinced a publisher to foot the
> bill for the big, fancy boxes, if that's what you need.

To be able to afford and complete it, define the implementation
interfaces such that your subsystems can be replaced with more
robust/scalable versions.  Focus on getting the system running and
then later go back through the code and redesign if necessary
certain subsystems once you get funding.  Admit to yourself and your
team that it is at least a two pass code implementation.(likely
more) Networking code is a good example of this.  Fully robust code
is only needed as you scale the system and if you code it behind a
defined interface, you should be able to accomplish wholesale
replacement of the network code when you need better

In essence, we recognize that a project of this scale is a daunting
task for a small group.  It requires that you use OOD methods more
rigidly and stresses your team's ability to break down a project
into its absolutely necessary bits to achieve the milestone your
working on.  It also puts more of a reliance on the initial design
specifications.  The design specs are what help you keep an eye on
the true game vision while defining implementation interfaces.  The
hard part is keeping an eye on the true game vision and not painting
yourself into a box while achieving a smaller milestone.


ps At this point, I think you could get away with something less
that NUMA, though I wouldn't put it past some future games requiring
this level of hardware and software complexity to achieve its
result.  Think recreating the Helms Deep battle scene where each
individual soldier is a player and that battle is only one of a few
thousand things going on on the game server....

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the MUD-Dev mailing list