When you think of cloud computing, chances are you are thinking about massive server farms that let you edit documents in the cloud and update your CRM system, but thankfully, there’s a playful side to the cloud as well. All of those multiplayer games, after all, have to run somewhere, too. Often, gaming companies write their own systems for running these servers, but Google and Ubisoft today announced a new project that provides an open source alternative to managing and hosting multiplayer game servers.
Agones, as the project is called because that’s the Greek word for ‘contest,’ uses the Google-incubated Kubernetes container project as it core tool for orchestrating and scaling a fleet of multiplayer game servers. When you play your favorite multiplayer game, it’s these kind of game servers that assure that users can see each other as they traverse an island full of 99 other suicidal maniacs, for example — and they also often run the software necessary to identify cheaters. Containers are actually ideal for this kind of scenario because game sessions tend to last for relatively short periods of time and containers can be deployed and shut down quickly.
“Our goal is to continually find new ways to provide the highest-quality, most seamless services to our players so that they can focus on their games,” writes Ubisoft development director Carl Dionne today. “Agones helps by providing us with the flexibility to run dedicated game servers in optimal datacenters, and by giving our teams more control over the resources they need. This collaboration makes it possible to combine Google’s expertise in deploying Kubernetes at scale with our deep knowledge of game development pipelines and technologies”
Agones essentially extends Kubernetes with the kind of tools necessary to run a game server. These include a custom Kubernetes Controller and custom resource definitions for the game server. The team notes that developers can easily integrate their custom matchmaking services for pairing gamers with each other with the standard Kubernetes APIs to start up a game server.
While Google would surely want developers to host their games on the Google Kubernetes Engine, Agones itself is cloud agnostic and can run on virtually any cloud or on premises.
Today’s release is very much an early effort. A v2 roadmap is already in the works, though, and the team says it’s also working on new feature like game server Fleets and support for Windows, game server stats and node autoscaling.