CAHIER DES CHARGES

Introduction P. 3

1. Origine et nature du projet. P. 4

2. Objet de l’étude. P. 5

3. Découpage du projet.

3.1. La conception des graphismes 2D et 3D. P. 6

3.2. La gestion des graphismes 2D et 3D. P. 6

3.3. La gestion de l’interface graphique. P. 7

3.4. Conception et gestion du son. P. 7

3.5. la modélisation physique du jeu. P. 7

3.6. L’intelligence Artificielle. P. 8

3.7. Packaging. P. 8

4. Organisation des soutenances.

4.1. Site Web P. 9

4.2. Calendriers des soutenances P. 9

 

Introduction

Dans le cadre du programme d’algorithmique d’Info Sup, nous devons réaliser un projet informatique dont le thème est libre.

La première étape a été de créer un groupe de travail, étape qui n’était pas si facile puisque nous ne nous connaissions pas en début d’année. Cependant, après quelque jours seulement, nous avons fait connaissance, nous sommes liés d’amitié et avons décidé de réaliser ensemble ce projet. Nôtre groupe de travail se compose de trois personnes : de Clarens Cédric B1, Gastoud Florent B2 et Hallouin Philippe B2.

Ensuite, durant plusieurs jours, nous avons réfléchi sur la nature du projet que nous voulions et pouvions réaliser, choix qui n’a pas été aussi simple que cela.

Une fois que nous avons eu une idée assez claire et précise de ce que nous désirions faire, nous avons réfléchi sur le contenu de ce projet qui devait être à notre portée. De plus, il a aussi fallu penser à la répartition des tâches, répartition fondamentale puisque c’est sur elle que repose l’efficacité d’un travail collectif.

Finalement, il fallait penser à répartir dans le temps les différentes parties de notre projet, répartition qui était très importante puisqu’elle nous permettait, à la fois de prendre conscience du travail réel à effectuer, mais aussi de savoir si notre projet était réalisable.

Ainsi, nous verrons dans une première partie la nature et l’origine du projet, c’est à dire le Quoi. Ensuite, nous aborderons les objets de notre étude. Cette brève partie sera suivie du découpage du projet. Nous aborderons alors l’aspect fonctionnel, c’est à dire ce qui doit être réalisé, et l’aspect technologique et méthodique, à savoir les moyens matériels et intellectuels mis en œuvre. De plus nous ferons allusion à l’aspect opérationnel de notre projet. Dans une quatrième et dernière partie nous verrons finalement le contenu de chaque soutenance.

retour au sommaire

1. Origine et nature du projet

Notre première idée était un logiciel de Hot-Line. Mais cette idée ayant déjà était réalisée l’an dernier, nous avons décidés de réfléchir à un autre projet.

Une alternative se proposait maintenant à nous ; une alternative c’est à dire deux possibilités : un logiciel ou un jeu.

Après réflexion, nous avons opté pour un jeu, d’autant plus que ce type de projet est autorisé en Sup. mais plus en Spé. Il fallait alors choisir une catégorie précise de jeu parmi les multiples qui se présentaient à nous :

arcades, doom like, plateau, shoot’em up, simulation …

Tous ces types de jeu nécessitent des graphismes évolués, mais aucun d’entre nous n’avaient les connaissances pour la réalisation de tels graphismes.

De ce fait, seule la catégorie des jeux de stratégies, nécessitant un minimum de graphismes, nous étaient accessibles.

Parmi les jeux de réflexion, on peut distinguer :

le backgammon, les dames, les échecs, le ScrabbleÒ

et notamment le billard, style de jeu très peu exploité.

Une nouvelle fois, un choix s’imposait, puisqu’il existe de nombreux types de jeu de billard. Parmi eux, nous avons choisi le Pool en raison de la trop grande difficulté à gérer les boules (toutes de couleurs différentes et présentant des nombres en surface) dans les autres types de billard.

Par conséquent, nous avons donc décidé de nous lancer dans la conception d’un jeu de réflexion, un billard qui se nommera : PoolMaster 1.0 .

retour au sommaire

2. Objet de l'étude

Le but de ce projet est de réaliser un jeu dans sa totalité, c’est à dire de l’idée à l’exécutable.

De ce fait, nous allons apprendre à gérer de nombreux paramètres :

Le premier est évident est découle de la signification même du nom commun projet : se pro-jeter dans le futur. Donc il faudra anticiper et savoir par avance ce que l’on sera capable de faire.

Le deuxième est d’apprendre à gérer le temps : calendrier des soutenances.

Le troisième est d’apprendre à travailler de manière collective : intégrer un travail réalisé individuellement dans un projet collectif.

Donc l’intérêt de notre projet est clair :

ouverture à la programmation

découverte d’une situation de travail analogue à celle rencontrée en entreprise

jouer à notre propre jeu

retour au sommaire

3. Découpage du projet

Notons que le projet sera développé sous Delphi® 3.01. Nous aurons ainsi la possibilité d’utiliser les composants Windows®, la richesse de l’information 32 bits et une meilleur gestion des périphériques.

D’autre part, nous utiliserons le matériel suivant :

    n Intel Pentium II : deux 400 Mhz et un 266 Mhz

    n Capacité totale RAM : 512 Mo (256, 192, 64)

    n Capacité totale mémoire de masse : 15.3 Go en SCSI

    n Deux graveurs

    n Deux scanners

retour au sommaire

3.1 La conception des graphismes 2D & 3D

Nous avons décidé de gérer des graphismes en 3D pour rendre le jeu plus réaliste et surtout plus convivial. Effectivement les choix d’angle de vue permettent de mieux affiner les trajectoires et donc de mieux se rapprocher de la réalité.

De plus il faut noter que cette partie est primordiale puisque c’est sur elle que repose toute l’interface du jeu (entre l’humain et la machine).

Les graphismes 2D vont être le Logo, l’icône, les photos des développeurs.

Le logo représente le nom du jeu, à savoir " PoolMaster ". Le " p " de " Pool " sera composé d’une queue de billard et d’un demi cercle. Les deux " o " seront des boules de billards, une jaune et une rouge et ils contiendront 9 et 8 (année de conception du jeu). Le " a " sera représenter par le logo de l’Epita.

Les graphismes 3D vont être les décors et le billard (boules et queue).

La salle de billard contiendra les éléments suivants : quatre murs, un plafond blanc cassé, un sol, un porte queue, trois lampes, une note explicative des règles du jeu.

Le billard de type américain contiendra : sept boules jaunes, sept boules rouges ainsi qu’une noire et une blanche, la queue en bois.

Les graphismes seront développés sous Windows® NT 4.0 et les logiciels utilisés seront :

pour la conception des graphismes 2D : Adobe Photoshop® 4.0 et Paint Shop Pro® 4.11

pour la conception des graphismes 3D : 3D Studio Max® 2.0.

Cette partie du projet sera réalisée par Philippe Hallouin.

retour au sommaire

3.2 La gestion des graphismes 2D & 3D

Pour insérer les graphismes 3D dans notre jeu nous utiliserons un moteur 3D.

Les graphismes 2D seront gérés directement à partir des fonctionnalités que nous offre le programme Delphi.

Cette partie sera réalisée par Florent Gastoud et Philippe Hallouin.

retour au sommaire

3.3 La gestion de l'interface graphique

L’interface graphique comprendra une vidéo d’introduction, un affichage du logo " PoolMaster ", une page d’accueil et ses liens associés.

La vidéo d’introduction présentera les développeurs en train de jouer au billard.

Logiciels utilisés pour le traitement vidéo : Adobe® Première 5.0 et Ulead® Video Editor.

Note : cette vidéo pourra être arrêtée lorsque l’on appuiera sur une touche du clavier ou un bouton de la souris.

Viendra ensuite le logo (précisé en 3.1)

Puis la page d’accueil : elle comportera les choix suivants :

    nJouer : permet d’accéder au jeu.

    nAide : permet d’accéder au fichier d’aide et aux règles du jeu.

    nCrédits : proposera une présentation en image des développeurs.

    nParamétrage du jeu : permettra de configurer le jeu : difficulté (niveau de réflexion de l‘IA), qualité des rebonds contre les bandes, type de surface du tapis.

Note : l’intelligence artificielle destinée à gérer le jeu de l’ordinateur sera présentée dans la partie 3.6.

Cédric de Clarens s’occupera de la gestion de l’interface graphique.

retour au sommaire

3.4 Conception et gestion du son

Pour un rendu plus réaliste de la partie des événements sonores, comme la collision entre les boules, les rebonds contre les bandes du billard, vont être incorporés. Ces sons seront enregistrés par nos soins.

Dans les menus, il y aura une musique de fond, ainsi que des événements sonores associés à chaque bouton.

Pour travailler le son nous utiliserons le logiciel Sound Forge 4.0.

Cédric de Clarens se consacrera à cette tâche.

retour au sommaire

3.5 La modélisation physique du jeu

Le mouvement des boules, sur le plateau de jeu sera géré à l’aide d’un algorithme qui représentera au mieux la réalité…

Nous allons simuler le mouvement des boules en considérant un certain nombres de paramètres, ce qui rendra le jeu réaliste : nous ferons ainsi un simulateur de billard. Les paramètres que nous allons intégrer dans l’algorithme sont : les frottements en général ; les rebonds ; les trajectoires (effet inclus : rotation des boules sur elles-mêmes) ; l’inclinaison du billard ; rugosité du tapis ; l’élasticité des bandes ; l‘attraction gravitationnelle.

Note : l’algorithme permettra à l’utilisateur de choisir son point d’impact (parmi neuf) de la queue sur la boule, ce qui donnera de l’effet à celle-ci et rendra la partie encore plus réaliste.

Bien entendu, tous les paramètres cités précédemment seront ajustables.

De plus, pour représenter au mieux le mouvement des boules, nous allons considérer quatre éléments qui permettent de caractériser à eux seuls la trajectoire d'une boule. Ces quatre éléments sont : les coordonnées du centre de gravité de la boule, l'énergie cinétique qu'elle transporte, la direction dans laquelle elle se déplace, la vitesse de rotation de la boule sur elle-même dans deux plans (horizontal et vertical).

Ainsi nous pouvons imiter de manière satisfaisante la réalité.

Florent Gastoud sera chargé de cette partie.

retour au sommaire

3.6 L'intelligence Artificielle

Pour permettre à une seule personne de jouer à Poolmaster, nous allons intégrer un mode " joueur contre ordinateur ". De ce fait il faut intégrer une intelligence artificielle dans notre programme de manière à ce que l’ordinateur puisse jouer, et ce de manière satisfaisante.

L’IA sera capable de respecter les règles du jeu, comme ne pas mettre la boule noire dans le trou, mais surtout de jouer de manière réaliste, c’est à dire que l’ordinateur ne gagnera pas à tous les coups, ce qui serait possible à réaliser mais pas du tout intéressant pour le joueur humain.

Le principe sera de choisir une boule au hasard (en respectant les règles du jeu) et de calculer la meilleur trajectoire possible en utilisant des outils mathématiques concernants notamment les symétries sur les vecteurs. De plus il y a aura un choix basé sur plusieurs paramètres (randomisation, niveau de jeu, avancement de la partie, score) qui indiquera à l’ordinateur si il doit marquer ou non.

L’IA sera conçu par Florent Gastoud.

retour au sommaire

3.7 Le Packaging

Pour une installation aisée et conviviale, nous réaliserons un fichier d’instal à l’aide d’Installschield 3.0

Celui-ci sera ensuite gravé sur C.D. (autorun inclus)

4. Organisation des soutenances
 
4.1 Site Web

Nous créerons un site Web permettant nt de la réalisation du projet. Celui-ci comprendra le cahier des charges et les rapports de soutenances. Vous pouvez le constatez actuellement.

Enfin, il sera mis à jour toutes les trois semaines au maximum. Cette tâche sera réalisée par l’ensemble de l’équipe.

4.2 Calendrier des soutenances

cf. calendrier des soutenances.

retour au sommaire