Cahier des charges

Transcription

Cahier des charges
Projet
L A JOY E Fabien
Info SUP Promo 2008
BINET
GERMON
RU Y
D
Benoit
P E RO N Rem
i
Thibau
d
As :
Present :
Cahier des charges
Cahier des charges
Projet 2008
Table des matières
1
Introduction
2
2
Présentation
2.1 du groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2
2
3
Découpage
3.1 plan général . . . . . .
3.2 moteur du jeu . . . . .
3.3 moteur physique . . . .
3.4 réseau . . . . . . . . .
3.5 graphismes . . . . . .
3.6 gestion des E/S . . . .
3.7 site web . . . . . . . .
3.8 installation . . . . . . .
3.9 autres (manuels, CD...)
.
.
.
.
.
.
.
.
.
3
4
5
5
5
5
5
6
6
6
4
Organisation
4.1 Qui fait quoi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Moyens mis en oeuvre / coût . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Echéances/planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
7
8
5
Conclusion
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Cahier des charges
1
Projet 2008
Introduction
Vous avez entre les mains (ou sur l’écran de votre ordinateur. . .) le cahier des charges du
futur jeu T HE L AST C HANCE, un jeu de rôle (RPG) qui sera développé en Pascal/Delphi. Vous
allez ici apprendre tout ce que vous avez besoin de savoir concernant la mise en oeuvre de la
réalisation de ce projet : présentation, découpage du projet et organisation de la réalisation.
2
Présentation
2.1
du groupe
Notre groupe est composé de :
L AJOYE Fabien : Programmant jusqu’alors en C et CAML, ce projet va lui permettre de découvrir un autre langage de programmation ainsi que lui permettre d’avoir une vue d’ensemble
de l’organisation et de la réalisation d’une application aboutie notamment par sa position
de chef de projet.
G ERMOND Benoit : Expérimenté dans la réalisation multimédia, notamment le graphisme
2D, la programmation web, les bases de données et le réseau. Il recherche via ce projet
a développer ses connaissances en programmation et veut avoir un aperçu d’un travail
d’envergure.
B INETRUY Thibaud : S’intéresse également au multimédia, utilisant des logiciels tels que
Flash, Photoshop et Goldwave. Il n’a que peu de notions de programmation mais compte
bien apprendre le pascal/delphi grâce à la réalisation de ce projet.
P ERON Remi : Possède des notions de programmation Basic et Ti89. Ce projet est pour lui un
atout pour l’apprentissage de tout les aspects que peut lui offrir la programmation notamment grâce au travail de groupe.
2.2
du projet
Notre projet de cette année à pour but la réalisation d’un jeu de rôle de type MMORPG (Massive Multiplayer Online Role Playing Game) qui reste toutefois jouable par une seule personne
(ie. avec un scénario et comportant une fin). Les combats ne pourront voir s’opposer que deux
joueurs dans un mode combat en vue 2D de côté, façon "Street Fighter". De plus le système
de points d’expérience propre aux RPG habituels laissera place à une difficulté grandissante au
cours de la partie et donc le joueur n’a pas à faire progresser son personnage mais à progresser
lui même.
Afin d’avoir un jeu entièrement exploitable et par de nombreuse personnes à la fois (et par un
souci également de non-violence. . .) les perdants d’un combat ne seront pas éliminés, ils seront
seulement assommés un bref instant laissant le loisir au vainqueur de fouiller dans leur inventaire
récupérant tout objet ou monnaie qui lui semblera utile.
2
Cahier des charges
Projet 2008
Le joueur devrait avoir une grande liberté de mouvement dans la mesure où :
– Il ne sera jamais limité dans sa liberté de déplacement : dès le départ tout le monde représenté par le jeu lui sera accessible, c’est à lui de ne pas s’aventurer dans les endroits qu’il
jugera trop dangereux.
– Tout les personnages (y compris donc les PNJ (Personnages Non Joueurs)) peuvent être
affrontés lors d’un combat. Si un PNJ ayant des renseignements précieux pour le joueur
est battu, il refusera très probablement céder ceux-ci au joueur en question, le joueur ne
pourra donc pas y accéder et devra faire sans, à moins qu’un autre PNJ connaisse ces
renseignements (ou qu’il soit très convaincant envers le PNJ battu. . .). De plus il y a de très
forte chances qu’un PNJ battu s’enfuie en courant dès la fin du combat.
– Le joueur devra tenir compte de sa popularité auprès des PNJ : si il dérange (par ses questions ou accusations) ou combat un PNJ sans raison, celui-ci pourra être plus agressif
envers le joueur à l’avenir. De même tous les autres PNJ croisés par celui-ci pourrons avoir
un préavis négatif sur le joueur.
– Tous les objets devraient pouvoir être utilisés par le joueur (même s’ils n’ont aucun effet
ni aucune utilité).
3
Découpage
Le jeu sera découpé en plusieurs sous parties traitées séparément. Il aura deux composantes
principales, à savoir le serveur et le client. Le serveur gérant la totalité de la partie, et le client
gérant l’interaction entre le joueur et le serveur (déplacements et actions du joueur, interprétation
des informations reçues par le serveur afin calculer l’écran de sortie).
3
Cahier des charges
3.1
Projet 2008
plan général
4
Cahier des charges
3.2
Projet 2008
moteur du jeu
Le moteur du jeu fonctionne sur le principe de la boucle infinie : attente des commandes de
l’utilisateur, interprétation de celles-ci puis appel des fonctions liées à ces commandes.
Il s’agit du point d’entrée du programme, il est lancé en même temps que le jeu. Il appelle toutes
les autres fonctions nécessaires au bon fonctionnement du jeu.
Dans notre organisation, le moteur du jeu est découpé en deux : le client qui est appelé par le
joueur (via Windows bien sûr) et le serveur qui est appelé par le client. Le serveur sera lancé au
début de chaque nouvelle partie de manière transparente pour l’utilisateur sans différenciation
de mode un seul joueur et multijoueurs. Les autres joueurs d’une partie multijoueurs pourront
ensuite se connecter à la partie commencée via un menu présent à cet effet.
3.3
moteur physique
Le moteur physique gère tout l’aspect physique (vous l’auriez deviné. . .) du monde que nous
créons. Il s’occupe de calculer les déplacements des joueurs, les collisions de ceux-ci avec les
différents objets, décors et autres personnages du jeu. Il gère également les effets des actions des
joueurs (prendre tel objet, déplacer ceci,. . .).
Il sera intégré au serveur qui effectuera donc les calculs pour tous les clients qui y sont connectés.
3.4
réseau
La couche réseau sera en grande partie mélangée avec le moteur du jeu étant donné que celuici repose entièrement dessus. Elle s’occupera de commander la discussion client/serveur via le
protocole TCP/IP.
Si un combat a lieu entre deux joueurs, ceux-ci seront mis en liaison directe afin de décharger le
serveur et de limiter les risques de ralentissements (lags).
3.5
graphismes
Il y aura deux moteurs graphique :
Le premier en 3D isométrique représentera le monde dans lequel le joueurs évoluera (vue de
dessus penchée façon "Starcraft"). il calculera l’écran de sortie en fonction des informations
envoyées par le serveur.
Le second en 2D sera dédié au mode combat (vue de côté à la "Street Fighter"), dans ce cas là
les informations de mouvement seront récoltées directement sur la machine de l’adversaire.
3.6
gestion des E/S
La gestion des entrées sorties concerne la conversation avec Windows.
Pour les entrées : récupération de la position de la souris, gestion des appuis sur les touches
(clavier et souris), possibilité de personnaliser ces paramètres.
Pour les sorties : Affichage à l’écran, sons (musique et bruitages).
5
Cahier des charges
3.7
Projet 2008
site web
Un site web sera développé parallèlement au projet. Sa mise en place sera faite dès lors que
le projet aura un minimum de consistance (très probablement à l’adresse
http ://thelastchance.epita2008.com mais cela reste à confirmer).
Il contiendra ce cahier des charges, une présentation du jeu et de l’histoire du jeu, une présentation de chacun des membres, les liens et la bibliographie que nous aurons utilisée et bien sûr
l’intégralité des sources du projet et de la documentation.
Il sera développé de manière statique en html afin de pouvoir être exécuté sans installation préalable (par exemple depuis le CD qui est à rendre à la fin de l’année).
3.8
installation
Nous utiliserons très probablement le logiciel InstallShield de Microsoft qui est fourni avec
Windows afin de faire une installation et une désinstallation propres qui ne nécessitent pas d’autre
intervention de l’utilisateur.
3.9
autres (manuels, CD...)
Le manuel sera, de même que ce cahier des charge, entièrement tapé en LATEX (MiKTEX) et
compilé en format PDF (qui à l’avantage d’être très répandu et sur de nombreuses plate-formes).
Le CD sera fourni avec une jaquette personnalisé (voire peut être même avec un packaging
complet comprenant boite et manuel. . .si nous arrivons à trouver une solution à moindre coût), il
contiendra l’intégralité de ce que nous auront fait pour ce projet.
4
4.1
Organisation
Qui fait quoi ?
Le projet a été découpé (encore plus finement qu’au dessus) afin de pouvoir développer
chaque partie de manière indépendante (après bien sûr avoir définie une convention de communication entre celles-ci). A chaque partie, on a attribué un responsable parmi les membres du
groupe (en tenant compte bien sûr de ce que chacun avait envie d’apprendre) qui sera chargé
d’organiser le développement de celle-ci, d’autres membre du groupes sont affectés à ces parties
ce qui signifie qu’ils y collaborent activement (de toute façons tout le monde touchera à toutes
les parties du jeu. . .).
6
Cahier des charges
Projet 2008
La répartition est la suivante (⊗ pour le responsable) :
Moteur du Jeu
Moteur physique
Moteurs Graphiques :
- Mode aventure
- Mode combat
Graphisme (animations, dessins)
Menus, boites de dialogues
Intelligence artificielle :
- déplacements
- PNJ
- Combats
Réseau
Intéraction homme-machine
Base de donnée
Site web
4.2
Rémi
×
×
Thibaud
×
×
⊗
×
Fabien
⊗
⊗
Benoit
×
×
⊗
×
⊗
⊗
⊗
×
×
⊗
×
×
⊗
×
×
⊗
×
×
⊗
×
⊗
⊗
Moyens mis en oeuvre / coût
Au niveau de notre l’organisation nous avons l’intention de consacrer chacun au minimum
une à deux heures par jour à ce projet (selon notre emploi du temps bien évidemment) et de nous
concerter en groupe (afin de faire un bilan, de voir les difficultés de chacun, de décider des prochaines directives. . .) au minimum une à deux fois par semaine, voire plus si le besoin s’en fait
sentir. Nous communiquons également via l’Internet grâce au serveur mis en place par Benoît
nous permettant d’avoir un chat, un news group, un ftp et un messager instantané via une unique
interface, le tout étant consacré uniquement à ce projet.
Au niveau maintenant de l’investissement matériel :
Nos machines :
Nom
Thibaud
Benoit
Rémi
Fabien
CPU
XP1700+
XP2000+
XP3000+
XP1800+
RAM
384Mo SDR
1Go DDR
512Mo DDR
512Mo SDram
Carte graphique
Ati Radeon 9700
NVidia GeForce 4 Ti 4200
NVidia GeForce FX 5200
NVidia GeForce 4 Ti 4200
7
HD
140Go
240Go
120Go
120Go
Systeme d’exploitation
Windows XP Pro
Windows 2003 Serveur
Windows XP Home
Windows 2000 Pro
Valeur
1000e
3000e
1700e
1000e
Cahier des charges
Projet 2008
Les logiciels que nous allons utiliser :
Logiciel
Editeur
Type
Photoshop 7
Adobe
Image
Go Live 6
Adobe
Site web
Dreamweaver
Macromedia
Site web
Flash 6
Macromedia
Site web
Poser 5
Metacreations
Animation
After effect 5.5
Adobe
Effets spéciaux
Delphi 7.0
Borland
Programmation
MiKTEX
MiKTEX
Texte
Notepad
Microsoft
Texte
Installshiled
Microsoft
Installation
Paint
Microsoft
Image
Prix
1180e
540e
572e
716e
434e
2869e
1162e
0e
0e
0e
0e
Auxquels il faut ajouter beaucoup de sandwichs, cafés, heures de sommeil, vie sociale. . . Qui
ont un coût que nous ne pouvons encore estimer.
Le projet devrait donc représenter un investissement théorique d’environ 15 000e.
4.3
Echéances/planning
Le planning que nous espérons pouvoir suivre est le suivant :
8
Cahier des charges
Projet 2008
Soit dans un premier temps une recherche et une documentation sur tout ce que nous aurons
besoin, le moteur du jeu et le moteur physique devraient être fait au deux-tiers et le serveur
quasiment fini pour la deuxième soutenance, les moteurs graphiques arriveront à leur terme à la
troisième soutenance ainsi que les IA. Le scénario et tout ce qui y est lié (image, sons. . .) seront
ajouté dès que les composantes du jeu seront suffisamment abouties.
5
Conclusion
Ce projet est l’occasion pour nous tous de réaliser quelque chose de formidable que nous
aurons eu du mal à croire possible avant notre arrivée à l’E PITA .Nous allons pouvoir développer
toutes les composantes d’un jeu, du moteur de jeu lui-même en passant par les moteurs graphique
et physique, l’intelligence artificielle, la couche réseau jusqu’au manuel et au packaging, tout en
conservant une grande liberté sur sa réalisation et sa mise en oeuvre. C’est aussi pour nous
l’occasion d’apprendre à travailler en groupe, à s’organiser en gérant les contraintes au niveau
du temps, de son propre temps et de celui des autres, au niveau des connaissances qu’il faut
acquérir au fur et à mesure sans perdre de vue l’objectif final et sans s’enliser dans des détails et
au niveau de la programmation bien sûr puisque après la réalisation de ce projet nous pourrons
dire que nous maîtrisons une grande partie de la programmation en Pascal/Delphi. Nous avons
la motivation nécessaire à réaliser ce qui nous plaît maintenant il ne nous reste plus qu’à montrer
que nous sommes prêts à aller jusqu’au bout !
9