Projet Allegro : Wild Forest - Rapport
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Rapport Projet Allegro : Wild Forest
I. Introduction
1. Présentation de l’équipe ………………………………………………………………………p 2
2. Présentation du projet ………………………………………………………………………..p 3
II. Choix de programmation
1. Présentation de notre jeu vidéo ………………………………………………………………p 4
2. Organigrammes de programmation ………………………………………………………….p 8
III. Organisation
1. Planning des étapes de programmation et des tests de validations ………………………..p 9
2. Contenus des tests de validation intermédiaires et finaux …………………………………….p 11
IV. Notre conduite de projet
1. Points positifs ………………………………………………………………………………….....p 11
2. Points négatifs …………………………………………………………………………………….p 12
V. Conclusion ....................................................................................................................p 13
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |1 2010-2011Rapport Projet Allegro : Wild Forest
Notre équipe est constituée de :
Mathieu DELION, après une étude approfondie de l’énoncé du projet, Mathieu a
codé plusieurs parties du jeu vidéo et à contribuer à la rédaction de ce rapport. Il a
participé à la définition des choix de programmation ainsi qu’à l’organisation et à
la réalisation des tests de validation tout au long du projet. Mathieu a également
contribué à l’amélioration de plusieurs parties du code.
Alexis STEFANSKI, après concertation sur les choix de programmation et
l’orientation du projet, Alexis a commencé par coder les éléments fondamentaux
de notre jeux mais a également collaborer à la rédaction de ce rapport. Il a permis
de définir les objectifs du projet, la répartition des tâches au sein du groupe et a
contribué à l’organisation du projet en participant à l’élaboration du planning des
étapes de programmation
Samuel THOMAS, a participé à la rédaction de ce rapport en effectuant une
analyse détaillée des éléments du cahier des charges et en décrivant les choix de
pour le codage du jeu vidéo. Il a également contribué à l’élaboration du projet en
définissant les orientations du projet ainsi que les choix de programmation. Samuel
a rédigé certaines parties du code et a participé à la planification et à la réalisation
des différents tests de validation.
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |2 2010-2011Rapport Projet Allegro : Wild Forest
Conformément à la méthode Modèle-Vue-Contrôleur nous avons effectué un tableau regroupant les
principales données du cahier des charges :
Données Traitements
Monstres, bêtes Surgissent de manière aléatoire, se déplace moins vite
qu’Ecegore mais dans sa direction
Ecegore : personnage principal Incarne le joueur, parcourt le monde sauvage
Pistolet à Laser-Ecologique (PLE) transforme les ennemis en arbres immobiles,
récupérable dans des caisses, existe en différents
versions
. PLE à tête chercheuse vise automatiquement les monstres
. PLE Lance-flammes (PLE-PLF) permet de brûler les arbres, il est contenu dans une
seule caisse
Icone cerclée de rouge indique par où vont surgir les ennemis
Sacs de pièces d’or disposés sur le terrain, augmentent la cagnotte
Cagnotte constitue le score du joueur
Caisses contiennent objets (ex : bombes arborisantes)
3 vies diminuent selon si le joueur est touché par un ennemi
Fleurs permettent de regagner des vies (3 fleurs = 1 vie),
sont issues de la transformation de certains monstres
Assemblage de tuiles présentant arbres, personnages, objets, vies,…
Zone objets contient tous les objets acquis par le joueur, permet
de changer d’arme en sélectionnant une autre arme
Boîte de dialogue permet de sauvegarder, charger (arrêter/reprendre)
une partie, quitter le jeu
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |3 2010-2011Rapport Projet Allegro : Wild Forest
Suite à l’étude de l’énoncé du projet, nous avons été amenés à faire certains choix concernant la
programmation de ce jeu vidéo.
Après concertation nous avons dès le départ décidé que notre jeu aurait l’apparence d’un jeu de
plateforme en 2D mais avec un travail sur les graphismes des objets qui permettrait de donner une
impression de 3D. Ce qui donnerait un résultat qui correspondant aux consignes du projet à savoir la
réalisation d’un jeu vidéo en 2D et demi.
Dès le commencement, nous avons voulu appliquer les enseignements du cours en codant une Tile –
Map.
Pour les graphismes de certains des objets du jeu nous avons recouru à la technique du Pixel Art,
c’est-à-dire que nous avons réalisé pixel par pixel, à l’aide de logiciels de traitement d’image (Paint et
Photoshop), l’image de l’objet que nous voulions inclure dans le jeu en travaillant sur la perspective
pour donner un effet de 3D.
La capture d’écran suivante montre un exemple du travail sur la perspective que nous avons mené
pour donner une impression de 3D. En effet grâce à notre gestion des collisions, on peut observer
sur la capture d’écran suivante que le personnage principal passe derrière la table situé devant lui.
Pour le personnage principal, nous avons recherché une séquence d’images d’un même personnage
en mouvements sur des sites spécialisés dans la réalisation de RPG, ce qui nous permis de trouvé un
personnage adapté à notre jeu mais aussi à inclure des personnages secondaires et des objets à
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |4 2010-2011Rapport Projet Allegro : Wild Forest
ramasser comme on peut voir sur la capture d ’écran suivante qui correspond au 1er niveau dans
notre jeu vidéo.
Concernant les personnages secondaires ils peuvent communiquer avec le personnage principal
grâce à de zones de texte où sont inscris les messages
De la même façon le personnage peut entrer en interaction avec un grand nombre d’objets du jeu.
En effet dès que l’icône « entrer » s’affiche en bas à gauche de l’écran le joueur peut afficher des
informations sur l’objet situé en face de lui.
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |5 2010-2011Rapport Projet Allegro : Wild Forest
Les différents objets récoltés sont stockés dans une zone objet où le joueur peut accéder.
Cet inventaire est présenté dans une boîte de dialogue contenant une illustration du personnage en
grand format, l’ensemble des objets récoltés ainsi que des informations sur chacun d’eux lorsqu’ils
sont sélectionnés (grâce aux flèches du clavier).
Une jauge de vie est également présente dans tous les niveaux de jeux ainsi que dans les boîtes de
dialogue.
Nous avons décidé de faire plusieurs mondes correspondant à des regroupements de tiles-map
différentes et créer ainsi plusieurs niveaux de jeu. On peut voir le 2e niveau du jeu dans la capture
d’écran suivante :
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |6 2010-2011Rapport Projet Allegro : Wild Forest
Le personnage dispose d’une arme qui lui permet de tirer des boules de feu. Lorsque la boule de feu
entre en collision avec un ennemi (pour l’instant représenté par des lapins et des poules) celui-ci se
transforme en arbre qui peut être de deux tailles différentes (voir capture d’écran ci-dessous)
Une musique de fond est présente dans notre jeu, c’est un fichier au format midi. Nous voudrions à
terme que le jeu contienne plusieurs musiques selon les niveaux de jeu, les actions du personnage,
etc…
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |7 2010-2011Rapport Projet Allegro : Wild Forest
Dans notre programme, le main appelle successivement deux sous-programmes (intro_niveau1 et
intro_niveau2) contenus chacun dans un fichier .c (lvl1 .c et lvl2.c).
lvl1.c
intro_niveau1
main.c
lvl2.c
intro_niveau2
Par la suite chacun de ces deux sous programmes appelle plusieurs sous-programmes différents.
Les graphes d’appels suivants contiennent l’ensemble des sous-programmes et fonctions appelés
par int intro_niveau1 contenu dans lvl1.c et int intro_niveau2 contenu dans lvl2.c
Hero.c
Void
Persos.c deplacement Pause_menus
Int .c
interaction Void
ajouter_objet
Pause_menu Armes.c
s.c void Void shoot
affich_invent
Armes.c
Persos.c Void
Int lvl1.c bougerTirs
interaction int
intro_niveau1
Pause_menu
s.c Affichage.c
Void Void
affich_invent afficher_fond
Pause_menu
s.c Persos.c
Void Void
Hero.c affichGens
affichJauges Affichage.c
Void
Void
afficher_pers
afficher_obj
o
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |8 2010-2011Rapport Projet Allegro : Wild Forest
Hero.c
Persos.c Void
Int deplacement
Pause_menu interaction Pause_menus
s.c void .c
affich_invent Void
ajouter_objet
Ennemis.c Armes.c
Void Void shoot
afficher_enn
emis
Armes.c
Persos.c Void
Int lvl2.c bougerTirs
interaction int
intro_niveau2
Affichage.c
Pause_menu Void
s.c afficher_fond
Void
affich_invent
Ennemis.c
Void
dep_ennemis
Pause_menu
s.c Persos.c
Void Void
Hero.c
affichJauges Affichage.c affichGens
Void
Void
afficher_pers
afficher_obj
o
Cette structure du code est amenée à être modifiée et optimisée au fur et à mesure que nous
avançons dans la programmation de notre jeu vidéo.
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel Page |9 2010-2011Rapport Projet Allegro : Wild Forest
Ce diagramme de Gant résume le planning des principales étapes de programmations et de la
réalisation des tests de validations.
Cependant ce rapport étant à rendre pour une date antérieure à celle pour laquelle nous devons
rendre le code du projet, la liste des différentes étapes de programmation n’est pas exhaustive.
En effet cette liste comporte les étapes que nous avons déjà réalisées ainsi que celles que nous
prévoyons de réaliser, auxquelles s’ajouterons certainement d’autres étapes rendues nécessaires par
la conduite du projet.
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel P a g e | 10 2010-2011Rapport Projet Allegro : Wild Forest
L’objectif des 3 tests de validation que nous avons organisé est principalement de vérifier la viabilité
du jeu vidéo que nous créons en contrôlant qu’il ait une synchronisation correcte des différentes
parties du code et des modifications apportées par chaque membre de l’équipe.
Lors des séances de test nous avons passé la totalité de notre temps à contrôler chacune des parties
du code, et à effectuer les modifications nécessaires.
Le contenu des différents tests de validation est résumé de façon schématique ci-dessous :
Test n°2 : collisions Test n°3 : test de l'IHM Test final : viabilité du
nouveaux éléments (menu, écran de pause, projet dans sa globalité
Test n°1: cohérence
Tile-map (objets, ...), des dernières et test de l'éxecution du
tile-map, déplacements
batiments, perso modifications projet sur les
et collisions personnage
2aires), inventaire et apportées au code, de ordinateurs de l'ECE
principal/objets.
saisies des objets, l'execution de tous les
menu. sous-programmes
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel P a g e | 11 2010-2011Rapport Projet Allegro : Wild Forest
Un des aspects positif de notre conduite de projet est que nous avons commencé rapidement à
coder les éléments fondamentaux de notre jeu vidéo c’est-à-dire les Tile-Map et les mouvements du
personnage principal. Cette rapidité a été permise par le fait que nous nous sommes très vite mis
d’accord sur les choix de programmation.
De plus la répartition des tâches entre les différents membres du groupe nous a permis d’être
efficaces. En effet, chaque membre du groupe a pu participer à l’organisation du projet, à la
rédaction du rapport et au codage du jeu vidéo.
organisation
du projet
rédaction codage
rapport jeu vidéo
La synchronisation est un atout fondamental de notre conduite de projet. Grâce à des conversations
de groupe sur Skype où nous pouvons également échanger des fichiers, ainsi qu’à l’envoi de mails de
façon régulière.
Lorsque nous avons planifié les différentes étapes de programmation, nous avons élaboré un
planning (diagramme de Gantt) qui comporte des tâches assez générales ce qui nous a laissé une
certaine liberté et nous permet de rajouter des étapes de programmation (ou d’en enlever) sans trop
perturber notre planning.
Avec les différentes échéances auxquelles nous devions faire face (D.S, D.M, TD), nous n’avons pas
pu coder de façon régulière. Il est vrai que nous avons codé de façon « ponctuelle » mais en avançant
de manière significative à chaque fois.
La durée du projet étant limitée nous n’avons pas eu le temps de créer tous les éléments graphiques
de notre jeu , nous avons alors utilisé des images issues de sites spécialisés dans la réalisation de
RPG. Ceci nous a permis d’enrichir notre jeu de graphismes variés et d’avancer plus rapidement dans
notre projet
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel P a g e | 12 2010-2011Rapport Projet Allegro : Wild Forest
Sources pour les images utilisées dans notre jeu :
http://rgss-de-rmxp.software.informer.com/
http://www.rpg-maker.fr/
La création de ce jeu vidéo nous a permis de comprendre de manière approfondie les différentes
possibilités qu’offre la librairie graphique Allegro. Mais nous avons également appris à aller chercher
des informations sur différents sites proposants des tutorats nous indiquant comment incorporer des
éléments spécifiques dans notre jeu vidéo (musique avec des fichiers en midi,…).
Ce projet allegro nous a permis de mettre en pratique ce que nous avons appris lors des cours
magistraux. De plus ce projet, de par le volume important du code, nous a poussé à optimiser notre
travail d’équipe en synchronisant régulièrement les parties du code dont chacun était responsable et
en se répartissant le travail de manière équitable.
Grâce à ce projet nous avons pu apprendre à maîtriser les fonctions propres à la librairie graphique
Allegro dans un contexte à la fois ludique et motivant. En effet, c’est à travers la création de ce jeu
vidéo que nous avons pu appliquer les connaissances acquises en cours de programmation. Nous
avons pu également apprendre à nous organiser de manière efficace en établissant un planning
définissant à l’avance les différentes étapes de programmation. La répartition des tâches a été un
élément déterminant de notre conduite de projet et nous a permis de relever le défi.
STEFANSKI Alexis TD 1 ING 1
e
DELION Mathieu 2 Semestre
THOMAS Samuel P a g e | 13 2010-2011Vous pouvez aussi lire