background Ludii Portal
Home of the Ludii General Game System

   

Home Games Forum Downloads References Concepts Contribute Tutorials Tournaments World Map Ludemes About


Contact Us

Email: ludii.games@gmail.com

Twitter: @LudiiGames
             @archaeoludology

Facebook: Digital Ludeme Project

Address: Maastricht University
               Department of Advanced Computing Sciences (DACS)
               Paul-Henri Spaaklaan 1, 6229 EN Maastricht, Netherlands

 

Team


 

Cameron Browne
Principal Investigator [CV] cameron.browne@maastrichtuniversity.nl

Cameron Browne is the Principal Investigator of the Digital Ludeme Project and the designer of the Ludii general game system. Ludii is based on his previous PhD work on evolutionary game design, which produced the world's first published computer generated games. Cameron is the technical lead on Ludii and works on all aspects of the program, but focusses mostly on the Ludii grammar generator and .lud game description parser and compiler.

 

Eric Piette
Postdoctoral Researcher [URL] eric.piette@maastrichtuniversity.nl

Eric Piette is a Postdoctoral Researcher on the Digital Ludeme Project and the reigning General Game Playing (GGP) world champion since 2016. Eric works on the nuts and bolts of the game logic behind Ludii, and has implemented most of the system's 'ludeme' classes and .lud game descriptions. Eric is the go-to guy for questions about the Ludii game description language.

 

Matthew Stephenson
Postdoctoral Researcher [URL] matthew.stephenson@maastrichtuniversity.nl

Matthew Stephenson is a Postdoctoral Researcher on the Digital Ludeme Project, with a background in Procedural Content Generation, and is the winner the last two IEEE Angry Birds level generation competitions. Matthew works on many aspects of Ludii including the user interface, graphics, networking, database programming, and synchronising Ludii with the wealth of information stored in our DLP game database.

 

Walter Crist
Postdoctoral Researcher [URL] walter.crist@maastrichtuniversity.nl

Walter Crist is a Postdoctoral Researcher on the Digital Ludeme Project, and as a trained Archaeologist and Anthropologist specialising in the dispersal of games from Ancient Egypt and the Mediterranean, is our resident expert on the historical data behind the games in the DLP database. Walter advises on which games to include and what evidence we really know about each game.

 

Dennis Soemers
PhD Candidate [URL] dennis.soemers@maastrichtuniversity.nl

Dennis Soemers is a PhD candidate working on the Digital Ludeme Project whose research involves learning features for general games, with a view to training AIs that can autonomously adapt to a range of novel problems and learn strategies that can be explained in human-comprehensible terms. Dennis has taken on responsibility for developing and training the Ludii AIs, and oversees much of the vital behind-the-scenes work including automated unit testing and documentation.

 

   

Contributors

Stephen Tavener is a freelance programmer with extensive experience in Java and game system development. Stephen previously worked on Zillions of Games and is the author of the Ai Ai game system. He advises on Ludii periodically and has been instrumental in its design.

Wijnand Engelkes is a professional database programmer who has devoted much of his time recently to helping us test Ludii and improve its documentation. Wijnand is our one-man Quality Assurance branch.

Tahmina Begum is a Masters student researching 'graph theory' games, who is working with the Ludii team to implement a range of mathematical graph games and variations of the Union Find algorithm for connection games. Tahmina recently completed a six month research internship with us on this topic.

Coen Hacking is a PhD candidate at Maastricht University and freelance programmer who has helped with the migration to SVG graphics in preparation for an Android port of Ludii.

Lianne Hufkens did a research internship with us in 2019 on a classification of Japanese logic puzzles, which helped with the implementation of many of our deduction puzzles.

Markus Niebisch completed a Masters Research Internship with us over 2020 on methods for measuring game distance, and has provided general assistance with testing and debugging. Markus produced the first interesting Ludii-evolved game, which he calls Reach Chess.

 

History


Ludii is the result of a long process of development over many years. This page summarises the key steps in this process.

Connection Games (Brisbane, 2005)

While compiling the book Connection Games: Variations on a Theme, it became obvious that many of these hundreds of games were composed of the same relatively small number of rules just in different combinations and applied to different board geometries. This inspired the ludemic approach for describing games, in which games are decomposed into conceptual units called ludemes, and led directly to my PhD work on evolutionary game design.

Ludi (QUT, Brisbane, 2006–2009)

Ludi was a C++ program developed for my PhD that evolved board games. Games were modelled in an EBNF-style grammar and described as structures of ludemes, in the form of equipment and rules, which triggered corresponding program functions to be called. About 200 ludemes were implemented. This approach was sufficient to evolve interesting board games, such as Yavalath, but in the end proved quite limiting; Ludi was inefficient, not very general (most new games added to the system required its functionality to be extended) and not very extensible (adding functionality required updating both the grammar and its corresponding C++ code and synchronising the two). Ludi was never publicly released.

Mogal (Imperial College, London, 2010–2014)

Mogal was a general game player, written in Java, developed as part of the UCT for Games and Beyond project in conjunction with Stephen Tavener (one of the Zillions of Games programmers). Mogal stood for "Modular Game Library" and provided a number of useful core game functions, such as move generators and win detectors, which the user assembled into games using JSON description files. This approach allowed highly optimised implementations of the core game functions, but again suffered in terms of generality and extensibility as each new game typically required new functionality to be added by an expert user/programmer. Mogal was never publicly released, but was later extended by Stephen into the excellent Ai Ai game player that currently supports around 200 games and various AI agents.

Class Grammar (QUT, Brisbane, 2015–2016)

The idea that finally addressed the limitations of previous systems was a simple one: generate the game grammar directly from the code. The developer can then focus on implementing the required functionality, which is automatically incorprorated into the grammar, rather than having to maintain the two separately. The grammar reflects the full functionality of the code while hiding its implementation and complexity. This mechanism is described in the paper A Class Grammar for General Games and in Australian patent application 2013904567 Method and Apparatus for an Extensible General Game System (lapsed).

Ludii (Brisbane, Munich, Tokyo, Maastricht, 2016 –)

Ludii is a complete general game system, based on the ludemic approach and class grammar mechanism, written in Java. An initial prototype was developed in 2016 to demonstrate a working proof-of-concept of the basic mechanism for an ERC grant proposal. The full system architecture was fleshed out over 2017 and suitable general game features for biasing MCTS playouts were derived while working at the RIKEN Institute (Tokyo) in late 2017. Work on the release version of Ludii began in earnest with the start of the Digital Ludeme Project in April 2018 at Maastricht University, and the system was operational and playing games by July 2018 (first game: Tic Tac Toe). Ludii uses a forward-only model for Monte Carlo playouts and is about 100 times faster than the original Ludi.

 



     Contact Us
     ludii.games@gmail.com
     cameron.browne@maastrichtuniversity.nl

lkjh Maastricht University Department of Advanced Computing Sciences (DACS), Paul-Henri Spaaklaan 1, 6229 EN Maastricht, Netherlands Funded by a €2m ERC Consolidator Grant (#771292) from the European Research Council