Developing a game engine is a real challenge. To prove that it is enough to look at the main characteristics of a modern engine: they are made in a lot of years by experienced programmers using several hundrends of millions of dollars, and their complexity is at the level of the complexity of an operating system. These astoundingly large software architectures are made of inconceivably lot lines of code, they are able to perform loads of tasks, so overviewing the whole system for one individual is impossible. Accordingly the development of these systems is really costly, so only the richest companies can invest in developing an engine.
Of course the aim of my thesis can not be making a competitive engine, just the overviewing the main game engine types, then designing and implementing my chosen type of game engine, and finally demonstrate its working through an example game.
My thesis first passes through the main engine architecture types, listing the pros and cons of both of these architectures.
After this it makes an insight into the technologies used during the development, which include the programming language and development environment, the used engines capable of performing specific tasks, and the applied game engine architecture.
After the theoretical overview, the next step is the design and implementation of the concrete engine, step by step going through the development process, reflecting the design decisions taken, the used design patterns, and the most important parts of the system as well.
Following the designing of the engine, the presentation of the example game made by the assistance of the engine occurs, which also serves to demonstrate the utility of the engine as well.
Finally, my thesis concludes with the testing and evaluation of the completed structure and the listing of possible further development opportunities.