Software
This page lists the core pieces of software that I have substantially contributed to, as well as other (often smaller) contributions to other open-source projects.
Core Software (Research)
Ludii
I am one of the main developers of the Ludii general game system, alongside several other Ludii team members. I worked on this during my PhD.
- Wrote most AI (search and learning) code.
- Substantial contributions to the core of Ludii’s engine.
- Profiling and optimising for speed and memory across the complete codebase.
- Set up and maintaining Travis CI.
- Set up and maintaining build scripts (Ant).
- Set up automated generation of Ludii Language Reference.
- Tech stack: Java, Python, Git, Travis CI, Ant, Slurm.
- Source code: https://github.com/Ludeme/Ludii/
- Main/sole developer for several subprojects:
- Ludii Example AI (Java)
- Ludii Python AI (Python, Java)
- Ludii C++ AI (C++, Java, Java Native Interface)
- Ludii Tutorials (ReadTheDocs) (source code)
Ludii + Polygames Bridge
I developed a bridge between the Java-based Ludii general game system and the C++/Python-based Polygames framework for deep learning in games.
- Main developer for the bridge.
- Tech stack: Java Native Interface (JNI), C++, CMake, Python, Java, Git, CircleCI.
- Source code: https://github.com/facebookarchive/Polygames/tree/main/src/games/ludii
MaastCTS2 (GVGAI Agent)
I developed the MaastCTS2 agent for General Video Game playing, based on the GVGAI framework. I worked on this for my M.Sc. thesis.
- First place in the 2016 Single-Player GVGAI competition track.
- Second place in the 2016 Two-Player GVGAI competition track.
- Tech stack: Java, Git.
- Source code: https://github.com/dennisSoemers/maastcts2
HTN Planner in Unreal Engine 4
I developed a Hierarchical Task Network (HTN) Planner in Unreal Engine 4. I worked on this for my research internship as a part of my Master in AI.
- Tech stack: Unreal Engine 4, C++, Git
- Source code: https://github.com/DennisSoemers/HTN-Planner/
Other Open-Source Contributions
rliable
- Contributed a small change to the performance profile plotting code of rliable (Google Research) to add support for linestyles. (PR#8)
- Python
OpenSpiel
- Contributed a change to how entries are sorted in the legend of alpha-rank plots in OpenSpiel (DeepMind). (PR#112)
- Python
HuggingFace Deep RL Class
- Contributed minor clarifications, fixes, and suggestions to the HuggingFace Deep RL Class. (PR#62, Issue#66)
- Jupyter Notebook, Python
Multi-MAuS
- Several contributions to the Multi-MAuS multi-modal authentication simulator.
- My contributions were primarily optimisations and feature engineering.
- Python
GVGAI
- Contributed several substantial optimisations to the GVGAI (general video game AI) framework. (PR#18, PR#40, PR#42)
- Java