La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les jeux persistants massivement Multijoueurs : problèmes techniques Vincent Roudaut MASTER M2 ESTC/CAM 2004-2005.

Présentations similaires


Présentation au sujet: "Les jeux persistants massivement Multijoueurs : problèmes techniques Vincent Roudaut MASTER M2 ESTC/CAM 2004-2005."— Transcription de la présentation:

1 Les jeux persistants massivement Multijoueurs : problèmes techniques Vincent Roudaut MASTER M2 ESTC/CAM

2 Introduction 15 % du trafic mondial d'internet 2004, en évolution Un simulation interactive multiparticipants sur internet : soulève de multiples problèmes Particularité : le jeu dure plusieurs années sans interruption

3 Requisit du MMORPG Qualité de la simulation Qualité de la simulation Interactive et fluide (immersion) Interactive et fluide (immersion) Cohérence du jeu Cohérence du jeu Robustesse Robustesse Adaptation à des conditions non déterministes Adaptation à des conditions non déterministes Intensité de la couche de persistance Intensité de la couche de persistance Confiance à livrer un monde à des joueurs Confiance à livrer un monde à des joueurs

4 Problématique Temps réel distribué Réseau BDD Architectures machines Conception logicielle Sécurité / Authentification

5 Simulation temps réel Consistence Une simulation discrète : Calcul pour chaque Frame aligné sur un temps commun La cohérence spatiale client serveur 1 Actions dun joueur 2 Résultat de la simulation client Synchronisation

6 Latences Performances Minimiser la latence et le traffic réseau : Prédiction détat Design de protocole Architectures Centralisées Distribuées

7 Infrastructure Architecture serveur dédiée Architecture serveur dédiée Distribution de charge Distribution de charge Différentes actuces jeu-serveur Tolérence au pannes Persistance Persistance Réplication Réplication Disponibilité et charge : Disponibilité et charge :Cluster Middlewares : Middlewares : Terraplay, WISH

8 Exemple Architecture Butterfly (Intel) : Architecture Butterfly (Intel) : OS = linux OS = linux CPU = multiprocesseurs CPU = multiprocesseurs Inteconnexion type grid (Globus toolkit). Inteconnexion type grid (Globus toolkit). Séparation des taches et interconnexion Schema de principe de la grille

9 Développement API standards API standards NeL de nevrax NeL de nevrax DirectX DirectX Multiplateforme Multiplateforme Nécessité dun framework Nécessité dun framework Extensibilité Extensibilité Scripting Scripting Pluggins Pluggins QA et Simulation QA et Simulation IA IA

10 Sécurité / Tricherie Protocole Protocole Pratique de Q&A sur le code (buffer overflow,...) Pratique de Q&A sur le code (buffer overflow,...) Cryptographie (SSL) Cryptographie (SSL) Cheat-proof Cheat-proof Protection hardware (XBox) Protection hardware (XBox) Controle de cohérence serveur Controle de cohérence serveur Détection de « bots » Détection de « bots » Sécurité dédiée sur les serveurs (firewall, détection dintrusion..) Sécurité dédiée sur les serveurs (firewall, détection dintrusion..)

11 Exemple : modèle Everquest C/S C/S Isolation géométrique des zones joueurs par serveur Isolation géométrique des zones joueurs par serveur Un changement de zone induit un changement de serveur, le serveur de login autorise le transfert Un changement de zone induit un changement de serveur, le serveur de login autorise le transfert Les limitations ne sont pas naturelles (temps d attente) Les limitations ne sont pas naturelles (temps d attente)

12 Exemple : World of Warcraft Chaque « royaume » abrite la totalité de lunivers Chaque « royaume » abrite la totalité de lunivers Architecture pour chaque « royaume » : Architecture pour chaque « royaume » : Un serveur pour le monde Un serveur pour le monde Plusieurs serveurs pour les monstres et les personnages Plusieurs serveurs pour les monstres et les personnages 3000 et 5000 joueur par royaume 3000 et 5000 joueur par royaume Possibilité dajout de nouveaux serveurs Possibilité dajout de nouveaux serveurs Montée en charge Montée en charge Ajout de modes de jeu : Role play et duels Ajout de modes de jeu : Role play et duels

13 Conclusion Un domaine en évolution Middlewares dédiés, API Prise en compte de divers clients ( téléphone mobiles) Lattente du modèle distribué Moteur dans dautres domaines sociaux (travail coopératif, enseignement à distance) Un thème de recherche

14 bibliographie Server Architectures for Massively Multiplayer Online Games.pdf, Sun JavaOne TX, jeu massivement multijoueur, Stephane Zuckerman, Ariel Verdi (UTC) Cheat-Proofing Dead Reckoned Multiplayer Games, Eric Cronin Burton Filstrup Sugih Jamin (University of Michigan) An Ecient Synchronization Mechanism for Mirrored Game Architectures, Eric Cronin et al

15 Bibliographie (suite) Application de lApproche Réactive : Simulations de mondes virtuels, Frédéric Boussinot, Jean-Ferdy Susini, INRIA MEGA, 1/*/MEGA_Presentation_VF.htmlhttp://bscw.enst-bretagne.fr/pub/bscw.cgi/d /* « Mimaze, a multiuser Game on the Internet »de Laurent Gautier et Christophe Diot, Septembre 1997, ISSN , ISRN INRIA/RR-3248FR

16 Questions ?

17 Session réseau Echange classique client/serveur Echange classique client/serveur

18 Mode de replication BDD 2 approches 2 approches virtualisation virtualisation

19 Cheating Abus du dead reckonning Abus du dead reckonning (in Cheat Proofing, Eric Cronin et al.)

20 Trailing states synchro Un méthode dite « optimiste » Un méthode dite « optimiste » Execution normale Rollback

21 Sun architecture horizontal scaling, fault-tolerance persistence, and load balancing

22 Glossaire Cluster : interconnexion dordinateurs standards par LAN haut débit, qui executent de facon parallèle une application Cluster : interconnexion dordinateurs standards par LAN haut débit, qui executent de facon parallèle une application Réplication de BDD : le fait de maintenir plusieurs copies des objets en base sur plusieurs sites Réplication de BDD : le fait de maintenir plusieurs copies des objets en base sur plusieurs sites Latence : temps de réponse entre une action et sa matérialisation sur toute les machines joueur Latence : temps de réponse entre une action et sa matérialisation sur toute les machines joueur Cohérence spatiale : Cohérence spatiale : Quand on parle de cohérence spatiale, on part sur une notion de mesure physique de distance entre le « réalité » (le comportement du maître) et sa reproduction (le comportement de lesclave) Cohérence temporelle : Cohérence temporelle : De la même manière que la cohérence spatiale qui nous permet dévaluer un écart de distance, la cohérence temporelle permet dévaluer un écart de durée (dans notre cas en nombre dinstant) qui sépare un maître et son esclave pour une position donnée Shard : a shard == a duplicate cluster, solved the fire marshal problem by duplicating entire game


Télécharger ppt "Les jeux persistants massivement Multijoueurs : problèmes techniques Vincent Roudaut MASTER M2 ESTC/CAM 2004-2005."

Présentations similaires


Annonces Google