Component Based Approach for Game Engine Object Management
There are many game objects in modern computer games that need to be represented in a code. The most common way to represent them is via a class hierarchy which unfortunately introduces many problems such as the difficulty of hierarchy modification or a non-reusable code. This thesis focuses on a modern component-based game objects representation, which is a proper replacement for the class hierarchy. The component-based approach is very user friendly and does not suffer from problems the class hierarchy does. In the thesis a robust game object management system, which uses dividing a code to components and entity systems, was designed. This designed system was implemented as a set of library classes. Its usability was verified by specialization of the generic library to a library for 2D computer games and implementation of two separate games. The text can be used as a complete introduction to a virtual objects representation. The thesis proves the advantages of the component-based approaches over the class hierarchy and shows these advantages in practice by implementing two games. It is demonstrated that the components are easily reusable and that they can be managed with constant complexity thus the presented approach is suitable for real-time applications.