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