1
\$\begingroup\$

How do games using GGPO (or maybe peer to peer in general) like Guilty Gear determine a winner? Just reporting a winner consensus might work with many independent players per lobby, but in e.g. a 1v1 fighter or RTS, the loser has no incentive to report the truth.


Since a game using GGPO must be deterministic, it should be enough to run all inputs back to back to confirm the winner via a "referee" spectator, but this moves the problem: A cheater might send a "fake" set of inputs (e.g. just standing still) to the enemy and their "real" ones to the referee. From the perspective of the referee, it would seem as if the cheater won legitimately while the victim seemed to be punching the air.

Maybe both players could send a checksum of the inputs they received to the referee to allow it to check that it indeed received the same inputs as the players. If I understood it correctly, that is the approach of this paper. This eliminates the possibility of fooling the referee, but ends up with the same problem as we started with: The cheater can send a fake checksum, accusing the victim of cheating, which leaves the referee with the same kind of information as if both players simply stated that they and not the other won.

The simplest solution I can think of is to simply accept the disagreement, classify the match as a draw and mark both players as potential cheater to be monitored, e.g. ban them if 3 such cases happened in a certain time span. This follows the line of thinking of the comments in this question. But this would ban victims that just had the misfortune to run into cheaters that only cheat every once in a while.

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

You're right. In a P2P connection, cheating is always a possibility. You mentioned a referee, but for P2P games, there's no authority to be a referee unless one of the players is considered the authority. That makes the P2P become client-authoritative, which brings you back to the issue of a cheater having authority over the game.

The only real solution against cheating is to build a client-server architecture where an independent server has the authority over the game. The reason why this solution is not as commonly used in fighting games is the added latency that the traffic between the client and the server adds to the game.

I've heard that Edgegap relies on edge computing to reduce latency for use cases like this. You can check out the case study they did with a 1v1 fighting game here: https://edgegap.com/2020/05/15/case-study-lower-lag-improve-fairness-in-1vs1-game/

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .