Over the last 10 chapters, we have dived deeply into some of the most popular design patterns. The goal of each chapter was to understand and solve some common problems that everyone encounters when creating games. Along the way, we have created component-based game objects with flexible State-based, decision-making capabilities. We have created core engines such as the StageManager
and ObjectManager
using the Singleton pattern, so that communication between game objects, components, and engines is incredibly simple. We also looked at Object Pools and the Flyweight pattern, which allow our game to use memory more efficiently.
In this chapter, we will focus on graphics. However, we will not be focusing on how to implement a graphics engine. That would require more than a single chapter. Instead we will focus on concepts that need to be understood, regardless of which graphics Application Programming Interface (API) you use.
Graphics is a large...