I am developing a turn based card game with game scene very similar to Clash Royale. (Where you place cards in turn and you spawn units after your place the card, then the game scene will have those units fighting against each other).
I looked into many discussions in unity forum and here, and at last I think Bolt might be the best for me.
The key requirement of my game would be:
As my game is targeting mobile platform with 3 person per game room, I want to achieve that the game session is not completely down when all players switch app/ received a call simultaneously. By which I mean the game should continue or at least it can resume itself after one user reconnected. This could very much happen because this game is turn based and there are times where all players are just watching the game plays itself (they might take a peek of notifications during that time).
I want to achieve a decent level of anti-hacking, if not the best.
I want the development difficulty and time consumed to be lower, even at the cost of slightly higher infrastructure cost.
I have two main question to ask:
- Should I use photon PUN or Bolt?
Why I think I should choose Bolt over PUN:
I am now looking into Bolt headless server option, where it provides authoritative server rather than peer verification in PUN. It seems PUN is not that reliable in competitive games in that regard.
In PUN, if player switch app very frequently, I am not sure how clean the master client switching will be. Also, I heard it is harder to reconnect player after they are inactive base on all the community discussions. I would assume it is less hassle if I have the headless game session with Bolt. (please correct me if I am wrong).
Why I think I should choose Bolt headless rather than stand alone game server:
I have many unit (20+) acting in the scene + the card and decks for players. This could means it is not very easy to transmit all these data in frames.
- Bolt headless seems to be way less effort compare to implementing those game logic (especially AI path finding) in a server not knowing the game scene.
- What is the performance of Bolt headless?
Like I said, in my game, there are 50-80 cards in total and less than 100 units actively running around (20+ per turn using navMeshAgent). I would assume this is a very light weight game without graphics. What should I expect if I am hosting, for example, 3k sessions. Or maybe I should ask, how many sessions you would expect one host(i.e AWS EC2 m4.large) can handle?
If the cost of Bolt headless is too high, I might consider lower the requirement of anti-hacking and choose to use PUN instead. Please let me know your thoughts and I appreciate every single input.