In this chapter, we will be focusing on creating a game object that is flexible enough to adapt as our game design changes. We will do this by first looking at the two most common ways that new programmers create a game object, and the problems that arise when we use these approaches. Then we will discuss two design patterns that can help us solve our problem. Finally, we will arrive at our solution of creating a reusable, flexible game object. Since we know our game design and game objects are likely to change, the questions we are going to answer are the following:
- Is it possible to write game objects in a reusable way?
- How can we decouple our game objects from our core engine code?
- If we have a reusable game object, how can we make it flexible enough to use in different games or account for changes in our game design while the game is being developed?
Along the way, we will discuss a few important...