-
Notifications
You must be signed in to change notification settings - Fork 813
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documented assumed prerequisite knowledge for the project #1759
Comments
Also, of people have learning resources that they found super useful, please link in this issue 👍 |
This looks like it covers the minimum amount of stuff that you really would be lost without in consideration of using Agones. In other words, if you understood these things, you are probably equipped enough to get your actual game server (not At that point (my game server runs on k8s) you could come back to Agones to then try an actual ? |
Chiming in with my experience as a new user to both K8s and Agones, as requested by Mark. I started with Docker ~4 weeks ago, K8s 2 weeks ago with the intention of learning Agones afterwards, and then Agones ~4 days after starting with K8s. This was very natural progression, as each step builds on the previous. I always spend time experimenting with things so I can truly learn them, which I felt helped a lot for me. Each transition was very smooth, both with the docs and with help on Slack. But I generally did not go back to the docs of the lower layer, as I had a good enough understanding of each. I had experimented a lot with Docker, learning how to build, push, and run images with ports, envvars, networks. I created Dockerfiles and shell scripts that ran my software. I also used Dockerhub quite extensively. This made the transition to Kubernetes very easy, where I then first learned to setup a cluster via gcloud, used kubectl to apply yaml, list my resources and debug them with describe and logs. The main resources I learned were pods, deployments, and services. I read through all the documentation for those. Once I felt I thoroughly understood those, I moved onto Agones, which was quite a breeze to understand. I very quickly got a GameServer up, and then a Fleet (before running into missing features which I'm in the process of adding myself already). So with this progression, I've had a very easy entrance into Agones within a month without knowing anything about any of the technologies beforehand. To me, this seems to be optimal, although I maybe could have used a bit less time on Docker as I was also experimenting with my app during that time. And I think your list matches my list pretty much one to one, so I support it. |
@Bmandk did you use any specific resources to do that learning? Anything in particular stand out? |
@markmandel Pretty much only the official docs, https://docs.docker.com/get-started/overview/ and https://kubernetes.io/docs/home/. If I had some specific issues, I would first look at the docs, then google, and finally go to the respective Slack if I could not find anything else. |
When I was a complete beginner, I liked interactive tutorials! Actually doing and seeing how it works after reading some docs and without own k8s infra was great and quick!
We could reference those Kubernetes courses and maybe even make an interactive Agones course? :) |
KataCoda + 💯 it was really useful on the Thanos project to be able to run through a scenario with people, explaining the concepts etc. I would add to the list that people need to know the engine they are running also eg. if you dont know unity or unreal yet you are going to have a fair bit of trouble containerising and running it in kubernetes. Only other thing that I think often trips people up is firewall setting for the port range exposing host ports is something that I only started doing when looking at Agones (after running k8s for a number of years). |
Oh that is a really good point. People should know about Dedicated Game Servers, and probably some kind of Engine as well (likely point at some option there as well, Unreal, Unity, Godot?) Explaining DGS as a concept - I've never found the perfect resource, so I did a short video on it, there is also a wikipedia article that is not bad. Would love to hear if people have other resources in this area. |
+1 to katacoda for learning k8s-- I use this as a teaching aid in my DevSecOps class for the k8s portion and it makes my life way easier Also UDP vs TCP for multiplayer was something I took a minute to wrap my head around recently. This article helped me close the knowledge gap as it touches on when to use each. Another resource that was really helpful for me was this video where he goes through a variety of components to help portray the design of a robust system for multiplayer games. |
From @domgreen We should add resources to the SDK sections for this.
From @roberthbailey - instead make this after Overview (ideally as a next step), so that users can go from Overview > Prerequisite Knowledge > Install, so that users can pass through as they need to (@markmandel says this makes sense) |
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
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
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
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
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
* 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 #1759
* 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
Is your feature request related to a problem? Please describe.
Be clear and concise on what prerequisite knowledge is required / highly useful when learning Agones
We currently have the This all sounds great, but can you explain Docker and/or Kubernetes to me? section, but it neither says (a) that this is required knowledge, and (b) how deep is required in either areas.
Describe the solution you'd like
A section in the documentation before "Overview" entitled "Prerequisite Knowledge" (or similar), that lists requisite assumed knowledge of the project, with links pointing to resources to learning these aspects.
This should include:
(I think this covers the basic skillset, but would love to hear opinions on if anything else was required, or extremely useful)
Describe alternatives you've considered
Leave things as is - but we're seeing an increase of people coming to the project that do not have prior Kubernetes experience, so having a scalable solution (chat is not a scalable solution unfortunately) that can help onboard people would be ideal.
Additional context
N/A
The text was updated successfully, but these errors were encountered: