Skip to content

Commit

Permalink
Docs: Prerequisite Knowledge section (googleforgames#1821)
Browse files Browse the repository at this point in the history
* Docs: Prerequisite Knowledge section

Guide for learning the foundational knowledge of Agones, in case our
users have some knowledge gaps they want/need to fill before digging
into Agones itself.

I expect this will be a living doc that will evolve over time.

Closes googleforgames#1759
  • Loading branch information
markmandel authored and ilkercelikyilmaz committed Oct 23, 2020
1 parent ca56e68 commit 1d76592
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 13 deletions.
13 changes: 2 additions & 11 deletions site/content/en/docs/Overview/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,18 +52,9 @@ Agones incorporates these abilities:

Participation in this project comes under the {{< ghlink href="code-of-conduct.md" branch="master" >}}Contributor Covenant Code of Conduct{{< /ghlink >}}

## This all sounds great, but can you explain Docker and/or Kubernetes to me?

### Docker
- [Docker's official "Getting Started" guide](https://docs.docker.com/get-started/)
- [Katacoda's free, interactive Docker course](https://www.katacoda.com/courses/docker)

### Kubernetes
- [You should totally read this comic, and interactive tutorial](https://cloud.google.com/kubernetes-engine/kubernetes-comic/)
- [Kubernetes concepts, explained](https://kubernetes.io/docs/concepts/)
- [Katacoda's free, interactive Kubernetes course](https://www.katacoda.com/courses/kubernetes)

## What Next?
- Review our [Prerequisite Knowledge]({{% ref "/docs/Prerequisite Knowledge/_index.md" %}}). Especially if the above
sounds fantastic, but you aren't yet familiar with technology like Kubernetes or terms such as "Game Servers".
- Have a look at our [installation guides]({{< ref "/docs/Installation/_index.md" >}}), for setting up a Kubernetes cluster
and installing Agones on it.
- Go through our [Quickstart Guides]({{< ref "/docs/Getting Started/_index.md" >}}) to take you through setting up a simple game server on Agones.
80 changes: 80 additions & 0 deletions site/content/en/docs/Prerequisite Knowledge/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: "Prerequisite Knowledge"
linkTitle: "Prerequisite Knowledge"
weight: 3
description: >
Foundational knowledge you should know before starting working with Agones.
---

Agones is built on top of the foundation of multiple open source projects, as well as utilising
several architectural patterns across both distributed and multiplayer game systems -- which can
make it complicated to get started with, if they are things you are not familiar with or have
experience with already.

To make getting started easier to break down and digest, this guide was written to outline what concepts and
technology that the documentation assumes that you have knowledge of, and the
depth of that knowledge, as well as providing resource to help fill those knowledge gaps.

## Docker and Containerisation

Docker and containerisation is the technological foundation of Agones, so if you aren't familiar,
we recommend you have knowledge in the following areas before getting started with Agones:

* Containers as a concept
* Running Docker containers
* Building your own container
* Registries as a concept
* Pushing and pulling containers from a registry

### Resources

The following resources are great for learning these concepts:

* [Docker Overview](https://docs.docker.com/get-started/overview/)
* [Docker "Quickstart" guide](https://docs.docker.com/get-started/)
* [Katacoda's free, interactive Docker course](https://www.katacoda.com/courses/docker)

## Kubernetes

Kubernetes builds on top of Docker to run containers at scale, on lots of machines.
If you have yet to learn about Kubernetes, we recommend that you have knowledge in the following
areas before getting started with Agones:

* Kubernetes as a concept
* Pods
* Deployments
* Services
* Creating a Deployment with a Service

### Resources

* [You should totally read this comic and interactive tutorial](https://cloud.google.com/kubernetes-engine/kubernetes-comic/)
* [Kubernetes basics](https://kubernetes.io/docs/tutorials/kubernetes-basics/)
* [Katacoda's free, interactive Kubernetes course](https://www.katacoda.com/courses/kubernetes)
* [Kubernetes concepts, explained](https://kubernetes.io/docs/concepts/)

## Dedicated Game Servers

Agones is a platform for dedicated game servers for multiplayer games. If "dedicated game servers" is a term that is not
something you are familiar with, we recommend checking out some of the resources below, before getting started with
Agones:

### Resources

* [Dedicated Game Servers, Drawn Badly (video)](https://www.youtube.com/watch?v=Nl_FIGFtYdc)
* [What Every Programmer Needs To Know About Game Networking](https://gafferongames.com/post/what_every_programmer_needs_to_know_about_game_networking/)
* [Game Server (wikipedia)](https://en.wikipedia.org/wiki/Game_server)
* {{< ghlink href="examples/simple-game-server" >}}Example simple gameserver that responds to UDP and/or
TCP commands{{< /ghlink >}}

## Game Engine

If you are building a multiplayer game, you will eventually need to understand how your
[game engine](https://en.wikipedia.org/wiki/Game_engine) will integrate with Agones.
There are multiple possible solutions, but the engines that have out of the box SDK's for Agones are:

* [Unity](https://unity.com/)
* [Unreal](https://www.unrealengine.com/)

While you can integrate other engines with Agones, if you are new to developing on a game engine, you may want to
start with the above.
7 changes: 5 additions & 2 deletions site/content/en/docs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,11 @@ Release version: {{< release-version >}}

These pages show you how to get up and running as quickly as possible in Agones.

If you are new to Agones, start with [Installation]({{< relref "./Installation/_index.md" >}}), to get Agones
up and running.
If you are new to Agones, start with [Overview]({{< relref "./Overview/_index.md" >}}) to get familiar with Agones'
features and services.

The [Installation]({{< relref "./Installation/_index.md" >}}) guide will take you through creating a Kubernetes
cluster and getting Agones installed.

The [Getting Started]({{< relref "./Getting Started/_index.md" >}}) section will have your
first `GameServer` up and running, and then have you spinning up `Fleets` after that.

0 comments on commit 1d76592

Please sign in to comment.