The Single Universe Problem, Part One

And God said, “Let there be lights in the firmament of the heavens to separate the day from the night; and let them be for signs and for seasons and for days and years, and let them be lights in the firmament of the heavens to give light upon the earth.” And it was so. And God made the two great lights, the greater light to rule the day, and the lesser light to rule the night; he made the stars also. And God set them in the firmament of the heavens to give light upon the earth, to rule over the day and over the night, and to separate the light from the darkness. And God saw that it was good.

Like the gods of creation stories, designers of a new virtual world face a fundamental cosmological question: how will the world be organized? What will the natural laws of the world be? How will people move around it and effect other residents of that world? These questions encompass the entire problem of designing a virtual world, but the very first question you have to decide about is how many worlds you’re going to make.

In the beginning, there was only one model, and it’s difficult to describe it because anything else seems so alien: every visitor to a particular virtual world like LambdaMOO was visiting the same version of LambdaMOO and could see any other visitor to LambdaMOO. This seems so obvious as to be confusing; if you plan to meet someone at a local coffee shop, you will end up in the same place.

This model quickly fell apart, though. As virtual worlds gained popularity, it became harder and harder to fit everyone into one world together. So like a coffee shop owner that realizes she could profitably open another location and start a franchise system, virtual world designers developed a new way to organize their universes. Instead of having just one world, virtual worlds started having multiple copies of their world. These copies are typically called “shards” or “realms”.

Unlike a coffee shop, it seems like you could just make a virtual world bigger to fit more people, right? There are no real estate constraints online to hinder expansion. Instead of physical constraints, virtual worlds that want to grow face two related problems. The first is technical. In general, the bigger a virtual crowd gets the more unresponsive the world becomes for everyone. Imagine that every time you move your character, you have to tell everyone else nearby about every step your character takes. If everyone’s moving at the same time, the number of messages for everyone to tell everyone else that they’re moving rises very quickly. So when you have a world with lots of people in it, you’re usually really scared that they all end up in the same place at once because then that area slows to a crawl as it tries to pass messages between everyone in the room.

The second problem is one of design: how do you keep people from all going to the same places at the same times? You have to give people lots of places to go that are interesting and lots of places to do things that everyone needs to do, like go shopping, so they never fill up too much.

A game like World of Warcraft sort of punts on the second issue. You can get away with having a laggy, unresponsive world for things like shopping because it’s not a particular immersive experience anyway. Plus, players get smart at regulating their visits to busy places like that to avoid heavy traffic. The first problem is harder to deal with. If there’s a really important mission that everyone wants to do, how do you handle 1000 people who want to do that mission at the same time?

The traditional answer to this problem is to do the franchising trick again. In this context, it’s known as “instancing.” If I want to go do a popular mission with some friends, the world creates a copy of the mission area that’s just for us. These areas typically have a fixed number of people who can be in them, which solves the messaging problem from earlier; if you can set a ceiling for the number of people who can simultaneously participate in something, you can just design experiences for a number of people you know you can easily handle.

Instancing solves another problem, too – griefing. When doing a high stakes, high risk task, there are lots of opportunities for a malicious player to ruin other people’s chances. Instancing separates these tasks from the rest of the world. You choose who comes with you into the instance, so you’re largely safe from unfriendly players.

Almost all modern worlds use shards or realms to split up their player base, and almost all modern worlds use some form of instancing. Some worlds, like Guild Wars, are nearly entirely instanced, and the only shared spaces are towns. Perhaps the only other world that doesn’t use shards is Second Life, although they set hard limits on the number of people in an area, too, so essentially they have the same problem, they just choose to avoid it.

EVE doesn’t use realms or shards at all, and uses only a lightweight form of limited instancing for missions (which don’t play nearly as central a role as they do in other worlds). The result is that when you look at the EVE login screen and it says 35,000 logged in pilots, that’s 35,000 people you can talk to, shoot at, and team up with. If you want to put 1000 people in a system together, you can. It’s laggy, but this kind of flexibility has a major impact on the kind of world EVE has become.


This article is continued in a second, more EVE-specific, part.

Add Your Comments

Required
Required
Tips

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <ol> <ul> <li> <strong>

Your email is never published nor shared.

Ready?