dc.description.abstract |
The work focuses on implementing a custom networking protocol from the ground up tailored for a turn-based game. There are existing solutions that help developers add multiplayer support to their Unity-based games, but the majority is optimized for fast-paced games like first-person shooters. They also make big influence on how backend services are written, often requiring dedicated servers to run a headless instance of Unity engine.
The custom protocol is based on WebSocket transport and JSON-RPC layer for serialization and remote call functionality. The protocol is engine-agnostic which allows the architecture backend services to be uninfluenced by Unity.
This work explores implementing a turn-based game using the custom protocol, with the game client written on the Unity engine and distributed via a web build, and a backend server that runs in a .NET Core runtime. Due to the network protocol being lightweight, the resulting backend server turned out to be more scalable than the solutions involving other multiplayer frameworks.
The work also goes into detail on how code sharing, and reuse can be achieved between a Unity game and a traditional .NET solution. |
pl_PL |