Architecture Overview
The-Microservice-Dungeon is a microservice architecture project.
We have built several microservices, which are communicating with each other.

This picture is a great starting point to understand how The-Microservice-Dungeon is working.
Game#
This service is the orchestrater of the project.
Playersregisters with the Game Service.Playerscan join aGame.When a
Gameis started, it orchestrates the timing on the base of which the other services are communicating.Playersare sending Commands to theGame. These Commands are collected for the specific round and forwarded to the receiving microservice. E.g., if aplayerwants aRobotto move, theRobotreceives the command
Player#
The Players join the Game and issue commands to interact with The-Microservice-Dungeon.
Robot#
The Robots are like the extended arm of the Player.
- The
Playerissues a command to aRobotwhich then can interact with theMapor with otherRobots. E.g., move to another Planet on theMap.
Trading#
Trading is used in three different ways
First it acts as a bank depot for the
Players, and controls if thePlayershas enough moneten 💸 for a purchase.Second it can generate Robots after an Issues "buy robot" command of the
Player.Third
Tradingis controlling the economy, by adjusting prices, in relation to theGame-situation on the battlefield.Forth
Playersupgrade theirRobotsby buying upgrades or single use Items with the "buy" command
Map Service#
The Map service manages the game world(map) and is responsible for generating and linking planets and generating their resources.
Planets can be space stations, where trading is possible.
A minable resource is located on a planet.
The
Robotsare moving across the planets.The information about neighbouring Planets is provided by the
Map
GameLog#
This service tracks the progress of the Players and the Game.
On one hand it works as a log service for the
Gameand protocols the commands.On the other hand, it serves as a leader board, which displays the
Playersprogress through points and achievements