Nicolas Galliot M2SIR David Raspilaire Jeux vidéos en réseau technologies, relations avec les...

Post on 03-Apr-2015

108 views 2 download

Transcript of Nicolas Galliot M2SIR David Raspilaire Jeux vidéos en réseau technologies, relations avec les...

Nicolas Galliot M2SIR

David Raspilaire

Jeux vidéos en réseauJeux vidéos en réseautechnologies, relations avec les sytèmes intelligents technologies, relations avec les sytèmes intelligents

distribuésdistribué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

1. Technologies des jeux en réseau

2. Relation avec les systèmes distribués

3. 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...

PeerPeer

Peer

PeerPeerhost

Peer

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 ClientClient

Client

ClientClient

Client

1.1.3. Comparaison

Client-Serveur Peer-to-peer

Besoins 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