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

Ninja Online PROJET TUTEURÉ N3 Clément BAERT Alexis BEAUREPAIRE Nathan DAMIE Laurent LAPLACE Valentine MAILLART Emmanuel PERRIN Tuteur : Jean CARLE DUT.

Présentations similaires


Présentation au sujet: "Ninja Online PROJET TUTEURÉ N3 Clément BAERT Alexis BEAUREPAIRE Nathan DAMIE Laurent LAPLACE Valentine MAILLART Emmanuel PERRIN Tuteur : Jean CARLE DUT."— Transcription de la présentation:

1 Ninja Online PROJET TUTEURÉ N3 Clément BAERT Alexis BEAUREPAIRE Nathan DAMIE Laurent LAPLACE Valentine MAILLART Emmanuel PERRIN Tuteur : Jean CARLE DUT Informatique 2009 / 2010

2 2 Introduction MMORPG : Massive Multiplayer Online Role-Playing Game Trois critères principaux : - Univers accessible uniquement par un réseau - Univers persistant - Univers accessible à un grand nombre de joueurs simultanément Exemple de MMORPG : World of Warcraft, Dofus, Aion...

3 3 Introduction Problématique : Quelles techniques, dans un jeu vidéo en ligne du type MMORPG, permettent de gérer efficacement les flux de données nécessaires à un monde persistant ?

4 4 Plan I. Organisation et besoins techniques II. Le réseau III. L'interface graphique IV. La base de données

5 5 Plan I. Organisation et besoins techniques II. Le réseau III. L'interface graphique IV. La base de données

6 6 I. A) Présentation du jeu (1/2) Nom du jeu : Ninja Online Histoire : Japon médiévale/fantastique Classes des personnages : ninja, samouraï, moine Shaolin... Licence libre : GNU General Public License.

7 7 Écrit en Java : - portabilité - langage bien connu à l'IUT Un programme serveur et un programme client. - serveur → gère le monde - client → connecte au serveur et permet de jouer I. A) Présentation du jeu (2/2)

8 8 I. B) Fonctionnement (1/2) Plusieurs programmes client se connectent à un seul programme serveur (le monde). Client Serveu r

9 9 I. B) Fonctionnement (2/2) client Partie réseau du côté client. network display Partie graphique. Internet server Partie réseau du côté serveur. network calculation, map, mobs, players Partie calcul. db Partie base de données. Base de données MySQL La base de données.

10 10 I. C) Organisation de l'équipe (1/2) Réseau Interface graphique Connexion Réseau / Interface graphique Personnage s Monstres Gestion des coordonnées de chaque objet dans le monde Base de données Connexion Programme / Base de données (création de comptes et personnages) Temps Ressources Répartition des tâches dans l'équipe

11 11 I. C) Organisation de l'équipe (2/2) ● Sources à jour et disponibles à toute l'équipe via Subversion (SVN) ● Mise en place d'un forum pour l'avancement du projet et les discussions sur le jeu.forum

12 12 Plan I. Organisation et besoins techniques II. Le réseau III. L'interface graphique IV. La base de données

13 13 II. A) Technologies utilisées (1/3) Réalisation d'un chat non graphique → dialogue entre plusieurs clients via Internet géré par un serveur. java.net : API Java pour le réseau Connexion par TCP ou UDP ? Réponse → TCP : relativement lent mais vérification de l'acheminement des données

14 14 II. A) Technologies utilisées (2/3) TCP : Mode connecté Client Serveur « Bonjour Serveur, moi c'est Client, je peux me connecter ? »

15 15 II. A) Technologies utilisées (2/3) TCP : Mode connecté Client Serveur « Bonjour Client, oui tu peux te connecter »

16 16 II. A) Technologies utilisées (2/3) TCP : Mode connecté Client Serveur Connexion établie ! Client et Serveur peuvent maintenant dialoguer 1;login;motDePass e 1;connexionAutoris ée

17 17 II. A) Technologies utilisées (3/3) UDP : Mode non connecté Client ? Client envoie ses messages sans savoir si Serveur les a bien reçu (et dans le bon ordre) 1;login;motDePass e

18 18 II. B) Fonctionnement (1/5) Le serveur : - gère les coordonnées de chaque objet - envoie les données nécessaires à chaque client pour l'affichage → Utilisation d'un tableau à 2 dimensions - chaque case contient 2 listes (personnages et monstres) Liste Person- nages Liste Monstre s 0 0 81616 2424 8 1616 2424

19 19 II. B) Fonctionnement (2/5) Pour le joueur : - connexion de son personnage (ex : Toto, coordonnées 10;4) Titi 11;5 Tutu 9;2... Toto 10;4 0 0 81616 2424 8 1616 2424

20 20 II. B) Fonctionnement (3/5) Pour le joueur : - envoi de ses nouvelles coordonnées au serveur pour chacun de ses mouvements Titi 11;5 Tutu 9;2... Toto 11;4 0 0 81616 2424 8 1616 2424

21 21 II. B) Fonctionnement (4/5) Pour le joueur : - réception des coordonnées des objets alentours à afficher à l'écran Pour chaque mouvement du joueur ou d'un autre joueur, on prévient les joueurs dans les cases aux alentours. Titi 11;5 Tutu 9;2... Toto 11;4 0 0 81616 2424 8 1616 2424

22 22 II. B) Fonctionnement (5/5) Pour le joueur : - déconnexion du personnage Titi 11;5 Tutu 9;2... Toto 11;4 0 0 81616 2424 8 1616 2424

23 23 Plan I. Organisation et besoins techniques II. Le réseau III. L'interface graphique IV. La base de données

24 24 III. A) Technologies utilisées (1/3) Interface graphique Représente ce que voit le joueur, la façon dont il pourra interagir avec le programme. Jeu en 2D Utilisation de la librairie Slick Slick est basé sur LWJGL (LightWeight Java Game Library) et OpenGL - plus haut niveau qu'OpenGL - utilisation de l'accélération matériel

25 25 III. A) Technologies utilisées (2/3) Écran de sélection de personnages avec Slick

26 26 III. A) Technologies utilisées (3/3) Aperçu du jeu

27 27 III. B) Méthodologie Modèle MVC vu en cours → pas adapté aux jeux vidéo - trop lent - une seule vue Solution → vue intégrée dans le modèle

28 28 III. C) Particularités ● Création de map simplifiée Utilisation du logiciel Tiled ● Multi-langue Traduction dans des fichiers ressource (sans code)

29 29 Plan I. Organisation et besoins techniques II. Le réseau III. L'interface graphique IV. La base de données

30 30 ● Utilisation de la méthode Merise pour la modélisation. ● Utilisation de logiciels gratuits et libres : ● - d'abord Acsi → vu en cours d'OMGL ● - puis AnalyseSI → plus ergonomique, efficace et permet la génération du code SQL après le MLD IV. A) La modélisation de la base (1/2)

31 31 IV. A) La modélisation de la base (2/2) ● Réflexion sur les données pertinentes à stocker → Dictionnaire des données et création d'entités ● Réflexion aux interactions entre ces entités → MCD et MLD ● Génération des tables SQL nécessaires au jeu dans une base de données MySql

32 32

33 33 IV. B) Ré-utilisation des données stockées (1/2) Besoin accès à la base en Java : → Java.sql : tous les objets et méthodes pour la base de données. → JDBC (Java DataBase Connectivity) : API fournie avec Java permettant de se connecter à des bases de données.

34 34 IV. B) Ré-utilisation des données stockées (2/2) Client Serveur Requêtes SQL Résultats Base de données MySql Pont JDBC

35 35 IV. C) Partie Java / JDBC ● Classe Database permettant l'ouverture et la fermeture de la base de données. ● Classes permettant le login et la récupération des informations de la carte, des monstres et des personnages d'un compte connecté. ● Classe de chiffrement (hashage md5) pour le login.

36 36 IV. D) Partie Web ● Création d'un site web, répondant à différents besoins :site web → espace où présenter le jeu → inscription des joueurs → téléchargement du jeu et installation → gestion du compte joueur → gestion et création de personnages → etc...

37 37

38 38 Gestion des personnages 38

39 39 Conclusion ● Un MMORPG englobe beaucoup de domaines informatiques ● Amélioration → Analyse ● Lien avec le monde de l'entreprise

40 40 FIN Merci. Des questions ? Une démonstration ?


Télécharger ppt "Ninja Online PROJET TUTEURÉ N3 Clément BAERT Alexis BEAUREPAIRE Nathan DAMIE Laurent LAPLACE Valentine MAILLART Emmanuel PERRIN Tuteur : Jean CARLE DUT."

Présentations similaires


Annonces Google