[MUD-Dev] Star Wars Galaxies: 1 character per server

Caliban Tiresias Darklock caliban at darklock.com
Tue Jan 7 11:02:15 New Zealand Daylight Time 2003

From: "Dave Rickey" <daver at mythicentertainment.com>

> I have many quibbles with your math

Okay, quibble with it.

  1. Assume you can fit 50 characters on a server. (X)

  2. Assume each player can have 5 characters. (Y)

  3. Assume the average number of characters per player is 2.4 (Z).

  4. You can fit a maximum of 50 players (X) and a minimum of 10
  players (X/Y) on one server.

  5. Since you have 500 players, you will need at least 10 servers
  (F = P/X).

  6. Since each player can have 5 characters, you will need at most
  50 servers (M = (P / X) * Y).

  7. Since each player already has 2.4 characters, you will need at
  least 24 servers (O = (P / X) * Z).

  8. Since you can't very well throw out existing characters, you
  have to provide servers for them (S >= O).

Where's the problem? It's not necessary to specify what the problem
is, just identify where this *looks* wrong.

  (You will almost certainly encounter dilemmas where you have one
  slot available on server A and two slots available on server B,
  but your last player has three characters that all need to be on
  the same server. However, in this particular case, I am not
  concerned with *how* you get the characters onto the
  servers... just whether you *can* get them onto the servers. If
  you can fit 50 characters on a server, then 1200 characters will
  fit on 24 servers, but in order to keep your players happy you
  will undoubtedly need one or two more to handle situations like
  the above.  Besides, if you want new players to sign up, you need
  space for *their* characters too, so we can actually alter the
  equation at the end of statement 8 to "S > O" in all but the most
  pathological of circumstances.)

> (the process by which you tie "Y" to "S"

...is not mathematical.

  Y does not affect S at all, mathematically. Y is an upper bound on
  Z, Z is tied to O, and O is a lower bound on S. When Z rises, O
  rises; Z may bump into Y, or O may bump into S, but when that
  happens both Z and O simply stop. They don't move Y or S in

A real-world example might help.

  Imagine that you have a pair of toy cars on adjacent tracks, and
  there is a bolt solidly connecting them to one another. Label one
  O and the other Z.  Now place two bricks somewhere farther along
  the tracks; one labeled S in front of car O, and one labeled Y in
  front of car Z. When you move car Z, car O moves. But when one car
  runs into a brick, the other car cannot go any farther
  either... no matter how much track is in front of it.

At that point, some mechanism needs to step in to alter Y or S or
both. In this case, you need to move one or both of the bricks. If Z
has bumped into Y, then you can move S as far as you want and
nothing will happen. If O has bumped into S, then you can move Y as
far as you want and nothing will happen. But O and Z necessarily
move together, so when you need to move S or Y, you will *probably*
have to move the other in the near future.

<EdNote: Some rewording in the next sentence>

If you're thinking, "I'd put the bricks behind the cars," you're
missing the point.

> But this is simply flat wrong.  You do *not*, under any
> circumstances, want to be telling a potential customer "You can't
> play with your friends."

However, if he actually can't play with them, that's sort of what
you *have* to tell him. What you want simply doesn't enter into it.

> If SWG has bought into a database liscense that says they may only
> have X characters per server, that's a business decision, not a
> design choice, and certainly not a law of nature.

Actually, it is. It's not the database license, it's the world's
capacity.  Each server is only capable of handling a world of finite
size, and a world of finite size can only handle a finite number of
characters before you simply cannot have enough resources for
them. Even if you generate your world dynamically, using fractal
algorithms to expand the game world every time a new character is
created, you can still only have so much world -- mass storage space
is finite, system memory is finite, processor power is finite, there
are innumerable bounds and limitations on your server capacity which
will simply never be infinite in scope. Even if *everything* you
develop will *theoretically* handle an infinite number of
characters, it will never be able to do so in practice. There is
simply no way around this problem.

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

More information about the MUD-Dev mailing list