In Wizard Ops Tactics, an army of cartoon wizards in Singapore can face off against an army of cartoon wizards in Orlando, Fla. Created by Phyken Media, Wizard Ops Tactics is a multiplayer mobile game of battling wizards that was released in 2013. The company's goal is to create a seamless gaming experience for players all over the world, but in order to achieve that, Phyken needed more than just magic.
Phyken Media wanted Wizard Ops Tactics to be a game "that people can play against each other no matter what device they were using and no matter where they were in the world," according to Kunal Patel, president and studio head. Phyken codes in MySQL and runs its games on Amazon Web Services. However, Phyken had already been through a gaming outage when one of Amazon's data centers went offline. Even a short outage for a game can lose revenue and anger a loyal player base, so Phyken was looking for something that could give Wizard Ops Tactics higher availability.
In 2013, after doing some research, Patel found white papers written by GenieDB, at the time a startup. He decided that its capabilities were just what Phyken Media and Wizard Ops Tactics needed. GenieDB is a MySQL Database as a Service provider that has built geo-distribution and high availability into MYSQL. Cary Breese, CEO of GenieDB, explained that the core of GenieDB's innovation is a way to "reliably distribute data across geographical regions and across data centers around the world." He said that GenieDB's aim is to provide easy access to local database performance, but on a global scale.
Using only Amazon Web Services, Wizard Ops Tactics was hosted in one data center. GenieDB replaced the data center with many small synchronized servers around the world. With Phyken Media's game uncoupled from a single location, it is impervious to the bad weather that sometimes hit and take down data centers.
Handling lag on a global online game
Part of the appeal of Wizard Ops Tactics is being able to face off against players in other countries. However, latency becomes more noticeable as players get farther away from the server, which can give an unfair advantage to the player closer to the server. Many game developers deal with this issue by having players log in to a server in their part of the world and only play locally. Phyken Media was not content with this approach. With GenieDB, Phyken Media could establish local servers and network them so that they automatically replicate information from one to the other.
This gives the feel of a local server for gameplay, while still allowing players to interact with each other across the world. Since the servers synchronize constantly, they all contain up-to-date game information from every player. Thus, when two players from different countries log on to their local servers for a Wizard Ops Tactics match, the servers replicate everything they do back and forth. Each player interacts only with the copy of the other player replicated into his local server. With no long-distance connections to the server, latency is reduced.
"[The players] didn't have to deal with the fact that these two different opponents are accessing two different servers," Patel said. "It feels like one server for the world."