Que recherchez-vous ?
Games

Entrez dans la salle du boss : notre nouvel échantillon de jeu multijoueur

DEW SMITH / UNITY TECHNOLOGIESContributor
Apr 8, 2021|6 Min
Entrez dans la salle du boss : notre nouvel échantillon de jeu multijoueur
Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

Explorez la nouvelle bibliothèque de netcode expérimentale d'Unity et les modèles sous-jacents d'un jeu multijoueur dans notre RPG coopératif à petite échelle, Boss Room

Créer des jeux multijoueurs n'est pas facile, et il est courant de se sentir dépassé lors de l'exploration du développement d'un jeu multijoueur, même avec la documentation SDK fournie. Vous avez besoin de conseils sur ce qu'il faut faire avec les SDK et les modèles fournis que vous pouvez utiliser comme éléments de base pour vos propres jeux. Notre objectif en tant qu'équipe Unity Multiplayer Networking est d'équiper et de soutenir les développeurs (comme vous) avec les outils nécessaires pour créer de superbes expériences de jeu multijoueurs pour vos joueurs. Une partie de cette promesse consiste à fournir non seulement la technologie de réseau fondamentale, mais également la documentation et les modèles pédagogiques nécessaires pour comprendre son application. C'est là qu'interviennent nos échantillons multijoueurs, Boss Room étant le premier contenu éducatif de ce type.

Alors que Boss Room est en cours de développement, des tutoriels sur les différents aspects de la mise en réseau, l'exemple sera écrit pour les développeurs sur notre nouveau site de documentation. Ces tutoriels couvriront de nombreux éléments essentiels de la mise en réseau d'un petit jeu coopératif, tels que la manière de choisir entre les RPC et les variables réseau, ou comment concevoir votre jeu pour qu'il soit réactif avec des techniques de compensation du décalage.

Plongeons maintenant dans notre nouvel échantillon de coopération en accès anticipé : Salle du patron.

Entrez dans la salle du boss

Bienvenue dans la Boss Room, un exemple de projet officiel basé sur 2020 LTS qui présente la suite native d'outils, de graphiques et de technologie de réseau expérimentaled'Unity - disponible dès maintenant en accès anticipé via Github. Boss Room exploite le nouveau package de code réseau expérimental pour réunir jusqu'à huit joueurs afin de vaincre des diablotins et un boss dans cette adorable tranche verticale d'un donjon RPG coopératif. Envie de plus de Boss Room? Ne vous inquiétez pas, le jeu continuera d'évoluer aux côtés de la communauté, tout comme notre solution multijoueur.

Commencez iciou lisez la suite pour voir un aperçu rapide de ce à quoi vous attendre dans Boss Room aujourd'hui.

La prémisse

Les joueurs commenceront Boss Room en hébergeant ou en rejoignant un serveur de jeu, qui sera hébergé sur l'un des appareils des joueurs.

Une fois connectés, les joueurs sélectionneront un héros parmi les huit disponibles, rejoindront un lobby et sélectionneront votre personnage en attendant que tous les membres du groupe soient prêts à jouer. Lorsque tous les joueurs sont prêts, un court minuteur s'affiche, puis tous les héros sont transportés dans l'environnement de la salle du boss.

Une fois dans la salle du boss, les joueurs doivent travailler ensemble pour dépasser les serviteurs ennemis et vaincre le boss.

Mise en réseau

L'objectif principal de Boss Room étant d'enseigner aux développeurs les concepts et les modèles sous-jacents d'un jeu multijoueur, les aspects réseau de l'échantillon sont cruciaux.

Une partie de la valeur principale conçue dans Boss Room réside dans les modèles multijoueurs qu'il présente : anticipation de l'animation de l'action, lobby, état vs RPC, et plus encore. L’objectif est de fournir aux utilisateurs non seulement l’implémentation de tels modèles, mais également une documentation pour les aider à les comprendre. Assurez-vous de garder un œil sur notre site de documentation pour rester au courant de ces articles au fur et à mesure de leur publication au cours des prochains mois.

Le modèle de réseau utilisé dans Boss Room est un serveur hébergé par le client et les joueurs peuvent se connecter les uns aux autres via un Relay photon intégré et une connexion directe IP.

Personnages et classes

Pour les personnages joueurs, nous avons quatre classes de personnages 3D (Mage, Guerrier, Voleur et Archer), trois races (Elfe, Humain et Nain) et deux genres représentés aujourd'hui. Ces personnages ont deux capacités principales et quelques animations d'émoticônes incluses pour chacune. Pour l'IA/les ennemis, nous présentons des diablotins et un boss de donjon, chacun avec ses propres capacités uniques.

Personnages de Boss Room

Les personnages de Boss Room sont tous basés sur un modèle de personnage commun que nous appelons affectueusement le « U » – conçu pour être réutilisé et mis à l'échelle dans de nouvelles formes et tailles. Puisqu’ils partagent tous une structure commune, ils sont conçus pour être réutilisés. Boss Room utilise la licence UCL, ce qui signifie que vous pourrez réutiliser toutes nos ressources et les développer dans votre propre projet Unity , alors n'hésitez pas... à modifier !

Image illustrant comment les personnages peuvent être réimaginés

Comme mentionné précédemment, Boss Room démontre une variété de techniques de jeu d'action que l'on retrouve couramment dans les RPG coopératifs, ainsi que les modèles et techniques de codage qui sont utiles lors de la mise en œuvre de ces actions. Cela inclut la recherche de chemin et le mouvement pilotés par le serveur avec interpolation côté client, ainsi que le fait que le système d'action soit un mécanisme généralisé permettant aux personnages de « faire des choses » en réseau.

Les actions incluent tout, depuis l'attaque de base de votre personnage jusqu'à une compétence AOE sophistiquée comme le tir de volée de l'archer. Vous trouverez ci-dessous une liste d'archétypes d'action mis en œuvre à l'aide de ce système :

  • Attaque au corps à corps avec une vérification de hitbox basée sur la physique.
  • Attaque de zone. L'attaque est centrée sur un point fourni par le client pour afficher la sélection de zone côté client avec un effet piloté par le serveur.
  • Attaque de projectile à distance qui génère un projectile piloté par le serveur. Inclut également une variante de cette action avec la possibilité de « charger » le tir en maintenant le bouton d'action enfoncé.
  • Action étourdie qui empêche les agents pilotés par l'IA de faire quoi que ce soit.
  • Action furtive qui bascule le mode furtif pour le voleur.
  • Une action de polissage avec une capacité incluse de la charger en maintenant le bouton d'action enfoncé. Produit un effet supplémentaire sur le niveau de charge maximum.
  • Actions d'émoticônes qui exécutent des animations de personnages idiotes : elles montrent la communication entre les joueurs.
  • Action de poursuite qui oblige votre personnage à suivre la cible choisie
  • Sélection de cible utilisée pour les actions pouvant viser une cible, si elle est choisie.
  • Action de piétinement exécutée par le boss et poussant les héros imprudents sur le côté – cela montre des modèles de physique en réseau.
  • Relancez une action qui permet aux héros de se ramener mutuellement à la vie.

Donjon et gameplay

L'environnement de la salle du boss est conçu pour permettre aux joueurs de disposer de quelques instants pour tester les compétences de leur personnage avant d'affronter le boss.

Le donjon comprend une antichambre et une salle de boss, avec un simple puzzle de changement de coopération pour entrer dans la zone du boss. Le but est simple : vaincre les diablotins, résoudre l'énigme, vaincre le boss et atteindre le trésor à la fin !

Exemple dans l'éditeur d'une scène de Boss Room

Un mot de notre équipe

L’objectif de Boss Room est bien plus que la simple formation aux API . Le Multiplayer est l’un des domaines de la création de jeux qui influencera la conception de votre jeu, pas seulement son implémentation. Connaître de bonnes pratiques telles que « quand est-il acceptable d'être piloté par le client ou par le serveur si j'ai un PNJ piloté par le serveur et ayant un impact sur la physique comme le boss » ou « des astuces où vous pouvez utiliser des animations de montée en puissance pour masquer la latence » vous aidera à créer un meilleur jeu multijoueur. L'ensemble des fonctionnalités de Boss Roomest un exemple de ces pratiques et modèles.

L'objectif de notre équipe est de vous donner une référence pour l'ensemble du processus d'ingénierie autour du développement de jeux multijoueurs afin que vous puissiez créer un jeu multijoueur de A à Z pour des types de jeux spécifiques. Cela impliquera la conception, la mise en œuvre, les tests et la manière de gérer un environnement réel. Nous commençons avec Boss Room comme référence – nos documents autour de celui-ci sont actuellement en cours de rédaction.

L'objectif secondaire de Boss Room est de tester le nouveau package netcode expérimental GameObject (une évolution de MLAPI). L'équipe d'échantillons et l'équipe SDK travaillent main dans la main pour améliorer MLAPI, donner des commentaires sur l'expérience utilisateur et signaler des problèmes. À mesure que MLAPI ajoute de nouvelles fonctionnalités et met à jour le SDK, nous continuerons à utiliser ces fonctionnalités et à nous assurer qu'elles ont du sens dans un contexte de développement de projet.

Quelle est la prochaine étape ?

À mesure que notre solution réseau continue de croître et de s’améliorer, cet exemple évoluera également. Voici quelques moyens de rester impliqué.

Discutez avec nous sur Discord ou dans le forum Multiplayer Unity et partagez vos expériences ou demandez de l'aide