Using Graph Transformation for Puzzle Game Level Generation and Validation

  • David Priemer
  • Tobias George
  • Marcel Hahn
  • Lennert Raesch
  • Albert Zündorf
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9761)

Abstract

As part of a student’s project, computer science student David Priemer and former graphics design student Daniel Goffin started to develop a nice puzzle based computer game called Perlinoid. In his Bachelor thesis, David developed a level generator for Perlinoid. The challenge was to generate interesting puzzles with a reasonably small number of elements and reasonably complex series of steps required for the solution. Being educated in graph transformations, David modeled the possible puzzles as graphs and possible user steps as graph transformations. First a random level is generated, for which the level generator computes a reachabilty graph by applying all graph transformations in all possible combinations on all possible matches. Next, the reachability graph is analyzed for distances between start graph and end graph, number of possible choices, number of different solution paths, etc. and a number of metrics are applied. Finally, the result gets evaluated. In case the level is considered insufficient, it will be discarded and the process starts from the beginning. This is done within the Perlinoid application on demand at user side. To minimize the footprint of the level generator, a new dedicated graph transformation engine has been built and incorporated into the Perlinoid game. This paper reports about the concepts and experiences with this approach.

Keywords

Graph transformations Reachability graphs Fujaba SDM-Lib 

References

  1. [FNTZ98]
    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: a new graph rewrite language based on the unified modeling language and java. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 296–309. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  2. [GK07]
    Geiß, R., Kroll, M.: GrGen.NET: a fast, expressive, and general purpose graph rewrite tool. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) Applications of Graph Transformations with Industrial Relevance. LNCS, vol. 5088, pp. 568–569. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  3. [Gra]
    Graph Engineering Course at Kassel UniversityGoogle Scholar
  4. [Gra06]
    GraphSynth. Open-source research software for creating generative grammars (2006). http://designengrlab.github.io/GraphSynth/. 17 Feb 2016
  5. [Ren03]
    Rensink, A.: The GROOVE Simulator: A Tool for State Space Generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) Applications of Graph Transformations with Industrial Relevance. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. [SDM14]
    SDMLib.org. Story Driven Modeling Library at GitHub (2014). https://github.com/fujaba/SDMLib, 17 Feb 2016

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • David Priemer
    • 1
  • Tobias George
    • 1
  • Marcel Hahn
    • 1
  • Lennert Raesch
    • 1
  • Albert Zündorf
    • 1
  1. 1.Kassel University GermanyKasselGermany

Personalised recommendations