Projet Allegro : Wild Forest - Rapport

La page est créée Anais Klein
 
CONTINUER À LIRE
Projet Allegro : Wild Forest - Rapport
Projet
Allegro :
Wild Forest
Rapport

STEFANSKI – DELION – THOMAS
Projet Allegro : Wild Forest - Rapport
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-2011
Projet Allegro : Wild Forest - Rapport
Rapport 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-2011
Projet Allegro : Wild Forest - Rapport
Rapport 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-2011
Projet Allegro : Wild Forest - Rapport
Rapport 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-2011
Projet Allegro : Wild Forest - Rapport
Rapport 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-2011
Projet Allegro : Wild Forest - Rapport
Rapport 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-2011
Rapport 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-2011
Rapport 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-2011
Rapport 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-2011
Rapport 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-2011
Rapport 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-2011
Rapport 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-2011
Rapport 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-2011
Vous pouvez aussi lire