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