CoDePA Studio: Adding Explicit Support for Behavior Variants in Authoring Games

The development of computer games is both complex and technically challenging, especially when it comes to designing complex behavior for computer games. Current development tools do not provide any high-level design facilities for behavior and require the designer to manually program the behavior. Therefore, the <name> approach was introduced to facilitate the authoring of behavior in computer games (and other interactive 3D applications). This approach uses conceptual modeling techniques to elevate the specification of behavior to a higher level. Code generation from the conceptual specifications is supported. Furthermore, Generative Design Patterns are used to allow reusing existing solutions. In this paper, we explain how the approach has been extended with techniques from the domain of Software Variability, i.e. feature models and configuration models, to support the specification and generation of different flavors of a behavior. In this way, we effectively support a common way of working in game development where one often uses similar behavior scripts except for some variations. By providing support for this at a conceptual level, we make this practice explicit and elevate it to a higher level such that it can be better controlled and exploited. The paper also introduces the design tool developed to support the approach.

[1]  Roberto Ierusalimschy,et al.  Programming in Lua , 2003 .

[2]  Jason Busby,et al.  Mastering Unreal Technology: The Art of Level Design , 2005 .

[3]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[4]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[5]  Jeff Z. Pan,et al.  A semantic web approach to feature modeling and verification , 2005 .

[6]  Steffen Thiel,et al.  Systematic Integration of Variability into Product Line Architecture Design , 2002, SPLC.

[7]  Huilin Ye,et al.  Approach to modelling feature variability and dependencies in software product lines , 2005, IEE Proc. Softw..

[8]  Jonathan Schaeffer,et al.  Generative design patterns , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[9]  Jan Bosch,et al.  Maturity and Evolution in Software Product Lines: Approaches, Artefacts and Organization , 2002, SPLC.

[10]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[11]  Xin Peng,et al.  Ontology-Based Feature Modeling and Application-Oriented Tailoring , 2006, ICSR.

[12]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[13]  Marco Sinnema,et al.  Experiences in Software Product Families: Problems and Issues During Product Derivation , 2004, SPLC.

[14]  Vander Alves,et al.  Extracting and Evolving Mobile Games Product Lines , 2005, SPLC.

[15]  David J. Parker Visualizing Information with Microsoft® Office Visio® 2007 , 2007 .

[16]  Weishan Zhang,et al.  Reuse without Compromising Performance: Industrial Experience from RPG Software Product Line for Mobile Devices , 2005, SPLC.

[17]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[18]  K. Czarnecki,et al.  Cardinality-Based Feature Modeling and Constraints : A Progress Report , 2005 .