A Class Grammar for General Games

  • Cameron BrowneEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10068)


While there exist a variety of game description languages (GDLs) for modeling various classes of games, these are aimed at game playing rather than the more particular needs of game design. This paper describes a new approach to general game modeling that arose from this need. A class grammar is automatically generated from a given library of source code, from the constructors and associated parameters found along its class hierarchy, to give a context-free grammar that provides access to the underlying code while hiding its implementation details.


Game Design Board Size Class Hierarchy Constructor Parameter Code Library 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



This work was funded by a QUT Vice-Chancellor’s Research Fellowship as part of the project Games Without Frontiers. Thanks to Stephen Tavener for nudging me towards Java, which proved ideal for this task.

Supplementary material


  1. 1.
    Genesereth, M., Love, N., Pell, B.: General game playing: overview of the AAAI competition. AI Mag. 26, 62–72 (2005)Google Scholar
  2. 2.
    Browne, C.: Automatic Generation and Evaluation of Recombination Games. Ph.D. Thesis, Faculty of Information Technology, QUT, Brisbane (2008)Google Scholar
  3. 3.
    Shaker, M., Sarhan, M.H., Naameh, O.A., Shaker, N., Togelius, J.: Generation and analysis of physics-based puzzle games. In IEEE Conference on Computational Intelligence in Games (CIG 2013), Niagara Falls, pp. 1–8 (2013)Google Scholar
  4. 4.
    Mahlmann, T., Togelius, J., Yannakakis, G.N.: Modelling and evaluation of complex scenarios with the strategy game description language. In: IEEE Conference on Computational Intelligence in Games (CIG 2011), Seoul, pp. 174–181 (2011)Google Scholar
  5. 5.
    Font, J., Mahlmann, T., Manrique, D., Togelius, J.: A Card Game Description Language. In: European Conference on Applications of Evolutionary Computation, Vienna, pp. 254–263 (2013)Google Scholar
  6. 6.
    Schaul, T.: An extensible description language for video games. IEEE Trans. Comput. Intell. AI Games 6(4), 325–331 (2014)CrossRefGoogle Scholar
  7. 7.
    Kulick, J.: World Description Language - A Logical Language for Agent-Based Systems and Games. Bachelors thesis, Freie Universität Berlin, Fachbereich fü Mathematik und Informatik (2009)Google Scholar
  8. 8.
    Kernighan, B.W., Pike, R.: The Practice of Programming. Addison-Wesley, Boston (1999)Google Scholar
  9. 9.
    Borvo, A.: Anatomie D’un Jeu de Cartes: L’Aluette ou le Jeu de Vache. Librarie Nantaise Yves Vachon, Nantes (1977)Google Scholar
  10. 10.
    Mallett, J., Lefler, M.: Zillions of Games: Unlimited Board Games & Puzzles(1998).
  11. 11.
    Hom, V., Marks, J.: Automatic design of balanced board games. In: Artificial Intelligence and Interactive Digital Entertainment Conference (AAIDE 2007), Stanford, pp. 25–30 (2007)Google Scholar
  12. 12.
    Love, N., Hinrichs, T., Genesereth, M.: General Game Playing: Game Description Language Specification. Report LG-2006-01, Stanford Logic Group (2006)Google Scholar
  13. 13.
    Thielscher, M.: A general game description language for incomplete information games. In: AAAI Conference on Artificial Intelligence, Atlanta, pp. 994–999 (2010)Google Scholar
  14. 14.
    Kowalski, J., Kisielewicz, A.: Game description language for real-time games. In General Intelligence in Game-Playing Agents (GIGA 2015), B. Aires, pp. 23–30 (2015)Google Scholar
  15. 15.
    Koza, J.: On the Programming of Computers by Means of Natural Selection. MIT Press, Massachussetts (1992)Google Scholar
  16. 16.
    Browne, C.: Evolutionary Game Design. Springer, Berlin (2011)CrossRefGoogle Scholar
  17. 17.
    Browne, C., Togelius, J., Sturtevant, N.: Guest editorial: general games. IEEE Trans. Comput. Intell. AI Games 6(4), 1–3 (2014)CrossRefGoogle Scholar
  18. 18.
    Schaul, T., Togelius, J., Schmidhuber, J.: Measuring Intelligence through Games. Technical report arXiv:1109.1314v1 (2011)
  19. 19.
    Hall, P.W.: Parsing with C++ Constructors. ACM SIGPLAN Not. 28(4), 67–69 (1993)CrossRefGoogle Scholar
  20. 20.
    Conway, D.: Parsing with C++ Classes. ACM SIGPLAN Not. 29(1), 46–52 (1994)CrossRefGoogle Scholar
  21. 21.
    Pohjalainen, P.: Object-oriented language processing. In: Lightfoot, D., Szyperski, C. (eds.) JMLC 2006. LNCS, vol. 4228, pp. 104–115. Springer, Heidelberg (2006)Google Scholar
  22. 22.
    Mann, P.: A Translational BNF Grammar Notation (TBNF). ACM SIGPLAN Not. 41(4), 16–23 (2006)CrossRefGoogle Scholar
  23. 23.
    Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley, Boston (2011)Google Scholar
  24. 24.
    Ghosh, D.: DSLs in Action. Manning, Stamford (2011)Google Scholar
  25. 25.
    Browne, C., Powley, E., Whitehouse, D., Lucas, S., Cowling, P.I., Rohlfshagen, P., Tavener, S., Perez, D., Samothrakis, S., Colton, S.: A survey of monte carlo tree search methods. IEEE Trans. Comput. Intell. AI Games 4(1), 1–43 (2012)CrossRefGoogle Scholar
  26. 26.
    Bloch, J.: Effective Java, 2nd edn. Addison-Wesley, Boston (2008)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Queensland University of TechnologyBrisbaneAustralia

Personalised recommendations