38
TER: Toys’R’Bad N.A.B.O.T. Encadrant: Patrice Torguet

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

Embed Size (px)

Citation preview

Page 1: 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

TER: Toys’R’Bad

N.A.B.O.T.

Encadrant: Patrice Torguet

Page 2: 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

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

Page 3: 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

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

Page 4: 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

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)

Page 5: 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

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

Page 6: 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

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

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

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

Page 8: 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

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

Page 9: 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

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

Page 10: 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

Serveur PHP/MySQL :La Base de Données

Page 11: 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

Serveur PHP/MySQL: client 2D

XHTML +PHP

JavaScript

Page 12: 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

Serveur PHP/MySQL: client 2DPage d’accueil

Page 13: 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

Serveur PHP/MySQL: client 2DL’inscription

Page 14: 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

Serveur PHP/MySQL: client 2DPrésentation de la Ville du Joueur

Page 15: 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

Serveur PHP/MySQL: client 2DConstruire un Bâtiment

Page 16: 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

Serveur PHP/MySQL: client 2DConstruire un Bâtiment

Page 17: 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

Serveur PHP/MySQL: client 2DLes Unités

Page 18: 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

Serveur PHP/MySQL: client 2DFonctions Unités

Page 19: 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

Serveur PHP/MySQL: client 2DAttaque d’une autre ville

Page 20: 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

Serveur PHP/MySQL: client 2DAttaque d’une autre ville

Page 21: 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

Serveur PHP/MySQL: client 2DTransfert de troupes

Page 22: 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

Serveur PHP/MySQL: client 2DTransfert de troupes

Page 23: 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

Serveur PHP/MySQL: client 2DNavigation sur la Carte

Page 24: 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

Serveur PHP/MySQL: client 2DColoniser un Territoire

Page 25: 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

Serveur PHP/MySQL: client 2DColoniser un Territoire

Page 26: 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

Serveur PHP/MySQL: client 2DAutres Fonctionnalités

Page 27: 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

Client 3D: Java

Reprend les fonctionnalités du client 2D

Client 3D Client

2D Sorte de Navigateur web en Java. Librairie SWING

Page 28: 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

Client 3D

Utilisation de sockets pour dialoguer avec le serveur.

Page 29: 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

Client 3D

Librairie SAX et XML pour récupérer les informations du serveur .

Page 30: 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

Client 3D

Grande généricité facilitant le rajout de contenu.

Page 31: 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

Client 3D

Utilisation dela librairie JOGLPour afficher laville en 3D ainsique la carte du monde.

Page 32: 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

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

Page 33: 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

Client 3D : JOGL

Difficultés : - modéliser (utiliser Blender…)- exporter correctement les

maillages- problèmes liés à JOGL (buffers…)

Page 34: 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

Client 3D : JOGL

Page 35: 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

Client 3D : JOGL

Page 36: 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

Client 3D : JOGL

Page 37: 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

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

Page 38: 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

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!