A Russian startup company.
Objective and solution
Customer had a vision of a next generation MMORPG (massive multiplayer online role playing game) but it had no expertise in client-server multiplayer games with high numbers of online users.
Our research and development group was asked to prepare general architectural recommendations and build a prototype of the game server.
The main requirements for the single game server instance were:
- High availability (no less than 99.999%)
- Ability to handle up to 10 thousand simultaneous connections
- Minimal network load. Users with 3G connection of 2048 Kbytes/sec should be able to play.
- Created custom binary protocol on top of UPD with delivery guarantee support for critical messaging scenarios
- Network load minimized by sending only “deltas” - personalized chunks of data that actually changed.
- High availability was assured by a Microsoft IIS web farm with load balancing
- First version of working prototype was able to handle more than 2000 connections
- Custom protocol that unified ideas of UDP broacasting and multicasting allowed significantly decrease load on network
- Plugin based architecture weakened dependencies between server components and streamlined development process