Nicolas Galliot M2SIR David Raspilaire Jeux vidéos en réseau technologies, relations avec les sytèmes intelligents distribués
Introduction Explosion de l'Internet Chute des prix du matériel hardware Augmentation de la durée de vie d'un jeu Forte croissance du nombre de joueurs en réseau
Sommaire Technologies des jeux en réseau Relation avec les systèmes distribués Exemples d'applications
1. Technologies des jeux en réseaux Architectures utilisées Le transport des données
1.1.1. Peer-to-peer Tous les joueurs sont connectés entre eux et possède le même statut. Lors d'un changement d'état, les nouvelles données sont envoyées à tous les autres. Utilisé pour les jeux de stratégie, de simulation, de sport... Peer host
1.1.2. Client-Serveur Chaque joueur envoie ses données au serveur uniquement. Le serveur régule l'envoi de données et est seul maître des décisions du jeu. Utilisé pour les FPS (Unreal, etc.), simulation, etc… Server Client
1.1.3. Comparaison Client-Serveur Peer-to-peer Besoins Vision du monde Besoin d'un serveur Pas besoin de serveur Vision du monde Approximative Exacte et complète Scalabilité Bonne Non-scalable Temps de latence En fonction du serveur Peer le plus lent Fin Quand le serveur déconnecte Déconnexion totale et complète
1.2.1. Besoins du jeu Les paquets en retard sont souvent inutiles Les informations perdues peuvent être déduites implicitement Les statistiques de perte sont utiles
1.2.2. UDP dans les jeux Protocole non orienté connexion Plus rapide que TCP Possibilité d'ajouter de la fiabilité Contrôle de congestion en cas d'envoi massif de données
2. Relation avec les systèmes distribués Concept de « jeu distribué » Ressources distribuées → utilisation de toute la bande passante sur le réseau Comment l'utilisation de la distribution fait-elle progresser les jeux intensifs en réseau ?
2.1. Les différentes topologies Topologie « centralisée » Topologie « en anneau » Structure hiérarchique Topologie décentralisée
2.2. Le jeu distribué (1) Modèle Client/Serveur très utilisé Modèle de « réseau de stations » Ressources redondantes spécifiques au jeu Mécanisme pour la découverte de ces ressources Capacité de commuter dynamiquement entre les ressources Rapport de confiance entre les ressources et la métrique mesurant cette confiance
2.2. Le jeu distribué (2) Mise en place d'un tel dispositif Ressource Fournisseur Consommateur Poste de confiance Registre Jeu en lui-même
2.2. Le jeu distribué (3)
3. Exemple d'applications Evolution constante du matériel Carte vidéo croît encore plus rapidement Nécessité d'une API adaptable à cette dynamique
3.1.1. Présentation de Direct X Besoin de compatibilité pour les programmeurs de jeux vidéo Comment créer des applications rapides avec le grand nombre de couches entre Windows et le matériel ? Direct X est la réponse de Microsoft
3.1.2. Services fournis par Direct X Direct 3D : moteur de rendu 3D Direct Sound : pilotage des cartes son Direct Play : gestion des données circulant à travers un réseau
3.1.3. L'interface Direct Play (1/2) Fournisseurs de services : ils sont à la base de la communication en mode mulitjoueur Connexion TCP/IP Connexion Modem à Modem Connexion série Connexion IPX
3.1.3. L'interface Direct Play (2/2) Fonctionnement de Direct Play Sessions Joueurs Messages
3.2. Capture de trames (1)
3.2. Capture de trames (2)
Conclusion Rôle prépondérant de l'évolution des technologies réseaux pour les jeux vidéo Différentes topologies propices à d'autres types d'applications Problèmes d'interopérabilités résolus via des APIs telles que Direct X