OOP
OOP is a programming paradigm that we could consider almost the standard way to code. It is true there are non-OOP ways to code and there are even some non-OOP game coding languages and libraries. However, starting from scratch, as this book does, there is no reason to do things any other way. When the benefits of OOP become apparent you will never look back.
OOP will:
Make our code easier to manage, change, or update
Make our code quicker and more reliable to write
Make it possible to easily use other people's code (such as SFML)
We have already seen the third benefit in action. Let's look at the first two benefits by introducing a problem that needs solving. The problem we are faced with is the complexity of the current project. Let's consider just a single zombie and what we need to make it function in the game:
Horizontal and vertical position
Size
Direction it is facing
Different textures for each zombie type
Sprites
Different speeds for each zombie type
Different health for each zombie type...