Design patterns
It is my guess that if you are going to make deep, large-scale games in C++, then design patterns are going to be a big part of your learning agenda in the months and years ahead. What follows will only introduce this vital topic.
A design pattern is a reusable solution to a coding problem. In fact, most games (including Run) will use multiple design patterns. The key point about design patterns is this: they are already proven to provide a good solution to a common problem. We are not going to invent any design patterns: we are just going to use some that already exist to solve the problem of our ever-expanding code.
Many design patterns are quite complicated and require further study beyond the level of this book if you want to learn them. What follows is a simplification of a key game development-related pattern. You’re urged to continue your study to implement patterns more comprehensively.