typodupeerror

## Scripts and Scaling In Online Games61

CowboyRobot writes "Jim Waldo of Sun Microsystems has written an article titled Scaling In Games & Virtual Worlds, saying that they 'should be perfect vehicles to show the performance gains possible with multicore chips and groups of cooperating servers. Games and virtual worlds are embarrassingly parallel, in that most of what goes on in them is independent of the other things that are happening. Of the hundreds of thousands of players who are active in World of Warcraft at any one time, only a very small number will be interacting with any particular player.' A group of researchers at Cornell wrote a related piece about improving game development and performance through better scripting."
This discussion has been archived. No new comments can be posted.

## Scripts and Scaling In Online Games

• #### The Universe is a game... (Score:2)

Seems to scale OK as long as everyone stays within the same light-cone.

You can tell its scripting is feature complete because the nerds have gone out and written virtual computers that run on top of the game.
• #### Re: (Score:3, Informative)

You can tell its scripting is feature complete because the nerds have gone out and written virtual computers that run on top of the game.

Actually you can't. Your brains are also operating within the Universe, and thus bound by any limitation it might have; thus, if there's some important aspect of logic or computability which the Universe lacks, you couldn't conceive it existing, and thus you would mistakenly consider the Universe feature complete.

All that can be said is that the laws of logic within the U

• #### Re:The game is a Universe... (Score:2)

... if there's some important aspect of logic or computability which the Universe lacks, you couldn't conceive it existing, and thus you would mistakenly consider the Universe feature complete.

The proof is the pudding?

• #### Re: (Score:2)

What do logic and computability have to do with the physical Universe? They are mathematical concepts. There is no "Universe with different rules of logic"; that statement is nonsense.

• #### Re: (Score:2)

The only value Logic and Computability have is due to our experience that the universe behaves with absolute fidelity to those concepts. The universe is absolutely logical in every regard.
• #### Re: (Score:2)

That is highly illogical captain.

• #### Scaling? (Score:1, Funny)

by Anonymous Coward

glScaled(GLdouble x, GLdouble y, GLdouble z)

• #### Re: (Score:1)

All commonly available OpenGL implementations are single-precision?
• #### Except that's not the hard problem (Score:2)

Games and virtual worlds are embarrassingly parallel, in that most of what goes on in them is independent of the other things that are happening. Of the hundreds of thousands of players who are active in World of Warcraft at any one time, only a very small number will be interacting with any particular player.

Except that's really not that hard of a problem to solve. It just takes good basic software engineering to divide this problem up. You create zones, and then a little glue to make sure things happen smoothly at the edges.

The hard problem is when you have huge data sets like that, and *everything* interacts with each other, but you still need to divide the problem into discrete pieces to process in parallel.

• #### Re: (Score:2)

Thats exactly what they're saying. "Since most things that happen are independent, and that there's very few "links" at any given time, its very easy to do things in parallel".

So you agree with the article.

• #### Re: (Score:2)

I do, but what I'm saying is it's not that interesting... It's basic good software engineering.

In other news, your car has an annoyingly limited range, but by placing gas stations everywhere, you can design a system where people can drive anywhere. /obcaranalogy

• #### Re: (Score:2)

Trouble is if you have some "special event" and everyone piles into the same zone.

AFAIK, you will have to do sharding if you want to keep costs down. So once people start piling on, you shunt them into other shards/instances.

Unless of course he has actually said something interesting in the article...

But since it's not in the summary I'm not bothering to RTFA ;).

Another reason why you have to shard (or keep the numbers of interacting humans down) anyway:

Even if the hardware+software can cope, the people wil
• #### Re: (Score:2)

Perhaps they should ask CCP how they do it.

1000 player PvP battles? WoWers can only dream of that...

• #### Re: (Score:2, Interesting)

by Anonymous Coward

The people who are planning big (i.e 500+) battles petition the developers with the predicted location before hand, and they move that region onto more powerful hardware that can handle the load.

• #### Geh! (Score:2)

The language in these articles is horrendous. You can tell, without it ever being stated outright, that a programmer wrote them!
• #### A cool game (Score:1)

A really cool MMO would be one where every player affected it (to keep it small, only a few hundred people could be on at a time per world). If you chopped down a tree for timber, for example, it wouldn't respawn in 5 seconds; you would have to grow a new one or else it wouldn't come back, so people couldn't just hack down the entire forest and expect no repercussion. If you hunted a certain monster too much, it would go extinct, so you would have to be careful not to overkill anything (alternatively if you
• #### Re: (Score:3, Insightful)

That would quickly become a not-at-all-cool MMO. The problem it has is that it's vulnerable to griefers. All it takes is one person who decides to defoliate the world for fun and soon you wouldn't have any plants around. One group could decide to exterminate stuff and there'd be nothing left to kill. To give you an example of this "I have fun by taking away other player's fun" mentality, there was recently an event in World of Warcraft where there was a big tree set up in a city, and players could get g
• #### Re: (Score:2, Interesting)

True, that's why the potential for a fun game is almost always non-reachable.

I recall playing a game called Goonzu, and people would stand on event NPCs so that no one else could do the event. Sure, they couldn't do the event because they were preventing others from doing it, but they simply didn't care.

There would probably be ways to stop them, like if they decided to play as 'villains' (read: douches), it would be possible to kill them, treating them as bad guys. So, while everyone plants something an

• #### Re: (Score:2)

Make a localized voting system. If a person is being an ass, someone votes to "rate" then negatively. Enough negative ratings and you forbid them from certain cities. You can have the opposite and positive ratings allow people into certain cities. This would have to be localized to alleviate guild/zone griefing. Just vote that a person is being bad and everyone cooperating (having the option turned on) in a certain radius is prompted (politely, off to the side of the screen or something) to vote. If t

• #### Re: (Score:1)

Something along the lines of 'That person just stole from the local fruit cart!' giving the player an option to care and 'shout' something along the lines of 'stop thief!', or not care at all and ignore it. If enough people 'shout' about the negative action, NPC guards kick them out of town. So, if someone was kill stealing, or trying to destroy an entire crop, if enough people were bothered by it, that person would no longer be allowed on the premise. If they wanted to come back, they would have to do good
• #### Re: (Score:2)

Unfortunately, the problem becomes one of motivation. Who is more motivated, the griefer who enjoys the frustration of others, or the frustrated person starting to think that it's easier to log off forever than to fight the griefer? If you've ever seen the online trolls, even here on Slashdot, you know the painful answer to that.

I run an online game called Meridian 59 [meridian59.com]. It embraces a less restricted PvP philosophy with the intention that players can solve their own problems. Yeah, it doesn't quite work

• #### Re: (Score:2)

That would quickly become a not-at-all-cool MMO. The problem it has is that it's vulnerable to griefers.

I've been working on solving this. The key is to have the game world react to griefing in ways that make it futile or counterproductive. Buy up all the coal in a mining town? The income causes the town to grow to increase production. Kill a civilian? You get a reputation as a murderer, the authorities will put a bounty on your head, town guards will attack you on sight, and no merchant will do busine

• #### Re: (Score:1)

Actually, this is an idea I have been kicking around with my friends for about a year now... I call it a "persistent universe" for a MMO. The background coding for this actually would be fairly easy... the difficult part comes in updating the player interfaces to reflect the newly modified universe. In essence, how do you keep the data throughput down while continuously updating the "universe" that the player is interacting with? If bandwidth wasn't an issue, this would be easy, but we all know that band
• #### Re: (Score:2)

Players request data about their surroundings. Index "new" change data on nearest integer coordinate and when a player requests an update, send them what changed near them.

Split the world into cubic environments that are small enough to download in chunks. (If you played Vanguard, or seen it... Think about 100 times smaller than their chunks.) You'd have hundreds of zone chunks nearby a character. If the world changed in one of these chunks and the player is nearby, send them updated chunk data. You ca

• #### Re: (Score:1)

On an MMO level, however, couldn't this end up requiring that the servers be dumping out massive quantities of data? The return of this world data would have to be relatively instant in order to maintain gameplay and these data chunks would be be... what... 100k in size... maybe more? if you have more than 10 players in a localized area where a world change happens, then you would have to dump out about a meg in less than a second. Scale that up for thousands of players and you begin to see my quandry.
• #### Re: (Score:1)

after looking at my post... maybe 100k is kinda ridiculous for your world chunk updates.. but I still feel that my sprite updates would require a significantly smaller (by a factor of ten or better) quantity of data.
• #### Re: (Score:2)

You'd have descriptive generation something like the following. You wouldn't send the models and textures for the area, but you'd have pre-made assets locally. You tell the client to draw two triangles with texture 34987 at positions {(x1, y1, z1), (x2, y2, z2), (x3, y3, z3)} Then just tell the client to draw item 5632 at x/y/z/pitch/yaw/roll. You could do grass, trees, houses... In rare occasions (or maybe the first initial "patch") you can have the client download a new asset, dungeon section, tree, e

• #### Re: (Score:1)

This reminds me of Wurm Online [wurmonline.com], a MMORPG in which you can chop down the trees, build buildings, and make your own roads, hills, mines, fences, etcetera. Practically all of the terrain modifications have been made by the players.

#### Related LinksTop of the: day, week, month.

In every hierarchy the cream rises until it sours. -- Dr. Laurence J. Peter

Working...