Présentation de soutenance pour l'obtention du diplôme d'ingénieur de conception en informatique: conception et réalisation d'un jeu vidéo de combat africain multiplateforme (Android et iOS)
Soutenance Elhadj Bah | Diplôme d'ingénieur de conception en Informatique | ESP 2016
1. Mémoire de fin de cycle pour l’obtention du
DIPLÔME D’INGÉNIEUR DE CONCEPTION EN INFORMATIQUE
Conception et réalisation d’un jeu vidéo
de combat africain multiplateforme (Android et iOS)
Présenté et soutenu par : El.hadj Mamadou Aliou BAH Lieu de stage : Neticoa Sénégal
Encadré par : Dr Ibrahima FALL
Maître de stage : M. Mamadou DJIGO
Année académique 2015-2016
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département Génie Informatique
2. PLAN
01
02
03
04
05
06
07
Présentation de la structure d’accueil
Présentation du sujet
Processus de développement
Analyse des besoins
Conception du jeu
Réalisation et présentation du jeu
Bilan et perspectives
2/76
3. Présentation de la
structure d’accueil
01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
Neticoa Sénégal
Domaines d’activités
3/76
4. 01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
Etat de l’art des jeux vidéos
Contexte
Problématique
Objectifs
Présentation du sujet
4/76
5. 01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
Etapes de création d’un jeu
Organisation du travail
Présentation du langage de
modélisation
Processus de
développement
5/81
6. 01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
Spécifications
fonctionnelles
Description détaillée des
fonctionnalités
Analyse des besoins
6/76
7. Les techniques de création
d’un jeu vidéo
Etude détaillée des éléments
de conception
Outils et technologies
Conception
de la solution
01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
7/76
8. Environnement de
développement
Présentation du jeu
Réalisation et
présenation du jeu
01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
8/76
9. Bilan
Perspectives
Bilan et Perspectives01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
9/76
10. Tierce maintenance
applicative
Développement logiciel
Cadre qualité CMMi
Cadre de développement
industrialisé
Ethic Vision Ouest Africain
Neticoa France
01. Présentation de la structure d’accueil 1/3 Néticoa Sénégal
Ingénierie et Conseil en Technologies Numériques
+ de 30
ingénieurs et chefs de projet
10/76
11. Domaines d’activités01. Présentation de la structure d’accueil 1/3
11/76
Ingénierie et Conseil en Technologies Numériques
+ de 30
ingénieurs et chefs de projet
Tierce maintenance
applicative
Développement logiciel
Cadre qualité CMMi
Cadre de développement
industrialisé
Ethic Vision Ouest Africain
Neticoa France
12. Organisation01. Présentation de la structure d’accueil 1/3
12/76
Ingénierie et Conseil en Technologies Numériques
+ de 30
ingénieurs et chefs de projet
Tierce maintenance
applicative
Développement logiciel
Cadre qualité CMMi
Cadre de développement
industrialisé
Ethic Vision Ouest Africain
Neticoa France
13. 01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
Etat de l’art des jeux vidéos
Contexte
Problématique
Objectifs
Présentation du sujet
13/76
15. En Afrique
Etat de l’art 2/202. Présentation du sujet
Maroc Tunisie
Kenya
Madagascar
Afrique du Sud
Cameroun
Nigéria
Sénégal
15/76
16. 04
Chiffres clés du secteur
03
Recettes des Stores
0201
Public varié
Mobile
Contexte 1/502. Présentation du sujet
16/76
17. 04
Chiffres clés du secteur
03
Recettes des Store
02Femmes
et
adultes
Public varié
Mobile
Contexte 2/502. Présentation du sujet
Causual gamers:
0,2 milliard en 2008
15 Milliards en 2014
17/76
18. 04
Chiffres clés du secteur
03
Recettes des Store
Augmentation
de la demande
des
jeux sur mobile01
Public varié
Mobile
Contexte 3/502. Présentation du sujet
Source
Smartphones:
1,4 milliard en 2013
2,5 Milliards en 2020
18/76
19. 04
Chiffres clés du secteur
Applications
les plus
téléchargées
Recettes des Store
0201
Public varié
Mobile
Contexte 4/502. Présentation du sujet
77% en 2013
89% pour l’App Store
19/76
23. 01
Maitriser
la création de jeu vidéo
04
Réduire le Gap entre l’Afrique et
le reste du monde
03
Valoriser la culture africaine
02
Se positionner en tant que
leader
du secteur au Sénégal
Concevoir et réaliser un jeu vidéo de combat typiquement africain
Objectifs02. Présentation du sujet
23/76
24. 01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
Etapes de creation d’un jeu
Organisation du travail
Présentation du langage de
modélisation
Processus de
développement
24/76
26. Etape 01
04 02
03
01
Elaboration des concepts
1. Game Design Document
2. Document art concept
Dessins, règles, etc.
Etapes de création d’un jeu vidéo 1/403. Processus de développement
26/76
27. Etape 02
04 02
03
01
Pré-production
Ajout des corps rigides
Types et points de collisions
Gestion des mouvements
Prototypes
03. Processus de développement Etapes de création d’un jeu vidéo 2/4
27/76
28. Etape 03
04 02
03
01
Production
1. Modélisation 3D
2. Rigging et animations
3. Code source
Modèles 3D
Animations / Scripts
03. Processus de développement Etapes de création d’un jeu vidéo 3/4
28/76
29. Etape 04
04 02
03
01
Intégration finale
Effets spéciaux
Effets sonores
Evaluation de la jouabilité
Tests et correction des bugs
Jeu final
03. Processus de développement Etapes de création d’un jeu vidéo 4/4
29/76
31. 03. Processus de développement Processus de développement
On ne peut construire la toiture
avant la fondation
Livrables définis au
préalable
Principes
Processus = Ensemble structuré d’activités nécessaires pour développer le logiciel.
QUOI faire ? COMMENT le faire ? QUAND ? Par QUI ?
Modèle en cascade
Exécution séquentielle des
phases traditionnelles
Etape de validation-vérification
Fonctionnement
31/76
32. 1
Phase – 1
Analyser
Spécifications
des besoins
Analyse des
besoins
Modèle
du domaine
2
Phase – 2
Concevoir
Etude
technique
Choix des outils
et technologies
Architecture
du jeu
3
Phase – 3
Développer
Mise en place
environnement
Ecriture du
code source
Jeu video
version alpha
4
Phase – 4
Tester
Tests
fonctionnels
Détection
de bugs
Résultats
des tests
5
Phase – 5
Intégrer
Intégration
des modules
Finalisation
du gameplay
Jeu final
03. Processus de développement Application du processus au projet
32/76
33. 14 diagrammes
Langage visuel
Structure statique du système
Structure du code
Modules de développement
Description du comportement
du système et de ses composants
Représentation temporelle
des objets et leurs interactions
Fonctionnalités du système du
point de vue de l‘utilisateurCas d’utilisation
Séquences
Etats-transition
Classes
Unified Modeling Language
03. Processus de développement Langage de modélisation : UML
33/76
34. 01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
Spécifications
fonctionnelles
Description détaillée des
fonctionnalités
Analyse des besoins
34/76
35. Jouer
Consulter les crédits
Partager son score
Consulter les meilleurs
scores
Habiller son personnage
Jouer une partie
Faire une pause
Choisir un mode de jeu
Manipuler un personnage
Paramétrer les effets
sonores
Paramétrer la musique de
fond
Paramétrer le niveau de
difficulté
Paramétrer la langue
Consulter les extras Paramétrer le jeu
04. Analyse Spécifications fonctionnelles
Listes des fonctionnalités
35/76
36. 04. Analyse Analyse des besoins 1/9
Fonctionnalités du sous-système
« Jouer »
36/76
37. 04. Analyse Analyse des besoins 2/9
Fonctionnalités du sous-système
« Paramétrer le jeu »
37/76
38. 04. Analyse Analyse des besoins 3/9
Fonctionnalités du sous-système
« Consulter les extras »
38/76
39. 04. Analyse Analyse des besoins 4/9
Description de la fonctionnalité
« Jouer une partie »
39/76
40. 04. Analyse Analyse des besoins 5/9
Description de la fonctionnalité « Paramétrer les effets sonores »
40/76
41. 04. Analyse Analyse des besoins 6/9
Description de la fonctionnalité « Habiller personnage»
41/76
45. Les techniques de création
d’un jeu vidéo
Etude détaillée des éléments
de conception
Outils et technologies
Conception
de la solution
01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
45/76
46. 05 Mixage des techniques
04 Programmation
03 Moteurs de jeux
01 Modding
02 Games makers
05. Conception Les techniques de création d’un jeu vidéo
46/76
47. Classes de notre jeu
Classes du jeu
Android
iOS
Windows Phone
Système d’exploitation
Moteur graphique
Moteur son
Moteur physique
Moteur IA
Moteur réseau
Moteur de jeu
Processeur mémoire
Accélerateur graphique
Carte son
Matériel
05. Conception Niveaux d’architectures d’un jeu vidéo
47/76
48. 05. Conception Moteur de jeu
Moteur
physique
Détection de
la collision
Moteur 3D
Scriptage
Gestion IA
Gestion
réseau
Moteur
son
Gestion des
entrées et sorties
Fonctionnalités
DRY : Do not Repeat Yourself
Ensemble de composants logiciels permettant de créer un jeu vidéo.
Laboratoire | Environnement de développement | Cuisine
48/76
49. Type de jeuCritère 1
05. Conception Critères de choix d’un moteur 1/5
49/76
50. Critère 1
Critère 2
Type de jeu
Type de gameplay
05. Conception Critères de choix d’un moteur 2/5
50/76
51. Type de jeu
Critère 1
Type de gameplay
Critère 2
Prix de la licence
Critère 3
05. Conception Critères de choix d’un moteur 3/5
51/76
52. Type de jeu
Critère 1
Type de gameplay
Critère 2
Prix de la licence
Critère 3
La communauté
Critère 4
05. Conception Critères de choix d’un moteur 4/5
52/76
53. Type de jeu
Critère 1
Type de gameplay
Critère 2
Prix de la licence
Critère 3
La communauté
Critère 4
Plateforme(s) cible
Critère 5
05. Conception Critères de choix d’un moteur 5/5
53/76
57. Simulation
Contrôle par l’ordinateur
IA dans un jeu de combat
01
Position du joueur
Chemin à parcourir
Evaluation réussite des décisions
Perceptions de bases02
Systèmes conditionnels
IA adaptative
Prédiction
Techniques
03
05. Conception Gestion de l’intelligence artificielle
Prise en charge dans le jeu:
Logique Floue
57/76
67. Environnement de
développement
Présentation du jeu
Réalisation et
présenation du jeu
01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
67/76
71. Bilan
Perspectives
Bilan et Perspectives01 02 03 04 05 06 07
Présentationdelastructured’accueil
Présentationdusujet
Processusdedéveloppement
Analysedesbesoins
Conceptiondujeu
Réalisationetpresentationdujeu
Bilanetperspectives
PLAN
71/76
72. Maitrise du processus
100%
Intégration des
éléments
95%
Modes de jeu
80%
Version online
25%
07. Réalisation Bilan et perspectives 1/3
Bilan projet
72/76
73. 07. Réalisation Bilan et perspectives 2/3
Perspectives
Elaborer le scenario
du jeu
01
Version online
02
Version PC et Console
03
73/76
74. 07. Réalisation Bilan et perspectives 3/3
Bilan personnel
Le jeu s’oppose au travail
Jouer n’est pas une activité sérieuse
Fabriquer ou créer des jeux ne peut
donc revêtir un caractère valorisant
Et pourtant …
Chiffre d’affaires du domaine
Nouvelles connaissances
Domaines de compétences élargies
1er jeu vidéo de combat du continent
74/76
1er prix dans la catégorie
« Jeux et divertissemment »
Hackathon Orange 2016
76. Mémoire de fin de cycle pour l’obtention du
DIPLÔME D’INGÉNIEUR DE CONCEPTION EN INFORMATIQUE
Conception et réalisation d’un jeu vidéo
de combat africain multiplateforme
Présenté et soutenu par : El.hadj Mamadou Aliou BAH Maître de stage : M. Mamadou DJIGO
Encadré par : Dr Ibrahima FALL Lieu de stage : Neticoa Sénégal
Année académique 2015-2016
Université Cheikh Anta Diop de Dakar
Ecole Supérieure Polytechnique
Département Génie Informatique
Notes de l'éditeur
Depuis la légendaire époque du jeu réalisé par deux amis au fond d'un garage, le jeu vidéo a bien grandi, jusqu’à devenir aujourd’hui l’une des industries culturelles les plus importantes du monde.
Pour mieux comprendre cette expansion nous avons retracé les dates marquantes de l’évolution des jeux vidéo, avant de montrer la place de l’Afrique dans cette industrie.
Cette situation a augmenté la demande pour les jeux sur mobiles, lequel devient le segment le plus dynamique de cette industrie. Les jeux, en effet, dominent l’usage des tablettes, 67 % de leur temps d'utilisation leur étant consacré.
Revoir memo
Remplacer cette image
Un "bon" langage de modélisation doit permettre à n'importe qui de déchiffrer cette intention de manière non équivoque ! Il est donc primordial de s'accorder sur la sémantique des éléments de modélisation, bien avant de s'intéresser à la manière de les représenter.
Le modding est le processus de modification d'un jeu existant.
Les game makers sont des logiciels aidant à la création d'un jeu d'un type précis
Le but visé par un moteur de jeu est de permettre à une équipe de développement de se concentrer sur le contenu et le déroulement du jeu plutôt que la résolution de problèmes informatiques de base
Calculer le mouvement des objets et leurs interactions: glisser sur le sol, sur un mur, rebond, déformation des objets
Couche logicielle détectant la rencontre de deux objets pour définir une action résultante
Calcul de synthèse d’images en vue d’obtenir une projection en 2D des objets 3D du jeu
Son: combine lecteur audio avec un logiciel de mixamage et un générateur d’effets sonores
Langages de script pour programmer le comportement des personnages
IA: suite
Assurer la communicationau travers d’un protocole réseau entre deux entités
Lecture des périphériques externes, lecture et écriture des sauvegardes
Tous les objets utilisés dans l’application sont des GameObjects
• Ils contiennent des proprietes appelées Components
• Tout objet (meme vide) contient au moins un composant Transform qui
stocke sa position, son orientation et son echelle sous forme de vecteurs
selon les axes XYZ (representes visuellement par les fleches de couleur
RGB).
• Exemples :
• Un objet vide contient uniquement un composant Transform permettant de gerer ses proprietes spatiales (sa position, son orientation et son echelle)
• Un solide simple possedera en plus un Mesh Filter (geometrie), un Mesh Renderer (rendu visuel) et un Collider (collisions)
A l’opposé de la méthode aléatoire qui ne prend en considération que la distance pour déterminer quelle action a la plus forte probabilité d’être effectuée, la logique floue permet au personnage d’évaluer les informations de la scène telles que : le dommage causé, le niveau de santé du personnage, la rapidité du mouvement, la distance, etc.
Lancer la demo (jambarfight.exe) en cliquant sur le lien « Let’s fight »
Démo en live lors de la soutenance