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

Caliban Tiresias Darklock caliban at darklock.com
Thu Jan 16 08:19:56 CET 2003


From: "Vincent Archer" <archer at frmug.org>
> According to Caliban Tiresias Darklock:

>> In short, there can and should be games you won't play.

> That there can, no doubt.

> That there should, it remains in contention.

Not if you're in any way sensible. I won't play soccer. Should
soccer exist?

Remember, the wrong answer will bring the collective wrath of
Scotsmen down upon your head. ;)

>> It has nothing to do with the database design. Your proposal
>> ignores the problem of servers becoming full. When a server is
>> full, you can't have another character on it no matter how much
>> you pay. This

> That's not a problem. Or rather, not the problem you think it is.

Actually, it's not the problem you think I think it is, which is the
problem Dave thinks it is, but Dave is wrong.

I hope that's not too terribly confusing.

>> Exactly. An MCS server can't support as many players as an SCS
>> server, so you need more servers. And that's not an intra-server
>> issue at all.

> Not for that reason. And not in the real world.

Yes, for that reason: you can't have an infinite number of
characters per server, and an SCS system uses exactly one character
per player, and an MCS system uses more than one character per
player, and therefore the maximum players per server is by
definition lower on the MCS system.

And you can't change that, even if you try with both hands.

> Math does say an SCS server, in the pure theoretical sense,
> supports more players. In the way a ZCS (Zero Character Server)
> supports an infinite amount of players.

And, therefore, in the same way an ICS (Infinite Character Server)
supports no players at all. (If X = infinity, then P/X = 0.) Since
this is clearly stupid, there must be something wrong with the math.

Oh, I remember. I said that X, Y, and Z were all finite and nonzero,
and that X and Y were necessarily natural numbers. This is because
an ICS system is impossible, and a ZCS system is profoundly
retarded, and you can't play the game with only part of a character.

You should have known that.

> The real limit in all games ever seen so far is content. Not
> network, not CPU, not storage.

That's not relevant, but it's interesting, so I'll still talk about
it.

> An on-line character consumes content. He needs place to meet with
> friends, location to visit, places to adventure and hunt.

That's not content, it's space. Space is only part of the limiting
factor.

> That limit defines how many PLAYERS, not characters your server
> can support.

Actually, it defines simultaneous logins, a topic in which I
currently have no interest.

> It does not matter how many character each account has on the
> server. By definition, a player will have only one character
> on-line at a given time.

Not by *my* definition. I don't assume anything about how people
play. If you have twelve characters on some server, you may be
playing any, all, or none of them. But, again, this is about
simultaneous logins -- a topic in which I still have no interest.

> And if the player is not on-line consuming content on server A,
> he'll be on-line consuming content on server B, which means you've
> made no savings.

That's not actually true.

Players consume content at a phenomenally fierce rate, much higher
than the rate at which you can produce it in the game world. No
matter how much content you produce, the players will consume it
almost instantly and it will no longer be content. It will just be
another landmark between this place and that place. So after a
relatively short period of time, the player isn't consuming *your*
content anywhere; he's already consumed it.

Luckily, players provide content, and they take over where your
content leaves off; so since fewer characters per player means more
players per server, and more players per server means more content
per server, fewer characters per player means more content per
server. (Or, if you prefer, an SCS server can fit the same amount of
player-generated content onto fewer servers -- and fewer servers
require *you* to provide less content.)

Unfortunately, the quality of player-provided content is
indeterminate, so QA is difficult. But it's nice how that works
out. I'd never really considered that aspect of things. Of course,
it still might go either way, but so might the content you
provide. Just because an expert provided your content is no
guarantee that anyone is going to like it.

> Note that, if you try to force SCS, you'll be slightly
> counterproductive here. In my experience, players tend to play
> exclusively on one server; the one they have all their friends on.

Then they will have one and only one character, period, or at the
very least fewer characters than they would normally have -- and the
SCS system supports even MORE players, because the number of
presences per account drops closer to one, which makes the number of
*accounts* per server higher (assuming an identical number of
presences). Any other result is just impossible.

You know, something just occurred to me... how much of these
arguments is actually based on flawed perceptions of the SCS/MCS
difference, and how much of it is because even active and successful
game industry professionals *still* don't understand how fractions
work?

> If you force, thru SCS, people to play on different servers, then
> that ratio will change, and you will see more regular players per
> peak active players.

Isn't that a good thing? I mean, it seems to me that one of the
major complaints "regular" players have about MMOGs is that the
"active" players are getting in their way so they can't have any
fun.

> So the big question is: > How much content does an inactive
> character consume.

Well, this is a step in the right direction, anyway. We've
recognised that an offline character still impacts the game,
consumes something more than a record in a database somewhere, and
what he consumes is probably in shorter supply than database
storage.

What we *haven't* yet recognised is that you can't *solve* this
problem.  It's insurmountable.

> And it comes from, guess what...

> Housing (which I'll expand to have all world resources exclusively
> owned/operated by the character - house, mines, factories, vendor
> stalls).

Housing is absolutely the wrong word for this. It's not housing,
it's any persistent resource that can be owned by a single character
and is not in unlimited supply.

Imagine that your world has widgets in it, and there are only so
many widgets. They're produced at a certain rate, and consumed at a
certain rate.  Everyone needs to have a widget, and everyone has
equal access to widgets.  Sooner or later, you run out of
widgets. And when you do, it doesn't matter whether you have a
character on the server or not -- no widget, no fun.

So when there are just enough widgets to go around, by whatever
system you use to determine that, your server can't have more
characters on it until some of the existing ones leave. If it did,
there wouldn't be enough widgets.

The only other way to solve this problem is to scale up the number
of widgets when people make new characters. But there's no guarantee
that the widgets will go to those new characters. In fact, as your
number of characters rises, the chance of a new character getting
the widgets you allocated him drops dramatically -- unless you shove
them in his face or drop them in his lap. Even then, there's no
guarantee he'll continue getting his fair share. Someone will
probably be out there hoarding them and selling them on eBay.

Furthermore, a player with several characters can take the widgets
available to each character and give them all to one character. That
way, he gets more widgets than the next guy, and has an advantage of
some sort. Per-character limits aren't per-player limits, and when
you try to pretend they are, you decimate the economic assumptions
of your game. SCS makes this a non-issue, because on any given
server a per-character limit and a per-player limit are the same
limit.

So you will, eventually, hit a point of diminishing returns. The
chance of a new character getting his fair share of widgets drops to
near-zero, and at this point it would just be cruel to let the
player create another character.

Alternately, you can remove widgets from your game entirely, as
someone will no doubt suggest. Make everything infinite in supply so
everyone can always get it, or do away with widget degradation, or
whatever. But you can't remove all the widgets unless your players
can't own *anything* that is in limited supply.

This all goes back to the law that "online economies are
hard". They're still hard on an SCS system, but on an MCS system,
they're harder. Harder doesn't necessarily mean worse, of course,
but it does make your system that much more likely to be
flawed. Complexity is the enemy of stability. (Did someone else say
that? It seems like someone else *should* have said it, because it
just appears far too concise and intelligent to be original.)

> How large is your world for housing.  > If your world provide play
> space for A active players, and housing space for C characters,
> then the number of characters a player may have on a server will
> be, roughly, equal to

Assuming, of course, that every character builds a
house. Realistically, not every character will; every *player* will
probably build a house, but chances are he will shove multiple
characters into the same house just because it's easier than
building another house.

Of course, as soon as you decide to bank on people doing this,
they'll stop doing it and bite you in the ass over not having enough
building space.

>   MCS = C/(5 * A).

Could we please try to use the same variables? You're saying that
X/A = P. X is the limit of characters on a server, A is the number
of accounts that own the characters, and P is the number of
presences on the server. (C is the number of customers that own
accounts, which could get confusing.)  Unfortunately, this is a
flawed equation. Let me restate the variables I've established:

   C - Customers (the people who pay you the money)

   A - Accounts (one or more subscriptions to the game, owned by one
   and only one customer)

   P - Presences (one or more characters on a single server, owned
   by one and only one account)

   X - Maximum characters per server (limited by ANY RELEVANT
   FACTORS)

   Y - Maximum characters per presence (limited by the game's
   policies)

   Z - Average characters per presence (actual or projected;
   "overselling" can be done here)

   F - Fewest servers necessary (every P has one character: P/X)

   M - Maximum servers necessary (every P has Y characters: P/X * Y)

   O - Optimal servers necessary (every P has Z characters: P/X * Z)

   S - Servers actually operating (ideally more than O to allow for
   growth)

Now, when you limit the number of persistent structures a character
can own, what *actually* happens is that you establish an upper
limit on the number of characters -- just like you established an
upper limit on the number of players with a limit on the number of
characters. This is a basic, generic system that can be applied
anywhere. Just as the maximum characters per player determines how
many players you can support by dividing the maximum characters
overall by the maximum characters per player, the maximum buildings
overall divided by the maximum buildings per character will
determine the maximum number of characters you can support. This
establishes a limit on X, and can be further complicated by
considering how many buildings people are *actually* going to use in
much the same way Z gives us an optimal number of servers.

The key point here is that X can be limited by whatever you want --
database storage, CPU power, bandwidth, content, housing, widgets,
or just some arbitrary number you pull out of the air. It doesn't
matter. The only leap of faith you have to make is that there is
necessarily *some* limit on the number of characters that can be on
a server, so unless you intend to say that some game can support an
infinite number of characters per server, you simply can't argue
this point on the grounds that the limit isn't what I say it is. I
say the limit exists. What the limit actually is, and what *makes*
the limit what it is, doesn't matter one bit.

> That's where you know if your game has to be SCS or can be MCS.

No game *has* to be SCS any more than it *has* to be MCS. It's just
a game rule you make at some point. But Y has an *immense* impact on
the in-game economy; a game can be scaled to pretty much any X you
like, but when you alter Y, you change the rules in a way that
current economic theory simply is not equipped to handle. That makes
all the expertise in this area unavailable, and you're hacking your
way through unexplored territory. I'm pretty sure there's a way you
can make a serviceable path, but we certainly haven't made one yet.

It should be reasonably obvious that people raise Y in the hope of
retaining players and gaining new ones, but it's sort of a
gamble. You try to halt the shrinkage of A and potentially give it a
small boost, and sometimes this works... but you will inevitably
fail on occasion, and the failures start to add up. Every time you
raise Y, you *guarantee* that you're going to have more characters
-- human nature being what it is, people will create new characters
just because they can -- but you only HOPE to raise the number of
paying accounts.

Want to see a conversation that will never happen?

   Player: "This game sucks."

   Admin: "Well, how about a couple extra characters, then?"

   Player: "Wow, I never realised how much better this game was if
   you just had a couple more characters. This kicks ass."

People aren't leaving because they don't have enough characters,
they're leaving because they don't like the game. MCS is just a way
to trade people more characters as some kind of half-assed apology
that your game is crap. T his is at best a short-term solution; the
long-term solution is to fix your game so it's not crap any more.

> Database storage is a red herring.

Actually, it's not. Account abuse is a red herring, because it
doesn't have *anything* to do with how many characters you allow per
server. But database storage *is* a limit on characters per server,
it's just not usually the most restrictive limit -- so how much
storage you have probably doesn't matter, but it might. Many people
are renting shared server space for their games, and those people
have pretty strict database limits that could actually be more
important than other concerns.

Of course, you could be a complete jerk and say "who cares about
these little rinky-dink games that can't afford to build distributed
networks co-located on a major fiber backbone", but that's where
pretty much all of us started out, isn't it? The pathetic little
game you laugh at today might be the category-killer of tomorrow.


_______________________________________________
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