The goal of my thesis project was designing and implementing a graphical game designer application based on my former game engine project produced for my BSc. degree. Using the application, even beginner programmers with a limited skillset may piece simple games together. An advantage of the system is that the graphical interface displays the objects with the underlying game engine, so the developer can see an almost final state right at design time.
Since the game engine depends on the .NET Framework, the designer application is also based on this managed environment. In terms of architecture the software is designed as a thick client application. I have chosen the WPF (Windows Presentation Foundation) framework from the usable technologies to build up the designer.
The game engine is able to parse scripts, which allows an easier way of programming compared to the usual, imperative programming methods; in fact the sole purpose of the game designer application is generating these scripts. This means the designer may produce a game with the exact same runtime as manually written scripts.
The designer application provides a graphical interface to define and interactively manipulate the objects in the game. The runnable version of the game can be built by clicking a single button. It can also be started immediately. As the game engine is called ‘Cactus Game Engine’, I named this application ‘Cactus Game Designer’.