An Overview of the Ludii General Game System

06/29/2019 ∙ by Matthew Stephenson, et al. ∙ Maastricht University 0

The Digital Ludeme Project (DLP) aims to reconstruct and analyse over 1000 traditional strategy games using modern techniques. One of the key aspects of this project is the development of Ludii, a general game system that will be able to model and play the complete range of games required by this project. Such an undertaking will create a wide range of possibilities for new AI challenges. In this paper we describe many of the features of Ludii that can be used. This includes designing and modifying games using the Ludii game description language, creating agents capable of playing these games, and several advantages the system has over prior general game software.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 2

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction

General game research is one of the most popular areas of game-based academia, and is widely viewed as a suitable means of evaluating AI techniques for a variety of applicable domains and problems [1]. Several general game systems have been developed to assist with this research field, with the main candidates for such work being the General Game Playing (GGP) system [2], the General Video Game AI (GVGAI) framework [3], and the Arcade Learning Environment (ALE) [4]. We propose Ludii as a new general game system, that can facilitate many novel and exciting areas of research.

Within this demo paper, we describe the key aspects of the Ludii system that make it an appealing alternative to other general game platforms. We cover the language used for describing games in Ludii, which provides a simple and human understandable approach. We also provide details on AI techniques that will be included with Ludii at launch. The first version of Ludii is expected to be released in August 2019, but will continue to be improved and updated with new games, functionality and organised events for many years afterwards.

Ii Ludii System

Ludii is a new general game system currently under development [5]. It is based on similar principles to the earlier Ludi system [6], but uses significantly different mechanisms to achieve much greater generality, extensibility and efficiency.

Ludii is being designed and implemented primarily to provide answers to the questions raised by the Digital Ludeme Project [7], but will stand alone as a platform for general games research in the areas of agent development, content generation, game design, player analysis, and education. Ludii provides many advantages over existing GGP systems, including performance improvements, simpler and clearer game descriptions, as well as a highly evolvable language.

Ludii uses a class grammar approach which automatically generates the game description language from the class hierarchy of its underlying source code [8]. This ensures that there is a 1:1 mapping between the Ludii source code and the game description grammar, as any games which are expressed using this grammar are automatically instantiated back into the corresponding library code for compilation. Ludii can theoretically support any rule, equipment or behaviour that can be programmed in Java. The exact implementation details for each of these definitions are encapsulated within our simplified grammar, which summarises the code to be called. Additional details and examples on the Ludii description language are provided in the next section.

(game "Gomoku"
  (mode 2)
  (equipment {
    (goBoard 15)
    (ball Each)
  })
  (rules
    (play (to (mover) (empty)))
    (end (line length:5) (result (mover) Win))
  )
)
Fig. 1: A game of Gomoku in progress, played out on the Ludii system, along with its ludeme-based game description.
(a) Surakarta
(b) Lasca
(c) Sternhalma
(d) Reversi
(e) Peralikatuma
(f) Hnefatafl
Fig. 2: Example agent visualisations for games implemented in Ludii.

A wide range of different game types can be implemented in Ludii, including but not limited to:

  • Deterministic, stochastic and hidden information games.

  • Board, card, dice and tile games.

  • Boardless games (e.g. Dominoes).

  • Stacking games (e.g. Lasca).

  • Simultaneous move games (e.g. Chinook).

  • Graph games (e.g. Dots and Boxes).

  • Multi-player / team games and single-player puzzles.

Iii Ludii Game Description Langugage

Games are described in the Ludii grammar using ludemes, which are conceptual units of game related information that encapsulate key game design concepts, essentially forming the building blocks or “DNA” of games. As an example, Figure 1 shows the game of Gomoku, along with the Ludii game description file that was used to create this game. The equipment section describes the pieces and board that are needed to play. The rules section describes how the game was initially set up (start), how each turn in the game proceeds (play), and under what conditions the game is over (end).

Games described using this approach can be easily modified by adjusting ludemes to suit your needs. Changing the board size or victory conditions can be as simple as editing a single parameter. File sizes for each game are also very small, with each game’s description fitting into a QR code. The language is easy to read and understand compared to more verbose alternatives such as GDL. Recent experimental results revealed that our system tends to be faster than other GGP alternatives. The ability to break games down into their individual ludemes allows for additional analyses, such as phylogenetic analyses, of the similarities and differences between games.

Iv Ludii Agents

Implementations of standard game-playing agents are included in Ludii. Due to the large number of (variants of) games that are planned to be included, we focus on techniques that are generally applicable across many games. This means that we focus on techniques such as Monte Carlo tree search (MCTS), which is the most popular approach in prior GGP research. Third parties will also be able to develop their own agents for Ludii.

Ludii will also provide visualisations to gain insight into the “thinking process” of algorithms such as MCTS. Examples of such visualisations are depicted in Figures 1 and 2

. Arrows are drawn for every possible movement action (in games like Amazons, Chess, Hnefatafl, etc.), and circles are drawn for placement actions (in games like Go, Hex, Reversi, etc.). The sizes of these drawings scale with the visit counts associated with actions in an MCTS search process, and colours are changed based on the value estimates of MCTS (e.g. blue for winning moves, red for losing moves, purple for moves with neutral value estimates).

V Conclusion

The Ludii system presents a new and intuitive approach to game design and game playing. The scope and completeness of the games available with Ludii can rival that of any prior general game playing system. The software is easy to use for those who are not technically inclined, while also providing the functionality for integrating existing agents and AI techniques. The language used to describe games also opens up many new avenues of research, particularly in the areas of general game generation and analysis.

Acknowledgment.

This research is part of the European Research Council-funded Digital Ludeme Project (ERC Consolidator Grant #771292) run by Cameron Browne at Maastricht University’s Department of Data Science and Knowledge Engineering.

References

  • [1] G. N. Yannakakis and J. Togelius, Artificial Intelligence and Games.   Springer, 2018, http://gameaibook.org.
  • [2] M. R. Genesereth, N. Love, and B. Pell, “General game playing: Overview of the AAAI competition,” AI Magazine, vol. 26, no. 2, pp. 62–72, 2005.
  • [3] D. Perez-Liebana, S. Samothrakis, J. Togelius, S. M. Lucas, and T. Schaul, “General video game ai: Competition, challenges, and opportunities,” in Proc. 30th AAAI Conf. Artif. Intell., ser. AAAI’16, 2016, pp. 4335–4337.
  • [4] M. G. Bellemare, Y. Naddaf, J. Veness, and M. Bowling, “The arcade learning environment: An evaluation platform for general agents,” J. Artif. Intell. Res., vol. 47, no. 1, pp. 253–279, 2013.
  • [5] É. Piette, D. J. N. J. Soemers, M. Stephenson, C. F. Sironi, M. H. M. Winands, and C. Browne, “Ludii - the ludemic general game system,” CoRR, vol. abs/1905.05013, 2019.
  • [6] C. B. Browne, “Automatic generation and evaluation of recombination games,” Ph.D. dissertation, Queensland University of Technology, 2009.
  • [7] C. Browne, “Modern techniques for ancient games,” in 2018 IEEE Conf. Comput. Intell. Games, 2018, pp. 490–497.
  • [8] C. B. Browne, “A class grammar for general games,” in Advances in Computer Games, 2016, pp. 167–182.