Details
The game can run on a server. The clients are only terminals that provide inputs and show the outputs in their user interface.
Technical background
The UI should be separated from the game logic by a network socket. I think a simple object serialization can be used as first step. So for the code it is very transparent. It just gets it objects.
Kotlin Serialization is native to Kotlin. But each class needs to be serializable.
Related issues/Prerequisites
Saving the map already uses Kotlin Serialization in #96.
I think the most simple type to begin with are events on the EventBus. Because they are already asynchronous and separated between sender and receiver.
Basic idea/big picture Multiplayer
Details The game can run on a server. The clients are only terminals that provide inputs and show the outputs in their user interface.
Technical background The UI should be separated from the game logic by a network socket. I think a simple object serialization can be used as first step. So for the code it is very transparent. It just gets it objects.
Kotlin Serialization is native to Kotlin. But each class needs to be serializable.
Related issues/Prerequisites Saving the map already uses Kotlin Serialization in #96.