
Agones: Open-source, multiplayer, dedicated game-server hosting on Kubernetes - ckarmann
https://cloudplatform.googleblog.com/2018/03/introducing-Agones-open-source-multiplayer-dedicated-game-server-hosting-built-on-Kubernetes.html
======
minimaxir
As a fun note, Pokemon Go (from a company spun off from Google) was one of the
first major games to use Kubernetes, and the infamous scaling issues during
its launch in 2016 helped resolve many bugs:
[https://cloudplatform.googleblog.com/2016/09/bringing-
Pokemo...](https://cloudplatform.googleblog.com/2016/09/bringing-Pokemon-GO-
to-life-on-Google-Cloud.html)

Although Pokemon Go has fewer latency concerns than a FPS/MMO, which Ubisoft
(Rainbow 6 Siege, The Division) excels at.

~~~
derefr
> Although Pokemon Go has fewer latency concerns than a FPS/MMO

I wouldn't phrase things quite like that. While FPSes and MMOs might require
low-latency links between individual servers and individual players, those
links are usually long-lived enough for the ARP tables, TCP window sizes, etc.
to get comfortable.

Pokemon Go, and other medium-bandwidth casual mobile games, have players
expecting low-latency even while constantly having their phone kill and reopen
the app, while _also_ travelling between different cells (and thus ending up
with different IPs and having their local-most IP switch have to re-path their
connections.) _And_ they only play for three minutes at a stretch. This causes
a large share of the message traffic to hit at least one "un-warmed" leg on
its journey, even if you do all your server architecture correctly.

Of course, things could be even worse: you could have a casual, mobile FPS.

~~~
TaylorAlexander
The app icon is the gun trigger. You see another player and you whip out your
phone and fire a bullet at them.

Someone please make this game so we can weed out the bugs in the cellular
system.

~~~
imtringued
Maybe it could take inspiration from PUBG. It could turn out to be a very
social experience if a lot of people gather at the center of the map. Or maybe
a very violent one...

------
sbarre
I feel like it's fairly novel (not to say unpredecented?) that one of the top
game publishers (Ubisoft) is collaborating with Google on this open-source
product.

Most game publishers have specialized divisions - Demonware for Activision, EA
no doubt has one too - that build closely guarded proprietary multiplayer
networking toolkits, as it becomes part of their competitive advantage..

Excited to see how this pans out..

edit: I hadn't heard of AWS GameLift before..

~~~
minimaxir
Do Unity/UE4 have networking included with their free engines?

Networking with UE4 would be interesting given what Epic has learned with
Fortnite.

~~~
nineteen999
Cannot speak for Unity, but Epic certainly do:

[https://wiki.unrealengine.com/Dedicated_Server_Guide_(Window...](https://wiki.unrealengine.com/Dedicated_Server_Guide_\(Windows_%26_Linux\))

[https://wiki.unrealengine.com/Standalone_Dedicated_Server](https://wiki.unrealengine.com/Standalone_Dedicated_Server)

------
joshumax
I'm working on a massive-scale game server deployment engine that utilizes
docker for a new startup, and the fact that this is open source is
tremendously beneficial to the scalable gameserver community. Currently we're
deeply integrated in the Google cloud platform and are currently expecting a
release within the next few weeks or so, which is one of the reasons this post
came as such a surprise to me! We're planning on releasing most of our
codebase under the Apache and MIT licenses, but doing so has been complex and
slow. Hats off to them!

------
Joe8Bit
I’d love to understand how this relates to the work that Improbable are doing
in supporting massive scale online game environments.

Is this an open source competitor? How do they compare?

~~~
AlimJaffer
These are fairly different offerings. Improbable is about enabling the
creation of massive worlds with various actors and players interacting in the
same world server - effectively large-scale MMO's with a lack of sharding. But
it is also proprietary technology, so your game is entirely dependent on them
sticking around and maintaining the software.

Agones is focused more on massive scaling for individual servers. i.e. making
it significantly easier to scale up and down servers based on demand (similar
to AWS GameLift), but from what I see there is no world-sharing across them as
that isn't the point of this specific project.

It's an interesting solution to a common problem. We work in a similar space
and use Kubernetes extensively for managing our services behind the scenes,
it's particularly useful for mobile games as they have a lot of peak/trough
traffic throughout the course of a day, let alone during a featuring on an App
Store or a live event which drives traffic through the roof for a very brief
period of time.

------
bojo
I was working for a Japanese mobile game company back in 2016 and proposed
using Kubernetes for my project. They really warmed up once they understood
Pokemon Go was doing exactly this (I had no idea beforehand, but was happy to
see it support my decision). Sadly the company folded long before my project
made it to release.

Really cool to see this go open source. I really miss working on stuff like
that. Sigh.

------
mike_n
is this a way for google to get a lot of data? for example, more info about
players, their preferences, etc.

Also, maybe they can get a large training set of how human players
act/spend/etc in complex games, which could be a very useful training data set
for their own reinforcement learning/AI efforts?

