top of page
Anker 1
FK_Logo.png

April 2021 - August 2021
Developed within the scope of my undergraduate dissertation: "Design and Development of a Framework to Support the Creation of Story-Driven Games"

Team Size
Toolkit for

3

unity-512.png

Dissertation Outline

Interactivity is one of the greatest strengths of video games and the component that sets them apart from other media such as movies, books, and music. And while this also opens up new possibilities for storytelling, a lot of games still take a more traditional, linear approach
on their narrative. But there is a trend towards ever expanding game worlds with more immersive and complex stories. This requires significantly more content to be implemented, and requirements can change permanently and a fast iteration process becomes crucial. With traditional branching systems, planning and reacting to every possible situation in a dynamic game will lead to rapid growth of complexity and a combinatorial explosion.

Therefore, designing and implementing a tool which enables the handling of complex story scenarios and an autonomous workflow for designers and writers with access to underlying gameplay systems, has been the focus of this dissertation. 

​

About the Project

FuzzyKit is a framework that offers support for the creation of story-driven games. Mainly inspired by dynamic dialog systems used in games like Left4Dead (Valve) and Hades (Supergiant Games), it avoids problems of high complexity and long iteration times often encountered with traditional branching systems. Instead, sets of criteria defined by the user are fuzzily checked against the game state. The best match is selected and a corresponding response is executed. By using a high-level visual scripting system called FlowReactor, the response of a match can be anything from a line of dialog to execution of entire scripts.

​

FuzzyKit aims at providing a tool for designers and writers to implement dynamic stories in their games without needing to write code. It speeds up iteration times significantly and reduces overall complexity with large projects. Additionally, the framework can be used to make any custom systems available through the node editor, by programming custom nodes which the users can then use for their responses.

​

​

Contribution Highlights

  • Design and Implementation of the underlying Dynamic Story System

    • Rule matching process which leads to the selection and execution of the response

    • Building the queries based on world and player state at the time of the matching

  • Providing custom nodes with interfaces to the main parts of the system

    • Rule Node which allows to define multiple criteria needed for a connected response

    • Trigger Node to start the matching process at any given time

  • Using LINQ expressions to implement custom functions for querying external gameplay systems (e.g. hasItem(itemID) == true) in a criterion, which can be parsed by the Formula Parser.

  • Building custom nodes for the Tool Game Creator to be used within the system for proof of concept and autonomous workflows for the designer of the team​​​

bottom of page