As more and more people across the world turn to multiplayer games, developers must scale their game to meet increased player demand and provide a great gameplay experience, while managing complex underlying global infrastructure.To solve this problem, many game companies build and manage their own costly proprietary solutions, or turn to pre-packaged solutions that limit developer choice and control.Earlier this year, we announced the beta release of Game Servers, a managed service built on top of Agones, an open source game server scaling project. Game Servers uses Kubernetes for container orchestration and Agones for game server fleet orchestration and lifecycle management, providing developers with a modern, simpler paradigm for managing and scaling games. Today, we’re proud to announce that Game Servers is generally available for production workloads. By simplifying infrastructure management, Game Servers empowers developers to focus their resources on building better games for their players. Let’s dive into a few foundational concepts that will better illustrate how Game Servers helps you run your game.Clusters & RealmsA game server cluster is the most atomic level concept in Game Servers, and is simply a Kubernetes cluster running Agones. Once defined by the user, clusters must be added to a realm.Realms are user-defined groups of game server clusters that can be treated as a cohesive unit from the perspective of the game clients. Although developers can define their realms in any way they choose, the geographic distribution of a realm is typically dictated by the latency requirement of your game. For that reason, most games will define their realms on a continental basis, with realms in gaming hotspots such as the U.S., England, and Japan serving players in North America, Europe, and Asia.Regardless of whether you expect your game to build momentum in certain countries over time, or be a global hit from day one, we recommend running multiple clusters in a single realm to ensure high availability and a smooth scaling experience.Deployments & ConfigsOnce you have defined your realms and clusters, you can roll out your game software to them using concepts we call deployments and configs. A game server deployment is a global record of a game server software version that can be deployed to any or all game server clusters worldwide. A game server config specifies the details of the game server versions being rolled out across your clusters.Once you have defined these concepts, key distinctions between Agones and Game Servers begin to emerge.First, you now have the control to define your own custom auto-scaling policies. The segmentation of your game into realms and clusters, in combination with self-defined scaling policies, provides developers with an ideal mix of precision, control and simplicity. For example, you could specify a policy at the realm level that automatically provisions more servers to match geo-specific diurnal gaming patterns, or you can scale up all clusters globally simultaneously in preparation for a global in-game event.Second, you have the flexibility to roll out new game server binaries to different areas of the world by targeting specific realms with your deployments. This allows you to A/B or canary test new software rollouts in whichever realm you choose.And finally, although we are building Game Servers to be as customizable as possible, we also recognize technology is only half the battle (royale). Google Cloud’s gaming experts work collaboratively with your team to prepare for a successful launch, and Game Servers is backed by Google Cloud support to ensure your game continues to grow over the long term.Building an open architecture for gamesYour game is unique, and we recognize that control is paramount to game developers. Developers can opt out of Game Servers at any time and manage Agones clusters themselves. Furthermore, you always have direct access to the underlying Kubernetes clusters, so if you need to add your own game specific additions on top of the Agones installation, you have the power to do so. You are always in control.Choice is also important. Today, Game Servers supports clusters that run on Google Kubernetes Engine, and we are currently working on the ability to run your clusters on any environment, be it Google Cloud, other clouds, or on premise. With hybrid and multi-cloud support, developers will have the freedom to run their game server workloads wherever it makes the most sense for the player. You can also use Game Servers’ custom scaling policies to optimize the cost of deploying a global fleet across hybrid and multi-cloud environments as you see fit. “As a Google Cloud customer for many years, we’re now following the progress of Google Cloud Game Servers closely,” said Elliot Gozanksy, Head of Architecture at Square Enix. “We believe that containers and multi-cloud capabilities are extremely compelling for future large multiplayer games, and Google Cloud continues to prove its commitment to gaming developers by creating flexible, open solutions that scale worldwide.”Game Servers is free until the end of the year, and you will be billed only for the underlying use of Kubernetes clusters. To learn more about Game Servers, please visit our Game Server product page, or get started immediately with our quickstart guide. You can also join us for Solutions for Launching Massive Global Games in the Cloud at Google Cloud Next ‘20: OnAir (register here for free) and learn more about how Google Cloud is helping game developers of all sizes connect their games with players across the world.
Quelle: Google Cloud Platform
Published by