ABSTRACT

With an emphasis on modularity and encapsulation to divide large systems into more manageable components, the principles of object-oriented programming (OOP) embody many of these attributes. As games tend to center on a simulation made up of objects, most engines apply these principles on an object level, creating various classes of object, often in an inheritance hierarchy, with progressively complex functionality.