Hi to everyone, I'm new in the forum and someone told me to create a new topic here, because it is the right place to looking for the right answer.
I'm having a lot of problem about the logic behind the development of the back-end of a turn-based card game. I understood from a lot of researching that the best solution is to develop an Authoritative Server connected with multiple client (client should be developed with Unity3d). I will probably don't need to send a lot of data from a point to another in the network, so physics and simulation of the game environment are not the problem.
-
The Server should get "Action" from clients, update the internal game state (and check if every action is valid) and then give back to all clients the new state of the game.
-
The Client have to get data from server, create the right GUI and select just the actions that are possibile in a particular situation.
So I need a server that can handle that kind of problem for each match. What kind of technology I should use to do so? Someone say that It could be done with Apache/PHP on a server, but it's really the right solution? I was thinking about Photon* or Bolt, but I think that real-time technology are useless in this situation. Anyway I will probably need of someone that can handle load balancing and traffic.
*For the Matchmaking/lobby/room features, I was thinking to use Steamworks.
Game features: Even if the game is a turn-based game, when it's the turn of Player A, Player B and C can interact with each other (for example they can trade cards). They can even interact with Player A in a certain phase of the A's turn.
EDIT: I'm aiming to publish this game in Steam, so I have to understand also how I can integrate different function in this game from different SDK/source.
Thanks for your time!