The subject of my thesis is to expand the functionality of an existing, continuously improving graphical game engine, the Cactus Game Engine, which is implemented in a managed environment.
The first part of the project is to implement a script subsystem from the ground up. Developers of a game engine have to keep in mind that the tool should be easy to handle for the end users. The engine can be programmed in any of the .NET languages, however, this requires a serious amount of knowledge. Scripting provides a method to bypass this problem, allowing to avoid it with the use of some proper languages which are much easier to understand by far.
The second part of the task is to extend the game engine by a GUI (Graphical User Interface) subsystem. For this purpose I have chosen an existing implementation which is written in C#. After studying the relations in the engine, I have built the new system into the project.
Most game developers usually avoid using managed code, since this may lead to significant overhead. However, the .NET Framework provides several features, which support the writing of clear and understandable source code.
The core of the Cactus Game Engine itself is developed by my classmate, Zoltán Repiczki. He presents the system extensively in his thesis, ‘Designing and implementing the architecture of a game engine in managed environment’.