Premier Cahier des Charges Crazy Caddies
Transcription
Premier Cahier des Charges Crazy Caddies
Crazy Caddies The Happy Four Friends 15 janvier 2007 Table des matières 1 Le projet 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 1.2 Le jeu . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 2 2 The 2.1 2.2 2.3 2.4 . . . . 4 4 5 6 6 . . . . . . . . . 8 8 8 9 9 9 10 10 10 10 Happy Four Friends Marc ”Lumpy” Chamberlin . Jean-Charles ”Flippy” Delay . Roman ”Shifty” Pak . . . . . Jonathan ”Toothy” Verrecchia 3 Découpage du projet 3.1 Répartition . . . . . . 3.2 Moteur Graphique . . 3.3 Moteur Physique . . . 3.4 Intelligence Artificielle 3.5 Réseau . . . . . . . . . 3.6 Interface . . . . . . . . 3.7 Editeur de niveaux . . 3.8 Audio . . . . . . . . . 3.9 Site Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Planning 11 4.1 Pièces à fournir . . . . . . . . . . . . . . . . . . . . . 11 4.2 Tableau récapitulatif . . . . . . . . . . . . . . . . . . 11 5 Outils et coûts du projet 12 5.1 Récapitulatif . . . . . . . . . . . . . . . . . . . . . . . 12 5.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . 12 5.3 Notes au lecteur . . . . . . . . . . . . . . . . . . . . . 12 1 Chapitre 1 Le projet 1.1 Introduction Qui n’a jamais rêvé étant gosse, lorsqu’il accompagnait sa maman ou son papa au supermarché, de jouer avec la seule chose intéressante présente : les caddies ! Aujourd’hui ce rêve devient réalité. Bienvenue dans l’univers de Crazy Caddies ! Laissez vous emporter dans son ambiance dynamique, fun et délirante. Vous ne verrez plus jamais les courses comme une corvée... 1.2 Le jeu Vous êtes aux commandes d’un caddie de supermarché. Le but est très inspiré du jeu Crazy Taxi : il faut parcourir les rayons du supermarché pour récupérer des produits puis aller à la caisse. Un compteà-rebourd pimentera le jeu car vous devrez terminer la course1 avant la fin de celui-ci. De plus, il faudra aussi éviter (ou pas) les autres caddies ainsi que les clients qui viendront gêner le joueur. Cependant, les caddies ne sont pas des bolides. En effet, la difficulté résidera également dans le contrôle du caddie car toutes les roues pivotent et donc les trajectoires sont délicates à anticiper. La taille du terrain, la fréquentation du supermarché, ansi que les types de produits à récupérer feront varier la difficulté. De plus, un mode multijoueur permettra de se mesurer à des adversaires réels, qui peuvent s’avérer bien plus coriaces ! 1 Dans les deux sens du terme 2 Pour rallonger la durée de vie, en plus du challenge de battre ses meilleurs temps, il sera possible de créer son propre supermarché2 grâce à un merveilleux éditeur de niveau. 2 Non, vous ne rêvez pas ! 3 Chapitre 2 The Happy Four Friends L’équipe se compose de quatre membres super-motivés. Aucun d’entre nous ne sait encore coder mais nous apprendrons vite sous les coups de fouet du tyran1 du groupe. 2.1 Marc ”Lumpy” Chamberlin À mon avis, tout les éleves d’Epita ont rêvé un jour de faire un jeu vidéo, moi y compris. C’est pourquoi ce projet est une opportunité que personne ne veut manquer. En ce qui me concerne, les jeux vidéos m’ont fait m’intérresser à l’informatique. Mais aujourd’hui c’est l’informatique qui me rapproche du jeu vidéo2 . Je me suis porté volontaire pour être chef de projet car en plus d’aimer m’occuper d’une équipe, cela me fournira une expérience (car même minime, c’est une expérience) en matière de chef d’équipe. Le réseau est quelque chose qui me fascine sauf que pour moi cela relève encore un peu de la magie. C’est pourquoi je me suis porté volontaire pour m’occuper de cette partie pour que ce domaine soit moins flou pour moi. Le moteur physique est, dans le jeu vidéo, ce qui se rapproche le plus de la réalité. Transcrire des phénomènes réels dans un langage informatique nécéssite des connaissances dans les deux domaines, ce qui rend cette partie très intéressante. 1 Aussi 2 Si appelé chef de projet si, cette phrase est de moi ! ! 4 2.2 Jean-Charles ”Flippy” Delay J’ai appris l’existence de ce projet en me documentant sur l’Epita, apprenant par là qu’il s’agit d’un grand classique de cette école. Et c’est entre autre cela qui m’a poussé à me lancer dans les études informatiques tout particulierement dans cette prépa intégrée. J’ai donc attendu avec impatience ce projet, et me réjouis de pouvoir à présent me lancer dans cette « aventure ». En effet, c’est comme cela que je le ressents : six mois de travail en équipe à la réalisation d’un projet commun. Et c’est son aspect commun qui en fait aussi sa particularité. Il faudra alors apprendre à travailler en groupe, chose à laquelle nous, étudiants fraichement sortis de Terminales, n’avont pas été habitués. Mais outre cette caractéristique importante, ce projet sera à l’origine d’un apprentissage incroyable. Il va sans dire que nous serons amenés à travailler comme nous ne l’avons jamais fait, non plus au niveau structurel / relationnel — cohésion et travail de groupe — mais au niveau des méthodes de travail qu’il nous faudra mettre au point et adopter afin de mener à bien ce défi qui nous est lancé. En ce qui concerne la part de travail qui m’a été dédiée pour la réalisation de ce projet, je dois bien m’avouer enthousiaste. En effet je vais m’occuper principalement du moteur graphique de notre jeu, en étroite collaboration avec Jonathan Verrecchia. Il s’agira entre autre de batir l’allure du jeu. Je participerai donc tout principalement à l’aspect le plus visible, à ce que le joueur verra, contrairement à ce qu’il ne verra pas, c’est-à-dire le travail des deux autres membres du groupe, qui s’y interesseront plus au travers le coté physique et « Gameplay ». Dans un second temps, et en parallèle de mon travail principal, je m’attellerai au bon fonctionnement ainsi qu’au maintient du site web du projet : http ://crazy-caddies.free.fr. Ce sera pour moi une expérience nouvelle, ne m’étant jusqu’alors jamais intéressé à la création d’un site web. Cela constituera pour moi l’occasion d’y découvrir le langage html et php tout en travaillant dans la continuité du groupe ainsi qu’en conservant en tête l’optique finale de cette expérience : créer un projet commun nous permettant de développer notre relationel et d’enrichir nos connaissances à travers un exercice captant tout notre intérêt car plaisant aux jeunes informaticiens avides de savoir que nous sommes. 5 2.3 Roman ”Shifty” Pak Quand j’ai appris que le projet était un jeu vidéo, j’ai tout de suite commencé à imaginer toutes sortes de jeux, aussi bien de stratégie que des FPS. Mais en voyant le nombre d’élements constituant un jeu, je me suis très vite rendu compte que la tâche ne serait pas aisée. J’ai donc realisé qu’une personne inactive dans le groupe de travail serait sûrement fatale au projet. En conséquence je me donnerai autant que je le peux dans ce projet. Je ne pense pas avoir d’autres occasions de créer un jeu vidéo. Cette expérience sera donc unique et j’espère que Crazy Caddies sera fini à la fin de l’année. N’ayant que peu d’expérience en programmation, ce projet a tout à m’apporter. Aussi bien dans la communication au sein d’un groupe de projet que dans le domaine de l’informatique. Ayant un fort penchant pour tout ce qui touche de près ou de loin à l’intelligence artificielle, je me suis proposé de développer celle de notre jeu. J’ai aussi accepté la tâche de créer l’éditeur de carte car je pense que cette partie est reliée à l’intelligence artificielle, et notamment au pathfinding. Je suis également chargé de créer le module d’installation et de désinstallation du jeu. 2.4 Jonathan ”Toothy” Verrecchia Lorsque j’ai appris que le premier projet réalisé à EPITA était un jeu vidéo3 , j’ai été très enthousiaste. Et puis je me suis rendu compte au fil des semaines que ce projet était on ne peut plus sérieux, qu’il représentait un investissement très important, qu’il nécéssitait de savoir gérer des délais, respecter un cahier des charges, garder une bonne cohésion de l’équipe, avoir une réelle organisation... Bref, que ce projet — qu’il soit un jeu vidéo ou non — était un vrai projet. Cette expérience peut (et va) nous apporter beaucoup, autant sur le plan technique que relationnel, qui sont deux aspects majeurs dans le travail d’un ingénieur en informatique. C’est pourquoi je compte m’investir le plus possible dans Crazy Caddies, donner le meilleur de moi-même afin de pouvoir réaliser ce que je n’aurai probablement pas l’occasion de refaire dans ma future vie professionelle. 3 Vous devez voir ce genre de phrase des dizaines de fois, ça fera donc une de plus ! 6 Créer un jeu vidéo fait partie des choses que je rêve d’accomplir4 et nous allons avoir la chance de pouvoir le faire cette année. Je me suis porté volontaire pour m’occupper – en collaboration avec Jean-Charles – du moteur graphique. Ce domaine me tient à coeur car je suis particulièrement intéressé par le graphisme, que ce soit sur ordinateur ou sur papier. Une de mes grandes passions étant le dessin, j’espère pouvoir donner à Crazy Caddies une belle allure, sans pour autant qu’il soit une prouesse technique visuelle. De plus, on m’a confié la tâche de m’occupper de l’interface graphique du jeu. Ce qui me satisfait grandement pour les mêmes raisons. Mon objectif est de transmettre au jeu une ambiance assez « fun », à la manière du célèbre Crazy Taxi, dont l’influence sur Crazy Caddies est difficilement dissimulable ! 4 Ça aussi je suppose... 7 Chapitre 3 Découpage du projet 3.1 Répartition Parties Graphique Physique IA Reseau Interface Editeur Audio Site Web 3.2 Marc + + + - Jean-Charles + + Roman + + + - Jonathan + + + - Moteur Graphique Les courses de caddies se dérouleront dans des supermarchés. Nous aurons donc à modéliser des clients, des étalages comportant des produits, des caddies immobiles et le caddie du joueur. Dans le cas d’une partie en réseau, les caddies des autres joueurs devront également apparaı̂tre. La caméra sera placée à la troisième personne : au dessus et à l’arrière du caddie, afin d’avoir une vue large sur l’environnement. Nous utiliserons pour cette partie graphique OpenGL, Delphi 7 et 3DSMAX. 8 3.3 Moteur Physique Cette partie consiste à reproduire tous les phénomènes physiques dans le jeu. Cela influe directement sur le réalisme du jeu en y incorporant toutes les interactions possibles. Par exemple quand un caddie entre en contact avec un mur, il ne passe pas au travers, il ne s’arrête pas net non plus, mais il est repoussé en arrière, selon la force à laquelle il était propulsé. Pour cette partie, ”il faut penser en force”, ça ne veut pas dire qu’il faut réfléchir jusqu’à avoir mal au crâne mais plutôt retranscrire les lois de Newton pour simuler les trajectoires prises par un vrai caddie. Cette partie concerne donc également les commandes du jeu car comme ”on pense en force”, chaque touche pressée appliquera une force au centre de gravité du caddie. Pour cela, nous utiliserons Delphi 7. 3.4 Intelligence Artificielle Ce domaine du jeu sera assez important car il permettra de donner du réalisme au jeu. Ainsi, pour l’environnement du jeu nous avons pensé à ajouter des personnages non-joueurs qui se balladeront dans le niveau suivant un procedé aléatoire. Le nombre de personnages non-joueurs sera défini en fonction de la taille du niveau de difficulté. Ces personnages suivront un chemin dans le niveau qui sera calculé en fonction de leur position actuelle dans le niveau. Le point d’arrivé sera definit aléatoirement. Pour le bon fonctionnement de ces parties, on devra s’assurer que les PNJ ne se retrouveront pas bloqués les uns avec les autres. Il faudra aussi gérer les collisions entre les PNJ et les joueurs. 3.5 Réseau Le réseau concerne exclusivement le mode multijoueurs. Le principe est de permettre à deux PC de pouvoir faire une partie en même temps et réside donc dans le transfert de données en temps réel. En effet, un des joueurs doit voir par exemple la position de son adversaire, or cela n’est possible que s’il reçoit les coordonnées de l’autre caddie. 9 3.6 Interface L’interface du jeu englobe les différents menus ainsi que les éléments qui apparaı̂ssent à l’écran lors d’une partie. Elle devra être colorée et dynamique, pour correspondre avec l’univers et l’ambiance du jeu. La réalisation du logo et de l’interface sera réalisée avec un crayon à papier, un scanner et Adobe Photoshop. 3.7 Editeur de niveaux L’éditeur de niveaux permettra de renouveler le jeu de façon à ce que le joueur ne se lasse pas de jouer tout le temps sur les mêmes cartes. Il faudra respecter plusieurs points. Par exemple il faut obligatoirement qu’il y ait assez de place pour que deux caddies puissent passer dans la même allée sans se retrouver bloqués. 3.8 Audio Pour un plus grand réalisme, les bruitages tels que les chocs seront enregistrés pour etre intégrés au jeu1 . Quant à l’immersion, les musiques seront énergiques et dynamiques, afin de stimuler le joueur. 3.9 Site Web Il se composera d’un menu complet comprenant un accueil avec des news postées périodiquement afin de suivre l’avancée du projet, une section de comptes-rendus des soutenances, une autre de présentation du groupe et de notre projet, et de possibles exécutables qui traduiront l’avancée de Crazy Caddies avant de proposer la version finale une fois le jeu complété. Enfin seront disponibles de liens vers les sites web des différents projets d’autres groupes de la promotion épitéenne 2011. 1 Promis, on n’abı̂mera pas les caddies de Carrefour 10 Chapitre 4 Planning 4.1 Pièces à fournir Le tableau ci-dessous représente la répartition du travail entre chaque soutenance. Le rapport et le plan de chacune d’elles seront fournis. Un rapport de projet ainsi qu’un dossier d’exploitation seront quant à eux préparés pour la dernière d’entre-elles, ce qui clôturera le projet. 4.2 Tableau récapitulatif Tâches Moteurs Graphique Physique Intelligence artificielle Réseau Interface Editeur de niveaux Site web Soutenance 1 Commencé Commencé Commencée Non commencé Non commencée Commencé Avancé 11 Soutenance 2 Avancé Avancé Avancée Commencé Non commencée Avancé Terminé Soutenance 3 Terminé Avancé Avancée Avancé Commencée Avancé Terminé Soutenance 4 Terminé Terminé Terminée Terminé Terminée Terminé Terminé Chapitre 5 Outils et coûts du projet 5.1 Récapitulatif Outils Delphi 7 3DSMAX Photoshop CS 2 Crayons1 Jaquette2 Des courses de caddies 5.2 Coûts (en euros) 1000 6000 1000 2,36 0 Ça n’a pas de prix !3 Conclusion Les coûts s’élèvent à 8002,36 euros. Cependant, les logiciels étant trop chers, nous utiliserons uniquement le PIE de l’ecole. Le coût final du projet est donc de 102,36 euros (100 euros pour les sacs de couchage). 5.3 Notes au lecteur 1. Sachez que nous portons un interêt tout particulier à ce projet donc pour notre santé mentale, nous vous prions de bien vouloir autoriser son développement. 2. Ce cahier des charges a été fait avec du papier recyclé. 1 Jonathan me fait signe qu’il a besoin de crayons à papier pour ses dessins... de ”Barbie, robe de soirée”, piqué à la soeur de Charly... 3 . . .et pour tout le reste, il y a Eurocard Mastercard ! 2 Celle 12