Mountkirk Games | Multiplayer Game Development on Google Cloud

Building a Retro-style FPS Game with Global Leaderboard

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.

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

C.

None of the options presented in the question seem to fully address the requirements of the scenario described.

Option A suggests uploading the mobile app to Firebase Test Lab and testing it on Android and iOS devices. While this could be a useful step for testing the mobile app, it doesn't address the requirements for deploying the game backend on Google Kubernetes Engine or using a multi-region Spanner cluster for the global leaderboard.

Option B suggests creating Android and iOS VMs on Google Cloud, installing the mobile app on the VMs, and testing the mobile app. This option also doesn't address the requirements for deploying the game backend on Google Kubernetes Engine or using a multi-region Spanner cluster for the global leaderboard. Additionally, creating and managing VMs for each platform could become costly and difficult to scale.

Option C suggests creating Android and iOS containers on Google Kubernetes Engine (GKE), installing the mobile app on the containers, and testing the mobile app. This option is closer to the solution concept described in the scenario, but still doesn't fully address all the requirements. While using GKE could allow for rapid scaling and the use of Google's global load balancer to route players to the closest regional game arenas, it doesn't address the use of a multi-region Spanner cluster for the global leaderboard. Additionally, rendering graphics server-side using GPU processing may be difficult to achieve in containers.

Option D suggests uploading the mobile app with different configurations to Firebase Hosting and testing each configuration. This option also doesn't address the requirements for deploying the game backend on Google Kubernetes Engine or using a multi-region Spanner cluster for the global leaderboard.

Given the requirements stated in the scenario, a possible solution could involve:

  1. Deploying the game backend on Google Kubernetes Engine to allow for rapid scaling and the use of Google's global load balancer to route players to the closest regional game arenas.
  2. Using a multi-region Spanner cluster for the global leaderboard to keep it in sync across all regions.
  3. Storing game activity logs in structured files for future analysis in Google Cloud Storage.
  4. Using GPU processing to render graphics server-side for multi-platform support.
  5. Supporting eventual migration of legacy games to this new platform.
  6. Testing the mobile app on Android and iOS devices using Firebase Test Lab or other testing tools.

Overall, the solution should aim to optimize for performance, scalability, and cost-effectiveness while supporting multiple platforms and regions. It should also be designed with cloud-native principles in mind, leveraging managed services and pooled resources to minimize operational overhead.