Virtuti Militari multiplayer is almost completed

A lot of work has been done since the last update. Multiplayer is 90% done. AI is completed. The client app (the actual game) is about 60% ready.

For those of you curious of the technical details of making this type of turn-based multiplayer game, here are some facts:

  • The whole ecosystem is in fact a 3 independent apps:
    • The client app (the actual game you run on your PC)
    • Lobby Server – a place where players can connect and create a ‘table’ for a new multiplayer game or re-join existing game
    • Game Server where multiplayer games run
  • When playing a single player game, the client app spawns Game Server app locally and connects to it over the network. There is no Lobby Server involved as there is no need to match human players. AI runs on the Game Server.
  • Game Server can run in multiple instances. In theory there can be almost infinite number of Game Server instances, hosting hundreds of thousands of online players. That would be cool, wouldn’t it?
  • All three main components are written in python which is quite uncommon for a computer game project. But we love python!
    • Kaaengine for the client app
    • FastAPI + Tortoise ORM for the Lobby Server and Game Server
    • PostgreSQL database to store multiplayer games and their results

 

Leave a Comment