Upload
brigitte-gomes
View
107
Download
2
Embed Size (px)
Citation preview
TER: Toys’R’Bad
N.A.B.O.T.
Encadrant: Patrice Torguet
Sommaire
1. Introduction: › Vous avez dit MMORTS ?› contexte de notre TER
2. Survol du projet:› Les différentes composantes du projet› Le jeu› Organisation du travail
3. Serveur/Client 2D:› Serveur (PHP/MySQL) : La Base de Données› Client JavaScript :
basique : XHTML + PHP Améliorations en JavaScript
› Scénario d’utilisation
4. Client 3D:› connexion et interface 2D (Java)› visualisation 3D (JOGL)
5. Conclusion
Introduction: MMORTS ?
MMOG:Type de jeux vidéo qui se définit par 3 critères:
l’univers n’est accessible que par un réseaul’univers est persistantl’univers est accessible a un très grand nombre de joueurs simultanément
RTS:Type de jeux vidéo qui se définit par:
Gestion d’unités, bâtiments … à l’aide d’une souris et d’un clavierRésolution des combats, des déplacements, de la production … en temps réel
Introduction: MMORTS ?
MMORTS = MMOG + RTS
Cumul des caractéristiques des MMOG et des RTS
pour permettre la persistance de l’univers et le temps réel dans le jeu, on utilise des cartes immenses par rapport aux jeux plus classiques(plusieurs heures pour se déplacer, voir même des jours entiers pour traverser la carte)
Introduction: contexte
Ce TER s’inscrit dans:› Dans un type de jeu en constante progression (MMOG)› Utilisation de notre projet dans le cadre de la thèse de
Mr Muratet› Volonté de reprendre notre ter pour continuer notre
projet, en particulier le client 3D On doit donc produire une base pour un/de futur(s)
projet(s)
=> principal enjeu:Un code et une documentation pour faciliter au maximum
la réutilisation de notre logiciel
Les différentes composantes du projet
Un serveur 2 types de client :
- Intégré dans les pages web (2D)
- Externe (3D)
Client 2D
Serveur
Client 2D
Client 2D
Client 3D
Client 3D
Les différentes composantes du projet
Serveur : - traitement des requêtes - connexion à la base de
données Client 2D : - optimisation des
transferts - facilitation de la
navigation Client 3D : - jouer sans navigateur
- visualisation 3D
Le jeu
Développer ses « villages » :- Produire des ressources- Construire des bâtiments
Entrainer des unités de combat :- Attaquer/Piller- Se défendre- Faire des alliances
Organisation du travail
Conception : réunions fréquentes Développement incrémental Serveur : 4 personnes en même temps,
(utilisation massive de SVN) les 3 premières semaines de développement.
Ensuite scindement de l’équipe en 2 groupes :
- Client 2D : 2 personnes- Client 3D : 2 personnes
Serveur PHP/MySQL :La Base de Données
Serveur PHP/MySQL: client 2D
XHTML +PHP
JavaScript
Serveur PHP/MySQL: client 2DPage d’accueil
Serveur PHP/MySQL: client 2DL’inscription
Serveur PHP/MySQL: client 2DPrésentation de la Ville du Joueur
Serveur PHP/MySQL: client 2DConstruire un Bâtiment
Serveur PHP/MySQL: client 2DConstruire un Bâtiment
Serveur PHP/MySQL: client 2DLes Unités
Serveur PHP/MySQL: client 2DFonctions Unités
Serveur PHP/MySQL: client 2DAttaque d’une autre ville
Serveur PHP/MySQL: client 2DAttaque d’une autre ville
Serveur PHP/MySQL: client 2DTransfert de troupes
Serveur PHP/MySQL: client 2DTransfert de troupes
Serveur PHP/MySQL: client 2DNavigation sur la Carte
Serveur PHP/MySQL: client 2DColoniser un Territoire
Serveur PHP/MySQL: client 2DColoniser un Territoire
Serveur PHP/MySQL: client 2DAutres Fonctionnalités
Client 3D: Java
Reprend les fonctionnalités du client 2D
Client 3D Client
2D Sorte de Navigateur web en Java. Librairie SWING
Client 3D
Utilisation de sockets pour dialoguer avec le serveur.
Client 3D
Librairie SAX et XML pour récupérer les informations du serveur .
Client 3D
Grande généricité facilitant le rajout de contenu.
Client 3D
Utilisation dela librairie JOGLPour afficher laville en 3D ainsique la carte du monde.
Client 3D: JOGL
Visualiser le village de manière plus proche d’un RTS classique
Améliorations prévues : bâtiments cliquables, visualisation des unités, animations…
Graphismes très basiques (on n’est pas des graphistes !)
Client 3D : JOGL
Difficultés : - modéliser (utiliser Blender…)- exporter correctement les
maillages- problèmes liés à JOGL (buffers…)
Client 3D : JOGL
Client 3D : JOGL
Client 3D : JOGL
Conclusion
Quelques points négatifs…› Beaucoup de langages très différents› Premier projet aussi vaste Un départ difficile: pas évident de comprendre
comment commencer mais aussi une grosse « perte » de temps pour apprendre PHP, JavaScript …
› 95% du serveur développé en 3 semaines (SVN + BU) Ajout de fonctionnalités par incréments successifs qui
complexifient le code
Conclusion
… A l’arrivé, un projet positif:› découverte de nouveaux langages (web)› Jeux (MMORTS), donc un projet ludique› Le projet à terme serait une première: un vrai MMORTS
avec un client 3D transformé en vrai RTS› Mais surtout une excellente ambiance!