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.
117
Quelques exemples des offres de points de maîtrise se présentent dans le code ci-
dessous.
[Ligne 35 - ligne 42] : Si le joueur arrive à déverrouiller la troisième récompense du
système de maîtrise il sera rémunéré par la diminution des points réduits de la jauge de Mana
lors d’une attaque.
[Ligne 43 – ligne 50] : Si le joueur arrive à déverrouiller la quatrième récompense du
système de maîtrise il sera rémunéré par la réduction du temps nécessaire à la réutilisation des
armes.
 Gestion de système inventaire :
Le joueur possède un sac utilisé pour colleter tout inventaire possible comme par
exemple du bois, des pierres, des potions etc. [Figure 79]
Figure 79: Inventaire de Capitaine Alec.
118
La réalisation de ce système d’inventaire est possible grâce à l’algorithme ‘Inventory.cs’ :
[Ligne 82 - ligne 92] : Parcourir les cases de l'inventaire dans le tableau ‘Slots’ pour
rechercher s'il existe une case vide et y insérer un item bien déterminé.
 Gestion d’argent et boutiques :
Le joueur peut gagner de l’argent chaque fois qu’il termine une mission. Ainsi, nous
avons mis à sa disposition deux types une boutique spéciale. La première propose des potions
qui améliorent la santé, le Mana ou la vitesse du personnage. La deuxième, nommée ‘Weapon
Store’ ; offre de nouveaux sorts magiques.
La fenêtre suivante s’affiche lorsque le personnage entre en collision avec la boutique à potions.
119
Figure 80: Affichage de la boutique à potions.
L’algorithme « ItemPotion.cs » teste, dans la ligne 9, si le joueur possède assez d’argent pour
pouvoir acquérir une potion.
L’algorithme « PlayerManager » teste, partant de la ligne 204 jusqu’à la ligne 215, les
conditions nécessaires pour bénéficier de dix points supplémentaires dans la jauge de Mana.
120
 Gestion de sauvegarde :
Nous avons utilisé la fonction ‘Playerpref’ prédéfinie sur le moteur de jeux Unity pour
sauvegarder tous les caractéristiques du personnage analysés dans les parties précédentes, et ce
en adoptant l’algorithme ‘PlayerManager’.
121
2. Création des personnages non joueurs :
2.1 Mission 2 :
2.1.1 Conception et modélisation des ennemies :
Dans le but de donner plus de profondeur et de diversité à notre jeu, nous avons opté
pour une variété d’ennemis. En réalité, nous avons produit huit adversaires ayant chacun des
caractéristiques bien déterminés.
En premier lieu, nous commençons par la conception des navires spatiaux opposants.
Figure 81: Conceptions des vaisseaux spatiaux adversaires.
122
123
124
125
2.1.2 Intégration et programmation des ennemies :
L’intégration des personnages non joueurs de la deuxième mission sollicite certaines
étapes sur Unity afin de pouvoir utiliser les modèles réalisés lors de la modélisation. En outre,
nous avons commencé par importer tous les Sprites Sheets des vaisseaux spatiaux ennemies
sous le format général ‘PNG’. Puis, nous avons adopté l’option ‘Sprtie 2D’. Finalement, nous
avons intégré chaque personnage dans un ‘Prefab’ [Figure 82].
Figure 82: Intégrations des navires spatiaux ennemis.
Les attaques des neuf navires adversaires se diffèrent. Cependant, et pour des raisons
d’optimisation, nous avons eu recours au développement d’un seul algorithme nommé
‘EnemySpaceShip.cs’. Ce dernier manipule tous les ennemies à la fois mais peut distinguer
entre eux par leurs noms. En effet, les dénominations des personnages non joueurs partagent le
premier mot ‘Enemy’ mais diffèrent par un numéro bien déterminé en terminaison.
126
Etant donné que chaque ennemie possède un mode d’attaque distinct, nous avons réussi
à séparer entre les différents projectiles en comptant sur la variable ‘Type’. A cet effet, prenons
l’exemple de Hecla, un vaisseau vicieux avec une capacité de se dupliquer en trois copies.
Autant dire, dans le code de programmation nous avons référé à Hecla par le nom « Enemy03 »
et nous avons lui associé une variable ‘Type’ de valeur ‘2’ qui reflète sa caractéristique de
duplication [ligne 131]. Dès qu’une copie du vaisseau de reproduit, nous avons opté pour
diminuer son opacité afin d’apparaitre moins claire que l’originale [ligne 136]. Ensuite, nous
avons augmenté sa vitesse pour dépasser celle du navire mère [ligne 138 et 139]. Finalement,
nous avons alterné la valeur zéro de la variable ‘Type’ en ‘1’ qui annule l’aspect duplicata et le
remplace par l’attaque en projectile [ligne 137].
Il est indispensable d’indiquer que cette procédure est répétitive selon le nombre des
duplicatas de Hecla.
127
2.2 Mission 4 :
2.2.1 Conception et modélisation des ennemies :
L’environnement forestier de la quatrième mission a servi comme inspiration pour la
conception des ennemies. De ce fait, nous avons enquêté sur les caractéristiques possibles des
créatures habitantes d’un tel milieu.
La prochaine étape consistait à croquer les idées initiales sur du papier et étaler quelques
variations de tailles et de formes sur les corps des personnages [Figure 83].
Figure 83 : Conception des ennemies de la forêt.
128
Après l’achèvement du développement et la validation des personnages, les croquis étaient
ensuite scannés et intégrés sur Adobe Illustrator pour leur reproduction numérique. Dès que le
traçage des corps a eu fin nous avons passé à l’étape de coloriage. À l’aide d’une palette
prédéfinie et bien étudiée nous avons commencé par remplir les formes de couleurs de base. En
clôture, nous avons accentué les reflets de lumières et des ombres.
Figure 84 : Les étapes de modélisation des ennemies de la mission 3 et 4.
129
130
131
2.2.2 Intégration et programmation des ennemies :
L’intégration des personnages non joueurs de la quatrième mission sollicite quelques étapes
obligatoires sur Unity. De ce fait, nous avons commencé par importer tous les Sprites Sheets des
ennemis sous le format général ‘PNG’. Puis, nous avons adopté l’option ‘Sprtie 2D’.
Figure 85: Intégration du personnage non joueur Shyra.
Capitaine Alec doit se défendre contre cinq types d’adversaires. Prenons l’exemple de Shyra
pour illustrer une partie de notre programmation, soit l’algorithme ‘Shyramanagement’.
En effet, lors de son sommeil, cette créature vilaine passe inaperçue jusqu’à ce qu’une
collision entre son ‘Collider’ (présenté par un cercle dans la figure ci-dessus) et celui de l’héro
prend place. Cette détection implique une attaque vicieuse relayant sur des projectiles
empoisonnés.
Shypra possède aussi une capacité aléatoire de se déplacer à la gauche ou à droite. Ainsi,
nous avons fixé la variable compteur ‘CountRotate’ et la variable ‘RandomCountRotate’ qui
peut prendre une valeur aléatoire entre ‘0’ et ‘700’. Puis, nous avons établi un test où à chaque
fois que les deux variables sont égales elles repartent à zéro. En parallèle, la rotation suivant
l’axe des Y alterne entre 0 et 180°. En d’autres termes, ce script propose un timing et une
rotation aléatoires à notre personnage.
132
2.3 Mission 5 :
2.3.1 Conception et modélisation des ennemies
Etant donné que la cinquième mission est de type « Tower Defense » dont l’objectif est
d’empêcher le passage des vagues successives d’ennemies, nous avons décidé de modéliser
trois types d’ennemis avec de différentes caractéristiques.
En premiers lieu, nous débutons par transmettre nos idées sur papier [Figure 86].
Figure 86 : Conception des ennemies de la cinquième mission.
133
Dès la validation des croquis, nous procédons à les scanner et les intégrer sur Adobe Illustrator
pour la modélisation. Nous commençons, tout d’abord, par le traçage des corps. Ensuite, nous
passons à l’étape de coloriage suivie par l’accentuation des reflets de lumières et des ombres.
Figure 87: Etapes de la modélisation des personnages non joueurs de la cinquième mission.
134
135
En ce qui concerne l’animation des ennemies, nous avons reproduit chaque mouvement
possible en une image .
Le tableau ci-dessous illustre les Sprite Sheet de mouvement de chaque personnage.
Tableau 4:Sprite Sheet des ennemies de la cinquième mission.
Spritesheet
de mouvement
de Brigrand
Spritesheet
de mouvement
de Megatroll
Spritesheet
De Darkzela
136
2.3.2 Intégration et programmation des ennemies :
L’intégration des personnages non joueurs de la cinquième mission engage quelques
étapes nécessaires sur Unity. En fait, nous avons commencé par importer tous les Sprite Sheets
des ennemies sous le format général ‘PNG’. Puis, nous avons adopté l’option ‘Sprtie
2D’[Figure 88]. Par la suite, nous avons fixé tous les animations de chaque mouvement dans
‘Animator’ [Figure 2]. Finalement, nous avons intégré chaque personnage dans un ‘Prefab’.
Figure 88: Intégration du personnage non joueur Brigrand.
Figure 89: Animation des mouvements de Brigrand sur Animator.
137
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ée pour le passage des
ennemies. De ce fait, nous avons opté pour l’algorithme ‘WayPointsManger.cs’ qui assure la
gestion du déplacement des adversaires. En effet, nous avons installé des Gameobjects vides
toute au long de la trajectoire et ce, pour guider le passage des personnages. Autrement dit, un
ennemi est intégré dans la scène à travers un premier Gameobject placé à la porte bleue de
l’entrée [Figure 90]. Ensuite, il progresse dans son chemin en suivant, d’une manière
successive, le reste des Gameobejcts indiqués par des points rouges sur la figure ci-après. Il est
important de signaler que le dépassement du dernier Gameobject implique une réduction dans
le HP du village.
Figure 90: Insertion des Gameobjects sur la trajectoire du Tower Defense.
138
[Ligne 10 – ligne 16] : Nous avons intégré tous les Gameobjects vides qui manipulent
le dépassement des personnages dans un tableau nommé ‘Points’ de type Transform.
Pour une explication plus approfondie du concept des Gameobjects vides, nous avons
eu recours à l’algorithme ‘Enemynormal.cs’.
En premier lieu, nous avons fait appel à une variable nommé ‘Point’ qui prend la valeur
de la première case du tableau ‘Points’ existant dans l’algorithme précèdent. Du coup notre
variable sera équivalente au premier Gameobject [ligne 12]. Ensuite, nous avons calculé la
distance persistante entre cette variable et l’ennemi. Enfin, nous avons exercé une translation
de la distance trouvée sur notre personnage [lignes 16 et 17]. Autrement dit, un adversaire
présent à l’entrée de la trajectoire sera obligé de suivre le chemin qui mène au premier
Gameobject.
Le passage à la prochaine position nécessite l’appel de la fonction ‘NextPoint()’ qui
incrémente la variable ‘Point’ pour prendre la valeur de la deuxième cases du tableau, ou en
autre terme, le deuxième Gameobject [ligne 19 – ligne 22].
Grâce au compteur ‘IndexPoint’ [lignes 36 et 37], cette procédure sera répétitive jusqu’à ce que
l’ennemie parcoure toute la trajectoire, ou bien dans le cas où, il est détruit par le joueur.
139
2.4 Mission 6 :
2.4.1 Conception et modélisation des ennemies :
Durant notre sixième et dernière mission Capitaine Alec fera face au dernier boss
« Kahlan », l’une des ennemies les plus difficiles à affronter. Pour cela, nous avons mené
une étude approfondie sur des personnages similaires suivie d’un croquis qui englobe tous
nos idées [Figure 91].
Figure 91: Conception de Kahlan.
140
Procédons maintenant à la modélisation de Kahlan moyennant Adobe Illustrator. Nous
commençons par le traçage (outlining). Ensuite, nous passons à l’étape de coloriage suivie par
l’accentuation du contraste entre lumières et ombres.
Figure 92: Modélisation de Kahlan.
141
Pour gérer une animation complexe en 2D nous utilisons, généralement, la méthode animation
image par image. Chaque image réfère à un diffèrent moments pendant la vie du Sprite. Le
tableau ci-dessous groupe les Sprite Sheets qui exposent les mouvements des personnages non
joueurs de la sixième mission.
Tableau 5: Sprite Sheets des personnages non joueurs de la sixième mission.
Sprite Sheet :
Mouvement
de Kahlan
Sprite Sheet :
Bouclier de
Kahlan
Sprite Sheet :
Disparition de
Kahlan
142
Sprite Sheet :
Brigrand
attaque
Sprite Sheet :
Projectile de
Brigrand
Sprite Sheet :
Megatroll
coup de poing
2.4.2 Intégration et programmation des ennemies :
L’intégration du personnage non joueur de la sixième mission sollicite quelques étapes
obligatoires sur Unity. De cet effet, nous avons commencé par importer tous les Sprites Sheets
143
de notre ennemi Kahlan sous le format général ‘PNG’. Puis, nous avons adopté l’option ‘Sprtie
2D’. Enfin, nous avons fixé tous les animations de chaque mouvement dans ‘Animator’.
Figure 93 : intégration de Kahlan dans Unity.
Khalan est la vilaine ultime de la planète Gora. Elle sera confrontée par Capitaine Alec
lors d’une dernière et cruciale bataille. La grande leadeur des ennemies est considérée la plus
puissante et la plus vicieuse avec ses quatre attaques mortelles. Kahlan possède le don du
mouvement constant. En fait, ce personnage n’a jamais une position fixe. Elle exerce toujours
des déplacements de haut en bas.
144
Cette qualité est reflétée dans l’algorithme ‘Kahlan_Manager.cs’ de la ligne 27 jusqu’à
la ligne 39. Autant dire, nous avons tout d’abord fixé une variable ‘Count’ de type entier qui
incrémente par 1 continuellement. Puis, nous avons élaboré un teste qui à chaque fois que
‘Count’ est inférieur à 15 notre personnage se déplace vers le haut. De plus, quand la variable
est entre 15 et 30, Kahlan effectue un mouvement vers le bas. Pour une valeur de ‘Count’
supérieure à 30 le compteur repart à zéro pour assurer l’animation continue de l’ennemie.
Notre personnage possède quatre attaques différentes. Cependant, dans la partie ci-
après, nous exposons les deux armes les plus défiantes lors du développement et qui ont exigé,
chacune, un script distinct.
En premier lieu, Kahlan a la capacité de se défendre par un nombre aléatoire de
projectiles (entre 5 et 6) qui tournent autour d’elle et attaquent l’héro une fois qu’ils le détectent.
145
Figure 94: Réalisation des mouvements circulaires des projectiles.
Afin de réaliser le mouvement circulaire des projectiles, nous avons eu recours à des
Gameobjects vides pour guider le déplacement des balles. Ces dernières utilisent la fonction
‘Physics2D.Raycast’ pour éjecter des rayons qui attaquent Capitaine Alec s’ils coïncident avec
le Gameobject ‘Player’.
En deuxième lieu, la vilaine dispose la compétence de se défendre à travers des rayons
massifs en laser sous forme de quatre flèches qui effectuent une rotation continue.
Figure 95: Réalisation du projectile à rayons de laser.
146
Cette circulation peut prendre deux sens de rotation (sens des aiguilles d’une montre ou
le sens inverse) et changer de mouvement trois fois ce qui implique une probabilité de 23
= 8
mouvements possibles. Cette procédure est illustrée dans le code à travers la création de trois
variables de type entier; ‘Rondom1’, ‘Random2’ et ‘Random3’. Ces derniers peuvent prendre,
aléatoirement, la valeur ‘0’ qui reflète le sens de rotation des aiguille d’une montre ou la valeur
‘1’ qui coïncide avec le sens inverse. De plus, les mouvements circulaires de cette arme
détiennent un timing intégré dans les variables ‘CountRotate1’, ‘CountRotate2’ et
‘CountRotate3’ aptes de prendre une valeur aléatoire entre 400 et 600. En d’autres termes, notre
code n’attribut aucune possibilité de reproduction à cette attaque.
L’algorithme principal ‘BigBoss_Manager.cs’ manipule l’activation aléatoire des
armes de Kahlan et assure un temps d’arrêt de cinq secondes entre les attaques.
Pour cela, nous avons fixé deux variables de type entier ; ‘TypeSpell’ qui contrôle les choix
aléatoires des armes et ‘TimeSpell’ qui précise la durée nécessaire de chaque attaque.
147
Sprint 4 : Création de la charte graphique :
Introduction :
Ce volet marquera la finalisation du projet. A ce niveau, nous avons effectué une mise en place
solide des différents components du jeu et assuré la stabilité de l’environnement, des personnages
et des missions. Il est donc temps d’établir la connexion et générer les interfaces.
Tableau prévisionnelle du sprint :
 Date début du sprint : 18 Avril 2017.
 Date fin du sprint : 27 Avril 2017.
 Temps estimé en heures : 100 heures.
 Echelle de mesures : Une journée est équivalente à 10 heures de travail : (De 8h à 13h
- - de 14h à 19h).
Tableau 6 : Backlog du sprint 4.
User stories Taches Temps 18 19 20 21 22 23 24 25 26 27
Création
Logo
Recherche pour
l’inspiration
des logos
2h 0 0 0 0 0 0 0 0 0 0
Design du logo 10h 2 0 0 0 0 0 0 0 0 0
Création des
menus
Conception
graphique des
menus
20h 20 12 2 0 0 0 0 0 0 0
Programation
du menus
20h 20 20 20 12 2 0 0 0 0 0
Creations
des
interfaces
du jeux
Design des
GUI
20h 20 20 20 20 20 12 2 0 0 0
Integration et
developpement
des GUI
20h 20 20 20 20 20 20 20 12 2 0
Rédaction
rapport
Rédaction
rapport Des
Logo UIet
menus
8h 8 8 8 8 8 8 8 8 8 0
148
1. Le logo :
Etant le premier élément d’identification visuel de notre projet, le logo engendre une
partie intégrante de notre stratégie de communication. En effet, il a pour rôle de séduire,
valoriser et même refléter l’idée globale du jeu.
Dès qu’une recherche sur les différentes typographies, pictogrammes, couleurs et
mouvements a été effectuée nous débutons la conception ainsi que la création du logotype.
Figure 96 : conception du logo.
Nous procédons, ensuite, à la modélisation des croquis pour enfin livrer le résultat final.
149
Figure 97:Modélisation et choix final du logo.
150
 Analyse du logo :
Pour des raisons de cohérence avec le thème et la charte graphique du jeu, le logo doit
refléter, à première vue, l’aspect numérique et digital. D’où le recours à la typographie
‘Hacked’ ; une police d’écriture qui incarne la faille et l’ambiguïté.
L’arrière-plan en carreaux, rappelant les interfaces des anciennes consoles de gaming, reflète
en effet le système solaire et les planètes à découvrir durant notre parcours dans « Beyond
Eden ».
Concernant le choix de couleurs nous avons eu recours principalement à trois ; Le noir, cette
couleur prestigieuse, a était utilisée dans le but d’exprimer l’espacement et le vide. Le cyan, qui
évoque le sentiment de voyage et de de rêverie, marque à son tour l’aventure que Capitaine
Alec doit surmontée. Et pour finir, nous ramenons un peu de vie à notre logo à travers une
touche de rouge la couleur de sang, source de vie et résultat de tout combat.
2. Conception et création des GUIs :
Dans cette partie nous nous intéressons aux éléments des interfaces du jeu qui incluent quatre
types :
 Menu Principal (Main Menu) : C’est le premier menu qui s’affiche dans le jeu permettant
au joueur d’accéder à une mission, modifier les paramètres ou s’introduire aux les
instructions.
 Menu Pause (Resume Menu) : C’est le deuxième menu du jeu. Il attribue au joueur la
possibilité de prendre une pause durant une mission ou de retourner au menu principal dans
le but de quitter le jeu.
 Menu Rejouer (Replay Menu) : C’est le troisième menu du jeu. Il s’affiche quand le
joueur échoue une mission en lui permettant soit de la répéter ou de retourner au menu
principal.
 Fenêtre du jeu : C’est l’interface qui s’affiche au cours du jeu offrant au joueur tous les
informations nécessaires sur le gameplay de la mission. Les GUIs de la fenêtre de jeu se
diffèrent d’une page à une autre selon les besoins qui se présentent lors d’une mission.
151
2.1 Interface du Menu Principal :
Le menu principal présente l’interface la plus importante du jeu. Il arrange en effet les
options offertes à l’utilisateur. D’ailleurs, le joueur aura à choisir entre commencer une partie,
régler les paramètres, lire les instructions ou quitter le jeu. [Figure 98]
Pour avoir une interface équilibrée nous avons opté pour une organisation cohérente des
composants graphiques :
 En arrière-plan, le fond est soumis à un effet de vitesse dans le but de donner une
impression de mouvement.
 Le bouton « Play » : Permet de commencer une partie.
 Bouton « Instructions » : Permet d’afficher les détails de la manipulation du jeu.
 Bouton « Option » : Donne l’accès à un sous menu permettant d’alterner les paramètres
sonores.
 Bouton « Quitter » : Permet d’abandonner complètement le jeu.
Figure 98: Maquette de l'interface du menu principal.
152
Figure 99: Interface du menu principal.
Figure 100 : Interface des options.
Figure 101:Interface des instructions.
153
2.2 Interface du Menu Pause :
Le menu Pause est affiché au centre de l’écran lors d’une suspension du jeu. Il contient
les boutons suivants :
 Bouton « Resume » : Reprendre la mission là où le joueur a pris une pause.
 Bouton « Main Menu » : Retourner à la page du menu principal.
Figure 102 : Maquette de l’interface du menu Pause.
Figure 103: Menu Pause.
154
2.3 Interface Game Over:
Cette interface s’affiche lorsque le joueur échoue une mission. Elle se compose
principalement des deux boutons suivants :
 Bouton « Replay » : Rejouer la partie.
 Bouton « Main Menu » : Retourner à la page du menu principal.
Figure 104: Maquette de Menu 'Game Over'.
Figure 105: Menu Game Over.
155
2.4 Intégration des menus :
Les interfaces graphiques de notre jeu se composent principalement de fenêtres, icônes,
menus et boutons. Ces derniers ont nécessité, lors du développement, 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 GUI.
La création d’une interface graphique se réalise grâce à un Gameobject de type UI dans
lequel nous intégrons les images et les textes y correspondants.
Figure 106:intégration du Menu principal dans Unity.
Prenons l’exemple du menu ‘Setting’ comme aperçu de la programmation effectuée sur Unity.
En effet, ce menu couvre le paramétrage sonore du jeu. Sa réalisation à exiger la création de la
procédure ‘Setting’ dans l’algorithme « Menumanager ».
156
[Ligne 64 – ligne71] : Tout les Gameobjects du Canvas prennent ‘Setactive(false)’ qui
implique leur désactivation sauf le Gameobject du menu ‘Setting’ qui s’active grâce à
‘Setactive(true)’.
L’illustration ci-dessous reflète le résultat du code du menu ‘Setting’.
Figure 107: Intégration du menu 'Setting'
Il est indispensable d’indiquer que l’utilisation de la fonction ‘Application.LoadLevel()’
guide le joueur vers une nouvelle scène tout à fait différente. Autant dire, quand il sélectionne
le menu ‘Play’, il sera dirigé vers la scène de la première mission du jeu.
157
2.5 Interfaces du jeu :
Notre jeu comporte des différentes missions ainsi que des environnements distincts. De
ce fait, ses interfaces varient avec les changements et les besoins de chaque mission.
En effet, nous avons débuté par la réalisation des multiples éléments composant ces pages
de jeu. Par la suite, nous avons passé à la conception des maquettes contenant toutes les
informations nécessaires du gameplay. Enfin, nous avons procédé à la modélisation finale.
Les figures ci-après disposent les résultats obtenus.
Figure 108: Maquette et interface de la 2ème
mission.
158
Figure 109: Boutons, maquette et interfaces de la 3ème
et 4ème
mission.
159
Figure 110: Boutons, maquette et interfaces de la 5ème
mission
160
Let’s Win :
161
Sprint 5 : création des cinématiques :
1. Tableau prévisionnelle du sprint :
 Date début du sprint : 28 Avril 2017.
 Date fin du sprint : 7 Mai 2017.
 Temps estimé en heures : 100 heures.
 Echelle de mesures : Une journée est équivalente à 10 heures de travail : (De 8h à 13h -
- de 14h à 19h).
Tableau 7 : Backlog du sprint 5.
User stories Taches Temp
s
2
8
2
9
3
0
0
1
0
2
0
3
0
4
0
5
0
6
0
7
Creation des
Cinematique
Creation
des quatre
cinematique
50 4
0
3
0
2
0
1
0
0 0 0 0 0 0
Intergration
des quatre
cinematique
50 5
0
5
0
5
0
5
0
5
0
4
0
3
0
2
0
1
0
0
162
2. Création de la cinématique :
Le jeu vidéo repose sur une communication écrite visuelle et sonore. Il emprunte à d’autres arts
certaines lois signifiantes, en particulier au cinéma, dont il est très proche. En effet, la
cinématique dans notre jeu, se présente, en premier lieu, sous forme de séquence animée. Au
cours de cette dernière, le joueur est introduit à l’univers du jeu, le scénario et le personnage.
En deuxième lieu, la cinématique assure la transition entre deux phases du jeu, particulièrement
entre les missions se déroulant dans l’espaces et celles dans la planète Gora. Enfin, elle permet
de clôturer les évènements du scénario en se présentant à la fin du jeu.
 Cinématique de l’intro du jeu :
Pour accomplir la cinématique de l’histoire du jeu, nous avons, tout d’abord, eu recours à un
enregistrement voix off du scénario. Puis, nous avons planifié la compil de scènes cinématiques
de l’intro relayant sur la réalisation de dessins représentatifs des moments de pique dans le
scénario. Les dessins sont, ensuite, scannés et importés sur Adobe Photoshop pour la
finalisation et l’application des effets esthétiques suivants :
 Corriger les problèmes d’exposition afin d’améliorer et réparer les couleurs.
 Procéder au réglage Courbes ; changer la position des points dans la gamme de tons
d’une image pour réparer sa tonalité et donner encore plus de valeur aux traits noirs.
 Application du filtre artistique pastel.
 Ajout des bordures et des éléments de style « Comics Books ».
Nous introduisons ci-après les illustrations des dessins avant et après les modifications.
163
Figure 111: Première scène cinématique de l'intro.
164
Figure 112: Deuxième scène cinématique de l'intro.
165
Figure 113: troisième scène de la cinématique de l’intro.
166
Figure 114: Quatrième scène de la cinématique de l'intro.
167
Figure 115: Cinquième scène cinématique de l'intro.
168
Figure 116: Sixième scène cinématique de l'intro.
169
Figure 117: Septième scène cinématique de l'intro.
170
 Cinématique de transition :
La cinématique continue à guider l’histoire du jeu et ce en justifiant la transition entre un gameplay dans l’espace ouvert à un autre se déroulant
dans un nouveau système solaire et plus particulièrement sur la planète Gora.
Figure 118: Première scène cinématique de transition.
171
Figure 119: Deuxième scène cinématique de transition.
172
Figure 120: Troisième scène cinématique de transition.
173
Figure 121: Quatrième scène cinématique de transition.
174
 Cinématique de Fin :
Le personnage joueur achève toutes les missions et réussi à défendre le village d’Adobe. A ce niveau, une cinématique prend place pour cloturer
le premier chapitre de « Beyon Eden, The Star of Gora ».
Figure 122: Scène cinématique de fin.
175
Sprint 6 : Achèvement du projet :
1. Tableau prévisionnelle du sprint :
 Date début du sprint : 8 Avril 2017.
 Date fin du sprint : 16 Mai 2017.
 Temps estimé en heures : 90 heures.
 Echelle de mesures : Une journée est équivalente à 10 heures de travail : (De 8h à 13h -
- de 14h à 19h).
Tableau 8:Backlog du sprint 6.
User stories Taches Temp
s
8 9 1
0
1
1
1
2
1
3
1
4
1
5
1
6
Ajout de la
Musique
Recherche
des Sons
20 1
0
0 0 0 0 0 0 0 0
Intégration
des effets
sonores
20 2
0
2
0
1
0
0 0 0 0 0 0
Intégration
de la
musique de
fond
20 2
0
2
0
2
0
2
0
1
0
0 0 0 0
Evaluation
du projet
10 1
0
1
0
1
0
1
0
1
0
1
0
0 0
Rédaction
rapport
Redaction
du sprint 6
20 2
0
2
0
2
0
2
0
2
0
2
0
2
0
1
0
0
176
3. Conception sonore :
L’ambiance sonore est indispensable dans un jeu vidéo puisqu’elle valorise et améliore
l’expérience du gameplay. En effet, la bande son présente un facteur essentiel de l’immersion
dans un univers divertissant.
Vu son importance, nous avons accordé largement du temps dans d’écoute et la recherche d’une
compilation sonore se composant de morceaux de musique du fond, voix off, bruitage, effet
sonore spéciaux etc. Ces derniers, se marient avec le thème, le style et l’époque de notre jeu.
En premier temps, nous avons opté pour l’enregistrement d’une ‘voix off’ racontant l’histoire
du scénario de la cinématique. Puis nous l’avons traité sur le logiciel ‘Adobe Audition CS 6’.
En effet, Adobe Audition est un programme d'édition audio numérique développé par ‘Adobe
System’. Il est considéré un enregistreur audio, un mélangeur et un éditeur multipiste pour
Windows. Lorsqu'il est utilisé avec une carte son Windows, le programme fournit une
expérience complète de studio d'enregistrement numérique à l'ordinateur de l'utilisateur. Le
programme offre un flux de travail flexible et il est utilisé pour produire de la musique, des
émissions de radio ou de l'audio pour la vidéo.
La procédure du traitement sonore sollicite principalement les neuf étapes ci-après.
177
 1ère Etape :
Figure 123: Intégration de l'enregistrement de la voix off sur Audition.
Nous avons tout d’abord commencé par introduire l’enregistrement voix off dans le
logiciel afin d’éliminer le bruitage, normaliser le son, intégrer des effets sonores et ajouter une
musique du fond cohérente avec les paroles. Nous avons, en effet, eu recours à une séquence
de la musique instrumentale « The Last Butterfly » élaborée par la chaine YouTube musicale
« Wodkah ».
 2ème Etape :
Figure 124: Normalisation du bruitage moyennant (-3dB).
Nous avons, ensuite, exploré un bruitage convenable à la musique du fond. Puis, nous
avons normalisé le bruitage (-3 dB) et coupé seulement les parties nécessaires.
178
 3ème Etape :
Figure 125: Utilisation de la multipiste.
Dans cette étape, nous avons opté pour une multipiste permettant de fusionner la music
du fond, les paroles de la voix off et le bruitage.
 4ème Etape :
Figure 126: Diminution de l'amplitude de la voix off.
Une amplitude de courbe très élevée implique un son très saturé. Dans ce cas, la
quatrième étape consiste à diminuer l’amplitude de la voix off.
179
 Etape 5 :
Figure 127: Normalisation de la voix off.
La cinquième étape comprend la normalisation de la voix off en -3 dB.
 6ème Etape :
Figure 128: Application de l'effet égaliseur.
Dans cette étape, nous avons appliqué l’effet égaliseur qui permet de filtrer ou d'amplifier
différentes bandes de fréquences composant un signal audio.
180
 7ème Etape :
Figure 129: Utilisation de l’effet réverbération de la voix off.
La septième étape expose l’utilisation de l’effet réverbération de la voix off. Ce dernier
crée l'impression auditive d'espace et augmente l'impression de volume sonore.
 8ème Etape :
Figure 130: Utilisation de l'effet Side Chaine.
La présence d’une parole et d’une music du fond à la fois implique l’utilisation
obligatoire de l’effet de traitement dynamique ‘Side Chaine’. A savoir, dans le cas où la parole
s’arrête, la music du fond aura tendance à hausse. De ce fait, nous avons intégré cette option.
181
9ème Etape :
Figure 131: Utilisation de l'effet 'Fade in - Fade out'
La neuvième étape consiste à l’adaptation de l’effet ‘Fade in’ et ‘Fade out’ pour les
bruitages, la voix off et la music du fond. La dernière mesure admet l’exportation de la
multipiste en mp3.
 Intégration sonore sur Unity :
Pour l’intégration du son, Unity nous a servi deux classes. Premièrement, « AudioListener »,
est un composant de la caméra que le logiciel représente comme étant l’oreille qui écoute les
sons produits pendant l’exécution du jeu [Figure132]. Deuxièmes, et la classe « Audio Source»
qui produit les sons [Figure133].
Figure 132: Audio Listener - Unity.
182
Figure 133: Paramétrage du son sur Unity.
Dès que les sons sont prêts, nous les importons et les configurons selon leur utilisation. Il existe
le type de son : « son 3D » dont le volume dépend de la distance. Dans ce cas nous avons régler
la valeur de « pitch » pour le son à différentes valeurs en utilisant le même fichier audio.
Figure 134: Réglages 'Pitch' du son 3D.
183
Pour avoir un effet plus réaliste nous avons modifié les valeurs de « doppler Level » qui désigne
le décalage de fréquence [Figures 135].
Figure 135: Réglage 'Doppler Level' du son.
184
4. Exportation du projet :
Pour créer l’exécutable il faut réaliser une suite de réglages. Après avoir clôturé le
développement de jeu, nous procédons à l’exportation de l’exécutable. Nous débutons par les
réglages des paramètres des fenêtres « Player Settings » et « Quality Settings » afin de définir
les qualités du rendu.
Figure 136: Fenêtre de 'Quality Settings' et 'Players Settings'
Finalement nous exportons notre jeu avec la fenêtre « Build Settings » qui sert à mettre les
scènes à exporter à l’ordre ainsi que la Platform choisi dans notre cas « Pc, Mac& Linux
Standlone ».
Figure 137: Fenêtre de 'Build Settings'.
185
Notre jeu a été exporté et l’aventure commence.
Figure 138: Dossier de l'exportation et l'icône du jeu.
186
5. Publication du jeu :
Aujourd’hui, les réseaux sociaux offrent de grandes opportunités marketing. De cet effet, la
présence de notre jeu en ligne est un élément incontournable de notre stratégie. La croissance
spectaculaire des abonnées aux réseaux sociaux a un rôle énorme dans la communication et le
transfert de l’information. Ainsi, nous avons décidé de publier notre projet et de contacter
virtuellement notre public cible à travers :
 YouTube :
YouTube est un réseau social très différent de ses compatriotes. Il est, en effet, beaucoup plus
qu’un simple endroit pour diffuser des vidéos sur Internet. Il présente une communauté
admettant des millions d’internautes. Le site est, aussi, un réseau social où il est possible
d’acquérir des abonnés et d’échanger avec les utilisateurs. A ce propos, nous l’avons choisi
pour publier un teaser du jeu afin d'inciter le public à le tester.
Figure 139: Chaine YouTube de Beyond Eden.
 Facebook :
Un réseau social en ligne qui permet à ses utilisateurs de publier du contenu, d'échanger des
messages et d'utiliser une variété d’applications. Ce site, en à peine cinq ans, a atteint 800
millions d’utilisateurs, Nous avons créé une page Facebook nommée « Beyond Eden, The Star
of Gora », contenant le logo, l’affiche et les informations général du jeu.
187
Figure 140: Page Facebook de Beyond Eden.
 Instagram :
L’Instagram est une application de partage de photos et de vidéos disponibles sur plates-formes
mobiles. Il possède, en effet, une base d’utilisateurs qui ne cesse de croître pour atteindre plus
de 400 millions d’utilisateurs. Instagram est aussi le réseau social affichant la plus forte
croissance dans le monde. Pour cela, nous avons eu recours à cette application pour introduire
notre jeu à notre marché cible.
Figure 141: Compte Instagram de Beyond Eden.
188
Conclusion :
1. Bilan du projet :
Notre projet reflète une expérience très importante au cours de laquelle nous avons pu
développer plusieurs acquis et assimiler une variété de techniques. En effet, le développement
d’un projet de jeu vidéo constitue une tâche ardue car elle sollicite beaucoup de vérifications,
d’études et d’essais pour survenir à un résultat final d’une qualité décente. Sous ce rapport, les
délais ont été respectés et le produit final est fonctionnel ce qui implique l’atteinte de nos
objectifs. En outre, l’utilisation de la méthodologie Scrum nous a autorisé de valider l’attente
d’un processus de travail professionnel. Finalement, la réalisation de ce projet au sein d’une
société nous a introduit au monde professionnel ainsi que l’importance de la gestion des tâches
pour répondre aux besoins des utilisateurs.
2. Bilan personnel :
Avant l’achèvement de notre projet, nos connaissances techniques étaient relativement
insuffisantes. De ce fait, nous avons eu recours, en premier lieu, à un nombre important de
cours et de tutoriels pour réussir l’aspect graphique. Ensuite, nous nous sommes trouvés devant
l’obligation de mener des recherches et d’apprendre de nouvelles méthodes et techniques de
développement afin de confronter les difficultés rencontrées au niveau de la programmation.
Enfin, à travers ce document, nous avons eu la chance de développer nos compétences de
rédaction ainsi que de gestion de tâches.
3. Perspectives :
Ce travail a renforcé notre motivation à travailler dans le domaine du jeu vidéo. Il a également
instauré notre esprit du partage et de groupe. Nous souhaitons ainsi :
 Réaliser une version mobile du « Beyond Eden, Star of Gora ».
 Continuer à développer d’autres stages.
 Entrer en coopération dans le développement d’autres projets de jeux vidéo.
189
Liste des Figures :
Figure 1 : le Jeu vidéo 2D, Shank................................................................................. 15
Figure 2 : Le jeu 2.5D, Assassin’s Creed Chronicles................................................... 15
Figure 3 : Le jeu 2D isométrique, Crafton & Xunk. .................................................... 16
Figure 4 : Le jeu 3D, Horizon Zero Dawn. .................................................................. 16
Figure 5 : Le jeu d’action, Battlefield. ......................................................................... 17
Figure 6 : Assassin’s Creed Syndicate. ........................................................................ 17
Figure 7 : Final Fantasy Online: Realm Reborn.......................................................... 18
Figure 8 : OwlBoy........................................................................................................ 18
Figure 9 : Age Of Empires. .......................................................................................... 19
Figure 10 : Call of Duty Apocalypse............................................................................ 19
Figure 11 : Sims............................................................................................................ 20
Figure 12 : Fifa 17. ....................................................................................................... 20
Figure 13 : Need For Speed.......................................................................................... 21
Figure 14 : Resident Evil 7........................................................................................... 21
Figure 15 : Mind: Path to Thalamus............................................................................. 22
Figure 16 : Far Cry Primal............................................................................................ 23
Figure 17 : League of Legends..................................................................................... 23
Figure 18 : Counter Strike. ........................................................................................... 24
Figure 19 : Heroes of the Storm. .................................................................................. 24
Figure 20: Mass Effect 4: New Age............................................................................. 25
Figure 21 : GTA V. ...................................................................................................... 25
Figure 22 : Bilan et Choix du jeu. ................................................................................ 28
Figure 23 : Le Jeu d’inspiration, Wakfu....................................................................... 29
Figure 24 : les différent univers de Wakfu................................................................... 30
Figure 25 : Style graphique du jeu Wakfu.................................................................... 30
Figure 26 : Le jeu d’inspiration, Rive. ......................................................................... 31
Figure 27 : GUI du jeu Rive......................................................................................... 32
Figure 28 : Les différentes attaques du vaisseau spatial............................................... 32
Figure 29 : Le jeu d’inspiration, EITR. ........................................................................ 33
Figure 30: scène de bataille, Eitr. ................................................................................. 34
Figure 31: Scénario du jeu............................................................................................ 37
Figure 32: Schéma de navigation. ................................................................................ 38
190
Figure 33: diagramme de cas d'utilisation générale. .................................................... 39
Figure 34 : Diagramme de cas d’utilisation détaillée................................................... 40
Figure 35: Diagramme de conception des objets. ........................................................ 43
Figure 36: Diagramme d’activité du jeu....................................................................... 45
Figure 37: Diagramme de séquence globale. ............................................................... 46
Figure 38: Diagramme de séquence détaillé. ............................................................... 47
Figure 39 : Diagramme d'activité de l’intelligence artificielle..................................... 48
Figure 40 : Cycle de vie d'un produit par la méthodologie de Scrum.......................... 51
Figure 41: L’équipe Scrum........................................................................................... 52
Figure 42 : Représentation des images de référence et des croquis ............................. 65
Figure 43: Modélisation des objets de l'environnement avec Illustrator...................... 66
Figure 44 : Sprite Sheet des planètes............................................................................ 67
Figure 45: intégration des objets sur Unity. ................................................................. 67
Figure 46: Hiérarchie du QCM sur Unity..................................................................... 68
Figure 47 : Etapes de création de l’arrière-plan. .......................................................... 70
Figure 48 : intégration de l'arrière-plan........................................................................ 71
Figure 49: conception de l'environnement. .................................................................. 72
Figure 50 : Utilisation de la grille isométrique pour la modélisation du décor botanique.
.................................................................................................................................................. 73
Figure 51: Composants de L'environnement des Missions 3 et 4. ............................... 74
Figure 52 : Modélisation des bâtiments moyennant l'outil grille de perspective. ........ 75
Figure 53:Composition et architecture finale du village. ............................................. 76
Figure 54 : Intégration des éléments du village dans Unity. ........................................ 77
Figure 55 : Enregistrement des Prefabs dans Unity. .................................................... 78
Figure 56 : tests des différents pourcentages de ‘void randomFillPercent’................. 80
Figure 57 : illustration de la fonction ‘NbreDeVoisin’................................................. 82
Figure 58 : Comparaison entre une forêt avec et sans Cellular Automate. .................. 82
Figure 59 : insertion des éléments de décoration du village dans un tableau............... 83
Figure 60: Conception des tourelles............................................................................. 85
Figure 61 : Les résultats finals de la modélisation de l’environnement....................... 86
Figure 62 : Les caractéristiques des différentes tourelles............................................. 87
Figure 63: Résultat de l’algorithme ‘TowerDefanceManager’.................................... 89
Figure 64: intégrations des trois types de tourelles. ..................................................... 91
Figure 65 : Scène de la mission finale.......................................................................... 93
191
Figure 66 : Conception de Thunderbird ....................................................................... 99
Figure 67 : résultat final de la modélisation de Thunderbird. .................................... 100
Figure 68 : Caractéristiques des armes de Thunderbird. ............................................ 101
Figure 69: L’option Sprite 2D. ................................................................................... 102
Figure 70: Gameobjects vides pour l’insertion des armes.......................................... 103
Figure 71: Résultat du code de Spell 07..................................................................... 106
Figure 72 : Conception du personnage (CapitaineAlec). ........................................... 107
Figure 73 : Etapes de la modélisation de Capitaine Alec........................................... 108
Figure 74: Intégration du Capitane Alec. ................................................................... 111
Figure 75: Animation des mouvements de Capitaine Alec sur Animator................. 112
Figure 76: GUI du capitaine Alec. ............................................................................. 112
Figure 77: Illustration des armes disponibles chez Capitaine Alec............................ 114
Figure 78: Hiérarchie de points de maîtrises.............................................................. 116
Figure 79: Inventaire de Capitaine Alec..................................................................... 117
Figure 80: Affichage de la boutique à potions. .......................................................... 119
Figure 81: Conceptions des vaisseaux spatiaux adversaires. ..................................... 121
Figure 82: Intégrations des navires spatiaux ennemis................................................ 125
Figure 83 : Conception des ennemies de la forêt. ...................................................... 127
Figure 84 : Les étapes de modélisation des ennemies de la mission 3 et 4................ 128
Figure 85: Intégration du personnage non joueur Shyra. ........................................... 131
Figure 86 : Conception des ennemies de la cinquième mission................................. 132
Figure 87: Etapes de la modélisation des personnages non joueurs de la cinquième
mission. .................................................................................................................................. 133
Figure 88: Intégration du personnage non joueur Brigrand. ...................................... 136
Figure 89: Animation des mouvements de Brigrand sur Animator. .......................... 136
Figure 90: Insertion des Gameobjects sur la trajectoire du Tower Defense............... 137
Figure 91: Conception de Kahlan............................................................................... 139
Figure 92: Modélisation de Kahlan. ........................................................................... 140
Figure 93 : intégration de Kahlan dans Unity. ........................................................... 143
Figure 94: Réalisation des mouvements circulaires des projectiles. .......................... 145
Figure 95: Réalisation du projectile à rayons de laser................................................ 145
Figure 96 : conception du logo................................................................................... 148
Figure 97:Modélisation et choix final du logo. .......................................................... 149
Figure 98: Maquette de l'interface du menu principal................................................ 151
192
Figure 99: Interface du menu principal. ..................................................................... 152
Figure 100 : Interface des options. ............................................................................. 152
Figure 101:Interface des instructions. ........................................................................ 152
Figure 102 : Maquette de l’interface du menu Pause................................................. 153
Figure 103: Menu Pause............................................................................................. 153
Figure 104: Maquette de Menu 'Game Over'. ............................................................ 154
Figure 105: Menu Game Over.................................................................................... 154
Figure 106:intégration du Menu principal dans Unity. .............................................. 155
Figure 107: Intégration du menu 'Setting' .................................................................. 156
Figure 108: Maquette et interface de la 2ème
mission................................................. 157
Figure 109: Boutons, maquette et interfaces de la 3ème
et 4ème
mission. .................... 158
Figure 110: Boutons, maquette et interfaces de la 5ème
mission................................. 159
Figure 111: Première scène cinématique de l'intro..................................................... 163
Figure 112: Deuxième scène cinématique de l'intro................................................... 164
Figure 113: troisième scène de la cinématique de l’intro........................................... 165
Figure 114: Quatrième scène de la cinématique de l'intro. ........................................ 166
Figure 115: Cinquième scène cinématique de l'intro. ................................................ 167
Figure 116: Sixième scène cinématique de l'intro...................................................... 168
Figure 117: Septième scène cinématique de l'intro. ................................................... 169
Figure 118: Première scène cinématique de transition............................................... 170
Figure 119: Deuxième scène cinématique de transition............................................. 171
Figure 120: Troisième scène cinématique de transition............................................. 172
Figure 121: Quatrième scène cinématique de transition. ........................................... 173
Figure 122: Scène cinématique de fin. ....................................................................... 174
Figure 123: Intégration de l'enregistrement de la voix off sur Audition.................... 177
Figure 124: Normalisation du bruitage moyennant (-3dB). ....................................... 177
Figure 125: Utilisation de la multipiste...................................................................... 178
Figure 126: Diminution de l'amplitude de la voix off. ............................................... 178
Figure 127: Normalisation de la voix off. .................................................................. 179
Figure 128: Application de l'effet égaliseur. .............................................................. 179
Figure 129: Utilisation de l’effet réverbération de la voix off. .................................. 180
Figure 130: Utilisation de l'effet Side Chaine. ........................................................... 180
Figure 131: Utilisation de l'effet 'Fade in - Fade out' ............. 181
Figure 132: Audio Listener - Unity............................................................................ 181
193
Figure 133: Paramétrage du son sur Unity................................................................. 182
Figure 134: Réglages 'Pitch' du son 3D...................................................................... 182
Figure 135: Réglage 'Doppler Level' du son. ............................................................. 183
Figure 136: Fenêtre de 'Quality Settings' et 'Players Settings' ................................... 184
Figure 137: Fenêtre de 'Build Settings'....................................................................... 184
Figure 138: Dossier de l'exportation et l'icône du jeu. ............................................... 185
Figure 139: Chaine YouTube de Beyond Eden.......................................................... 186
Figure 140: Page Facebook de Beyond Eden............................................................. 187
Figure 141: Compte Instagram de Beyond Eden. ...................................................... 187
Liste des Tableaux :
Tableau 1 : les différentes catégories du public cible des jeux vidéo. ......................... 27
Tableau 2 : Backlog du produit. ................................................................................... 53
Tableau 3 : Planning des sprints................................................................................... 54
Tableau 4:Sprite Sheet des ennemies de la cinquième mission. ................................ 135
Tableau 5: Sprite Sheets des personnages non joueurs de la sixième mission........... 141
Tableau 6 : Backlog du sprint 4.................................................................................. 147
Tableau 7 : Backlog du sprint 5.................................................................................. 161
Tableau 8:Backlog du sprint 6.................................................................................... 175
194
Bibliographie :
 Conception, réalisation et évaluation d’un jeu sérieux de stratégie temps réel pour
l’apprentissage des fondamentaux de la programmation, Mathieu Muratet, 2010.
 Mémoire de fin d’étude WizarBox - Université de Strasbourg, 2011.
 Les jeux vidéo comme objet de recherche, Samuel Rufat et Hovig Ter Minassian.
 Le potentiel du jeu vidéo pour l’éducation, Catherine FRÉTÉ - Université de Genève.
 Science-fiction et jeu vidéo, ReS Futurae - Revues.org.
 L’essentiel du jeu vidéo, une industrie culturelle tournée vers le futur - Paris Games Week,
SELL, 2016.
 La planète Mars - Société d'Astronomie de Rennes.
 Tout savoir sur la planète Jupiter - Sciences et avenir.fr.
 Fiche technique : Saturne - Univers-Astronomie.
 Typologie des jeux vidéo, HERMÈS 62, 2012.
 Vocabulaire du jeu vidéo, Yolande Perron - Office québécois de la langue Française, 2012.
 Game Based Learning Apprendre avec les jeux vidéo - educa-Guides, 2016.
 Etat de l’art du jeu vidéo : histoire et usages, Antoine Chollet, Isabelle Bourdon, Florence
Rodhain - Université Montpellier II, 2013.
 Le son dans les jeux vidéo, Cécile de Prado - Ecole Nationale des Jeux et Media Interactifs
Numériques, 2012.
 Les scènes cinématiques dans les jeux vidéo, Analyse sémiotique de quelques formes et
fonctions, Patrick Mpondo-Dicka.
 Jeux vidéo et convivialité narrative, Damien DJAOUTI, Jean-Pierre JESSEL, Gilles METHEL
Pierre MOLINIER.
195
Nétographie :
 http://www.adobe.com/fr/products/illustrator.html (Adobe Illustrator)
 http://www.adobe.com/fr/products/photoshop.html (Adobe Photoshop)
 http://www.adobe.com/fr/products/audition.html (Adobe Audition)
 https://unity3d.com/fr (Unity)
 https://www.senscritique.com/liste/Les_meilleurs_jeux_video_pour_aller_dans_l_espa
ce (Jeux vidéo source d’inspiration)
 http://www.jeuxvideo.com/jeux/pc/00053671-rive.htm (Jeux vidéo Rive)
 http://kingdomrushtd.wikia.com/wiki/Category:Enemies (Jeux vidéo Kingdom Rush)
 https://jeux.developpez.com/tutoriels/ (Tutorials 2D)
 https://gamedevelopment.tutsplus.com/tutorials/creating-isometric-worlds-a-primer-
for-game-developers--gamedev-6511 (Tutorials 2D isométrique)
 http://www.code-couleur.com/signification/ (Significations des couleurs)
 http://www.agiliste.fr/introduction-methodes-agiles/ (Métodologie Scrum)
 http://www.universal-soundbank.com/jeux-videos.htm (Bruitage)
 https://www.youtube.com/watch?v=ZTrrc6Ni5eM (Music du Fond)
 https://fr.pinterest.com/pin/422142165058908817/ (Interface graphique)

Contenu connexe

ODP
Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...
Achraf Frouja
 
PDF
Rapport PFE réalisation d’un Framework Kinect
Amine MEGDICHE
 
PDF
Conception et développement d'une application Android pour TUNISAIR
Skander Driss
 
DOCX
Rapport de projet de fin d’étude
OumaimaOuedherfi
 
DOCX
Rapportpfe
BILEL TLILI
 
DOCX
Rapport de pfe format doc 2013
Addi Ait-Mlouk
 
PDF
Plateforme de gestion des projets de fin d'études
Majdi SAIBI
 
PDF
[PFE] Master - Génie logiciel
Louati Aicha
 
Présentation : Projet de Fin d'etude ' PFE ' 2018 : Conception et Réalisation...
Achraf Frouja
 
Rapport PFE réalisation d’un Framework Kinect
Amine MEGDICHE
 
Conception et développement d'une application Android pour TUNISAIR
Skander Driss
 
Rapport de projet de fin d’étude
OumaimaOuedherfi
 
Rapportpfe
BILEL TLILI
 
Rapport de pfe format doc 2013
Addi Ait-Mlouk
 
Plateforme de gestion des projets de fin d'études
Majdi SAIBI
 
[PFE] Master - Génie logiciel
Louati Aicha
 

Tendances (20)

PDF
Conception et Réalisation Application Web Laravel PFE BTS
FaissoilMkavavo
 
DOCX
Rapport Pfe Application Web e-commerce Symfony2
Ben Abdelwahed Slim
 
PDF
Rapport PFE
IbtissemSlimeni
 
DOCX
Rapport de PFE
Ghizlane ALOZADE
 
PDF
Rapport PFE
oussama Hafid
 
DOCX
Rapport PFE Développent d'une application bancaire mobile
Nader Somrani
 
PDF
Rapport de stage du fin d'étude
Yahyaoui Mohamed Yosri
 
PDF
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
PDF
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Mohammed LAAZIZLI
 
PDF
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Alaaeddine Tlich
 
DOCX
Projet de fin d'etude gestion informatique
jihene Ab
 
PDF
Conception et développement d’une plateforme d'import-export avec paiement en...
Karim Ben Alaya
 
PDF
Rapport pfe talan_2018_donia_hammami
Donia Hammami
 
PDF
Rapport pfe-ayoub mkharbach
Ayoub Mkharbach
 
PDF
ROBOT à base d'Android - Rapport PFE
Houssem Eddine LASSOUED
 
PDF
Conception et développement d'une marketplace basée sur l'architecture micros...
Adem Amen Allah Thabti
 
PDF
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Saadaoui Marwen
 
PDF
Mémoire : Cloud iaas Slim Hannachi
slim Hannachi
 
PDF
Rapport PFE Ilef Ben Slima
Ilef Ben Slima
 
PDF
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Yasmine Lachheb
 
Conception et Réalisation Application Web Laravel PFE BTS
FaissoilMkavavo
 
Rapport Pfe Application Web e-commerce Symfony2
Ben Abdelwahed Slim
 
Rapport PFE
IbtissemSlimeni
 
Rapport de PFE
Ghizlane ALOZADE
 
Rapport PFE
oussama Hafid
 
Rapport PFE Développent d'une application bancaire mobile
Nader Somrani
 
Rapport de stage du fin d'étude
Yahyaoui Mohamed Yosri
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Riadh K.
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Mohammed LAAZIZLI
 
Mise en place d'une Plateforme de Supervision et de Détection d'Intrusion Sys...
Alaaeddine Tlich
 
Projet de fin d'etude gestion informatique
jihene Ab
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Karim Ben Alaya
 
Rapport pfe talan_2018_donia_hammami
Donia Hammami
 
Rapport pfe-ayoub mkharbach
Ayoub Mkharbach
 
ROBOT à base d'Android - Rapport PFE
Houssem Eddine LASSOUED
 
Conception et développement d'une marketplace basée sur l'architecture micros...
Adem Amen Allah Thabti
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Saadaoui Marwen
 
Mémoire : Cloud iaas Slim Hannachi
slim Hannachi
 
Rapport PFE Ilef Ben Slima
Ilef Ben Slima
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Yasmine Lachheb
 
Publicité

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.
  • 117. 117 Quelques exemples des offres de points de maîtrise se présentent dans le code ci- dessous. [Ligne 35 - ligne 42] : Si le joueur arrive à déverrouiller la troisième récompense du système de maîtrise il sera rémunéré par la diminution des points réduits de la jauge de Mana lors d’une attaque. [Ligne 43 – ligne 50] : Si le joueur arrive à déverrouiller la quatrième récompense du système de maîtrise il sera rémunéré par la réduction du temps nécessaire à la réutilisation des armes.  Gestion de système inventaire : Le joueur possède un sac utilisé pour colleter tout inventaire possible comme par exemple du bois, des pierres, des potions etc. [Figure 79] Figure 79: Inventaire de Capitaine Alec.
  • 118. 118 La réalisation de ce système d’inventaire est possible grâce à l’algorithme ‘Inventory.cs’ : [Ligne 82 - ligne 92] : Parcourir les cases de l'inventaire dans le tableau ‘Slots’ pour rechercher s'il existe une case vide et y insérer un item bien déterminé.  Gestion d’argent et boutiques : Le joueur peut gagner de l’argent chaque fois qu’il termine une mission. Ainsi, nous avons mis à sa disposition deux types une boutique spéciale. La première propose des potions qui améliorent la santé, le Mana ou la vitesse du personnage. La deuxième, nommée ‘Weapon Store’ ; offre de nouveaux sorts magiques. La fenêtre suivante s’affiche lorsque le personnage entre en collision avec la boutique à potions.
  • 119. 119 Figure 80: Affichage de la boutique à potions. L’algorithme « ItemPotion.cs » teste, dans la ligne 9, si le joueur possède assez d’argent pour pouvoir acquérir une potion. L’algorithme « PlayerManager » teste, partant de la ligne 204 jusqu’à la ligne 215, les conditions nécessaires pour bénéficier de dix points supplémentaires dans la jauge de Mana.
  • 120. 120  Gestion de sauvegarde : Nous avons utilisé la fonction ‘Playerpref’ prédéfinie sur le moteur de jeux Unity pour sauvegarder tous les caractéristiques du personnage analysés dans les parties précédentes, et ce en adoptant l’algorithme ‘PlayerManager’.
  • 121. 121 2. Création des personnages non joueurs : 2.1 Mission 2 : 2.1.1 Conception et modélisation des ennemies : Dans le but de donner plus de profondeur et de diversité à notre jeu, nous avons opté pour une variété d’ennemis. En réalité, nous avons produit huit adversaires ayant chacun des caractéristiques bien déterminés. En premier lieu, nous commençons par la conception des navires spatiaux opposants. Figure 81: Conceptions des vaisseaux spatiaux adversaires.
  • 122. 122
  • 123. 123
  • 124. 124
  • 125. 125 2.1.2 Intégration et programmation des ennemies : L’intégration des personnages non joueurs de la deuxième mission sollicite certaines étapes sur Unity afin de pouvoir utiliser les modèles réalisés lors de la modélisation. En outre, nous avons commencé par importer tous les Sprites Sheets des vaisseaux spatiaux ennemies sous le format général ‘PNG’. Puis, nous avons adopté l’option ‘Sprtie 2D’. Finalement, nous avons intégré chaque personnage dans un ‘Prefab’ [Figure 82]. Figure 82: Intégrations des navires spatiaux ennemis. Les attaques des neuf navires adversaires se diffèrent. Cependant, et pour des raisons d’optimisation, nous avons eu recours au développement d’un seul algorithme nommé ‘EnemySpaceShip.cs’. Ce dernier manipule tous les ennemies à la fois mais peut distinguer entre eux par leurs noms. En effet, les dénominations des personnages non joueurs partagent le premier mot ‘Enemy’ mais diffèrent par un numéro bien déterminé en terminaison.
  • 126. 126 Etant donné que chaque ennemie possède un mode d’attaque distinct, nous avons réussi à séparer entre les différents projectiles en comptant sur la variable ‘Type’. A cet effet, prenons l’exemple de Hecla, un vaisseau vicieux avec une capacité de se dupliquer en trois copies. Autant dire, dans le code de programmation nous avons référé à Hecla par le nom « Enemy03 » et nous avons lui associé une variable ‘Type’ de valeur ‘2’ qui reflète sa caractéristique de duplication [ligne 131]. Dès qu’une copie du vaisseau de reproduit, nous avons opté pour diminuer son opacité afin d’apparaitre moins claire que l’originale [ligne 136]. Ensuite, nous avons augmenté sa vitesse pour dépasser celle du navire mère [ligne 138 et 139]. Finalement, nous avons alterné la valeur zéro de la variable ‘Type’ en ‘1’ qui annule l’aspect duplicata et le remplace par l’attaque en projectile [ligne 137]. Il est indispensable d’indiquer que cette procédure est répétitive selon le nombre des duplicatas de Hecla.
  • 127. 127 2.2 Mission 4 : 2.2.1 Conception et modélisation des ennemies : L’environnement forestier de la quatrième mission a servi comme inspiration pour la conception des ennemies. De ce fait, nous avons enquêté sur les caractéristiques possibles des créatures habitantes d’un tel milieu. La prochaine étape consistait à croquer les idées initiales sur du papier et étaler quelques variations de tailles et de formes sur les corps des personnages [Figure 83]. Figure 83 : Conception des ennemies de la forêt.
  • 128. 128 Après l’achèvement du développement et la validation des personnages, les croquis étaient ensuite scannés et intégrés sur Adobe Illustrator pour leur reproduction numérique. Dès que le traçage des corps a eu fin nous avons passé à l’étape de coloriage. À l’aide d’une palette prédéfinie et bien étudiée nous avons commencé par remplir les formes de couleurs de base. En clôture, nous avons accentué les reflets de lumières et des ombres. Figure 84 : Les étapes de modélisation des ennemies de la mission 3 et 4.
  • 129. 129
  • 130. 130
  • 131. 131 2.2.2 Intégration et programmation des ennemies : L’intégration des personnages non joueurs de la quatrième mission sollicite quelques étapes obligatoires sur Unity. De ce fait, nous avons commencé par importer tous les Sprites Sheets des ennemis sous le format général ‘PNG’. Puis, nous avons adopté l’option ‘Sprtie 2D’. Figure 85: Intégration du personnage non joueur Shyra. Capitaine Alec doit se défendre contre cinq types d’adversaires. Prenons l’exemple de Shyra pour illustrer une partie de notre programmation, soit l’algorithme ‘Shyramanagement’. En effet, lors de son sommeil, cette créature vilaine passe inaperçue jusqu’à ce qu’une collision entre son ‘Collider’ (présenté par un cercle dans la figure ci-dessus) et celui de l’héro prend place. Cette détection implique une attaque vicieuse relayant sur des projectiles empoisonnés. Shypra possède aussi une capacité aléatoire de se déplacer à la gauche ou à droite. Ainsi, nous avons fixé la variable compteur ‘CountRotate’ et la variable ‘RandomCountRotate’ qui peut prendre une valeur aléatoire entre ‘0’ et ‘700’. Puis, nous avons établi un test où à chaque fois que les deux variables sont égales elles repartent à zéro. En parallèle, la rotation suivant l’axe des Y alterne entre 0 et 180°. En d’autres termes, ce script propose un timing et une rotation aléatoires à notre personnage.
  • 132. 132 2.3 Mission 5 : 2.3.1 Conception et modélisation des ennemies Etant donné que la cinquième mission est de type « Tower Defense » dont l’objectif est d’empêcher le passage des vagues successives d’ennemies, nous avons décidé de modéliser trois types d’ennemis avec de différentes caractéristiques. En premiers lieu, nous débutons par transmettre nos idées sur papier [Figure 86]. Figure 86 : Conception des ennemies de la cinquième mission.
  • 133. 133 Dès la validation des croquis, nous procédons à les scanner et les intégrer sur Adobe Illustrator pour la modélisation. Nous commençons, tout d’abord, par le traçage des corps. Ensuite, nous passons à l’étape de coloriage suivie par l’accentuation des reflets de lumières et des ombres. Figure 87: Etapes de la modélisation des personnages non joueurs de la cinquième mission.
  • 134. 134
  • 135. 135 En ce qui concerne l’animation des ennemies, nous avons reproduit chaque mouvement possible en une image . Le tableau ci-dessous illustre les Sprite Sheet de mouvement de chaque personnage. Tableau 4:Sprite Sheet des ennemies de la cinquième mission. Spritesheet de mouvement de Brigrand Spritesheet de mouvement de Megatroll Spritesheet De Darkzela
  • 136. 136 2.3.2 Intégration et programmation des ennemies : L’intégration des personnages non joueurs de la cinquième mission engage quelques étapes nécessaires sur Unity. En fait, nous avons commencé par importer tous les Sprite Sheets des ennemies sous le format général ‘PNG’. Puis, nous avons adopté l’option ‘Sprtie 2D’[Figure 88]. Par la suite, nous avons fixé tous les animations de chaque mouvement dans ‘Animator’ [Figure 2]. Finalement, nous avons intégré chaque personnage dans un ‘Prefab’. Figure 88: Intégration du personnage non joueur Brigrand. Figure 89: Animation des mouvements de Brigrand sur Animator.
  • 137. 137 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ée pour le passage des ennemies. De ce fait, nous avons opté pour l’algorithme ‘WayPointsManger.cs’ qui assure la gestion du déplacement des adversaires. En effet, nous avons installé des Gameobjects vides toute au long de la trajectoire et ce, pour guider le passage des personnages. Autrement dit, un ennemi est intégré dans la scène à travers un premier Gameobject placé à la porte bleue de l’entrée [Figure 90]. Ensuite, il progresse dans son chemin en suivant, d’une manière successive, le reste des Gameobejcts indiqués par des points rouges sur la figure ci-après. Il est important de signaler que le dépassement du dernier Gameobject implique une réduction dans le HP du village. Figure 90: Insertion des Gameobjects sur la trajectoire du Tower Defense.
  • 138. 138 [Ligne 10 – ligne 16] : Nous avons intégré tous les Gameobjects vides qui manipulent le dépassement des personnages dans un tableau nommé ‘Points’ de type Transform. Pour une explication plus approfondie du concept des Gameobjects vides, nous avons eu recours à l’algorithme ‘Enemynormal.cs’. En premier lieu, nous avons fait appel à une variable nommé ‘Point’ qui prend la valeur de la première case du tableau ‘Points’ existant dans l’algorithme précèdent. Du coup notre variable sera équivalente au premier Gameobject [ligne 12]. Ensuite, nous avons calculé la distance persistante entre cette variable et l’ennemi. Enfin, nous avons exercé une translation de la distance trouvée sur notre personnage [lignes 16 et 17]. Autrement dit, un adversaire présent à l’entrée de la trajectoire sera obligé de suivre le chemin qui mène au premier Gameobject. Le passage à la prochaine position nécessite l’appel de la fonction ‘NextPoint()’ qui incrémente la variable ‘Point’ pour prendre la valeur de la deuxième cases du tableau, ou en autre terme, le deuxième Gameobject [ligne 19 – ligne 22]. Grâce au compteur ‘IndexPoint’ [lignes 36 et 37], cette procédure sera répétitive jusqu’à ce que l’ennemie parcoure toute la trajectoire, ou bien dans le cas où, il est détruit par le joueur.
  • 139. 139 2.4 Mission 6 : 2.4.1 Conception et modélisation des ennemies : Durant notre sixième et dernière mission Capitaine Alec fera face au dernier boss « Kahlan », l’une des ennemies les plus difficiles à affronter. Pour cela, nous avons mené une étude approfondie sur des personnages similaires suivie d’un croquis qui englobe tous nos idées [Figure 91]. Figure 91: Conception de Kahlan.
  • 140. 140 Procédons maintenant à la modélisation de Kahlan moyennant Adobe Illustrator. Nous commençons par le traçage (outlining). Ensuite, nous passons à l’étape de coloriage suivie par l’accentuation du contraste entre lumières et ombres. Figure 92: Modélisation de Kahlan.
  • 141. 141 Pour gérer une animation complexe en 2D nous utilisons, généralement, la méthode animation image par image. Chaque image réfère à un diffèrent moments pendant la vie du Sprite. Le tableau ci-dessous groupe les Sprite Sheets qui exposent les mouvements des personnages non joueurs de la sixième mission. Tableau 5: Sprite Sheets des personnages non joueurs de la sixième mission. Sprite Sheet : Mouvement de Kahlan Sprite Sheet : Bouclier de Kahlan Sprite Sheet : Disparition de Kahlan
  • 142. 142 Sprite Sheet : Brigrand attaque Sprite Sheet : Projectile de Brigrand Sprite Sheet : Megatroll coup de poing 2.4.2 Intégration et programmation des ennemies : L’intégration du personnage non joueur de la sixième mission sollicite quelques étapes obligatoires sur Unity. De cet effet, nous avons commencé par importer tous les Sprites Sheets
  • 143. 143 de notre ennemi Kahlan sous le format général ‘PNG’. Puis, nous avons adopté l’option ‘Sprtie 2D’. Enfin, nous avons fixé tous les animations de chaque mouvement dans ‘Animator’. Figure 93 : intégration de Kahlan dans Unity. Khalan est la vilaine ultime de la planète Gora. Elle sera confrontée par Capitaine Alec lors d’une dernière et cruciale bataille. La grande leadeur des ennemies est considérée la plus puissante et la plus vicieuse avec ses quatre attaques mortelles. Kahlan possède le don du mouvement constant. En fait, ce personnage n’a jamais une position fixe. Elle exerce toujours des déplacements de haut en bas.
  • 144. 144 Cette qualité est reflétée dans l’algorithme ‘Kahlan_Manager.cs’ de la ligne 27 jusqu’à la ligne 39. Autant dire, nous avons tout d’abord fixé une variable ‘Count’ de type entier qui incrémente par 1 continuellement. Puis, nous avons élaboré un teste qui à chaque fois que ‘Count’ est inférieur à 15 notre personnage se déplace vers le haut. De plus, quand la variable est entre 15 et 30, Kahlan effectue un mouvement vers le bas. Pour une valeur de ‘Count’ supérieure à 30 le compteur repart à zéro pour assurer l’animation continue de l’ennemie. Notre personnage possède quatre attaques différentes. Cependant, dans la partie ci- après, nous exposons les deux armes les plus défiantes lors du développement et qui ont exigé, chacune, un script distinct. En premier lieu, Kahlan a la capacité de se défendre par un nombre aléatoire de projectiles (entre 5 et 6) qui tournent autour d’elle et attaquent l’héro une fois qu’ils le détectent.
  • 145. 145 Figure 94: Réalisation des mouvements circulaires des projectiles. Afin de réaliser le mouvement circulaire des projectiles, nous avons eu recours à des Gameobjects vides pour guider le déplacement des balles. Ces dernières utilisent la fonction ‘Physics2D.Raycast’ pour éjecter des rayons qui attaquent Capitaine Alec s’ils coïncident avec le Gameobject ‘Player’. En deuxième lieu, la vilaine dispose la compétence de se défendre à travers des rayons massifs en laser sous forme de quatre flèches qui effectuent une rotation continue. Figure 95: Réalisation du projectile à rayons de laser.
  • 146. 146 Cette circulation peut prendre deux sens de rotation (sens des aiguilles d’une montre ou le sens inverse) et changer de mouvement trois fois ce qui implique une probabilité de 23 = 8 mouvements possibles. Cette procédure est illustrée dans le code à travers la création de trois variables de type entier; ‘Rondom1’, ‘Random2’ et ‘Random3’. Ces derniers peuvent prendre, aléatoirement, la valeur ‘0’ qui reflète le sens de rotation des aiguille d’une montre ou la valeur ‘1’ qui coïncide avec le sens inverse. De plus, les mouvements circulaires de cette arme détiennent un timing intégré dans les variables ‘CountRotate1’, ‘CountRotate2’ et ‘CountRotate3’ aptes de prendre une valeur aléatoire entre 400 et 600. En d’autres termes, notre code n’attribut aucune possibilité de reproduction à cette attaque. L’algorithme principal ‘BigBoss_Manager.cs’ manipule l’activation aléatoire des armes de Kahlan et assure un temps d’arrêt de cinq secondes entre les attaques. Pour cela, nous avons fixé deux variables de type entier ; ‘TypeSpell’ qui contrôle les choix aléatoires des armes et ‘TimeSpell’ qui précise la durée nécessaire de chaque attaque.
  • 147. 147 Sprint 4 : Création de la charte graphique : Introduction : Ce volet marquera la finalisation du projet. A ce niveau, nous avons effectué une mise en place solide des différents components du jeu et assuré la stabilité de l’environnement, des personnages et des missions. Il est donc temps d’établir la connexion et générer les interfaces. Tableau prévisionnelle du sprint :  Date début du sprint : 18 Avril 2017.  Date fin du sprint : 27 Avril 2017.  Temps estimé en heures : 100 heures.  Echelle de mesures : Une journée est équivalente à 10 heures de travail : (De 8h à 13h - - de 14h à 19h). Tableau 6 : Backlog du sprint 4. User stories Taches Temps 18 19 20 21 22 23 24 25 26 27 Création Logo Recherche pour l’inspiration des logos 2h 0 0 0 0 0 0 0 0 0 0 Design du logo 10h 2 0 0 0 0 0 0 0 0 0 Création des menus Conception graphique des menus 20h 20 12 2 0 0 0 0 0 0 0 Programation du menus 20h 20 20 20 12 2 0 0 0 0 0 Creations des interfaces du jeux Design des GUI 20h 20 20 20 20 20 12 2 0 0 0 Integration et developpement des GUI 20h 20 20 20 20 20 20 20 12 2 0 Rédaction rapport Rédaction rapport Des Logo UIet menus 8h 8 8 8 8 8 8 8 8 8 0
  • 148. 148 1. Le logo : Etant le premier élément d’identification visuel de notre projet, le logo engendre une partie intégrante de notre stratégie de communication. En effet, il a pour rôle de séduire, valoriser et même refléter l’idée globale du jeu. Dès qu’une recherche sur les différentes typographies, pictogrammes, couleurs et mouvements a été effectuée nous débutons la conception ainsi que la création du logotype. Figure 96 : conception du logo. Nous procédons, ensuite, à la modélisation des croquis pour enfin livrer le résultat final.
  • 149. 149 Figure 97:Modélisation et choix final du logo.
  • 150. 150  Analyse du logo : Pour des raisons de cohérence avec le thème et la charte graphique du jeu, le logo doit refléter, à première vue, l’aspect numérique et digital. D’où le recours à la typographie ‘Hacked’ ; une police d’écriture qui incarne la faille et l’ambiguïté. L’arrière-plan en carreaux, rappelant les interfaces des anciennes consoles de gaming, reflète en effet le système solaire et les planètes à découvrir durant notre parcours dans « Beyond Eden ». Concernant le choix de couleurs nous avons eu recours principalement à trois ; Le noir, cette couleur prestigieuse, a était utilisée dans le but d’exprimer l’espacement et le vide. Le cyan, qui évoque le sentiment de voyage et de de rêverie, marque à son tour l’aventure que Capitaine Alec doit surmontée. Et pour finir, nous ramenons un peu de vie à notre logo à travers une touche de rouge la couleur de sang, source de vie et résultat de tout combat. 2. Conception et création des GUIs : Dans cette partie nous nous intéressons aux éléments des interfaces du jeu qui incluent quatre types :  Menu Principal (Main Menu) : C’est le premier menu qui s’affiche dans le jeu permettant au joueur d’accéder à une mission, modifier les paramètres ou s’introduire aux les instructions.  Menu Pause (Resume Menu) : C’est le deuxième menu du jeu. Il attribue au joueur la possibilité de prendre une pause durant une mission ou de retourner au menu principal dans le but de quitter le jeu.  Menu Rejouer (Replay Menu) : C’est le troisième menu du jeu. Il s’affiche quand le joueur échoue une mission en lui permettant soit de la répéter ou de retourner au menu principal.  Fenêtre du jeu : C’est l’interface qui s’affiche au cours du jeu offrant au joueur tous les informations nécessaires sur le gameplay de la mission. Les GUIs de la fenêtre de jeu se diffèrent d’une page à une autre selon les besoins qui se présentent lors d’une mission.
  • 151. 151 2.1 Interface du Menu Principal : Le menu principal présente l’interface la plus importante du jeu. Il arrange en effet les options offertes à l’utilisateur. D’ailleurs, le joueur aura à choisir entre commencer une partie, régler les paramètres, lire les instructions ou quitter le jeu. [Figure 98] Pour avoir une interface équilibrée nous avons opté pour une organisation cohérente des composants graphiques :  En arrière-plan, le fond est soumis à un effet de vitesse dans le but de donner une impression de mouvement.  Le bouton « Play » : Permet de commencer une partie.  Bouton « Instructions » : Permet d’afficher les détails de la manipulation du jeu.  Bouton « Option » : Donne l’accès à un sous menu permettant d’alterner les paramètres sonores.  Bouton « Quitter » : Permet d’abandonner complètement le jeu. Figure 98: Maquette de l'interface du menu principal.
  • 152. 152 Figure 99: Interface du menu principal. Figure 100 : Interface des options. Figure 101:Interface des instructions.
  • 153. 153 2.2 Interface du Menu Pause : Le menu Pause est affiché au centre de l’écran lors d’une suspension du jeu. Il contient les boutons suivants :  Bouton « Resume » : Reprendre la mission là où le joueur a pris une pause.  Bouton « Main Menu » : Retourner à la page du menu principal. Figure 102 : Maquette de l’interface du menu Pause. Figure 103: Menu Pause.
  • 154. 154 2.3 Interface Game Over: Cette interface s’affiche lorsque le joueur échoue une mission. Elle se compose principalement des deux boutons suivants :  Bouton « Replay » : Rejouer la partie.  Bouton « Main Menu » : Retourner à la page du menu principal. Figure 104: Maquette de Menu 'Game Over'. Figure 105: Menu Game Over.
  • 155. 155 2.4 Intégration des menus : Les interfaces graphiques de notre jeu se composent principalement de fenêtres, icônes, menus et boutons. Ces derniers ont nécessité, lors du développement, 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 GUI. La création d’une interface graphique se réalise grâce à un Gameobject de type UI dans lequel nous intégrons les images et les textes y correspondants. Figure 106:intégration du Menu principal dans Unity. Prenons l’exemple du menu ‘Setting’ comme aperçu de la programmation effectuée sur Unity. En effet, ce menu couvre le paramétrage sonore du jeu. Sa réalisation à exiger la création de la procédure ‘Setting’ dans l’algorithme « Menumanager ».
  • 156. 156 [Ligne 64 – ligne71] : Tout les Gameobjects du Canvas prennent ‘Setactive(false)’ qui implique leur désactivation sauf le Gameobject du menu ‘Setting’ qui s’active grâce à ‘Setactive(true)’. L’illustration ci-dessous reflète le résultat du code du menu ‘Setting’. Figure 107: Intégration du menu 'Setting' Il est indispensable d’indiquer que l’utilisation de la fonction ‘Application.LoadLevel()’ guide le joueur vers une nouvelle scène tout à fait différente. Autant dire, quand il sélectionne le menu ‘Play’, il sera dirigé vers la scène de la première mission du jeu.
  • 157. 157 2.5 Interfaces du jeu : Notre jeu comporte des différentes missions ainsi que des environnements distincts. De ce fait, ses interfaces varient avec les changements et les besoins de chaque mission. En effet, nous avons débuté par la réalisation des multiples éléments composant ces pages de jeu. Par la suite, nous avons passé à la conception des maquettes contenant toutes les informations nécessaires du gameplay. Enfin, nous avons procédé à la modélisation finale. Les figures ci-après disposent les résultats obtenus. Figure 108: Maquette et interface de la 2ème mission.
  • 158. 158 Figure 109: Boutons, maquette et interfaces de la 3ème et 4ème mission.
  • 159. 159 Figure 110: Boutons, maquette et interfaces de la 5ème mission
  • 161. 161 Sprint 5 : création des cinématiques : 1. Tableau prévisionnelle du sprint :  Date début du sprint : 28 Avril 2017.  Date fin du sprint : 7 Mai 2017.  Temps estimé en heures : 100 heures.  Echelle de mesures : Une journée est équivalente à 10 heures de travail : (De 8h à 13h - - de 14h à 19h). Tableau 7 : Backlog du sprint 5. User stories Taches Temp s 2 8 2 9 3 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 Creation des Cinematique Creation des quatre cinematique 50 4 0 3 0 2 0 1 0 0 0 0 0 0 0 Intergration des quatre cinematique 50 5 0 5 0 5 0 5 0 5 0 4 0 3 0 2 0 1 0 0
  • 162. 162 2. Création de la cinématique : Le jeu vidéo repose sur une communication écrite visuelle et sonore. Il emprunte à d’autres arts certaines lois signifiantes, en particulier au cinéma, dont il est très proche. En effet, la cinématique dans notre jeu, se présente, en premier lieu, sous forme de séquence animée. Au cours de cette dernière, le joueur est introduit à l’univers du jeu, le scénario et le personnage. En deuxième lieu, la cinématique assure la transition entre deux phases du jeu, particulièrement entre les missions se déroulant dans l’espaces et celles dans la planète Gora. Enfin, elle permet de clôturer les évènements du scénario en se présentant à la fin du jeu.  Cinématique de l’intro du jeu : Pour accomplir la cinématique de l’histoire du jeu, nous avons, tout d’abord, eu recours à un enregistrement voix off du scénario. Puis, nous avons planifié la compil de scènes cinématiques de l’intro relayant sur la réalisation de dessins représentatifs des moments de pique dans le scénario. Les dessins sont, ensuite, scannés et importés sur Adobe Photoshop pour la finalisation et l’application des effets esthétiques suivants :  Corriger les problèmes d’exposition afin d’améliorer et réparer les couleurs.  Procéder au réglage Courbes ; changer la position des points dans la gamme de tons d’une image pour réparer sa tonalité et donner encore plus de valeur aux traits noirs.  Application du filtre artistique pastel.  Ajout des bordures et des éléments de style « Comics Books ». Nous introduisons ci-après les illustrations des dessins avant et après les modifications.
  • 163. 163 Figure 111: Première scène cinématique de l'intro.
  • 164. 164 Figure 112: Deuxième scène cinématique de l'intro.
  • 165. 165 Figure 113: troisième scène de la cinématique de l’intro.
  • 166. 166 Figure 114: Quatrième scène de la cinématique de l'intro.
  • 167. 167 Figure 115: Cinquième scène cinématique de l'intro.
  • 168. 168 Figure 116: Sixième scène cinématique de l'intro.
  • 169. 169 Figure 117: Septième scène cinématique de l'intro.
  • 170. 170  Cinématique de transition : La cinématique continue à guider l’histoire du jeu et ce en justifiant la transition entre un gameplay dans l’espace ouvert à un autre se déroulant dans un nouveau système solaire et plus particulièrement sur la planète Gora. Figure 118: Première scène cinématique de transition.
  • 171. 171 Figure 119: Deuxième scène cinématique de transition.
  • 172. 172 Figure 120: Troisième scène cinématique de transition.
  • 173. 173 Figure 121: Quatrième scène cinématique de transition.
  • 174. 174  Cinématique de Fin : Le personnage joueur achève toutes les missions et réussi à défendre le village d’Adobe. A ce niveau, une cinématique prend place pour cloturer le premier chapitre de « Beyon Eden, The Star of Gora ». Figure 122: Scène cinématique de fin.
  • 175. 175 Sprint 6 : Achèvement du projet : 1. Tableau prévisionnelle du sprint :  Date début du sprint : 8 Avril 2017.  Date fin du sprint : 16 Mai 2017.  Temps estimé en heures : 90 heures.  Echelle de mesures : Une journée est équivalente à 10 heures de travail : (De 8h à 13h - - de 14h à 19h). Tableau 8:Backlog du sprint 6. User stories Taches Temp s 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 Ajout de la Musique Recherche des Sons 20 1 0 0 0 0 0 0 0 0 0 Intégration des effets sonores 20 2 0 2 0 1 0 0 0 0 0 0 0 Intégration de la musique de fond 20 2 0 2 0 2 0 2 0 1 0 0 0 0 0 Evaluation du projet 10 1 0 1 0 1 0 1 0 1 0 1 0 0 0 Rédaction rapport Redaction du sprint 6 20 2 0 2 0 2 0 2 0 2 0 2 0 2 0 1 0 0
  • 176. 176 3. Conception sonore : L’ambiance sonore est indispensable dans un jeu vidéo puisqu’elle valorise et améliore l’expérience du gameplay. En effet, la bande son présente un facteur essentiel de l’immersion dans un univers divertissant. Vu son importance, nous avons accordé largement du temps dans d’écoute et la recherche d’une compilation sonore se composant de morceaux de musique du fond, voix off, bruitage, effet sonore spéciaux etc. Ces derniers, se marient avec le thème, le style et l’époque de notre jeu. En premier temps, nous avons opté pour l’enregistrement d’une ‘voix off’ racontant l’histoire du scénario de la cinématique. Puis nous l’avons traité sur le logiciel ‘Adobe Audition CS 6’. En effet, Adobe Audition est un programme d'édition audio numérique développé par ‘Adobe System’. Il est considéré un enregistreur audio, un mélangeur et un éditeur multipiste pour Windows. Lorsqu'il est utilisé avec une carte son Windows, le programme fournit une expérience complète de studio d'enregistrement numérique à l'ordinateur de l'utilisateur. Le programme offre un flux de travail flexible et il est utilisé pour produire de la musique, des émissions de radio ou de l'audio pour la vidéo. La procédure du traitement sonore sollicite principalement les neuf étapes ci-après.
  • 177. 177  1ère Etape : Figure 123: Intégration de l'enregistrement de la voix off sur Audition. Nous avons tout d’abord commencé par introduire l’enregistrement voix off dans le logiciel afin d’éliminer le bruitage, normaliser le son, intégrer des effets sonores et ajouter une musique du fond cohérente avec les paroles. Nous avons, en effet, eu recours à une séquence de la musique instrumentale « The Last Butterfly » élaborée par la chaine YouTube musicale « Wodkah ».  2ème Etape : Figure 124: Normalisation du bruitage moyennant (-3dB). Nous avons, ensuite, exploré un bruitage convenable à la musique du fond. Puis, nous avons normalisé le bruitage (-3 dB) et coupé seulement les parties nécessaires.
  • 178. 178  3ème Etape : Figure 125: Utilisation de la multipiste. Dans cette étape, nous avons opté pour une multipiste permettant de fusionner la music du fond, les paroles de la voix off et le bruitage.  4ème Etape : Figure 126: Diminution de l'amplitude de la voix off. Une amplitude de courbe très élevée implique un son très saturé. Dans ce cas, la quatrième étape consiste à diminuer l’amplitude de la voix off.
  • 179. 179  Etape 5 : Figure 127: Normalisation de la voix off. La cinquième étape comprend la normalisation de la voix off en -3 dB.  6ème Etape : Figure 128: Application de l'effet égaliseur. Dans cette étape, nous avons appliqué l’effet égaliseur qui permet de filtrer ou d'amplifier différentes bandes de fréquences composant un signal audio.
  • 180. 180  7ème Etape : Figure 129: Utilisation de l’effet réverbération de la voix off. La septième étape expose l’utilisation de l’effet réverbération de la voix off. Ce dernier crée l'impression auditive d'espace et augmente l'impression de volume sonore.  8ème Etape : Figure 130: Utilisation de l'effet Side Chaine. La présence d’une parole et d’une music du fond à la fois implique l’utilisation obligatoire de l’effet de traitement dynamique ‘Side Chaine’. A savoir, dans le cas où la parole s’arrête, la music du fond aura tendance à hausse. De ce fait, nous avons intégré cette option.
  • 181. 181 9ème Etape : Figure 131: Utilisation de l'effet 'Fade in - Fade out' La neuvième étape consiste à l’adaptation de l’effet ‘Fade in’ et ‘Fade out’ pour les bruitages, la voix off et la music du fond. La dernière mesure admet l’exportation de la multipiste en mp3.  Intégration sonore sur Unity : Pour l’intégration du son, Unity nous a servi deux classes. Premièrement, « AudioListener », est un composant de la caméra que le logiciel représente comme étant l’oreille qui écoute les sons produits pendant l’exécution du jeu [Figure132]. Deuxièmes, et la classe « Audio Source» qui produit les sons [Figure133]. Figure 132: Audio Listener - Unity.
  • 182. 182 Figure 133: Paramétrage du son sur Unity. Dès que les sons sont prêts, nous les importons et les configurons selon leur utilisation. Il existe le type de son : « son 3D » dont le volume dépend de la distance. Dans ce cas nous avons régler la valeur de « pitch » pour le son à différentes valeurs en utilisant le même fichier audio. Figure 134: Réglages 'Pitch' du son 3D.
  • 183. 183 Pour avoir un effet plus réaliste nous avons modifié les valeurs de « doppler Level » qui désigne le décalage de fréquence [Figures 135]. Figure 135: Réglage 'Doppler Level' du son.
  • 184. 184 4. Exportation du projet : Pour créer l’exécutable il faut réaliser une suite de réglages. Après avoir clôturé le développement de jeu, nous procédons à l’exportation de l’exécutable. Nous débutons par les réglages des paramètres des fenêtres « Player Settings » et « Quality Settings » afin de définir les qualités du rendu. Figure 136: Fenêtre de 'Quality Settings' et 'Players Settings' Finalement nous exportons notre jeu avec la fenêtre « Build Settings » qui sert à mettre les scènes à exporter à l’ordre ainsi que la Platform choisi dans notre cas « Pc, Mac& Linux Standlone ». Figure 137: Fenêtre de 'Build Settings'.
  • 185. 185 Notre jeu a été exporté et l’aventure commence. Figure 138: Dossier de l'exportation et l'icône du jeu.
  • 186. 186 5. Publication du jeu : Aujourd’hui, les réseaux sociaux offrent de grandes opportunités marketing. De cet effet, la présence de notre jeu en ligne est un élément incontournable de notre stratégie. La croissance spectaculaire des abonnées aux réseaux sociaux a un rôle énorme dans la communication et le transfert de l’information. Ainsi, nous avons décidé de publier notre projet et de contacter virtuellement notre public cible à travers :  YouTube : YouTube est un réseau social très différent de ses compatriotes. Il est, en effet, beaucoup plus qu’un simple endroit pour diffuser des vidéos sur Internet. Il présente une communauté admettant des millions d’internautes. Le site est, aussi, un réseau social où il est possible d’acquérir des abonnés et d’échanger avec les utilisateurs. A ce propos, nous l’avons choisi pour publier un teaser du jeu afin d'inciter le public à le tester. Figure 139: Chaine YouTube de Beyond Eden.  Facebook : Un réseau social en ligne qui permet à ses utilisateurs de publier du contenu, d'échanger des messages et d'utiliser une variété d’applications. Ce site, en à peine cinq ans, a atteint 800 millions d’utilisateurs, Nous avons créé une page Facebook nommée « Beyond Eden, The Star of Gora », contenant le logo, l’affiche et les informations général du jeu.
  • 187. 187 Figure 140: Page Facebook de Beyond Eden.  Instagram : L’Instagram est une application de partage de photos et de vidéos disponibles sur plates-formes mobiles. Il possède, en effet, une base d’utilisateurs qui ne cesse de croître pour atteindre plus de 400 millions d’utilisateurs. Instagram est aussi le réseau social affichant la plus forte croissance dans le monde. Pour cela, nous avons eu recours à cette application pour introduire notre jeu à notre marché cible. Figure 141: Compte Instagram de Beyond Eden.
  • 188. 188 Conclusion : 1. Bilan du projet : Notre projet reflète une expérience très importante au cours de laquelle nous avons pu développer plusieurs acquis et assimiler une variété de techniques. En effet, le développement d’un projet de jeu vidéo constitue une tâche ardue car elle sollicite beaucoup de vérifications, d’études et d’essais pour survenir à un résultat final d’une qualité décente. Sous ce rapport, les délais ont été respectés et le produit final est fonctionnel ce qui implique l’atteinte de nos objectifs. En outre, l’utilisation de la méthodologie Scrum nous a autorisé de valider l’attente d’un processus de travail professionnel. Finalement, la réalisation de ce projet au sein d’une société nous a introduit au monde professionnel ainsi que l’importance de la gestion des tâches pour répondre aux besoins des utilisateurs. 2. Bilan personnel : Avant l’achèvement de notre projet, nos connaissances techniques étaient relativement insuffisantes. De ce fait, nous avons eu recours, en premier lieu, à un nombre important de cours et de tutoriels pour réussir l’aspect graphique. Ensuite, nous nous sommes trouvés devant l’obligation de mener des recherches et d’apprendre de nouvelles méthodes et techniques de développement afin de confronter les difficultés rencontrées au niveau de la programmation. Enfin, à travers ce document, nous avons eu la chance de développer nos compétences de rédaction ainsi que de gestion de tâches. 3. Perspectives : Ce travail a renforcé notre motivation à travailler dans le domaine du jeu vidéo. Il a également instauré notre esprit du partage et de groupe. Nous souhaitons ainsi :  Réaliser une version mobile du « Beyond Eden, Star of Gora ».  Continuer à développer d’autres stages.  Entrer en coopération dans le développement d’autres projets de jeux vidéo.
  • 189. 189 Liste des Figures : Figure 1 : le Jeu vidéo 2D, Shank................................................................................. 15 Figure 2 : Le jeu 2.5D, Assassin’s Creed Chronicles................................................... 15 Figure 3 : Le jeu 2D isométrique, Crafton & Xunk. .................................................... 16 Figure 4 : Le jeu 3D, Horizon Zero Dawn. .................................................................. 16 Figure 5 : Le jeu d’action, Battlefield. ......................................................................... 17 Figure 6 : Assassin’s Creed Syndicate. ........................................................................ 17 Figure 7 : Final Fantasy Online: Realm Reborn.......................................................... 18 Figure 8 : OwlBoy........................................................................................................ 18 Figure 9 : Age Of Empires. .......................................................................................... 19 Figure 10 : Call of Duty Apocalypse............................................................................ 19 Figure 11 : Sims............................................................................................................ 20 Figure 12 : Fifa 17. ....................................................................................................... 20 Figure 13 : Need For Speed.......................................................................................... 21 Figure 14 : Resident Evil 7........................................................................................... 21 Figure 15 : Mind: Path to Thalamus............................................................................. 22 Figure 16 : Far Cry Primal............................................................................................ 23 Figure 17 : League of Legends..................................................................................... 23 Figure 18 : Counter Strike. ........................................................................................... 24 Figure 19 : Heroes of the Storm. .................................................................................. 24 Figure 20: Mass Effect 4: New Age............................................................................. 25 Figure 21 : GTA V. ...................................................................................................... 25 Figure 22 : Bilan et Choix du jeu. ................................................................................ 28 Figure 23 : Le Jeu d’inspiration, Wakfu....................................................................... 29 Figure 24 : les différent univers de Wakfu................................................................... 30 Figure 25 : Style graphique du jeu Wakfu.................................................................... 30 Figure 26 : Le jeu d’inspiration, Rive. ......................................................................... 31 Figure 27 : GUI du jeu Rive......................................................................................... 32 Figure 28 : Les différentes attaques du vaisseau spatial............................................... 32 Figure 29 : Le jeu d’inspiration, EITR. ........................................................................ 33 Figure 30: scène de bataille, Eitr. ................................................................................. 34 Figure 31: Scénario du jeu............................................................................................ 37 Figure 32: Schéma de navigation. ................................................................................ 38
  • 190. 190 Figure 33: diagramme de cas d'utilisation générale. .................................................... 39 Figure 34 : Diagramme de cas d’utilisation détaillée................................................... 40 Figure 35: Diagramme de conception des objets. ........................................................ 43 Figure 36: Diagramme d’activité du jeu....................................................................... 45 Figure 37: Diagramme de séquence globale. ............................................................... 46 Figure 38: Diagramme de séquence détaillé. ............................................................... 47 Figure 39 : Diagramme d'activité de l’intelligence artificielle..................................... 48 Figure 40 : Cycle de vie d'un produit par la méthodologie de Scrum.......................... 51 Figure 41: L’équipe Scrum........................................................................................... 52 Figure 42 : Représentation des images de référence et des croquis ............................. 65 Figure 43: Modélisation des objets de l'environnement avec Illustrator...................... 66 Figure 44 : Sprite Sheet des planètes............................................................................ 67 Figure 45: intégration des objets sur Unity. ................................................................. 67 Figure 46: Hiérarchie du QCM sur Unity..................................................................... 68 Figure 47 : Etapes de création de l’arrière-plan. .......................................................... 70 Figure 48 : intégration de l'arrière-plan........................................................................ 71 Figure 49: conception de l'environnement. .................................................................. 72 Figure 50 : Utilisation de la grille isométrique pour la modélisation du décor botanique. .................................................................................................................................................. 73 Figure 51: Composants de L'environnement des Missions 3 et 4. ............................... 74 Figure 52 : Modélisation des bâtiments moyennant l'outil grille de perspective. ........ 75 Figure 53:Composition et architecture finale du village. ............................................. 76 Figure 54 : Intégration des éléments du village dans Unity. ........................................ 77 Figure 55 : Enregistrement des Prefabs dans Unity. .................................................... 78 Figure 56 : tests des différents pourcentages de ‘void randomFillPercent’................. 80 Figure 57 : illustration de la fonction ‘NbreDeVoisin’................................................. 82 Figure 58 : Comparaison entre une forêt avec et sans Cellular Automate. .................. 82 Figure 59 : insertion des éléments de décoration du village dans un tableau............... 83 Figure 60: Conception des tourelles............................................................................. 85 Figure 61 : Les résultats finals de la modélisation de l’environnement....................... 86 Figure 62 : Les caractéristiques des différentes tourelles............................................. 87 Figure 63: Résultat de l’algorithme ‘TowerDefanceManager’.................................... 89 Figure 64: intégrations des trois types de tourelles. ..................................................... 91 Figure 65 : Scène de la mission finale.......................................................................... 93
  • 191. 191 Figure 66 : Conception de Thunderbird ....................................................................... 99 Figure 67 : résultat final de la modélisation de Thunderbird. .................................... 100 Figure 68 : Caractéristiques des armes de Thunderbird. ............................................ 101 Figure 69: L’option Sprite 2D. ................................................................................... 102 Figure 70: Gameobjects vides pour l’insertion des armes.......................................... 103 Figure 71: Résultat du code de Spell 07..................................................................... 106 Figure 72 : Conception du personnage (CapitaineAlec). ........................................... 107 Figure 73 : Etapes de la modélisation de Capitaine Alec........................................... 108 Figure 74: Intégration du Capitane Alec. ................................................................... 111 Figure 75: Animation des mouvements de Capitaine Alec sur Animator................. 112 Figure 76: GUI du capitaine Alec. ............................................................................. 112 Figure 77: Illustration des armes disponibles chez Capitaine Alec............................ 114 Figure 78: Hiérarchie de points de maîtrises.............................................................. 116 Figure 79: Inventaire de Capitaine Alec..................................................................... 117 Figure 80: Affichage de la boutique à potions. .......................................................... 119 Figure 81: Conceptions des vaisseaux spatiaux adversaires. ..................................... 121 Figure 82: Intégrations des navires spatiaux ennemis................................................ 125 Figure 83 : Conception des ennemies de la forêt. ...................................................... 127 Figure 84 : Les étapes de modélisation des ennemies de la mission 3 et 4................ 128 Figure 85: Intégration du personnage non joueur Shyra. ........................................... 131 Figure 86 : Conception des ennemies de la cinquième mission................................. 132 Figure 87: Etapes de la modélisation des personnages non joueurs de la cinquième mission. .................................................................................................................................. 133 Figure 88: Intégration du personnage non joueur Brigrand. ...................................... 136 Figure 89: Animation des mouvements de Brigrand sur Animator. .......................... 136 Figure 90: Insertion des Gameobjects sur la trajectoire du Tower Defense............... 137 Figure 91: Conception de Kahlan............................................................................... 139 Figure 92: Modélisation de Kahlan. ........................................................................... 140 Figure 93 : intégration de Kahlan dans Unity. ........................................................... 143 Figure 94: Réalisation des mouvements circulaires des projectiles. .......................... 145 Figure 95: Réalisation du projectile à rayons de laser................................................ 145 Figure 96 : conception du logo................................................................................... 148 Figure 97:Modélisation et choix final du logo. .......................................................... 149 Figure 98: Maquette de l'interface du menu principal................................................ 151
  • 192. 192 Figure 99: Interface du menu principal. ..................................................................... 152 Figure 100 : Interface des options. ............................................................................. 152 Figure 101:Interface des instructions. ........................................................................ 152 Figure 102 : Maquette de l’interface du menu Pause................................................. 153 Figure 103: Menu Pause............................................................................................. 153 Figure 104: Maquette de Menu 'Game Over'. ............................................................ 154 Figure 105: Menu Game Over.................................................................................... 154 Figure 106:intégration du Menu principal dans Unity. .............................................. 155 Figure 107: Intégration du menu 'Setting' .................................................................. 156 Figure 108: Maquette et interface de la 2ème mission................................................. 157 Figure 109: Boutons, maquette et interfaces de la 3ème et 4ème mission. .................... 158 Figure 110: Boutons, maquette et interfaces de la 5ème mission................................. 159 Figure 111: Première scène cinématique de l'intro..................................................... 163 Figure 112: Deuxième scène cinématique de l'intro................................................... 164 Figure 113: troisième scène de la cinématique de l’intro........................................... 165 Figure 114: Quatrième scène de la cinématique de l'intro. ........................................ 166 Figure 115: Cinquième scène cinématique de l'intro. ................................................ 167 Figure 116: Sixième scène cinématique de l'intro...................................................... 168 Figure 117: Septième scène cinématique de l'intro. ................................................... 169 Figure 118: Première scène cinématique de transition............................................... 170 Figure 119: Deuxième scène cinématique de transition............................................. 171 Figure 120: Troisième scène cinématique de transition............................................. 172 Figure 121: Quatrième scène cinématique de transition. ........................................... 173 Figure 122: Scène cinématique de fin. ....................................................................... 174 Figure 123: Intégration de l'enregistrement de la voix off sur Audition.................... 177 Figure 124: Normalisation du bruitage moyennant (-3dB). ....................................... 177 Figure 125: Utilisation de la multipiste...................................................................... 178 Figure 126: Diminution de l'amplitude de la voix off. ............................................... 178 Figure 127: Normalisation de la voix off. .................................................................. 179 Figure 128: Application de l'effet égaliseur. .............................................................. 179 Figure 129: Utilisation de l’effet réverbération de la voix off. .................................. 180 Figure 130: Utilisation de l'effet Side Chaine. ........................................................... 180 Figure 131: Utilisation de l'effet 'Fade in - Fade out' ............. 181 Figure 132: Audio Listener - Unity............................................................................ 181
  • 193. 193 Figure 133: Paramétrage du son sur Unity................................................................. 182 Figure 134: Réglages 'Pitch' du son 3D...................................................................... 182 Figure 135: Réglage 'Doppler Level' du son. ............................................................. 183 Figure 136: Fenêtre de 'Quality Settings' et 'Players Settings' ................................... 184 Figure 137: Fenêtre de 'Build Settings'....................................................................... 184 Figure 138: Dossier de l'exportation et l'icône du jeu. ............................................... 185 Figure 139: Chaine YouTube de Beyond Eden.......................................................... 186 Figure 140: Page Facebook de Beyond Eden............................................................. 187 Figure 141: Compte Instagram de Beyond Eden. ...................................................... 187 Liste des Tableaux : Tableau 1 : les différentes catégories du public cible des jeux vidéo. ......................... 27 Tableau 2 : Backlog du produit. ................................................................................... 53 Tableau 3 : Planning des sprints................................................................................... 54 Tableau 4:Sprite Sheet des ennemies de la cinquième mission. ................................ 135 Tableau 5: Sprite Sheets des personnages non joueurs de la sixième mission........... 141 Tableau 6 : Backlog du sprint 4.................................................................................. 147 Tableau 7 : Backlog du sprint 5.................................................................................. 161 Tableau 8:Backlog du sprint 6.................................................................................... 175
  • 194. 194 Bibliographie :  Conception, réalisation et évaluation d’un jeu sérieux de stratégie temps réel pour l’apprentissage des fondamentaux de la programmation, Mathieu Muratet, 2010.  Mémoire de fin d’étude WizarBox - Université de Strasbourg, 2011.  Les jeux vidéo comme objet de recherche, Samuel Rufat et Hovig Ter Minassian.  Le potentiel du jeu vidéo pour l’éducation, Catherine FRÉTÉ - Université de Genève.  Science-fiction et jeu vidéo, ReS Futurae - Revues.org.  L’essentiel du jeu vidéo, une industrie culturelle tournée vers le futur - Paris Games Week, SELL, 2016.  La planète Mars - Société d'Astronomie de Rennes.  Tout savoir sur la planète Jupiter - Sciences et avenir.fr.  Fiche technique : Saturne - Univers-Astronomie.  Typologie des jeux vidéo, HERMÈS 62, 2012.  Vocabulaire du jeu vidéo, Yolande Perron - Office québécois de la langue Française, 2012.  Game Based Learning Apprendre avec les jeux vidéo - educa-Guides, 2016.  Etat de l’art du jeu vidéo : histoire et usages, Antoine Chollet, Isabelle Bourdon, Florence Rodhain - Université Montpellier II, 2013.  Le son dans les jeux vidéo, Cécile de Prado - Ecole Nationale des Jeux et Media Interactifs Numériques, 2012.  Les scènes cinématiques dans les jeux vidéo, Analyse sémiotique de quelques formes et fonctions, Patrick Mpondo-Dicka.  Jeux vidéo et convivialité narrative, Damien DJAOUTI, Jean-Pierre JESSEL, Gilles METHEL Pierre MOLINIER.
  • 195. 195 Nétographie :  http://www.adobe.com/fr/products/illustrator.html (Adobe Illustrator)  http://www.adobe.com/fr/products/photoshop.html (Adobe Photoshop)  http://www.adobe.com/fr/products/audition.html (Adobe Audition)  https://unity3d.com/fr (Unity)  https://www.senscritique.com/liste/Les_meilleurs_jeux_video_pour_aller_dans_l_espa ce (Jeux vidéo source d’inspiration)  http://www.jeuxvideo.com/jeux/pc/00053671-rive.htm (Jeux vidéo Rive)  http://kingdomrushtd.wikia.com/wiki/Category:Enemies (Jeux vidéo Kingdom Rush)  https://jeux.developpez.com/tutoriels/ (Tutorials 2D)  https://gamedevelopment.tutsplus.com/tutorials/creating-isometric-worlds-a-primer- for-game-developers--gamedev-6511 (Tutorials 2D isométrique)  http://www.code-couleur.com/signification/ (Significations des couleurs)  http://www.agiliste.fr/introduction-methodes-agiles/ (Métodologie Scrum)  http://www.universal-soundbank.com/jeux-videos.htm (Bruitage)  https://www.youtube.com/watch?v=ZTrrc6Ni5eM (Music du Fond)  https://fr.pinterest.com/pin/422142165058908817/ (Interface graphique)