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.