Live data from Hacker News

How the EVE Online Servers Deal with a 3,000 Person Battle

penny-arcade.com

51–60 of 135 posts

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#51
post #8

The report of the battle they link to ( http://www.pcgamer.com/2013/01/28/eve-online-battle-asakai/ ) is even more fascinating to me. You spend hours and hours of effort in order to get a ship, and one way of thinking about them is as the time spent to earn them compressed into 3d form. Unlike (most) other MMO's, battles actually destroy things. So in that youtube clip, you're watching years and years of effort getti…

Nobody actually "earns" titans. It's simply not something that an individual would ever fly. Titans belong to the biggest corporations, alliances, and coalitions, and are essentially floating cities that support fleets of other ships. They're a strategic resource that individual players would never use. In the case of this particular battle, CFC lost 3 titans. This alone is several thousand dollars worth of real-worl…

> They're a strategic resource that individual players would never use.

Except for that year or two when they could shoot smaller ships with immunity, a LOT of people in nullsec alliances got one with their own funds just to shoot bigger guns with impunity.

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#52
post #45
post #41

Earlier quoted context omitted.

I would invert the causality. Why would I spend six months outfitting a carrier if I had no intention of using it in combat or even flying it anywhere where other people would see it?

Same reason people spend hours tending their farmville farms...

I've never played Farmville, so I probably shouldn't speculate, but I'm under the impression that it is at least ostensibly a social game where you invite people to help with or at least view your farm.

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#53
[Edit: this comment turned out not to really be about Eve and more about the difficulty of real time MMOs]

This blows my mind. I've been thinking about writing a small multiplayer game for a few weeks. And today I was actually doing back of the napkin calculations. The thing that quickly became clear is bandwidth is O(n^2) where n is the number of players in the same location, since you have to share the location and velocity of each player with each other player.

Here's an example of a calculation I was using. It's the monthly bandwidth in TB of having a certain amount of players in a shared space (3000 in this case), assuming that the location/orientation/velocity of each player's ship is contained in a measly 48 bytes and you attempt 30fps.

(48 * 30 * 3000 * 3000 * 3600 * 24 * 30) / 1e12 = 33592 TB = 33 PB

THIRTY THREE PETA BYTES to simulate a single battle for a month.

I'm looking around at various VPS providers and the bandwidth they offer. Using the naive calculation above and the cheapest Linode offering and it'd take $3 million/month to support a single one of these ongoing battles.

Now, I'm sure the numbers above aren't used in reality. Obviously, you can reduce the updates per second... but not by much. You can't shave much off how much you send. It at least gives you a sense of the orders of magnitude required to support such a thing. Even contemplating supporting 100-1000 people at once is looking very difficult for me to pull off.

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#54
post #53

[Edit: this comment turned out not to really be about Eve and more about the difficulty of real time MMOs] This blows my mind. I've been thinking about writing a small multiplayer game for a few weeks. And today I was actually doing back of the napkin calculations. The thing that quickly became clear is bandwidth is O(n^2) where n is the number of players in the same location, since you have to share the location and…

I think one thing Eve has going for it (and this is only an assumption) is that it wouldn't need to sync each player's position on each frame. It could reduce the load dramatically by only sending the acceleration / orientation data for a ship.

So if a ship has set a course and has stopped accelerating it doesn't need to send anything else unless that course is changed.

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#55
post #39

Earlier quoted context omitted.

Nobody actually "earns" titans. It's simply not something that an individual would ever fly. Titans belong to the biggest corporations, alliances, and coalitions, and are essentially floating cities that support fleets of other ships. They're a strategic resource that individual players would never use. In the case of this particular battle, CFC lost 3 titans. This alone is several thousand dollars worth of real-worl…

If they have so many Titans, why not bring out ten of them and sweep the battle?

Because Titans are shitty fighting vessels. They are essentially portable warp gates with fireworks. And they are expensive.

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#56
post #53

[Edit: this comment turned out not to really be about Eve and more about the difficulty of real time MMOs] This blows my mind. I've been thinking about writing a small multiplayer game for a few weeks. And today I was actually doing back of the napkin calculations. The thing that quickly became clear is bandwidth is O(n^2) where n is the number of players in the same location, since you have to share the location and…

I think one thing Eve has going for it (and this is only an assumption) is that it wouldn't need to sync each player's position on each frame. It could reduce the load dramatically by only sending the acceleration / orientation data for a ship. So if a ship has set a course and has stopped accelerating it doesn't need to send anything else unless that course is changed.

I haven't really played Eve, so I can't say. I'm imagining ships flying around and changing course constantly in a battle, but if someone can give a better description, I'd appreciate it. It'd be further reduced by several players sharing a ship... no idea how common that is.

What I'm describing is definitely leaning more towards players that are constantly moving around though. It helps explain to me why in Asheron's Call, for instance, when you had too many people in the same city a "portal storm" arose and people started getting teleported out of the city randomly.

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#57
post #53

[Edit: this comment turned out not to really be about Eve and more about the difficulty of real time MMOs] This blows my mind. I've been thinking about writing a small multiplayer game for a few weeks. And today I was actually doing back of the napkin calculations. The thing that quickly became clear is bandwidth is O(n^2) where n is the number of players in the same location, since you have to share the location and…

I think one thing Eve has going for it (and this is only an assumption) is that it wouldn't need to sync each player's position on each frame. It could reduce the load dramatically by only sending the acceleration / orientation data for a ship. So if a ship has set a course and has stopped accelerating it doesn't need to send anything else unless that course is changed.

This is exactly how these types of problems are solved. Local clients run simulations based on known locations/directions, and are synced with the central server at a specified interval.

This allows a client to have a light-weight "cached" view of the reality, and the only trade-off is the occasional discrepancy from the reality. However, if you send updates about changes in speed/directions in real time, you get a pretty reliable representation of the state known by the server.

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#58
post #56

Earlier quoted context omitted.

I think one thing Eve has going for it (and this is only an assumption) is that it wouldn't need to sync each player's position on each frame. It could reduce the load dramatically by only sending the acceleration / orientation data for a ship. So if a ship has set a course and has stopped accelerating it doesn't need to send anything else unless that course is changed.

I haven't really played Eve, so I can't say. I'm imagining ships flying around and changing course constantly in a battle, but if someone can give a better description, I'd appreciate it. It'd be further reduced by several players sharing a ship... no idea how common that is. What I'm describing is definitely leaning more towards players that are constantly moving around though. It helps explain to me why in Asheron'…

I also have been toying around with trying to create a MMO fast action space simulation of my own creation. I have a few ideas on how to limit areas of dense players with game mechanics. I haven't even really started on multiplayer beyond the ability to download modify and upload solar systems though.

I think for some really hard engineering problems like this the best course could be to try and find a 'good enough' approach that will allow a significant ammount of players to interact while limiting the upper bound with a game mechanic to make it feel less artificial.

http://code.google.com/p/stableorbit

here are a couple videos from the never ending pyopencl port.

http://www.youtube.com/watch?v=lnOmy1ly6M0 http://www.youtube.com/watch?v=XCvRBHtPbzE

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#59

Earlier quoted context omitted.

I think one thing Eve has going for it (and this is only an assumption) is that it wouldn't need to sync each player's position on each frame. It could reduce the load dramatically by only sending the acceleration / orientation data for a ship. So if a ship has set a course and has stopped accelerating it doesn't need to send anything else unless that course is changed.

This is exactly how these types of problems are solved. Local clients run simulations based on known locations/directions, and are synced with the central server at a specified interval. This allows a client to have a light-weight "cached" view of the reality, and the only trade-off is the occasional discrepancy from the reality. However, if you send updates about changes in speed/directions in real time, you get a p…

Sure. It's commonly called dead reckoning as I understand it: http://en.wikipedia.org/wiki/Dead_reckoning#Dead_reckoning_f...

But even if you only send a "real" update once a second, I still don't see how this thing scales (that still leaves 1 PB in the above calculation). And if you send it less than that, I imagine things would start to look rather jittery. The "occasional discrepancy form reality" would be awful.

Re: How the EVE Online Servers Deal with a 3,000 Person Battle

#60
post #56

Earlier quoted context omitted.

I think one thing Eve has going for it (and this is only an assumption) is that it wouldn't need to sync each player's position on each frame. It could reduce the load dramatically by only sending the acceleration / orientation data for a ship. So if a ship has set a course and has stopped accelerating it doesn't need to send anything else unless that course is changed.

I haven't really played Eve, so I can't say. I'm imagining ships flying around and changing course constantly in a battle, but if someone can give a better description, I'd appreciate it. It'd be further reduced by several players sharing a ship... no idea how common that is. What I'm describing is definitely leaning more towards players that are constantly moving around though. It helps explain to me why in Asheron'…

Eve's gameplay could be represented as a text based game, it is not a fast paced space shooting game.
Post reply on HN