Skip to content

Commit

Permalink
Docs: Prerequisite Knowledge section
Browse files Browse the repository at this point in the history
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 committed Oct 13, 2020
1 parent f7a6782 commit ff33489
Show file tree
Hide file tree
Showing 3 changed files with 84 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.
77 changes: 77 additions & 0 deletions site/content/en/docs/Prerequisite Knowledge/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
---
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)

## Kubernertes

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/)

## Game Engine

If you are building a multiplayer game, having some knowledge of a game engine is a requirement. 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.

## Dedicated Game Servers

Agones is a platform for dedicated game servers for mulitplayer 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)
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 ff33489

Please sign in to comment.