Game Architecture
GAR is a course about software design and architecture in game development. We build twelve classic games in C# and MonoGame, one per session. The first is a naive Pong written in a single class, and the last is a Vampire Survivors-style game with thousands of enemies. Each game brings a design problem that the one before didn’t have, and the patterns that solve it. Code that every game needs moves into GARCore, a class library that grows with the course.
The Games
Section titled “The Games”
01PongThe game loop
02Flappy BirdStructuring the code
03SnakeAssets as data
04SokobanUndo and replay
05Pac-ManChanging behaviour
06Super Mario BrosThe game world
07The Legend of ZeldaEvents
08Angry BirdsUsing a physics library
09Plants vs. ZombiesComponents
10PokemonScenes and UI
11Geometry WarsComponents and systems
12Vampire SurvivorsPerformance
