Introduction
Notre objectif est de démocratiser le développement de jeux en fournissant la formation et les outils nécessaires pour créer et exploiter des expériences multijoueurs. Dans ce guide, nous aborderons les huit facteurs de développement de jeux multijoueurs que vous devez prendre en compte.
Les 8 facteurs clés du développement de jeux multijoueurs
Chaque solution multijoueur comporte des compromis à prendre en compte dans votre plan de développement. Pour créer votre expérience multijoueur, vous devez d'abord comprendre les objectifs du jeu pour chaque facteur.
Les latences du réseau peuvent varier en fonction de la distance et des performances des réseaux le long des routes de transmission. Lorsque vous jouez avec d'autres personnes, vous devez attendre que leurs appareils envoient des informations autant qu'ils attendent que vous fassiez de même.
Étant donné que différents types de jeux ont des exigences différentes quant à la vitesse de progression du jeu, chaque jeu doit établir son niveau de tolérance en matière de latence du réseau. Parfois, il est acceptable que les événements de synchronisation arrivent un peu plus lentement, car vous pouvez masquer la latence avec des techniques telles que la prédiction et la réconciliation.
Il y a beaucoup à faire pour que les jeux solo fonctionnent bien et soient amusants pour une seule personne, mais comment savoir combien de joueurs votre jeu peut gérer à la fois ? Techniquement, les connexions sont limitées par le modèle de réseau, où le client-serveur est capable de gérer plus de connexions simultanées plus facilement que le peer-to-peer.
Plus vous avez de joueurs dans une partie, plus vous devrez probablement tenir compte d'une plus grande activité réseau devant être synchronisée. Tout comme vous pouvez réduire le niveau de détail des ressources pour maintenir la fréquence d'images, vous pouvez également modifier le niveau d'informations transmises entre pairs pour prendre en charge davantage de joueurs.
Dans le jeu, il est normal que certaines parties de la simulation ne restent pas synchronisées entre tous les joueurs lorsque ces éléments ne sont pas essentiels au résultat du jeu. Il s’agit d’une optimisation puisque les appareils de lecture et les serveurs dédiés disposent de ressources limitées.
D'autres mesures d'atténuation permettant de réduire l'échelle de simulation synchronisée incluent : Réduire la fréquence de mise à jour des données de l'hôte, diviser le monde en zones pouvant être mises à jour séparément et permettre aux joueurs de s'abonner aux mises à jour uniquement sur les éléments qui les intéressent.
Les besoins de précision de votre jeu affectent tous les systèmes liés au calcul de l'état du monde et de ses acteurs. Si vous souhaitez des résultats plus précis, vous aurez besoin de plus de ressources pour gérer ces opérations et d'une empreinte mémoire plus élevée.
En multijoueur, la précision influence également la surcharge de votre empreinte réseau et la vitesse à laquelle votre serveur peut fonctionner.
Tout n’a pas besoin de précision, il est donc important de séparer ce qui est important pour les règles du jeu et son résultat. Pour le reste, vous pouvez utiliser des approximations de degré inférieur afin de gagner sur les performances globales.
De nombreuses considérations doivent être prises en compte lorsque vous choisissez le modèle adapté à votre jeu et à votre base de joueurs.
Les développeurs solo et indépendants se tournent souvent vers des solutions sans serveur plus abordables, mais soyez prudent car le verrouillage (ci-dessous) et le potentiel de triche accrue peuvent restreindre votre potentiel de gains global pour le jeu que vous avez créé.
Lorsque vous utilisez des services pour améliorer la connectivité, la capacité du serveur et la latence, il est utile de comprendre que les services facturent souvent des frais de consommation en fonction du pic d'utilisateurs simultanés lorsque vous essayez de comprendre quels choix sont les meilleurs à faire pour votre titre.
Le développement Multiplayer peut être intimidant en raison de la nécessité de résoudre des degrés de complexité lorsqu'il s'agit de différents modèles de réseau, du nombre total de joueurs, de la plage de latence et de la conception d'une bonne échelle de simulation synchronisée.
Des solutions à ces problèmes existent, mais toutes ne sont pas faciles à utiliser ou à comprendre. Il est donc important que les studios évaluent tout d'abord correctement afin que des experts en réseau ne soient pas nécessaires par la suite.
Les solutions accompagnées d'une excellente documentation, d'exemples faciles à suivre et d'une communauté d'assistance active facilitent grandement vos efforts pour surmonter ces complexités inhérentes.
Lorsque vous rassemblez des joueurs pour jouer ensemble, certains seront tentés de modifier le jeu ou le trafic réseau afin d'obtenir un avantage injuste, de tromper le système ou simplement de créer le chaos et le désordre.
Les jeux occasionnels et coopératifs n'incitent pas autant à la triche, mais les jeux compétitifs sont souvent ciblés par les joueurs perturbateurs. Les capacités d'atténuation des triches sont importantes pour contrer ces actions afin de protéger la réputation de votre jeu.
Toute information présente sur la machine locale d'un client sera probablement exploitée à terme. Les types de jeux vulnérables à la triche devraient donc envisager d'héberger la logique du serveur sur du matériel non client.
Le dernier facteur à considérer est le verrouillage – ou la limitation de toute option future une fois que vous avez pris votre décision. Si vous choisissez un modèle de réseau, il peut être très difficile de le convertir en un autre si et quand votre jeu nécessite des fonctionnalités plus avancées (comme la gestion des triches).
Choisir une solution plus facile à mettre à niveau est important pour le succès futur de nombreux jeux. Par exemple, les modèles peer-to-peer nécessitent presque toujours une réécriture complète pour passer à une forme de modèle client-serveur. Cependant, passer d’une variante client à serveur à une autre est plus réalisable si vous planifiez à l’avance la conception de votre jeu.