Créez un jeu multijoueur prêt à être produit avec Netcode for GameObjects

Vous construisez un jeu multijoueur coopératif avec Unity? Nous avons la ressource à la demande parfaite pour vous : Une série de webinaires en quatre parties de l’équipe Multiplayer – désormais disponible sur YouTube. Cette série plonge dans l'exemple de jeu Boss Room pour découvrir comment vous pouvez créer un jeu multijoueur prêt pour la production avec Unity et Netcode for GameObjects.
Créer des jeux multijoueurs ne consiste pas seulement à utiliser les bonnes API. Le premier épisode de la série couvre les meilleures pratiques et fournit des conseils lors de l'introduction d'une technologie chaotique comme Internet entre vos joueurs lors du développement d'un jeu multijoueur.
Dans le premier épisode, nous couvrons :
- Qu'est-ce que Netcode for GameObjects (NGO) et Unity Gaming Services (UGS) ?
- NetworkVariables vs RPC et raisons de choisir lequel pour chaque fonctionnalité
- Autorité et pourquoi nous avons choisi l'autorité du serveur pour la plupart de notre gameplay
- Mouvements et modèles alternatifs comme Client Authority pour gérer le décalage et astuces d'optimisation pour les mouvements basés sur la recherche de chemin
- Implémentation de base du jeu et comment nous avons utilisé State (netvar, liste de réseaux) et RPC
L'épisode deux couvre la mise en œuvre des capacités des personnages dans Boss Room et comment aborder la mise en œuvre des capacités dans votre jeu.
Nous plongeons dans :
- Le flux général de mise en œuvre des capacités pilotées par le serveur
- Fiabilité et ce que cela signifie pour les RPC de ne pas être fiables
- Attaques de mêlée et anticipation des problèmes d'animation
- Fonctionnalité du bouclier du char et interaction avec l'environnement
- Tirs puissants de l'archer et zone d'effet (AOE), qui nécessitent un suivi des entrées au fil du temps uniquement côté client
- Mage Firebolt et utilisation de la bande passante
- L'architecture générale de notre système de capacités
Nous regardons également :
- Objets générés dynamiquement
- Génération d'objets statiques placés dans la scène
- Génération d'objets destructibles placés dans la scène
- Leçons apprises sur les diablotins zombies lorsqu'ils ont rejoint tardivement
- Logique de génération personnalisée comme les pools et comment les intégrer avec NGO
Lors de la troisième session, nous aborderons quelques détails supplémentaires de mise en œuvre du jeu avant de nous lancer dans la création d'un jeu multijoueur résilient aux joueurs.
Nous explorons :
- Interactions physiques, objets et parentalité, scènes et gestion de scènes
- Utiliser Relay et Lobby pour mettre votre jeu en ligne et pourquoi vous ne pouvez pas utiliser NGO pour rejoindre les joueurs
- Synchronisation de l'écran de sélection des personnages entre les joueurs à l'aide de NGO et de la sérialisation personnalisée
- Rendre votre jeu résilient aux allées et venues des joueurs, aux flux de reconnexion, à la prise en charge des arrivées tardives, aux déconnexions et aux délais d'attente
- Gestion des conditions de course et des différents tests à réaliser
Dans la quatrième et dernière session de la série, nous explorons les meilleures pratiques de développement de jeux pour les jeux multijoueurs.
Cet épisode couvre :
- Optimisations de bande passante et outils de profilage, optimisation de NetworkTransforms et autres conseils
- Outils de débogage tels que les simulateurs de conditions de réseau, la surveillance des statistiques et les flux de débogage personnalisés
- Architecture du projet (système d'action, architecture du joueur, etc.)
- L'avenir de Boss Room
Regarder la série ? Partagez vos commentairesafin que nous puissions planifier des sessions encore meilleures à l’avenir.
Si vous êtes prêt à vous lancer dans votre prochain projet multijoueur avec Unity et Netcode for GameObjects, voici quelques ressources utiles pour vous aider à démarrer :
- En savoir plus sur Netcode for GameObjects
- Découvrez nos échantillons : Salle du boss3D, chatons galactiques2D, échantillons de la taille d'une bouchée
- Lire la documentation
Vous avez des questions ou des commentaires sur le développement de jeux multijoueurs dans Unity? N'hésitez pas à rejoindre la discussion sur Discord ou dans les forums.