So, for a game that the winner will be the one with the quickest response, in a poker-like game, I have to expect a lot of cheaters, am I?
Is there any solution to that problem? Because I can't find or think anything. Seems to me it's a online-gaming-architecture problem.
There are ways around it, but you are always going to have a problem, Say you have 3 people playing "snap".
- Player 1 (32ms Latency)
- Player 2 (52ms Latency)
- Player 3 (23ms Latency)
In this case Player 3 will most probably receive/send his data way before Player 2, and player 2 will be in an "unwinable condition".
I would go with something like this:
Have the server send a message, timestamped (So 13:20:45) and tell the client: "Ok, at 13:21. Show the card!"
This will alleviate One side of the latency issue (Server --> Client), the other side (Client --> Server)
Client sends a message to the server "I Solved the problem in 10mx"
The server then looks at all the responses and determines the winner from the quickest solver.
This will effectively eliminate latency from the game. Of course there are ways to cheat the system, but you have to think like a cheater to beat this, and if someone used a packet sniffer, there isn't a lot you can do about it, without expensive software server side.
Seems to me it's a online-gaming-architecture problem.
Not really, more a game Design thing. If you think about the failing of the system, you can design a way to get around the problems but there are alywas going to be cheaters, just ask Blizzard, Bioware, Turbine .... RIOT, basically anyone who does Online games.
(Im not saying this is THE way to-do or the best, just a potential way around a problem)