Author:

Philipp Müller
Supervisor:Prof. Gudrun Klinker
Advisor:Daniel Dyrda (@ga67gub)
Submission Date:[created]

Abstract

Modern Game Engines nowadays offer a variety of possibilities to develop a game and script the behavior of its agents. Besides classic coding, more visual approaches become present in the working routine of a game developer. By taking a look at Unity 2021.3.3f1, the so-called "Visual Scripting" has become an integral part next to the usual C# scripting environment. It offers the choice to use "Script Machines" and "State Machines" as visual development tools. This thesis demonstrates how State Machines can provide an alternative way to integrate behavior of, for example, non-player-characters (NPCs) during the game development process. Part of this thesis is a Unity game project in which the player/developer takes control over his character using a State Machine. It will be shown how typical Statechart patterns and principles like clustering or orthogonality can be implemented. These principles originate in the 1980s and their theoretical basis were described by David Harel in "Statecharts: A Visual Formalism For Complex Systems". This is also the theoretical basis of this thesis. There are differences between the theory and the current implementation in Unity, which are shown. The accompanying game project is designed as Serious Game, however, it is not build and an editable Unity project file. After describing the game, teaching aspects and the Gamification process are also illustrated and discussed. Pro and con of the goal-based "learning-by-doing" approach inside the development environment are discussed with the result that it is quite beneficial to leave everything "open", for example as template for future projects by the player/developer.

Results/Implementation/Project Description

Conclusion

[ PDF (optional) ] 

[ Slides Kickoff/Final (optional)]