An evolutionary approach for generating software models: The case of Kromaia in Game Software Engineering

Abstract In the context of Model-Driven Engineering applied to video games, software models are high-level abstractions that represent source code implementations of varied content such as the stages of the game, vehicles, or enemy entities (e.g., final bosses). In this work, we present our Evolutionary Model Generation (EMoGen) approach to generate software models that are comparable in quality to the models created by human developers. Our approach is based on an evolution (mutation and crossover) and assessment cycle to generate the software models. We evaluated the software models generated by EMoGen in the Kromaia video game, which is a commercial video game released on Steam and PlayStation 4. Each model generated by EMoGen has more than 1000 model elements. The results, which compare the software models generated by our approach and those generated by the developers, show that our approach achieves results that are comparable to the ones created manually by the developers in the retail and digital versions of the video game case study. However, our approach only takes five hours of unattended time in comparison to ten months of work by the developers. We perform a statistical analysis, and we make an implementation of EMoGen readily available.

[1]  Julian Togelius,et al.  Making Racing Fun Through Player Modeling and Track Evolution , 2006 .

[2]  A. Dias-Neto,et al.  0006/2011 - Threats to Validity in Search-based Software Engineering Empirical Studies , 2011 .

[3]  Cameron Browne,et al.  Automatic generation and evaluation of recombination games , 2008 .

[4]  H. Ellis Impressions and Comments , 2004, Nature.

[5]  David S. Johnson,et al.  A theoretician's guide to the experimental analysis of algorithms , 1999, Data Structures, Near Neighbor Searches, and Methodology.

[6]  Yoshua Bengio,et al.  Random Search for Hyper-Parameter Optimization , 2012, J. Mach. Learn. Res..

[7]  Daniel A. Ashlock,et al.  Evolution of L-systems for compact virtual landscape generation , 2005, 2005 IEEE Congress on Evolutionary Computation.

[8]  Victor R. Basili,et al.  The role of experimentation in software engineering: past, current, and future , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[9]  Antonio J. Fernández,et al.  Competitive Algorithms for Coevolving Both Game Content and AI. A Case Study: Planet Wars , 2016, IEEE Transactions on Computational Intelligence and AI in Games.

[10]  Juan Manuel Cueva Lovelle,et al.  VGPM: Using business process modeling for videogame modeling and code generation in multiple platforms , 2015, Comput. Stand. Interfaces.

[11]  Jonathan Ralph Roberts,et al.  Learning-Based Procedural Content Generation , 2013, IEEE Transactions on Computational Intelligence and AI in Games.

[12]  G. Travassos,et al.  Contributions of In Virtuo and In Silico Experiments for the Future of Empirical Studies in Software Engineering , 2003 .

[13]  Jaime Font,et al.  Evolutionary Algorithm for Bug Localization in the Reconfigurations of Models at Runtime , 2018, MoDELS.

[14]  Cameron Browne,et al.  Connection Games - Variations on a Theme , 2005 .

[15]  Michael Mateas,et al.  Variations Forever: Flexibly generating rulesets from a sculptable design space of mini-games , 2010, Proceedings of the 2010 IEEE Conference on Computational Intelligence and Games.

[16]  R. Penrose,et al.  A theory of everything? , 2005, Nature.

[17]  Ioannis Stamelos,et al.  Software engineering research for computer games: A systematic review , 2010, Inf. Softw. Technol..

[18]  Xiaodong Li,et al.  Integrated Approach to Personalized Procedural Map Generation Using Evolutionary Algorithms , 2015, IEEE Transactions on Computational Intelligence and AI in Games.

[19]  Juan Manuel Cueva Lovelle,et al.  A model-driven approach to generate and deploy videogames on multiple platforms , 2016, Journal of Ambient Intelligence and Humanized Computing.

[20]  Willian M. P. Reis,et al.  Procedural Generation of Game Maps With Human-in-the-Loop Algorithms , 2018, IEEE Transactions on Games.

[21]  Wolfgang Kramer,et al.  What Makes a Game Good , 2015 .

[22]  Muhammad Zohaib Z. Iqbal,et al.  A product-line model-driven engineering approach for generating feature-based mobile applications , 2017, J. Syst. Softw..

[23]  Janice Singer,et al.  Guide to Advanced Empirical Software Engineering , 2007 .

[24]  Jaime Font,et al.  On the Influence of Models at Run-Time Traces in Dynamic Feature Location , 2017, ECMFA.

[25]  Philippe Pasquier,et al.  A Generic Approach to Challenge Modeling for the Procedural Creation of Video Game Levels , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[26]  Gordon Fraser,et al.  Parameter tuning or default values? An empirical investigation in search-based software engineering , 2013, Empirical Software Engineering.

[27]  Edward Rolando Núñez-Valdéz,et al.  Gade 4 all : Developing Multi-platform Videogames based on Domain Specific Languages and Model Driven Engineering , 2013 .

[28]  Mike McShaffry,et al.  Game Coding Complete , 2003 .

[29]  Julian Togelius,et al.  Procedural Content Generation via Machine Learning (PCGML) , 2017, IEEE Transactions on Games.

[30]  David Oranchak Evolutionary Algorithm for Generation of Entertaining Shinro Logic Puzzles , 2010, EvoApplications.

[31]  Richard F. Paige,et al.  Identifying Desirable Game Character Behaviours through the Application of Evolutionary Algorithms to Model-Driven Engineering Metamodels , 2011, SSBSE.

[32]  Thomas de Quincey [C] , 2000, The Works of Thomas De Quincey, Vol. 1: Writings, 1799–1820.

[33]  Philippe Pasquier,et al.  Towards a Generic Framework for Automated Video Game Level Creation , 2010, EvoApplications.

[34]  Kenneth O. Stanley,et al.  Evolving content in the Galactic Arms Race video game , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[35]  Julian Togelius,et al.  Towards multiobjective procedural map generation , 2010, PCGames@FDG.

[36]  Daniel A. Ashlock,et al.  Search-Based Procedural Generation of Maze-Like Levels , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[37]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[38]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[39]  Danna Zhou,et al.  d. , 1840, Microbial pathogenesis.

[40]  Kenneth O. Stanley,et al.  Interactive genetic engineering of evolved video game content , 2010, PCGames@FDG.

[41]  Tsuyoshi Murata,et al.  {m , 1934, ACML.

[42]  M. Arditti Unity , 1957, Journal of the Irish Medical Association.

[43]  Gillian Smith,et al.  Polymorph: A Model for Dynamic Level Generation , 2010, AIIDE.

[44]  Christoph Salge,et al.  Relevant Information as a formalised approach to evaluate game mechanics , 2010, Proceedings of the 2010 IEEE Conference on Computational Intelligence and Games.

[45]  Carlos Cotta,et al.  Evolution of Artificial Terrains for Video Games Based on Accessibility , 2010, EvoApplications.

[46]  Jaime Font,et al.  An approach for bug localization in models using two levels: model and metamodel , 2019, Software and Systems Modeling.

[47]  Heather Goldsby,et al.  Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty , 2008, MoDELS.

[48]  José A. Carsí,et al.  Automatic prototyping in model-driven game development , 2009, CIE.

[49]  P. Alam ‘S’ , 2021, Composites Engineering: An A–Z Guide.

[50]  Carlos Cotta,et al.  Competitive Algorithms for Coevolving Both Game Content and AI. A Case Study: Planet Wars , 2016, IEEE Trans. Comput. Intell. AI Games.

[51]  Hiroyuki Iida,et al.  An Application of Game-Refinement Theory to Mah Jong , 2004, ICEC.

[52]  Frédéric Maire,et al.  Evolutionary Game Design , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[53]  R. Grissom,et al.  Effect sizes for research: A broad practical approach. , 2005 .

[54]  Henry Gu Cao,et al.  Theory of Everything , 2015 .

[55]  Joe Marks,et al.  Automatic Design of Balanced Board Games , 2007, AIIDE.

[56]  Francisco Herrera,et al.  Advanced nonparametric tests for multiple comparisons in the design of experiments in computational intelligence and data mining: Experimental analysis of power , 2010, Inf. Sci..

[57]  Joel Lehman,et al.  Petalz: Search-Based Procedural Content Generation for the Casual Gamer , 2016, IEEE Transactions on Computational Intelligence and AI in Games.

[58]  Michael Mateas,et al.  Answer Set Programming for Procedural Content Generation: A Design Space Approach , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[59]  Daniel A. Ashlock,et al.  Automatic generation of game elements via evolution , 2010, Proceedings of the 2010 IEEE Conference on Computational Intelligence and Games.

[60]  Jaime Font,et al.  Feature location in models through a genetic algorithm driven by information retrieval techniques , 2016, MoDELS.

[61]  Jean-Marc Jézéquel,et al.  Model Driven Engineering , 2017, Encyclopedia of GIS.

[62]  G. Stiny,et al.  Algorithmic Aesthetics: Computer Models for Criticism and Design in the Arts , 1978 .

[63]  Julian Togelius,et al.  Modeling player experience in Super Mario Bros , 2009, 2009 IEEE Symposium on Computational Intelligence and Games.

[64]  Gebräuchliche Fertigarzneimittel,et al.  V , 1893, Therapielexikon Neurologie.

[65]  Lionel C. Briand,et al.  A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering , 2014, Softw. Test. Verification Reliab..

[66]  A. Vargha,et al.  A Critique and Improvement of the CL Common Language Effect Size Statistics of McGraw and Wong , 2000 .

[67]  Julian Togelius,et al.  An experiment in automatic game design , 2008, 2008 IEEE Symposium On Computational Intelligence and Games.

[68]  Rafael Bidarra,et al.  Generating Consistent Buildings: A Semantic Approach for Integrating Procedural Techniques , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[69]  Mark Harman,et al.  Genetic Improvement of Software: A Comprehensive Survey , 2018, IEEE Transactions on Evolutionary Computation.

[70]  Andrew Lim,et al.  Evolving 3D Buildings for the Prototype Video Game Subversion , 2010, EvoApplications.

[71]  P. Alam ‘O’ , 2021, Composites Engineering: An A–Z Guide.

[72]  Rafael Bidarra,et al.  Procedural Generation of Dungeons , 2014, IEEE Transactions on Computational Intelligence and AI in Games.

[73]  Daniele Loiacono,et al.  Automatic Track Generation for High-End Racing Games Using Evolutionary Computation , 2011, IEEE Transactions on Computational Intelligence and AI in Games.

[74]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[75]  Hannah Fletcher,et al.  International Game Developers Association , 2016 .

[76]  Juan Manuel Cueva Lovelle,et al.  Gade4all: Developing Multi-platform Videogames based on Domain Specific Languages and Model Driven Engineering , 2013, Int. J. Interact. Multim. Artif. Intell..

[77]  Julian Togelius,et al.  Search-Based Procedural Content Generation: A Taxonomy and Survey , 2011, IEEE Transactions on Computational Intelligence and AI in Games.