Why can’t I play with my friends?

Brandon Reinhart recently posted an excellent article in support of splitting your game world up in to shards. He didn’t mention the biggest complaint I have about shards, so I thought I would.

Sharding fragments the player base

I know a lot of people who play World of Warcraft. Unfortunately they all play on many different shards:

  • The Classic Flying Lab WoW Gang – When WoW came out several of us started playing on Suramar. Two of those people are still playing there (and I have a level 23 druid there that I haven’t played in two years.)
  • My Colorado College Buddies – I’m not sure how many of these guys are playing, or which shard they’re actually on, but it’s not any of the other ones on this list.
  • A Couple of Us Flying Lab Programmers – I quit playing WoW after my free month the first time around. About four months ago I re-activated so I could give another class a shot. Some of the programmers were starting up on a new shard around the same time. I now have a level 35 Rogue on Twisted Nether.
  • The Current Flying Lab WoW Gang – About three months ago one of the mission designers made a big push to get people to start new WoW characters on the same shard. Unfortunately I was already 20 or so levels into my Rogue and didn’t feel like spending another month playing all those missions again. I might have used character transfer, but was growing attached to the folks I was playing with on Twisted Nether, so I didn’t. Because Twisted Nether is a PvP shard these new folks didn’t want to play over there and picked yet another shard.
  • Safe Haven – My old SWG guild plays WoW, and I would love to play with those guys again. Unfortunately they’re on Uther.

When you add them all up, that represents about 30 people I could be playing WoW with (or about 200 if you include Safe Haven.) As it is, I’m in a guild on Twisted Nether with about ten people in it, and nobody else I know is on the server. Even if the PvE vs. PvP distinction weren’t a problem there is basically no chance that I’m going to get 30 people to pay $25 to transfer their characters to the same shard. Suramar (and probably Uther) isn’t even an eligible destination for characters.

Best of Both Worlds?

Maybe the singleton and sharded approaches could be blended together to let me play with my friends and still allow the extra glory you get from a sharded world. What if server and character selection were independent choices? On login you would be presented with your entire character list and default to the same shard you used the last time you logged in, but could pick any shard you liked to play for the evening. Some game systems would be sharded and some would be singletons.
Singleton features include:

  • Direct chat (/tell, etc.)
  • Guilds (and guild chat)
  • Friend lists
  • Character database (including whatever uniqueness you enforce on names)

Sharded features include:

  • Grouping
  • RvR world state
  • Guild world state (guild halls, guild storehouses)
  • Player housing (and player economic presence)
  • Travel around the game world
  • Combat
  • NPC state

Additional technical and design challenges

This approach means building a singleton game and using instances for your game world. That’s easy enough to do for a buotique game, but any game with 100,000 or more subscribers is going to run into some serious problems.

Overcrowding

Even if your servers can handle any number of players standing in the same space, your client certainly can’t. When moving from shard to shard is trivial, you might be able to get away with hard concurrency caps on shards. You could also limit the number of shards that an account has access to at any given time and limit the number of accounts per shard.

Massive name collisions

Imagine if you were competing with for your character’s name with each of WoW’s 2 million accounts in North America. I have enough trouble getting a name through with one 200th of that on a shard. (Any why on earth do they have a random name generator that seems to only give you names that are already taken?)

I can see addressing this in a few ways:

  • Do nothing – Make it very hard to get a unique name and you’ll end up with a lot of non-unique names that are modified in silly ways like you do on AIM.
  • Don’t require uniqueness – Most IM packages have a login name that must be unique, but don’t require uniqueness on the screen names themselves. This means a billion characters named Gandalf or Raistlin, but you’re not going to run into most of them, so it doesn’t really matter. This approach introduces a host of new problems… it might be workable, though.
  • Require uniqueness on a smaller scale – Maybe you only have to be unique within your class and race. If you identify yourself to your real world friends as “Raistlin the Goblin Warlock” and the UI to add friends handles the dups gracefully, this would give you 30-40 namespaces in many games.

Loss of identity due to increased community size

This one is tough. A game that was laid out this way would, almost by definition, be one big community instead of several (or several hundred) smaller ones. There are a few things you can do to offset that, however:

  • Make switching shards something that most people do rarely – You could do this by hiding the button a few levels deep in the UI. You could probably even make the ability to play on any shard a bonus feature that a player would have to pay extra for.
  • If you track and display any stats for the game, show them per-shard – If you’re going publish the top ten MacGuffin collectors in the game, publish the top MacGuffin collector for each shard, and only count MacGuffins collected on that shard, regardless of how many shards that character has collected MacGuffins on.
  • Include an in-game cost to switch shards – Make switching shards cost the same amount a long in-world journey would cost to discourage low-level characters from moving and introduce a little friction.
  • Include in-game requirements before you can switch shards – Maybe you have to be level 10. Maybe you have to complete a certain quest with the character before you can switch.

Mega-guild dominance

If your guilds can have characters active on every shard, the biggest of them could conceivably dominate on EVERY shard. You could discourage this somewhat by requiring guilds to choose a “Home” shard and restricting some of their activities to just that shard. If guilds can only invite players who are in their guild hall and the guild hall only exists on one shard, it’s going to tend to keep their membership more localized.

Where are you? I’m right by the big statue!

All of the people on your friends list could be standing in exactly the same place and yet in completely different places. Including the shard name in the same places you show location would help this. So would color coding or otherwise tagging communication that is coming in from another shard.

Co-mingling of the game economies of the shards

So what? This just means you’ll have one big economy instead of a bunch of little ones, but it doesn’t really introduce any problems you weren’t already dealing with on the smaller scale.

Is it already going this way?

Guild Wars and EVE: Online are already singletons. City of Heroes has cross-shard (and cross character on the same shard) friend lists and direct chat. Many of the SOE games have “universal chat” which lets you send tells from one game to another or one shard to another in the same game. These are all steps toward singletons, albeit in a much more constrained way. Probably more importantly, Xbox Live lets you use one identity and set of stats in any game on the service. If the first of the Xbox MMOs is going to use Live, it may not have any choice but to adopt something like this.

Conclusion

I think that sharing the character database between shards is a promising solution to the big walls that sharding puts between my friends and I. I hope it is something we can try out with the next game (whatever that ends up being.) What do you think? Are you going to build your next game as singleton or sharded (or some freakish hybrid not intended by nature?) What major problem is this going to cause that I’m not anticipating?

~Joe


9 Responses to “Why can’t I play with my friends?”

  1. Brandon Reinhart commented on :

    You bring up some interesting points. Fragmenting the player base is a problem. Even though player transfer fees hit the consumer in the pocket, they make a decent chunk of change for the service provider. I think most service providers today would prefer to have that income and just not solve the problem. So there’s an element of cost-benefit analysis that comes into play. One way to solve it might be to give a player one or two free transfers. I suppose you’d have to measure how often players transfer and how long they stay on the target server.

    The main benefit of blending, and what separates the idea from a game like Guild Wars, is the concept of shards having an identity. Each shard has a specific name, players can shift between them. One thing that might make this workable, in addition to the problems and solutions you suggest, would be to allow the players a greater level of control over their shard’s customization. If each shard had a different feel due to player impact on the game world, you increase the identity of each shard and actually give a reason for moving between them. I’m not sure if that’s a good idea or not.

    Anyway, it seems to me that the real question from a service point of view is “does the utility of allowing players to more easily get to their friends outweigh the potential loss of server transfer fees?”

  2. Roflchopper wrote on :

    “What major problem is this going to cause that I’m not anticipating?”

    In a word – griefing.

    Take all of those wonderful ways of getting people together and imagine how they can be turned to the Dark Side.

    I think you’re overlooking the squishy, social mechanics that make a huge virtual world feel less like a home. Think of it in real world terms and look up “Dunbar’s Number” – people can only keep track of so much. We “chunk” and bucket data and people (aka stereotype) because eventually it reaches a critical mass and faces turn into statistics.

    Real-life communities stick together based on physical locations and a home that everyone is pinned to – retain that sort of “pinning to a home” more strongly than you have listed, and I think what you’re saying will work. Same is true of virtual communities, as long as they have the same “home page”, “virtual home town”, “home forum”, that brings them all together – a virtual location that maps well to the concept of physical location.

    (Sorry, rambling, tired.)

    Something small that can help your idea work is “packing for a trip” – if your main character has a set amount of goods that they can carry with them, a cooldown to how fast they can move back “home”, and they aren’t allowed to harvest from the economy that they are visiting, maybe it can avoid some of the problems you mention.

    BTW: A preview comment button would be mega-handy, so that it’ll be easier to see how massive a comment will actually be. :)

  3. Joe commented on :

    Brandon: Unfortunately it may be more difficult to quantify than that. The question is, does a blended sharding system retain subscribers for enough additional months to make up for the lost character transfer revenue. Do you know if the revenue from character transfer is actually significant? I wonder how many of them happen a month.

    A architecture might open up new revenue opportunities. Maybe a guild would be able to open a new shard with a custom name and custom PvP settings for some kind of fee. If that fee is reocurring, it would probably offset the lost character transfer revenue pretty quickly. And if you gave the shard “owner” access to many of the global tuning values, they might discover exciting new ways to play your game that you wouldn’t have planned for. Shutting down failed shards wouldn’t be such a big deal if you could trivially move those characters to new shards.

  4. Joe wrote on :

    Roflchopper: I added a preview button. I’m also poking around looking for formatting and quoting plugins. :)

    What griefing do you see happening with a blended shard model? I suppose that hard concurrency caps per shard could be gamed, but that wouldn’t prevent anyone from just playing on another shard.

    Shard populations already exceed Dunbar’s Number by at least an order of magnitude. Each shard in a modern game supports 3000-5000 concurrent players. A good rule of thumb is that the peak concurrency is about 20% of your player base (though that depends heavily on what kind of game you’re making.) That means the actual population of the servers is somewhere between 15,000 and 25,000.

    Since we’ve already left Dunbar’s Number in the dust when it comes to shard populations, what does it matter if we blow things out even further?

    It’s also possible that easy shard switching would let us bring the shard populations down. Probably not to the 150-person level, but certainly within the 500-2500 person “large” community that Dunbar observed.

  5. Psychochild thought on :

    Insightful post. Personally, I hate the singleton worlds as they tend to be too big. Heck, I tend to think that most “normal” games have shards that are too big. But, I run a game that tops out at about 200 or so people logged in at once. It makes for a much more focused community, IMHO.

    I think the blended approach is the winning approach here. It’s what Runescape does, and you have the possibility of being able to sneak off and play with a group of your friends on a smaller shard. The idea of paying for a reserved shard is interesting, too.

    As far as income derived from special services, EQ claimed to have made about $1 million in revenues from this when they were at their peak, according to an old article that I can’t find a reference to right this moment. The article also mentioned that EQ1 had 40% profit margins. At the time, EQ1 only offered name changes and server transfers, as I recalled.

    So, these services won’t replace the subscription fee anytime soon, but they do add a nice, healthy bit to the bottom line for larger games.

    My thoughts,

  6. isildur commented on :

    Phantasy Star Universe — a sort-of MMO on XBox Live — has no uniqueness requirement. You get a unique numerical ID when you register, but you can name yourself whatever you like. The game recognizes ‘alts’ as belonging to the same numerical ID, so that if I visit a friend’s room, I’m offered a listbox with all my friend’s alts to pick from.

    They rely on voice chat for a lot of their communication, so anything that isn’t handled with voice chat is really awkward and difficult to use. You can easily talk within a party, or while in a friend’s room, but god forbid you try to contact someone not already on your friends list.

    They instance their entire game — like CoH, but instead of per-zone, it’s global. And unless you have a pre-arranged instance selected, you can’t communicate at all to your friends outside of their clumsy mail system.

    I think they’re basically on the right track with how they handle uniqueness, though — generate something unique at account creation.

    Retrofitting an existing game to uniqueness across servers doesn’t seem too hard, either. Taking WoW as an example, what I’d do is allow free monthly character transfers, and identify characters uniquely by server of origin. So I’d be ‘Squint of Rexxar,’ distinct from (say) ‘Squint of Cenarius’ (who’s an asshole).

  7. Taelorn thought on :

    The complaints you mentioned about shards are exactly what kept me away from quite a few MMOs lately, and it’s the primary reason I haven’t bought WoW. The same holds true for a number of my friends. All it takes is a few people I know buying the game without coordinating and starting up on different shards. I wonder how much income shard-based games lose to customers like me. I know I wouldn’t have bought Guild Wars if it was split into shards.

  8. Tinman thought on :

    I always wanted Turbine to add a “super” portal to AC, one that could shift your characters “home” world to one of the other worlds (to hook up with friends that were playing there, or sometimes just to avoid people I didn’t feel like talking to that day), so your ideas/thoughts resonate with me.

    The general idea would be World A is your home world. If you “superport” to World B, you’d play there as normal, but when you log off, you end up back on World A the next time you log in. That way I still feel like I’m an “A-Worlder” and a part of that community.

    Perhaps a quest, or just an in-game transaction, could be done to make the change to “World B” permanent if, for whatever reason, you wanted to change world (self character transfer as opposed to a “day trip”).

    Heck, you could even get away with it in to a game like PotBS as a Bermuda Triangle type area :)

    I’d prefer to see it as an game mechanic rather than a selection from the load screen though. Having a player feel “ownership” of a particular world is important for “community” I feel, and adding it to the character select/load screen takes away from that “my world” feel IMHO…

  9. adam wrote on :

    i was in safe haven on swg, years ago tho :-D

Leave a Reply