Our great sponsors
-
GameNetworkingSockets
Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
If you want to go the route of using a raw protocol and packing your messages yourself, I suggest to at least have a look at Valve's GameNetworkingSockets either for inspiration of what you might need or even to just use the library: https://github.com/ValveSoftware/GameNetworkingSockets
Lately I worked on this project which helps to implement client-side prediction and server reconciliation. It is written in C# but as it is not bounded to any game engine, you can rewrite it in Kotlin or whatever language you want. You can specify the tick rate (usually I set it to 1/30 or 1/60 seconds). I've tested it with Unity Netcode for Gameobjects as a transport layer, and it works great. Feel free to have a look, may it inspires you on your work