Je développe un jeu de cartes simple, où il y aura un système de matchmaking qui vous opposera à un autre joueur humain. Ce sera le seul mode de jeu disponible, un 1vs1 contre un autre humain, pas d'IA.
Je veux éviter autant que possible de tricher. J'ai déjà lu beaucoup de questions similaires ici et je sais déjà que je ne peux pas faire confiance au client et je dois faire toutes les vérifications côté serveur. J'ai l'intention d'avoir un serveur (j'en ai besoin de toute façon pour le matchmaking) et j'ai l'intention de faire quelques vérifications côté serveur mais si je veux tout vérifier côté serveur, mon serveur pourra suivre l'état de tous les jeux actuels et vérifiez chaque action, et je n'ai pas l'argent / l'infrastructure pour prendre en charge ce serveur.
Mon idée est de faire vérifier et vérifier par les clients certaines des actions effectuées par leur adversaire * et s'ils trouvent une action illégale, notifiez la tricherie possible au serveur et faites-le vérifier. Cela nécessitera toujours que mon serveur garde une trace de tous les jeux en cours, mais cela économisera des ressources en vérifiant uniquement certaines choses qui ne peuvent pas être vérifiées côté client (comme l'ordre des cartes dans le jeu) et en vérifiant uniquement d'autres choses lorsqu'elles sont réellement erronées.
* (seulement ceux avec lesquels ils peuvent vérifier sans se permettre de tricher! par exemple: ils ne peuvent pas vérifier si la carte jouée était en main car ils auront besoin de connaître toutes les cartes en main)
En résumé, mes questions sont les suivantes : est-ce une approche viable? vais-je réellement économiser des ressources en faisant cela ou la complexité supplémentaire du serveur et du client pour échanger ces messages ne vaut-elle pas la peine? connaissez-vous un jeu qui a réussi ou échoué une approche similaire?
Merci à tous d'avoir lu et répondu