Pfaff, Maximilian
Supervisor:Prof. Gudrun Klinker
Advisor:Dyrda, Daniel (@ga67gub)
Submission Date:[created]


In this work, reactive programming was used to develop an agent controller for 3D games in the shape of a Unity package. The resulting program and the use of the reactive programming paradigm were evaluated using requirement specific scenarios. First, an overview of agent controllers and reactive programming was given and the usage of the ReactiveX UniRx extension for Unity was explained. After the requirements for the project were disclosed, the architecture and implementation of the package were described. Abstract classes, operators for stream composition and simple state machines were used together with UniRx during implementation. Evaluation was done by assessing scenarios covering requirements about accessibility, modifiability, and modularity. The controller was able to adapt to these scenarios successfully and therefore manage to fulfil the requirements. Discovered drawbacks of using reactive programming in a package was the high learning curve of users and the increased difficulty for debugging. Future improvements for the controller concern the quality of the state machine used and the approach of synchronising input onto one stream by combining it into a struct.

Results/Implementation/Project Description


[ PDF (optional) ] 

[ Slides Kickoff/Final (optional)]