Verbundprojekt »The Microservice Dungeon« (The Microservice Dungeon), WS21

The Microservice Dungeon is a large, interconnected project in WS 21/22, where four modules in three study programs interact. There will be ca. three months of joint preparation, and then we will have a 1.5 week Hackathon in January 2022 - with the goal to build a large microservice architecture, where robots swarm through a dungeon and fight each other.

01.10.2021 - 28.01.2022


Game Idea

In small teams (or as solo players) the students will implement autonomous robot swarms, who compete for resources (e.g. mining) and fight each other in a dungeon. Each robot swarm is a microservice - with complete freedom of choice wrt. technology. Central services such as dungeon, mining exchange, trading, robot registry (and whatever else we need) each also are services. The robots communicate via REST (submitting commands) and asynchronously - for example, listening to events to follow the moves of their opponents.

The individual teams keep their code secret, so they can implement sophisticated algorithms to “trick” others teams, so that they are able to cleverly secure resources, or attack others. In the game, an economy will be defined. I.e. everything costs - spawning new robots, moving robots, attacking, defending, etc. Money can be earned by mining, or by successful attacks.

A Dungeon of Planets

The dungeon represents the gameworld and is one of the central services in our microservice dungeon game. It consists of several planets, connected with other neighbouring planets1.

Dungeon Example

(Graduates of ST2 in SS20 will find this a bit familiar. In fact, the idea takes the practical assignment for ST2 to the next level: The goal is to implement a loosely coupled architecture according to DDD principles (i.e. a microservice application) in a realistic size.

Four coupled modules - and their roles

For this project, four modules in three study programs will come together - this is pretty new, complex, and innovative. The students will take up different roles, as shown below.

Dungeon Roles

Final Presentation

On Fr 28.01.22 (10:00 - 16:00), we will have a final presentation about the project. The presentation day is held online, here is the Zoom link:

This is our agenda:

Zeit Themenblock Thema Name
10:00 - ca. 11:00 War es das richtige Spiel? Gameplay / Spielidee Marowski, Jonas
    Gameplay / Spielidee Leis, Valerij
    Gameplay / Spielidee Steffen, Tristan
    Gameplay / Spielidee Kirch, Timon
    Command-Struktur Röttel, Kevin
ca. 11:00 - 12:00 Architektur und Service-Schnitt Decision Log Siebel, Jona
    Decision Log Letschert, Christian
    Decision Log Gießler, Nathalie Johanna Angela
    Service Schnitt (Sicht des eigenen Services) Müller, Nico
    Service Schnitt (Sicht des eigenen Services) Bartz, Leon Alexander
    Service Schnitt (Sicht des eigenen Services) Michel, Jonathan Benjamin Lukas
12:45 - ca. 13:45 Inter-Service-Kommunikation API-Qualität und API-First Butler Parcet, Daniel
    API-Qualität und API-First Grüterich, Fabian
    API-Qualität und API-First Hund, Tobias
    Kommunikation unter den Services (sync / async) Lang, Thomas
    Kommunikation unter den Services (sync / async) Köllgen, Daniel
ca. 13:45 - 14:45 Implementation und DevOps Player-Erstellung Khaapamyaki, Daniel
    Autorisierung und Fog of War Poloczek, Christopher Matthias
    Autorisierung und Fog of War Wäckerle, Dennis
    DevOps Wichmann, Oliver
    DevOps Alexander, Jannik
    DevOps Raser, Thomas
15:00 - ca. 16:00 Wie in Zukunft anders? Oder genauso? Kommunikation im Projekt Barutcu, Samil Mert
    Agile (in einem Projekt wie diesem) Hahn, André Pascal
    Microservice Dungeon 2.0 Ceh, Dennis
    Microservice Dungeon 2.0 Neuburg, Lara Louise
    Microservice Dungeon 2.0 Pack, Tim Colin


If you want to prepare: In this project, you can apply your DDD and coding knowledge (… what you learnt in ST1 and ST2 …) to a real application. The following books I can recommend. You can access online versions from the TH Köln VPN.

  1. (c) Gameplay team (Daniel Khaapamyaki, Valerij Leis, Jonas Marowski, Lara Louise Neuburg, Tristan Steffen)