Comment permettre à plusieurs joueurs de partager le même univers ? Cette formation vous accompagne dans la découverte de la programmation réseau, puis dans la construction progressive des bases d’un RPG multijoueur.
Vous commencerez par comprendre les échanges entre un client et un serveur et par réaliser un premier serveur. Vous développerez ensuite la gestion des joueurs connectés et la communication entre les différentes applications.
La mise en pratique associe un serveur programmé en C# à un client en Lua avec LÖVE2D. Vous apprendrez à organiser les connexions et à transmettre les informations nécessaires au fonctionnement du jeu.
Le projet aboutit à un donjon généré côté serveur, transmis aux clients et dans lequel plusieurs joueurs peuvent se déplacer. Vous disposerez ainsi d’une base concrète pour poursuivre vos expérimentations multijoueurs.
Présentation
Objectifs pédagogiques
- Expliquer le fonctionnement d’une architecture client/serveur et distinguer TCP et UDP.
- Programmer un serveur en C# et y connecter un client LÖVE2D.
- Maintenir une liste des joueurs et détecter les déconnexions.
- Échanger des messages et créer un chat.
- Transmettre une carte en JSON et l’afficher côté client.
- Répercuter les déplacements des joueurs sur les clients connectés.
Prérequis
- Maîtriser les variables, conditions, boucles, fonctions et collections.
- Savoir lire et modifier du code C# et Lua.
- Connaître les bases de LÖVE2D : affichage, contrôles et boucle de jeu.
- Avoir déjà réalisé un petit projet de jeu vidéo.
Aucune expérience préalable de la programmation réseau n’est nécessaire.
Votre parcours
Programme de la formation
01
Comprendre les bases du réseau
2 leçons · 1 h 54 min
Comprendre les bases du réseau
2 leçons · 1 h 54 min
- Support de cours
- Code source
-
Commence-ici ! Public12 min
-
Exercice Membre1 h 42 min
02
Connecter les joueurs au serveur
5 leçons · 1 h 15 min
Connecter les joueurs au serveur
5 leçons · 1 h 15 min
- Support de cours
- Code source
-
Présentation Public46 min
-
Principe théorique Membre5 min
-
Principe technique Membre7 min
-
Coder des timers Membre9 min
-
Présentation du client Lua Membre8 min
03
Détecter les déconnexions
1 leçon · 14 min
Détecter les déconnexions
1 leçon · 14 min
- Support de cours
- Code source
-
Déconnexions Premium14 min
04
Échanger des messages entre joueurs
4 leçons · 45 min
Échanger des messages entre joueurs
4 leçons · 45 min
- Support de cours
- Code source
-
Intro Premium6 min
-
Ping Premium15 min
-
Nickname Premium11 min
-
Chat et fin Premium13 min
05
Partager un donjon et synchroniser les déplacements
11 leçons · 1 h 47 min
Partager un donjon et synchroniser les déplacements
11 leçons · 1 h 47 min
- Support de cours
- Code source
-
Introduction et mises en garde Premium9 min
-
ServerContext et Singleton Pattern Premium13 min
-
Intégration de la classe DFS (génération du donjon) Premium4 min
-
Envoi de la map au format JSON Premium7 min
-
Réception de la map Premium17 min
-
Affichage de la map + exercice Premium8 min
-
Liste des clients Premium14 min
-
Positonnement et affichage des joueurs dans la map + exercice Premium14 min
-
Affichage graphique de la map et des joueurs (solution exercice) Premium3 min
-
Déplacement dans la map Premium15 min
-
Suppression des joueurs déconnectés Premium3 min
