Guided Project SS26_08 »Microservice Dungeon 2.0«
Informationen zur Organisation des Moduls
- Betreuer
- Prof. Dr. Stefan Bente
- Teamgröße
- 3 - 8
- Sprache
- English
- Beginn
- End March
- Angeboten als
- GP-TS-ACS (12+6 ECTS)

The Microservice Dungeon (short MSD) is a game where players compete against each other to achieve the highest possible score. Each player service controls a swarm of robots. Robots move across the game board, mine resources, purchase upgrades, and battle each other. All of these actions earn points for the player. The notable difference to a regular multiplayer game is that the players are not persons but microservices, implemented by a developer (or developer team). The robot swarm is usually not controlled manually, but by an algorithm implemented in the player service.
The goal of MSD is to introduce students to a really large code base in a cutting-edge, industry-standard architecture, and to give them the chance to try out modern software concepts in an interesting and creative environment. MSD has been introduced first in 2021. Since then, roughly 200 Bachelor and Master students have implemented player services for it.
MSD is currently completely re-implemented in version 2.0 in order to overcome a number of architectural shortcomings in version 1.0. It is part of the Coding Culture track of the InnoFaktur EFRE project, funded by EU. The work is 90% completed. The first InnoFactur event based on MSD 2.0 will take place in 26.03.2026, and an MVP of MSD 2.0 will be available by then.
The main change from 1.0 to 2.0 is the move from a round-based game to a real-time approach. Associated with that is a switch to a fully event-based communication between the services, like in any large-scale microservice landscape. It has an underlying Apache Kafka event broker, which handles all the communication between the services.
MSD 2.0 allows us to deep-dive into the hardcore specifics of distributed large systems. This guided project will look at several specific topics that the MVP will not yet cover and will delve into concept, architecture and implementation of such aspects. The subset of topics will be discussed together with the student team when the project will start. Here are a couple of possible topics:
Aggregation service for events to provide business metrics like answering time for certain game intents, performance monitoring in general, but also leaderboard statistics. Will require looking into Kafka Streams and metrics of distributed systems.
Real-time dashboard to visualize the current state of the game, including leaderboard statistics. The main challenge is to aggregate the real-time events in a performant way. You need to assume that there are 15 players with 200 robots each, who will perform a new action every couple of seconds.
Security hardening for the whole dungeon microservice landscape. Currently security has not been a priority, which requires the MSD to be run in a protected environment like a VPN with a fixed number of players. It would be interesting to harden MSD against malicious or incompetent players.
The students will have learned how a real industry-standard large distributed system looks like, and what kind of compromises and pitfalls you run into when you try to implement an event-based microservice landscape.
Students must be interested in programming and software architecture, and must have solid programming experience, preferably in Java. Knowledge in Spring, Spring Modulith, Kafka, and event-driven architecture are a plus.
Innovation Hub Bergisches RheinLand