Advertisement

World size vs. Servers

Started by October 17, 2005 01:18 PM
15 comments, last by Kaze 19 years, 3 months ago
I do not know enough about how servers work with MMO's so I am asking for all of your help with this. How large of a world can be created? Putting aside the fact that the larger the world the more content programming that has to be done, meaning a lot more time designing, this I know. But, if all the designing and programming is not a problem, could you make a virtual world, say, the size of real earth?
Not exactly. By definition really, if you want to make a world with the size and detail of the earth, you need a computer with the same amount of mass and energy [read: information] as the earth. And that's assuming you can make the encoding 100% efficient...

Granted, an mmorpg doesn't need anywhere the detail of the real world.
Advertisement
I am a firm believer that we have hit a point where anything is possible.
www.EberKain.comThere it is, Television, Look Listen Kneel Pray.
Well if the world doesn't go into extreme detail then yes it is possible, but you would need quite a bit of a cluster to power a world simulation on that scale. That would be a fun cluster to build.
Quote:
Original post by Eber Kain
I am a firm believer that we have hit a point where anything is possible.


The possible is as much defined by cost and willingness as it is technology. While it is possible to create virtual worlds of unprecedented realism using clusters of 10,000 processor supercomputers, neither the money nor, ultimately, the willingness is there. In time, todays supercomputers will be available as simple desktops. Until then, the available technology IS limited. I predict it will be another perhaps 15 years before gaming simulations are largely indistinguishable from a movie.
As was said earlier, the size of the world you can represent all depends on how much detail you wish to have. Here are some numbers giving a rough estimate of how much storage you would need to have a world as big as earth.

Earth has a surface area of about 510 million square kilometers. Now for an MMORPG, lets say that you want the smallest terrain "hex" or "grid" to be 100 square meters (10x10). And then lets say you are willing to have only 32 different terrains in your world (grassland, tundra, etc). It would take almost 3 Terrabytes of data just to store your terrain types. Now lets say you want to store elevations, and want 1024 different elevations which scale to 1 meter each (that would give "tall" mountains in an MMORG game). That would take another 6 Terrabytes of data. If you wanted underwater to be represented by another 1024 elevations below sealevel, thats another 6 Terrabytes.

So now just to have terrain and elevation it would take up 15 Terrabytes of data. And that doesnt enclude any details about the terrain such as specific trees, rivers, ponds, etc. You could easily have your world taking up hundreds of Terrabytes just to set up the terrain of your world. 100 Terrabytes on 15k rpm Harddrives would cost about $500,000. And that does not count the cost of the systems that carry the harddrives, which would easily bring the cost over a few million dollars.

But even if you did want to make such a large world, realize that even midevil earth had a few hundred million people living on it. Even WOW only has 3 million subscribers. And even with 1 NPC per PC in the world, that makes only 6 million people. You could easily get away with a world 50 times smaller than earth and still have it feel just as big given your reduced world population.

Sorry for thinking too much into this, im bored at work today.
Advertisement
Why store it? What if the area around a given player only existed when the player was in that area. All terrain, buildings, npc's could be procedurally generated. You'd have a world with unlimited details and unlimited size (virtually). The downside of all this is that it would be tough to pull of in an MMORPG and the world would have to be very static.
Quit screwin' around! - Brock Samson
Quote:
Original post by Eber Kain
I am a firm believer that we have hit a point where anything is possible.



Gee, I hope so, my design calls for just about 40 % of the earth's surface in detail. Yeah, and it's fun too, I'm told, lol.

Adventuredesign

Always without desire we must be found, If its deep mystery we would sound; But if desire always within us be, Its outer fringe is all that we shall see. - The Tao

Quote:
Original post by Anonymous Poster
What qualifies as making a virtual world the size of earth? If you want an accurate physical simulation, it's not going to happen any time soon (both data and computation speed issues). If you simply want the typical level of detail found in MMO's, I'm sure it's technically possible, but still economically impossible (even assuming instant and completely free content).



Actually, in a software factory business model, with content releases balanced against average playtimes, you could probably have the player progressively access different parts of the larger simulated (or perhaps suggested is more accurate) world through game progress. Food for thought.

Adventuredesign

Always without desire we must be found, If its deep mystery we would sound; But if desire always within us be, Its outer fringe is all that we shall see. - The Tao

There, based on an previous version of Olive, which is my day job, simulates a planet almost the size of earth (about 5% off). In current versions, we use a fully-earth-size planet.

We have a system where artists place detailed terrain information (elevation, texturing, flora, etc) where they care about the specifics, and where a fractal generator will generate the in-between space based on coarse parameters set by artists (hilliness, average height, etc). We start with the entire earth at 10 km resolution or so, and refine down where necessary.

We have used the same terrain and simulation basics for several years, and the min-spec for There is an 800 Mhz Pentium III with a GeForce, so yes, this can absolutely be done, to at least some degree of fidelity.
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement