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

Slides:



Advertisements
Présentations similaires
Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
Advertisements

GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Comprendre Internet Bases théoriques et exercices pratiques, pour débutants complets... Et curieux !
Composants Matériels de l'Ordinateur Plan du cours : Ordinateurs et applications Types d'ordinateurs Représentation binaires des données Composants et.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Système de gestion d'entrées pour un cinéma Scanvion Michel – Etudiant 4.
AID - Recherches - Stéphanie Vial & Patrick Johner Page 1 Journée 6 Pour une veille documentaire ou bibliographique.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
Créer un site Web avec Eva Spip Première approche B. Gugger – Mars 2006 – Département RTC.
Votre rayon de soleil ! PROJET EVOLUTION – GMSI 38 Thomas Mouhica, Alexandre Lacombe, Timothé Michel 1.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
1- Introduction Sommaire Modèle Logique des Données 2- Structure 3- Traduction du MCD en MLD 4- Recap - Méthodologie.
1 Le stage informatique de Masters APIM et PIE (2012/2013) Ivana Hrivnacova Vincent Lafage Basé sur le stage informatique du LAL et IPN par (2005/2006):
Mon stage à SAVIE Guillaume DOTT Développement d'un logiciel de vidéoconférence Enjeux 3.
Flex Web Roster 1TER 2012 Engilberge, Lludice, M'rah.
Plugin Eclipse pour le langage LUA Responsable Fabrice Huet Chef de Projet Jérôme Poisson Développeurs Lu Deng Guillaume Ghibaudo Julien Raverdino Anthony.
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
1 DUT Informatique 2010 – 2011 Soutenance de stage Atelier Parisien d'Urbanisme La cartographie à l'heure du web Pierre Dargham Encadrant : Claude Luciani.
La veille Dans Tous ses états. La veille Principes et outils ● Définition ● Son organisation ( Schéma ) ● Quelques incontournables de la recherche documentaire.
MAGIC Jeux de cartes en réseaux. PLAN. I.Présentation de notre projet. II.L’application réseau. III.Implémentation du jeux.
 Notion de réseaux informatiques  Infrastructure d’un réseau local  Environnement matériel d’un réseau local  Catégories de réseaux  Les typologies.
1 Rapport PFE Gestion de Stock M LLE Nouhaila Touzani Ouazli.
Les Bases de données Définition Architecture d’un SGBD
Framework EHop/Ecenvir
Communication client-serveur
Diffusion en streaming de vidéos d’assistance au dépannage
Mise en place d’un système de partage de fichiers
LimeSurvey : Logiciel Open Source pour réaliser des enquêtes
RESEAUDENTREPRISE.COM Solution de communication d’entreprise et de vente en ligne.
de la productivité individuelle au travail collaboratif
Présentation Scribe NG Serveur pédagogique.
SOMMAIRE 1: ORALE 2: Les 3 systèmes de gestion de base de donnés 3:ORACLE DATA BASE 4:MY SQL 5:Oppen Office.org Base 6:Concurrence Conclusion.
Introduction Jeu solo d’action/aventure en 3D
Le « Bugtracking » Alejandro FERNANDEZ – Etienne FONTEIX
Les Tests de performances
Centralisation de logs
LE MASHUP.
Introduction Bases de données Accès Internet (Web)
A faire Revoir numérotation
Outils Statistiques pour la Sémantique Décembre 2013
Wireshark Capture et analyse de trames IP
Journée pédagogique 16 septembre 2014
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
CeMEB La plateforme MBB
Présentation OCS-Inventory au LAPP
Programmation système
CeMEB La plateforme MBB
GRAPHISME PAR ORDINATEUR
Présentation initiale
Introduction à la conception de site web
PROJET Système d’Information
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Mise en place d'un Serveur Radius pour la sécurité d'un réseau Wireless sous Windows Serveur Présenter par le Stagiaire : Etienne Mamadou Guilavogui.
BTS SIO 2ème année SLAM SISR
Bienvenue sur Coursinfo.fr
Architecture BD Récif.
Tableau Numérique Interactif
Un cloud de production et de stockage
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
PLATE FORME DE GESTION ÉLECTRONIQUE DE DOCUMENTS Présenté par: Amine LARIBI.
Présentation des services IT
Création d’un outil d’aide à la composition de cours
Conception de sites web marchands: TD 2
Projet de fin d’études : Université Cadi Ayyad Ecole Supérieure de Technologie-Safi Techniques Instrumentales et Management de la Qualité Sujet traité.
ÉPREUVE E6 PARCOURS DE PROFESSIONNALISATION Lucas Coutière BTS SIO (SLAM) – 2 ème année Lucas Coutière BTS SIO (SLAM) – 2 ème année.
Projet CRImage UNIVERSITE STENDHAL GRENOBLE
Business Intelligence en ACube OLAP et Reporting avec ACubeOLAP et GRaM.
Transcription de la présentation:

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 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 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 Plan I. Organisation et besoins techniques II. Le réseau III. L'interface graphique IV. La base de données

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

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 É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 I. B) Fonctionnement (1/2) Plusieurs programmes client se connectent à un seul programme serveur (le monde). Client Serveu r

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 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 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 Plan I. Organisation et besoins techniques II. Le réseau III. L'interface graphique IV. La base de données

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 II. A) Technologies utilisées (2/3) TCP : Mode connecté Client Serveur « Bonjour Serveur, moi c'est Client, je peux me connecter ? »

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

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

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;

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;

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;

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

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

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 III. A) Technologies utilisées (2/3) Écran de sélection de personnages avec Slick

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

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 III. C) Particularités ● Création de map simplifiée Utilisation du logiciel Tiled ● Multi-langue Traduction dans des fichiers ressource (sans code)

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

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

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

38 Gestion des personnages 38

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

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