Toward high-level reuse of statechart-based AI in computer games
暂无分享,去创建一个
Designing an interesting AI for a computer game is a complex undertaking, providing motivation to reuse portions of successful AIs. Here we advocate a layered Statechart-based AI as a modular approach that simplifies reuse. We analyze Statechart interactions and communications with respect to AI design, and propose an interface for Statechart-based AI modules that summarizes interactions.
Reuse is accomplished by adding and removing modules to a new AI, largely enabled through event-renaming to ensure coherence with the interfaces. We describe an approach to module composition using functional groups, which allow for the encapsulation of high level behaviours (e.g., fleeing or exploring). This enables a designer to compose new AIs by assigning high-level behaviours. Additionally, the interface describes interactions with the game at-large, leading naturally to portability between games and even implementation languages. Finally, we look ahead to the requirements for a tool that would implement these ideas.
[1] David Harel,et al. Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..
[2] Simon Colton,et al. Evolving Behaviour Trees for the Commercial Game DEFCON , 2010, EvoApplications.
[3] David Harel,et al. The Rhapsody Semantics of Statecharts (or, On the Executable Core of the UML) - Preliminary Version , 2004, SoftSpez Final Report.
[4] Jörg Kienzle,et al. Model-based design of computer-controlled game character behavior , 2007, MODELS'07.