Data-Driven Animation Controller: A Prioritized Visual System for Decoupled Animation Logic in Godot Game Engine
For game developers using Godot, this addresses the maintenance burden of tightly coupled animation logic, but the contribution is incremental as it applies existing data-driven and priority-based concepts to a specific engine.
The paper introduces a Data-Driven Animation Controller (DDAC) for the Godot engine that decouples animation logic from gameplay scripts using a declarative, rule-based system with a prioritized resolution algorithm, enabling designers to iterate on animations without code changes.
This paper introduces the Data-Driven Animation Controller (DDAC), a specialized Godot component that achieves robust decoupling of animation logic from core gameplay scripts through a data-driven approach. Animation control is typically centralized and imperatively defined within core character scripts, often relying on implicit Finite State Machines (FSMs). This practice leads to tightly coupled and difficult-to-maintain codebases. The DDAC component externalizes these instructions into easily inspector-editable resources, effectively making the animation logic declarative. Rules are defined by reading Conditions from any variable on any external node and executing Actions (setting the target animation). The DDAC also manages secondary visual state settings, such as Animation Speed Scaling and Horizontal/Vertical Sprite Flipping, using the same simple rule-based setup. The highest contribution of this work is the use of a Prioritized Resolution Algorithm to enforce mutual exclusion, ensuring that when multiple rules match, only the highest-priority rule executes. This framework allows designers to quickly iterate on character-state visualization without modifying code, while significantly improving maintainability and reducing cognitive load on core developers.