Du Peer-to-Peer aux combats équitables : Bloody Bastards sur des serveurs dédiés

Rédigé en collaboration avec
Tibith Games
Points clés
Bloody Bastards est un jeu de combat mobile, et le passage de son mode multijoueur d'un modèle peer-to-peer à un serveur dédié faisant autorité et sans interface graphique l'a rendu équitable et exempt d'usurpation. Selon les propres mots du studio, aucun hacker n'a réussi à tricher depuis la version 5.0.0. Auparavant, lorsqu'on faisait confiance à un client pour les résultats des matchs, ces résultats pouvaient être falsifiés. Désormais, c'est le serveur qui détient la vérité.
Les joueurs ne choisissent plus une région de serveur avant de pouvoir jouer. Le matchmaker d'Edgegap regroupe les joueurs par ping et déploie un serveur dédié le plus proche d'eux, de sorte que n'importe qui dans le monde peut appuyer sur un bouton et obtenir une partie équitable. Le sélecteur de région a complètement disparu du processus.
Synchroniser la physique dans un match en peer-to-peer est notoirement difficile, et le modèle précédent obligeait les joueurs à lutter contre les désynchronisations et une latence extrêmement irrégulière. Désormais, le serveur faisant autorité exécute la simulation et les clients ne font que restituer le résultat, ce qui élimine le problème de désynchronisation à la racine et harmonise le ping.
Tibith ajuste les expansions de correspondance par ping et les niveaux de classement directement en production, sans aucun redéploiement et avec un redémarrage quasi instantané. Pour un studio exploitant un succès à 40 millions de téléchargements, cela signifie itérer sur le matchmaking comme sur un service en direct, sans avoir besoin d'une équipe backend derrière.
Le Studio
Tibith Ltd est un studio de jeux basé au Royaume-Uni, dirigé par deux co-directeurs, Tibi Tircomnicu et Andreea Tircomnicu. Tibi est le seul développeur du studio, gérant lui-même le code, les graphismes, l'audio et la pile publicitaire, tandis qu'Andreea dirige les produits et la communauté. Leur titre phare est Bloody Bastards.
Ce jeu est un jeu de combat médiéval basé sur la physique où vous affrontez vos bâtards de frères dans l'arène des champions. Il mélange pixel art, physique 2D et mécanismes de ragdoll dans une expérience de combat unique en son genre : appuyez longuement sur l'un ou l'autre côté de l'écran pour contrôler chaque main, appuyez deux fois pour vous déplacer et combinez des centaines d'armes, de boucliers et d'équipements en des milliers de combinaisons mortelles. Dagues, haches, épées, masses, marteaux. Il ne peut en rester qu'un.
Les joueurs sont du même avis. Bloody Bastards a dépassé les 40 millions de téléchargements sur Android et iOS, dont plus de 10 millions sur Google Play uniquement, où il affiche une note de 4,6 étoiles sur plus de 403 000 avis. Sur la boutique d'applications web, il détient une note de 4,8 étoiles sur 45 000 évaluations. C'est un véritable succès mobile.
Le Défi
Avant la version 5.0.0, Bloody Bastards fonctionnait sur un modèle de pair à pair (P2P). Cela a permis de lancer le multijoueur, mais à mesure que le jeu grandissait, les failles du P2P sont devenues de réels problèmes pour les joueurs et pour le studio.
La triche était omniprésente. Sans serveur faisant autorité, un client, l'hôte, devait être digne de confiance pour les résultats des matchs. Comme le décrit Tibi, les résultats « pouvaient être usurpés sur ce client et les triches étaient courantes en multijoueur ». Dans un jeu de combat compétitif, c'est le moyen le plus rapide de perdre les joueurs les plus investis.
Les matchs se désynchronisaient. Selon les termes du studio, les « problèmes de désynchronisation » provenaient directement de la « topologie de pair à pair » antérieure à la version 5.0.0. Maintenir une simulation physique synchronisée entre pairs est l'un des problèmes les plus complexes du réseau multijoueur, et le P2P obligeait Tibith à s'y confronter à chaque match.
Le ping était extrêmement inégal. Tibi souligne une « différence massive dans le ping des joueurs ». Sans serveur neutre entre les joueurs, les matchs associaient régulièrement des personnes ayant des latences très différentes, de sorte que le combat fluide d'un joueur était un calvaire de lag pour un autre.
Les joueurs devaient choisir une région. Le multijoueur obligeait les joueurs à choisir leur propre région de serveur avant de pouvoir jouer ensemble. Comme Tibi le mentionne parmi les problèmes : « les joueurs devaient choisir leur propre région de serveur pour pouvoir s'affronter dans la même région ».
La Solution
Edgegap a abordé la migration sur trois fronts, dans l'ordre où un joueur en fait l'expérience.
Matchmaking
Le flux précédent demandait aux joueurs de choisir une région de serveur avant de pouvoir être regroupés avec d'autres joueurs à proximité. Le matchmaker d'Edgegap supprime cette étape, en regroupant les joueurs par ping et en attribuant le match au serveur dédié déployé le plus près d'eux. Comme le dit Tibi, ne pas avoir besoin d'une région choisie par le joueur dans le flux est « incroyable », car les joueurs peuvent désormais « [...] simplement appuyer sur le bouton Combat et jouer contre n'importe qui dans le monde ».
Le matchmaker est également l'endroit où Tibith gère ce qui se rapproche le plus de live-ops. Comme il est entièrement géré et configurable, les règles de Matchmaking peuvent être ajustées en production sans redéployer le jeu, et le matchmaker redémarre assez rapidement pour itérer en temps réel. Associer par ping, ajuster les temps d'expansion, remodeler les paliers de classement : tout se passe directement en production.
« Le Matchmaker fourni par Edgegap est incroyable, d'autant plus que je peux faire correspondre par ping et aussi l'ajuster sans avoir besoin de redéployer quoi que ce soit, et il redémarre très rapidement. C'est comme des mini live-ops. J'adore ajuster les expansions et les paliers de classement directement en production. » - Tibi Tircomnicu, Directeur, Tibith Ltd
Intégration, Opérations et Analyses
Tout cela devait être intégré et exploité par le studio lui-même. Tibith exécute l'intégralité de la pile Edgegap au sein d'Unity, et l'intégration ne s'est pas faite au détriment de la création du jeu. Transférer une version de serveur depuis l'éditeur vers la production est si fluide que le pipeline ne devient jamais le problème du projet.
« L'ensemble du processus d'intégration et d'exécution de la pile Edgegap dans Unity est extrêmement fluide et sans friction. En tant que développeur solo, c'est fantastique. » - Tibi Tircomnicu
L'exploitation du jeu est tout aussi légère. Le tableau de bord d'Edgegap offre à Tibith une visibilité en temps réel sur chaque déploiement, de sorte qu'un problème fait surface dès qu'il apparaît et que la prochaine amélioration à apporter n'est jamais le fruit du hasard. Pour une équipe de développement d'une seule personne, cette observabilité fait toute la différence entre réagir rapidement et naviguer à vue.
« J'adore la partie analytique du tableau de bord d'Edgegap. C'est vraiment incroyable le nombre d'informations en temps réel que je peux rassembler à tout moment, et voir instantanément s'il y a un problème ou ce qui doit être amélioré. » - Tibi Tircomnicu
Serveurs Dédiés avec Autorité Serveur
C'est le changement qui a corrigé le jeu. Le pair à pair plaçait le match sur les appareils des joueurs et faisait confiance à l'un d'eux, l'hôte, pour le résultat. Edgegap héberge à la place un serveur dédié headless et faisant autorité, de sorte que le serveur exécute la simulation physique et que les clients ne font que restituer ce qu'il signale.
Ce simple changement résout les deux problèmes qui importaient le plus à Tibith. Le serveur faisant autorité, les résultats des matchs ne peuvent plus être falsifiés sur un client, et la triche qui s'était propagée dans la version en pair à pair s'arrête à la porte. Puisqu'un seul serveur gère la physique de tous les participants au match, la désynchronisation qui affectait le P2P disparaît. Le résultat est un jeu de combat compétitif qui est enfin équitable par conception, et non par correctif.
« Héberger un serveur headless faisant autorité rend le jeu équitable et sans usurpation possible, ENFIN, haha. Littéralement aucun hacker n'a pu tricher depuis la version 5.0.0. Synchroniser la physique dans les jeux multijoueurs est notoirement difficile, mais le fait d'avoir un serveur faisant autorité qui exécute la simulation pendant que les clients ne font que restituer le résultat a toujours été la meilleure approche. » - Tibi Tircomnicu
Les serveurs dédiés contournent également un problème spécifique au mobile. Les connexions directes de pair à pair sont fragiles sur les réseaux cellulaires, où le NAT de classe opérateur bloque généralement les connexions entrantes dont dépend le P2P (le NAT de classe opérateur empêche la redirection de ports et les connexions directes dont ces applications ont besoin). Router chaque match via un serveur dédié hébergé supprime toute cette catégorie d'échecs de connectivité pour les joueurs sur données mobiles.
Il y a ici une dimension de coût qui favorise généralement les titres mobiles. Un match mobile rapide, basé sur une session, a rarement besoin d'un cœur de processeur complet, et le dimensionnement fractionné des vCPU d'Edgegap permet aux studios d'exécuter des serveurs dédiés plus petits et mieux dimensionnés au lieu de payer pour de la capacité inutilisée. Pour les jeux mobiles à gros volume, adapter la taille du serveur au match est ce qui permet de maintenir un hébergement dédié faisant autorité économique à grande échelle.
Conclusion
Bloody Bastards est un succès mobile avec 40 millions de téléchargements, et depuis la version 5.0.0, il est également prouvé comme étant équitable. La migration du pair à pair vers les serveurs dédiés d'Edgegap a rendu chaque match géré par un serveur faisant autorité, mettant fin à la triche et à la désynchronisation inhérentes au P2P. Le Matchmaking d'Edgegap a permis aux joueurs d'accéder d'un simple geste à un combat équitable contre n'importe qui dans le monde, sans avoir à choisir de région.
C'est exactement ce que l'infrastructure multijoueur moderne est censée faire : exécuter des serveurs dédiés faisant autorité et un Matchmaking de production pour un jeu joué par des millions de personnes, se faire discrète et laisser le jeu triompher.







