Cmune is the producer of UberStrike, a 3D game on Facebook and MySpace, with over 650,000 users. Cmune’s UberStrike is a browser-based massively multiplayer online first person shooter (MMOFPS) game available across Facebook, MySpace, Apple Dashboard Widgets, in addition to Cmune’s own portal. UberStrike runs directly in the browser, using micro-transactions and leveraging the distribution and viral aspects of social networks.
Cmune chose to build a free-to-play (FPS) for the speed of use, multi-billion dollar market, and lack of competition within social networks. However, FPS games are extremely sensitive to lag, according to Cmune Co-Founder & Chief Architect Shaun Le Lacheur-Sales, giving widely distributed multiplayer games a technical barrier difficult to overcome through social networks. At the same time, says Le Lacheur-Sales, traditional online games generally require either a console or high-spec PC, huge client installs, and a financial investment by the user. “Users are looking for something easier to access, more social and free.”
Why Amazon Web Services
Cmune’s UberStrike is an FPS game, making the service not only highly sensitive to performance and lag, but also requiring constant improvement and the addition of new content. A flexible and scalable infrastructure is critical to Cmune’s success. For these reasons, Cmune chose to host their platform backend exclusively on the Amazon Web Services (AWS) infrastructure. The Cmune core technology includes:
Datacenter – Amazon Elastic Compute Cloud (Amazon EC2) hosts all database servers
Channels – Servers containing the business logic and Web-based presentation layer for Cmune apps, Facebook, MySpace, and the Cmune portal are hosted on Amazon EC2 servers.
Real-time Infrastructure – Cmune’s real-time infrastructure consists of lobby servers, messaging servers, and game servers, allowing players to find games, communicate with each other, and synchronize real-time game environments (i.e. network physics) across Facebook, MySpace, stand-alone clients, and the Cmune portal.
Global Deployment – Cmune game servers are deployed in every global region, with the Cmune master servers hosted in the Eastern US region.
Content Delivery Network (CDN) – Amazon CloudFront is used exclusively for client distribution and hosting heavy Website data.
Continuous Integration/Deployment – Cmune hosts their staging environment side-by-side with the production environment, for ease of testing new game clients, database changes, and real- time networking. Cmune’s continuous integration/deployment runs in-house and is currently being porting to AWS.
Due to Cmune’s open standards in client/server communication and the simplicity of integrating the Cmune datacenter (asynchronous) and real-time (synchronous) communication SDKs, games running on the Cmune platform are easy to integrate into other channels such as new social networks, downloadable builds, and new devices. With the distributed infrastructure of AWS, players enjoy quick download times from most modern countries and low-latency access to real-time servers. For those players with higher latency connections, Cmune employs corrective/predictive algorithms.
Cmune uses dedicated AWS servers to host the client/server messaging system with this stack also servicing the real-time server to datacenter messaging. That means both Cmune real-time servers and clients use the same messaging API, with different channels to talk to the centralized Cmune data-tier. This creates one common layer of abstraction for the highest traffic nodes, the clients and real-time game servers, so that solving the scaling solution with AWS facilitates two critical platform components.
Cmune saw a large gap between high-quality 3D low-latency real-time console/PC game titles and the games available on social platforms, and found a way to address that gap with AWS. “Online games and social networks are converging,” says Le Lacheur-Sales. “And we are pioneering the field of 3D social games.”