Upcoming Events
Southwest Gaming Expo
11/20 - 11/22 @ Dallas, TX

Workshop on Network and Systems Support for Games (NetGames 2009)
11/23 - 11/25 @ Paris, France

ICIDS 2009 Interactive Storytelling
12/9 - 12/11 @ Guimarăes, Portugal

Global Game Jam
1/29 - 1/31  

More events...


Quick Stats
6166 people currently visiting GDNet.
2341 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Link to us

  Intel sponsors gamedev.net search:   
It's Full of Stars
Posted March 8 2:16 AM by Sean Kent
Eve-Online is a massively multiplayer game in which all of the players exist within the same universe. While most MMOGs have players spread out amongst many shards, the Eve universe was conceived with the idea that all players would exist in a single shared. Towards that end Eve-Online’s construction had to be rapid and performance oriented. In the end they decided to use stackless python, and C++; with their high performance modules being written in C++, and using stackless python for the majority of their development. This enabled them to rapidly deploy code that could later be refactored into C++ code, should it prove to be a performance bottleneck. While stackless python is about 10x faster to develop with than C++ (as with most HLL, especially the dynamic ones), but also proved to be about 10x faster. However due to the nature of stackless python, they could easily port them to C++ at a later date.

Due to the nature of Eve-Online, development continues on it constantly. In order to promote the growth of the community and to have definite release stages, they opted to use a staged delivery mechanism, with their latest release being the Revelations expansion. They opted to release their expansions for free, as they feel that requiring customers to pay for them would fracture the community; because some people having access to content not available to others, all in the same universe, would pose balance problems.

In order to support the large number of players they tend to have online (around 20k at right now), they had to architect their client and server systems to be highly flexible, and to require the smallest amount of communication possible. Towards that end, they opted to make the majority of the physics deterministic, such that the client could do the majority of the calculation work (mind you, the server does this work too, but it does not require a constant stream of updates between the player and the server, such as Counter Strike does). They also designed a custom network layer for their inter-server communications. Finally, they use forward caching mechanisms on their database backend such that most of their high traffic tables are on ram-drives with backing non-volatile storage.

Overall the presentation was interesting, but it did feel a lot like an advertisement for IBM and IBM blade servers, along with RamSans. Still, it was good to get a look at their backend tech, even if it wasn’t a very detailed look.

 
 
Menu
 Back to GDC 2007
 See more Design
 Discuss this article