I want to use the server-authoritative, session-based multiplayer capability of Nakama. It says we can use the orchestration layer to control headless Unity instances. That’s exactly what I need, but I can’t seem to find examples or documentation on this topic. How can I implement such a system?
Blockquote Session-based multiplayer: For complex gameplay where you want the physics running server-side (e.g. Unity headless instances). Nakama can manage these headless instances, via an orchestration layer, and can be used for matchmaking, moving players on match completion, and reporting the match results.
Thanks for your answer. We want to develop a game like Clash Royale and already have a prototype made with Photon Bolt. But now that we also need to have a WebGL client, we wanted to use Nakama instead. We were using Unity’s own Navmesh/path avoidance system and sending position data with 30 tickrate.
I am aware that we can write our own pathing system and avoid using Unity headless server, is there an example project for server-authoritative pathing system? Pirate Panic is a nice example for such type of game but we want to simulate everything including pathing and path avoidance in the server to make cheating impossible.
In general, when a studio wants to use headless game instances we recommend using a third-party service such as Amazon GameLift, Agones, Multiplay, etc.
With regards to your second question relating to server-authoritative pathfinding, we don’t currently have any examples for performing server-authoritative pathfinding. Typically pathfinding algorithms are highly game specific and not one-size fits all. In general, to support server-authoritative pathfinding you would want to use an engine agnostic pathfinding method such as the A* algorithm rather than say Unity’s NavMesh agents. You would then use this algorithm in conjunction with server-authoritative match handlers. Your server would have to be aware of your games map/grid/terrain data. How you provide this data to the server and parse it would again be game specific and not something we would be able to advise you on without knowing more about how your game is structured.
As it says in the post directly above your own, there is currently no documentation with an example implementation. We do plan to add it to our documentation at a later date, but I do not have a definitive timeline to provide at this point.
If this is something you need the help of our engineers to implement, then that needs to be under a support agreement or professional services engagement.