SlideShare une entreprise Scribd logo
1
2
Dédicace :
Sondes Jaouadi :
Maman, Papa, vous représentez pour moi le symbole de la bonté par excellence, la source
de l’amour et l’exemple du dévouement. Votre prière et bénédiction m’ont été d’un grand
secours pour mener à bien mes études. Aucun dédicace n’ait jamais assez pour exprimer ce que
vous méritez pour tous vos sacrifices depuis ma naissance, durant mon enfance et jusqu'à
aujourd'hui. Que Dieu, le tout-puissant, vous accorde santé, bonheur et longue vie et fait en
sorte que, jamais, je ne vous déçoive.
A mes chers et adorables frères et sœurs :
• Saif, mon idole et source d’inspiration.
• Sofiene le ‘beauty’ de ma vie que j’aime profondément.
• Salma mon âme sœur, l’amie qui m’a accompagné durant mon voyage, la force
qui rassure le plus peureux, la femme au grand cœur.
• Sanouda, prunelle de mes yeux.
Votre joie et votre gaieté me comblent de bonheur. Puisse Dieu vous garder, éclairer votre route
et vous aider à réaliser à votre tour vos vœux les plus chers.
A mes chères cousines Khoukha, Tbibti et, Dadouja merci pour votre support et votre amour.
A mes cher(e)s ami(e)s Amoula source de bonheur, Abir la touche Artistique, Shayma la
folie, Marwa le sourire, Karim, cher Kassou, Saz, Saiyef, Auday, Cherif, Hamidou, Ahmed,
3ak3ouk et Aziz el ‘Chella’ sans vous la vie sera moins belle et moins radieuse, que je vous
aime.
Et finalement à toutes les personnes et les ami (e) s qui ont participé à l’élaboration de ce
travail, à tous ceux que j’ai omis de citer.
3
Mohamed Karin Sakran :
Je dédie ce projet à :
Ma grand-mère, qui a œuvré pour ma réussite, par son amour, son soutien, tous les
sacrifices consentis et ses précieux conseils, pour toute son assistance et sa présence dans ma
vie. Reçois à travers ce travail aussi modeste soit-il, l'expression de mes sentiments et de mon
éternelle gratitude.
Mes amis qui n'ont cessé d'être pour moi des exemples de persévérance, de courage et de
générosité.
Arwa Argoubi :
Je dédie ce travail à :
À ma mère et mon père en témoignage de ma profonde affection et mon infinie reconnaissance.
À ma chère sœur : Amira
À mes chers amis : Saif , Rahma , Amira et Rihem
A tous mes amis
Merci pour ceux qui n’ont jamais cessé de me soutenir tout au long de la réalisation de ce projet.
4
Remerciements
Ce projet est le résultat d'une démarche appuyée par la contribution de plusieurs
personnes.
Nous tenons à remercier le corps administratif et enseignant de « l’Institut Supérieur des
Arts Multimédia de Manouba » pour les divers enseignements qui nous ont permis de réaliser
notre projet de fin d’études.
Nous remercions, plus particulièrement, cher monsieur Mohamed Karim AZIZI notre
encadrant technique et chère madame Dorra MASRI notre encadrante graphique pour nous
offrir les meilleures conditions de travail et pour les précieux conseils prodigués tout le long de
notre projet.
Nous exprimons, également, nos vives gratitudes et nos meilleurs respects, à notre
professeur et encadrant Mohamed Ali CHALBI pour sa disponibilité, sa patience et son aide
précieux ainsi à madame Samia CHELBI pour son accueil chaleureux au sein de la société «
NetInfo »
Finalement, nous tenons à exprimer nos remerciements les plus sincères aux membres
de jury qui ont pris la peine d’évaluer ce travail faisant preuve d’attention et de patience.
5
Table de matière :
INTRODUCTION.......................................................................................................... 8
1. Contexte général du projet :.............................................................................. 9
2. Objectifs du projet : .......................................................................................... 9
3. Environnement de travail : ............................................................................... 9
4. Approche méthodologique : ........................................................................... 10
...................................................................................................................................... 13
...................................................................................................................................... 13
ETAT DE L’ART......................................................................................................... 13
Introduction :............................................................................................................. 14
1. L’univers des jeux vidéo : .............................................................................. 14
1.1 Les types des jeux vidéo : ............................................................................... 14
1.2 Les genres des jeux vidéo : ............................................................................. 17
1.3 Les Modes des jeux vidéo :............................................................................. 22
1.4 Les Types d’univers des jeux vidéo :.............................................................. 24
1.5 Les jeux vidéo à potentiel pédagogique (Serious Game) :.............................. 26
1.6 Le public cible des jeux vidéo :....................................................................... 27
1.7 Bilan et choix : ................................................................................................ 28
2. Etude de l’existant : ........................................................................................ 29
2.1 Etude des jeux similaires................................................................................. 29
Conclusion :.............................................................................................................. 34
Beyond Eden, The Star of Gora ................................................................................... 35
Introduction :............................................................................................................. 36
1. Description et Synopsis du jeu vidéo :.................................................................. 36
1.1 But du produit : ............................................................................................... 36
1.2 Objectifs personnels :...................................................................................... 36
1.3 Clientèle cible : ............................................................................................... 36
6
1.4 Synopsis du jeu : ............................................................................................. 36
1.5 Description visuelle et sonore :....................................................................... 38
1.6 Schémas de navigation :.................................................................................. 38
2. Spécifications des besoins fonctionnelles :........................................................... 39
3. La conception de l’application :............................................................................ 43
4. Spécifications des besoins non fonctionnelles :.................................................... 49
5. Logiciels utilisés : ................................................................................................. 58
Conclusion :.............................................................................................................. 58
Let’s Learn.................................................................................................................... 59
Chapitre 1 : Sprint 2 : Création de l'environnement :................................................... 60
Introduction :............................................................................................................. 60
1. Tableau prévisionnel du sprint : ..................................................................... 60
2. Conception de l’environnement, modélisation et programmation : ..................... 65
2.1 Première mission :........................................................................................... 65
2.2 Deuxième mission :....................................................................................... 70
2.3 Troisième et quatrième mission :.................................................................... 72
2.4 Cinquième mission.......................................................................................... 84
2.5 Sixième mission .............................................................................................. 93
Let’s Fight : .................................................................................................................. 94
Sprint 3 : conceptions des personnages, modélisation et programmation.................... 95
Introduction............................................................................................................... 95
Tableau prévisionnelle du sprint :............................................................................. 95
1. Création des personnages joueurs................................................................... 99
1.1 Mission 1 et 2 : ................................................................................................ 99
1.2 Missions 3/4/5/6 :.......................................................................................... 107
2. Création des personnages non joueurs : ....................................................... 121
2.1 Mission 2 :..................................................................................................... 121
7
2.2 Mission 4 :..................................................................................................... 127
2.3 Mission 5 :..................................................................................................... 132
2.4 Mission 6 :..................................................................................................... 139
Sprint 4 : Création de la charte graphique :................................................................ 147
Introduction :........................................................................................................... 147
Tableau prévisionnelle du sprint :........................................................................... 147
1. Le logo :........................................................................................................ 148
2. Conception et création des GUIs :................................................................ 150
2.1 Interface du Menu Principal :........................................................................ 151
2.2 Interface du Menu Pause :............................................................................. 153
2.3 Interface Game Over:.................................................................................... 154
2.4 Intégration des menus : ................................................................................. 155
2.5 Interfaces du jeu :.......................................................................................... 157
Let’s Win :.................................................................................................................. 160
Sprint 5 : création des cinématiques :......................................................................... 161
1. Tableau prévisionnelle du sprint : ................................................................ 161
2. Création de la cinématique : ......................................................................... 162
Sprint 6 : Achèvement du projet :............................................................................... 175
1. Tableau prévisionnelle du sprint : ................................................................ 175
3. Conception sonore :...................................................................................... 176
4. Exportation du projet :.................................................................................. 184
5. Publication du jeu :....................................................................................... 186
Conclusion :................................................................................................................ 188
1. Bilan du projet : ............................................................................................ 188
2. Bilan personnel :........................................................................................... 188
3. Perspectives : ................................................................................................ 188
Bibliographie :............................................................................................................ 194
8
9
1. Contexte général du projet :
Le temps accordé aux loisirs prend une place de plus en plus importante dans la vie des
jeunes d’aujourd’hui. En effet, plusieurs observations révèlent la participation massive de la
tendance des jeux vidéo à notre épanouissement quotidien. Notamment, et étant des jeunes
Gamers, nous avons grandi avec ce phénomène qui, actuellement, fait partie de notre culture.
Cependant, les questionnements qui se présentent à ce niveau sont : peut-on faire partie
de ce monde créatif qui uni à la fois la science et l’art ? Comment outiller efficacement nos
connaissances pour affronter la démarche complexe de la conception d’un jeu vidéo ?
Notre projet de fin d’études vise à la conception et la réalisation d’un jeu vidéo 2D avec
une vue isométrique pour clôturer notre cursus universitaire à l’Institut Supérieur des Arts et
Multimédia de la Manouba (ISAMM). D’ailleurs, il constitue une occasion pour déployer nos
perceptions et profiter d’une expérience professionnelle complémentant notre formation à
l’ISAMM.
2. Objectifs du projet :
L’objectif principal de notre projet est de réaliser un jeu 2D permettant d’allier l’aspect
pédagogique et éducatif avec l’aspect ludique. Ainsi, nous visons à offrir un produit capable de
livrer aux joueurs une expérience complète et captivante en termes de scénario, de
fonctionnalités et de graphique. De plus, nous aspirons à tester et améliorer nos compétences
du développement du jeu vidéo, et ce en découvrant et assimilant de nouvelles connaissances.
Enfin, nous soutenons le travail d’équipe qui nous donnera un aperçu sur son importance pour
l’intégration dans la vie professionnelle.
3. Environnement de travail :
 Présentation générale de la société :
Dans cette partie, nous présentons d’une manière générale l’environnement dans lequel
nous avons développé notre jeu et l’entreprise qui nous a assistés. Le stage complémentaire de
notre projet a été effectué au sein de « Net Info » pendant une durée de trois mois.
10
 Nom : NET-INFO.
 Fondateurs : CHELBI Sabeur & CHELBI Samia.
 Date de création : 1999.
 Lieux : Nabeul et Tunis
 NET-INFO (S.A.R.L) : est une école de formation 3D certifiée ISO 9001:2008 et
agréée par le ministère de la formation professionnelle tunisien. Depuis quinze ans,
l’institut offre des formations qualifiantes et certifiées en infographie, techniques de
production de l'image, effets spéciaux visuels, cinéma d'animation et aux jeux vidéo.
 Présentation des participants au projet :
Nous sommes une équipe multidisciplinaire de trois membres ; Sondes Jaouadi
(IM), Mohamed Karim Sakran (IM) et Arwa Argoubi (CM) qui cherche à fusionner l’art
et la programmation.
Plusieurs participants ont contribué à la réalisation de ce projet :
4. Approche méthodologique :
 Les disciplines adoptées :
La conception de notre jeu « Beyond Eden » nous a exigé de faire recours aux plusieurs
cours étudiés durant les trois dernières années au sein de l’ISAMM. Notre objectif consiste à
employer des connaissances pertinentes et utiles dans la réalisation de ce projet, acquises à
travers les matières suivantes :
Mr. Mohamed Ali Chalbi
Encadrant technique – Net Info
ENetInfoMme. Dorra Masri
Encadrante graphique - ISAMM
ENetInfo
Sondes Jaouadi
Développeur Designer graphique
ENetInfoMohamed Karim Sakran
Développeur
ENetInfoArwa Argoubi
Designer graphique
ENetInfo
Mr. Mohamed karim Azizi
Encadrant technique - ISAMM
ENetInfo
11
 Intelligence Artificielle : Nécessaire pour la création des comportements des
personnages, de l’environnement etc.
 Modélisation/Animation 2D : Utile pour la modélisation des éléments de
l’environnement, des personnages et leurs animations 2D.
 Programmation 2D : Essentiel durant l’utilisation du moteur de jeu Unity 2D.
 Conception Orientée Objets et Génie Logiciel : Primordiale pour le cycle de vie et
les phases d’analyse et de conception du projet.
 Design et Conception Graphique : Obligatoire pour la création des objets 2D ainsi
que les interfaces du jeu.
 Ingénierie logicielle adoptée :
Tout au long de notre projet, Nous avons opté pour l’utilisation d’UML pour la
conception et Scrum en tant que méthodologie agile.
 UML : est un langage de modélisation graphique à base de pictogrammes conçu pour
fournir une méthode normalisée pour visualiser la conception des différentes vue
(statiques/dynamiques) d'un système.
 Scrum : Scrum est une méthode agile permettant de répondre à des besoins changeants
tout en livrant, de manière productive, des produits de qualité.
 Structure du rapport :
Afin de garantir une organisation logique, une hiérarchie cohérente et une possibilité de
traquer l’évolution de notre projet, nous avons fixé une répartition intelligente basée d’une part
sur la méthodologie de Scrum, et d’autre part sur l’idée générale de notre jeu.
Nous avons débuté par l’introduction générale de notre projet, suivi par le chapitre d’Etat
de l’art. Le troisième chapitre nommé « Beyond Eden » englobe trois grandes parties : ‘let’s
learn’, ‘let’s fight’ et ‘let’s win’, avec une nomination fidèle à l’aventure de notre jeu.
 Etat de l’art : Comporte les études préalables, présente l’analyse de l’existant et expose
les différentes contraintes et difficultés à surmonter.
 Beyond Eden : Comporte la présentation du jeu ainsi que la conception et le processus
que nous avons suivi tout au long du développement du projet.
12
 Let’s Learn : Comporte la démarche suivie dans la création des différents
environnements.
 Let’s Fight : Comporte les étapes du développement graphique et de la programmation
des personnages ainsi que le développement de la charte graphique, des interfaces et des
menus.
 Let’s Win : Comporte les étapes de la création cinématiques, sonore et le test de la
version finale du jeu.
Schéma de la structure du projet.
13
14
Introduction :
Pour acquérir l’aptitude de créer un jeu vidéo, il est indispensable de mener des
recherches approfondies pour développer une vision globale sur ce domaine diversifié. De ce
fait, la partie ci-après expose quelques éléments fondamentaux de l’univers des jeux vidéo.
Particulièrement, nous nous intéressons d’abord à ses différents types et modes. Ensuite, nous
analysons les jeux qui présentent les sources d’inspiration derrière « BEYOND EDEN : The
Star of Gora ».
1. L’univers des jeux vidéo :
1.1 Les types des jeux vidéo :
Le mot « jeu vidéo » est généralement attribué aux applications de type multimédias
ayant un rôle dévertissant et jouables sur des supports variés. Ces derniers peuvent être de gros
ordinateurs ou bien de petits appareils portables tel que les consoles, les ordinateurs personnels
ou encore les smartphones.
Il existe plusieurs manières de distinguer les différents types de jeux vidéo (la
chronologie, la thématique, l’univers, le style graphique, l’environnement, le Game Play …).
Généralement il existe quatre types de jeux : Les jeux 2D, les jeux 2.5D, les jeux 2D
isométriques et les jeux vidéo 3D.
1.1.1 Jeux vidéo en 2D :
Les jeux en deux dimensions sont les premiers survenus sur l’axe chronologique des jeux
vidéo. Ils sont caractérisés par un style simple, une jouabilité traitable puisque les actions, les
déplacements et les affichages se font uniquement sur deux axes (hauteurs et largeur) et des
interfaces graphiques faciles à gérer.
Les jeux 2D ont été toujours considérés ‘old school’ et préjugés d’ancienneté. Cependant,
de nos jours, les studios qui créent ce type de jeux vidéo cherchent souvent à favoriser l'aspect
artistique et l'originalité de leurs projets afin de s’aligner aux jeux plus modernes actuels. Nous
citons comme exemple « SHANK » [Figure 1].
15
FIGURE 1 : le Jeu vidéo 2D, Shank.
1.1.2 Jeux vidéo en 2.5D :
Les jeux 2.5D, dits aussi ‘demi 3D’, ‘pseudo 3D’ ou ‘fausse 3D’, désignent les
technologies d'imagerie qui se trouvent à mi-chemin entre 2D et 3D. Ils signalent, également,
l'incrustation d'un élément 3D (personnage, objet, etc.) évoluant dans un environnement 2D ou
un jeu totalement modélisé en 3D mais dont le Game Play se base sur des mécanismes 2D.
Nous pouvons se référer au jeu « ASSASSIN’S CREED CHRONICLES » comme exemple
[Figure 2].
FIGURE 2 : Le jeu 2.5D, Assassin’s Creed Chronicles.
16
1.1.3 Jeux vidéo en 2D isométrique :
Le terme "isométrique" indique généralement un effet 3D obtenu en utilisant des sprites
2D. De ce fait, les jeux 2D isométrique sont une représentation en 2D pivotée d’un angle de
quarante-cinq degrés (45°), donnant un effet d’inclinaison, de profondeur et d’obliquité. Pour
ce type, nous mentionnons comme exemple « Crafton & Xunk » [Figure 3].
Figure 3 : Le jeu 2D isométrique, Crafton & Xunk.
1.1.4 Jeu vidéo en 3D :
Les jeux vidéo tridimensionnels sont apparus quelques années plus tard avec l'évolution
des supports matériels. Ce type a annoncé l’apparition d’un nouvel axe autre que les deux
anciens axes du type 2D, ce qui a donné aux jeux un effet très réaliste et constructif. Nous
pouvons citer comme exemple Horizon Zero Dawn [Figure 4].
Figure 4 : Le jeu 3D, Horizon Zero Dawn.
17
1.2 Les genres des jeux vidéo :
1.2.1 Jeux d’action :
Il s’agit d’un genre de jeu vidéo dont le Gameplay est fondé sur des interactions en
temps réel et qui fait principalement appel à la présence d'esprit et aux réflexes du joueur. Pour
ce genre, nous citons l’exemple du jeu « Battelfield 4 » [Figure 5]. D’après une étude réalisée
par des chercheurs de l'université de Rochester à New York, la pratique des jeux d'action
améliore la vision et refaçonne le traitement visuel et informationnel du cerveau.
Figure 5 : Le jeu d’action, Battlefield.
1.2.2 Jeux d’aventure :
C’est Un genre de jeu vidéo crée afin que le joueur sorte du monde dans lequel il vit tous
les jours pour se plonger dans un autre plus mystérieux qu'il va devoir explorer. Nous pouvons
citer en tant qu'exemple clé le célèbre Assassin’s Creed Syndicate [Figure 6].
Figure 6 : Assassin’s Creed Syndicate.
18
1.2.3 Jeux de rôle :
C’est un type connu pour être complexe et addictif, il est basé sur une technique ou une
activité, par laquelle une personne interprète le rôle d'un personnage dans un environnement
illusoire. Le concurrent agit à travers ce rôle par des actions physiques ou narratives. Le style
est connu pour être addictif car le joueur peut finir par s’identifier à son personnage. « Final
Fantasy Online : Realm Reborn » [Figure 7] ou « World Of Warcraft » sont deux titres du
domaine qui connaissent une fidélité des joueurs depuis plusieurs années.
Figure 7 : Final Fantasy Online: Realm Reborn.
1.2.4 Jeux de plateforme:
Le jeu de plate-forme est un type de jeu où le joueur se trouve dans un environnement
instable présentant plusieurs obstacles à surmonter pour atteindre un but donné afin de mettre
l’accent sur l'habileté du joueur à manipuler le déplacement de son avatar. Notons comme
exemple le fameux jeu « OwlBoy » [Figure 8].
Figure 8 : OwlBoy.
19
1.2.5 Jeux de stratégie :
Pour ce type de jeu, la capacité d'un joueur à gérer des ressources, évaluer des risques et
commander une armée est mise en valeur. Nous pouvons mentionner comme exemple la
fameuse saga « Age of Empire » [Figure 9].
Figure 9 : Age Of Empires.
1.2.6 Jeux de tir :
C’est un type dans lequel le personnage possède un pistolet ou une arme à longue portée
qui sont utiles pour tirer sur les adversaires et achever des missions. Le joueur et mis sous la
preuve afin de vérifier sa vitesse et son temps de réponse. « Call of Duty » [Figure 10] est un
parfait exemple de jeu de tir.
Figure 10 : Call of Duty Apocalypse.
20
1.2.7 Jeux de simulation :
Les jeux de simulation servent à essayer de reproduire la sensation forgée dans une
situation réelle. Un jeu peut porter sur une guerre, un évènement populaire, une bataille ou une
histoire réelle comme le cas de « Sims » [Figure 11].
Figure 11 : SIMS.
1.2.8 Jeux de sport :
Dans la même idée que les jeux de simulation, le jeu de sport reproduit la sensation d'une
activité existante mais ne se concentre pas sur la conduite d'un véhicule mais plutôt sur la
reproduction d'un match sportif. Ce genre de jeu offre la possibilité aux joueurs de pratiquer
leurs sports préférés virtuellement. On a ici cité comme exemple pour ce genre, le jeu
« FIFA17 » [Figure 12].
Figure 12 : FIFA 17.
21
1.2.9 Jeux de course :
Le Gameplay de ce type de jeu est basé souvent sur la présence d'un véhicule. Le joueur
est censé atteindre un objectif avant ses adversaires ou avant une limite de temps donnée. Pour
exemple nous notons le jeu « Need for speed » [Figure 13].
Figure 13 : Need For Speed.
1.2.10 Jeux d’horreur:
C’est Un genre de jeu dont le Game Play fait généralement en sorte que le joueur ne se sent
pas aussi fort et solide à cause des fictions d’abomination et de panique. Comme c’est le cas pour
le jeu « Resident Evil » [Figure 14].
Figure 14 : Resident Evil 7.
22
1.2.11 Jeux de réflexion :
C’est Un genre de jeu basé sur la méditation, il amène le joueur à résoudre des
problématiques, des énigmes, ou à sillonner à travers des lieux complexes. Le gameplay oblige
le joueur à approfondir, à réfléchir et à chercher. Nous référons à « Mind : Path to Thalamus »
comme exemple [Figure 15].
Figure 15 : Mind: Path to Thalamus.
1.3 Les Modes des jeux vidéo :
Les jeux vidéo peuvent être aussi classés suivant leurs modes. Ces derniers présentent le
paramétrage de la façon de jouabilité d’un joueur qui peut sélectionner selon le contexte, le
nombre de joueurs simultanés ou bien le type de Gameplay recherché.
1.3.1 Mode Compagne solo :
Le mode compagne solo, appelé encore « mono-joueur » ou « simple joueur », est un
mode où le joueur accomplie une mission seule sans la participation d’autre personnage d’où
parvient le terme “solo”. Le joueur affronte généralement l’intelligence artificielle gérée par le
jeu. Nous exposons pour exemple le jeu « Far Cry Primal » [Figure 16].
23
Figure 16 : Far Cry Primal.
1.3.2 Mode Multi-joueurs :
Ce mode de jeu permet à plusieurs personnes de jouer ensemble simultanément à la même
partie. Cette fonctionnalité peut se produit soit en partageant le même matériel soit par un réseau
local ou encore à travers un réseau internet. Le mode multi-joueurs offre plus de défis que le
mode solo. En effet, chaque joueur doit se mesurer à l'intelligence et aux réflexes d'un autre
joueur qui peut deviner ses intentions. De plus, contrairement au mode histoire en solo dans
lequel le jeu se termine après avoir fini une histoire, le mode multi-joueurs ne se termine jamais.
Ainsi, beaucoup de joueurs préfèrent ce mode pour avoir une durée de vie de jeu plus longue.
Nous citons comme exemple le fameux « League of Legends » [Figure 17].
Figure 17 : League of Legends.
1.3.3 Mode Multi-joueurs coopératif :
C’est un mode de jeu vidéo multi-joueurs dans lequel les joueurs doivent unir leurs
actions dans un objectif commun. Ce mode autorise aux joueurs de s'entraider en passent des
24
armes, se soigner, faire un tir de couverture etc. L’exemple le plus est « Counter Strike » [Figure
18].
Figure 18 : Counter Strike.
1.4 Les Types d’univers des jeux vidéo :
1.4.1 Univers fantastique :
C’est un univers fondé de l'époque moyenâgeuse mais avec un aspect de magie et de
créatures telles que les elfes, les géants, les dragons etc. Le jeu « Heroes of the Storm » [Figure
19] reflète cet univers.
Figure 19 : Heroes of the Storm.
1.4.2 Univers futuriste :
L'univers futuriste est un univers tiré de la science-fiction où les personnages venant
d'autres planètes ont pris contact avec notre civilisation et les histoires passent dans un futur
25
technologiquement très évolué par rapport à notre époque. Un exemple peut être le jeu « Mass
Effect 4 : New Age » [Figure 20].
Figure 20: Mass Effect 4: New Age.
1.4.3 Univers Moderne/Urbains :
Dans ces jeux, l'histoire se déroule dans une époque proche de la nôtre et dans un
environnement tel que nous pouvons en voir dans la vraie vie. Le joueur a l’impression de ne
pas être dans un jeu et a le pouvoir de faire des choses qui lui semblent impossibles dans la vie
réelle. Exactement comme le jeu « GTA V » [Figure 21].
Figure 21 : GTA V.
26
1.5 Les jeux vidéo à potentiel pédagogique (Serious Game) :
 Définition de Serious Game :
Un Serious game, ou jeu sérieux, est une activité qui utilise des mécanismes ludiques
pour résoudre des problématiques pédagogiques ou promotionnelles. Même s’il peut être
amusant, son objectif primordial est toujours de faire évoluer son audience. En se basant sur le
fait que les individus se souviennent de 30% de ce qu’ils voient et de 90% de ce qu’ils font, les
serious games deviennent alors des supports privilégiés pour véhiculer l’information car ils
permettent à l’utilisateur de s’impliquer dans un environnement pour expérimenter des
scénarios. Ces jeux se trouvent dans une multitude de milieux professionnels, pour tous publics
et dans divers domaines : Gouvernement, armée, santé, éducation, entreprise, religion, culture,
écologie, politique, humanitaire, développement durable, médias, publicité, sciences, etc.
 Les catégories de Serious Game :
L’étude de « Serious games » met en évidence divers catégories :
 « Les serious games à message » : Cherchent à diffuser un message (éducatif
(edugame), publicitaire (advergame) éducatif et commercial (edumarketgame)
 « Les jeux de simulation » : Permet de visualiser un phénomène réel représenté
dans un univers virtuel.
 « Les serious games d'entraînement » : Visent à l'amélioration des performances
et des capacités motrices et cognitives des utilisateurs.
27
1.6 Le public cible des jeux vidéo :
Tableau 1 : les différentes catégories du public cible des jeux vidéo.
Catégorie Age Symbole standard (ancien) Symbole standard (actuel)
EC Enfant en bas
âge
E Tout le monde
E10+ Tout le monde
plus de 10 ans
T Adolescent
M Mature plus
que 17 ans
AO
Adultes
seulement
28
1.7 Bilan et choix :
Voici la combinaison des types choisis pour la réalisation de notre jeu :
Figure 22 : Bilan et Choix du jeu.
« Jeu de plateforme » : Notre personnage aura la possibilité de se déplacer librement,
esquiver les obstacles et récupérer des objets sur son trajet.
« Jeu de combat tir à vue objectif » : Le joueur se mettra en situation de confrontation
armée avec des vaisseaux spatiaux.
« Jeu d’aventure » : Le joueur aura un chemin prédéfini pour atteindre un objectif final
en mettant l’accent sur l’exploration de l’environnement.
« Jeu de réflexion » : Le joueur aura besoin de réflexion, observation, logique et sens
de l'orientation pour trouver des solutions et dépasser des obstacles.
« Jeu de stratégie » : Notre personnage aura besoin d’un avantage stratégique pour
pouvoir augmenter sa domination spatiale ou combattre plusieurs ennemis sur le terrain de jeu.
29
2. Etude de l’existant :
2.1 Etude des jeux similaires
Comme pour toute autre forme de création, il est impossible de créer un jeu vidéo sans
source d’inspiration. De ce fait, nous avons effectué une étude complète des applications
existantes similaires à notre futur produit. Dans cette partie, nous analysons les jeux semblables
au nôtre, les méthodes de créations, les détails graphiques, la jouabilité et les techniques de
développement adaptés.
2.1.1 Etude graphique :
Notre source d’inspiration pour l’aspect graphique a été basée sur les deux jeux suivants :
A. WAKFU :
Figure 23 : Le Jeu d’inspiration, Wakfu.
Wakfu [Figure 23] est un jeu 3D isométrique de type ‘rôle en ligne’ et de mode
‘massivement multi-joueurs’, développé et édité par Ankama, il est sorti en février 2012 après
quatre ans de bêta-test et de développement. Le joueur est un aventurier qui explore le monde
en accomplissant diverses quêtes menant à son évolution. Son parcours le guidera à apprendre
des métiers, combattre des adversaires sans oublier l’obligation d’aider les autres joueurs.
30
 Analyse graphique :
 Les animations des personnages sont nombreuses au cours du jeu.
 La diversité des environnements satisfait la curiosité du joueur et assouvi sa soif pour
la découverte.
 La richesse du graphique en couleur.
 La présence de plusieurs items décoratifs animés ou non animés.
 Inspiration
 L’utilisation des plateformes / univers différents [Figure 24].
 Le style graphique pour la création de l’environnement [Figure 25].
Figure 24 : les différent univers de Wakfu.
Figure 25 : Style graphique du jeu Wakfu.
31
B. RIVE :
Figure 26 : Le jeu d’inspiration, Rive.
Rive est un jeu 2D hybride de 360 degrés tir / plateforme. Il a été développé par la
société de jeux vidéo néerlandaise Two Tribes pour PlayStation 4, Xbox One, Microsoft
Windows, OS X, Linux, avec une sortie à venir pour Nintendo Switch. Après le changeant
d’une grande partie de son équipe, le studio a dévoilé ce jeu comme premier nouveau projet.
Rive a été dévoilé le 29 juillet 2016, après une longue période de développement.
 Analyse graphique :
 Variété sans fin des environnements : combattre sur terre, sous l'eau, dans zéro gravité
ou sur un train en mouvement.
 Des GUIs fidèles à l’univers du jeu.
 Le décor et les effets sonores sont homogènes avec le style des personnages et
l’ambiance du jeu.
 Les différentes icônes sont distribuées aux extrémités en haut de l’interface ce que laisse
apparaitre un vaste champ de vision du personnage.
 Inspiration
 Les interfaces graphiques [Figure 27].
 Les différentes attaques du vaisseau spatial [Figure 28].
32
Figure 27 : GUI du jeu Rive.
Figure 28 : Les différentes attaques du vaisseau spatial.
33
2.1.2 Etude technique :
L’aspect technique de notre jeu a été principalement inspiré par les deux jeux suivants :
A. EITR
Figure 29 : Le jeu d’inspiration, EITR.
EITR est un jeu ‘ARPG’ isométrique imprégné de mythologie nordique, réalisé en pixel
art par un petit studio indépendant. Le jeu combine le combat aux armes avec les donjons
isométriques ultra-sombres de l'original Diablo. Actuellement, il existe seulement la version
beta, la sortie de la version finale est prévue en 2018. [Figure 29]
 Analyse technique
 Le rythme du jeu très rapide donne une jouabilité intéressante et un Gameplay amélioré.
 Le fonctionnement du système d’armes est très diversifié. Chaque arme a une sorte de
capacité innée qui offre au joueur de grands avantages spécifiée à chaque ennemie.
 Inspiration
 Les combats entre les personnages joueurs et les ennemies [Figure 30].
 L’environnement.
34
Figure 30: scène de bataille, Eitr.
Conclusion :
Le chapitre précédent résume les différents types, genres, modes et univers des jeux
vidéo. Il récapitule aussi nos sources d’inspiration et analyse leurs aspects techniques et
graphiques. Cette recherche a servi à enrichir nos connaissances et à orienter la vision de notre
jeu.
35
Beyond Eden, The Star of Gora
36
Introduction :
Dans cette partie, et après la collection de suffisamment de connaissance, nous nous
adressons à la conception de notre jeu d’un point de vue technique et graphique. Nous
spécifierons les besoins fonctionnels et non fonctionnels, l’organisation du projet et les
techniques à adopter pour avoir un meilleur rendu.
En ce qui concerne le cycle de vie de notre jeu, nous aurons recourt à la méthodologie de
Scrum qui organisera le travail de chaque membre ainsi que l’avancement du projet tout en
respectant le deadline de chaque tâche.
1. Description et Synopsis du jeu vidéo :
1.1 But du produit :
Le but de notre jeu vidéo est d’offrir au joueur un monde d’évasion où il pourra s’échapper de
la réalité en lui apportant une expérience, à la fois, émotionnelle et intellectuelle.
1.2 Objectifs personnels :
Notre but en tant qu'étudiants est de pouvoir créer un produit de qualité professionnelle et
possiblement le distribuer par la suite.
1.3 Clientèle cible :
Ce jeu s’adresse à toute personne passionnée de jeux vidéo, âgé de 14 ans ou plus, sans
distinction de sexe ou de religion.
1.4 Synopsis du jeu :
Il s’agit d’un jeu sur PC de type « serious game /aventure ». Le joueur incarnera le héros qui
est un capitaine des forces aériennes surnommé « Alec ». Ce dernier a pour but de trouver une
planète habitable afin de sauver la race humaine. Durant son voyage intergalactique « Alec »
aura des missions à compléter, des obstacles à surmonter et des ennemies à confronter.
37
Figure 31: Scénario du jeu.
38
1.5 Description visuelle et sonore :
 Plan / Caméra :
La caméra se déplace automatiquement, elle ne change jamais d’angle cependant, elle
attend le joueur.
 Habillage sonore :
N’ayant pas reçu des cours en matière de son, nous avons employé des morceaux de
musique simples durant les missions. Cependant, nous avons introduit un enregistrement voix
off du scénario pour initier le jeu. De plus, nous avons inséré des sons caractérisant les actions
des personnages et leurs interactions avec l’environnement.
1.6 Schémas de navigation :
Nous commençons la conception de notre jeu avec le schéma de navigation, celui-ci
devrait être assez simple et compréhensible pour pouvoir guider l’utilisateur. En effet, nous
avons opté pour un schéma de navigation mixte, bidirectionnel, combinant un modèle
hiérarchique et quelques séquences linéaires [Figure 32].
Figure 32: Schéma de navigation.
39
2. Spécifications des besoins fonctionnelles :
 Spécification des besoins fonctionnels :
Afin de pouvoir passer à l’étape technique de la phase de spécification nous avons eu
recours à l’utilisation du langage UML :
 Diagramme de cas d’utilisation (use case) :
Un diagramme de cas d'utilisation est une représentation de l'interaction d'un joueur
avec le jeu. En d’autres termes, le schéma reflète la relation entre le joueur et les différents cas
d'utilisation dans lesquels il est impliqué.
Pour donner une vision explicite sur notre projet, nous avons créé deux diagrammes de
cas d’utilisation.
Figure 33: diagramme de cas d'utilisation générale.
40
Figure 34 : Diagramme de cas d’utilisation détaillée.
41
 Description textuelle de cas d’utilisation « jouer » :
Dans l’intérêt de développer d’avantage le diagramme de cas d’utilisation, nous allons
assimiler une description textuelle au principal cas d’utilisation.
 Sommaire d’identification :
 Titre : Jouer.
 But : Terminer les différents types de missions.
 Résumé : Processus d’entrer en jeu.
 Acteurs : « Joueurs ».
 Responsables : Sondes Jaouadi, Mohamed Karim Sakran, Arwa Argoubi.
Description des enchaînements :
Préconditions : « avoir un PC, avoir démarré le jeu »
Enchainement nominal :
1) Le menu principal du jeu est affiché.
2) Le joueur choisit de jouer.
5) Le joueur est instancié sur la scène du jeu de la mission 1.
6) Le joueur appuie sur la touche « Z » pour déplacer le vaisseau spatial en haut la touche
« D » pour le déplacer à droite et la touche « S » pour le déplacer en bas.
7) En passant par les planètes ’Mars’, ‘ Saturne’ ou ‘Jupiter’ le joueur doit à chaque fois
répondre à un QCM pour achever la première mission.
8) Le joueur est instancié sur la scène de la mission 2.
9) En addition des précédentes touches du déplacement, le joueur utilise les touches « J »
« K » « L » « M » pour contrôler les différentes armes.
11) le joueur est instancié sur la scène de la mission 3
12) Le joueur appuie sur la touche « Z » pour déplacer « Capitaine Alec » en haut, la
touche « D » pour le déplacer à droite et la touche « S » pour un mouvement en bas.
13) Quand les objectifs de la mission 3 sont atteints le joueur passe la 4ème
mission.
14) Mission 4 réussie et objectifs atteints.
15) Le joueur est instancié sur la scène de la mission 5.
16) Le joueur utilise la souris afin de choisir la tourelle convenante pour construction.
42
17) La Mission 5 est achevée, le joueur sera instancié sur la scène de la mission 6.
18) Le joueur appuie sur la touche « Z » pour déplacer « Capitaine Alec » en haut, la
touche « D » pour le déplacer à droite et la touche « S » pour un mouvement en bas. Afin
d’attaquer l’ennemie le joueur utilise les touches « J » « K » « L » « M » « Espace » pour
coordonner les différends sorts valables.
19) L’achèvement de la 6ème
mission entraine la fin du jeu.
Enchainement alternatif n°1 : « Le joueur n’a pas fini la mission »
Le joueur est bloqué et ne peut pas passer à la mission suivante.
Enchainement alternatif n°2 : « Mort du personnage »
Rejouer la mission ou retour à la première étape de l’enchaînement nominal.
Enchaînements d’exception E1 : « Le joueur quitte la partie avant de terminer le jeu »
L’enchaînement démarre après l’étape 5 de l’enchainement nominale :
1. Le joueur presse pause.
2. Le système affiche le menu pause.
3. Le joueur choisi le menu principal.
4. Le système affiche le menu principal.
5. Le joueur quitte le jeu.
Contraintes non fonctionnelles : « Le système doit avoir la capacité minimale pour un
jeu fluide »
43
3. La conception de l’application :
Afin de réaliser une conception solide de notre application, nous avons favorisé
l’exécution des deux parties ci-après : « Conception de la vue statique » et « Conception
de la vue dynamique ».
 Conception de la vue statique :
Dans cette étape et pour une meilleure compréhension de la structure globale du jeu,
nous essayons de modéliser sa structure logique moyennant le diagramme de conception
des objets.
Figure 35: Diagramme de conception des objets.
44
 Conception de la vue dynamique de l’application :
Nous avons choisi de représenter la partie de la conception de la vue dynamique, par un
diagramme d’activités qui permet de visualiser le déclenchement des événements en fonction
des états du système.
 Conception générale de l’application :
A travers le diagramme d’activité, nous présentons tous les chemins possibles cédant au
joueur la possibilité de défiler entre les différentes pages de l’application, ainsi que les moyens
d’y accéder.
En lançant le jeu, le ‘menu principal’ s’affiche pour assurer l’accès soit au ‘menu
paramètres’ ou ‘menue instruction’. Egalement, en sélectionnant l’option ‘jouer’, le joueur est
dirigé vers l’écran du jeu. Aussi, au cours d’une partie, il peut à tout moment accéder soit au
‘menu pause’ où il peut sauvegarder et quitter ou bien continuer à jouer jusqu’à la fin de la
mission.
45
Figure 36: Diagramme d’activité du jeu.
46
 Conception du déroulement des processus de l’application :
Pour une explication approfondie et détaillée de cette partie nous avons eu recours au
diagramme de séquence qui représente graphiquement des interactions entre les acteurs et le
système selon un ordre chronologique dans la formulation UML.
Figure 37: Diagramme de séquence globale.
47
Figure 38: Diagramme de séquence détaillé.
48
 Conception de l’intelligence artificielle :
Les jeux vidéo font depuis longtemps appel à l’intelligence artificielle ‘IA’, et c’est dans
ce domaine qu’elle s’est le plus popularisée. Dans l’idée de créer une interaction toujours de
plus en plus immersive et amusante pour les joueurs, l’IA caractérise toute prise de décision
d'un personnage géré par la machine qui propose une expérience de jeu de qualité.
Dans notre jeu l’intelligence artificielle se manifeste dans plusieurs situations. Nous
citons comme exemple les combats entre les personnages joueurs et les personnes non-joueurs.
Réellement, aucun combat ne peut avoir lieu sans la nécessité d’attaquer ou de se défendre.
Dans ce cas, l’ordinateur doit contrôler les PNJ de manière intelligente. Ainsi, nous avons
évoqué le besoin de détecter une cible ou éviter des obstacles.
Ce diagramme d’activités illustre le fonctionnement de l’intelligence artificielle des PNJ.
Figure 39 : Diagramme d'activité de l’intelligence artificielle.
49
4. Spécifications des besoins non fonctionnelles :
Après avoir défini les exigences fonctionnelles de notre jeu, nous devons,
impérativement, considérer des besoins non-fonctionnels et leurs tests. En effet, ces derniers
présentent les besoins qui caractérisent le système en matière de performance, de type de
matériel ou le type de conception. Ces besoins peuvent concerner les contraintes techniques et
graphiques d'implémentation. Ci-après, nous examinons principalement la qualité externe et
interne du produit.
 Qualités internes :
a) Contraintes techniques :
Optimiser un jeu vidéo est considéré une tâche critique. Il est, en effet, possible d’avoir
un aspect graphique et technique décent et un gameplay riche, mais un moindre souci au niveau
de l’optimisation du jeu, un processus non-structuré ou encore un type de programmation non-
adapté peuvent présenter des facteurs capables de prévenir la maintenance, l’évolution ou
l’étude d’un projet.
Pour cela, lors du développement de notre projet, nous avons exigé la présence des contraintes
suivantes :
 L’utilisation d’une hiérarchie a différentes couches afin d’organiser nos modèles, nos
scripts, animations etc.
Qualité Interne
Contraintes
Techniques
Contraintes
Graphiques -
Ergonomiques
Qualité Externe
Concerne
l'utilisateur final
50
 L’utilisation de l'orienté objets permet de concevoir et de réaliser les fonctionnalités
attendues d’où une programmation optimisée.
 Réutilisabilité d'un script sur plusieurs objets.
 Opter pour une bonne organisation du code en utilisant les commentaires et l’indentation
et ce pour le rendre bien lisible et facile à comprendre.
b) Contraintes graphiques :
Cette contrainte englobe principalement deux éléments :
 La conservation de la charte graphique implique les étapes nécessaires au
développement visuel d’un jeu vidéo qui assurent sa cohérence afin de donner un aspect
harmonieux. Cet élément est consacré pour le choix des couleurs, des formes et des
textures.
 La conservation de l’approche sensorielle tente à montrer les sens au point où le joueur
devient entièrement concentré sur le monde du jeu et ses stimuli par les effets
d’éclairage et de son.
 Qualité externe :
a) L’ergonomie :
Tandis que le Gameplay exige la présence des énigmes et des obstacles pour enrichir le
divertissement et l’intérêt du joueur, il n’est pas toujours évident de parler d’ergonomie. De ce
fait, cette dernière ne peut pas être assurée que dans les interfaces du jeu. Ainsi, le menu et
l’écran du jeu doivent être bien clairs et intuitifs. En d’autres termes, le joueur aura accès à une
guidance parfaite et claire à l’aide des indications visuelles qui s’affichent en se déplaçant dans
la scène du jeu.
b) La scénarisation :
Avec la nouvelle tendance du jeu vidéo à s'orienter vers du cinéma interactif, le scénario
devient un argument de poids. Un bon scénario doit être fluide avec des articulations cohérentes.
Il doit être aussi articulé autour d’une première phase d’exposition, puis de confrontation et
enfin de résolution. Notre scénario appartient la catégorie où un petit synopsis plante le décor
et donne un objectif au joueur, sans pour autant être omniprésent.
51
 Planification et méthodologie de travail :
Dans cette partie nous abordons les étapes de réalisation de ce projet. Nous tenons à
expliquer les démarches, les méthodes et les logiciels que nous avons utilisés pour achever
convenablement notre travail.
a) Méthodologie de travail :
Afin de garantir un déroulement fluide de notre projet, nous avons opté pour la
méthodologie agile Scrum, qui rajoute de la flexibilité et de l’organisation au projet en termes
de temps et de qualité.
 Principe de la méthodologie Scrum :
Scrum est une méthode agile dédiée à la gestion de projet introduite « officiellement »
en 2001. Cette méthode de gestion a pour objectif d’améliorer la productivité de son équipe.
Elle met en avant la rentabilité et surtout la satisfaction du client. L'équipe de développement
s'organise elle-même pour trouver la meilleure façon de produire les étapes les plus privilégiés.
En d’autres termes, Scrum consiste à réaliser les tâches petit à petit, par ordre de priorité, avec
des phases de contrôle et d’échange avec le client.
Figure 40 : Cycle de vie d'un produit par la méthodologie de Scrum.
52
 Les caractéristiques du Scrum :
 Itératif (rythmé par une série d’itérations).
 Lié à des processus incrémentaux « Sprints ».
 Basé sur l'équipe.
 Un moyen d'augmenter la productivité.
 Augmente la communication et maximise la collaboration.
 Fait pour créer des produits, applications nécessitant une grande modularité.
 Protéger l'équipe des éléments externes perturbateurs.
Figure 41: L’équipe Scrum.
b) L’adaptation de la méthodologie Scrum au projet :
 Equipe Scrum :
 Product owner: M. Med Ali Chalbi.
 Scrum Master : Sondes Jaouadi.
 Development team: Mohammed Karim Sakran & Arwa Argoubi.
53
 Carnet du produit (Product Backlog) :
Le carnet de produit consiste d’une liste ordonnée groupant tous les exigences du projet. Il
présente, en effet, l'unique source des besoins pour tous les changements à effectuer sur le
produit. Il s’agit d’un document qui évolue constamment au cours de la vie de ce dernier
[Tableau 2].
Tableau 2 : Backlog du produit.
User Stories Estimation(h)
Rédaction du rapport (introduction et structure globale du
projet)
20
Planification de la méthodologie de Scrum 20
Rédaction de l’étude de l’art et l’étude d’existant 30
Spécification fonctionnel et conception 20
Développement graphique des environnements (4 scène) 260
Rédaction du rapport (Développement graphique des
environnements)
40
Programmation des environnements 70
Rédaction du rapport (Programmation des environnements) 30
Développement graphique des personnages 100
Rédaction du rapport (Développement graphique des
personnages)
40
Programmation des personnages 80
Rédaction du rapport (Programmation des personnages) 40
Création des interfaces et du logo 80
Rédaction du rapport (Création des interfaces et du logo) 20
Création et conception des quatre cinématiques 100
54
 Le Planning des sprints :
Dans cette partie, nous cherchons à aménager les éléments (user Stories) du Carnet de
produit en Sprints. D’ailleurs, un sprint, bien qu'il présente une partie incomplète du projet, doit
être livrable, exécutable et réutilisable. Il est donc indispensable de délimiter les sprints d’une
manière à respecter cette règle. Notre regroupement final a évoqué six sprints à réaliser.
Nous avons considéré qu’un jour de travail est égal à huit heures. [Tableau 3]
Tableau 3 : Planning des sprints.
Numéro du sprint User stories Estimation(h)
Sprint 0
Rédaction du rapport (Introduction et structure
global du projet)
90
Planification de la méthodologie de Scrum
Sprint 1
Rédaction de l’étude de l’art et l’étude d’existant
100Spécification fonctionnel et conception
(technique et graphique)
Développement graphique des environnements
(4 scène)
Rédaction du rapport (Création et conception des quatre
cinématiques)
10
Ajout des effets sonores et visuels 50
Rédaction du rapport (Ajout des effets sonores et visuels) 10
Evaluation du jeu 20
Rédaction du rapport Evaluation du jeu 10
55
Sprint 2 Rédaction du rapport (Développement
graphique des environnements)
300
Programmation des environnements
Rédaction du rapport (Programmation des
environnements)
Sprint 3
Développement graphique des personnages
260
Rédaction du rapport Développement graphique
des personnages)
Programmation des personnages
Rédaction du rapport (Programmation des
personnages)
Sprint 4
Création de la charte graphique
100
Rédaction du rapport (Création de la charte
graphique)
Sprint 5
Création et conception des quatre cinématiques
110
56
Rédaction du rapport (Création et conception
des quatre cinématiques)
Sprint 6
Ajout des effets sonores et visuels
90
Rédaction du rapport (Ajout des effets sonores)
Evaluation du jeu
Rédaction du rapport Evaluation du jeu
 Plan des Releases :
Dans cette partie, nous regroupons deux ou plusieurs sprints en un seul thème dénommé
‘Release’.
Tableau 5 : Plan des releases.
Numéro du release Nom de release Les sprints
1 Conception et planification du
projet
Sprint 0
Sprint 1
2
Sprinte 2
57
L'environnement et les
personnages, le monde de
Beyond Eden
Sprinte 3
3
Les interfaces du jeu.
Sprinte 4
Sprinte 5
4 Déploiement et tests finaux Sprinte 6
 Enchainement du projet et techniques utilisés :
Gestion du tableau des tâches avec Trello :
« Trello » est une application de gestion de projets basée sur le Web fournissant des
fonctionnalités sur les tâches qui permettent de contrôler l'avancement de notre travail où nous
avons créé les quatre parties suivantes :
58
 Catégorie « To Do »
 Catégorie « Doing »
 Catégorie « Done »
 Catégorie “ rendez-vous
5. Logiciels utilisés :
Pour la réalisation du jeu, nous avons eu recours aux logiciels adéquats au projet
suivants :
 Unity 2D (version 5.6) : Moteur graphique et physique du jeu pour l’intégration et la
programmation.
 VisualStudio : Environnement de développement sur Unity.
 Adobe Photoshop : Conception graphique et application de la texture.
 Adobe Illustrator : Création des environnements, des personnages, des boutons et des
éléments graphiques de l’interface en 2D.
 Adobe Audition : Enregistrement et Mixage du son.
 Trello : Application web utilisée pour la gestion du tableau de tâches de Scrum.
 Starruml : Logiciel de modélisation UML.
Conclusion :
Ce chapitre était utile en premier lieu, pour la récapitulation des besoins fonctionnels et
non fonctionnels nécessaires pour la réalisation de notre projet. En deuxième lieu, nous avons
détaillé la méthodologie adoptée pour le développement du jeu. Ainsi, nous avons fourni une
conception globale du plan. Cependant, chaque sprint aura une phase de conception et de
réalisation dans les prochaines parties.
59
Let’s Learn :
60
Chapitre 1 : Sprint 2 : Création de l'environnement :
Introduction :
Ce chapitre présente toutes les étapes de création des environnements, ainsi que leurs
programmations.
1. Tableau prévisionnel du sprint :
 Date de début du sprint : Mardi 21 Février 2017
 Date de fin du sprint : Jeudi 22 Mars 2017
 Temps estimé en heures : 300 heurs
 Échelle de mesure : Une journée est équivalente à 10 heures de travail : (De 8h à 13h -
- de 14h à 19h)
 Objectifs du sprint : Création de l’environnement du jeu
61
62
1- Premiére partie du Sprint
User stories Taches Temps 21 22 23 24
Création de
l’environnement
de la mission 1
Conception de
l’environnemet
2 0 0 0 0
Modélisation de
l’environnement
16 8 0 0 0
Programmation
et integration de
l’environnment
8 8 6 0 0
Redaction du
rapport
Redaction de la
partie de la
création de
l’environnement
8 8 8 4 0
2- Deuxieme partie du Sprint
User stories Taches Temps 25
Création de
l’environnement
de la mission 2
Conception de
l’environnemet
2 0
Modélisation de
l’environnement
2 0
Programmation
et integration de
l’environnment
4 0
Redaction du
rapport
Redaction de la
partie de la
création de
l’environnement
2 0
63
3- Troisieme partie du Sprint
User stories Taches Temp
s
2
6
2
7
2
8
0
1
0
2
0
3
0
4
0
5
0
6
0
7
0
8
0
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
Création de
l’environnemen
t de la mission
3/4
Conception de
l’environnemet
24 1
8
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Modélisation de
l’environnemen
t
50 5
0
5
0
4
8
3
8
2
8
1
8
8 0 0 0 0 0 0 0 0 0 0 0 0
Integration et
organisation du
village
10 1
0
1
0
1
0
1
0
1
0
1
0
1
0
8 0 0 0 0 0 0 0 0 0 0 0
Intagration et
création de la
foret
30 3
0
3
0
3
0
3
0
3
0
3
0
3
0
3
0
2
8
1
8
8 0 0 0 0 0 0 0 0
Programation
de
l’environnemen
t de la mission
3
53 5
3
5
3
5
3
5
3
5
3
5
3
5
3
5
3
5
3
5
3
5
3
5
1
4
1
3
1
2
1
1
1
1 0 0
Programmation
de la mission 4
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0
Redaction du
rapport
Redaction de la
partie de la
création de
l’environnemen
t
10 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
4 0
64
4- quatriéme partie du Sprint
User stories Taches Temps 17 18 19 20 21 22
Création de
l’environnement
de la mission5
Conception de
l’environnemet
10 0 0 0 0 0 0
Modélisation de
l’environnement
18 12 2 0 0 0 0
Programmation
et integration de
l’environnment
30 30 30 22 12 2 0
Redaction du
rapport
Rédaction de la
partie de la
création de
l’environnement
8 8 8 8 8 8 0
5- Sixieme partie du Sprint
User stories Taches Temps 23
Création de
l’environnement
de la mission 6
Conception de
l’environnemet
2 0
Modélisation de
l’environnement
2 0
integration de
l’environnment
1 0
Redaction du
rapport
Redaction de la
partie de la
création de
l’environnement
4 0
65
2. Conception de l’environnement, modélisation et programmation :
2.1 Première mission :
2.1.1 Conception de l’environnement :
Les jeux vidéo ne présentent pas seulement un outil de distraction et de réduction du
stress quotidien du joueur, mais aussi une nouvelle forme d’apprentissage. Pour cette raison,
nous avons opté pour une première mission orientée plus pédagogiques/ludiques que ludiques.
En effet, le jeu commence dans le système solaire de notre monde réel. Le joueur
(contrôlant un vaisseau spatial) possède la possibilité de se déplacer librement dans l’univers.
En passant par trois planètes spécifiques (Mars, Saturne et Jupiter) une fenêtre s’ouvre et des
informations éducatives s’affichent. Ces dernières aideront le joueur qui se trouve devant
l’obligation de répondre à un QCM pour accéder à la mission suivante.
Afin de donner assez de crédibilité à notre environnement, nous avons dessiné nos
planètes [Figure 42] en se référant à des images réelles [Figure 43]. Nous avons tout d’abord
commencé par lister les types d'objets potentiellement utilisables pour créer un univers spatial,
comme par exemple des planètes, des orbites, des comètes, des astroïdes, des étoiles ou encore
des météorites. Ensuite, nous avons adopté des interfaces pour l’affichage des informations
liées aux trois planètes ainsi que le QCM.
Figure 42 : Représentation des images de référence et des croquis
66
2.1.2 Modélisation de l’environnement :
Moyennant Illustrator, nous avons pu concevoir les modèles suivants [Figure 43] :
Figure 43: Modélisation des objets de l'environnement avec Illustrator.
En ce qui concerne l’animation des éléments graphiques, notre but était de donner aux
planètes l’illusion de tourner sur elles-mêmes. Pour cela, nous avons eu recours au « sprites
sheet ». [Figure 44]
Effectivement, l’usage des Sprites est une technique basique dans les jeux vidéo en
deux dimensions. Un Sprite Sheet est un seul fichier (PNG ou autre) qui contient tous les
mouvements des personnages ou le déplacement des objets. Durant le jeu, chacun des Sprites
est censé être sélectionner pour faire des animations.
Pour des raisons d’optimisation de taille, nous avons exploité la règle des puissances
de deux, ou comme on l’appelle «POT : Power of Two» qui a une nécessité fondamentale due
à la façon dont les moteurs de jeu fonctionnent. En effet, elle exige une correspondance entre
la taille des textures des images et des blocs soignés de mémoire binaire, et ce pour assurer
une meilleure performance et une utilisation optimisée de la mémoire. Ainsi, la POT est
nécessaire pour le calcul des textures et leurs compressions dans la mémoire RAM du GPU.
Pratiquement, dans le cas où cette règle n'est pas utilisée l'image ne sera pas compressée et par
conséquent sa taille massive dans la RAM provoquera des « crash » dans le jeu.
67
2.1.4 Intégration des objets et programmation sur Unity :
L’achèvement de la modélisation des planètes et leurs Sprites Sheet est succédé par leur
intégration sur UNITY. [Figure 45]
Figure 45: intégration des objets sur Unity.
Figure 44 : Sprite Sheet des planètes.
68
Programmation sur Unity :
Les éléments modélisés de l’environnement de la première mission sont ensuite
importés et assemblés sur Unity pour enfin donner naissance à une scène conforme à nos
attentes.
Cette mission possède un but pédagogique. De ce fait, le joueur sera guidé tout au long d’une
simulation de notre système solaire et introduit à des informations des planètes Mars, Saturne
et Jupiter. Il est, ensuite, obligé de répondre correctement à un QCM pour accéder à la mission
suivante.
Afin de pouvoir intégrer les informations, les questions et les réponses nous avons eu recours à
des interfaces graphiques (User Interface – UI). Ces derniers, ont nécessité l’utilisation du
Canvas. En effet, un Canvas se présente sous forme d’un carré qui s’adapte à la caméra et qui
exerce un control total sur comment réagi un UI.
Notre mission se compose principalement de trois descriptions des planètes. Nous attribuons à
chacune trois questions d’une façon aléatoire.
Ces composants sont reflétés dans notre développement à travers deux algorithmes principaux ;
« QCMmanager » et « Choicemanager ». Pour faciliter la tâche, prenons la planète Mars
comme illustration.
Figure 46: Hiérarchie du QCM sur Unity.
69
En effet, lors d’une collision entre le vaisseau spatial et Mars une fenêtre contenant des
informations éducatives s’affiche en relayant sur une interface graphique. Le joueur est invité
à lire le texte qui se présente à l’écran puis à appuyer sur le Bouton ‘Next’ pour accéder au
QCM. Nous avons fourni six questions concernant la planète Mars. Chacun de ces derniers
possède une seule réponse correcte. De ce fait, nous avons créé un tableau de six cases contenant
le numéro de la bonne réponse. En d’autres termes, si le deuxième choix de la première question
coïncide avec la bonne réponse, la première case du tableau (présenté par la variable ‘NumQst’)
prend le nombre 2 (présenté par la variable ‘NumChoix’) [ligne 6 – ligne 10].
Dans le cas où le joueur coche la mauvaise réponse, son choix se colore en rouge pour quelques
secondes pour indiquer la nécessité de choisir une autre alternative. Cependant, s’il coche la
bonne réponse, son choix s’illumine en vert et le Gameobject de la question se désactive pour
activer le Gameobject suivant, ce qui entraine le passage à la prochaine question [ligne 12 –
ligne 20].
70
2.2 Deuxième mission :
2.2.1 Conception et modélisation de l’environnement :
La deuxième mission se déroule dans l’espace, est de type Space-Shooter. Le joueur
est instancié dans l’univers du nouveau système solaire.
Afin d’attribuer encore plus de valeur à notre Game Play, nous avons décidé d’utiliser
un environnement simple, d’où le choix de la création d’un arrière-plan sobre et répétitif tout
au long de la mission. [Figure 47]
Figure 47 : Etapes de création de l’arrière-plan.
71
2.2.3 Intégration de l’arrière-plan sur UNITY :
Après sa création, l’arrière-plan est ensuite intégré sur UNITY. Cependant, nous avons
besoin de lui attribuer l’illusion de l’infinité. Par conséquent, nous avons, en premier lieu, créé
un Game Object vide. Puis, nous avons inséré dedans trois copies de l’arrière-plan. Finalement,
nous avons opté pour la création d’une animation de translation sur l’axe des X sans oublier de
cocher la case du « loop time ». [Figure 48].
Figure 48 : intégration de l'arrière-plan.
72
2.3 Troisième et quatrième mission :
2.3.1 Conception de l’environnement :
La troisième et la quatrième mission présentent des changements dans l’environnement
du jeu et même dans sa perspective.
D’ailleurs, nous avons préféré l’usage de la 2D isométrique au lieu de la 2D. Étant donné
que ce style a été popularisé par les jeux de stratégie et les RPG d'action, nous l’avons adopté
pour le Game Play des missions restantes.
En effet, la perspective isométrique permet de créer des volumes et de la profondeur sans
forcément être familiarisé avec le concept des points de fuite. Cette technique est très pratique
dans le cas où nous souhaitons expliquer ou représenter un concept technique d’une manière
plus simple. Il s’agit, en d’autres termes, d’une illustration en trois dimensions qui permettra de
mieux capturer des informations complexes, une méthode d'affichage utilisée pour créer une
illusion de 3D. En ce qui concerne l’environnement des missions, nous nous sommes inspirés
de celui de la planète Terre. Par conséquent, nous avons eu recours à des types d'objets
potentiellement utilisables pour créer un univers forestier, comme en instance des arbres, des
plantes, des champignons, et des roches. Dans le but de retranscrire le scénario dans le jeu, nous
avons opté pour la création d’un village afin d’introduire un peu plus de mouvements. Ainsi,
nous avons pensé à réaliser des objets bâtis par l’homme tel que des tentes, des maisons, ou
encore des petits éléments de décorations botaniques [Figure 49].
Figure 49: conception de l'environnement.
73
2.3.2 Modélisation de l’environnement :
La création des éléments de perspective isométrique était possible en moyennant deux
méthodes ; la grille isométrique et l’outil grille de perspective.
Figure 50 : Utilisation de la grille isométrique pour la modélisation du décor botanique.
En premier lieu, nous nous sommes appuyés sur une version téléchargée de la grille isométrique
qui nous a offert des repères fixes assurant une réalisation précise des décorations botaniques
[Figure 50].
74
Comme constater ci-dessous [Figure 51], la coloration et la décoration des éléments de
l’environnement ajoutent de la valeur à notre travail. De plus, les ombres et les différentes
textures accentuent et aident à distinguer les détails. Éventuellement, il est nécessaire que les
couleurs des éléments soient en harmonie et s’accordent avec le scenario. Il faut, également,
qu’ils évoquent un sentiment vif. La figure ci-après expose notre résultat final :
Figure 51: Composants de L'environnement des Missions 3 et 4.
75
En deuxième lieu, nous avons introduit l’outil grille de perspective pour une meilleure
conception des bâtiments du village.
En réalité, Illustrator nous a assistés dans la création de scènes ayant un effet perspective
réaliste. En utilisant l’outil grille de perspective qui, dès qu’on le sélectionne des grilles
apparaissent par défaut sur le plan de travail ; une bleue indiquant le plan de gauche, une orange
pour celui de droite et finalement la verte représentant le niveau du sol [Figure 52].
Il est notamment important d’indiquer qu’Illustrator met à notre disposition des paramètres
prédéfinis de perspective soit à un, deux ou à trois points de fuite.
En passant à l’étape de dessin des formes, nous avons commencé tout d’abord par sélectionner
la face sur laquelle nous désirons placer notre forme (un rectangle ou un carré dans notre cas
puisque nous souhaitons créer des bâtiments) sur le widget. Ensuite, le traçage des formes prend
place. Ces derniers s’adaptent complétement à la grille, dont l’effet d’illustration réaliste.
Finalement, nous avons révélé les détails de nos éléments en manipulant les couleurs, les
ombres et les textures [Figure 53].
Figure 52 : Modélisation des bâtiments moyennant l'outil grille de perspective.
76
Figure 53:Composition et architecture finale du village.
77
2.3.3 Intégration des objets et programmation de l’environnement sur UNITY :
L’intégration des éléments de l’environnement de la troisième et de la quatrième
mission sur Unity nécessite quelques étapes. Nous avons débuté par créer un ‘Game Object’
vide sous le nom de ‘Village’. Ensuite, nous avons inséré les bâtiments et les objets de la
décoration botanique. Une fois les éléments du village sont intégrés l’enregistrement des
« Prefab » prend place [Figure 54]. Réellement, un « Prefab » s’agit d’un modèle prêt à être
copié et réutilisé plusieurs fois. Ainsi, nous avons eu la possibilité d’instancier de nouveaux
objets ne faisant pas partie du décor initial du village sur la scène. Plus particulièrement, les
arbres, les pierres, les champignons et les animaux sont enregistrés en tant que « Prefab ».
Figure 54 : Intégration des éléments du village dans Unity.
Tous les prefabs sont nommés suivant cette règle :
78
Figure 55 : Enregistrement des Prefabs dans Unity.
Ultérieurement, il est indispensable d’ajouter les « Collider » aux bâtiments et aux décors
botaniques afin que le joueur n’ait pas la possibilité de les parcourir.
Nous avons, également, essayé d'optimiser le nombre de collider. De ce fait, nous avons opté
pour un seul collisionneur pour les différents « Game Object » voisins et nous avons négligé
l’utilisation de collider avec les objets qui ne sont, en aucun moyen, accessibles par le joueur.
79
Programmation des scripts :
La partie suivante récapitule la programmation des éléments créés et intégrés de la troisième et
de la quatrième mission. En réalité, nous avons créé un algorithme ‘PlanetManager.cs’ capable
de générer la forêt d’une façon procédurale, dynamique et aléatoire dans une matrice. Cette
dernière peut organiser la forêt aléatoirement une fois sa hauteur, sa largeur et le pourcentage
de nombre de ses arbres sont déclarés.
 Void Start() :
Notre but est de créer un environnement qui a une allure et une architecture naturelle. Par suite,
nous avons tout d’abord commencé par la déclaration d’une matrice nommée ‘Map’. De plus,
nous avons fixé sa hauteur et sa largeur en 1100 mètres. Puis, nous avons y posé le village dans
une position (X,Y) aléatoire entre 201 et 799 [Ligne 50 et 51] qui affectera la valeur 2 aux
cases qui génèrent la surface du village [Ligne57]. Enfin nous avons appelé la fonction ‘void
GenerateForest ()’ [Ligne60]
 Void GenerateForest ()
Cette procédure se devise principalement en quatre parties.
80
En premier lieu, la ‘void RandomFillMap ()’ qui a pour rôle de remplir aléatoirement les cases
restantes de la matrice ‘map’ (différents de 2) avec des valeurs entre 0 et 1 et ce suivant un
pourcentage précisé par l’utilisateur moyennant ‘void randomFillPercent’. (Dans notre cas
nous avons consacré une valeur de 43%)
La figure ci-après présente les résultats des tests des différents pourcentages que nous avons
saisis.
Figure 56 : tests des différents pourcentages de ‘void randomFillPercent’.
81
En deuxième lieu, Nous avons eu recours à la procédure ‘void Cellular Automata()’. En effet,
l’automate cellulaire consiste en une grille constante de cellules ne pouvant prendre que deux
états « 0 » ou « 1 », avec un voisinage constitué, pour chaque cellule, d'elle-même et des deux
cellules qui lui sont adjacentes. En réalité, et dans un domaine plus quotidien, les automates
cellulaires peuvent être utilisés comme générateur graphique. Conséquemment, nous l’avons
exploité pour la création aléatoire de notre forêt. De plus, nous avons développé un algorithme
pour adapter le modèle automate cellulaire à nos propres besoins.
Partant de la ligne 116 et jusqu’à la ligne 137, nous avons commencé par tester chaque case de
la matrice pour vérifier si elle est différente de la valeur 2. En outre, nous avons appelé la
fonction ‘NbreDeVoisin()’ qui a pour rôle la sommation des valeurs des cases voisines sauf
celles de la même ligne et la même colonne.
Dans le cas où la fonction ‘NbreDeVoisin()’ retourne la valeur 4, la case originale prend la
valeur de 1, sinon elle prend 0 comme valeur. [Figure 57]
82
Figure 57 : illustration de la fonction ‘NbreDeVoisin’.
Figure 58 : Comparaison entre une forêt avec et sans Cellular Automate.
83
En troisième lieu, nous avons adressé la décoration de la forêt. Pour cela, nous avons regroupé
tous les éléments déjà définis en « prefab » dans un tableau qui est intégré par la suite dans un
autre tableau de chaine de caractères [Figure 59].
Figure 59 : insertion des éléments de décoration du village dans un tableau.
Ligne 17 : Déclarer un tableau ‘Decorationdorest[]’ de gameobject qui prend tous les prefabs
de décoration.
Ligne 18 : Déclarer un tableau ‘NameDecorationdorest[]’ de chaîne de caractère qui prend tous
les éléments du tableau ‘Decorationdorest[]’.
Ligne 19 : Déclarer un gameobjet vide ‘PivotInstantiateObjet’ qui crée tous les objets de la
forêt.
84
Nous avons accordé un arbre à chaque case de matrice de valeur 1. En ce qui concerne les cases
de valeur 0, nous l’avons associé d’une façon aléatoire une pierre, un animal, une plante ou un
ennemi.
2.4 Cinquième mission
2.4.1 Conception de l’environnement :
Pour la cinquième mission, nous avons eu recours à plusieurs jeux de stratégie pour finir
par se décider sur le type « Tower Defense ».
Le « Tower Defense » est un style de jeu vidéo dont l’objectif est d’empêcher le
passage des vagues successives d’ennemis d’une zone de départ vers une zone d’arrivée tout en
construisant graduellement des tours défensives qui éliminent les adversaires au cours de leurs
progression.
L’environnement du jeu possède des spécificités bien déterminées convenables au caractère de
la mission. En effet, le terrain se présente sous la forme d’un plateau se composant de deux
types de cases. Premièrement, un chemin avec une entrée et une sortie consacré pour le passage
des créatures mais interdit pour la construction des tourelles. Deuxièment, des zones destinées
au bâtiment des tours distinguées par des drapeaux rouges mais intraversables par les ennemis.
Aussi, nos tours sont différenciés par leurs coûts, les dégâts qu’ils peuvent produire et leurs
types et vitesses d’attaque.
Notre conception commence par le dessin des différents tours, puis la création de la carte du
jeu [Figure 60].
85
Figure 60: Conception des tourelles.
1.4.2 Modélisation de l’environnement :
Après la validation de la conception, nous avons passé à la modélisation. La figure ci-
dessous présente les étapes et les résultats finals de la modélisation de l’environnement.
86
Figure 61 : Les résultats finals de la modélisation de l’environnement.
87
Figure 62 : Les caractéristiques des différentes tourelles.
88
2.4.3 Intégration des objets et programmation de l’environnement sur UNITY :
Les éléments modélisés de l’environnement de la cinquième mission sont ensuite
importés et assemblés sur Unity pour enfin donner naissance à une scène conforme aux
caractéristiques du Tower Defense.
Les événements de cette mission se déroulent principalement sur une trajectoire qui se présente
comme un chemin avec une entrée et une sortie consacré pour le passage des ennemies. En
effet, le choix de la trajectoire a exigé plusieurs essais pour enfin arriver à créer un terrain
optimal avec la possibilité de gagner la mission ou l’échouer selon la stratégie du joueur.
Ultérieurement, nous avons passé à la création du premier algorithme principal nommé
‘TowerDefanceManager’. Par la suite, nous avons y intégré les déterminants des tourelles.
Plus précisément, les ‘Prefabs’ des tours, le montant d’argent disponible au début de la mission
(1000 pièces de monnaies), le nombre des vagues successives d’ennemies (15 vagues), le HP
du joueur (1000 HP), les boutons de fonction pour chaque tourelle, le coût d’achat des tours
(500, 750 ou 1000 pièce de monnaies) et finalement les trois types de tourelles (Wizard Tower,
Archer Tower, Canon Tower) liés directement à leurs ‘Prefab’ déjà intégrés.
89
Lignes 162, 167 et 172 : La variable ‘Tower’ prend un tour selon le choix du joueur.
Lignes 161,166 et 171 : La variable ‘CostTower’ prend une valeur selon le type de chaque tour.
Ligne 155 à ligne 158 : La fonction ‘GetTowerBuild’ donne la variable Tower.
La figure ci-après expose le résultat du programme précédent.
Figure 63: Résultat de l’algorithme ‘TowerDefanceManager’.
A ce niveau, un deuxième algorithme nommé ‘CaseManager.cs’ prend place. Ce dernier
fourni la programmation nécessaire pour créer les cases de construction des tours. En outre, la
90
cinquième mission précise des positions prédéterminées, marqués par des drapeaux rouges sur
la scène, qui offrent au joueur la possibilité d’y construire une tourelle.
Pour pouvoir construire une tourelle il faut d’abord veiller à ce que le joueur ait assez d’argents.
Pour cela, nous avons testé si la valeur de la variable ‘Money’ qui appartient au premier
algorithme ‘TowerDefanceManager’ et qui représente le montant d’argent disponible chez le
joueur est supérieure au coût du tour désiré [ligne 15].
Egalement, un tour doit faire face à ses adversaires pour pouvoir les attaquer. D’où la nécessité
de pivoter les tourelles selon la position des ennemies sur la trajectoire. Ainsi, nous avons opté
pour la variable ‘TypeRotation’ qui peut prendre la valeur ‘0’ pour afficher l’état initial des
tours ou la valeur ‘1’ pour une rotation de 180° [Ligne 23 et ligne 26].
Ligne 22 : La variable ‘Tour’ prend celle de la fonction ‘GetTowerBuild()’ de l’algorithme
‘TowerDefanceManager’.
La création et l’intégration des cases de construction sont succédés par l’assimilation des trois
types de tourelles. A cet effet, nous avons développé un algorithme bien déterminé pour chaque
tour. Dans la partie qui suit nous examinons une illustration de la programmation de Bombardia,
la tourelle à cannons. Et ce, en élaborant un algorithme nommé ‘TowerCanonManager.cs’.
91
Figure 64: intégrations des trois types de tourelles.
Cet algorithme est composé principalement de deux parties. En premier lieu, la détection des
ennemis les plus proches de la tourelle. Dans ce but, nous avons débuté par grouper tous les
ennemies existants sur scène dans le tableau ‘Enemy[]’ [ligne 26]. Par la suite, nous avons opté
pour parcourir le tableau et comparer la distance entre le tour et l’ennemie. A chaque fois où
cette distance appartient à la zone de détection de tourelle, l’adversaires est affecté à la variable
‘NearEnemy’ [ligne 29 – ligne 47].
92
Pour assurer une localisation optimale des dangers, la procédure antécédente doit être répétitive.
Par ailleurs, la fonction ‘Update’ prédéfinie sur Unity peut exécuter le script trente fois par
seconde. Cependant, pour des raisons d’optimisation nous avons créé la
fonction ‘UpdateDirection’ capable de répéter le script seulement dix fois par seconde [ligne
22].
En deuxième lieu, l’ennemie détecté doit être suivi par le canon et attaqué. Pour atteindre ce
résultat, il faut d’abord tester si l’adversaire est situé sur la zone de tire de la tourelle [lignes 64
et 67]. Ensuite, calculer la différence entre la position du tour et celle de l’ennemie pour
l’intégrer dans la variable ‘Dif’ de type vector2 [ligne 68]. Puis, nous avons eu recours au radian
comme unité de mesure pour pouvoir repérer les positions d’un ennemi et le suivre. Pour cela,
nous avons calculé la valeur d’angle en radians de coordonnées de la variable ‘Dif’ multiplié
par la valeur du constant radian 57.29578. Le résultat est ensuite associé à la variable réel ‘rot_z’
[ligne 69].
Finalement, nous avons intégré un compteur de tire qui à chaque fois que sa valeur est égale à
0 la fonction ‘Fire’ est activée pour attaquer l’ennemie avec un projectile.
93
2.5 Sixième mission
2.5.1 Conception et modélisation de l’environnement :
Etant donné que la sixième mission est considérée comme la dernière, le joueur fera
face à la partie la plus difficile du jeu. En effet, et après avoir confronté tous les ennemies
des missions présidentes, il aura besoin d’affronter le dernier boss « Kahlan » en une bataille
vicieuse. Pour accorder de l’importance à notre gameplay et au mouvement des
personnages, le combat aura lieu sur une scène fixe.
L’environnement du champ de la bataille consiste d’un regroupement des éléments créés
durant la deuxième et la troisième mission [Figure 65].
Figure 65 : Scène de la mission finale.
94
Let’s Fight :
95
Sprint 3 : conceptions des personnages, modélisation et
programmation
Introduction
Cette partie est consacrée à la création des « Players » : personnages joueurs et des
« ennemies» : personnages non joueurs
Tableau prévisionnelle du sprint :
 Date début du sprint : Mercredi 23 Mars 2017
 Date fin du sprint : Lundi 17 Avril 2017
 Temps estimé en heures : 260 heures
 Echelle de mesures : Une journée est équivalente à 10 heures de travail : (De 8h à 13h
-- de 14h à 19h)
96
1- Premiére partie du Sprint
User stories Taches Temps 23 24 25 26 27 28 29 30
Création des
personnages
joueurs (PJ) des
missions 1 et 2
Conception des
personnages
8 0 0 0 0 0 0 0 0
Modélisation
des personnages
10 8 0 0 0 0 0 0 0
Programmation
et integration
des personnages
5 5 3 0 0 0 0 0 0
Redaction du
rapport
Redaction de la
partie de la
création des PJ
des missions 1
et 2
10 10 10 3 0 0 0 0 0
Création des
personnages
joueurs (PJ) des
missions 3,4,5et
6
Conception des
personnages
8 8 8 8 1 0 0 0 0
Modélisation
des personages
30 30 30 30 21 11 1 0 0
Programmation
et integration
des personnages
8 8 8 8 8 8 8 0 0
Redaction du
rapport
Redaction de la
partie de la
création des PJ
des missions
3,4,5 et 6
10 10 10 10 10 10 10 9 0
97
2- Deuxieme partie du Sprint
User stories Taches Temps 31 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17
Création des
personnages
non joueurs
(PNJ) de la
missions 2
Conception des
personnages
10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Modélisation
des
personnages
20 20 11 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Programmation
et integration
des
personnages
5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Redaction
du rapport
Redaction de la
partie de la
création des
PNJ de la
mission 2
10 10 10 10 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Création des
personnages
non joueurs
(PNJ) de la
mission 4
Conception des
personnages
8 8 8 8 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0
Modélisation
des
personnages
18 18 18 18 18 18 12 2 0 0 0 0 0 0 0 0 0 0 0
Programmation
et integration
des
personnages
3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0
Redaction
du rapport
Redaction de la
partie de la
création des
PNJ de la
mission 4
8 8 8 8 8 8 8 8 3 0 0 0 0 0 0 0 0 0 0
98
Création des
personnages
non jouaeurs
(PNJ) de la
mission 5
Conception des
personnages
5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0
Modélisation
des
personnages
15 15 15 15 15 15 15 15 15 13 3 0 0 0 0 0 0 0 0
Programmation
et integration
des
personnages
3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0
Redaction
du rapport
Redaction de la
partie de la
création des
PNJ de la
mission 5
8 8 8 8 8 8 8 8 8 8 8 4 0 0 0 0 0 0 0
Création des
personnages
non joueurs
(PNJ) de la
mission 6
Conception des
personnages
10 10 10 10 10 10 10 10 10 10 10 10 4 0 0 0 0 0 0
Modélisation
des personages
30 30 30 30 30 30 30 30 30 30 30 30 30 24 14 4 0 0 0
Programmation
et integration
des
personnages
8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 2 0 0
Redaction
du rapport
Redaction de la
partie de la
création des
PNJ de la
mission 6
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 0
99
1. Création des personnages joueurs
1.1 Mission 1 et 2 :
1.1.1 Conception et modélisation des personnages joueurs :
Dans la mesure où la première et la deuxième mission ont pour thème la recherche et la
guerre spatiale, nous avons accordé à notre personnage une apparence de vaisseau spatial de
type explorateur frégate nommé « Thunderbird ».
En effet, la frégate est un navire de guerre de taille moyenne dont les dimensions, les
armes et les équipements lui permettent de naviguer sur larges distances et d’attaquer ou de se
défendre contre d’autres navires. En outre, le vaisseau est faiblement blindé et assez bien armé.
[Figure 66]
Figure 66 : Conception de Thunderbird
100
Du fait que notre personnage est un peu compliqué et dans le but de laisser une voie
libre aux futurs changements nous avons modélisé chaque fraction du vaisseau séparément
[Figure].
En ce qui concerne le choix de couleurs nous avons eu recours principalement à trois :
* Le bleu et ses nuances, puisque c’est une couleur étroitement liée au rêve. Le bleu est l'écho
de la vie, du voyage et des découvertes. Ainsi, il reflète le rôle de Thunderbird qui sillonne entre
les planètes et brise le mystère de chaque univers.
* Le jaune est également associé à la puissance, au pouvoir, mais avant tout, au soleil source
de la vie.
* Le rouge est directement significatif d’action, d’énergie et de détermination.
En regroupant ces couleurs, notre vaisseau spatial symbolise le seul espoir de l’humanité pour
renaitre de ses cendres.
Figure 67 : résultat final de la modélisation de Thunderbird.
101
Thunderbird possède cinq armes distinctes ; Missile à Concussion, Missile Driller,
Bombe à Proton, Turbo-Laser et enfin un Bouclier. Les caractéristiques et les détails de ces
équipements sont illustrés dans la figure ci-après.
Figure 68 : Caractéristiques des armes de Thunderbird.
102
1.1.2 Intégration et programmation de Thunderbird :
L’intégration de notre personnage Thnuderbird nécessite certaines étapes primordiales
sur Unity pour pouvoir utiliser le modèle réalisé dans la partie précédente. Autant dire,
nous avons importé l’image sous le format général ‘PNG’ puis opté pour l’option ‘Sprtie
2D’ [Figure 69].
Figure 69: L’option Sprite 2D.
103
Notre vaisseau spatial confrontera les vaisseaux ennemis en relayant sur des armes variées. De
ce fait, nous avons créé des Gameobjects vides pour y ‘instancier’ les projectiles [Figure 70].
Figure 70: Gameobjects vides pour l’insertion des armes.
Plus précisément, Thunderbird possède cinq différents types de projectiles utilisables sous
certaines conditions. Ainsi, nous avons commencé par élaborer un algorithme nommé
‘SpaceShipMissionManager.cs’.
104
Puis nous avons accordé à chaque projectile un bouton spécifique sur le clavier. Soit la touche
‘K’ pour la Missile Driller, ‘L’ pour le Bouclier, ‘M’ correspond à Turbolaser,
‘Espace’ coïncide avec la Bombe à Proton et enfin ‘J’ stimule le projectile de base Missile à
Concussion.
Afin d’expliquer davantage le code utilisé nous proposons une illustration du projectile Bouclier.
En effet, l’activation de cette arme est soumise à deux conditions. Premièrement, le joueur doit
presser la touche ‘K’. Deuxièmement, le temps de recharge du projectile doit être égal à zéro
[ligne 168].
Les boucliers sont des armes qui effectuent une rotation lors d’une attaque. Pour illustrer ce
détail, nous avons eu recours à la variable ‘I’ de type entier et qui incrémente sa valeur par ‘1’
d’une façon continue toute au long de la mission. Conséquemment, quand le joueur appui sur
le bouton ‘k’ les quatre boucliers s’activent, la variable ‘I’ prend sa valeur initiale ‘0’ et la
variable Boolean ‘Spell’ adapte la valeur ‘Vrai’ pour garantir l’attaque de l’ennemie [ligne 172
– ligne 177]. L’incrémentation de ‘I’ va assurer le changement de la rotation des projectiles sur
l’axe des Z ce qui entraine le mouvement circulaire des Boucliers [ligne 181].
Les attaques de notre vaisseau spatial se diffèrent. D’ailleurs, chaque arme possède une
modélisation, une conception et des caractéristiques variées. De ce fait, et après la création de
leur ‘Prefabs’ tous les projectiles sont identifiés par des chiffres distingués à la fin de leurs noms
et manipulés à travers un script unique nommé ‘SpellManager.cs’.
Pour mieux élaborer, prenons l’exemple suivant :
SPELL 07
Spell 07 correspond aux Bombes à Proton. Pour réaliser une attaque utilisant ce projectile nous
devons tout d’abord créer son ‘Prefab’. Ensuite, nous procédons à son animation. Pour enfin
exécuter son script.
105
Animation du projectile Spell07.
Dans cette partie du scripte de Spell07 nous avons commencé par tester le type de
projectile, et ce selon le chiffre distingué existant à la fin de son nom [ligne 63]. De plus, la
Bombe à Proton est une arme qui augmente de taille progressivement. Pour cela, nous avons
opté pour une variable ‘J’ qui assure l’incrémentation des proportions de l’explosif au cours
du temps. La figure ci-après supporte le résultat de notre code.
106
Figure 71: Résultat du code de Spell 07.
107
1.2 Missions 3/4/5/6 :
1.2.1 Conception et modélisation des personnages joueurs :
La conception du « Capitaine Alec » n’obéit pas à la règle des proportions réelles du corps
humain, mais plutôt, aux règles provenant des proportions Japonaises « Chibi ». En effet, les
personnages de type « Chibi » ont souvent des têtes disproportionnellement grandes par rapport
au corps.
En ce qui concerne le choix des costumes, nous avons employé des habits cohérents à un
environnement futuriste et spatial des missions. Ainsi, notre personnage possède une armure
innovante avec un aspect héroïque [Figure 72]. Le capitaine Alec est le seul homme qui peut
mettre fin à la nuisance de la race humaine ce qui explique l’inspiration derrière son nom Alec,
ou en d’autres termes, l'homme défendeur.
Figure 72 : Conception du personnage (CapitaineAlec).
108
Dès la validation des croquis, nous avons passé à la modélisation du Capitaine Alec. Pour y
réussir, nous avons dû passer par plusieurs étapes résumées dans la figure ci-dessous.
Figure 73 : Etapes de la modélisation de Capitaine Alec.
109
SpriteSheet
Walking up
SpriteSheet
Walking
down
SpriteSheet
Walking to
the left
110
SpriteSheet
Walking to
the right
Sprite sheet
Sword attack
Sprite sheet
Farm Spell
111
1.2.2 Intégration et programmation du Capitaine Alec :
L’intégration de notre personnage ‘Capitaine Alec’ nécessite certaines étapes
obligatoires sur Unity pour pouvoir utiliser le modèle réalisé lors de la modélisation. En outre,
nous avons commencé par importer tous les Sprites Sheets du personnage sous le format général
‘PNG’ puis opter pour l’option ‘Sprtie 2D’ [Figure 74]. Par la suite, nous avons fixé tous les
animations de chaque mouvement dans ‘Animator’ [Figure 75]. Finalement, nous avons intégré
les interfaces graphiques ‘GUI’ du personnage qui comporte l’icône de chaque arme, le HP de
l’héro, le mana, les différents potions, l’arbre de maîtrise, la disponibilité d’argent etc.
[Figure76].
Figure 74: Intégration du Capitane Alec.
112
Figure 75: Animation des mouvements de Capitaine Alec sur Animator.
Figure 76: GUI du capitaine Alec.
Capitaine Alec est un personnage particulier. En effet, il nous a exigé une
programmation riche et diversifié qui a demandé amplement de temps. De ce fait, et comme
tentative de simplifier le code et de couvrir les détails les plus importants, nous présentons les
huit parties suivantes :
113
 Gestion du déplacement :
Cette partie est consacrée pour le déplacement du personnage dans les quatre directions ;
haut, bas, droite et gauche.
En effet, notre jeu est de type 2D avec une vue isométrique. Ainsi, pour déplacer notre
personnage il faut incrémenter deux coordonnées en même temps pour pouvoir effectuer un
mouvement suivant un angle de 45° par rapport à l'horizontale ou la verticale.
Prenons comme illustration le déplacement à gauche qui implore une translation
simultanée à gauche et en bas [lignes 392 et 393]. Pour attribuer un effet réaliste au mouvement
du Capitaine Alec, il faut d’une part appeler l’animation [ligne 394] et d’une autre part vérifier
l’affichage des détails du costume selon la position du personnage. Par exemple, dans la ligne
396, nous avons modifié l’ordre du calque de l’épée en 0 puisqu’il n’ait pas entièrement visible
au joueur.
X
Y
45°
114
 Gestion des attaques et des sorts magiques :
Lors des troisième, quatrième, cinquième et sixième missions Capitaine Alec aura
besoin de se défendre contre plusieurs ennemies. Pour cela, nous l’avons renforcé d’une variété
d’armes associée chacune à un bouton spécifique sur le clavier. Soit la touche ‘J’ qui correspond
à un sort magique, ‘K’ coïncide avec une épée, ‘L’ synchronise avec un premier projectile et
finalement le bouton ‘M’ pour un deuxième projectile [Figure 77].
Figure 77: Illustration des armes disponibles chez Capitaine Alec.
Ligne 483 : Instancier un sort magique dans la position du Pivot.
Ligne 484 : Supprimer ce sort magique après deux seconde
 Gestion du Mana:
Le "Mana" est un terme appartenant au vocabulaire gamer qui désigne l'énergie magique
d'un personnage. Celle-ci se présente sous la forme d'une jauge qui détermine la quantité de
sorts magiques susceptibles d'être lancés par l’héro. Lorsque la réserve de ‘Mana’ est épuisée,
le lanceur de sorts ne peut plus lâcher des incantations et doit remplir ses réserves.
En effet, nous avons attribué à notre personnage 100 points de Mana avec la possibilité
de réduire à chaque utilisation d’une arme. Le premier et le deuxième projectile détruisent dix
points de la jauge attribuée au Mana et le sort magique n’épuise que cinq.
115
Pour assurer le fonctionnement d’une arme un test prend place dans la ligne 508. Ainsi,
le joueur ne peut pas utiliser un sort magique seulement sous les deux conditions suivantes : En
premier lieu, la jauge du mana doit contenir un nombre de points supérieurs à celui nécessaire
pour l’utilisation du sort. En deuxième lieu, le temps de simulation de l’arme doit être égal à
zéro.
La ligne 521 illustre le code derrière la diminution de la réserve de mana lors d’une
attaque magique. En parallèle, la ligne 522 montre l’augmentation du temps d’utilisation du
prochain sort.
 Gestion du niveau, des points d’expérience et des points de maîtrise :
Capitaine Alec possède la capacité de gagner de l'expérience à chaque fois qu’il achève
une mission, tue des ennemies ou collecte un inventaire de bois ou de pierres. Lorsque notre
personnage atteint un total spécifique de points d'expérience, il progresse en capacités. Cette
progression s'appelle ‘gagner un niveau’ et elle est illustrée dans le code suivant.
116
Dans cette partie nous examinons le système de maîtrise. En effet, ce dernier est conçu
pour mettre en valeur les efforts stratégiques du joueur. Chaque fois que le personnage attient
un niveau supplémentaire, il gagne des points de maitrise lui offrant la possibilité d’encaisser
des récompenses et d’améliorer ses compétences.
Le système de maitrise se présente sous forme de schéma hiérarchique contenant tous
les bénéfices possible d’une manière progressive. De ce fait, le joueur ne peut déverrouiller une
récompense qu’après le déblocage de sa précédente.
Figure 78: Hiérarchie de points de maîtrises.
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE
Rapport PFE

Contenu connexe

Tendances

Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
ichrafkhalfaoui
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEOussama Djerba
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
Skander Driss
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
Rim ENNOUR
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
Ayoub Mkharbach
 
Rapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIARapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIA
Ahmed BEN JEMIA
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Ramzi Noumairi
 
Rapport de projet de fin d’étude
Rapport  de projet de fin d’étudeRapport  de projet de fin d’étude
Rapport de projet de fin d’étude
OumaimaOuedherfi
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
Ben Abdelwahed Slim
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année
kaies Labiedh
 
Rapport du projet fin d'etudes
Rapport du projet fin d'etudesRapport du projet fin d'etudes
Rapport du projet fin d'etudes
Tahani RIAHI
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
Anouar Kacem
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
Nazih Heni
 
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
HORIYASOFT
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Raoua Bennasr
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
Lina Meddeb
 
Rapport PFE : Cloud Insights
Rapport PFE : Cloud InsightsRapport PFE : Cloud Insights
Rapport PFE : Cloud Insights
ahmed oumezzine
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
Hicham Ben
 
rapport fin d'etude
rapport fin d'etuderapport fin d'etude
rapport fin d'etude
sihem-med
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
JinenAbdelhak
 

Tendances (20)

Rapport de stage
Rapport de stageRapport de stage
Rapport de stage
 
Pfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEEPfe conception et développement d'une application web GMAO JEE
Pfe conception et développement d'une application web GMAO JEE
 
Conception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIRConception et développement d'une application Android pour TUNISAIR
Conception et développement d'une application Android pour TUNISAIR
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
Rapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIARapport PFE Ahmed BEN JEMIA
Rapport PFE Ahmed BEN JEMIA
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
Rapport de projet de fin d’étude
Rapport  de projet de fin d’étudeRapport  de projet de fin d’étude
Rapport de projet de fin d’étude
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
Rapport de projet de fin d'année
Rapport de projet de fin d'année Rapport de projet de fin d'année
Rapport de projet de fin d'année
 
Rapport du projet fin d'etudes
Rapport du projet fin d'etudesRapport du projet fin d'etudes
Rapport du projet fin d'etudes
 
Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015Rapport de stage de fin d'études ISI 2015
Rapport de stage de fin d'études ISI 2015
 
Rapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédiaRapport de projet de fin d'étude licence informatique et multimédia
Rapport de projet de fin d'étude licence informatique et multimédia
 
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...Conception d'un module de gestion de la paie adapté au contexte marocain pour...
Conception d'un module de gestion de la paie adapté au contexte marocain pour...
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
 
Rapport PFE : Cloud Insights
Rapport PFE : Cloud InsightsRapport PFE : Cloud Insights
Rapport PFE : Cloud Insights
 
Rapport Projet de fin d'etude sur le parc informatique
Rapport Projet  de fin d'etude sur le parc informatiqueRapport Projet  de fin d'etude sur le parc informatique
Rapport Projet de fin d'etude sur le parc informatique
 
rapport fin d'etude
rapport fin d'etuderapport fin d'etude
rapport fin d'etude
 
Rapport de stage d'été
Rapport de stage d'étéRapport de stage d'été
Rapport de stage d'été
 

Similaire à Rapport PFE

Realisation-dun-module-Odoo-de-gestion-de-recrutements-carriere-et-conges-des...
Realisation-dun-module-Odoo-de-gestion-de-recrutements-carriere-et-conges-des...Realisation-dun-module-Odoo-de-gestion-de-recrutements-carriere-et-conges-des...
Realisation-dun-module-Odoo-de-gestion-de-recrutements-carriere-et-conges-des...
abdoulayendiaye60
 
Etiquetage morphosyntaxique de l’arabe avec Nooj
Etiquetage morphosyntaxique de l’arabe avec NoojEtiquetage morphosyntaxique de l’arabe avec Nooj
Etiquetage morphosyntaxique de l’arabe avec Nooj
Dhifallah OTHMEN
 
Pfe
PfePfe
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseAbderrahmane Filali
 
YouTaQA : Système de Questions-Réponses Intelligent basé sur le Deep Learning...
YouTaQA : Système de Questions-Réponses Intelligent basé sur le Deep Learning...YouTaQA : Système de Questions-Réponses Intelligent basé sur le Deep Learning...
YouTaQA : Système de Questions-Réponses Intelligent basé sur le Deep Learning...
YounesAGABI
 
Mise à niveau d’un Data Center VoIP de CUCM 7.0 à CUCM 9.0
Mise à niveau d’un Data Center VoIP de CUCM 7.0 à CUCM 9.0 Mise à niveau d’un Data Center VoIP de CUCM 7.0 à CUCM 9.0
Mise à niveau d’un Data Center VoIP de CUCM 7.0 à CUCM 9.0
Anis Nouri
 
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
RidhaChayeh1
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
Rouâa Ben Hammouda
 
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Abdelmadjid Djebbari
 
Rapport_PFE_analyse_de_données_BI_2021.pdf
Rapport_PFE_analyse_de_données_BI_2021.pdfRapport_PFE_analyse_de_données_BI_2021.pdf
Rapport_PFE_analyse_de_données_BI_2021.pdf
RihabBenSalem5
 
Etude des machines synchrones a démarrage direct sur le réseau (line start pe...
Etude des machines synchrones a démarrage direct sur le réseau (line start pe...Etude des machines synchrones a démarrage direct sur le réseau (line start pe...
Etude des machines synchrones a démarrage direct sur le réseau (line start pe...
Zaki Saidani
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
Ahmed rebai
 
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
ElAzzabAbdeSsamad
 
Rapport final
Rapport finalRapport final
Rapport final
YosraJerbi1
 
Rapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMRapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMM
Eya TAYARI
 
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
Bader Nassiri
 
rapport-finale-ZoubairWassim.pdf
rapport-finale-ZoubairWassim.pdfrapport-finale-ZoubairWassim.pdf
rapport-finale-ZoubairWassim.pdf
SyrinaGaddour
 
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Karima Torkhani
 
Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...
Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...
Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...
karimatorkhani
 
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
Karima Torkhani
 

Similaire à Rapport PFE (20)

Realisation-dun-module-Odoo-de-gestion-de-recrutements-carriere-et-conges-des...
Realisation-dun-module-Odoo-de-gestion-de-recrutements-carriere-et-conges-des...Realisation-dun-module-Odoo-de-gestion-de-recrutements-carriere-et-conges-des...
Realisation-dun-module-Odoo-de-gestion-de-recrutements-carriere-et-conges-des...
 
Etiquetage morphosyntaxique de l’arabe avec Nooj
Etiquetage morphosyntaxique de l’arabe avec NoojEtiquetage morphosyntaxique de l’arabe avec Nooj
Etiquetage morphosyntaxique de l’arabe avec Nooj
 
Pfe
PfePfe
Pfe
 
Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
YouTaQA : Système de Questions-Réponses Intelligent basé sur le Deep Learning...
YouTaQA : Système de Questions-Réponses Intelligent basé sur le Deep Learning...YouTaQA : Système de Questions-Réponses Intelligent basé sur le Deep Learning...
YouTaQA : Système de Questions-Réponses Intelligent basé sur le Deep Learning...
 
Mise à niveau d’un Data Center VoIP de CUCM 7.0 à CUCM 9.0
Mise à niveau d’un Data Center VoIP de CUCM 7.0 à CUCM 9.0 Mise à niveau d’un Data Center VoIP de CUCM 7.0 à CUCM 9.0
Mise à niveau d’un Data Center VoIP de CUCM 7.0 à CUCM 9.0
 
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
AUTOMATISATION D’UNE MACHINE EXTRUDEUSE ET MISE EN PLACE D’UNE INTERFACE HOMM...
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
Deploiement solution_ha_de_stockage_ceph_sous_une_plateforme_virtualisee_vsph...
 
Rapport_PFE_analyse_de_données_BI_2021.pdf
Rapport_PFE_analyse_de_données_BI_2021.pdfRapport_PFE_analyse_de_données_BI_2021.pdf
Rapport_PFE_analyse_de_données_BI_2021.pdf
 
Etude des machines synchrones a démarrage direct sur le réseau (line start pe...
Etude des machines synchrones a démarrage direct sur le réseau (line start pe...Etude des machines synchrones a démarrage direct sur le réseau (line start pe...
Etude des machines synchrones a démarrage direct sur le réseau (line start pe...
 
Rapport pfe
Rapport pfeRapport pfe
Rapport pfe
 
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
392327755-Conception-Et-Realisation-d-Un-Site-Web-Et-Une-Application-Mobile-d...
 
Rapport final
Rapport finalRapport final
Rapport final
 
Rapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMMRapport_pfe_licence_ISAMM
Rapport_pfe_licence_ISAMM
 
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
467720159-rapport-final-bouguerra-khadijaesseghaier-lina-pdf.pdf
 
rapport-finale-ZoubairWassim.pdf
rapport-finale-ZoubairWassim.pdfrapport-finale-ZoubairWassim.pdf
rapport-finale-ZoubairWassim.pdf
 
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
Torkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitorin...
 
Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...
Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...
Torkhani karima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitori...
 
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
orkhanikarima-MémoireMastereProRx&telecom-FST2015-, Supervision et Monitoring...
 

Rapport PFE

  • 1. 1
  • 2. 2 Dédicace : Sondes Jaouadi : Maman, Papa, vous représentez pour moi le symbole de la bonté par excellence, la source de l’amour et l’exemple du dévouement. Votre prière et bénédiction m’ont été d’un grand secours pour mener à bien mes études. Aucun dédicace n’ait jamais assez pour exprimer ce que vous méritez pour tous vos sacrifices depuis ma naissance, durant mon enfance et jusqu'à aujourd'hui. Que Dieu, le tout-puissant, vous accorde santé, bonheur et longue vie et fait en sorte que, jamais, je ne vous déçoive. A mes chers et adorables frères et sœurs : • Saif, mon idole et source d’inspiration. • Sofiene le ‘beauty’ de ma vie que j’aime profondément. • Salma mon âme sœur, l’amie qui m’a accompagné durant mon voyage, la force qui rassure le plus peureux, la femme au grand cœur. • Sanouda, prunelle de mes yeux. Votre joie et votre gaieté me comblent de bonheur. Puisse Dieu vous garder, éclairer votre route et vous aider à réaliser à votre tour vos vœux les plus chers. A mes chères cousines Khoukha, Tbibti et, Dadouja merci pour votre support et votre amour. A mes cher(e)s ami(e)s Amoula source de bonheur, Abir la touche Artistique, Shayma la folie, Marwa le sourire, Karim, cher Kassou, Saz, Saiyef, Auday, Cherif, Hamidou, Ahmed, 3ak3ouk et Aziz el ‘Chella’ sans vous la vie sera moins belle et moins radieuse, que je vous aime. Et finalement à toutes les personnes et les ami (e) s qui ont participé à l’élaboration de ce travail, à tous ceux que j’ai omis de citer.
  • 3. 3 Mohamed Karin Sakran : Je dédie ce projet à : Ma grand-mère, qui a œuvré pour ma réussite, par son amour, son soutien, tous les sacrifices consentis et ses précieux conseils, pour toute son assistance et sa présence dans ma vie. Reçois à travers ce travail aussi modeste soit-il, l'expression de mes sentiments et de mon éternelle gratitude. Mes amis qui n'ont cessé d'être pour moi des exemples de persévérance, de courage et de générosité. Arwa Argoubi : Je dédie ce travail à : À ma mère et mon père en témoignage de ma profonde affection et mon infinie reconnaissance. À ma chère sœur : Amira À mes chers amis : Saif , Rahma , Amira et Rihem A tous mes amis Merci pour ceux qui n’ont jamais cessé de me soutenir tout au long de la réalisation de ce projet.
  • 4. 4 Remerciements Ce projet est le résultat d'une démarche appuyée par la contribution de plusieurs personnes. Nous tenons à remercier le corps administratif et enseignant de « l’Institut Supérieur des Arts Multimédia de Manouba » pour les divers enseignements qui nous ont permis de réaliser notre projet de fin d’études. Nous remercions, plus particulièrement, cher monsieur Mohamed Karim AZIZI notre encadrant technique et chère madame Dorra MASRI notre encadrante graphique pour nous offrir les meilleures conditions de travail et pour les précieux conseils prodigués tout le long de notre projet. Nous exprimons, également, nos vives gratitudes et nos meilleurs respects, à notre professeur et encadrant Mohamed Ali CHALBI pour sa disponibilité, sa patience et son aide précieux ainsi à madame Samia CHELBI pour son accueil chaleureux au sein de la société « NetInfo » Finalement, nous tenons à exprimer nos remerciements les plus sincères aux membres de jury qui ont pris la peine d’évaluer ce travail faisant preuve d’attention et de patience.
  • 5. 5 Table de matière : INTRODUCTION.......................................................................................................... 8 1. Contexte général du projet :.............................................................................. 9 2. Objectifs du projet : .......................................................................................... 9 3. Environnement de travail : ............................................................................... 9 4. Approche méthodologique : ........................................................................... 10 ...................................................................................................................................... 13 ...................................................................................................................................... 13 ETAT DE L’ART......................................................................................................... 13 Introduction :............................................................................................................. 14 1. L’univers des jeux vidéo : .............................................................................. 14 1.1 Les types des jeux vidéo : ............................................................................... 14 1.2 Les genres des jeux vidéo : ............................................................................. 17 1.3 Les Modes des jeux vidéo :............................................................................. 22 1.4 Les Types d’univers des jeux vidéo :.............................................................. 24 1.5 Les jeux vidéo à potentiel pédagogique (Serious Game) :.............................. 26 1.6 Le public cible des jeux vidéo :....................................................................... 27 1.7 Bilan et choix : ................................................................................................ 28 2. Etude de l’existant : ........................................................................................ 29 2.1 Etude des jeux similaires................................................................................. 29 Conclusion :.............................................................................................................. 34 Beyond Eden, The Star of Gora ................................................................................... 35 Introduction :............................................................................................................. 36 1. Description et Synopsis du jeu vidéo :.................................................................. 36 1.1 But du produit : ............................................................................................... 36 1.2 Objectifs personnels :...................................................................................... 36 1.3 Clientèle cible : ............................................................................................... 36
  • 6. 6 1.4 Synopsis du jeu : ............................................................................................. 36 1.5 Description visuelle et sonore :....................................................................... 38 1.6 Schémas de navigation :.................................................................................. 38 2. Spécifications des besoins fonctionnelles :........................................................... 39 3. La conception de l’application :............................................................................ 43 4. Spécifications des besoins non fonctionnelles :.................................................... 49 5. Logiciels utilisés : ................................................................................................. 58 Conclusion :.............................................................................................................. 58 Let’s Learn.................................................................................................................... 59 Chapitre 1 : Sprint 2 : Création de l'environnement :................................................... 60 Introduction :............................................................................................................. 60 1. Tableau prévisionnel du sprint : ..................................................................... 60 2. Conception de l’environnement, modélisation et programmation : ..................... 65 2.1 Première mission :........................................................................................... 65 2.2 Deuxième mission :....................................................................................... 70 2.3 Troisième et quatrième mission :.................................................................... 72 2.4 Cinquième mission.......................................................................................... 84 2.5 Sixième mission .............................................................................................. 93 Let’s Fight : .................................................................................................................. 94 Sprint 3 : conceptions des personnages, modélisation et programmation.................... 95 Introduction............................................................................................................... 95 Tableau prévisionnelle du sprint :............................................................................. 95 1. Création des personnages joueurs................................................................... 99 1.1 Mission 1 et 2 : ................................................................................................ 99 1.2 Missions 3/4/5/6 :.......................................................................................... 107 2. Création des personnages non joueurs : ....................................................... 121 2.1 Mission 2 :..................................................................................................... 121
  • 7. 7 2.2 Mission 4 :..................................................................................................... 127 2.3 Mission 5 :..................................................................................................... 132 2.4 Mission 6 :..................................................................................................... 139 Sprint 4 : Création de la charte graphique :................................................................ 147 Introduction :........................................................................................................... 147 Tableau prévisionnelle du sprint :........................................................................... 147 1. Le logo :........................................................................................................ 148 2. Conception et création des GUIs :................................................................ 150 2.1 Interface du Menu Principal :........................................................................ 151 2.2 Interface du Menu Pause :............................................................................. 153 2.3 Interface Game Over:.................................................................................... 154 2.4 Intégration des menus : ................................................................................. 155 2.5 Interfaces du jeu :.......................................................................................... 157 Let’s Win :.................................................................................................................. 160 Sprint 5 : création des cinématiques :......................................................................... 161 1. Tableau prévisionnelle du sprint : ................................................................ 161 2. Création de la cinématique : ......................................................................... 162 Sprint 6 : Achèvement du projet :............................................................................... 175 1. Tableau prévisionnelle du sprint : ................................................................ 175 3. Conception sonore :...................................................................................... 176 4. Exportation du projet :.................................................................................. 184 5. Publication du jeu :....................................................................................... 186 Conclusion :................................................................................................................ 188 1. Bilan du projet : ............................................................................................ 188 2. Bilan personnel :........................................................................................... 188 3. Perspectives : ................................................................................................ 188 Bibliographie :............................................................................................................ 194
  • 8. 8
  • 9. 9 1. Contexte général du projet : Le temps accordé aux loisirs prend une place de plus en plus importante dans la vie des jeunes d’aujourd’hui. En effet, plusieurs observations révèlent la participation massive de la tendance des jeux vidéo à notre épanouissement quotidien. Notamment, et étant des jeunes Gamers, nous avons grandi avec ce phénomène qui, actuellement, fait partie de notre culture. Cependant, les questionnements qui se présentent à ce niveau sont : peut-on faire partie de ce monde créatif qui uni à la fois la science et l’art ? Comment outiller efficacement nos connaissances pour affronter la démarche complexe de la conception d’un jeu vidéo ? Notre projet de fin d’études vise à la conception et la réalisation d’un jeu vidéo 2D avec une vue isométrique pour clôturer notre cursus universitaire à l’Institut Supérieur des Arts et Multimédia de la Manouba (ISAMM). D’ailleurs, il constitue une occasion pour déployer nos perceptions et profiter d’une expérience professionnelle complémentant notre formation à l’ISAMM. 2. Objectifs du projet : L’objectif principal de notre projet est de réaliser un jeu 2D permettant d’allier l’aspect pédagogique et éducatif avec l’aspect ludique. Ainsi, nous visons à offrir un produit capable de livrer aux joueurs une expérience complète et captivante en termes de scénario, de fonctionnalités et de graphique. De plus, nous aspirons à tester et améliorer nos compétences du développement du jeu vidéo, et ce en découvrant et assimilant de nouvelles connaissances. Enfin, nous soutenons le travail d’équipe qui nous donnera un aperçu sur son importance pour l’intégration dans la vie professionnelle. 3. Environnement de travail :  Présentation générale de la société : Dans cette partie, nous présentons d’une manière générale l’environnement dans lequel nous avons développé notre jeu et l’entreprise qui nous a assistés. Le stage complémentaire de notre projet a été effectué au sein de « Net Info » pendant une durée de trois mois.
  • 10. 10  Nom : NET-INFO.  Fondateurs : CHELBI Sabeur & CHELBI Samia.  Date de création : 1999.  Lieux : Nabeul et Tunis  NET-INFO (S.A.R.L) : est une école de formation 3D certifiée ISO 9001:2008 et agréée par le ministère de la formation professionnelle tunisien. Depuis quinze ans, l’institut offre des formations qualifiantes et certifiées en infographie, techniques de production de l'image, effets spéciaux visuels, cinéma d'animation et aux jeux vidéo.  Présentation des participants au projet : Nous sommes une équipe multidisciplinaire de trois membres ; Sondes Jaouadi (IM), Mohamed Karim Sakran (IM) et Arwa Argoubi (CM) qui cherche à fusionner l’art et la programmation. Plusieurs participants ont contribué à la réalisation de ce projet : 4. Approche méthodologique :  Les disciplines adoptées : La conception de notre jeu « Beyond Eden » nous a exigé de faire recours aux plusieurs cours étudiés durant les trois dernières années au sein de l’ISAMM. Notre objectif consiste à employer des connaissances pertinentes et utiles dans la réalisation de ce projet, acquises à travers les matières suivantes : Mr. Mohamed Ali Chalbi Encadrant technique – Net Info ENetInfoMme. Dorra Masri Encadrante graphique - ISAMM ENetInfo Sondes Jaouadi Développeur Designer graphique ENetInfoMohamed Karim Sakran Développeur ENetInfoArwa Argoubi Designer graphique ENetInfo Mr. Mohamed karim Azizi Encadrant technique - ISAMM ENetInfo
  • 11. 11  Intelligence Artificielle : Nécessaire pour la création des comportements des personnages, de l’environnement etc.  Modélisation/Animation 2D : Utile pour la modélisation des éléments de l’environnement, des personnages et leurs animations 2D.  Programmation 2D : Essentiel durant l’utilisation du moteur de jeu Unity 2D.  Conception Orientée Objets et Génie Logiciel : Primordiale pour le cycle de vie et les phases d’analyse et de conception du projet.  Design et Conception Graphique : Obligatoire pour la création des objets 2D ainsi que les interfaces du jeu.  Ingénierie logicielle adoptée : Tout au long de notre projet, Nous avons opté pour l’utilisation d’UML pour la conception et Scrum en tant que méthodologie agile.  UML : est un langage de modélisation graphique à base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception des différentes vue (statiques/dynamiques) d'un système.  Scrum : Scrum est une méthode agile permettant de répondre à des besoins changeants tout en livrant, de manière productive, des produits de qualité.  Structure du rapport : Afin de garantir une organisation logique, une hiérarchie cohérente et une possibilité de traquer l’évolution de notre projet, nous avons fixé une répartition intelligente basée d’une part sur la méthodologie de Scrum, et d’autre part sur l’idée générale de notre jeu. Nous avons débuté par l’introduction générale de notre projet, suivi par le chapitre d’Etat de l’art. Le troisième chapitre nommé « Beyond Eden » englobe trois grandes parties : ‘let’s learn’, ‘let’s fight’ et ‘let’s win’, avec une nomination fidèle à l’aventure de notre jeu.  Etat de l’art : Comporte les études préalables, présente l’analyse de l’existant et expose les différentes contraintes et difficultés à surmonter.  Beyond Eden : Comporte la présentation du jeu ainsi que la conception et le processus que nous avons suivi tout au long du développement du projet.
  • 12. 12  Let’s Learn : Comporte la démarche suivie dans la création des différents environnements.  Let’s Fight : Comporte les étapes du développement graphique et de la programmation des personnages ainsi que le développement de la charte graphique, des interfaces et des menus.  Let’s Win : Comporte les étapes de la création cinématiques, sonore et le test de la version finale du jeu. Schéma de la structure du projet.
  • 13. 13
  • 14. 14 Introduction : Pour acquérir l’aptitude de créer un jeu vidéo, il est indispensable de mener des recherches approfondies pour développer une vision globale sur ce domaine diversifié. De ce fait, la partie ci-après expose quelques éléments fondamentaux de l’univers des jeux vidéo. Particulièrement, nous nous intéressons d’abord à ses différents types et modes. Ensuite, nous analysons les jeux qui présentent les sources d’inspiration derrière « BEYOND EDEN : The Star of Gora ». 1. L’univers des jeux vidéo : 1.1 Les types des jeux vidéo : Le mot « jeu vidéo » est généralement attribué aux applications de type multimédias ayant un rôle dévertissant et jouables sur des supports variés. Ces derniers peuvent être de gros ordinateurs ou bien de petits appareils portables tel que les consoles, les ordinateurs personnels ou encore les smartphones. Il existe plusieurs manières de distinguer les différents types de jeux vidéo (la chronologie, la thématique, l’univers, le style graphique, l’environnement, le Game Play …). Généralement il existe quatre types de jeux : Les jeux 2D, les jeux 2.5D, les jeux 2D isométriques et les jeux vidéo 3D. 1.1.1 Jeux vidéo en 2D : Les jeux en deux dimensions sont les premiers survenus sur l’axe chronologique des jeux vidéo. Ils sont caractérisés par un style simple, une jouabilité traitable puisque les actions, les déplacements et les affichages se font uniquement sur deux axes (hauteurs et largeur) et des interfaces graphiques faciles à gérer. Les jeux 2D ont été toujours considérés ‘old school’ et préjugés d’ancienneté. Cependant, de nos jours, les studios qui créent ce type de jeux vidéo cherchent souvent à favoriser l'aspect artistique et l'originalité de leurs projets afin de s’aligner aux jeux plus modernes actuels. Nous citons comme exemple « SHANK » [Figure 1].
  • 15. 15 FIGURE 1 : le Jeu vidéo 2D, Shank. 1.1.2 Jeux vidéo en 2.5D : Les jeux 2.5D, dits aussi ‘demi 3D’, ‘pseudo 3D’ ou ‘fausse 3D’, désignent les technologies d'imagerie qui se trouvent à mi-chemin entre 2D et 3D. Ils signalent, également, l'incrustation d'un élément 3D (personnage, objet, etc.) évoluant dans un environnement 2D ou un jeu totalement modélisé en 3D mais dont le Game Play se base sur des mécanismes 2D. Nous pouvons se référer au jeu « ASSASSIN’S CREED CHRONICLES » comme exemple [Figure 2]. FIGURE 2 : Le jeu 2.5D, Assassin’s Creed Chronicles.
  • 16. 16 1.1.3 Jeux vidéo en 2D isométrique : Le terme "isométrique" indique généralement un effet 3D obtenu en utilisant des sprites 2D. De ce fait, les jeux 2D isométrique sont une représentation en 2D pivotée d’un angle de quarante-cinq degrés (45°), donnant un effet d’inclinaison, de profondeur et d’obliquité. Pour ce type, nous mentionnons comme exemple « Crafton & Xunk » [Figure 3]. Figure 3 : Le jeu 2D isométrique, Crafton & Xunk. 1.1.4 Jeu vidéo en 3D : Les jeux vidéo tridimensionnels sont apparus quelques années plus tard avec l'évolution des supports matériels. Ce type a annoncé l’apparition d’un nouvel axe autre que les deux anciens axes du type 2D, ce qui a donné aux jeux un effet très réaliste et constructif. Nous pouvons citer comme exemple Horizon Zero Dawn [Figure 4]. Figure 4 : Le jeu 3D, Horizon Zero Dawn.
  • 17. 17 1.2 Les genres des jeux vidéo : 1.2.1 Jeux d’action : Il s’agit d’un genre de jeu vidéo dont le Gameplay est fondé sur des interactions en temps réel et qui fait principalement appel à la présence d'esprit et aux réflexes du joueur. Pour ce genre, nous citons l’exemple du jeu « Battelfield 4 » [Figure 5]. D’après une étude réalisée par des chercheurs de l'université de Rochester à New York, la pratique des jeux d'action améliore la vision et refaçonne le traitement visuel et informationnel du cerveau. Figure 5 : Le jeu d’action, Battlefield. 1.2.2 Jeux d’aventure : C’est Un genre de jeu vidéo crée afin que le joueur sorte du monde dans lequel il vit tous les jours pour se plonger dans un autre plus mystérieux qu'il va devoir explorer. Nous pouvons citer en tant qu'exemple clé le célèbre Assassin’s Creed Syndicate [Figure 6]. Figure 6 : Assassin’s Creed Syndicate.
  • 18. 18 1.2.3 Jeux de rôle : C’est un type connu pour être complexe et addictif, il est basé sur une technique ou une activité, par laquelle une personne interprète le rôle d'un personnage dans un environnement illusoire. Le concurrent agit à travers ce rôle par des actions physiques ou narratives. Le style est connu pour être addictif car le joueur peut finir par s’identifier à son personnage. « Final Fantasy Online : Realm Reborn » [Figure 7] ou « World Of Warcraft » sont deux titres du domaine qui connaissent une fidélité des joueurs depuis plusieurs années. Figure 7 : Final Fantasy Online: Realm Reborn. 1.2.4 Jeux de plateforme: Le jeu de plate-forme est un type de jeu où le joueur se trouve dans un environnement instable présentant plusieurs obstacles à surmonter pour atteindre un but donné afin de mettre l’accent sur l'habileté du joueur à manipuler le déplacement de son avatar. Notons comme exemple le fameux jeu « OwlBoy » [Figure 8]. Figure 8 : OwlBoy.
  • 19. 19 1.2.5 Jeux de stratégie : Pour ce type de jeu, la capacité d'un joueur à gérer des ressources, évaluer des risques et commander une armée est mise en valeur. Nous pouvons mentionner comme exemple la fameuse saga « Age of Empire » [Figure 9]. Figure 9 : Age Of Empires. 1.2.6 Jeux de tir : C’est un type dans lequel le personnage possède un pistolet ou une arme à longue portée qui sont utiles pour tirer sur les adversaires et achever des missions. Le joueur et mis sous la preuve afin de vérifier sa vitesse et son temps de réponse. « Call of Duty » [Figure 10] est un parfait exemple de jeu de tir. Figure 10 : Call of Duty Apocalypse.
  • 20. 20 1.2.7 Jeux de simulation : Les jeux de simulation servent à essayer de reproduire la sensation forgée dans une situation réelle. Un jeu peut porter sur une guerre, un évènement populaire, une bataille ou une histoire réelle comme le cas de « Sims » [Figure 11]. Figure 11 : SIMS. 1.2.8 Jeux de sport : Dans la même idée que les jeux de simulation, le jeu de sport reproduit la sensation d'une activité existante mais ne se concentre pas sur la conduite d'un véhicule mais plutôt sur la reproduction d'un match sportif. Ce genre de jeu offre la possibilité aux joueurs de pratiquer leurs sports préférés virtuellement. On a ici cité comme exemple pour ce genre, le jeu « FIFA17 » [Figure 12]. Figure 12 : FIFA 17.
  • 21. 21 1.2.9 Jeux de course : Le Gameplay de ce type de jeu est basé souvent sur la présence d'un véhicule. Le joueur est censé atteindre un objectif avant ses adversaires ou avant une limite de temps donnée. Pour exemple nous notons le jeu « Need for speed » [Figure 13]. Figure 13 : Need For Speed. 1.2.10 Jeux d’horreur: C’est Un genre de jeu dont le Game Play fait généralement en sorte que le joueur ne se sent pas aussi fort et solide à cause des fictions d’abomination et de panique. Comme c’est le cas pour le jeu « Resident Evil » [Figure 14]. Figure 14 : Resident Evil 7.
  • 22. 22 1.2.11 Jeux de réflexion : C’est Un genre de jeu basé sur la méditation, il amène le joueur à résoudre des problématiques, des énigmes, ou à sillonner à travers des lieux complexes. Le gameplay oblige le joueur à approfondir, à réfléchir et à chercher. Nous référons à « Mind : Path to Thalamus » comme exemple [Figure 15]. Figure 15 : Mind: Path to Thalamus. 1.3 Les Modes des jeux vidéo : Les jeux vidéo peuvent être aussi classés suivant leurs modes. Ces derniers présentent le paramétrage de la façon de jouabilité d’un joueur qui peut sélectionner selon le contexte, le nombre de joueurs simultanés ou bien le type de Gameplay recherché. 1.3.1 Mode Compagne solo : Le mode compagne solo, appelé encore « mono-joueur » ou « simple joueur », est un mode où le joueur accomplie une mission seule sans la participation d’autre personnage d’où parvient le terme “solo”. Le joueur affronte généralement l’intelligence artificielle gérée par le jeu. Nous exposons pour exemple le jeu « Far Cry Primal » [Figure 16].
  • 23. 23 Figure 16 : Far Cry Primal. 1.3.2 Mode Multi-joueurs : Ce mode de jeu permet à plusieurs personnes de jouer ensemble simultanément à la même partie. Cette fonctionnalité peut se produit soit en partageant le même matériel soit par un réseau local ou encore à travers un réseau internet. Le mode multi-joueurs offre plus de défis que le mode solo. En effet, chaque joueur doit se mesurer à l'intelligence et aux réflexes d'un autre joueur qui peut deviner ses intentions. De plus, contrairement au mode histoire en solo dans lequel le jeu se termine après avoir fini une histoire, le mode multi-joueurs ne se termine jamais. Ainsi, beaucoup de joueurs préfèrent ce mode pour avoir une durée de vie de jeu plus longue. Nous citons comme exemple le fameux « League of Legends » [Figure 17]. Figure 17 : League of Legends. 1.3.3 Mode Multi-joueurs coopératif : C’est un mode de jeu vidéo multi-joueurs dans lequel les joueurs doivent unir leurs actions dans un objectif commun. Ce mode autorise aux joueurs de s'entraider en passent des
  • 24. 24 armes, se soigner, faire un tir de couverture etc. L’exemple le plus est « Counter Strike » [Figure 18]. Figure 18 : Counter Strike. 1.4 Les Types d’univers des jeux vidéo : 1.4.1 Univers fantastique : C’est un univers fondé de l'époque moyenâgeuse mais avec un aspect de magie et de créatures telles que les elfes, les géants, les dragons etc. Le jeu « Heroes of the Storm » [Figure 19] reflète cet univers. Figure 19 : Heroes of the Storm. 1.4.2 Univers futuriste : L'univers futuriste est un univers tiré de la science-fiction où les personnages venant d'autres planètes ont pris contact avec notre civilisation et les histoires passent dans un futur
  • 25. 25 technologiquement très évolué par rapport à notre époque. Un exemple peut être le jeu « Mass Effect 4 : New Age » [Figure 20]. Figure 20: Mass Effect 4: New Age. 1.4.3 Univers Moderne/Urbains : Dans ces jeux, l'histoire se déroule dans une époque proche de la nôtre et dans un environnement tel que nous pouvons en voir dans la vraie vie. Le joueur a l’impression de ne pas être dans un jeu et a le pouvoir de faire des choses qui lui semblent impossibles dans la vie réelle. Exactement comme le jeu « GTA V » [Figure 21]. Figure 21 : GTA V.
  • 26. 26 1.5 Les jeux vidéo à potentiel pédagogique (Serious Game) :  Définition de Serious Game : Un Serious game, ou jeu sérieux, est une activité qui utilise des mécanismes ludiques pour résoudre des problématiques pédagogiques ou promotionnelles. Même s’il peut être amusant, son objectif primordial est toujours de faire évoluer son audience. En se basant sur le fait que les individus se souviennent de 30% de ce qu’ils voient et de 90% de ce qu’ils font, les serious games deviennent alors des supports privilégiés pour véhiculer l’information car ils permettent à l’utilisateur de s’impliquer dans un environnement pour expérimenter des scénarios. Ces jeux se trouvent dans une multitude de milieux professionnels, pour tous publics et dans divers domaines : Gouvernement, armée, santé, éducation, entreprise, religion, culture, écologie, politique, humanitaire, développement durable, médias, publicité, sciences, etc.  Les catégories de Serious Game : L’étude de « Serious games » met en évidence divers catégories :  « Les serious games à message » : Cherchent à diffuser un message (éducatif (edugame), publicitaire (advergame) éducatif et commercial (edumarketgame)  « Les jeux de simulation » : Permet de visualiser un phénomène réel représenté dans un univers virtuel.  « Les serious games d'entraînement » : Visent à l'amélioration des performances et des capacités motrices et cognitives des utilisateurs.
  • 27. 27 1.6 Le public cible des jeux vidéo : Tableau 1 : les différentes catégories du public cible des jeux vidéo. Catégorie Age Symbole standard (ancien) Symbole standard (actuel) EC Enfant en bas âge E Tout le monde E10+ Tout le monde plus de 10 ans T Adolescent M Mature plus que 17 ans AO Adultes seulement
  • 28. 28 1.7 Bilan et choix : Voici la combinaison des types choisis pour la réalisation de notre jeu : Figure 22 : Bilan et Choix du jeu. « Jeu de plateforme » : Notre personnage aura la possibilité de se déplacer librement, esquiver les obstacles et récupérer des objets sur son trajet. « Jeu de combat tir à vue objectif » : Le joueur se mettra en situation de confrontation armée avec des vaisseaux spatiaux. « Jeu d’aventure » : Le joueur aura un chemin prédéfini pour atteindre un objectif final en mettant l’accent sur l’exploration de l’environnement. « Jeu de réflexion » : Le joueur aura besoin de réflexion, observation, logique et sens de l'orientation pour trouver des solutions et dépasser des obstacles. « Jeu de stratégie » : Notre personnage aura besoin d’un avantage stratégique pour pouvoir augmenter sa domination spatiale ou combattre plusieurs ennemis sur le terrain de jeu.
  • 29. 29 2. Etude de l’existant : 2.1 Etude des jeux similaires Comme pour toute autre forme de création, il est impossible de créer un jeu vidéo sans source d’inspiration. De ce fait, nous avons effectué une étude complète des applications existantes similaires à notre futur produit. Dans cette partie, nous analysons les jeux semblables au nôtre, les méthodes de créations, les détails graphiques, la jouabilité et les techniques de développement adaptés. 2.1.1 Etude graphique : Notre source d’inspiration pour l’aspect graphique a été basée sur les deux jeux suivants : A. WAKFU : Figure 23 : Le Jeu d’inspiration, Wakfu. Wakfu [Figure 23] est un jeu 3D isométrique de type ‘rôle en ligne’ et de mode ‘massivement multi-joueurs’, développé et édité par Ankama, il est sorti en février 2012 après quatre ans de bêta-test et de développement. Le joueur est un aventurier qui explore le monde en accomplissant diverses quêtes menant à son évolution. Son parcours le guidera à apprendre des métiers, combattre des adversaires sans oublier l’obligation d’aider les autres joueurs.
  • 30. 30  Analyse graphique :  Les animations des personnages sont nombreuses au cours du jeu.  La diversité des environnements satisfait la curiosité du joueur et assouvi sa soif pour la découverte.  La richesse du graphique en couleur.  La présence de plusieurs items décoratifs animés ou non animés.  Inspiration  L’utilisation des plateformes / univers différents [Figure 24].  Le style graphique pour la création de l’environnement [Figure 25]. Figure 24 : les différent univers de Wakfu. Figure 25 : Style graphique du jeu Wakfu.
  • 31. 31 B. RIVE : Figure 26 : Le jeu d’inspiration, Rive. Rive est un jeu 2D hybride de 360 degrés tir / plateforme. Il a été développé par la société de jeux vidéo néerlandaise Two Tribes pour PlayStation 4, Xbox One, Microsoft Windows, OS X, Linux, avec une sortie à venir pour Nintendo Switch. Après le changeant d’une grande partie de son équipe, le studio a dévoilé ce jeu comme premier nouveau projet. Rive a été dévoilé le 29 juillet 2016, après une longue période de développement.  Analyse graphique :  Variété sans fin des environnements : combattre sur terre, sous l'eau, dans zéro gravité ou sur un train en mouvement.  Des GUIs fidèles à l’univers du jeu.  Le décor et les effets sonores sont homogènes avec le style des personnages et l’ambiance du jeu.  Les différentes icônes sont distribuées aux extrémités en haut de l’interface ce que laisse apparaitre un vaste champ de vision du personnage.  Inspiration  Les interfaces graphiques [Figure 27].  Les différentes attaques du vaisseau spatial [Figure 28].
  • 32. 32 Figure 27 : GUI du jeu Rive. Figure 28 : Les différentes attaques du vaisseau spatial.
  • 33. 33 2.1.2 Etude technique : L’aspect technique de notre jeu a été principalement inspiré par les deux jeux suivants : A. EITR Figure 29 : Le jeu d’inspiration, EITR. EITR est un jeu ‘ARPG’ isométrique imprégné de mythologie nordique, réalisé en pixel art par un petit studio indépendant. Le jeu combine le combat aux armes avec les donjons isométriques ultra-sombres de l'original Diablo. Actuellement, il existe seulement la version beta, la sortie de la version finale est prévue en 2018. [Figure 29]  Analyse technique  Le rythme du jeu très rapide donne une jouabilité intéressante et un Gameplay amélioré.  Le fonctionnement du système d’armes est très diversifié. Chaque arme a une sorte de capacité innée qui offre au joueur de grands avantages spécifiée à chaque ennemie.  Inspiration  Les combats entre les personnages joueurs et les ennemies [Figure 30].  L’environnement.
  • 34. 34 Figure 30: scène de bataille, Eitr. Conclusion : Le chapitre précédent résume les différents types, genres, modes et univers des jeux vidéo. Il récapitule aussi nos sources d’inspiration et analyse leurs aspects techniques et graphiques. Cette recherche a servi à enrichir nos connaissances et à orienter la vision de notre jeu.
  • 35. 35 Beyond Eden, The Star of Gora
  • 36. 36 Introduction : Dans cette partie, et après la collection de suffisamment de connaissance, nous nous adressons à la conception de notre jeu d’un point de vue technique et graphique. Nous spécifierons les besoins fonctionnels et non fonctionnels, l’organisation du projet et les techniques à adopter pour avoir un meilleur rendu. En ce qui concerne le cycle de vie de notre jeu, nous aurons recourt à la méthodologie de Scrum qui organisera le travail de chaque membre ainsi que l’avancement du projet tout en respectant le deadline de chaque tâche. 1. Description et Synopsis du jeu vidéo : 1.1 But du produit : Le but de notre jeu vidéo est d’offrir au joueur un monde d’évasion où il pourra s’échapper de la réalité en lui apportant une expérience, à la fois, émotionnelle et intellectuelle. 1.2 Objectifs personnels : Notre but en tant qu'étudiants est de pouvoir créer un produit de qualité professionnelle et possiblement le distribuer par la suite. 1.3 Clientèle cible : Ce jeu s’adresse à toute personne passionnée de jeux vidéo, âgé de 14 ans ou plus, sans distinction de sexe ou de religion. 1.4 Synopsis du jeu : Il s’agit d’un jeu sur PC de type « serious game /aventure ». Le joueur incarnera le héros qui est un capitaine des forces aériennes surnommé « Alec ». Ce dernier a pour but de trouver une planète habitable afin de sauver la race humaine. Durant son voyage intergalactique « Alec » aura des missions à compléter, des obstacles à surmonter et des ennemies à confronter.
  • 38. 38 1.5 Description visuelle et sonore :  Plan / Caméra : La caméra se déplace automatiquement, elle ne change jamais d’angle cependant, elle attend le joueur.  Habillage sonore : N’ayant pas reçu des cours en matière de son, nous avons employé des morceaux de musique simples durant les missions. Cependant, nous avons introduit un enregistrement voix off du scénario pour initier le jeu. De plus, nous avons inséré des sons caractérisant les actions des personnages et leurs interactions avec l’environnement. 1.6 Schémas de navigation : Nous commençons la conception de notre jeu avec le schéma de navigation, celui-ci devrait être assez simple et compréhensible pour pouvoir guider l’utilisateur. En effet, nous avons opté pour un schéma de navigation mixte, bidirectionnel, combinant un modèle hiérarchique et quelques séquences linéaires [Figure 32]. Figure 32: Schéma de navigation.
  • 39. 39 2. Spécifications des besoins fonctionnelles :  Spécification des besoins fonctionnels : Afin de pouvoir passer à l’étape technique de la phase de spécification nous avons eu recours à l’utilisation du langage UML :  Diagramme de cas d’utilisation (use case) : Un diagramme de cas d'utilisation est une représentation de l'interaction d'un joueur avec le jeu. En d’autres termes, le schéma reflète la relation entre le joueur et les différents cas d'utilisation dans lesquels il est impliqué. Pour donner une vision explicite sur notre projet, nous avons créé deux diagrammes de cas d’utilisation. Figure 33: diagramme de cas d'utilisation générale.
  • 40. 40 Figure 34 : Diagramme de cas d’utilisation détaillée.
  • 41. 41  Description textuelle de cas d’utilisation « jouer » : Dans l’intérêt de développer d’avantage le diagramme de cas d’utilisation, nous allons assimiler une description textuelle au principal cas d’utilisation.  Sommaire d’identification :  Titre : Jouer.  But : Terminer les différents types de missions.  Résumé : Processus d’entrer en jeu.  Acteurs : « Joueurs ».  Responsables : Sondes Jaouadi, Mohamed Karim Sakran, Arwa Argoubi. Description des enchaînements : Préconditions : « avoir un PC, avoir démarré le jeu » Enchainement nominal : 1) Le menu principal du jeu est affiché. 2) Le joueur choisit de jouer. 5) Le joueur est instancié sur la scène du jeu de la mission 1. 6) Le joueur appuie sur la touche « Z » pour déplacer le vaisseau spatial en haut la touche « D » pour le déplacer à droite et la touche « S » pour le déplacer en bas. 7) En passant par les planètes ’Mars’, ‘ Saturne’ ou ‘Jupiter’ le joueur doit à chaque fois répondre à un QCM pour achever la première mission. 8) Le joueur est instancié sur la scène de la mission 2. 9) En addition des précédentes touches du déplacement, le joueur utilise les touches « J » « K » « L » « M » pour contrôler les différentes armes. 11) le joueur est instancié sur la scène de la mission 3 12) Le joueur appuie sur la touche « Z » pour déplacer « Capitaine Alec » en haut, la touche « D » pour le déplacer à droite et la touche « S » pour un mouvement en bas. 13) Quand les objectifs de la mission 3 sont atteints le joueur passe la 4ème mission. 14) Mission 4 réussie et objectifs atteints. 15) Le joueur est instancié sur la scène de la mission 5. 16) Le joueur utilise la souris afin de choisir la tourelle convenante pour construction.
  • 42. 42 17) La Mission 5 est achevée, le joueur sera instancié sur la scène de la mission 6. 18) Le joueur appuie sur la touche « Z » pour déplacer « Capitaine Alec » en haut, la touche « D » pour le déplacer à droite et la touche « S » pour un mouvement en bas. Afin d’attaquer l’ennemie le joueur utilise les touches « J » « K » « L » « M » « Espace » pour coordonner les différends sorts valables. 19) L’achèvement de la 6ème mission entraine la fin du jeu. Enchainement alternatif n°1 : « Le joueur n’a pas fini la mission » Le joueur est bloqué et ne peut pas passer à la mission suivante. Enchainement alternatif n°2 : « Mort du personnage » Rejouer la mission ou retour à la première étape de l’enchaînement nominal. Enchaînements d’exception E1 : « Le joueur quitte la partie avant de terminer le jeu » L’enchaînement démarre après l’étape 5 de l’enchainement nominale : 1. Le joueur presse pause. 2. Le système affiche le menu pause. 3. Le joueur choisi le menu principal. 4. Le système affiche le menu principal. 5. Le joueur quitte le jeu. Contraintes non fonctionnelles : « Le système doit avoir la capacité minimale pour un jeu fluide »
  • 43. 43 3. La conception de l’application : Afin de réaliser une conception solide de notre application, nous avons favorisé l’exécution des deux parties ci-après : « Conception de la vue statique » et « Conception de la vue dynamique ».  Conception de la vue statique : Dans cette étape et pour une meilleure compréhension de la structure globale du jeu, nous essayons de modéliser sa structure logique moyennant le diagramme de conception des objets. Figure 35: Diagramme de conception des objets.
  • 44. 44  Conception de la vue dynamique de l’application : Nous avons choisi de représenter la partie de la conception de la vue dynamique, par un diagramme d’activités qui permet de visualiser le déclenchement des événements en fonction des états du système.  Conception générale de l’application : A travers le diagramme d’activité, nous présentons tous les chemins possibles cédant au joueur la possibilité de défiler entre les différentes pages de l’application, ainsi que les moyens d’y accéder. En lançant le jeu, le ‘menu principal’ s’affiche pour assurer l’accès soit au ‘menu paramètres’ ou ‘menue instruction’. Egalement, en sélectionnant l’option ‘jouer’, le joueur est dirigé vers l’écran du jeu. Aussi, au cours d’une partie, il peut à tout moment accéder soit au ‘menu pause’ où il peut sauvegarder et quitter ou bien continuer à jouer jusqu’à la fin de la mission.
  • 45. 45 Figure 36: Diagramme d’activité du jeu.
  • 46. 46  Conception du déroulement des processus de l’application : Pour une explication approfondie et détaillée de cette partie nous avons eu recours au diagramme de séquence qui représente graphiquement des interactions entre les acteurs et le système selon un ordre chronologique dans la formulation UML. Figure 37: Diagramme de séquence globale.
  • 47. 47 Figure 38: Diagramme de séquence détaillé.
  • 48. 48  Conception de l’intelligence artificielle : Les jeux vidéo font depuis longtemps appel à l’intelligence artificielle ‘IA’, et c’est dans ce domaine qu’elle s’est le plus popularisée. Dans l’idée de créer une interaction toujours de plus en plus immersive et amusante pour les joueurs, l’IA caractérise toute prise de décision d'un personnage géré par la machine qui propose une expérience de jeu de qualité. Dans notre jeu l’intelligence artificielle se manifeste dans plusieurs situations. Nous citons comme exemple les combats entre les personnages joueurs et les personnes non-joueurs. Réellement, aucun combat ne peut avoir lieu sans la nécessité d’attaquer ou de se défendre. Dans ce cas, l’ordinateur doit contrôler les PNJ de manière intelligente. Ainsi, nous avons évoqué le besoin de détecter une cible ou éviter des obstacles. Ce diagramme d’activités illustre le fonctionnement de l’intelligence artificielle des PNJ. Figure 39 : Diagramme d'activité de l’intelligence artificielle.
  • 49. 49 4. Spécifications des besoins non fonctionnelles : Après avoir défini les exigences fonctionnelles de notre jeu, nous devons, impérativement, considérer des besoins non-fonctionnels et leurs tests. En effet, ces derniers présentent les besoins qui caractérisent le système en matière de performance, de type de matériel ou le type de conception. Ces besoins peuvent concerner les contraintes techniques et graphiques d'implémentation. Ci-après, nous examinons principalement la qualité externe et interne du produit.  Qualités internes : a) Contraintes techniques : Optimiser un jeu vidéo est considéré une tâche critique. Il est, en effet, possible d’avoir un aspect graphique et technique décent et un gameplay riche, mais un moindre souci au niveau de l’optimisation du jeu, un processus non-structuré ou encore un type de programmation non- adapté peuvent présenter des facteurs capables de prévenir la maintenance, l’évolution ou l’étude d’un projet. Pour cela, lors du développement de notre projet, nous avons exigé la présence des contraintes suivantes :  L’utilisation d’une hiérarchie a différentes couches afin d’organiser nos modèles, nos scripts, animations etc. Qualité Interne Contraintes Techniques Contraintes Graphiques - Ergonomiques Qualité Externe Concerne l'utilisateur final
  • 50. 50  L’utilisation de l'orienté objets permet de concevoir et de réaliser les fonctionnalités attendues d’où une programmation optimisée.  Réutilisabilité d'un script sur plusieurs objets.  Opter pour une bonne organisation du code en utilisant les commentaires et l’indentation et ce pour le rendre bien lisible et facile à comprendre. b) Contraintes graphiques : Cette contrainte englobe principalement deux éléments :  La conservation de la charte graphique implique les étapes nécessaires au développement visuel d’un jeu vidéo qui assurent sa cohérence afin de donner un aspect harmonieux. Cet élément est consacré pour le choix des couleurs, des formes et des textures.  La conservation de l’approche sensorielle tente à montrer les sens au point où le joueur devient entièrement concentré sur le monde du jeu et ses stimuli par les effets d’éclairage et de son.  Qualité externe : a) L’ergonomie : Tandis que le Gameplay exige la présence des énigmes et des obstacles pour enrichir le divertissement et l’intérêt du joueur, il n’est pas toujours évident de parler d’ergonomie. De ce fait, cette dernière ne peut pas être assurée que dans les interfaces du jeu. Ainsi, le menu et l’écran du jeu doivent être bien clairs et intuitifs. En d’autres termes, le joueur aura accès à une guidance parfaite et claire à l’aide des indications visuelles qui s’affichent en se déplaçant dans la scène du jeu. b) La scénarisation : Avec la nouvelle tendance du jeu vidéo à s'orienter vers du cinéma interactif, le scénario devient un argument de poids. Un bon scénario doit être fluide avec des articulations cohérentes. Il doit être aussi articulé autour d’une première phase d’exposition, puis de confrontation et enfin de résolution. Notre scénario appartient la catégorie où un petit synopsis plante le décor et donne un objectif au joueur, sans pour autant être omniprésent.
  • 51. 51  Planification et méthodologie de travail : Dans cette partie nous abordons les étapes de réalisation de ce projet. Nous tenons à expliquer les démarches, les méthodes et les logiciels que nous avons utilisés pour achever convenablement notre travail. a) Méthodologie de travail : Afin de garantir un déroulement fluide de notre projet, nous avons opté pour la méthodologie agile Scrum, qui rajoute de la flexibilité et de l’organisation au projet en termes de temps et de qualité.  Principe de la méthodologie Scrum : Scrum est une méthode agile dédiée à la gestion de projet introduite « officiellement » en 2001. Cette méthode de gestion a pour objectif d’améliorer la productivité de son équipe. Elle met en avant la rentabilité et surtout la satisfaction du client. L'équipe de développement s'organise elle-même pour trouver la meilleure façon de produire les étapes les plus privilégiés. En d’autres termes, Scrum consiste à réaliser les tâches petit à petit, par ordre de priorité, avec des phases de contrôle et d’échange avec le client. Figure 40 : Cycle de vie d'un produit par la méthodologie de Scrum.
  • 52. 52  Les caractéristiques du Scrum :  Itératif (rythmé par une série d’itérations).  Lié à des processus incrémentaux « Sprints ».  Basé sur l'équipe.  Un moyen d'augmenter la productivité.  Augmente la communication et maximise la collaboration.  Fait pour créer des produits, applications nécessitant une grande modularité.  Protéger l'équipe des éléments externes perturbateurs. Figure 41: L’équipe Scrum. b) L’adaptation de la méthodologie Scrum au projet :  Equipe Scrum :  Product owner: M. Med Ali Chalbi.  Scrum Master : Sondes Jaouadi.  Development team: Mohammed Karim Sakran & Arwa Argoubi.
  • 53. 53  Carnet du produit (Product Backlog) : Le carnet de produit consiste d’une liste ordonnée groupant tous les exigences du projet. Il présente, en effet, l'unique source des besoins pour tous les changements à effectuer sur le produit. Il s’agit d’un document qui évolue constamment au cours de la vie de ce dernier [Tableau 2]. Tableau 2 : Backlog du produit. User Stories Estimation(h) Rédaction du rapport (introduction et structure globale du projet) 20 Planification de la méthodologie de Scrum 20 Rédaction de l’étude de l’art et l’étude d’existant 30 Spécification fonctionnel et conception 20 Développement graphique des environnements (4 scène) 260 Rédaction du rapport (Développement graphique des environnements) 40 Programmation des environnements 70 Rédaction du rapport (Programmation des environnements) 30 Développement graphique des personnages 100 Rédaction du rapport (Développement graphique des personnages) 40 Programmation des personnages 80 Rédaction du rapport (Programmation des personnages) 40 Création des interfaces et du logo 80 Rédaction du rapport (Création des interfaces et du logo) 20 Création et conception des quatre cinématiques 100
  • 54. 54  Le Planning des sprints : Dans cette partie, nous cherchons à aménager les éléments (user Stories) du Carnet de produit en Sprints. D’ailleurs, un sprint, bien qu'il présente une partie incomplète du projet, doit être livrable, exécutable et réutilisable. Il est donc indispensable de délimiter les sprints d’une manière à respecter cette règle. Notre regroupement final a évoqué six sprints à réaliser. Nous avons considéré qu’un jour de travail est égal à huit heures. [Tableau 3] Tableau 3 : Planning des sprints. Numéro du sprint User stories Estimation(h) Sprint 0 Rédaction du rapport (Introduction et structure global du projet) 90 Planification de la méthodologie de Scrum Sprint 1 Rédaction de l’étude de l’art et l’étude d’existant 100Spécification fonctionnel et conception (technique et graphique) Développement graphique des environnements (4 scène) Rédaction du rapport (Création et conception des quatre cinématiques) 10 Ajout des effets sonores et visuels 50 Rédaction du rapport (Ajout des effets sonores et visuels) 10 Evaluation du jeu 20 Rédaction du rapport Evaluation du jeu 10
  • 55. 55 Sprint 2 Rédaction du rapport (Développement graphique des environnements) 300 Programmation des environnements Rédaction du rapport (Programmation des environnements) Sprint 3 Développement graphique des personnages 260 Rédaction du rapport Développement graphique des personnages) Programmation des personnages Rédaction du rapport (Programmation des personnages) Sprint 4 Création de la charte graphique 100 Rédaction du rapport (Création de la charte graphique) Sprint 5 Création et conception des quatre cinématiques 110
  • 56. 56 Rédaction du rapport (Création et conception des quatre cinématiques) Sprint 6 Ajout des effets sonores et visuels 90 Rédaction du rapport (Ajout des effets sonores) Evaluation du jeu Rédaction du rapport Evaluation du jeu  Plan des Releases : Dans cette partie, nous regroupons deux ou plusieurs sprints en un seul thème dénommé ‘Release’. Tableau 5 : Plan des releases. Numéro du release Nom de release Les sprints 1 Conception et planification du projet Sprint 0 Sprint 1 2 Sprinte 2
  • 57. 57 L'environnement et les personnages, le monde de Beyond Eden Sprinte 3 3 Les interfaces du jeu. Sprinte 4 Sprinte 5 4 Déploiement et tests finaux Sprinte 6  Enchainement du projet et techniques utilisés : Gestion du tableau des tâches avec Trello : « Trello » est une application de gestion de projets basée sur le Web fournissant des fonctionnalités sur les tâches qui permettent de contrôler l'avancement de notre travail où nous avons créé les quatre parties suivantes :
  • 58. 58  Catégorie « To Do »  Catégorie « Doing »  Catégorie « Done »  Catégorie “ rendez-vous 5. Logiciels utilisés : Pour la réalisation du jeu, nous avons eu recours aux logiciels adéquats au projet suivants :  Unity 2D (version 5.6) : Moteur graphique et physique du jeu pour l’intégration et la programmation.  VisualStudio : Environnement de développement sur Unity.  Adobe Photoshop : Conception graphique et application de la texture.  Adobe Illustrator : Création des environnements, des personnages, des boutons et des éléments graphiques de l’interface en 2D.  Adobe Audition : Enregistrement et Mixage du son.  Trello : Application web utilisée pour la gestion du tableau de tâches de Scrum.  Starruml : Logiciel de modélisation UML. Conclusion : Ce chapitre était utile en premier lieu, pour la récapitulation des besoins fonctionnels et non fonctionnels nécessaires pour la réalisation de notre projet. En deuxième lieu, nous avons détaillé la méthodologie adoptée pour le développement du jeu. Ainsi, nous avons fourni une conception globale du plan. Cependant, chaque sprint aura une phase de conception et de réalisation dans les prochaines parties.
  • 60. 60 Chapitre 1 : Sprint 2 : Création de l'environnement : Introduction : Ce chapitre présente toutes les étapes de création des environnements, ainsi que leurs programmations. 1. Tableau prévisionnel du sprint :  Date de début du sprint : Mardi 21 Février 2017  Date de fin du sprint : Jeudi 22 Mars 2017  Temps estimé en heures : 300 heurs  Échelle de mesure : Une journée est équivalente à 10 heures de travail : (De 8h à 13h - - de 14h à 19h)  Objectifs du sprint : Création de l’environnement du jeu
  • 61. 61
  • 62. 62 1- Premiére partie du Sprint User stories Taches Temps 21 22 23 24 Création de l’environnement de la mission 1 Conception de l’environnemet 2 0 0 0 0 Modélisation de l’environnement 16 8 0 0 0 Programmation et integration de l’environnment 8 8 6 0 0 Redaction du rapport Redaction de la partie de la création de l’environnement 8 8 8 4 0 2- Deuxieme partie du Sprint User stories Taches Temps 25 Création de l’environnement de la mission 2 Conception de l’environnemet 2 0 Modélisation de l’environnement 2 0 Programmation et integration de l’environnment 4 0 Redaction du rapport Redaction de la partie de la création de l’environnement 2 0
  • 63. 63 3- Troisieme partie du Sprint User stories Taches Temp s 2 6 2 7 2 8 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 Création de l’environnemen t de la mission 3/4 Conception de l’environnemet 24 1 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Modélisation de l’environnemen t 50 5 0 5 0 4 8 3 8 2 8 1 8 8 0 0 0 0 0 0 0 0 0 0 0 0 Integration et organisation du village 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 8 0 0 0 0 0 0 0 0 0 0 0 Intagration et création de la foret 30 3 0 3 0 3 0 3 0 3 0 3 0 3 0 3 0 2 8 1 8 8 0 0 0 0 0 0 0 0 Programation de l’environnemen t de la mission 3 53 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 3 5 1 4 1 3 1 2 1 1 1 1 0 0 Programmation de la mission 4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 0 0 Redaction du rapport Redaction de la partie de la création de l’environnemen t 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 4 0
  • 64. 64 4- quatriéme partie du Sprint User stories Taches Temps 17 18 19 20 21 22 Création de l’environnement de la mission5 Conception de l’environnemet 10 0 0 0 0 0 0 Modélisation de l’environnement 18 12 2 0 0 0 0 Programmation et integration de l’environnment 30 30 30 22 12 2 0 Redaction du rapport Rédaction de la partie de la création de l’environnement 8 8 8 8 8 8 0 5- Sixieme partie du Sprint User stories Taches Temps 23 Création de l’environnement de la mission 6 Conception de l’environnemet 2 0 Modélisation de l’environnement 2 0 integration de l’environnment 1 0 Redaction du rapport Redaction de la partie de la création de l’environnement 4 0
  • 65. 65 2. Conception de l’environnement, modélisation et programmation : 2.1 Première mission : 2.1.1 Conception de l’environnement : Les jeux vidéo ne présentent pas seulement un outil de distraction et de réduction du stress quotidien du joueur, mais aussi une nouvelle forme d’apprentissage. Pour cette raison, nous avons opté pour une première mission orientée plus pédagogiques/ludiques que ludiques. En effet, le jeu commence dans le système solaire de notre monde réel. Le joueur (contrôlant un vaisseau spatial) possède la possibilité de se déplacer librement dans l’univers. En passant par trois planètes spécifiques (Mars, Saturne et Jupiter) une fenêtre s’ouvre et des informations éducatives s’affichent. Ces dernières aideront le joueur qui se trouve devant l’obligation de répondre à un QCM pour accéder à la mission suivante. Afin de donner assez de crédibilité à notre environnement, nous avons dessiné nos planètes [Figure 42] en se référant à des images réelles [Figure 43]. Nous avons tout d’abord commencé par lister les types d'objets potentiellement utilisables pour créer un univers spatial, comme par exemple des planètes, des orbites, des comètes, des astroïdes, des étoiles ou encore des météorites. Ensuite, nous avons adopté des interfaces pour l’affichage des informations liées aux trois planètes ainsi que le QCM. Figure 42 : Représentation des images de référence et des croquis
  • 66. 66 2.1.2 Modélisation de l’environnement : Moyennant Illustrator, nous avons pu concevoir les modèles suivants [Figure 43] : Figure 43: Modélisation des objets de l'environnement avec Illustrator. En ce qui concerne l’animation des éléments graphiques, notre but était de donner aux planètes l’illusion de tourner sur elles-mêmes. Pour cela, nous avons eu recours au « sprites sheet ». [Figure 44] Effectivement, l’usage des Sprites est une technique basique dans les jeux vidéo en deux dimensions. Un Sprite Sheet est un seul fichier (PNG ou autre) qui contient tous les mouvements des personnages ou le déplacement des objets. Durant le jeu, chacun des Sprites est censé être sélectionner pour faire des animations. Pour des raisons d’optimisation de taille, nous avons exploité la règle des puissances de deux, ou comme on l’appelle «POT : Power of Two» qui a une nécessité fondamentale due à la façon dont les moteurs de jeu fonctionnent. En effet, elle exige une correspondance entre la taille des textures des images et des blocs soignés de mémoire binaire, et ce pour assurer une meilleure performance et une utilisation optimisée de la mémoire. Ainsi, la POT est nécessaire pour le calcul des textures et leurs compressions dans la mémoire RAM du GPU. Pratiquement, dans le cas où cette règle n'est pas utilisée l'image ne sera pas compressée et par conséquent sa taille massive dans la RAM provoquera des « crash » dans le jeu.
  • 67. 67 2.1.4 Intégration des objets et programmation sur Unity : L’achèvement de la modélisation des planètes et leurs Sprites Sheet est succédé par leur intégration sur UNITY. [Figure 45] Figure 45: intégration des objets sur Unity. Figure 44 : Sprite Sheet des planètes.
  • 68. 68 Programmation sur Unity : Les éléments modélisés de l’environnement de la première mission sont ensuite importés et assemblés sur Unity pour enfin donner naissance à une scène conforme à nos attentes. Cette mission possède un but pédagogique. De ce fait, le joueur sera guidé tout au long d’une simulation de notre système solaire et introduit à des informations des planètes Mars, Saturne et Jupiter. Il est, ensuite, obligé de répondre correctement à un QCM pour accéder à la mission suivante. Afin de pouvoir intégrer les informations, les questions et les réponses nous avons eu recours à des interfaces graphiques (User Interface – UI). Ces derniers, ont nécessité l’utilisation du Canvas. En effet, un Canvas se présente sous forme d’un carré qui s’adapte à la caméra et qui exerce un control total sur comment réagi un UI. Notre mission se compose principalement de trois descriptions des planètes. Nous attribuons à chacune trois questions d’une façon aléatoire. Ces composants sont reflétés dans notre développement à travers deux algorithmes principaux ; « QCMmanager » et « Choicemanager ». Pour faciliter la tâche, prenons la planète Mars comme illustration. Figure 46: Hiérarchie du QCM sur Unity.
  • 69. 69 En effet, lors d’une collision entre le vaisseau spatial et Mars une fenêtre contenant des informations éducatives s’affiche en relayant sur une interface graphique. Le joueur est invité à lire le texte qui se présente à l’écran puis à appuyer sur le Bouton ‘Next’ pour accéder au QCM. Nous avons fourni six questions concernant la planète Mars. Chacun de ces derniers possède une seule réponse correcte. De ce fait, nous avons créé un tableau de six cases contenant le numéro de la bonne réponse. En d’autres termes, si le deuxième choix de la première question coïncide avec la bonne réponse, la première case du tableau (présenté par la variable ‘NumQst’) prend le nombre 2 (présenté par la variable ‘NumChoix’) [ligne 6 – ligne 10]. Dans le cas où le joueur coche la mauvaise réponse, son choix se colore en rouge pour quelques secondes pour indiquer la nécessité de choisir une autre alternative. Cependant, s’il coche la bonne réponse, son choix s’illumine en vert et le Gameobject de la question se désactive pour activer le Gameobject suivant, ce qui entraine le passage à la prochaine question [ligne 12 – ligne 20].
  • 70. 70 2.2 Deuxième mission : 2.2.1 Conception et modélisation de l’environnement : La deuxième mission se déroule dans l’espace, est de type Space-Shooter. Le joueur est instancié dans l’univers du nouveau système solaire. Afin d’attribuer encore plus de valeur à notre Game Play, nous avons décidé d’utiliser un environnement simple, d’où le choix de la création d’un arrière-plan sobre et répétitif tout au long de la mission. [Figure 47] Figure 47 : Etapes de création de l’arrière-plan.
  • 71. 71 2.2.3 Intégration de l’arrière-plan sur UNITY : Après sa création, l’arrière-plan est ensuite intégré sur UNITY. Cependant, nous avons besoin de lui attribuer l’illusion de l’infinité. Par conséquent, nous avons, en premier lieu, créé un Game Object vide. Puis, nous avons inséré dedans trois copies de l’arrière-plan. Finalement, nous avons opté pour la création d’une animation de translation sur l’axe des X sans oublier de cocher la case du « loop time ». [Figure 48]. Figure 48 : intégration de l'arrière-plan.
  • 72. 72 2.3 Troisième et quatrième mission : 2.3.1 Conception de l’environnement : La troisième et la quatrième mission présentent des changements dans l’environnement du jeu et même dans sa perspective. D’ailleurs, nous avons préféré l’usage de la 2D isométrique au lieu de la 2D. Étant donné que ce style a été popularisé par les jeux de stratégie et les RPG d'action, nous l’avons adopté pour le Game Play des missions restantes. En effet, la perspective isométrique permet de créer des volumes et de la profondeur sans forcément être familiarisé avec le concept des points de fuite. Cette technique est très pratique dans le cas où nous souhaitons expliquer ou représenter un concept technique d’une manière plus simple. Il s’agit, en d’autres termes, d’une illustration en trois dimensions qui permettra de mieux capturer des informations complexes, une méthode d'affichage utilisée pour créer une illusion de 3D. En ce qui concerne l’environnement des missions, nous nous sommes inspirés de celui de la planète Terre. Par conséquent, nous avons eu recours à des types d'objets potentiellement utilisables pour créer un univers forestier, comme en instance des arbres, des plantes, des champignons, et des roches. Dans le but de retranscrire le scénario dans le jeu, nous avons opté pour la création d’un village afin d’introduire un peu plus de mouvements. Ainsi, nous avons pensé à réaliser des objets bâtis par l’homme tel que des tentes, des maisons, ou encore des petits éléments de décorations botaniques [Figure 49]. Figure 49: conception de l'environnement.
  • 73. 73 2.3.2 Modélisation de l’environnement : La création des éléments de perspective isométrique était possible en moyennant deux méthodes ; la grille isométrique et l’outil grille de perspective. Figure 50 : Utilisation de la grille isométrique pour la modélisation du décor botanique. En premier lieu, nous nous sommes appuyés sur une version téléchargée de la grille isométrique qui nous a offert des repères fixes assurant une réalisation précise des décorations botaniques [Figure 50].
  • 74. 74 Comme constater ci-dessous [Figure 51], la coloration et la décoration des éléments de l’environnement ajoutent de la valeur à notre travail. De plus, les ombres et les différentes textures accentuent et aident à distinguer les détails. Éventuellement, il est nécessaire que les couleurs des éléments soient en harmonie et s’accordent avec le scenario. Il faut, également, qu’ils évoquent un sentiment vif. La figure ci-après expose notre résultat final : Figure 51: Composants de L'environnement des Missions 3 et 4.
  • 75. 75 En deuxième lieu, nous avons introduit l’outil grille de perspective pour une meilleure conception des bâtiments du village. En réalité, Illustrator nous a assistés dans la création de scènes ayant un effet perspective réaliste. En utilisant l’outil grille de perspective qui, dès qu’on le sélectionne des grilles apparaissent par défaut sur le plan de travail ; une bleue indiquant le plan de gauche, une orange pour celui de droite et finalement la verte représentant le niveau du sol [Figure 52]. Il est notamment important d’indiquer qu’Illustrator met à notre disposition des paramètres prédéfinis de perspective soit à un, deux ou à trois points de fuite. En passant à l’étape de dessin des formes, nous avons commencé tout d’abord par sélectionner la face sur laquelle nous désirons placer notre forme (un rectangle ou un carré dans notre cas puisque nous souhaitons créer des bâtiments) sur le widget. Ensuite, le traçage des formes prend place. Ces derniers s’adaptent complétement à la grille, dont l’effet d’illustration réaliste. Finalement, nous avons révélé les détails de nos éléments en manipulant les couleurs, les ombres et les textures [Figure 53]. Figure 52 : Modélisation des bâtiments moyennant l'outil grille de perspective.
  • 76. 76 Figure 53:Composition et architecture finale du village.
  • 77. 77 2.3.3 Intégration des objets et programmation de l’environnement sur UNITY : L’intégration des éléments de l’environnement de la troisième et de la quatrième mission sur Unity nécessite quelques étapes. Nous avons débuté par créer un ‘Game Object’ vide sous le nom de ‘Village’. Ensuite, nous avons inséré les bâtiments et les objets de la décoration botanique. Une fois les éléments du village sont intégrés l’enregistrement des « Prefab » prend place [Figure 54]. Réellement, un « Prefab » s’agit d’un modèle prêt à être copié et réutilisé plusieurs fois. Ainsi, nous avons eu la possibilité d’instancier de nouveaux objets ne faisant pas partie du décor initial du village sur la scène. Plus particulièrement, les arbres, les pierres, les champignons et les animaux sont enregistrés en tant que « Prefab ». Figure 54 : Intégration des éléments du village dans Unity. Tous les prefabs sont nommés suivant cette règle :
  • 78. 78 Figure 55 : Enregistrement des Prefabs dans Unity. Ultérieurement, il est indispensable d’ajouter les « Collider » aux bâtiments et aux décors botaniques afin que le joueur n’ait pas la possibilité de les parcourir. Nous avons, également, essayé d'optimiser le nombre de collider. De ce fait, nous avons opté pour un seul collisionneur pour les différents « Game Object » voisins et nous avons négligé l’utilisation de collider avec les objets qui ne sont, en aucun moyen, accessibles par le joueur.
  • 79. 79 Programmation des scripts : La partie suivante récapitule la programmation des éléments créés et intégrés de la troisième et de la quatrième mission. En réalité, nous avons créé un algorithme ‘PlanetManager.cs’ capable de générer la forêt d’une façon procédurale, dynamique et aléatoire dans une matrice. Cette dernière peut organiser la forêt aléatoirement une fois sa hauteur, sa largeur et le pourcentage de nombre de ses arbres sont déclarés.  Void Start() : Notre but est de créer un environnement qui a une allure et une architecture naturelle. Par suite, nous avons tout d’abord commencé par la déclaration d’une matrice nommée ‘Map’. De plus, nous avons fixé sa hauteur et sa largeur en 1100 mètres. Puis, nous avons y posé le village dans une position (X,Y) aléatoire entre 201 et 799 [Ligne 50 et 51] qui affectera la valeur 2 aux cases qui génèrent la surface du village [Ligne57]. Enfin nous avons appelé la fonction ‘void GenerateForest ()’ [Ligne60]  Void GenerateForest () Cette procédure se devise principalement en quatre parties.
  • 80. 80 En premier lieu, la ‘void RandomFillMap ()’ qui a pour rôle de remplir aléatoirement les cases restantes de la matrice ‘map’ (différents de 2) avec des valeurs entre 0 et 1 et ce suivant un pourcentage précisé par l’utilisateur moyennant ‘void randomFillPercent’. (Dans notre cas nous avons consacré une valeur de 43%) La figure ci-après présente les résultats des tests des différents pourcentages que nous avons saisis. Figure 56 : tests des différents pourcentages de ‘void randomFillPercent’.
  • 81. 81 En deuxième lieu, Nous avons eu recours à la procédure ‘void Cellular Automata()’. En effet, l’automate cellulaire consiste en une grille constante de cellules ne pouvant prendre que deux états « 0 » ou « 1 », avec un voisinage constitué, pour chaque cellule, d'elle-même et des deux cellules qui lui sont adjacentes. En réalité, et dans un domaine plus quotidien, les automates cellulaires peuvent être utilisés comme générateur graphique. Conséquemment, nous l’avons exploité pour la création aléatoire de notre forêt. De plus, nous avons développé un algorithme pour adapter le modèle automate cellulaire à nos propres besoins. Partant de la ligne 116 et jusqu’à la ligne 137, nous avons commencé par tester chaque case de la matrice pour vérifier si elle est différente de la valeur 2. En outre, nous avons appelé la fonction ‘NbreDeVoisin()’ qui a pour rôle la sommation des valeurs des cases voisines sauf celles de la même ligne et la même colonne. Dans le cas où la fonction ‘NbreDeVoisin()’ retourne la valeur 4, la case originale prend la valeur de 1, sinon elle prend 0 comme valeur. [Figure 57]
  • 82. 82 Figure 57 : illustration de la fonction ‘NbreDeVoisin’. Figure 58 : Comparaison entre une forêt avec et sans Cellular Automate.
  • 83. 83 En troisième lieu, nous avons adressé la décoration de la forêt. Pour cela, nous avons regroupé tous les éléments déjà définis en « prefab » dans un tableau qui est intégré par la suite dans un autre tableau de chaine de caractères [Figure 59]. Figure 59 : insertion des éléments de décoration du village dans un tableau. Ligne 17 : Déclarer un tableau ‘Decorationdorest[]’ de gameobject qui prend tous les prefabs de décoration. Ligne 18 : Déclarer un tableau ‘NameDecorationdorest[]’ de chaîne de caractère qui prend tous les éléments du tableau ‘Decorationdorest[]’. Ligne 19 : Déclarer un gameobjet vide ‘PivotInstantiateObjet’ qui crée tous les objets de la forêt.
  • 84. 84 Nous avons accordé un arbre à chaque case de matrice de valeur 1. En ce qui concerne les cases de valeur 0, nous l’avons associé d’une façon aléatoire une pierre, un animal, une plante ou un ennemi. 2.4 Cinquième mission 2.4.1 Conception de l’environnement : Pour la cinquième mission, nous avons eu recours à plusieurs jeux de stratégie pour finir par se décider sur le type « Tower Defense ». Le « Tower Defense » est un style de jeu vidéo dont l’objectif est d’empêcher le passage des vagues successives d’ennemis d’une zone de départ vers une zone d’arrivée tout en construisant graduellement des tours défensives qui éliminent les adversaires au cours de leurs progression. L’environnement du jeu possède des spécificités bien déterminées convenables au caractère de la mission. En effet, le terrain se présente sous la forme d’un plateau se composant de deux types de cases. Premièrement, un chemin avec une entrée et une sortie consacré pour le passage des créatures mais interdit pour la construction des tourelles. Deuxièment, des zones destinées au bâtiment des tours distinguées par des drapeaux rouges mais intraversables par les ennemis. Aussi, nos tours sont différenciés par leurs coûts, les dégâts qu’ils peuvent produire et leurs types et vitesses d’attaque. Notre conception commence par le dessin des différents tours, puis la création de la carte du jeu [Figure 60].
  • 85. 85 Figure 60: Conception des tourelles. 1.4.2 Modélisation de l’environnement : Après la validation de la conception, nous avons passé à la modélisation. La figure ci- dessous présente les étapes et les résultats finals de la modélisation de l’environnement.
  • 86. 86 Figure 61 : Les résultats finals de la modélisation de l’environnement.
  • 87. 87 Figure 62 : Les caractéristiques des différentes tourelles.
  • 88. 88 2.4.3 Intégration des objets et programmation de l’environnement sur UNITY : Les éléments modélisés de l’environnement de la cinquième mission sont ensuite importés et assemblés sur Unity pour enfin donner naissance à une scène conforme aux caractéristiques du Tower Defense. Les événements de cette mission se déroulent principalement sur une trajectoire qui se présente comme un chemin avec une entrée et une sortie consacré pour le passage des ennemies. En effet, le choix de la trajectoire a exigé plusieurs essais pour enfin arriver à créer un terrain optimal avec la possibilité de gagner la mission ou l’échouer selon la stratégie du joueur. Ultérieurement, nous avons passé à la création du premier algorithme principal nommé ‘TowerDefanceManager’. Par la suite, nous avons y intégré les déterminants des tourelles. Plus précisément, les ‘Prefabs’ des tours, le montant d’argent disponible au début de la mission (1000 pièces de monnaies), le nombre des vagues successives d’ennemies (15 vagues), le HP du joueur (1000 HP), les boutons de fonction pour chaque tourelle, le coût d’achat des tours (500, 750 ou 1000 pièce de monnaies) et finalement les trois types de tourelles (Wizard Tower, Archer Tower, Canon Tower) liés directement à leurs ‘Prefab’ déjà intégrés.
  • 89. 89 Lignes 162, 167 et 172 : La variable ‘Tower’ prend un tour selon le choix du joueur. Lignes 161,166 et 171 : La variable ‘CostTower’ prend une valeur selon le type de chaque tour. Ligne 155 à ligne 158 : La fonction ‘GetTowerBuild’ donne la variable Tower. La figure ci-après expose le résultat du programme précédent. Figure 63: Résultat de l’algorithme ‘TowerDefanceManager’. A ce niveau, un deuxième algorithme nommé ‘CaseManager.cs’ prend place. Ce dernier fourni la programmation nécessaire pour créer les cases de construction des tours. En outre, la
  • 90. 90 cinquième mission précise des positions prédéterminées, marqués par des drapeaux rouges sur la scène, qui offrent au joueur la possibilité d’y construire une tourelle. Pour pouvoir construire une tourelle il faut d’abord veiller à ce que le joueur ait assez d’argents. Pour cela, nous avons testé si la valeur de la variable ‘Money’ qui appartient au premier algorithme ‘TowerDefanceManager’ et qui représente le montant d’argent disponible chez le joueur est supérieure au coût du tour désiré [ligne 15]. Egalement, un tour doit faire face à ses adversaires pour pouvoir les attaquer. D’où la nécessité de pivoter les tourelles selon la position des ennemies sur la trajectoire. Ainsi, nous avons opté pour la variable ‘TypeRotation’ qui peut prendre la valeur ‘0’ pour afficher l’état initial des tours ou la valeur ‘1’ pour une rotation de 180° [Ligne 23 et ligne 26]. Ligne 22 : La variable ‘Tour’ prend celle de la fonction ‘GetTowerBuild()’ de l’algorithme ‘TowerDefanceManager’. La création et l’intégration des cases de construction sont succédés par l’assimilation des trois types de tourelles. A cet effet, nous avons développé un algorithme bien déterminé pour chaque tour. Dans la partie qui suit nous examinons une illustration de la programmation de Bombardia, la tourelle à cannons. Et ce, en élaborant un algorithme nommé ‘TowerCanonManager.cs’.
  • 91. 91 Figure 64: intégrations des trois types de tourelles. Cet algorithme est composé principalement de deux parties. En premier lieu, la détection des ennemis les plus proches de la tourelle. Dans ce but, nous avons débuté par grouper tous les ennemies existants sur scène dans le tableau ‘Enemy[]’ [ligne 26]. Par la suite, nous avons opté pour parcourir le tableau et comparer la distance entre le tour et l’ennemie. A chaque fois où cette distance appartient à la zone de détection de tourelle, l’adversaires est affecté à la variable ‘NearEnemy’ [ligne 29 – ligne 47].
  • 92. 92 Pour assurer une localisation optimale des dangers, la procédure antécédente doit être répétitive. Par ailleurs, la fonction ‘Update’ prédéfinie sur Unity peut exécuter le script trente fois par seconde. Cependant, pour des raisons d’optimisation nous avons créé la fonction ‘UpdateDirection’ capable de répéter le script seulement dix fois par seconde [ligne 22]. En deuxième lieu, l’ennemie détecté doit être suivi par le canon et attaqué. Pour atteindre ce résultat, il faut d’abord tester si l’adversaire est situé sur la zone de tire de la tourelle [lignes 64 et 67]. Ensuite, calculer la différence entre la position du tour et celle de l’ennemie pour l’intégrer dans la variable ‘Dif’ de type vector2 [ligne 68]. Puis, nous avons eu recours au radian comme unité de mesure pour pouvoir repérer les positions d’un ennemi et le suivre. Pour cela, nous avons calculé la valeur d’angle en radians de coordonnées de la variable ‘Dif’ multiplié par la valeur du constant radian 57.29578. Le résultat est ensuite associé à la variable réel ‘rot_z’ [ligne 69]. Finalement, nous avons intégré un compteur de tire qui à chaque fois que sa valeur est égale à 0 la fonction ‘Fire’ est activée pour attaquer l’ennemie avec un projectile.
  • 93. 93 2.5 Sixième mission 2.5.1 Conception et modélisation de l’environnement : Etant donné que la sixième mission est considérée comme la dernière, le joueur fera face à la partie la plus difficile du jeu. En effet, et après avoir confronté tous les ennemies des missions présidentes, il aura besoin d’affronter le dernier boss « Kahlan » en une bataille vicieuse. Pour accorder de l’importance à notre gameplay et au mouvement des personnages, le combat aura lieu sur une scène fixe. L’environnement du champ de la bataille consiste d’un regroupement des éléments créés durant la deuxième et la troisième mission [Figure 65]. Figure 65 : Scène de la mission finale.
  • 95. 95 Sprint 3 : conceptions des personnages, modélisation et programmation Introduction Cette partie est consacrée à la création des « Players » : personnages joueurs et des « ennemies» : personnages non joueurs Tableau prévisionnelle du sprint :  Date début du sprint : Mercredi 23 Mars 2017  Date fin du sprint : Lundi 17 Avril 2017  Temps estimé en heures : 260 heures  Echelle de mesures : Une journée est équivalente à 10 heures de travail : (De 8h à 13h -- de 14h à 19h)
  • 96. 96 1- Premiére partie du Sprint User stories Taches Temps 23 24 25 26 27 28 29 30 Création des personnages joueurs (PJ) des missions 1 et 2 Conception des personnages 8 0 0 0 0 0 0 0 0 Modélisation des personnages 10 8 0 0 0 0 0 0 0 Programmation et integration des personnages 5 5 3 0 0 0 0 0 0 Redaction du rapport Redaction de la partie de la création des PJ des missions 1 et 2 10 10 10 3 0 0 0 0 0 Création des personnages joueurs (PJ) des missions 3,4,5et 6 Conception des personnages 8 8 8 8 1 0 0 0 0 Modélisation des personages 30 30 30 30 21 11 1 0 0 Programmation et integration des personnages 8 8 8 8 8 8 8 0 0 Redaction du rapport Redaction de la partie de la création des PJ des missions 3,4,5 et 6 10 10 10 10 10 10 10 9 0
  • 97. 97 2- Deuxieme partie du Sprint User stories Taches Temps 31 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 Création des personnages non joueurs (PNJ) de la missions 2 Conception des personnages 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Modélisation des personnages 20 20 11 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Programmation et integration des personnages 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Redaction du rapport Redaction de la partie de la création des PNJ de la mission 2 10 10 10 10 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Création des personnages non joueurs (PNJ) de la mission 4 Conception des personnages 8 8 8 8 8 4 0 0 0 0 0 0 0 0 0 0 0 0 0 Modélisation des personnages 18 18 18 18 18 18 12 2 0 0 0 0 0 0 0 0 0 0 0 Programmation et integration des personnages 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 Redaction du rapport Redaction de la partie de la création des PNJ de la mission 4 8 8 8 8 8 8 8 8 3 0 0 0 0 0 0 0 0 0 0
  • 98. 98 Création des personnages non jouaeurs (PNJ) de la mission 5 Conception des personnages 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 Modélisation des personnages 15 15 15 15 15 15 15 15 15 13 3 0 0 0 0 0 0 0 0 Programmation et integration des personnages 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 Redaction du rapport Redaction de la partie de la création des PNJ de la mission 5 8 8 8 8 8 8 8 8 8 8 8 4 0 0 0 0 0 0 0 Création des personnages non joueurs (PNJ) de la mission 6 Conception des personnages 10 10 10 10 10 10 10 10 10 10 10 10 4 0 0 0 0 0 0 Modélisation des personages 30 30 30 30 30 30 30 30 30 30 30 30 30 24 14 4 0 0 0 Programmation et integration des personnages 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 2 0 0 Redaction du rapport Redaction de la partie de la création des PNJ de la mission 6 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 2 0
  • 99. 99 1. Création des personnages joueurs 1.1 Mission 1 et 2 : 1.1.1 Conception et modélisation des personnages joueurs : Dans la mesure où la première et la deuxième mission ont pour thème la recherche et la guerre spatiale, nous avons accordé à notre personnage une apparence de vaisseau spatial de type explorateur frégate nommé « Thunderbird ». En effet, la frégate est un navire de guerre de taille moyenne dont les dimensions, les armes et les équipements lui permettent de naviguer sur larges distances et d’attaquer ou de se défendre contre d’autres navires. En outre, le vaisseau est faiblement blindé et assez bien armé. [Figure 66] Figure 66 : Conception de Thunderbird
  • 100. 100 Du fait que notre personnage est un peu compliqué et dans le but de laisser une voie libre aux futurs changements nous avons modélisé chaque fraction du vaisseau séparément [Figure]. En ce qui concerne le choix de couleurs nous avons eu recours principalement à trois : * Le bleu et ses nuances, puisque c’est une couleur étroitement liée au rêve. Le bleu est l'écho de la vie, du voyage et des découvertes. Ainsi, il reflète le rôle de Thunderbird qui sillonne entre les planètes et brise le mystère de chaque univers. * Le jaune est également associé à la puissance, au pouvoir, mais avant tout, au soleil source de la vie. * Le rouge est directement significatif d’action, d’énergie et de détermination. En regroupant ces couleurs, notre vaisseau spatial symbolise le seul espoir de l’humanité pour renaitre de ses cendres. Figure 67 : résultat final de la modélisation de Thunderbird.
  • 101. 101 Thunderbird possède cinq armes distinctes ; Missile à Concussion, Missile Driller, Bombe à Proton, Turbo-Laser et enfin un Bouclier. Les caractéristiques et les détails de ces équipements sont illustrés dans la figure ci-après. Figure 68 : Caractéristiques des armes de Thunderbird.
  • 102. 102 1.1.2 Intégration et programmation de Thunderbird : L’intégration de notre personnage Thnuderbird nécessite certaines étapes primordiales sur Unity pour pouvoir utiliser le modèle réalisé dans la partie précédente. Autant dire, nous avons importé l’image sous le format général ‘PNG’ puis opté pour l’option ‘Sprtie 2D’ [Figure 69]. Figure 69: L’option Sprite 2D.
  • 103. 103 Notre vaisseau spatial confrontera les vaisseaux ennemis en relayant sur des armes variées. De ce fait, nous avons créé des Gameobjects vides pour y ‘instancier’ les projectiles [Figure 70]. Figure 70: Gameobjects vides pour l’insertion des armes. Plus précisément, Thunderbird possède cinq différents types de projectiles utilisables sous certaines conditions. Ainsi, nous avons commencé par élaborer un algorithme nommé ‘SpaceShipMissionManager.cs’.
  • 104. 104 Puis nous avons accordé à chaque projectile un bouton spécifique sur le clavier. Soit la touche ‘K’ pour la Missile Driller, ‘L’ pour le Bouclier, ‘M’ correspond à Turbolaser, ‘Espace’ coïncide avec la Bombe à Proton et enfin ‘J’ stimule le projectile de base Missile à Concussion. Afin d’expliquer davantage le code utilisé nous proposons une illustration du projectile Bouclier. En effet, l’activation de cette arme est soumise à deux conditions. Premièrement, le joueur doit presser la touche ‘K’. Deuxièmement, le temps de recharge du projectile doit être égal à zéro [ligne 168]. Les boucliers sont des armes qui effectuent une rotation lors d’une attaque. Pour illustrer ce détail, nous avons eu recours à la variable ‘I’ de type entier et qui incrémente sa valeur par ‘1’ d’une façon continue toute au long de la mission. Conséquemment, quand le joueur appui sur le bouton ‘k’ les quatre boucliers s’activent, la variable ‘I’ prend sa valeur initiale ‘0’ et la variable Boolean ‘Spell’ adapte la valeur ‘Vrai’ pour garantir l’attaque de l’ennemie [ligne 172 – ligne 177]. L’incrémentation de ‘I’ va assurer le changement de la rotation des projectiles sur l’axe des Z ce qui entraine le mouvement circulaire des Boucliers [ligne 181]. Les attaques de notre vaisseau spatial se diffèrent. D’ailleurs, chaque arme possède une modélisation, une conception et des caractéristiques variées. De ce fait, et après la création de leur ‘Prefabs’ tous les projectiles sont identifiés par des chiffres distingués à la fin de leurs noms et manipulés à travers un script unique nommé ‘SpellManager.cs’. Pour mieux élaborer, prenons l’exemple suivant : SPELL 07 Spell 07 correspond aux Bombes à Proton. Pour réaliser une attaque utilisant ce projectile nous devons tout d’abord créer son ‘Prefab’. Ensuite, nous procédons à son animation. Pour enfin exécuter son script.
  • 105. 105 Animation du projectile Spell07. Dans cette partie du scripte de Spell07 nous avons commencé par tester le type de projectile, et ce selon le chiffre distingué existant à la fin de son nom [ligne 63]. De plus, la Bombe à Proton est une arme qui augmente de taille progressivement. Pour cela, nous avons opté pour une variable ‘J’ qui assure l’incrémentation des proportions de l’explosif au cours du temps. La figure ci-après supporte le résultat de notre code.
  • 106. 106 Figure 71: Résultat du code de Spell 07.
  • 107. 107 1.2 Missions 3/4/5/6 : 1.2.1 Conception et modélisation des personnages joueurs : La conception du « Capitaine Alec » n’obéit pas à la règle des proportions réelles du corps humain, mais plutôt, aux règles provenant des proportions Japonaises « Chibi ». En effet, les personnages de type « Chibi » ont souvent des têtes disproportionnellement grandes par rapport au corps. En ce qui concerne le choix des costumes, nous avons employé des habits cohérents à un environnement futuriste et spatial des missions. Ainsi, notre personnage possède une armure innovante avec un aspect héroïque [Figure 72]. Le capitaine Alec est le seul homme qui peut mettre fin à la nuisance de la race humaine ce qui explique l’inspiration derrière son nom Alec, ou en d’autres termes, l'homme défendeur. Figure 72 : Conception du personnage (CapitaineAlec).
  • 108. 108 Dès la validation des croquis, nous avons passé à la modélisation du Capitaine Alec. Pour y réussir, nous avons dû passer par plusieurs étapes résumées dans la figure ci-dessous. Figure 73 : Etapes de la modélisation de Capitaine Alec.
  • 110. 110 SpriteSheet Walking to the right Sprite sheet Sword attack Sprite sheet Farm Spell
  • 111. 111 1.2.2 Intégration et programmation du Capitaine Alec : L’intégration de notre personnage ‘Capitaine Alec’ nécessite certaines étapes obligatoires sur Unity pour pouvoir utiliser le modèle réalisé lors de la modélisation. En outre, nous avons commencé par importer tous les Sprites Sheets du personnage sous le format général ‘PNG’ puis opter pour l’option ‘Sprtie 2D’ [Figure 74]. Par la suite, nous avons fixé tous les animations de chaque mouvement dans ‘Animator’ [Figure 75]. Finalement, nous avons intégré les interfaces graphiques ‘GUI’ du personnage qui comporte l’icône de chaque arme, le HP de l’héro, le mana, les différents potions, l’arbre de maîtrise, la disponibilité d’argent etc. [Figure76]. Figure 74: Intégration du Capitane Alec.
  • 112. 112 Figure 75: Animation des mouvements de Capitaine Alec sur Animator. Figure 76: GUI du capitaine Alec. Capitaine Alec est un personnage particulier. En effet, il nous a exigé une programmation riche et diversifié qui a demandé amplement de temps. De ce fait, et comme tentative de simplifier le code et de couvrir les détails les plus importants, nous présentons les huit parties suivantes :
  • 113. 113  Gestion du déplacement : Cette partie est consacrée pour le déplacement du personnage dans les quatre directions ; haut, bas, droite et gauche. En effet, notre jeu est de type 2D avec une vue isométrique. Ainsi, pour déplacer notre personnage il faut incrémenter deux coordonnées en même temps pour pouvoir effectuer un mouvement suivant un angle de 45° par rapport à l'horizontale ou la verticale. Prenons comme illustration le déplacement à gauche qui implore une translation simultanée à gauche et en bas [lignes 392 et 393]. Pour attribuer un effet réaliste au mouvement du Capitaine Alec, il faut d’une part appeler l’animation [ligne 394] et d’une autre part vérifier l’affichage des détails du costume selon la position du personnage. Par exemple, dans la ligne 396, nous avons modifié l’ordre du calque de l’épée en 0 puisqu’il n’ait pas entièrement visible au joueur. X Y 45°
  • 114. 114  Gestion des attaques et des sorts magiques : Lors des troisième, quatrième, cinquième et sixième missions Capitaine Alec aura besoin de se défendre contre plusieurs ennemies. Pour cela, nous l’avons renforcé d’une variété d’armes associée chacune à un bouton spécifique sur le clavier. Soit la touche ‘J’ qui correspond à un sort magique, ‘K’ coïncide avec une épée, ‘L’ synchronise avec un premier projectile et finalement le bouton ‘M’ pour un deuxième projectile [Figure 77]. Figure 77: Illustration des armes disponibles chez Capitaine Alec. Ligne 483 : Instancier un sort magique dans la position du Pivot. Ligne 484 : Supprimer ce sort magique après deux seconde  Gestion du Mana: Le "Mana" est un terme appartenant au vocabulaire gamer qui désigne l'énergie magique d'un personnage. Celle-ci se présente sous la forme d'une jauge qui détermine la quantité de sorts magiques susceptibles d'être lancés par l’héro. Lorsque la réserve de ‘Mana’ est épuisée, le lanceur de sorts ne peut plus lâcher des incantations et doit remplir ses réserves. En effet, nous avons attribué à notre personnage 100 points de Mana avec la possibilité de réduire à chaque utilisation d’une arme. Le premier et le deuxième projectile détruisent dix points de la jauge attribuée au Mana et le sort magique n’épuise que cinq.
  • 115. 115 Pour assurer le fonctionnement d’une arme un test prend place dans la ligne 508. Ainsi, le joueur ne peut pas utiliser un sort magique seulement sous les deux conditions suivantes : En premier lieu, la jauge du mana doit contenir un nombre de points supérieurs à celui nécessaire pour l’utilisation du sort. En deuxième lieu, le temps de simulation de l’arme doit être égal à zéro. La ligne 521 illustre le code derrière la diminution de la réserve de mana lors d’une attaque magique. En parallèle, la ligne 522 montre l’augmentation du temps d’utilisation du prochain sort.  Gestion du niveau, des points d’expérience et des points de maîtrise : Capitaine Alec possède la capacité de gagner de l'expérience à chaque fois qu’il achève une mission, tue des ennemies ou collecte un inventaire de bois ou de pierres. Lorsque notre personnage atteint un total spécifique de points d'expérience, il progresse en capacités. Cette progression s'appelle ‘gagner un niveau’ et elle est illustrée dans le code suivant.
  • 116. 116 Dans cette partie nous examinons le système de maîtrise. En effet, ce dernier est conçu pour mettre en valeur les efforts stratégiques du joueur. Chaque fois que le personnage attient un niveau supplémentaire, il gagne des points de maitrise lui offrant la possibilité d’encaisser des récompenses et d’améliorer ses compétences. Le système de maitrise se présente sous forme de schéma hiérarchique contenant tous les bénéfices possible d’une manière progressive. De ce fait, le joueur ne peut déverrouiller une récompense qu’après le déblocage de sa précédente. Figure 78: Hiérarchie de points de maîtrises.