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.
#
GameThis service is the orchestrater of the project.
Players
registers with the Game Service.Players
can join aGame
.When a
Game
is started, it orchestrates the timing on the base of which the other services are communicating.Players
are sending Commands to theGame
. These Commands are collected for the specific round and forwarded to the receiving microservice. E.g., if aplayer
wants aRobot
to move, theRobot
receives the command
#
PlayerThe Players
join the Game
and issue commands to interact with The-Microservice-Dungeon.
#
RobotThe Robots
are like the extended arm of the Player
.
- The
Player
issues a command to aRobot
which then can interact with theMap
or with otherRobots
. E.g., move to another Planet on theMap
.
#
TradingTrading
is used in three different ways
First it acts as a bank depot for the
Players
, and controls if thePlayers
has enough moneten 💸 for a purchase.Second it can generate Robots after an Issues "buy robot" command of the
Player
.Third
Trading
is controlling the economy, by adjusting prices, in relation to theGame
-situation on the battlefield.Forth
Players
upgrade theirRobots
by buying upgrades or single use Items with the "buy" command
#
Map ServiceThe 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
Robots
are moving across the planets.The information about neighbouring Planets is provided by the
Map
#
GameLogThis service tracks the progress of the Players
and the Game
.
On one hand it works as a log service for the
Game
and protocols the commands.On the other hand, it serves as a leader board, which displays the
Players
progress through points and achievements