Bandai Namco Entertainment announced the latest entrant in its series of Dragon Ball games this week. Dragon Ball Legends is a player versus player (PvP) mobile game that has players from all over the world battle with each other in real time by using their move cards. From all I’ve seen, it looks like a pretty fun game, though I know nothing about Dragon Ball and I have an unreasonable disinterest in card-based games. What made me perk up, though, was when I heard that Bandai Namco opted to use Google’s Cloud Network to host all the infrastructure for the game and that one of the main components of this system is Cloud Spanner, Google’s globally distributed database.
To make a real-time game work at all is hard enough, but Bandai Namco wanted players from all over the world to be able to play against each other. There’s a reason most games distribute players into regions based on their geography, though. In a real-time game, latency matters, as every hardened PUBG player will tell you, and the farther you get away from the game server, the higher your latency will likely be.
As Bandai Namco’s Keigo Ikeda and Toshitaka Tachibana told me ahead of the launch, the team opted to divide every game second into 250ms intervals, so while the game looks like it’s real-time to users, it’s actually a really fast turn-based game at its core. “Technically speaking, to the user’s eye, it’s real-time, but on the server, players have their own turn,” said Tachibana. By opting for the Google Cloud Platform and Cloud Spanner as the database to keep track of all moves, the average latency the team has seen during its tests is 138ms, which allows for plenty of wiggle room.
To make all of this work, the team spent almost two and a half years building out the necessary infrastructure, and Tachibana admitted that the team learned quite a bit more than it expected about network latency. During early tests, the team wanted to create a peer-to-peer connection to have players battle each other, for example, but depending on the carriers, the difference in user experience varied too much. The team also had to learn how to best route traffic between players, something that most gaming developers don’t really have to think about most days. “We were pretty frustrated with everyone who wasn’t Google,” said Tachibana.
Indeed, Cloud Spanner is the core service here, and the team says it opted for it because it gives it a globally distributed strongly consistent database to work with. Because any change propagates across the global network within milliseconds, Cloud Spanner is actually a really interesting option for game developers who need low latencies and a ground truth that can be distributed between a global player base. Cloud Spanner is not a cheap service, and the team acknowledged as much, though, as Google Cloud Director of Solutions Miles Ward noted, providing the service isn’t cheap either. “Spanner does things from a consistency standpoint that you can’t get from anybody else, so it’s a place where we have to spend more, too,” he said (and before my friends at Microsoft email me: yes, Cosmos DB also offers features that are comparable to Cloud Spanner, as well as a wider range of consistency options).
The Bandai Namco team also noted that Google’s vast private network was another major factor behind its decision. Because Google owns its own network, the data can jump between fewer networks to reach both the central database and the opposing player.
To make Dragon Ball Legends run smoothly, the team is also using BigQuery to manage and analyze its data, as well as some of the company’s Firebase services.
Tachibana noted that Bandai Namco is placing a big bet on this new game, but that the team also wanted to create a benchmark for what a globally distributed PvP game can look like. “We hope that when other developers look to a similar gameplay, they’ll say that it’s hard to top,” he said. “And also, from a technical side, we know that the people who are part of the industry will understand how amazing it is to realize this entire process.”
If you are not a developer and just want to play a new PvP Dragon Ball game, I’m afraid you’ll have to wait a little bit longer, though. The game will arrive in Apple’s App Store and the Google Play Store later this year.