Mountkirk Games: Building a Multiplayer Game on Google Cloud

Building a Multiplayer Game on Google Cloud

Question

Mountkirk Games makes online, session-based, multiplayer games for mobile platforms.

They have recently started expanding to other platforms after successfully migrating their on-premises environments to Google Cloud.

Their most recent endeavor is to create a retro-style first-person shooter (FPS) game that allows hundreds of simultaneous players to join a geo-specific digital arena from multiple platforms and locations.

A real-time digital banner will display a global leaderboard of all the top players across every active arena.

Solution concept - Mountkirk Games is building a new multiplayer game that they expect to be very popular.

They plan to deploy the game's backend on Google Kubernetes Engine so they can scale rapidly and use Google's global load balancer to route players to the closest regional game arenas.

In order to keep the global leader board in sync, they plan to use a multi-region Spanner cluster.

Existing technical environment - The existing environment was recently migrated to Google Cloud, and five games came across using lift-and-shift virtual machine migrations, with a few minor exceptions.

Each new game exists in an isolated Google Cloud project nested below a folder that maintains most of the permissions and network policies.

Legacy games with low traffic have been consolidated into a single project.

There are also separate environments for development and testing.

Business requirements -Support multiple gaming platforms.Support multiple regions.Support rapid iteration of game features.Minimize latency.Optimize for dynamic scaling.Use managed services and pooled resources.Minimize costs.

Technical requirements -Dynamically scale based on game activity.Publish scoring data on a near real-time global leaderboard.Store game activity logs in structured files for future analysis.Use GPU processing to render graphics server-side for multi-platform support.Support eventual migration of legacy games to this new platform.

Executive statement - Our last game was the first time we used Google Cloud, and it was a tremendous success.

We were able to analyze player behavior and game telemetry in ways that we never could before.

This success allowed us to bet on a full migration to the cloud and to start building all-new games using cloud-native design principles.

Access should be as restricted as possible.

What should you do?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

C.

Based on the business and technical requirements and the existing technical environment, the best approach is to create a new Google Cloud project for the new multiplayer game, deploy the game's backend on Google Kubernetes Engine, use a multi-region Spanner cluster to keep the global leaderboard in sync, and store game activity logs in structured files for future analysis. Access should be restricted as much as possible.

Option D is not the best approach because migrating the new game to the legacy game's project would not support rapid iteration of game features, and it would not optimize for dynamic scaling. Moreover, it would not be a good idea to mix the new game with legacy games in the same project.

Option C is not the best approach either because giving a service account the Firebase Admin role in both projects is not necessary for the new game's backend, which will be deployed on Google Kubernetes Engine, and it does not support the technical requirement to use GPU processing to render graphics server-side for multi-platform support.

Option A is also not the best approach because giving both service accounts the Organization Admin role is not necessary for the new game's backend, and it does not support the technical requirement to use GPU processing to render graphics server-side for multi-platform support.

Option B is not the best approach either because giving the service account the Firebase Admin role in the legacy game's project is not necessary for the new game's backend, and it does not support the technical requirement to use GPU processing to render graphics server-side for multi-platform support.

Therefore, the best approach is to create a new Google Cloud project for the new multiplayer game, deploy the game's backend on Google Kubernetes Engine, use a multi-region Spanner cluster to keep the global leaderboard in sync, and store game activity logs in structured files for future analysis. Access should be restricted as much as possible.