So far, you have learned how to implement games in Python with different libraries, with the primary focus being on the practice of game development.
Now, we will introduce some theoretical concepts that will not only complement the practice, but will also help us develop games efficiently. This theory will aid us in understanding why games are conceptually designed the way they are.
In this chapter, we will cover these topics:
Foundations of the game theory
Object-oriented principles applied to game development
How to implement a small 3D game framework
Modularizing our functionality with reusable components
Adding a physics engine to simulate rigid bodies' interactions
Creating the building blocks of a platformer game