Cahier des Charges - Heroes Of War

Transcription

Cahier des Charges - Heroes Of War
Cahier des charges des SRJ (Info SUP)
CANNET Eric
NOE Romaric
REVOL Adrien
1
SOW Khadija
Heroes of War
SRJ
Cahier des charges
Table des matières
1 Introduction
3
2 Présentation
4
2.1
2.2
Du groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Principe du jeu
3.1
3.2
3.3
3.4
3.5
Début et victoire
Déroulement d'un
Ville . . . . . . .
Unités . . . . . .
Autres . . . . . .
. . .
tour
. . .
. . .
. . .
4 Découpage du projet
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
Moteur du jeu . . . .
Moteur physique . .
Moteur graphique . .
Intelligence articielle
Réseau . . . . . . . .
Base de données . . .
Son/musique . . . .
Entrée/Sortie . . . .
Site web . . . . . . .
Installation . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
5
5
5
6
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Répartition des tâches
Calendrier . . . . . . .
Congs persos . . . . .
Liste de logiciels . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 9
. 9
. 10
. 10
5 Organisation
5.1
5.2
5.3
5.4
.
.
.
.
.
4
4
6 Conclusion
7
7
7
7
7
7
8
8
8
8
9
10
2
Heroes of War
1
Cahier des charges
SRJ
Introduction
Voici le cahier des charges des Super Réalisateurs de Jeu (SRJ) qui va vous présenter
notre projet Heroes of War. Après la présentation globale nous allons vous expliquer le
principe du jeu. Ensuite nous montrerons notre découpage du projet et l'organisation de
notre groupe.
Le continent d'Arkaban est depuis toujours peuplé de Wolfens. Ces loups géants ont
vu passer plusieurs races et leur ont toujours survécu. Peuplant principalement les forêts,
ils en sont les maîtres et les protecteurs. Pour eux, l'arrivée des hommes et leurs créations
ne sont q'un passage de plus dans leur longue histoire.
Lorsque les humains sont arrivés, ils étaient tous unis et ont fondé un royaume, ils
se sont appropriés tout le continent sauf les grandes et profondes forêts qui, défendues
par les sauvages Wolfens, restèrent imprenables. Ce qui imposa un pacte de non-agression
forcé.
Ce que rent les Humains ensuite ne regarde pas les Wolfens. Les Humains se divisèrent rapidement en deux groupes très distincts. Les uns souhaitant le maintien de la
situation et la prospérité, les autres se tournant petit à petit vers la magie noire et la
manipulation génétique, les Alchimistes. Leurs résultats fûrent tenus secret et lorsqu'une
légion d'humanoïde mi-homme, mi-rat, aux ordres des mages, envahirent la ère capitale.
Ceux qui ne furent pas massacrés fuirent rapidement dans les montagnes.
Aujourd'hui ils cherchent encore à se venger de cette trahison mais leur principal but
reste de survivre à la traque des Alchimistes et de leur créations. D'autant plus que les
Wolfens refusent obstinément leurs propositions d'alliances.
Les Skavens, puisqu'ainsi furent nommés les semi-rat, quant à eux, se dispersent petit
à petit, se répandant telle de la vermine. Les Alchimistes les croient sous contrôle et les
utilisent comme esclaves mais ils sont loin de se douter que leur créations se renforcent
de jour en jour et qu'ils ne seront pas capables de les contrôler lors de leur révolte.
3
Heroes of War
2
Cahier des charges
SRJ
Présentation
2.1 Du groupe
Notre groupe est composé de quatre personnes :
- deux en B2 : CANNET Eric, NOE Romaric
- deux en C1 : REVOL Adrien, SOW Khadija
CANNET Eric : J'ai déjà programmé sur TI83 mais aussi sur pc en C++ et DirectX
mais pas le Delphi. J'ai aussi quelques souvenirs de HTML. Ce projet va me permettre
découvir comment se déroule un projet structuré et à plusieurs.
NOE Romaric : Je n'ai fait qu'un peu de programmation sur calculatrice et je ne
connais que quelques commandes en C. Ce projet va me permettre de découvrir plus profondément un langage de programmation et de m'investir sur un projet à plus long terme.
REVOL Adrien : je n'ai encore jamais programmé, mais je connais les langages html,
php et les bases de données mysql, je m'occuperais donc du site web. Je suis assez intéressé
par le réseau, je vais donc plus me pencher sur cet aspect du projet.
SOW Khadija : J'ai déjà programmé en pascal sur pc et je connais aussi un peu le
html. Ce projet va me permettre de découvrir les diérentes étapes de la fabrication d'un
jeu. Je compte m'occuper de tout ce qui concerne le codage : l'intelligence articielle et
peut-être le moteur physique.
2.2 Du projet
Notre projet est un jeu de stratégie au tour par tour. C'est à dire que chaque joueur
joue l'un après l'autre, le déplacement des unités se faisant en temps réel pendant son
tour. Lors de son tour un joueur peut construire des bâtiments dans sa ville, créer des
unités, déplacer ses unités ou attaquer des unités adverses.
4
Heroes of War
3
Cahier des charges
SRJ
Principe du jeu
3.1 Début et victoire
Le jeu se basera sur un système de ville qu'il faudra gérer et défendre. Chaque joueur
débutera la partie avec une ville, une armée de taille modulable dans les options de début
de partie et d'une quantité de ressources réglables également. La ville sera d'une grande
importance puisque sa perte entraînera la défaite du joueur. De même, pour gagner, un
joueur devra capturer les villes de tous ses adversaires.
3.2 Déroulement d'un tour
Chaque tour permettra au joueur de déplacer toutes ses unités, d'attaquer ses adversaires. . .Pour cela chaque unités possèdera un certain nombre de points d'actions (PA) qui
sera regénéré au début de chaque tour. Chaque action lui en coûtera un certain nombre
en fonction de sa diculté. Durant son tour, le joueur pourra également gérer sa ville en
distribuant sa population ou en ordonnant la création d'unités ou de batiments.
3.3 Ville
La ville sera entièrement gérée par le joueur qui, à chaque tour de jeu, pourra ordonner
la construction de bâtiments ou le recrutement d'unités. Suivant l'importance du bâtiment
ou la puissance de l'unité, le temps de construction pourra varier. Les ressources que le
joueur devra utiliser pour gérer sa ville seront : Or, Mana, Bois et Pierre. Ces ressources
seront récoltées par la population de la ville qui sera répartie en pourcentage dans ces
diérentes tâches. La population augmentera d'elle même mais chaque unité créée sera
ôtée de cette population. Chaque ville, occupée par un joueur adverse et ne possédant
pas de troupes lui appartenant, passera sous le contrôle du joueur, entraînant la perte du
joueur à qui appartenait la ville sauf si celui-ci en possède encore une autre.
3.4 Unités
Le joueur pourra sélectionner en début de partie une race de son choix selon la stratégie
qu'il voudra appliquer ou selon sa technique de jeu :
Les Wolfens : Des loups géants très puissants mais rapidement dépassés par le
nombre.
Les Rebelles : Des Humains fondamentalement bons et plutôt équilibrés(oui, "humains équilibrés", tout est permis dans un monde fantastique. . .).
Les Skavens : Des créatures mi-rat mi-homme, très nombreux et erayants mais
plutôt faibles et mal équipés.
5
Heroes of War
Cahier des charges
SRJ
Les Alchimistes : Des Humains cruels se basant beaucoup sur la magie noire et
de très bons tireurs se camouant derrière une multitude de clônes sacriables à
souhait.
Chaque race possédera ses unités propres et possédera diérents avantages. Les unités
auront à chaque tour un certain nombre de points d'action et chaque action leur en
retirera. Ainsi les cavaliers par exemple auront un coût de déplacement plus faible, ce qui
leur permettra d'avancer plus librement, de même que toutes les unités montées.
3.5 Autres
Pour augmenter l'intérêt du jeu en début de partie la carte sera parsemée de groupes
de créatures neutres qui défendront des passages spéciaux ou des mines, ils attaqueront
tous les joueurs qui rentreront dans une zone prédénie. Chaque joueur aura également la
possibilité de recruter un héro par ville. Ce héro pourra gagner des points d'expérience et
aura des capacités le rendant très puissant. Autour des villes seront aussi positionnées des
mines qui, lorsqu'elles appartiendront à un joueur, lui apporteront un bonus de production
dans la ressource de la mine.
6
Heroes of War
4
Cahier des charges
SRJ
Découpage du projet
4.1 Moteur du jeu
Le moteur de jeu est la partie du projet qui fait la connection et qui utilise toutes les
autres. En eet, il se présente sous la forme d'une boucle innie qui appelle successivement
les diérentes fonctions. En premier l'entrée et sortie pour recevoir les "ordres" du joueur
puis le réseau et nira par le moteur physique, graphique et son.
4.2 Moteur physique
Il s'occupe de la cohérence du tableau qui représente la carte, c'est à dire de faire
en sorte qu'il n'y ait pas deux "obstacles" sur la même case. Par obstacle, on entend :
bâtiment, unité, arbre et rocher.
4.3 Moteur graphique
Le moteur graphique s'occupe de ce tout qui se rapporte à l'achage. Il devra donc afcher la carte ainsi que toutes les unités et bâtiments. Pour cela nous utiliserons OpenGL.
La carte sera sous forme d'un tableau à deux dimensions et chaque unité et bâtiment sera
enregistré dans ce tableau. Le but du moteur sera donc d'acher la bonne partie du tableau. Mais il devra aussi acher une interface graphique qui servira à commander les
unités, créer les bâtiments. . .
4.4 Intelligence articielle
Elle permet de gérer le path-nding nécessaire pour le déplacement des unités. Le
path-nding se fera grâce aux cases du tableau à 2 dimensions.
4.5 Réseau
Notre jeu sera basé sur le principe d'échange d'informations entre un server et un/des
client(s). Lors de la création d'une nouvelle partie sur un pc, un server est créé sur celui-ci.
Ensuite, d'autres ordinateurs peuvent se connecter à ce dernier, et lorsque tous les joueurs
sont prêts, la partie commence.
A chaque action valide d'un joueur, les informations la concernant sont envoyés au serveur,
lequel les renverra à tous les clients connectés. Le server attend alors la prochaine action.
4.6 Base de données
An d'enregistrer, de modier et de charger plus facilement les diérents paramètres
du jeu, tel que les caractéristiques des créatures, des batiments. . .nous utiliserons une base
7
Heroes of War
Cahier des charges
SRJ
de données mysql. En revanche cette base de donnée ne sera pas modiable en cours de
partie.
4.7 Son/musique
Pour réaliser la musique d'ambiance et les diérents sons d'animations, nous allons
utiliser l'API FMod.
4.8 Entrée/Sortie
Tout d'abord, au niveau des entrées nous allons utiliser le clavier et la souris. Ils
permettront au joueur d'agir sur le jeu, de donner ses ordres à ses troupes, de créer les
batiments, de se déplacer sur la carte... Pour ce qui est des périphériques de sortie, nous
utiliserons l'écran, avec l'achage graphique du jeu, ainsi que les enceintes pour jouer les
sons et musiques.
4.9 Site web
Le site web sera le regroupement des informations que nous regrouperons pour notre
projet. Il y a une partie "news" pour que chacun de nous mette son avancement dans le
projet au fur et à mesure. Une section "liens utiles" pour rassembler les sites que nous
utilisons le plus, et dans l'administration une zone "upload", pour mettre en commun
tous les chiers de notre projet, disponible partout. Url : http ://heroesofwar.free.fr
4.10 Installation
Nous ne sommes pas encore tout à fait xés sur le logiciel d'installation mais nous
utiliserons sûrement l'un des logiciels de windows tels que WinInstall.
8
Heroes of War
5
SRJ
Cahier des charges
Organisation
5.1 Répartition des tâches
Pour faciliter le développement le projet a été découpé en plusieurs parties.
Partie
Moteur du jeu
Moteur graphique : Map
Moteur graphique : Editeur
Moteur Physique
Réseau
Interaction Homme-Machine
I.A. : Pathnding
I.A. : PNJ
Son et musique
Base de données
Site web
Adrien
X
Eric
X
N
Khadija
X
X
Romaric
N
X
N
X
N
X
N
X
X
N
X
N
N
X
N
N
X
N
X
5.2 Calendrier
Moteur du jeu
Moteur graphique : Map
Moteur graphique : Editeur
Moteur Physique
Réseau
Interaction Homme-Machine
I.A. : PNJ
I.A. : Pathnding
Son et musique
Base de données
Site web
Soutenance 1
X
X
X
X
X
X
X
Soutenance 2
X
X
X
X
X
X
X
X
X
X
Soutenance 3
X
X
Soutenance nale
X
X
X
X
X
X
X
X
X
X
9
Heroes of War
SRJ
Cahier des charges
5.3 Congs persos
Voici les congurations matérielles sur lesquelles le jeu sera testé :
Nom
Adrien
Eric
Eric
Khadija
Romaric
Processeur
AMD Athlon XP 1800+
AMD 800 MHz
Pentium 4 3,06GHz
Pentium 4
Pentium 4 1,8GHz
Carte graphique
GF 4 Mx440 64MB
GF 4 MX440 64MB
GF 5100 Go 128MB
GF 64MB
ATI 9600 128MB
Ram
256DDR
312SDR
512DDR
256DDR
512DDR
Systeme d'exploitation
Windows XP Pro
Windows XP Pro
Windows XP Famille
Windows XP
Windows XP Pro
5.4 Liste de logiciels
Pour réaliser notre projet nous allons utiliser les logiciels ci-dessous :
Delphi 7.0
WinEdt 5.3
Miktex 2.4
Gsview
Bloc note
Photoshop 7.0
Gimp 2.0
Soit un budet assez élevé dont nous ne nous soucions pas.
6
Conclusion
Ce projet va nous permettre de nous investir dans un projet d'une grande ampleur
dans le domaine qui nous passionne et nous impressionne. Un tel projet va nous apporter
une méthode de travail en groupe. Nous allons apprendre non seulement un nouveau
langage mais également des techniques de programmation telles que la mise en place d'un
réseau ou des algorithmes avec notamment le pathnding. L'idée de ne pas pouvoir faire
de jeu les autres années de l'EPITA nous motive un maximum pour tout faire pour que
celui-ci soit parfait !
10