Design Patterns for Game Programmers

Want to create code that is robust, optimized and reusable? Then you need to learn about programming design patterns.

Game Programming Design Patterns are templates for building modularised code that are generally a repeatable solution to a commonly occurring mechanic applied in computer games. They are general solutions that aren’t tied to a particular problem making them reusable. One such pattern is that of object pooling. Whether a game needs an onslaught of constantly spawning zombies or bullets fired from a gun or asteroids to pummel the player’s spaceship, an object pool is a group of classes that can be reused, exactly as they are, across not only these scenarios but a plethora of others whenever game objects need a spawn manager.

In this course, Penny will take you through the top 12 game programming design patterns with C# and the Unity Game Engine using her internationally acclaimed Holistic teaching style and expertise from over 25 years teaching, researching and writing about games. Throughout the course you will follow along with hands-on workshops designed to teach you these core programming concepts that will take your games programs to the next level.

Learn how to program and work with patterns such as:


  • commands
  • flyweight
  • observer
  • prototype
  • singleton
  • states
  • object pools
  • game loops
  • updates
  • components
  • …. and more.

Contents and Overview

The course begins with a brief introduction and then you are straight into hands on exercises working through each of the design patterns as listed above. There are a variety of scenarios that you will work on in both 2D and 3D from an asteroid shooter, to a radar object finding system to a programmable prototype prefab system. All starter files and Unity assets including models and scenes are provided for you. All you need to bring is a copy of Unity 2019.

If you want to become a knowledgeable and skilled game developer then this course is for you.