Live data from Hacker News

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

penny-arcade.com

91–100 of 135 posts

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

#91
post #52
post #45

Earlier quoted context omitted.

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.

Yeah, but so is EVE and other games like it. I have never played EVE for any significant amount of time, but I did play WoW for awhile and there were tons of things that people would sink time into for purely social reasons. I imagine EVE is the same way. You don't just want a Titan because it is useful in the game, you want a Titan so you can have a Titan.

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

#92
post #56

Earlier quoted context omitted.

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'…

If you check the video you'll see it's very slow paced and the ships basically don't seem to move at all (maybe tiny unseen ones do I don't know) http://www.pcgamer.com/2013/01/28/eve-online-battle-asakai/

Part of the reason it is so slow is that (as mentioned in the article) the server slows time down (as far as 10% of normal) in order to ensure that nothing gets lost.

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

#93
post #11
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…

That feeling of "My ship! My beautiful, beautiful ship!" is offset by the fact that major alliances tend to have strong reimbursement programs. If your dreadnought goes boom in a fleet op, you get the cost of another hull and gear, and get to draw on corp/alliance stores as well. Otherwise, they'd never get their supercap pilots out of the hanger :)

If you don't have insurance on your Titan, you shouldn't have a Titan.

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

#94
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…

Hey, I used to be a games networking programmer, and your estimate is pretty good. A few corrections that bring it down to something not entirely unaffordable: * You can bit-pack your structures a lot more efficiently - let's say 2 bytes for a local player ID, 10 bytes for each of velocity/orientation (quaternion represention and heavily quantizing the theta component), and 10 bytes for the location. Clients are neve…

Eve is, canonically, 1 cycle/second; That is, the server ticks the game state once per second. Some modules have finer-grained cycle time than that, but their extra is simply saved up tick to tick.

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

#95
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'm a game developer bootstrapping an Erlang-based game server that attempts this. You don't have to send 48 bytes each frame (you can usually send only delta), and 30/sec is only necessary in a reaction-based FPS type of game. Hosting players in a local area, local meaning they can see each other and interact, is n^2. My calculations a year ago came up with a per-minute cost for the amount of AWS hardware it would r…

Is AWS feasible for large scale game hosting? I would have thought co-location would be much more economical in this case.

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

#96
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'…

Combat in Eve is more D&D and less Wing commander. When I played (a few years ago) you would get text based messages pop up saying stuff like "X hits Y for 38 damage"

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

#97

Earlier quoted context omitted.

Excuse my complete ignorance but I can't resist. Why was everyone trying to stick it to Something Awful ?

Hopefully someone can give you a better answer, but you might have heard of 4chan? Something Awful is where they came from. They're actually a major cultural force in EVE. ("Shoot blues" "Little bees") They're a bit like America in international relations, except there are fewer redeeming qualities.

Something Awful (~1999) was around way before 4chan (2003)

http://en.wikipedia.org/wiki/Something_Awful http://en.wikipedia.org/wiki/4chan

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

#98

Earlier quoted context omitted.

Hopefully someone can give you a better answer, but you might have heard of 4chan? Something Awful is where they came from. They're actually a major cultural force in EVE. ("Shoot blues" "Little bees") They're a bit like America in international relations, except there are fewer redeeming qualities.

4chan might literally be "something awful", but the site Something Awful came FROM 4chan. As did half the "meme" sites on the internet, unfortunately... Just reinforcing JonnieCache's point. EDIT: Apparently SA was around before 4chan. grr. In any case, they are fairly independent cultures. One charges $10 to register, the other doesn't require a username/login...

Actually, 4chan was founded by a SomethingAwful member, moot, who I think frequented the anime forum on SA (ADTRW). I'm not sure where this reversed order of formation came about.

Nowadays of course SA generally stays away from 4chan, which has become about a lot more than anime and games.

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

#99
post #41
post #20

Earlier quoted context omitted.

If you spent six months grinding the ISK to buy and outfit a carrier, how willing would you be to take it into a battle where any of a hundred things could destroy it, including server lag or a random disconnection?

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?

Maybe you just want to use it to pick off all the smaller guys. You enjoy driving it around and being the Big Man On Campus. But, you don't want to take it into a real fight, you might avoid an actual conflict with it.

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

#100
post #38

It's like each solar system is a VM, and they can't move their VMs to a new physical server without disconnecting all clients. And all of their physical servers are at 100% load all of the time? Oh, I guess it's 100% utilization, not 100% load. As in, they don't spin down servers to save power during off-hours I guess. The time dilation is a neat solution to the server load problem, but it's sooo annoying as a player…

Two main solutions (given that the article mentions that they have huge machines already):- A) Allow a single solar system to span multiple machines. Very hard, especially if the server software isn't architected for this. Retrofitting this can be nigh on impossible. B) Have a few huge machines that can be used to host scenarios like this and, more importantly, have a way of migrating users over to the huge machine s…

I find this post particularly interesting, since what described (outside of doing it at a VM level), somewhat reflect how some Telecom providers build their equipment. Telecoms in North America are properly crazy when it comes to recovering from failure with minimal visible impact to customers.

Usually on the Telecom equipment, the backup / state transfer is done at a process level, not at a VM level as suggested, but it's quite common practice.

The best equipment I've seen, does this by spawning many equivalent processes, and distributing them among the available blades in the chassis. If you have process mgr1, you get a backup1 process on another blade. As mgr1 processes you're call state, it checkpoints all critical data to the backup1 process. If the mgr1 process itself crashes, or the entire blade fails, all the processes are simply re-spawned, contact their corresponding backup process, and transfer all the state information back, and simply resume. Most end users won't even notice. Using this method, I've seen equipment recover well over 30,000 subscriber sessions in under 5 seconds, most of which probably wouldn't even notice, and even if you did it wouldn't be enough to drop you're data connection (VPN, video streaming, or whatever you're doing). We also don't lose you're bill for the usage either ;)

The challenges with applying this to the game environment, is in telecom each user session is independent, and doesn't really interact with other sessions, so we don't have an issue of a single process becoming overloaded and needing to free up resources to handle it. However, it would be properly easy to do within this model, since failure is expect to occur and be recovered from.

As a programmer, you have to be properly diligent in the software design, what get's check pointed, when does it occur. I couldn't even imagine trying to retroactively apply this type of design to "legacy" software, that wasn't build from the ground up with this model in mind.

Post reply on HN