Académique Documents
Professionnel Documents
Culture Documents
Non loin de tout projet ambitieux, il existe des gens qui partagent sans
jamais se lasser ses meilleurs et ses pires moments. Ce sont des personnes qui
nous ont soutenus dans chacun de nos instants de faiblesse, et qui, sans leurs
extrême attention et gentillesse, nous ne serions pas ce que nous sommes devenu
aujourd’hui.
En tête de liste de ces gens nous placerons nos familles bien aimées qui
n’ont jamais hésité à nous offrir le meilleur qu’elles pouvaient. Viennent alors
tous nos camarades de promotion ainsi que tous nos amis qui nous ont aidés de
façon directe ou tout simplement par leur présence et leur soutien moral.
2
Dédicace …
A mes très chers parents
Quenelle dédicace en épuise exprimer ce que je leurs dois, pour leur amour, leur
patience, leur générosité et leur confiance en moi…
Trésors de bonté, de tendresse, en témoignage de ma profonde affection et ma
grande reconnaissance «Que Dieu vous garde».
3
Sommaire
Introduction
Générale…………………………………………………………………………………………….………………………………………….7
Chapitre I Etude de l’existant et spécification…………………………………………………………………………………8
Introduction ………………………………………………………………………………………….……..……………………………9
I. Etude de l’existant………………………………………………………………………….…………..………………………………9
1. Objectifs souhaités …………………………………………………………………………………………………………………9
II. Le cahier de charges………………………………………………………………………………………………….………………9
1. Identification des acteurs…………………………………………………………………………………………………………10
2. Capture des besoins……………………………………………………………………………………………………………..…10
Besoins fonctionnels…………………………………………………………………………………………………………..…………10
Besoins non fonctionnels…………………………………………………………..………………………………………………….11
III Les méthodes : Méthodes agiles………………………………………………..………………………………………………11
1. RAD - Développement rapide d'applications ……………………………………………………………………………12
2. DSDM ……………………………………………………………………………………………..…………..…………………………13
3. UP - Unified Process ……………………………………………………………………………….………………………………13
4. RUP - Rational Unified Process ……………………………………………………………………..…………………………13
5. XP - eXtreme Programming………………………………………………………………………………..……………………14
VI. Tableau comparatif des méthodes ………………………………………………………………………..…………………15
V. Explication de choix de la méthode …………………………………………………………………………………………20
Conclusion …………………………………………………………………………………………………….……………….……………21
Chapitre II Conception …………………………………………………………………………………………………………………22
Introduction …………………………………………………………………………………………………………………………………23
I. Les diagrammes de cas d’utilisation ……………………………………………………………………………………………24
I.1 Diagramme de cas d’utilisation général…………………….………………………………………………………………25
I.2. Raffinement des cas d’utilisation ……………………………….……………………………………………………………26
I.3. Diagramme de séquence …………………………………………….…………………………………………………………28
II. Diagramme de classes ………………………………………………………………………………………………………………29
III. Diagramme d’activité ……………………………………………………….……………………………………………………30
III.1. Diagramme d’activité général …………………………………………….…………………………………………………31
III.2. Diagramme d’activité du donjon de la caverne infernale …….…………………………………………………32
III.3. Diagramme d’activité du donjon abyssal………………………………..………………………………………………33
Conclusion ………………………………………………………………………………………..…………………………………………34
Chapitre III Réalisation …………………………………………………………………………..……………………………………35
Introduction………………………………………………………………………………………..……….………………………………36
I. Environnement matériel ……………………………………………………………………………………………………………36
II. Environnement et outils utilisés ……………………………………………………………………..…………………………36
III. Scénarii d’utilisation ………………………………………………………………………….…………….………………………39
Conclusion Générale ……………………………………………………………………………………………………………………50
Webographie ………………………………………………………………………………..……………………….……………………51
Bibliographie ……………………………………………………………………………………………..……………..…………………51
4
Liste des figures
Figure 1: Le cycle de l'Extreme Programming ....................................................................................... 11
Figure 2: Diagramme de cas d’utilisation général ................................................................................. 18
Figure 3 : Raffinement des cas d’utilisation courir ................................................................................ 20
Figure 4 : Raffinement des cas d’utilisation conduire ........................................................................... 20
Figure 5 : Raffinement des cas d’utilisation tirer .................................................................................. 20
Figure 6 : Raffinement des cas d’utilisation viser .................................................................................. 21
Figure 7 : Raffinement des cas d’utilisation se défendre ...................................................................... 21
Figure 8 : Raffinement des cas d’utilisation acheter ............................................................................. 21
Figure 9 : Raffinement des cas d’utilisation vendre .............................................................................. 22
Figure 10 : Raffinement des cas d’utilisation s'enregistrer ................................................................... 22
Figure 11 : Raffinement des cas d’utilisation gerer compte ................................................................. 22
Figure 12 : Raffinement des cas d’utilisation acheter arme.................................................................. 23
Figure 13 : Raffinement des cas d’utilisation achat équipement .......................................................... 23
Figure 14 : Raffinement des cas d’utilisation achat munnissions ......................................................... 23
Figure 15 : Raffinement des cas d’utilisation régler le son ................................................................... 24
Figure 16 : Raffinement des cas d’utilisation régler le graphisme ........................................................ 24
Figure 17 : Raffinement des cas d’utilisation régler le gameplay ......................................................... 24
Figure 18: Diagramme de séquence insription ..................................................................................... 25
Figure 19: Diagramme de séquence login ............................................................................................. 26
Figure 20: Diagramme de classes .......................................................................................................... 27
Figure 21: Diagramme d’activité général .............................................................................................. 29
Figure 22 : Diagramme d’activité du donjon de la caverne infernale ................................................... 31
Figure 23: Diagramme d’activité du donjon abyssal ............................................................................. 33
Figure 24: Capture d’écran de l’interface d’inscription......................................................................... 39
Figure 25: Capture d’écran de l’interface d’authentification ................................................................ 40
Figure 26: Capture d’écran de l’interface du choix du caractère .......................................................... 41
Figure 27: le sanctuaire en vue de haut ................................................................................................ 42
Figure 28: le centre du sanctuaire ......................................................................................................... 43
Figure 29: les camions menant aux donjons ......................................................................................... 44
Figure 30: l'animation de l'un des élits.................................................................................................. 45
Figure 31: pop point du mini boss du premier donjon.......................................................................... 46
Figure 32: les serviteurs attaquent un personnage joueur ................................................................... 47
Figure 33: combat entre le boss et un personnage joueur ................................................................... 48
5
Liste des tableaux
6
Introduction Générale
Alors que le jeu vidéo, après plus de trente ans d'existence commerciale, s'est largement
démocratisé, il inspire toujours autant d'espoirs que de peurs. Certains utilisent ce nouveau
média pour développer des thérapies pour enfants alors que d'autres font souvent
l'amalgame entre, par exemple, un attentat et les habitudes de joueur de son auteur. La
recherche scientifique commence doucement à s'intéresser à cet objet, considéré de plus
en plus comme légitime. Aux États-Unis, une première publication dédiée aux Game
Studies a vu le jour. En France, l'Observatoire des Mondes Numériques en Sciences
Humaines, s’il ne s'occupe pas uniquement des jeux vidéo, contribue à centraliser les
recherches dans ce domaine et à renforcer leur crédibilité. Le site lemonde.fr héberge un
jeu vidéo sur la politique française et organise un concours pour promouvoir la création
vidéo ludique. Ajoutons à cela les nombreuses productions de serious games à travers le
monde, ces jeux à messages, éducatifs ou militants, qui donnent de nouvelles perspectives
sur ce que les jeux vidéo peuvent réaliser.
C’est dans ce cadre que s’insère notre projet de fin d’année qui consiste à concevoir,
réaliser et modéliser le jeu vidéo 3D « Cyborgs »pour pouvoir répondre aux besoins et
proposer des solutions pour son évolution en présentant une nouvelle forme de
conception.
Pour réaliser cet objectif, nous avons adopté la technique UML pour les étapes de
spécification et de conception, les langages C++, C# et Unity Javascript comme langages
de développement du jeu et les langages HTML, Javascript et PHP pour la création du site
web officiel.
1
Le présent rapport s’articule en quatre chapitres. Le premier chapitre intitulé «Etude de
l’existant et spécification » s’intéresse, dans sa première partie, à la présentation de jeu
vidéo dans la société ainsi que l’ensemble des besoins fonctionnels et non fonctionnels.
Dans la seconde partie, nous décrivons la spécification des besoins. Le deuxième chapitre
«Conception» traite l’analyse du système d’une manière plus formelle et présente la
conception détaillée des niveaux données, traitements et présentation.
2
Chapitre I
Etude de
l’existant et
spécification
3
Introduction
Dans ce premier chapitre nous présenterons brièvement l’organisme du menu principal.
Ensuite, nous exposerons les problèmes rencontrés dans le jeu. Puis, nous présenterons le
cahier des charges. Enfin, nous présenterons la technique de conception retenue et les
diagrammes de cas utilisation, de classe et d’activité.
I. Etude de l’existant
1. Objectifs souhaités
Le jeu à réaliser a un message précis a emmètre. Contrairement aux autres jeux de tire et
d’aventure dont le but principal et purement commercial. Cyborgs est un jeu est réalisé pour
monter au joueur que :
Le monde apocalyptique est une évidence si on ne trouve pas de solution
Combattre pour survivre
Un acteur est l’idéalisation d’un rôle joué par une personne externe, un processus ou une
chose qui interagit avec un système.
Nous distinguons deux acteurs en interaction avec notre système dont ils ont un profil
particulier en termes de fonctionnalités. Il s’agit de :
* Joueur :
4
2. Capture des besoins
Le jeu doit être bien conçu au niveau des graphismes, la jouabilité et sur tout l’histoire du jeu.
Pour cela, le système à réaliser doit satisfaire les exigences de la totalité des utilisateurs.
Nous présentons dans ce qui suit tous les besoins fonctionnels ainsi que les besoins non
fonctionnels.
Besoins fonctionnels :
Interface d’authentification
Dans cette partie, le jour à une multitude de choix entre :
o S’authentifier
o Basculer vers le site officiel du jeu pour créer un nouveau compte
o Option/paramètres
o Quitter le jeu
Le sanctuaire
C’est la vile principale ou tous les joueurs se réunissent, ils peuvent faire leurs
approvisionnements de nourriture, de munitions, de rejoindre les troupes de
combattants…etc.
Le donjon de cristal
C’est un donjon ou les combattants affronteront d’autre élite dans un
environnement de cristal et des péisages splendeur.
Le donjon abyssal
Les joueurs affronteront un grand nombre de serviteurs.
Le donjon de la prison
C’est le dernier donjon du jeu, ou les joueurs affronteront l’élite ultime du jeu.
5
Besoins non fonctionnels
Efficacité
Comportement temporel
Désigne la capacité d’un produit logiciel à fournir des temps de réponses, de traitement et un
débit appropriés quand ses fonctions sont utilisées sous certaines conditions. Cela implique,
bien sûr, de définir ces conditions, c’est à dire la charge (surtout les pics de charges, puisque
le système sera dimensionné sur ce pic) estimée par fonctions mais également les volumes
impliqués, et toutes les exigences non-fonctionnelles (cohérence des données, sécurité, etc.).
Désigne la quantité et le type de ressources utilisés (CPU, disque, réseau, mémoire, etc.) et la
durée associée quand ses fonctions sont invoquées
Modifiabilité
Désigne la capacité d’un produit logiciel à permettre une modification spécifiée d’être
implémentée.
Couplage
Le couplage est une propriété indiquant le niveau de dépendances entre composants d’un
système. C’est une propriété globale obtenant à partir du calcul de dépendances entrantes et
sortantes pour chaque composant.
Stabilité
Désigne la capacité d’un produit logiciel à éviter des effets imprévus suite à la modification
du logiciel.
6
Portabilité
Désigne la capacité d’un produit logiciel à être transféré d’un environnement à un autre.
L’environnement peut inclure l’environnement organisationnel, matériel ou logiciel. Un sous-
attribut est l’installabilité que je range avec l’exploitabilité, c’est à dire « une fois mon produit
terminé comment son exécution et son exploitation sont-elle facilité ?»
Les méthodes de développement dites « méthodes agiles »(en anglais Agile Modeling,
noté AG) visent à réduire le cycle de vie du logiciel (donc accélérer son développement) en
développant une version minimale, puis en intégrant les fonctionnalités par un processus
itératif basé sur une écoute client et des tests tout au long du cycle de développement.
Grâce aux méthodes agiles, le client est pilote à part entière de son projet et obtient très
vite une première mise en production de son logiciel. Ainsi, il est possible d'associer les
utilisateurs dès le début du projet.
2. DSDM
La méthode DSDM (Dynamic Software Development Method) a été mise au point en
s'appuyant sur la méthode RAD afin de combler certaines de ses lacunes, notamment en
offrant un canevas prenant en compte l'ensemble du cycle de développement.
7
Les principes fondateurs de la méthode DSDM sont les suivants :
Une implication des utilisateurs
Un développement itératif et incrémental
Une fréquence de livraison élevée
L'intégration des tests au sein de chaque étape
L'acceptation des produits livrés dépend directement de la satisfaction des besoins
3. UP - Unified Process
La méthode du Processus Unifié (UP pour Unified Process) est un processus de
développement itératif et incrémental, ce qui signifie que le projet est découpé en phases très
courtes à l'issue de chacune desquelles une nouvelle version incrémentée est livrée.
5. XP - eXtreme Programming
La méthode XP (pour eXtreme Programming) définit un certain nombre de bonnes pratiques
permettant de développer un logiciel dans des conditions optimales en plaçant le client au
coeur du processus de développement, en relation étroite avec le client.
8
Méthodes Avantages Inconvénients
Origine
L'extreme programming a été inventée par Kent Beck, Ward Cunningham et Ron
Jeffries pendant leur travail sur un projet « C3 » de calcul des rémunérations chez Chrysler.
Kent Beck, chef de projet en mars 1996 commença à affiner la méthode de développement
utilisée sur le projet. Celle-ci est née officiellement en octobre 1999 avec le livreExtreme
Programming Explained de Kent Beck.
9
Pratiques extrêmes
puisque la revue de code est une bonne pratique, elle sera faite en permanence (par un
binôme)
puisque les tests sont utiles, ils seront faits systématiquement avant chaque mise en œuvre
puisque la conception est importante, elle sera faite tout au long du projet (refactoring)
puisque la simplicité permet d'avancer plus vite, nous choisirons toujours la solution la
plus simple
puisque la compréhension est importante, nous définirons et ferons évoluer ensemble des
métaphores
puisque l'intégration des modifications est cruciale, nous l'effectuerons plusieurs fois par
jour
puisque les besoins évoluent vite, nous ferons des cycles de développement très rapides
pour nous adapter au changement.
10
Cycle de développement
L'extreme programming repose sur des cycles rapides de développement (des itérations de
quelques semaines) dont les étapes sont les suivantes :
une phase d'exploration détermine les scénarios "client" qui seront fournis pendant cette
itération
l'équipe transforme les scénarios en tâches à réaliser et en tests fonctionnels
chaque développeur s'attribue des tâches et les réalise avec un binôme
lorsque tous les tests fonctionnels passent, le produit est livré
Le cycle se répète tant que le client peut fournir des scénarios à livrer. Généralement le cycle
de la première livraison se caractérise par sa durée et le volume important de fonctionnalités
embarquées. Après la première mise en production, les itérations peuvent devenir plus courtes
(une semaine par exemple).
Valeurs
11
Communication
C'est le moyen fondamental pour éviter les problèmes. Les pratiques que préconise l'XP
imposent une communication intense. Les tests, la programmation en binôme et le jeu du
planning obligent les développeurs, les décideurs et les clients à communiquer. Si un manque
apparaît malgré tout, un coach se charge de l'identifier et de remettre ces personnes en
contact.
Simplicité
La façon la plus simple d'arriver au résultat est la meilleure. Anticiper les extensions futures
est une perte de temps. Une application simple sera plus facile à faire évoluer.
Feedback
Le retour d'information est primordial pour le programmeur et le client. Les tests unitaires
indiquent si le code fonctionne. Les tests fonctionnels donnent l'avancement du projet. Les
livraisons fréquentes permettent de tester les fonctionnalités rapidement.
Courage
Respect
Cette valeur fut ajoutée dans la deuxième édition de Extreme Programming Explained de K.
Beck. Cette valeur inclut le respect pour les autres, ainsi que le respect de soi. Les
programmeurs ne devraient jamais valider les modifications qui cassent la compilation, qui
font échouer les tests unitaires existants ou qui retardent le travail de leurs pairs. Les membres
respectent leur propre travail en cherchant toujours la qualité et la meilleure conception pour
la solution et cela grâce au refactoring.
Pratiques
Un représentant du client doit, si possible, être présent pendant toute la durée du projet. Il doit
avoir les connaissances de l'utilisateur final et avoir une vision globale du résultat à obtenir. Il
réalise son travail habituel tout en étant disponible pour répondre aux questions de l'équipe.
12
Jeu du planning ou planning poker
Le client crée des scénarios pour les fonctionnalités qu'il souhaite obtenir. L'équipe évalue le
temps nécessaire pour les mettre en œuvre. Le client sélectionne ensuite les scénarios en
fonction des priorités et du temps disponible.
Intégration continue
Lorsqu'une tâche est terminée, les modifications sont immédiatement intégrées dans le produit
complet. On évite ainsi la surcharge de travail liée à l'intégration de tous les éléments avant la
livraison. Les tests facilitent grandement cette intégration : quand tous les tests passent,
l'intégration est terminée.
Petites livraisons
Les livraisons doivent être les plus fréquentes possible. L'intégration continue et les tests
réduisent considérablement le coût de livraison.
Rythme soutenable
L'équipe ne fait pas d'heures supplémentaires. Si le cas se présente, il faut revoir le planning.
Un développeur fatigué travaille mal.
À partir des scénarios définis par le client, l'équipe crée des procédures de test qui permettent
de vérifier l'avancement du développement. Lorsque tous les tests fonctionnels passent,
l'itération est terminée. Ces tests sont souvent automatisés mais ce n'est pas toujours possible.
En effet, seuls les tests de non régression peuvent être potentiellement automatisés du fait de
leur récurrence. La recette fonctionnelle d'une application est de plus en plus souvent confiée
à des experts du test indépendants des développeurs.
Tests unitaires
Avant de mettre en œuvre une fonctionnalité, le développeur écrit un test qui vérifiera que son
programme se comporte comme prévu. Ce test sera conservé jusqu'à la fin du projet, tant que
la fonctionnalité est requise. À chaque modification du code, on lance tous les tests écrits par
tous les développeurs, et on sait immédiatement si quelque chose ne fonctionne plus.
13
Conception simple
L'objectif d'une itération est de mettre en œuvre les scénarios sélectionnés par le client et
uniquement cela. Envisager les prochaines évolutions ferait perdre du temps sans avoir la
garantie d'un gain ultérieur. Les tests permettront de changer l'architecture plus tard si
nécessaire. Plus l'application est simple, plus il sera facile de la faire évoluer lors des
prochaines itérations.
Utilisation de métaphores
On utilise des métaphores et des analogies pour décrire le système et son fonctionnement. Le
fonctionnel et le technique se comprennent beaucoup mieux lorsqu'ils sont d'accord sur les
termes qu'ils emploient.
L'équipe est collectivement responsable de l'application. Chaque développeur peut faire des
modifications dans toutes les portions du code, même celles qu'il n'a pas écrites. Les tests
diront si quelque chose ne fonctionne plus.
Convention de nommage
Puisque tous les développeurs interviennent sur tout le code, il est indispensable d'établir et de
respecter des normes de nommage pour les variables, méthodes, objets, classes, fichiers, etc.
Programmation en binôme
La programmation se fait par deux. Le premier appelé driver (ou pilote) tient le clavier. C'est
lui qui va travailler sur la portion de code à écrire. Le second appelé partner (ou copilote) est
là pour l'aider en suggérant de nouvelles possibilités ou en décelant d'éventuels problèmes.
Les développeurs changent fréquemment de partenaire ce qui permet d'améliorer la
connaissance collective de l'application et d'améliorer la communication au sein de l'équipe.
14
Autres principes
Environnements défavorables
Conclusion
Dans ce chapitre, nous avons décrit les principales fonctionnalités de notre application. Ainsi,
nous avons analysé le système et ses besoins. Nous allons passer par la suite au chapitre
suivant qui s’intéressera à la conception.
15
Chapitre II
Conception
16
Introduction
Afin de concrétiser les attentes attendues, une bonne conception s’avère cruciale et
indispensable. En effet, l’étape de conception constitue le noyau de développement d’un
projet. Pour cela, nous utilisons UML qui fournit une vue complète des aspects statiques et
dynamiques du système dans ses différents états. Nous aborderons la conception selon deux
axes : statique et dynamique. Nous présenterons alors le diagramme de classes correspondant
à notre système.
Mais dans la création des jeux vidéo, la partie conception ne prend pas une grande partie de
l’étude du projet, par contre la partie réalisation prend son ampleur.
17
I. Les diagrammes de cas d’utilisation
I.1 Diagramme de cas d’utilisation général
La figure 1 représente le diagramme de cas d’utilisation générale. Dans les jeux on a un seul
diagramme de ca d’utilisation. Une fois le joueur a ouvert le jeu, il a un accès direct à
l’interface d’authentification. Il a une multitude de choix, il règle le son, la qualité du
graphisme ou commencer à jour et là il peut faire tout ce que une personne ordinaire peut faire
(courir, se battre, marcher, etc…) et bien sûr faire une pause, et enfin il puisse quitter le jeu.
Dans ce jeu, la carte se divise en plusieurs emplacements. Le sanctuaire ou la ville principale,
c’est l’endroit où tous les joueurs connectés se réunissent. Ils ont accès au marchand pour se
procurer d’arme de munitions, d’armure et bien sûr de nourriture. Apres on a les donjons, ou
les joueurs affronterons des serviteurs et leurs maitre, c’est un élit à combattre pour s’emparer
de son précieux butin. Il y en a plusieurs et selon l’équipement des joueur que ce dernier est
franchissable ou ils se feront massacrer ou même mort par un seul coup.
Mais avant tout ça, le joueur doit se connecter sur le jeu. Pour cela il a besoin d’avoir un
compte. Il peut s’en procurer un sur le site officiel du jeu. Il a aussi accès a la boutique en
ligne ou il peut acheter des pièces d’or, des pièces d’armures épique, de la munissions
puissante ou il ne les trouvera pas dans le jeu.
18
Figure 2 : Diagramme de cas d’utilisation général
19
I.2. Raffinement des cas d’utilisation :
Courir
Titre : Courir
But : faire déplacer le personnage joueur en courant.
Résumé : Une fois authentifié le joueur clique sur les touches Z, Q, S et D pour couri.
Acteur : Joueur.
Conduire
Titre : Conduire
But : faire déplacer le véhicule que conduit le joueur.
Résumé : Une fois authentifié le joueur clique sur les touches Z, Q, S et D pour déplacer son
véhicule
Acteur : Joueur.
Tirer
Titre : Tirer
But : Tirer une balle
Résumé : Une fois authentifié le joueur clique sur le bouton gauche de la sourie pour tirer
une balle ou une rafale sur les ennemies qui est en train de combattre.
Acteur : Joueur.
20
Viser
Titre : Viser
But : Zoomer avec son arme
Résumé : Une fois authentifié le joueur fais tourner la roulette de son sourie pour avoir plus
de précision lors de son tire sur les ennemies
Acteur : Joueur.
Se défendre
Titre : Se défendre.
But : Ne pas mourir.
Résumé : Une fois authentifié le joueur peut se défendre en se cachant derrière son bouclier
si le joueur clique sur le bouton droit de la sourie.
Acteur : Joueur.
Acheter
Titre : Acheter
But : Acheter des objets chez le marchand.
Résumé : Une fois authentifié le joueur peut interagir avec les marchands en avoir
l’opportunité d’acheter de la nourriture, des armes, des armures et de la munissions contre
des pièces d’or.
Acteur : Joueur.
21
Vendre
Titre : Vendre
But : Vendre des objets au marchand.
Résumé : Une fois authentifié le joueur peut interagir avec les marchands en avoir
l’opportunité de lui vendre de la nourriture, des armes, des armures et de la munissions
contre des pièces d’or.
Acteur : Joueur.
S’enregistrer
Titre : S’enregistrer
But : Créer un compte
Résumé : Une fois sur le site officiel du jeu, le joueur peut se procurer un compte en
introduisant le nom du comte et un mot de passe et sa confirmation. Avoir un compte est
primordial pour s’authentifier sur le jeu.
Acteur : Joueur.
Gérer compte
22
Achat arme
Achat équipement
Achat munissions
23
Régler le son
Titre : Son
But : Ajuster le son
Résumé : Une fois authentifié le joueur peut ajuster le volume du son, le bruitage, les effets
spéciaux et la musique à ses envies.
Acteur : Joueur.
Régler le graphisme
Titre : Graphisme.
But : Ajuster les détails de l’environnement.
Résumé : Une fois authentifié le joueur peut ajuster la résolution de l’affichage, la qualité
des détails, et la distance de vue à ses envies.
Acteur : Joueur.
Régler le gameplay
Titre : Gameplay.
But : Ajuster le mode de jeu.
Résumé : Une fois authentifié le joueur peut ajuster la jouabilité à ses envies en réglant les
touches de déplacement et la sensibilité de la sourie.
Acteur : Joueur.
24
I.3. Diagramme de séquence :
25
Figure 19: Diagramme de séquence login
26
II. Diagramme de classes :
27
Classe joueur : désigne l’utilisateur de l’application, et dans notre cas l’utilisateur est
le joueur.
Classe caméra : désigne la camera qui suivra la personnage joueur dans le jeu, les
yeux du joueur.
Classe environnement : représente les bâtiments, voiture, l’eau, le ciel, etc…
Classe ennemie: définit les personnages non joueurs (PNJ) dans le jeu que le joueur va
affronter.
Classe vendeur : représente les personnages non joueurs que les joueurs achète ses
approvisionnement de armes, munitions…etc.
Classe obstacle : c’est les difficultés que le joueur doit franchir pour atteindre son but.
Classe objet : c’est les différentes composent de l’environnement.
Classe item : c’est tout ce qui est arme, armure ou munissions acheté ou vendu chez un
marchand.
28
III. Diagramme d’activité
III.1. Diagramme d’activité général
29
La figure 3 représente le diagramme d’activité général, le joueur est au menu
d’authentification, il peut faire plusieurs choix entre régler le son et le graphisme, se
connecter au jeu et commencer à jouer ou le libre choix de quitter le jeu.
Le site officiel du jeu offre l’opportunité de crée un compte, de choisir son nom et le mot de
passe. L’onglet boutique du site permet d’acheter des pièces d’armure épiques, de la
munissions et des armes puissante qui ne se trouvent pas dans le jeu.
Pour ce qui concerne le jeu, les MMORPG sont connue par l’open world, ce qui signifie que
la carte et tellement large qu’on peut passer des heures pour la parcourir. Mais aussi le joueur
a le libre choix de faire absolument ce qu’il veut. Autrement dit il n’est pas guidé par un
scénario.
30
III.2. Diagramme d’activité du donjon de la caverne infernale
31
La figure 4 représente le diagramme d’activité du donjon de la caverne infernale c’est le
premier donjon qui aide le joueur à se familiariser avec l’environnement et à la mode jeu.
Ici le niveau du jeu n’est pas trop difficile, il doit tuer des serviteurs tout au long du donjon.
Mais les deux principaux élit sont plus dure. Pour récupérer le butin il doit tuer le dernier,
mais pour ouvrir le passage il doit tuer le premier.
32
III.3. Diagramme d’activité du donjon abyssal
33
Conclusion
Tout au long de ce chapitre, nous avons présenté le niveau conceptuel à travers différents
diagrammes et nous avons dégagé tous les éléments et modules conceptuels qui aident à la
bonne réalisation de notre jeu. Cette phase permet d'avoir un passage souple et facile à
l'étape suivante, à savoir étape de réalisation.
34
Chapitre III
Réalisation
35
Introduction
L’étape de réalisation consiste à la mise en œuvre de ce qui a été élaboré durant la phase de
conception. Nous commençons, dans ce chapitre, par présenter l’environnement matériel et
logiciel ainsi que les étapes de déploiement du jeu. Enfin, nous terminerons par la
présentation de quelques interfaces du travail réalisé.
I. Environnement matériel
Pour la réalisation de ce jeu, nous avons utilisé un micro-ordinateur puissant ayant les
caractéristiques suivantes pour pouvoir gérer la gourmandise en ressources des logiciels
utilisés:
Principales caractéristiques :
36
d’applications 3D interactives ou de jeux vidéo grâce à son moteur de jeu intégré
(le Blender Game Engine), ainsi que diverses simulations physiques telles que les
particules, les corps rigides, les corps souples et les fluides. Disponible dans de
nombreuses langues, Blender est également disponible sur plusieurs plates-formes
telles que GNU/Linux, IRIX, Solaris, FreeBSD, SkyOS, MorphOS etPocket PC.
De plus, c’est un programme extensible (ajout de scripts) à l’aide du
langage Python.
Manipulateur de données audio : Audacity [3]: est un logiciel libre pour la
manipulation de données audio numériques. Audacity permet d'enregistrer du son
numérique par le biais des entrées ligne/micro/cd des cartes sons. Il permet d'éditer
(copier, coller, sectionner…) les sons sur plusieurs pistes, et il est accompagné de
divers filtres et effets : pitch, tempo, réduction de bruit, égaliseur, filtres de
Fourier, augmentation de fréquences précises, compression,
amplification, normalisation, écho, phaser, wahwah, inversion…
L'auteur d'Audacity, à l'origine, est Dominic Mazzoni, de l'Université Carnegie-
Mellon et travaillant actuellement chez Google. Au total, une vingtaine de
développeurs et une trentaine de traducteurs participent ou ont participé à ce
projet.
Unity javascript [4]: Bien que beaucoup dans la communauté de développement de
l'unité (et même dans la société de l'unité) se réfèrent à UnityScript et JavaScript
comme si elles étaient équivalentes ou interchangeables, les deux sont très
différentes langues. Bien qu'ils se ressemblent syntaxiquement, ils ont très
différentes sémantiques.
37
Une mise à jour mineure a été publiée en 2014 sous le nom de ISO/CEI 14882:2014.
Le prochain standard devrait être publié en 2017.
En langage C, ++ est l'opérateur d'incrémentation, c'est-à-dire l'augmentation de la
valeur d'une variable de 1. C'est pourquoi C++ porte ce nom : cela signifie que C++
est un niveau au-dessus du C. Il existe de nombreuses bibliothèques C++ en plus de
labibliothèque standard de C++ (C++ Standard Library) qui est incluse dans la norme.
Par ailleurs, C++ permet l'utilisation de l'ensemble des bibliothèques C existantes.
C#[6] est un langage de programmation orienté objet, commercialisé
par Microsoft depuis 2002 et destiné à développer sur la plateforme
Microsoft.NET.
Il est dérivé du C++ et très proche du Java dont il reprend la syntaxe générale ainsi
que les concepts, y ajoutant des notions telles que la surcharge des opérateurs, les
indexeurs et les délégués. Il est utilisé notamment pour développer
des applications web sur la plateforme ASP.NET.
L’Hypertext Markup Language[7] généralement abrégé HTML, est le format de
données conçu pour représenter les pages web. C’est un langage de
balisage permettant d’écrire de l’hypertexte, d’où son nom. HTML permet
également de structurer sémantiquement et de mettre en forme le contenu des
pages, d’inclure des ressources multimédias dont des images, des formulaires de
saisie, et des programmes informatiques. Il permet de créer des
documents interopérables avec des équipements très variés de manière conforme
aux exigences de l’accessibilité du web. Il est souvent utilisé conjointement avec
des langages de programmation (JavaScript) et des formats de présentation
(feuilles de style en cascade). HTML est initialement dérivé duStandard
Generalized Markup Language (SGML)
PHP: Hypertext Preprocessor[6], plus connu sous son sigle PHP (acronyme
récursif), est un langage de programmation libre, principalement utilisé pour
produire des pages Web dynamiques via un serveur HTTP, mais pouvant
également fonctionner comme n'importe quel langage interprété de façon locale.
PHP est un langage impératif orienté objet.
PHP a permis de créer un grand nombre de sites web célèbres,
comme Facebook, Wikipédia, etc. Il est considéré comme la base de la création
des sites Internet dits dynamiques.
38
III. Scénarii d’utilisation
Dans cette partie, nous allons présenter des imprimés écran qui décrivent le déroulement de
quelques opérations de notre jeu. Elle sera devisée en deux parties, le site web officiel et le jeu
lui-même.
L’interface d’inscription :
Description :
Cette figure montre l’interface de d’inscription et d’authentification sur le site officiel
du jeu. Si le joueur entre un nom du compte avec le bon mot de passe
l’authentification est valide et l’accès au compte et permis et le joueur peut modifier
son compte. Sinon si le compte existe déjà mais un mauvais mot de passe est
introduite, un message d’erreur s’affiche demandant au joueur de vérifier le mot de
passe. Et sinon si le joueur tape un nom de compte non existant, un message d’erreur
s’affiche en demandant au joueur s’il veut enregistrer ce nouveau compte.
Les champs sont obligatoires.
Le bouton ‘’ Valider ‘’ envoie les données à la base de données.
Le bouton ‘’Annuler’’ est un bouton RESET.
39
L’interface d’authentification :
Description :
40
l’interface du choix du caractère :
Description :
C’est interface ou le joueur choisira un personnage jouable parmi plusieurs qui va l’incarner tout au
long de son aventure. Et bien sur chaque caractère a ses propres pouvoirs qui le caractérisent des
autres et permet au joueur de varier leurs expériences et de la vivre différemment.
41
Le sanctuaire en vue de haut :
Description :
C’est la carte du sanctuaire en vue de haut qui montre la ville ou se groupent les joueurs pour
former leur raids, communiquer se procurer des armes, munissions, armures et de la
nourriture chez les marchands.
42
Le centre du sanctuaire :
Description :
43
Les camions menant aux donjons :
Description :
Pour partir en combat et affronter les serviteurs et les élites, les joueurs doivent emprunter des
véhicules de combat pour assurer leur déploiement en toute sécurité.
44
L'animation de l'un des élits :
Description :
C’est l’interface du logiciel Blender 3D[2], un logiciel de rondeur 3D, la figure montre la façon
de faire animer un objet 3D. Dans ce cas c’est l’un des élites que les joueurs vont affronter
pendant leurs combats. Ici on voit les ‘’bones ‘’ ou les os, c’est réellement les objets qui
bougent pendant l’animation, le reste ce n’est que de l’habillage.
45
Pop point du mini boss du premier donjon :
Description :
L’endoit ou se déroule le premier combat est réalisé d’une manière pour que ça soit plus
proche possible de la réalité. 278 points d’éclairages[7] 352 fontaines de laves[7] et plus de 80
lignes de programmation en Unity Javascript ont étais placé pour seulement donner à l’eau un
effet de lave coulante.
46
Les serviteurs attaquent un personnage joueur :
Description :
Pour arriver au élites et les combattre, les joueurs doivent parcourir des couloirs remplis de
serviteurs qui défendent leurs donjon et leur boss. Ils sont facile à tuer mais leur grand nombre
devient la difficulté pour se frire un chemin vers l’élite.
47
Combat entre le boss et un personnage joueur :
Description :
C’est un combat contre le premier des scinques élites ultimes du jeu. Il réside dans le donjon
de la caverne infernale. Pour le tomber, les joueurs doivent être bien synchronisés et suivre
une stratégie bien étudier.
48
Conclusion
Générale
49
Tout au long de ce rapport, nous avons tenté d’expliquer le plus clair possible les procédures
du développement de l’application que nous avons élaborée, à savoir, la phase de
spécification, la phase de conception et la phase de réalisation.
Notre projet a commencé par étudier les objectifs du projet, présenté dans le cahier des
charges et par la suite nous sommes intéressés à l’analyse des différentes fonctionnalités.
A travers la conception, nous avons pu modéliser les différents niveaux de l’application grâce
aux différents modèles de la technique UML que nous avons adoptée tout au long de ce
travail. En plus, le choix des outils de développement, qui ont prouvé leur efficacité dans un
tel type de projet, nous a bien aidés à achever cette application.
Nous avons bien essayé d’accomplir toutes les fonctionnalités du système indiquées dans la
spécification, mais, faute de temps, nous n’avons pas pu terminer l’opération qui traite les
statistiques et nous espérons de l’accomplir dans les dates futures.
Enfin, cette expérience pratique dans un environnement aussi riche présente une occasion
fructueuse pour nous qui a fortement enrichi nos acquis académiques et théoriques à grande
échelle d’autant plus que l’on considère, au-delà de son aspect éducatif, comme expérience
professionnelle au vrai sens du mot.
50
Webographie
[1]https://unity3d.com/get-unity 02/04/2016
[2]https://www.blender.org/download/ 12/05/2016
[3]http://www.audacityteam.org/download/ 13/04/2016
[4]https://developer.mozilla.org/fr/docs/Web/JavaScript 05/05/2016
[5]http://php.net/ 17/05/2016
[6]https://www.assetstore.unity3d.com/en/ 13/06/2016
[7]http://dotnet.developpez.com/csharp/ 24/05/2016
Bibliographie
PFE Conception et réalisation d’une application de gestion de parc informatique 2009-2010
PFE Conception et réalisation d’une application mobile de gestion d’un magasin 2014-2015
51
Résumé :
Ce projet est réaliser avec les moyens les plus sophistiqué de la technologie qu’a pu exister
de nos jours, une machine parmi l’une des plus puissantes au marché, les dernières versions
de logiciels disponibles, les langages de programmation les plus utilisée au monde, des
méthodes qui ont montrer leurs efficacité dans les plus grande boite de développement et une
conduite de projet bien structuré qui assure la bonne déroulement du travail.
L’objectif de ce travail et de mettre en évidence toutes les connaissances que j’ai pu appris
pendant les trois ans d’apprentissage de mon cycle d’ingénieur dans la UAS. J’ai utilisé 95%
des matières que j’ai appris, l’intelligence artificielle, la programmation, la conception, la
conduite de projet, la base de données… etc.
Summary :
This project is realized with the most sophisticated means of technology has been able to
exist today, a machine from one of the most powerful in the market, the latest versions of
software available, the most used programming languages in the world , methods that have
shown their efficacy in larger box development and a well structured project management
that ensures good workflow.
The aim of this work and to highlight all the knowledge that I have learned during three years
learning my engineering cycle in the UAS. I used 95% of the material that I learned, artificial
intelligence, programming, design, project management, database ... etc.
52