Skip to content

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.

  1. 01PongThe game loop
  2. 02Flappy BirdStructuring the code
  3. 03SnakeAssets as data
  4. 04SokobanUndo and replay
  5. 05Pac-ManChanging behaviour
  6. 06Super Mario BrosThe game world
  7. 07The Legend of ZeldaEvents
  8. 08Angry BirdsUsing a physics library
  9. 09Plants vs. ZombiesComponents
  10. 10PokemonScenes and UI
  11. 11Geometry WarsComponents and systems
  12. 12Vampire SurvivorsPerformance