Rapport Stage
Rapport Stage
Rapport Stage
1. Contexte du projet..................................................................................................................2
1.1. Introduction.....................................................................................................................2
1.2. L’industrie de jeux vidéo................................................................................................2
1.3. Présentation de l’organisme d’accueil...........................................................................3
1.3.1. Organisme d’accueil................................................................................................3
1.3.2. Domaines d’activités :..............................................................................................3
1.3.3. Organigramme de l’organisme d’accueil :............................................................4
1.4. Présentation du projet....................................................................................................5
1.4.1. Contexte général :....................................................................................................5
1.4.2. Problématique :........................................................................................................5
1.4.3. Inspirations :............................................................................................................5
1.4.4. Solution proposée :..................................................................................................7
1.5. Environnement de travail...............................................................................................7
1.5.1. Environnement matériel :.......................................................................................7
1.5.2. Environnement logiciel :.........................................................................................8
1.5.3. Langages de programmation et modélisation.....................................................10
2. Spécification des besoins et architecture générale.............................................................11
2.1. Introduction...................................................................................................................11
2.2. Capture de besoins........................................................................................................11
2.2.1. Synopsis de jeu.......................................................................................................11
2.2.2. Analyse des besoins fonctionnels..........................................................................12
2.2.3. Analyse des besoins non fonctionnels...................................................................13
2.2.4. Modélisation des besoins fonctionnels.................................................................15
2.3. Conception générale......................................................................................................16
2.3.1. Architecture générale de Unity.............................................................................16
2.3.2. Diagramme de classe général................................................................................17
2.3.3. Diagramme d’activité............................................................................................18
3. Les règles du jeu ..................................................................................................................19
3.1. Réalisation du jeu :.......................................................................................................19
3.1.1. Le caractère joueur................................................................................................19
3.1.2. Principes de graphisme et d’animation...............................................................20
3.1.3. Unity Asset Store....................................................................................................23
3.2. Caractère IA..................................................................................................................26
3.3. Menu principal..............................................................................................................30
Liste des figures
Chapitre 1
1. Contexte du projet
1.1. Introduction
L'étude de ce projet est une phase importante qui vise à décrire l'environnement de
l'entreprise et à exposer les objectifs principaux du projet. Pour ce faire, je vais d'abord
présenter de manière générale l'industrie des jeux vidéo, en passant par l'organisme d'accueil.
Ensuite, je vais détailler le projet en commençant par le cadre, puis la problématique et je
vais analyser les jeux qui sont à l'origine de l'inspiration de ce projet ainsi que la solution
proposée.
L’industrie de jeux vidéo est considérée comme l’une des industries les plus
passionnantes de la technologie en raison de son importance pour la culture, le
divertissement et le progrès technologique. Les sociétés de jeux PC, consoles et mobiles
utilisent les dernières technologies pour présenter leurs jeux sur les écrans de plus de deux
milliards de personnes dans le monde entier. De Nimatron, la toute première machine de jeu
qui a fait ses débuts à New York en 1940 aux jeux d’arcade et aux consoles de jeux de salon
des années 70, aux jeux d’ordinateurs dans les années 80 et 90 et les jeux en ligne au début
du siècle et maintenant les jeux mobiles et les sports électroniques où les joueurs
professionnels remplissent les stades et gagnent des millions de dollars. Le jeu mobile En
l’espace d’une décennie, les jeu mobile est passé du plus petit segment du marché du jeu en
2012 à l’une des industries les plus performantes au monde en 2020. Vu que les taux de
pénétration du mobile et l’utilisation des smartphones continuent de s’accélérer à l’échelle
mondiale, les revenus des jeux mobiles sont en bonne voie pour dépasser 100 milliards de
dollars d’ici 2023.
Le jeu mobile En l’espace d’une décennie, les jeu mobile est passé du plus petit segment
du marché du jeu en 2012 à l’une des industries les plus performantes au monde en 2020.
Vu que les taux de pénétration du mobile et l’utilisation des smartphones continuent de
s’accélérer à l’échelle mondiale, les revenus des jeux mobiles sont en bonne voie pour
dépasser 100 milliards de dollars d’ici 2023.
— Programmer les interfaces et les outils associés, les menus, les actions...
— Corriger les erreurs et faire les modifications nécessaires.
1.4.2. Problématique :
Dans les jeux vidéo, un monde ouvert est une mécanique de jeu qui consiste à utiliser un
monde virtuel que le joueur peut explorer de manière libre et non linéaire, plutôt que
d'être guidé par un gameplay plus structuré et défini.
1.4.3. Inspirations :
Comme toute autre forme de création, il est impossible pour moi de créer un jeu vidéo
sans inspiration. C'est pourquoi j'ai effectué des recherches approfondies sur les jeux
existants similaires à celui que je souhaite créer. Mon objectif est de créer un jeu vidéo
3D à monde ouvert à la troisième personne, axé sur les thèmes d'aventure et
d'exploration. Ces recherches m'ont aidé dans mon projet.
Diablo III
Diablo III est un jeu vidéo de type action-RPG développé et publié par Blizzard
Entertainment. Il est sorti en 2012 pour Windows et macOS, et plus tard pour PlayStation
3 et Xbox 360. Il est la suite de Diablo II, qui a été publié en 2000. Le jeu se déroule dans
le monde fictif de Sanctuary, où les joueurs incarnent un personnage qui doit combattre
contre les forces du mal, dirigées par le dieu démon Diablo.
Figure 4 - World Of
Warcraft
Figure 6 VS Code
LOGO
Diagrams.net :
Diagrams est une application open source en ligne pour la création des
diagrammes, un outil facile à utiliser et qui offre beaucoup de fonctionnalités comme
l’édition collaborative en temps réel, le stockage en ligne sur Google Drive ou One Drive
et l’export en PNG, JPG,SVG...
Mixamo
Il s’agit d’une société de technologie d’infographie 3D. La société développe et
vend des services Web pour l’animation de personnages 3D. Les technologies de Mixamo
utilisent des méthodes d’apprentissage automatique Machine Learning pour automatiser
les étapes du processus d’animation de personnages, y compris la modélisation 3D au
gréement et à l’animation 3D.
Langage de programmation : C#
C# est un langage de programmation polyvalent et multi-paradigme créé par
Microsoft en 2002. Sa syntaxe ressemble un peu au C++ ou java qui sont d’autres
langages de programmation.
Figure 9 C# LOGO
Figure 10 -UML
LOGO
Chapitre 2
La première phase du cycle de développement d’un jeu vidéo est la phase d’analyse et
spécification des besoins. Dans ce chapitre, j'ai adopté une approche fonctionnelle pour notre
projet. J'ai élaboré les exigences fonctionnelles et non fonctionnelles, puis j'ai également
couvert les différents cas d'utilisation pour notre projet.
Il s’agit d’un jeu mobile sur Android appartenant aux catégories : monde ouvert,
troisième personne, aventure et survie. avec des graphiques plus ou moins réalistes. Vous
vous trouvez dans la peau d’un extraterrestre dont le vaisseau spatial tombe en panne et
l’oblige d’atterrir sur la planète Terre. Son but alors est de survivre et tuer les ennemies
puis l’ennemie boss.
Lancer le jeu
— Le joueur peut lancer le jeu en cliquant sur le bouton "Play"
Accéder aux paramètres
— En cliquant sur le bouton Options, le joueur peut accéder à l’interface appropriée ou il
peut faire ces actions :
— Activer ou désactiver le son.
— Changer la résolution.
Accéder aux difficultés
— En cliquant sur le bouton Difficulty, le joueur peut accéder à l’interface appropriée ou
il peut faire ces actions :
— Changer la difficulté de jeu : Easy, Medium, Hard.
Quitter le jeu
— Le joueur peut quitter le jeu en cliquant sur le bouton approprié qui se trouve dans le
menu principal.
Qualités internes
Lors du développement de mon projet, j’ai exigé la présence des contraintes suivantes :
Contraintes techniques
— L’utilisation de l’orienté objet permet de concevoir et de réaliser les fonctionnalités
attendues d’où une programmation optimisée.
— Réutilisabilité des scripts et des composants sur plusieurs objets.
— La bonne organisation du code avec l’utilisation des commentaires et l’indentation
pour une meilleure lisibilité et facilité de compréhension.
Contraintes graphiques
— La vue à la troisième personne : c’ est une perspective graphique de plus en plus
utilisée dans le domaine de jeux vidéo et elle est la plus courante dans les jeux d’action et
d’action aventure. Elle est affichée à partir d’une vue située est à une certaine distance du
personnage joueur, généralement derrière et légèrement au-dessus du celui-ci.
— La conservation de la charte graphique assurant sa cohérence afin de donner un aspect
réaliste et croyable. Cet élément est consacré pour le choix des couleurs, des formes et
des textures des objets existant dans l’environnement et l’interface utilisateur graphique
GUI.
Qualités externes Ergonomie
— Celle-ci doit être assurée 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.
Dans cette partie, j’ai présenté le diagramme de cas d’utilisation global qui modélise
besoins fonctionnels de projet :
Chapitre 3
Dans cette partie, nous allons présenter les principes de graphisme et d’animation utilisés,
les scènes réalisés et la réalisation des besoins
Les modèles ou "Models" sont des fichiers qui contiennent des données sur la forme et
l’apparence des objets 3D, tels que les caractères, le terrain, ou des objets
d’environnement. Les fichiers de modèle peuvent contenir une variété de données, tels
que des maillages "Meshes", des matériaux "Materials" et textures. Ils peuvent également
contenir des données d’animation. Les modèles sont généralement créés dans une
application externe, puis importés dans Unity. Ils peuvent également être trouvés dans
Unity Asset Store.
Figure 14 - Objet 3D 1
Un maillage ou "Mesh" est une collection de données décrivant une forme. Dans
Unity, l’utilisation des maillages se fait par les manières suivantes : Dans les graphiques, vous
utilisez des maillages avec des matériaux ; les maillages décrivent la forme d’un objet rendu par
le GPU et les matériaux décrivent l’apparence de sa surface. En physique, vous pouvez utiliser
un maillage pour déterminer la forme d’un collisionneur "Collider".
Figure 16 - Maillage
Les matériaux et les shaders sont utilisés ensemble pour définir l’apparence de la scène.
Matériaux et shaders sont étroitement liés et sont toujours utilisés ensemble. Un matériau
contient une référence à un objet Shader. Si cet objet Shader définit les propriétés du matériau, il
peut également contenir des données telles que des couleurs ou des références à des textures.
Animation
Unity dispose d’un système d’animation riche et sophistiqué. Il prévoit :
— Flux de travail et configuration faciles des animations pour tous les éléments de Unity,
y compris les objets, les personnages et les propriétés.
— Prise en charge des clips d’animation importés et des animations créées dans Unity.
— Recâblage d’animation humanoïde - la possibilité d’appliquer des animations d’un
modèle de personnage à un autre.
— Flux de travail simplifié pour l’alignement des éléments d’animation.
— Aperçu pratique des clips d’animation, des transitions et des interactions entre eux.
Cela nous permet de prototyper et de prévisualiser leurs animations avant que le code de
jeu ne soit accroché.
— Animer différentes parties du corps avec une logique différente.
— Fonctions de superposition et de masquage.
L’animation du joueur
Le terrain
Unity fournit une sélection d’outils permettant de créer des caractéristiques
environnementales telles que des reliefs et de la végétation
Figure 22 - Terrain
L’interface
3.2. Caractère IA
Après avoir développé le joueur, maintenant j’ai passé au développement de ennemies.
L’animation de l’Ennemie
Les paramètres
Figure 34 - paramètres
Difficultés
Figure 35 - Difficultés
ScreenLoader
Figure 36 - ScreenLoader
panneau de gagner
panneau de perdre