Project Opportunities
If you are interested in working with me on a research project, I am currently offering the project opportunities listed below. If you are interested, just email me. I aim to have a kick-off meeting for each of the two projects in the first week of the quarter to talk about specifics.
Procedural Content Generation in Minecraft
The Generative Design in Minecraft (GDMC) Competition, which has been held annually since 2018, is “about writing an algorithm that can create a settlement for a given, unknown Minecraft map.” For this project, we are working on developing a complete settlement generator, consisting of map analysis, layout and zoning, building generation, variation, ensuring the usability and plausibility of the settlement, etc. We are building on a newly developed, grammar-based approach, which we presented in a recent publication, and which was then further expanded upon. However, there are still many tasks that remain to be done, including generating individual buildings, parks, farms, and other areas, integrating the various components into a single generator, improving aesthetics (e.g. by placing lights), etc.
For this project we are using Python using the custom library presented in the papers together with the Amulet Minecraft editor. Knowledge of Python is therefore an advantage, but background in another programming language should suffice to pick up the basics quickly. I am currently aiming to build more support infrastructure for this project as well, so initial tasks would also involve setting up a tutorial project structure that future students can use to get up to speed more quickly.
Generative Models: Applications and Limitations
Generative Models, such as ChatGPT, have seen a recent surge in interest, although they have existed for many years. For this project, we are interested in two aspects of recent advances in the field: First, the ability of e.g. ChatGPT to produce text is impressive at first glance, but how to use this text in longer-form environments is still an open question. For this part of the project, we want to look at how a generative text model could be used to write long-form text, e.g. a novel, in a way that is consistent and coherent (as a continuation of this paper). However, while it is known that generative models may produce flat-out incorrect or made-up responses, and this can lead to real-world consequences (e.g. when using ChatGPT to produce court filings), even information that is not flat-out “wrong” may still not be biased in an undesirable way. For the second part of this project we are therefore investigating biases in LLMs, and how these could even be measured and detected. Initial results of this bias evaluation can be found in this paper.
For both parts of this project we are also using Python. For story generation, some basic knowledge in Python is very helpful, and a basic understanding of logic is a plus (to be able to describe the story structure). For the bias-evaluation project, a significant amount of work is testing different LLMs online, which requires more creativity than programming. We want to eventually automate some of the tests, but we already have frameworks in place for this that can be adapted as needed (for that part, some Python knowledge is also helpful).
Suggest your own
I am always open to student suggestions that are related to my research interests: My main research area is AI in games, with a particular focus on the interaction of games, AI agents and humans, such as producing artifacts for human consumption, or novel ways of interaction, e.g. in VR.
Procedural Level Generation for a VR Rhythm game (currently paused)
Ragnarock is a VR rhythm game, where players have to hit drums in sync with a given song. For a given song, there are typically multiple levels of difficulty available, which differ in the frequency and variation in the drum patterns. While the game supports custom, fan-created levels, each such level has to be created by hand. For this project we are looking into developing an automated approach to generating these levels. Since a large number of custom levels has already been created by fans, we can use information gained from these, such as which patterns are typically used, as the basis of our generator. For this project we will be working on extracting audio-information from a given song, matching it with the appropriate patterns, and then also ensuring that the generated levels are of an appropriate difficulty. As the game supports and API for in-game monitoring, eventually we will also want to utilize this information to tailor each level to individual players.
Past Projects
Digital Twin
Digital Twin for a UAV
Hanabi
Building Intelligent Agents for Hanabi
Ostari
Practical Specification of Belief Manipulation in Games
Pandemic
Building Intelligent Agents for Pandemic
ProvidentAI
A planning and plan recognition component for Unity