Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Behind the Scenes with the Dragon Ball Legends GCP Back End (googleblog.com)
118 points by luord on June 15, 2018 | hide | past | favorite | 32 comments



I'm not surprised they went with GCP. We've built backend services for games on AWS, Azure, GCP, etc. and their network is the best suited for realtime games as it stands from our experience. Unfortunately not had any real experience with Cloud Spanner as we didn't want to tie our technology directly to GCP.


How so? The biggest online game are running on AWS and I'm sure they're doing fine. ( Fortnite, Overwatch ect ... )


That's not big at all. Those are what, 4-12 players at a time? Everything can run within a single server so all the IO is to the users.

I haven't played this DBZ game but if its more of an MMO with a live view of all the players in your area you might be dealing with user handoff between servers, cross server communication etc etc.


Fortnite is 100 people per game on a single gigantic map, with tracked state for everything (as it's important for the gameplay that, for example, an already-looted house is empty when the next player comes along).


You've missed the point entirely. Its still a single server game. Sure the game is popular, and there are thousands of games at once, they're not connected.


4 months ago they surpassed 3.4 million concurrent players[1]. 100 players per server, at least 34,000 game instances (assuming 100 per game, which isn't always the case since games quickly fall down to ~50 players in a few minutes) which all report statistics of games to databases, etc. Sessions, logins, reports, kills, replays.... those add up.

[1] https://gamerant.com/fortnite-concurrent-player-record-playe...


>Sessions, logins, reports, kills, replays.... those add up.

Yes but those are all shardable, cacheable and mostly asynchronous. The blog post is about how you can build a large world wide game as if it was a single data center with low latency.


And so is MMO data (cacheable in a ton of cases, shardeable (the article even mentions this one!)).


Specifically, it mentions how sharding is _not_ ideal for this game.


Interesting, I would have assumed azure would be good for that. Seeing as Xbox live runs on azure.


Did you experience a better overall network performance using GCP? I'm also in the process of choosing a cloud provider for a realtime networked game. Am going with AWS because GCP doesn't currently have Hongkong and Seoul.


We are launching a Hong Kong region soon: https://cloudplatform.googleblog.com/2017/11/coming-in-2018-...

(I work for GCP)

The GCP network is one of the crown jewels of the platform that a lot of people take for granted. I'd definitely test it out!


Thanks for the info. Looks like I will test it out!


Kudos for deciding not to adopt a proprietary solution on public cloud.


Dragon Ball Legends is my go to game for the toilet these days, and it's funny they advertise the Google network, since the PvP experience is very sub par. Half of the time I can't connect with the opponent, and if you check the DBL subreddit, I'm not the only one.


Cool!

I'm actually in the process of creating a presentation on Programming Concept Analogies for Dragon Ball Z fans (ex. variables and capsules; polymorphism and super saiyan levels).


Please do a Show HN or something similar when you're done with this, I'd love to see it.


That sounds ridiculous and I'd love to see it on the front page of HN when you're done


Pokemon Go used GCP as well, and was a disaster when launched (from service availability point of view). It was down more than not, hours of outages.


I think Google Spanner wasn't available yet that time. They chose GCP for the container support / Kubernetes.

There's an interesting talk about this by Niantic Director of Engineering: https://www.youtube.com/watch?v=j6ARungTOL4

Timestamp for the part about the launch: https://youtu.be/j6ARungTOL4?t=1249

TLDW: Niantic made a prediction on the server load, provisioned 5x of that, and only planned to Beta release in Australia & NZ, but everyone ended up sharing the APK worldwide. The first few weeks of traffic ended up being 50x the initial estimate. Niantic also found some scaling bugs in the game that were fixed in the first weeks. Pokemon Go reached the number of Twitter daily user within 2 days.

The next version of Pokemon Go could really benefit from Spanner if they haven't used it already.


great case study!


Would feel more honest and less like an ad, if they also mention the trade-offs and struggles.


A few trade-offs that required this setup are mentioned. Transparency is often difficult, and never satisfactory to all.

As someone who works on the marketing team, I'm pleasantly surprised that even this much was allowed to be shared- it's pretty rare that we share customer architecture diagrams, let alone into a blog post.


Right on. You caught exactly what was missing from this non-objective article. Pure Kool-aid. No pitfalls.


Case study my arse. Just reads like an ad pamphlet.


Disclosure: I work on GCP, opinions are my own.

Case studies are a form of advertising -- so what? They're much more effective in qualifying a technology or service provider in a given area than a web page with a feature list. If you were looking for an engineering blog, you came to the wrong place, or had inappropriate expectations.

The macro level point this blog post articulates is that GCP has now been successfully used, spanning multiple years, using varying architectures, by enough gaming companies (even just counting Niantic, Nintendo & Bandai-Namco, not to mention Epic, EA & Ubisoft) for it to be considered a tier 1 provider.

Additionally, if you compare apples to apples, take a look at this recent Microsoft gaming case study ( https://customers.microsoft.com/en-us/story/ubisoft-media-te... ) and tell me which you think paints the cloud provider in a more positive & compelling light.

I'll close with this: if you want to use a FOSS stack for your stuff, fine, have at it. You can even rent servers via GCE and host there... or literally anywhere else. But there are a few critical differences between GCP and AWS or Azure. Setting aside the network quality & performance, which is objectively superior with Google, outside of GCE almost every other GCP product is offered as a managed service. Beyond that, there are several -- like Spanner -- that don't exist anywhere else. I fully appreciate a desire to avoid vendor lock-in, but there are plenty of situations where allying with a vendor that offers a superior product/service for your specific business need is absolutely the correct decision.

I'll also note that Google is overall extremely good about open sourcing things -- like Kubernetes, Apache Beam & Tensorflow -- it creates and offers as managed services within GCP.

You'll never hear me claim GCP is the best cloud for everything or everyone, but I take umbrage with potshots like this. All it does is cause irritation and muddy the waters for people trying to figure out what tech is right for them.


That’s a fair point, but I don’t think it needed to be so heavy on the google cloud plugs to get the point across. Every other paragraph seemed to be checking a content marketing box, trying to slip in some nugget about the google cloud (e.g. the link to Google SRE’s when defining what a managed service is). Just sticking to the facts and adding more details on how the publisher deployed their stack (gce, gke, etc.?), why their app still prefers p2p connections even when the google cloud network is present, what a typical turn looks like in their app (is it stateless Scala servers mutating Cloud Spanner?), etc. More technical details and less plugs would be more effective in my opinion.

Anyway, impressive work making such a great set of services available.


To be fair, cockroachdb is very approximately spanner minus TrueTime.

If you really know what you're doing you can get moderately close to the same stack, but of course you won't get the same network, etc.


I read it as a marketing for Google Spanner.


If you are giving such cold comment, you might as well spell the word “ass”, which seems colder than the British’s arse.


This is an ad.


So what? How do you prefer ads about Cloud technology? Just a list of what products and features are offered? This at least gives us a real world example of how someone uses these products.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: