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