AV02 : Réalisation Audiovisuelle RC CAR ADVANCE

AV02 : Réalisation Audiovisuelle RC CAR ADVANCE
Université de Technologie de Compiègne
Printemps 2005
AV02 : Réalisation Audiovisuelle
RC CAR ADVANCE
Réalisation d’un jeu vidéo pour
Game Boy Advance
Nicolas GADENNE
Mathieu VASSELLE
Sous la direction de :
Nicolas ESPOSITO
Bruno BACHIMONT
RC CAR ADVANCE
Octobre - Décembre 2005
Énoncé du sujet
Étude et développement d’un jeu vidéo sur une console portable
Développer un jeu vidéo sur une console portable en prenant en compte les contraintes du
support.
Résumé du rapport
Ce rapport présente la réalisation d’un jeu vidéo, de la conception jusqu’au résultat final. Le
jeu développé, nommé RC Car Advance, est un jeu de course de voitures télécommandées
(en vue de dessus) pour la console portable GBA.
La première partie du rapport présente le résultat final du projet. La seconde partie détaille les
différentes étapes de la réalisation : la conception, le développement et les tests. En annexe
sont présents les documents produits au fur et à mesure du projet : le document de
proposition, l’étude de la concurrence, l’étude technique et le rapport de tests.
2
RC CAR ADVANCE
Octobre - Décembre 2005
Table des matières
INTRODUCTION........................................................................................................................................ 4
I. TRAVAIL REALISE : PRESENTATION DU JEU RC CAR ADVANCE................................................. 5
1.
Présentation générale ..................................................................................................................... 5
2.
Menus communs ............................................................................................................................. 5
3.
Mode course simple ........................................................................................................................ 7
4.
Mode carrière................................................................................................................................. 8
5.
Course en général........................................................................................................................... 9
6.
Pilotage (physique / collisions) ..................................................................................................... 11
7.
Circuits ........................................................................................................................................ 12
8.
Armement et items ........................................................................................................................ 13
9.
HUD ............................................................................................................................................ 15
10. IA ................................................................................................................................................ 15
II. DEROULEMENT DE LA REALISATION ........................................................................................... 17
1.
Phase préliminaire ....................................................................................................................... 17
2.
Phase de conception (4 semaines)................................................................................................. 18
3.
Phase de développement (4 semaines)........................................................................................... 22
4.
Phase de test (2 semaines) ............................................................................................................ 28
5.
Bilan du projet, préparation de la soutenance et du rapport (1 semaine)........................................ 29
CONCLUSION.......................................................................................................................................... 31
ANNEXE A.
PROPOSITION................................................................................................................. 33
I. PREAMBULE ............................................................................................................................................ 34
II. INTRODUCTION....................................................................................................................................... 34
III. CARACTERISTIQUES PRINCIPALES .......................................................................................................... 34
IV. CARACTERISTIQUES ETENDUES .............................................................................................................. 36
V. MAQUETTE GRAPHIQUE (TROIS ETAPES OU PLUS)..................................................................................... 38
ANNEXE B.
CONCURRENCE.............................................................................................................. 40
I. AVANT-PROPOS ....................................................................................................................................... 41
II. ANALYSE ............................................................................................................................................... 41
III. CONCLUSION ........................................................................................................................................ 45
ANNEXE C.
ETUDE TECHNIQUE ...................................................................................................... 47
I. AVANT-PROPOS ....................................................................................................................................... 48
II. CONTRAINTES ........................................................................................................................................ 48
III. CODE REUTILISABLE .............................................................................................................................. 48
IV. ARCHITECTURE DE DEVELOPPEMENT ..................................................................................................... 49
V. TECHNOLOGIES ...................................................................................................................................... 49
VI. CONCLUSION ........................................................................................................................................ 50
ANNEXE D.
TESTS................................................................................................................................ 51
I. INTRODUCTION ........................................................................................................................................ 52
II. DESCRIPTION DES TESTS ......................................................................................................................... 52
III. RESULTATS DES TESTS ........................................................................................................................... 54
IV. PROPOSITIONS D’AMELIORATIONS ......................................................................................................... 56
V. DEVELOPPEMENT D’UNE VERSION BETA 3.0............................................................................................. 56
VI. ANNEXE : QUESTIONNAIRE D’APRES TEST ........................................................................................... 57
3
RC CAR ADVANCE
Octobre - Décembre 2005
INTRODUCTION
La première partie du rapport présente le résultat final du travail, c'est-à-dire toutes les
fonctionnalités du jeu RC Car Advance. Elle présente de nombreuses images du jeu, et peut
également faire office de mode d’emploi pour le joueur perdu dans les fonctionnalités du jeu,
bien que le jeu ait été conçu pour être assez intuitif pour ne pas avoir besoin de lire une notice.
La seconde partie du rapport se concentre sur le déroulement du développement. Nous y
expliquons les différentes étapes de la création du jeu, les problèmes rencontrés, ainsi que les
justifications des choix effectués. Étant donnée la quantité très importante d’éléments et de
ressources créées pour ce projet, nous y présenterons seulement certains aspects précis, dans
le but de donner des exemples concrets du processus de développement. Cette partie peut
également intéresser des personnes souhaitant développer sur GBA. Nous y donnons
d’ailleurs différents conseils et astuces qui pourraient leur faire gagner du temps.
4
RC CAR ADVANCE
Octobre - Décembre 2005
I. TRAVAIL REALISE : PRESENTATION DU JEU RC CAR
ADVANCE
Dans cette première partie du rapport, nous allons présenter le résultat final de notre projet : le
jeu RC Car Advance, avec toutes ses fonctionnalités.
1.
Présentation générale
Ce jeu est développé pour le support Game Boy Advance.
Il est cependant possible d’y jouer sur un émulateur GBA.
Parmi ceux-ci, Visual Boy Advance et Boycott Advance
Online ont été testés et le jeu fonctionne correctement sur
ces supports.
2.
Menus communs
Cette partie présente les différents menus du jeu, communs aux différents modes de jeu.
Ce premier menu apparaît quand on
allume la GBA. Il permet de récupérer
des
parties
sauvegardées
automatiquement. Le joueur a le choix
entre
trois
emplacements
de
sauvegarde, ou profils.
Les sauvegardes permettent de
conserver le classement du joueur,
5
RC CAR ADVANCE
Octobre - Décembre 2005
ainsi que les caractéristiques de sa voiture (cf. mode carrière).
Si dans le menu précédent, le
joueur a sélectionné un profil
marqué « vide », ou s’il a effacé un
ancien profil, il arrive ensuite dans
cet écran de menu.
Il peut entrer son nom, lettre par
lettre (la GBA n’ayant pas de
clavier). Ce nom sera ensuite
sauvegardé et apparaîtra dans le
menu précédemment décrit.
Cet écran représente le menu
principal. Le joueur peut lancer au
choix l’un des deux modes de jeu, ou
accéder à l’écran d’aide.
Cet écran d’aide explique les différentes
commandes du jeu.
6
RC CAR ADVANCE
Octobre - Décembre 2005
Ce menu apparaît à la fin des courses.
Il indique les places des quatre
concurrents, ainsi que leur temps de
course. Dans cet exemple, le joueur,
« Nicolas », est arrivé 3ème, avec un
temps de 57 s et 84 centièmes. Le 4ème
joueur, Lord V., n’a quant à lui pas
terminé la course. Il a pu être détruit
par les autres concurrents, ou alors il
était loin derrière le joueur (le jeu
n’attend pas les concurrents gérés par
l’intelligence artificielle une fois que
le joueur a terminé la course)
3.
Mode course simple
Ce mode permet au joueur de régler
les paramètres de la course selon ses
désirs. Le premier choix est celui du
circuit. Ensuite, le joueur peut choisir
la difficulté, qui va déterminer si ses
concurrents auront une voiture plutôt
meilleure ou moins bonne que la
sienne.
Le dernier paramètre, « vitesse »,
détermine la puissance de la voiture du
joueur et donc également celle des
voitures concurrentes. S’il choisit
« tranquille », tous les concurrents
auront des voitures lentes, faiblement
armées. Si au contraire il choisit
« fun » ou « ultra », tous les concurrents auront des voitures très rapides, et lourdement
armées.
7
RC CAR ADVANCE
4.
Octobre - Décembre 2005
Mode carrière
Le mode carrière est le mode principal du jeu. Il permet au joueur d’enchaîner des courses, en
améliorant sa voiture entre chaque course grâce à l’argent gagné en fonction des résultats des
courses. Tous les paramètres de ce mode (argent, classement, caractéristiques de la voiture)
sont sauvegardés automatiquement, pour que le joueur puisse continuer sa partie après avoir
éteint sa GBA.
Le premier menu du mode
carrière apparaît soit au
lancement de ce mode à partir
du menu de départ, soit après
l’écran des résultats, à la fin
d’une course.
Sur la gauche de l’écran est
présenté le classement général.
On voit ici que le joueur,
« Nicolas », est dernier.
En haut à droite est écrit le nom
du champion actuel, ainsi que
l’argent gagné par le joueur lors
de sa dernière course, et
l’argent total qu’il possède.
En bas à droite, le joueur a le choix entre trois courses, dans les catégories « amateurs »,
« confirmés » et « champions ». L’argent à gagner en cas de victoire est plus important sur
une course « champions », mais les ennemis sont plus forts ; le joueur devra donc attendre
d’avoir une bonne voiture pour espérer gagner cette course.
Le vainqueur de la course gagne le montant indiqué sur l’écran ; le second gagne la moitié de
cette somme.
Le menu suivant permet au joueur
d’améliorer
les
différents
composants de sa voiture :
- l’armure : elle correspond à la
carrosserie
de
la
voiture
télécommandée ;
elle
change
l’apparence de la voiture à l’écran
et améliore la résistance aux armes.
- le moteur : il permet d’accélérer
et de rouler plus vite.
- les pneus :
ils permettent
d’effectuer des virages plus serrés,
et de moins déraper.
8
RC CAR ADVANCE
Octobre - Décembre 2005
- l’armement : le joueur peut
acheter
successivement
les
mines, puis les missiles (il
possède la mitrailleuse dès le
départ).
Sur cet exemple, on voit que le
joueur a gagné 100€, et a
progressé d’une place au
classement général.
5.
Course en général
On voit ici un exemple de départ de course. A l’écran s’affichent les feux de départ, qui
passent de l’état « éteint », à « rouge », puis « vert ». Les concurrents peuvent alors partir.
9
RC CAR ADVANCE
Octobre - Décembre 2005
On voit ici la course à un instant
donné. Le joueur contrôle la
voiture rouge. La piste est vue « de
dessus », et la caméra ne tourne
pas pour se placer « derrière » la
voiture, mais reste à angle fixe.
Ce type de pilotage demande un
petit temps d’adaptation mais
permet ensuite d’apporter un très
bon gameplay, et un pilotage très
précis, principalement pour les
manœuvres
de
dépassement,
d’évitement ou d’utilisation des
armes.
Le joueur doit effectuer 4 tours pour terminer la
course. On voit ici un message qui le prévient
qu’il entre dans le dernier tour de piste.
Ce menu apparaît si le joueur
appuie sur Select ou Start. Il met
en pause automatiquement la
course, et permet au joueur
d’abandonner la partie s’il le
souhaite.
10
RC CAR ADVANCE
6.
Octobre - Décembre 2005
Pilotage (physique / collisions)
Le jeu prend en compte les collisions entre les voitures et le décor. Comme il s’agit d’un jeu
d’arcade, il n’y a pas de dégâts occasionnés par ces collisions. Le joueur peut donc se cogner
autant de fois qu’il veut dans les murs ; par contre il perdra beaucoup de temps puisque la
voiture est ralentie à chaque collision.
Au niveau du pilotage, les dérapages sont gérés, et sont plus ou moins importants selon les
pneus et le moteur de la voiture du joueur. Ainsi, si le joueur a acheté le meilleur moteur pour
mais a gardé les pneus de base, il dérapera énormément.
11
RC CAR ADVANCE
7.
Octobre - Décembre 2005
Circuits
Huit circuits sont accessibles pendant le jeu. En mode course simple, le joueur a le choix du
circuit ; en mode carrière celui-ci est choisi aléatoirement.
Voici les plans généraux des 4 circuits dans l’univers « rue » :
12
RC CAR ADVANCE
Octobre - Décembre 2005
Et voici les plans généraux des 4 circuits dans l’univers « forêt » :
8.
Armement et items
Trois armes et quatre items sont présents dans le
jeu. Si les armes de chaque concurrent sont définies
avant la course (achats en mode carrière, réglage
« vitesse » en mode course simple), les items sont
quant à eux déposés aléatoirement sur la piste
durant la course.
On voit ici une mine déposée au sol, ainsi que deux
items : le « boost » qui augmente temporairement la
vitesse de la voiture qui l’obtient, ainsi que l’item
« soin » qui redonne des points de vie à la voiture.
13
RC CAR ADVANCE
Octobre - Décembre 2005
On aperçoit ici, en plus de l’item « soin »,
l’item « munitions », qui redonne 50
munitions pour la mitrailleuse.
Sur l’image ci-dessous, la voiture rouge a tiré un missile.
Celui-ci va alors se diriger automatiquement vers toute cible
située devant lui. La voiture verte sera donc percutée quelques
instants plus tard.
Chaque voiture possède au départ un certain nombre
de points de vie dépendant de son type d’armure. Ce
capital est diminué à chaque fois que la voiture est
touchée par une arme. Si la voiture perd tous ses
points de vue, elle explose.
Sur cette image, on voit la carcasse d’une voiture
calcinée…
14
RC CAR ADVANCE
9.
Octobre - Décembre 2005
HUD
Le « HUD », ou « heads-up display », désigne tous les éléments 2D de l’interface visibles
pendant la course. Le HUD est décomposable en 3 éléments :
En haut à gauche de l’écran sont représentées les
informations concernant le joueur. On y voit son
nom, son niveau de vie (la barre verte),
l’apparence de sa voiture, sa place (entre 1er et
4ème), le nombre de tours effectués, l’arme
actuellement sélectionnée, ainsi que les 2 armes
suivantes s’il appuie sur la gâchette L
(changement d’arme). Enfin, le nombre de
munitions disponibles pour l’arme sélectionnée
est visible.
En bas de l’écran, ces mêmes
informations
(hormis
celles
concernant les armes et le nombre
de tours effectués) sont affichées
pour chacun des trois autres
concurrents.
Enfin, en bas à droite de l’écran est affichée une petite carte
représentant la piste, ainsi que des carrés de couleur représentant
chaque concurrent (le carré est de même couleur que la voiture).
10. IA
Le jeu étant jouable uniquement en solo, l’Intelligence Artificielle est un élément très
important. Celle-ci possède les fonctionnalités suivantes :
• Suivi du tracé de la piste, en serrant plus ou moins dans les virages selon un critère
« d’agressivité » variable selon les personnages.
15
RC CAR ADVANCE
Octobre - Décembre 2005
• Évitement, dans la mesure du possible, des mines présentes devant la voiture. L’IA a un
« temps de réaction », ce qui permet de la toucher à coup sûr si on dépose une mine quand on
se trouve juste devant elle.
• Récupération des bonus placés sur la piste s’ils ne sont pas trop loin de sa trajectoire
optimale.
• Utilisation appropriée des armes : tirs de mitrailleuse et de missiles si un adversaire se
trouve devant elle, et largage d’une mine si un adversaire se trouve derrière elle.
16
RC CAR ADVANCE
Octobre - Décembre 2005
II. DEROULEMENT DE LA REALISATION
Cette partie du rapport a pour objectif de présenter l’aspect « caché » du projet, c'est-à-dire sa
réalisation, dans toutes ses étapes.
Nous n’allons pas nous étendre ici sur l’aspect « contenu » du jeu, mais sur la réalisation de
ce contenu. Le contenu en lui-même a déjà été expliqué dans la première partie du rapport.
Vous pouvez également consulter l’annexe A « Proposition » pour comprendre les objectifs,
le concept et les éléments prévus pour le jeu.
1.
Phase préliminaire
Ce projet a été réalisé dans le cadre de l’UV AV02. Cette UV est une UV d’
« expérimentation numérique », ayant un fonctionnement proche d’une UV TX, avec plus de
contraintes sur le sujet et la méthodologie.
Avant le premier entretien avec Nicolas Esposito et Bruno Bachimont, nous avions défini une
proposition de thème. Ce sujet avait été rédigé sous la forme suivante :
Étude et développement d’un jeu vidéo sur une console portable
• Sujet : Développer un jeu vidéo sur une console portable en prenant en
compte les contraintes du support.
•
Motivations :
- Appliquer les connaissances acquises au cours de notre cursus de
génie informatique dans un projet concret et motivant.
- Se situer dans un contexte de gestion de projet pour mener à bien
le développement dans un délai limité.
- Se constituer une première expérience dans un domaine peu enseigné
à l’UTC, et pourtant majeur de l’industrie informatique mondiale.
•
Etapes du projet :
- Etude des spécificités de la console : la Game Boy Advance SP.
- Etude des jeux vidéo existants et choix du type et des
caractéristiques principales du jeu à développer.
- Étude et choix de la technologie de développement du jeu.
- Réalisation d’un prototype.
- Démarche itérative de développement au travers de tests
d’utilisateurs jusqu’à la finalisation du jeu.
- Présentation orale et écrite du jeu
17
RC CAR ADVANCE
Octobre - Décembre 2005
Ayant déjà dans l’idée de réaliser le jeu pour la plate-forme GBA, nous avions commencé à
effectuer des recherches sur les spécificités de cette console : les limitations techniques, ainsi
que les logiciels et les librairies utilisables pour le développement.
Nous avons notamment utilisé le site suivant, qui nous a servi tout au long du
développement : http://www.aaronrogers.com/ham/
2.
Phase de conception (4 semaines)
Le projet a réellement commencé le 28 septembre, lors de la première entrevue avec Nicolas
Esposito et Bruno Bachimont. Lors de cette entrevue, le sujet que nous proposions a été
validé ; la méthodologie et la planification ont été établies.
a)
Planification du projet
Le projet a été séparé en 3 phases principales : l’étude, la réalisation et les tests. Une réunion
avec M. Bachimont et M. Esposito est prévue entre chaque phase, ainsi qu’au milieu des
phases d’étude et de réalisation, afin de parvenir à des entrevues régulières toutes les deux
semaines.
Voici le planning des rencontres prévues lors de cette première réunion :
- 12 octobre : bilan de la première partie de l’étude. Remise des documents de
proposition et de concurrence.
- 26 octobre : bilan de la seconde partie de l’étude. Remise du document d’étude
technique et présentation d’un prototype du jeu.
- 16 novembre : bilan de la première moitié de réalisation.
- 30 novembre : bilan de la seconde moitié de la réalisation
- 14 décembre : bilan des tests
- 21 décembre : soutenance
L’objectif du prototype est de montrer la faisabilité du projet, donc d’appuyer le document
d’étude technique, ainsi que de mettre en avant l’originalité du concept. Au niveau technique,
la méthode de création du prototype n’est pas importante, seul le résultat compte ; c’est une
sorte de « brouillon », pour tester la faisabilité des différents éléments.
Nous avions donc prévu d’inclure dans le prototype un exemple de tous les éléments
principaux :
- un circuit
- une voiture jouable avec un pilotage utilisant des dérapages
- une arme (mines)
- les collisions
- des adversaires gérés par une IA de base
Le paragraphe « II.2.d) » un peu plus loin détaille le déroulement de la réalisation du
prototype.
18
RC CAR ADVANCE
b)
Octobre - Décembre 2005
Objectifs pour le projet
Les objectifs fixés lors de la première réunion pour les éléments de jeu sont les suivants :
- jeu solo (pas de multi-joueurs)
- 3 modes de jeu :
- « course simple » : simple entraînement sur une piste au choix
- « carrière » : enchaînement de plusieurs courses avec en cas de victoire une
somme gagnée et une progression dans un classement général. L’argent gagné
sert à améliorer sa voiture
- « contre la montre » : course en solo, chronométrée, avec pour objectif
d’obtenir les meilleurs temps des circuits.
- 12 circuits, répartis dans 3 « univers » : rue, forêt, terrain vague.
- des voitures avec des caractéristiques évolutives : résistance, apparence, vitesse,
accélération, adhérence des pneus, armement
- 3 armes : la mitrailleuse, les mines et les missiles auto-guidés, ainsi que des
« pics » à l’avant et/ou sur les côtés de la voiture.
- des collisions et dérapages réalistes.
- une IA correcte, qui puisse piloter sans sembler trop mécanique, et interagir
intelligemment avec les autres concurrents (utilisation des armes).
- une sauvegarde du profil du joueur : nom, et éléments du mode carrière
(caractéristiques de la voiture, argent, classement)
- une sonorisation simple, ainsi que des musiques pendant les courses.
Nous verrons à la fin du rapport la comparaison entre ces objectifs et ce qui a réellement été
développé.
c) Documents de la
concurrence et étude technique
phase
de
conception :
proposition,
Cette première phase de conception, durant un mois, a été l’occasion d’écrire trois
documents : la proposition, la concurrence et l’étude technique.
- Proposition (voir annexe A)
Ce document a pour objectif de présenter le concept du jeu, son originalité et son intérêt. Il
n’entre pas dans les détails, mais donne une vue d’ensemble des caractéristiques du projet. Il
tend presque vers un document de marketing, dans le sens où il a pour objectif principal de
montrer l’intérêt du projet.
Dans l’industrie du jeu vidéo, quand les studios doivent convaincre un éditeur de financer un
projet, c’est ce type de document qui sert de base à la présentation du concept.
- Concurrence (voir annexe B)
Ce document compare notre concept avec d’autres jeux existants. Il dresse une liste des jeux
proches selon différents critères (même genre, support, technique, etc.), et il en présente les
avantages et les défauts, ainsi que les différences avec notre projet.
- Étude technique (voir annexe C)
Parallèlement à la réflexion sur la conception du jeu, et à la rédaction des deux documents
précédents, nous avons étudié les différents aspects de la création du jeu. Ce travail a
débouché sur deux éléments : le prototype, application concrète de ces études techniques, et le
19
RC CAR ADVANCE
Octobre - Décembre 2005
document « Étude technique ». Ce document liste toutes les solutions envisageables pour les
différentes problématiques techniques.
Dans le cadre d’un projet professionnel de jeu vidéo, deux autres documents, très importants,
auraient été développés : le document des spécifications fonctionnelles, ou « game design »,
qui définit précisément tous les éléments et caractéristiques du jeu, ainsi que le document de
spécification technique, comportement tous les détails techniques de l’implémentation. Dans
le cadre de ce projet, il ne nous a pas été demandé de réaliser ce travail.
d)
Réalisation du prototype
Le développement du prototype a demandé une très grande quantité de travail, principalement
à cause des spécificités de la GBA. Nous estimons que si nous avions un prototype avec les
mêmes caractéristiques pour un jeu PC, avec une librairie graphique standard comme SDL ou
DirectX, le développement aurait été au moins 3 ou 4 fois plus rapide.
Nous ne rentrerons pas ici dans le détail de tous les problèmes rencontrés lors de ce
développement, car la liste est longue.. A l’attention de ceux qui souhaiteraient développer
pour GBA, nous avons établi une liste des origines de problèmes récurrents, ainsi que nos
conseils pour les éviter ou y remédier. Comme ces problèmes ont été souvent les mêmes que
dans le développement de la version réelle du jeu (et non du prototype), nous les avons
regroupés dans le paragraphe III.3.b : « problèmes liés aux spécifications de la GBA »
Le prototype réalisé se présente comme ci-dessous :
20
RC CAR ADVANCE
Octobre - Décembre 2005
Comme illustré dans la première partie du rapport, l’apparence visuelle du jeu final semble
assez proche de ce prototype. Mais ce n’est qu’une impression, puisque nous estimons que
seuls 2 ou 3% du travail de la réalisation finale a été récupérée de la version prototype.
En effet, la principale différence entre le développement du jeu et celui du prototype est que
ce dernier a pour seul objectif de montrer un résultat brut très rapidement ; c’est en fait une
sorte de brouillon. De ce fait, le code utilisé n’est pas « propre », et les fonctionnalités
développées sont réduites au minimum. Ainsi, sur l’image ci-dessous, tout le HUD
(l’interface 2D du jeu) est inactif, et n’est en fait qu’une simple image fixe, un essai
d’interface graphique. L’IA des voitures est très basique, l’arme développée (mine) n’a pas
d’animation et ne provoque pas de dégâts, etc.
Le développement du prototype a été en fait pour nous l’occasion de réaliser 3 objectifs
parallèles :
- apprendre les techniques de programmations propres à la GBA (librairie HAM)
- prouver la faisabilité de différents éléments importants du jeu (pistes, voitures, dérapages,
armes, collisions, etc.)
- faire un premier test du design graphique (piste, HUD)
Pour ceux qui souhaiteraient développer un jeu sur GBA, nous pouvons présenter brièvement
l’architecture du code du prototype.
Malgré la liberté de développement permise pour un prototype, nous avons quand même opté
pour une architecture orientée objet : même pour un simple prototype, de très nombreux
éléments sont à implémenter, ce qui nécessite une bonne structuration du code.
Nous avons ainsi développé les classes suivantes :
- Track : classe à instanciation unique. Représente le circuit.
- SpriteObject : cette classe représente les objets présents sur le circuit, et prend
donc en compte le scrolling. Les classes Car et Mine héritent de cette classe
- Car : représente une voiture. Gère les collisions, la physique de pilotage, etc.
- Mine : représente l’arme mine.
- AI : une instance par voiture gérée par la GBA. Prend en compte la position de la
voiture et provoque un « appui virtuel des touches clavier » dans le but d’avancer
dans le tracé du circuit
Ces classes possèdent des méthodes Display() et Update() (sauf pour Track) qui sont
exécutées dans la boucle principale du programme, présente dans la fonction main(). Cette
fonction prend également en compte les entrées de l’utilisateur, le scrolling et l’affichage du
HUD.
Nous avons également implémenté la lecture d’une musique dans le prototype, bien que celleci provoque un plantage au bout d’un certain moment (problème sans doute lié à un problème
de mémoire).
Lors de la réunion de fin de conception, nous avons donc présenté ce prototype. Par rapport à
ce que nous avions prévu, nous avions tout réalisé sauf l’implémentation des collisions
mines/voiture et des dérapages. Nous avons réalisé ces éléments de façon basique dans les
jours qui ont suivi la réunion.
21
RC CAR ADVANCE
3.
Octobre - Décembre 2005
Phase de développement (4 semaines)
a)
Architecture de l’application
Ce paragraphe n’est pas spécifique à la programmation GBA, et s’adresse à ceux qui
souhaiteraient réaliser un jeu, ou une application temps réel plus générale.
La conception théorique a abouti au diagramme de hiérarchie des classes suivant :
Les classes Game, Menus, Race, et Track sont des classes à instanciation unique (singletons)
qui ont pour objectif de gérer différents aspects du jeu.
Les classes Car, Mine, et Missile représentent quant à elles différents objets dans le jeu. Elles
dérivent de SpriteScroll, qui est une classe abstraite représentant les objets sur la piste, soumis
au scrolling.
A chaque instance de Car, est associée également une instance de AI (pour les voitures
pilotées par l’IA), ainsi qu’une instance de Mitrailleuse. Cette dernière classe est séparée des
autres armes pour deux raisons : d’abord, parce que la mitrailleuse n’est pas un objet simple
(elle est constituée de 3 sprites à l’écran) et pour des raisons d’optimisation de mémoire (pour
ne pas recharger de nouveau les sprites à chaque tir, étant donné la cadence rapide des tirs).
Enfin, la classe Lib regroupe des méthodes statiques diverses, par exemple pour calculer la
distance entre deux points.
Cette architecture s’est révélée appropriée au fur et à mesure du développement. Néanmoins,
il a été nécessaire de procéder à deux petits changements : la séparation en deux des classes
Car et Race, qui devenaient trop grandes (les classes contenaient trop de méthodes et
variables). Ainsi, les classes HUD (pour gérer l’affichage et la mise à jour du HUD) et
CarBase (pour gérer la physique de base de la voiture) ont été rajoutées. Voici le diagramme
de hiérarchie des classes final:
22
RC CAR ADVANCE
Octobre - Décembre 2005
Le diagramme de classes simplifié est le suivant :
Le découpage en classe a été effectué pour qu’il y ait un nombre minimum de liaisons entre
les classes. Ainsi, le code reste lisible, modulable et réutilisable. C’est d’ailleurs grâce à cette
architecture évolutive que nous avons pu effectuer les nombreuses petites modifications après
les tests (cf. partie III.4.).
b)
Problèmes liés aux spécificités techniques de la GBA
De très nombreux problèmes sont apparus tout au long de l’implémentation du logiciel. Ceuxci étaient presque tous dus aux spécificités de la GBA, et non à des problèmes de C++ ou de
programmation en général. En effet, nous connaissions suffisamment le langage C++ pour
programmer, mais nous n’avions pas l’expérience de l’utilisation d’un tel matériel et de ses
contraintes associés. Quoi qu’il en soit, ces problèmes et leur résolution ont été très
formateurs, et constituent une expérience très utile pour l’avenir.
A l’attention de ceux qui souhaiteraient développer pour GBA, nous listons ici quelques
thèmes récurrents de problèmes. Toutefois, une mise en garde : ce paragraphe contient
beaucoup de techniques propres à la programmation et n’est donc pas accessible à tout public.
- Le manque de mémoire de la GBA (en dehors de la mémoire graphique)
! Il faut au maximum éviter les allocations dynamiques de type « new ». Nous les
avons conservées seulement pour les objets ayant absolument besoin de
méthodes virtuelles, c'est-à-dire ici les objets « sprite », les objets contenant un
« Object » de la librairie HAM : voitures, éléments du HUD, armes, etc. Nous
avons par contre utilisé une définition globale pour les classes à instance unique
(singletons) pour la gestion du moteur du jeu (moteur global, menus, course,
HUD, IA, etc).
23
RC CAR ADVANCE
Octobre - Décembre 2005
- Le manque de mémoire graphique :
! Il y en fait différentes limitations, qu’il faut toutes prendre en compte
indépendamment :
! D’abord la limitation à 256 couleurs, mais ce problème est heureusement détecté
en amont par le programme gfx2gba. Il faut utiliser une palette commune à tous
les objets, et les compiler avec gfx2gba en une fois pour que celui-ci crée une
palette commune à tous les objets. On procède de même avec les backgrounds.
! La limitation du nombre de tiles, elle, est beaucoup plus difficile à détecter. Cette
limitation est dépendante de la taille des objets, donc la meilleure manière de
savoir si la limite va être atteinte est d’utiliser la fonction « tools / tiles viewer »
de l’émulateur Visual Boy Advance, qui permet de voir en direct l’utilisation de
la mémoire des tiles (voir image ci-dessous). Il est également conseillé d’utiliser
la fonction « ham_CloneObj » au lieu d’un objet classique pour les objets répétés
plusieurs fois, afin d’économiser de la mémoire.
! La limitation de la taille des backgrounds : nous conseillons d’utiliser des
backgrounds de type « non rotatifs », donc limités à 512*512, car l’utilisation de
backgrounds de rotation augmente fortement le nombre de tiles utilisés (à cause
d’une astuce de mémoire non valable dans ce cas).
- Le son
! Nous n’avons ici pas de conseils, puisque nous n’avons pas réussi à résoudre nos
problèmes… Nous avons essayé deux librairies : DirectSound, la librairie de son
de base de HAM, et Krawall, la librairie recommandée par HAM. Aucune de ces
librairies n’a donné un résultat correct (grésillement très fort pour la première, et
plantages pour la seconde).
- Les défauts de Visual HAM Editor
! Nous avons utilisé l’IDE Visual HAM, fourni avec la librairie. Si celui-ci semble
à première vue assez avancé et possède de nombreuses fonctions, on se rend
compte avec le temps qu’il est tout de même beaucoup moins pratique qu’un
24
RC CAR ADVANCE
Octobre - Décembre 2005
logiciel de référence comme Visual C++. Il serait donc préférable d’utiliser
Visual C++ en le configurant pour utiliser la librairie HAM (ce qui ne doit pas
être facile à faire, mais qui doit en valoir l’effort), par exemple pour pouvoir
profiter de l’explorateur de classes, ou de la complétion automatique de syntaxe.
- Affichage de textes
! Il existe une fonction HAM pour l’affichage de texte, ham_drawtext(),
mais celle-ci n’est destinée qu’au débuggage ; elle est très lente et
provoque des bugs graphiques. Il nous a donc fallu réaliser nous mêmes
notre système d’affichage de texte. Pour cela, on crée d’abord un fichier
image contenant l’alphabet (voir une portion ci-contre), puis on
transforme le texte à afficher en une série d’images (sprites) que l’on
charge avec la bonne portion de notre fichier d’alphabet. Ce système est
assez complexe à mettre en œuvre, mais il n’existe pas d’autres
alternatives.
! Pour éviter d’utiliser trop de sprites (on ne peut pas en afficher plus de
128), ce système n’est à utiliser qu’en cas de force majeure, c'est-à-dire
quand le texte est complètement dynamique (nom du joueur, argent,
etc.). Pour les autres textes fixes, une seule image est utilisée, comme les
noms des joueurs qui sont regroupés dans une autre image.
c)
Mise en place de la physique du pilotage
Dans le prototype, nous avions inclus des dérapages, qui étaient en fait assez peu naturels et
peu agréables à jouer. Ce système était basé sur un « déclenchement » d’un dérapage quand
on tournait trop, qui rajoutait un vecteur de déplacement constant dans l’équation du
mouvement. Ce principe n’imitait pas des lois physiques, mais n’était qu’une tentative de
modélisation incertaine des dérapages, qui ne s’est pas avérée réellement concluante.
Pour le développement du jeu, nous avons donc effectué des recherches pour trouver
comment les dérapages sont modélisés dans les jeux vidéo. Les exemples que nous avons
trouvés modélisaient un système physique complet et bien trop complexe pour notre projet de
jeu sur GBA.
Nous avons donc opté pour réaliser une modélisation simplifiée des lois physiques :
L’équation de base est en principe la 2ème loi de Newton :
« Dans un référentiel Galiléen, la somme des forces extérieures appliquées à un solide est
égale au produit de la masse du solide par l'accélération de son centre d'inertie : »
Soit : masse * accélération = somme des forces
Nous avons 2 forces principales appliquées à notre voiture :
- la force de traction, en principe égale à : Puissance du moteur / vitesse (le moteur a plus de
force quand il tourne lentement)
- la force de frottement : une partie de frottement solide (Force = - coeff) et une partie de
frottement fluide : (Force = - coeff*Vitesse).
Nous simplifions alors grandement les équations, en considérant :
Accélération = coeff. * (Force de frottement + Force de traction)
25
RC CAR ADVANCE
Octobre - Décembre 2005
Force de traction = constante. En effet, nous simplifions en considérant que le moteur
tourne toujours à sa vitesse maximale, donc sa force ne dépend pas de la vitesse. La force de
traction est nulle quand le joueur n’appuie pas sur la touche avancer, et négative quand il
freine ou recule.
Force de frottement = coefficient * vitesse : nous prenons en compte uniquement le
frottement visqueux.
Pour modéliser la différence entre des pneus très adhérents et des pneus peu adhérents, nous
modifions l’angle de traction. Ainsi, si une voiture tourne subitement à droite avec des pneus
lisses, la force de traction ne sera pas très orientée vers la droite, contrairement aux voitures
possédant des pneus très adhérents.
Ceci peut être représenté par le schéma suivant :
T
T
T
Modification
du vecteur
accélération :
F
F
F
Instant t0
Instant t2
Instant t3
La voiture roule droit. Les
vecteurs de traction et de
frottement
s’annulent
naturellement quand la voiture
atteint sa vitesse maximale
(pas d’accélération)
Le joueur tourne à droite : les
roues s’inclinent tout comme la
force de traction (de manière
plus ou moins prononcée selon
la qualité des pneus).
La modification du vecteur
accélération a fait avancer
la voiture sur le côté.
Nous conseillons à quiconque souhaiterait réaliser un jeu de course de voiture d’utiliser cette
méthode, qui est à la fois simple à mettre en œuvre, paramétrable et qui assure de très bons
résultats en terme de jouabilité (dérapages intuitifs et agréables).
d)
Intelligence Artificielle
De nombreux choix s’offraient à nous pour la réalisation de l’intelligence artificielle,
particulièrement au niveau du suivi du tracé de la piste. La solution que nous avons retenue
pour ce dernier aspect avait été développée pour le prototype, et nous ne l’avons pas modifiée
depuis.
Une première solution possible aurait été d’assigner une courbe du tracé de la piste à l’IA.
Cette courbe peut être réalisée en donnant une liste de points situés au milieu de la route. Mais
cette technique n’est pas facile à implémenter, étant donné qu’il faut soit rentrer les
26
RC CAR ADVANCE
Octobre - Décembre 2005
coordonnées de tous les points à la main, soit réaliser une interface graphique pour le faire
intuitivement.
Nous avons donc opté pour une autre méthode : diviser le circuit en une série de blocs de
forme prédéfinie : « droit », « tournant vers la gauche », et « tournant vers la droite » ; ceci
dans les 4 directions. Quand on crée la piste, on écrit en parallèle la liste des blocs composant
le tracé (de 30 à 60 en général). Ainsi, l’IA peut recalculer à partir de ces données la forme de
l’ensemble du tracé.
Le système adopté par l’IA pour décider de sa trajectoire est de d’abord relever le bloc sur
lequel elle se trouve, puis de situer le point du bloc suivant (donc devant la voiture), et de
diriger sa voiture vers ce point. Ainsi, la voiture va « couper » dans les trajectoires,
puisqu’elle tente d’atteindre non pas un point juste devant elle, mais assez loin (et un
paramètre « d’agressivité » permet d’ajuster cette distance).
Les autres éléments de l’IA sont classiques et ne nécessitent pas d’explications importantes.
Pour réagir faces aux mines, aux items ou aux adversaires, l’IA calcule la position de ceux-ci
par rapport à elle (dans son référentiel) et décide ensuite des actions à mener (appui sur une
touche de tir, ou de virage).
Mis à part les tirs d’armes qui ne nécessitent pas de changement de direction pour la voiture,
les différentes actions de l’IA ont une priorité, pour par exemple que l’évitement des mines
soit plus important que la récupération d’un item. L’ordre des priorités est le suivant :
1 : évitement des mines
2 : récupération des items
3 : suivi du tracé de la route
e)
Développement des circuits
Nous avons développé les circuits grâce à l’éditeur de background intégré à HAM. Les
circuits sont en fait des images de 512*512 pixels, divisés en petits blocs de 8*8 pixels
(chaque bloc est appelé tile). Ainsi, les maps sont composées de
64*64 tiles.
Tous les tiles identiques ne sont stockés qu’une fois dans la
mémoire. Comme la mémoire ne permet de stocker que 128 tiles
différents, il faut faire attention à n’utiliser que très peu de tiles
différents.
Ainsi, pour les deux univers, nous avons créé deux « palettes de
tiles » (voir l’image de droite) contenant les tiles utilisés sur la
piste, et nous les avons ensuite répartis sur toute l’image pour
former le circuit.
f)
Développement des graphismes
Cette phase nous a posé beaucoup de difficultés, principalement parce que nous n’avions pas
de formation ou ni de talent spécial pour le graphisme. Cette limitation avait été bien sûr
prévue dès le départ du projet, c’est pourquoi nous nous sommes beaucoup plus intéressé au
gameplay et aux fonctionnalités qu’à la beauté du jeu.
Ainsi, nous nous sommes résolus à laisser des écrans de menu assez pauvres, et des circuits et
des voitures pas toujours très esthétiques.
27
RC CAR ADVANCE
Octobre - Décembre 2005
L’image ci-dessous représente l’ensemble des voitures réalisées pour le jeu. En réalité, seuls 7
modèles différents ont été réalisés, puis des filtres couleurs de Photoshop ont permis d’en
créer des exemplaires de couleurs différentes.
4.
Phase de test (2 semaines)
a)
Protocole des tests
Nous avons pu définir à l'issue d'une réunion avec Bruno Bachimont comment nous allions
organiser nos tests. Nous devions dans un premier temps définir la population sur laquelle
allait porter ces tests : nous avons alors identifié les trois types de testeurs (non joueurs,
joueurs occasionnels et joueurs assidus). Nous avons ensuite élaboré un protocole des tests,
par rapport aux besoins identifiés d'évaluations scénaristique, graphique, technique et ludique.
Les tests en eux-mêmes ont été très enrichissants pour notre jeu. En effet, nous suivions les
comportements des testeurs pendant qu'ils jouaient et relevions toutes leurs remarques
concernant le jeu. Ceci a été très profitable, car nous avons alors pu identifié des problèmes
que nous n'aurions pas remarqués autrement. D'autre part, nous avons été très satisfait de voir
que notre jeu plaisait au public, et un bon nombre de remarques relevées étaient plutôt
positives.
b)
Développement de la Beta3
Grâce aux remarques et observations des testeurs, nous avons pu établir une liste de
modifications souhaitables pour le jeu. Il nous a alors fallu choisir lesquelles étaient les plus
importantes, et surtout faisables pendant le temps qu'il nous restait. Nous avons ainsi dû
exclure l'ajout de son, les possibilités de jeu en multijoueurs, les améliorations graphiques, la
cinématique d'introduction, l'enregistrement des temps au tour, ou encore la modification du
système de classement.
Cependant, nous avons retenu des modifications relativement simples à effectuer, mais qui
apportent chacune un petit plus au jeu. Par exemple, nous avons ajouté des feux de départ, car
nous avions pu observer que les testeurs ne démarraient qu'un certain laps de temps après que
l'IA soit partie. En réalité, entre le moment où la course s'affichait et celui où les voitures
partaient, il n'y avait aucun signal pour préciser le départ officiel.
La modification la plus importante que nous ayons faite pour la version Beta3 est l'ajout de
nouvelles voitures. En réalité, il s'agissait de voitures qui existaient déjà dans la version
précédente auxquelles nous avons appliqué des filtres de couleurs. Cet ajout répondait à un
besoin exprimé par les testeurs : ceux-ci avaient du mal à distinguer leur voiture parmi celles
28
RC CAR ADVANCE
Octobre - Décembre 2005
des autres au départ et pendant une course. Cet ajout était donc important, mais nous avions
l'habitude de tester le jeu, et nous ne l'avions pas remarqué.
Un autre point important a été de modifier le comportement de l'IA pour qu'elle ne ramasse
pas systématiquement tous les items au fur et à mesure de la course. En effet, quand les
testeurs se retrouvaient derrière une IA, ils ne pouvaient pas la dépasser (à moteurs égaux) car
celle-ci prenait tous les bonus (y compris les « boost »). Nous avons donc fait cette
modification relativement simple, et le jeu a gagné en intérêt.
5.
Bilan du projet, préparation de la soutenance et du rapport
(1 semaine)
La dernière semaine du projet a été l’occasion de terminer l’écriture de ce rapport et de
préparer la soutenance finale. Nous revenons également ici sur le bilan global du projet, ce
que nous avons réalisé par rapport à ce qui était prévu initialement.
a)
Comparaison entre ce qui a été réalisé et ce qui était prévu
Nous avons atteint la grande majorité des objectifs fixés :
• Les modes « course simple » et « carrière » sont entièrement fonctionnels.
• Huit circuits dans deux univers ont été réalisés.
• Les voitures ont toutes les caractéristiques évolutives prévues lors de la conception du
projet.
• Les trois armes ont été développées.
• Les collisions sont implémentées correctement (quoiqu’elles pourraient être légèrement
améliorées) et les dérapages sont très convaincants.
• L’IA joue bien son rôle, elle ne semble pas trop mécanique et utilise tous les moyens à sa
disposition pour gagner les courses
• Le système de sauvegarde est opérationnel.
Mais quelques objectifs n’ont pas été atteints :
• Le son : c’est le plus gros manque du produit final par rapport à ce que nous avions
prévu. Nous avons été ici bloqué par la technique (cf II.3.b). Mais étant donné que le jeu est
développé pour console portable, et que le son est souvent désactivé sur ces consoles, nous
avons préféré nous concentrer sur les autres éléments et abandonner ce point. Pour résoudre
ce problème, il faudrait que l’on fasse de nombreuses recherches sur l’utilisation du son sur
GBA, et sur la création et le codage de fichiers sons pour GBA. Ceci nécessiterait un temps
très important, que nous n’avons pas dans le cadre de ce projet.
• Le mode de jeu « Contre la montre ». C’est par manque de temps que nous ne l’avons
pas implémenté. Si aucune grosse difficulté technique ne s’opposait à ce changement, il
aurait tout de même nécessité un certain temps de développement, pour un intérêt très
limité. En effet, selon les caractéristiques de la voiture du joueur, les temps sont très
différents. Il aurait donc été difficile d’établir des classements des meilleurs temps justes.
• Le nombre de circuits, réduit de 12 à 8. Ce point ne nous a pas semblé très important.
Nous n’avons en fait pas réalisé de circuits dans l’univers « terrain vague » plutôt par
29
RC CAR ADVANCE
Octobre - Décembre 2005
manque d’objets graphiques simples qui jalonneraient la piste et serviraient de décors
infranchissables.
• L’arme « pic » à l’avant et sur le côté de la voiture, n’a pas été réalisée d’abord à cause
d’un problème technique : le nombre d’objets « rotatifs » de HAM est limité à 15 ; nous
aurions du en utiliser 4 pour cette arme, or nous les utilisons déjà tous. D’autre part, cette
modification aurait également nécessité beaucoup de temps de développement, pour un
intérêt limité.
Mise à part la sonorisation, que nous avons réalisée mais qui ne marche pas à cause de
problèmes techniques, tous ces points n’ont pas été développés dans la version finale par
choix délibéré. En effet, étant donné le temps dont nous disposions, nous avons été obligé de
procéder à ces petites suppressions pour permettre aux éléments principaux du jeu d’être
implémentés et ajustés correctement.
b)
Rapport et soutenance
Le rapport du projet et la soutenance ont bien sûr un rôle d’évaluation pour notre projet, ainsi
qu’un rôle formateur pour préparer les exercices similaires courants dans le travail
professionnel.
Mais ce rapport a un autre but, à long terme : il est prévu qu’il soit accessible au public, et
particulièrement à ceux qui souhaiteraient réaliser un projet de jeu vidéo. C’est pour cela que
nous avons inséré dans cette seconde partie du rapport de nombreux conseils et astuces
directes sur la réalisation d’un jeu vidéo sur GBA. L’ensemble de cette seconde partie devrait
d’ailleurs être assez utile, pour inciter les futurs développeurs à adopter une démarche
similaire, découpée en trois étapes : conception, développement, et tests.
30
RC CAR ADVANCE
Octobre - Décembre 2005
CONCLUSION
Au travers de cette réalisation multimédia, nous avons pu nous exercer aux différentes étapes
constituantes d'un projet comme nous pourrons en rencontrer dans notre futur d'ingénieur.
Partant d'un constat de manque de jeu de ce type sur la plate forme GBA, nous avons pu
définir un cahier des charges sous la forme d'une proposition détaillée. Nous avons ensuite
analysé l'existant avant d'étudier les moyens techniques que nous allions utiliser. Puis nous
avons pu présenter un prototype à nos responsables, et après validation, nous avons développé
une première version du jeu, que nous avons amélioré grâce à des séances de tests sur des
utilisateurs potentiels. La présentation du résultat devant un jury constitue la dernière étape du
projet.
Outre la satisfaction éprouvée à la vue du succès de notre jeu auprès des utilisateurs, ce projet
nous aura apporté plusieurs enrichissements. Tout d'abord, d'un point de vue technique, nous
avons pu appliquer les connaissances théoriques acquises au cours de notre enseignement à un
projet de grande envergure. Nous avons également dû faire face à une contrainte de temps de
développement, et avons dû faire des choix pour abandonner des fonctionnalités envisagées
au départ. Enfin, le fruit de notre travail pourra être utilisé comme vitrine envers les acteurs
du monde de jeu vidéo, si nous désirons orienter notre carrière dans ce domaine.
31
RC CAR ADVANCE
Octobre - Décembre 2005
Annexes
32
RC CAR ADVANCE
ANNEXE A.
Octobre - Décembre 2005
PROPOSITION
33
RC CAR ADVANCE
Octobre - Décembre 2005
I. Préambule
Ce jeu est conçu dans le cadre de l’UV AV02, sous la direction de Bruno Bachimont et
Nicolas Esposito. Ce projet a pour objectif de permettre la mise en application des
compétences acquises à l’UTC dans une réalisation concrète et originale. Il a également pour
objectif de donner un aperçu et une expérience du développement de jeux vidéo, au niveau de
la méthodologie et de la technique.
II. Introduction
Ce jeu est un jeu de course de voitures radiocommandées sur Game Boy Advance, orienté
arcade.
III. Caractéristiques principales
1.
Idée générale
Ce jeu est un jeu d’arcade, facile à prendre en main. Il est développé pour la console portable
de Nintendo « Game Boy Advance » (GBA). Il se joue seul contre des concurrents gérés par
l’intelligence artificielle.
Le joueur pilote une voiture radiocommandée, en vue de dessus, et fait la course contre
plusieurs concurrents. Il dispose également d’une panoplie d’armes/bonus/améliorations (que
nous appellerons items) afin de l’aider à gagner.
2.
Public visé
Ce jeu s’adresse au grand public, ce qui représente le public principal de la GBA.
Il ne s’agit pas d’une simulation réaliste de course de voitures, ce qui poserait des contraintes
de jouabilité et restreindrait de ce fait fortement le public cible. Au contraire, l’objectif est de
rendre le pilotage très facile ; la variété du gameplay sera assurée par l’utilisation des items.
3.
Plate-forme
Le jeu est développé pour la Game Boy Advance. Ce choix est motivé par différentes raisons.
Tout d’abord, le public de la GBA correspond aux joueurs visés par le jeu. De plus, la forme
même de la GBA ainsi que l’interface rappelle le maniement d’une télécommande de voiture
téléguidée, ce qui correspond à l’univers du jeu. Enfin, cette console est assez bien adaptée
aux contraintes techniques de développement (2 personnes, temps limité). En effet, la
simplicité des graphismes et du développement sur GBA permettra d’obtenir des résultats
corrects (comparables à la concurrence des jeux commerciaux) malgré les contraintes de ce
projet.
4.
Genre
Ce jeu est une course de voitures radiocommandées, orienté arcade. Les voitures disposant en
outre d’armes, on peut donc associer le jeu au genre course/action.
34
RC CAR ADVANCE
5.
Octobre - Décembre 2005
Références (autres jeux)
Sur le plan du gameplay, le jeu ressemblera à Death Rally, et MicroMachines (course/action,
vue de dessus).
L’univers est lui comparable au jeu Re-Volt (course de voitures radiocommandées).
On peut noter que certains éléments seront repris d’autres jeux, comme par exemple la gestion
des dégâts, et la possibilité de gagner une course autrement qu’en terminant premier, c'est-àdire en neutralisant les adversaires. Ce principe, que l’on retrouve dans Indianapolis 500,
permet d’aborder la course selon une stratégie différente. D’autre part, la possibilité
d’améliorer son véhicule en l’équipant de divers items est inspirée de Death Rally, mais aussi
de références telles que Need For Speed Underground, ou encore Maximo dans un autre
genre.
Un comparatif détaillé de la concurrence est disponible dans le document « Analyse de la
concurrence ».
6.
Innovation proposée
L’innovation proposée par notre jeu est le portage et l’intégration sur GBA de points forts
ayant fait le succès de jeux sur d’autres plates-formes : un jeu de voitures radiocommandées
en vue de dessus.
En effet, l’immense majorité des jeux de course sur GBA utilise une vue de derrière (3D) (ex :
Mario Kart). Ces deux vues différentes correspondent à des gameplay et sensations très
différentes. La vue de dessus permet au joueur de mieux gérer les trajectoires, mais aussi de
voir derrière sa voiture, ce qui permet une bien plus grande interaction avec les véhicules
concurrents, rendue d’autant plus utile par l’utilisation d’armes.
L’univers (course de voitures radiocommandées) est lui aussi original. Il est de plus
particulièrement adapté à l’utilisation de la vue de dessus, puisque cette vue correspond la
mieux au pilotage des voitures télécommandées réelles.
7.
Planification du développement
Le semestre sera entrecoupé de plusieurs réunions avec Bruno Bachimont et Nicolas Esposito
afin de faire le point sur l’avancement du projet :
12 octobre : étude (1/2)
- remise du document « Proposition » (présentation générale du jeu)
- remise du document « Analyse de la concurrence » (étude de l’existant)
- présentation des moyens techniques à disposition pour la création du jeu
26 octobre : étude (2/2)
- remise du document « Etude technique »
- présentation d’un prototype du jeu
16 novembre : réalisation (1/2)
30 novembre : réalisation (2/2)
14 décembre : tests
21 décembre : soutenance
35
RC CAR ADVANCE
Octobre - Décembre 2005
IV. Caractéristiques étendues
1.
Univers de jeu
Le jeu met en scène des courses de voitures radiocommandées.
L’univers est celui d’un quartier de ville, mettant en compétition différents pilotes de voitures
radiocommandées sur divers circuits construits avec des moyens limités :
- Rue du quartier (piste délimitée par des trottoirs, des plots, poubelles, etc.)
- Forêt bordant le quartier (piste délimitée par des troncs d’arbres, des souches, etc.)
- Terrain vague (piste délimitée par des pierres, des objets divers, etc.)
Les voitures radiocommandées possèdent une panoplie d’armes et de gadgets, peu réalistes,
ce afin de privilégier l’amusement.
2.
Scénario général
Nouveau venu dans le quartier, vous tentez de vous faire une place dans le gang local des
pilotes de voitures radiocommandées…
Vous participez à une série de course qui font évoluer votre classement, et qui vous rapportent
de l’argent. Vous pouvez ainsi améliorer votre voiture, ou acheter des armes et bonus
3.
•
•
•
•
Éléments de jeu
Voitures : nombreux modèles différents de voitures télécommandés
Items :
- Améliorations de la voiture (achetés): solidité (sous la forme de nouvelles
carrosseries), puissance du moteur et adhérence des pneus.
- Armes (achetés) : mitraillette, missiles, mines, etc
- Bonus récupérés sur la piste : accélération, argent, kits de réparation.
Circuits : 4 pistes différentes classées en 3 types (rue, terrain vague, forêt).
Personnages : le joueur et une quinzaine d’opposants, habitants du quartier.
4.
Modes de jeu
3 modes de jeu :
- Carrière : selon la position d’arrivée du joueur à la fin de chaque course, il gagne plus ou
moins d’argent et sa position au classement général est modifiée. Il peut utiliser l’argent pour
acheter différents éléments qu’il conservera de course en course. Le joueur peut ainsi
améliorer sa voiture au fur et à mesure des courses. Quand il arrive premier du classement, il
peut combattre le champion du quartier.
- Course simple : le joueur choisit la piste et les concurrents. Il dispose d’une somme d’argent
fixe, qu’il dépense comme il le souhaite pour la course à venir.
- Contre la montre : le joueur joue seul sur la piste de son choix, afin de battre des records de
temps.
5.
But du jeu
Le but du jeu (en mode Carrière) est de battre le champion grâce à l’amélioration de sa
voiture.
36
RC CAR ADVANCE
6.
Octobre - Décembre 2005
Règles du jeu
Pendant la course « tous les coups sont permis » ; le joueur peut gagner en détruisant les
voitures concurrentes. Les courses se jouent à 4 voitures.
7.
Stratégie principale
Deux stratégies pour gagner les courses : terminer premier ou neutraliser tous les autres
adversaires…
8.
Interface visuelle
Liste des différents écrans de jeux :
- Ecran de jeu durant la course (voir maquette graphique)
- Menu principal (voir maquette graphique)
- Menu d’achat des armes (en modes Carrière et Course simple) (voir maquette graphique)
- Menu de choix de la piste et des adversaires (en mode Course Simple)
- Ecran d’affichage du classement (en mode carrière)
- Ecran d’affichage du résultat avec les meilleurs temps (en mode contre la montre)
- Ecran des options (réglage du volume du son et de la musique, accès à l’écran des crédits)
- Ecran des crédits.
- Ecran de choix de partie (créer une nouvelle partie ou charger une partie sauvegardée)
- Ecran de création de partie (pour définir le nom du joueur)
9.
Interactions (manette de jeu)
Les différents boutons suivants de la GBA sont utilisés :
- Gauche : tourner à gauche
- Droite : tourner à droite
- Bouton A : accélérer
- Bouton B : freiner/reculer
- Bouton L : changer d’arme
- Bouton R : utiliser l’arme sélectionnée
- Bouton Start: pause/menu
Cette utilisation des touches correspond à ce qui est adopté par la majorité des jeux GBA.
37
RC CAR ADVANCE
Octobre - Décembre 2005
V. Maquette graphique (trois étapes ou plus)
1.
Pendant la course
Cet écran est l’écran principal, visible durant toute la course. Le nombre de tours effectués
ainsi qu’une icône indiquant l’arme sélectionnée apparaît en haut à gauche de l’écran.
2.
Menu principal
Cet écran est le menu principal du jeu. Il permet de lancer les différents modes de jeu, ou
d’accéder à l’écran des options.
38
RC CAR ADVANCE
3.
Menu
Octobre - Décembre 2005
d’achats
Cet écran apparaît avant une course, en mode Carrière et en mode Course Simple. Une icône
représente tous les items présents actuellement sur la voiture ainsi que les items d’un niveau
plus évolué qui peuvent être achetés (ici remplacés par du texte). A droite, le prix d’achat de
cette amélioration est indiqué.
39
RC CAR ADVANCE
ANNEXE B.
Octobre - Décembre 2005
CONCURRENCE
40
RC CAR ADVANCE
Octobre - Décembre 2005
I. Avant-propos
Dans l’optique de développement de notre jeu, nous avons étudié la concurrence en nous
penchant plus spécifiquement sur les jeux de course de voiture répondant au moins à l’un des
critères suivants :
• vue de dessus
• sur console Game Boy Advance
• avec le même univers que notre jeu.
II. Analyse
Nous avons étudié les jeux suivants : Super Off Road, Death Rally, Re-Volt, Mario Kart
Super Circuit, MicroMachines, Racing Gears Advance. Ils peuvent être regroupés dans les
catégories suivantes :
Même genre (course de voitures avec vue de dessus) :
- Super Off Road
- Death Rally
- Racing Gears Advance
- MicroMachines
Même plate-forme :
- Mario Kart Super Circuit
- Racing Gears Advance
- MicroMachines
Même technologie (vue de dessus 2D avec scrolling):
- MicroMachines
Même univers :
- Re-Volt
Même mode de jeu (mode championnat avec gestion des sommes gagnées pour amélioration
de la voiture):
- Death Rally
- Racing Gear Advance
- MicroMachines
41
RC CAR ADVANCE
Octobre - Décembre 2005
Voici le détail de notre analyse pour chaque jeu testé :
Super Off Road
Plate-Forme : Super Nes
Développeur : Software Creations
Editeur : Tradewest
Date de sortie : 1992
Les points forts :
Les points faibles :
• Bonne jouabilité
• Manque d’originalité dans les circuits
• Utilisation de bonus ramassés • Jeu répétitif
pendant la course
• Possibilité
d’amélioration
du
véhicule
Originalités de notre jeu par rapport à Super Off Road:
• Portage sur la plate-forme GBA
• Plus grande variété de bonus
• Plus grande variété de circuits
• Univers des voitures radiocommandées
Death Rally
Plate-Forme : PC
Développeur : Remedy Entertainment
Editeur : Apogee Software, Ltd.
Date de sortie : 1996
Les points forts :
Les points faibles :
• Excellente jouabilité
• Nombre d’armes limité
• Possibilité d’amélioration des
véhicules
• Utilisation d’armes achetées avant
la course
42
RC CAR ADVANCE
Octobre - Décembre 2005
• Gestion des dégâts
• 3
niveaux
de
difficulté,
correspondant aux types de voitures
Originalités de notre jeu par rapport à Death Rally :
• Portage sur la plate-forme GBA
• Univers moins violent (possibilité d’écraser les spectateurs dans Death Rally…)
• Plus grande variété d’armes
Re-Volt
Plate-Forme : PC
Développeur : Acclaim Entertainment
Editeur : Acclaim Entertainment
Date de sortie : 1999
Les points forts :
Les points faibles :
• Excellente jouabilité
• Grande difficulté du jeu
• Environnements divers et riches en • Interface lourde avant les courses
détails
• Grand choix de voitures (28)
• Utilisation de bonus ramassés
pendant la course
• Editeur de circuits
Originalités de notre jeu par rapport à Re-Volt :
• Portage sur la plate-forme GBA
• Vue de dessus
• Gestion des dégâts : possibilité de mettre les adversaires définitivement hors course
• Gestion des sommes gagnées pour l’amélioration du véhicule
43
RC CAR ADVANCE
Octobre - Décembre 2005
Mario Kart Super Circuit
Plate-Forme : GBA
Développeur : Intelligent Systems
Editeur : Nintendo
Date de sortie : 2001
Les points forts :
Les points faibles :
• Excellente jouabilité
• Pas de points faibles notables
• Graphismes colorés
• Utilisation de bonus ramassés
pendant la course
• Grand nombre de circuits
• Univers Nintendo
• Mode Battle (combat sans course)
Originalités de notre jeu par rapport à Mario Kart Super Circuit :
• Vue de dessus
• Gestion des dégâts : possibilité de mettre les adversaires définitivement hors course
• Gestion des sommes gagnées pour l’amélioration du véhicule
• Univers des voitures radiocommandées
MicroMachines
Plate-Forme : GBA
Développeur : Sheffield House
Editeur : Atari (Infogrames)
Date de sortie : 2003
Les points forts :
Les points faibles :
• Jouabilité adaptée au type de • Nécessité de connaître les circuits pour ne pas
véhicule
sortir de piste
• Environnements originaux
• Utilisation de bonus ramassés
pendant la course
• Grand nombre de véhicules (une
44
RC CAR ADVANCE
Octobre - Décembre 2005
quarantaine)
• Possibilité d’améliorer son véhicule
Originalités de notre jeu par rapport à MicroMachines :
• Gestion des dégâts : possibilité de mettre les adversaires définitivement hors course
• Gestion des sommes gagnées pour l’amélioration du véhicule
• Univers des voitures radiocommandées
Racing Gears Advance
Plate-Forme : GBA
Développeur : Orbital Media
Editeur : Sniper
Date de sortie : 2005
Les points forts :
• Excellente jouabilité
• Utilisation de bonus achetés
• Possibilité d’évolution de la voiture
• Gestion des dégâts
Les points faibles :
• Musique et sons
Originalités de notre jeu par rapport à Racing Gears Advance :
• Plus grand nombre d’armes
• Univers des voitures radiocommandées
III. Conclusion
Si l’on regarde de plus près les jeux de course sur GBA, on s’aperçoit que la grande majorité
présente la même caractéristique de jeu que Mario Kart Super Circuit (seul jeu de course dans
le top 10 des ventes mondiales GBA), à savoir la vue de derrière avec l’utilisation de pseudo3D pour créer l’environnement de course et les véhicules. On peut ainsi citer Digimon
Racing, Crash Nitro Kart ou Shrek Swamp Kart Speedway, qui ne sont que des adaptations de
Mario Kart Super Circuit plus ou moins réussies, et dont la principale originalité était la
licence des titres. Avec la même caractéristique de jeu, mais plus porté vers la simulation de
rally, on trouve des titres comme Sega Rally Championship, Colin McRae Rally 2.0, la série
des GT Advance, ou encore la référence dans le genre : V-Rally 3. On trouve également des
jeux à mi-chemin entre la simulation et l’arcade, comme le célèbre F-Zero – Maximum
Velocity.
45
RC CAR ADVANCE
Octobre - Décembre 2005
Les jeux de course en vue de dessus sont donc plus rares sur GBA ; en effet, à part ceux
étudiés ci-dessus, nous n’en avons pas trouvé de remarquables, si ce ne sont Hot Wheels
Velocity X, qui n’a cependant pas connu de franc succès. La vue de dessus est employée dans
des jeux comme Grand Theft Auto ou Midnight Club Street Racing, mais qui ne sont pas
vraiment du même genre que notre jeu, étant plus porté sur des missions ou des courses à
travers une ville, sans circuits prédéfinis.
A la vue de l’étude de l’existant, nous considérons que les innovations principales de notre jeu
par rapport à la concurrence directe se situent dans la gestion des prix gagnés en course pour
l’amélioration du véhicule et pour l’investissement dans des « armes » de neutralisation des
autres voitures. Nous insisterons également sur la jouabilité, qui se retrouve dans les
principaux titres étudiés.
Les francs succès de Re-Volt, qui près de 6 ans après sa sortie, possède toujours une
communauté active (ce que nous pensons être lié à l’univers des voitures radiocommandés), et
de Death Rally en son temps, associés au fait que le marché des jeux de GBA ne compte pas
beaucoup de jeux du genre de Crazy Cars Advance, nous laissent ainsi penser que notre jeu
peut convenir au public visé.
46
RC CAR ADVANCE
ANNEXE C.
Octobre - Décembre 2005
ETUDE TECHNIQUE
47
RC CAR ADVANCE
Octobre - Décembre 2005
I. Avant-propos
Cette étude a pour but de présenter les différentes possibilités techniques de développement et
de justifier les choix adoptés pour ce projet.
II. Contraintes
•
Contrainte de temps : trois mois pour l’ensemble du projet (octobre 05 - décembre 05)
•
Contrainte de ressources humaines : deux étudiants en Génie Informatique suivant
d’autres UV en parallèle, sans compétence en graphismes et sons.
•
Contrainte de support GBA :
- ressources graphiques et sonores limitées en taille mémoire
- puissance de calcul très limitée
- fonctions limitées (absence de nombres en virgule flottante, de fonctions
mathématiques complexes, etc.)
- résolution d’écran très faible (240*160).
- obligation de s’adapter aux mécanismes intégrés au niveau hardware.
III. Code réutilisable
Nous utilisons la librairie HAM, qui nous permet de nous affranchir de la majorité des
problèmes techniques liés à l’architecture de la plate-forme GBA.
Pour le reste du code, nous allons le produire en grande majorité, car étant donnée la relative
simplicité de chaque élément, il serait plus long de trouver et d’adapter un code existant que
de l’écrire nous-même. Nous allons par contre effectuer des recherches sur les techniques
utilisées dans les jeux concernant quelques points précis : gestion des collisions, gestion des
dérapages, etc.
48
RC CAR ADVANCE
Octobre - Décembre 2005
IV. Architecture de développement
Le développement de notre projet est basé sur HAM, un kit de développement pour GBA.
Nous optons pour une conception et une programmation objet, en utilisant le langage C++.
Cette architecture de développement classique nous permettra de rendre le code très
modulaire, lisible, extensible et fiable.
Modules
Moteurs de jeu
Voitures
IA
Moteur
principal
Items
Gestion
physique
Kit de
développement
HAM
Plate-forme
GBA
Architecture du jeu
V. Technologies
1.
Images
Les images, à cause du support sur GBA, sont très petites et doivent donc être très précises.
Pour les images des voitures, nous allons les récupérer sur des sites proposant des sprites
libres de droit, ou bien nous transformerons et réduirons des images réelles (assez pour que
l’image d’origine ne soit pas reconnaissable). Pour les images du décor, soit nous procéderons
de même, soit nous les dessinerons nous-mêmes.
Liens :
http://azz.gouranga.com : Site référençant des centaines de sprites de voitures pour GTA
http://www.games-creators.org/wiki/Ressources#Sprites.2C_Textures
2.
Animation
Le jeu ne possèdera que très peu d’animations. En effet, le circuit est fixe et les voitures ne
sont que de simples images (en rotation et en mouvement). Quelques rares animations seront
à réaliser, comme par exemple les explosions. La réalisation se fera soit en interne, soit à
partir des sites de ressources graphiques cités précédemment.
3.
Son
Nous utiliserons des bruitages et musiques, simples et libres de droits, car nous n’avons ni les
compétences ni le temps nécessaire pour en réaliser nous même.
Liens :
http://www.musique-libre.org : musique libre
49
RC CAR ADVANCE
Octobre - Décembre 2005
http://freesound.iua.upf.edu : sons sous licence Creative Commons
http://creativecommons.org/audio : musiques et sons sous licence Creative Commons
4.
Moteur physique
Le moteur physique des jeux de voiture peut se décomposer en deux parties :
•
Gestion des collisions. A cause de la limitation de puissance de la GBA, la gestion des
collisions sera simplifiée. Ces dernières peuvent être de deux types :
- Voiture - décor : les voitures ayant une forme rectangulaire, les coordonnées des
quatre coins des voitures sont calculées, et des tests sont effectués pour savoir si
ces points sont en collision avec le décor. Le décor, lui, est décomposé en carrés
(tile) de 8*8 pixels. Chaque tile est soit infranchissable, soit franchissable (piste).
Il est ainsi possible, pour une complexité très faible, de savoir si les coins de la
voiture sont en collision avec le décor. Différentes actions sur le mouvement de la
voiture sont alors prises en conséquence.
- Voiture - voiture : on teste ici la collision entre les deux coins avants du véhicule
avec les surfaces (rectangles) des autres véhicules proches. La complexité est
également assez faible.
•
Physique de la conduite. La physique de base du mouvement des voitures est simple :
celles-ci possèdent des coordonnées, une vitesse, une accélération, une vitesse maximale, une
orientation et une vitesse de rotation. La difficulté réside dans la modélisation des dérapages.
Ceux-ci nécessiteront la recherche d’informations sur les techniques employées dans les jeux
vidéo, ainsi que de nombreux tests de jouabilité.
5.
Intelligence artificielle
Afin de pouvoir achever ce projet dans les délais fixés, il nous est nécessaire d’effectuer des
simplifications afin de pouvoir tout de même réaliser une intelligence artificielle crédible.
Ainsi, la piste est décomposée en une suite de blocs (droits, virages, etc. : 12 formes
différentes). Chacun de ces blocs est standard et peut donc être facilement pris en compte
dans l’Intelligence Artificielle, qui n’a pas à évoluer sur une piste « inconnue ».
Le principe de base de l’IA est qu’elle essaie toujours de viser un point, approximativement le
milieu du bloc suivant (selon un paramètre réglable définissant « la prise de risque » de l’IA).
Des légères modifications de trajectoire peuvent être effectués par l’IA si une voiture
adversaire est près d’elle : s’aligner dessus pour tirer, de déboîter pour éviter les mines ou les
tirs.
6.
Jeu multijoueur
Au vu des difficultés techniques liées au jeu en réseau sur GBA et du temps qui nous est
imparti, nous avons opté pour un jeu uniquement solo.
VI. Conclusion
Tous les choix techniques de ce projet ont été imposés par les contraintes de développement
(temps, compétences, plate-forme) qui ne permettent pas d’alternatives techniques.
Le prototype de jeu développé parallèlement à cette étude confirme la faisabilité du projet.
50
RC CAR ADVANCE
ANNEXE D.
Octobre - Décembre 2005
TESTS
51
RC CAR ADVANCE
Octobre - Décembre 2005
I. Introduction
Après la création d’une version bêta 2.0 de RC Car Advance, nous entreprenons de
faire tester le jeu à une population d’acheteurs potentiels. Pour cela, nous définissons dans un
premier temps les éléments à faire évaluer, puis nous établissons un protocole de test. Nous
exposerons dans une deuxième partie les résultats obtenus lors des séances de test, avant
d’exposer les modifications adoptées pour parvenir à la version bêta 3.0 de RC Car Advance.
II. Description des tests
1.
Population cible
Pour les tests d’évaluation de notre jeu, nous avons choisi de sélectionner des
personnes qui pourraient être des acheteurs du jeu si celui-ci avait été un projet commercial.
Nous avons ainsi défini trois profils d’acheteurs :
-
les personnes non joueurs ou très peu joueurs, qui pourraient être intéressées
par notre jeu.
Les joueurs occasionnels, moyens qui ont un temps de jeu moyen par semaine
variant entre 1 et 3 heures.
Les joueurs assidus, qui jouent en général plus de 3 heures par semaine.
Nous estimons que le profil de joueur occasionnel est le plus courant ; pour cette
raison, nous centrerons les tests sur ce type de personne.
2.
Eléments d’évaluation
Nous souhaitons que notre jeu soit évalué selon quatre critères principaux :
-
évaluation scénaristique :
Dans cette partie, nous voulons déterminer si le concept du jeu plaît au joueur, s’il
trouve le jeu original. La présence de « violence » dans notre jeu de part les armes présentes
sur les voitures télécommandées et la possibilité de faire exploser les voitures ennemies doit
également être critiquée. Nous désirons également savoir si la navigation entre les menus est
satisfaisante.
-
évaluation graphique
Estimant que la différence entre notre jeu et un jeu commercial se ressent
principalement au niveau graphique, nous souhaitons connaître l’appréciation des testeurs sur
ce point particulier. Nous voulons faire évaluer l’esthétisme du jeu, mais également son
52
RC CAR ADVANCE
Octobre - Décembre 2005
ergonomie, notamment l’accessibilité et l’utilité des informations présentées au cours d’une
course.
-
évaluation technique
La version du jeu proposée aux testeurs est supposée être sans bugs : nous avons en
effet personnellement testé le jeu à la recherche de failles. Cependant, notre manière de jouer
aurait pu être influencée par notre connaissance du code du jeu. Nous souhaitons donc dans
cette partie technique de l’évaluation trouver d’éventuels bugs restants, et faire analyser les
performances techniques du support, à savoir la console Game Boy Advance.
-
évaluation ludique
Nous aimerions enfin savoir si le jeu est agréable à jouer, connaître l’avis des testeurs
sur la difficulté du jeu. Nous souhaitons également savoir si le pilotage est agréable, si les
phases de combat sont divertissantes et si les circuits proposés plaisent aux testeurs.
3.
Protocole du test
Pour chaque test, nous procédons à chacune des phases suivantes :
-
Explication du scénario de jeu au testeur.
Détail de l’utilisation des touches au testeur, à l’aide de l’écran d’aide présent
dans le jeu.
Familiarisation au maniement du véhicule : à travers un ou deux circuits en
mode Course simple, le testeur se familiarise avec le comportement du
véhicule.
Test d’un ou deux circuits, pour juger leur intérêt.
Test du mode carrière.
Réponses au questionnaire de test (cf. ANNEXE).
Tout au long du test, nous restons sensibles à toutes les remarques du testeur, et nous
l’invitons à faire partager ses impressions.
53
RC CAR ADVANCE
Octobre - Décembre 2005
III. Résultats des tests
Nous présentons ici le bilan général des tests effectués sur 8 personnes (2 non joueurs,
5 joueurs occasionnels et 1 joueur assidu).
1.
Evaluation scénaristique
Les testeurs ont trouvé le concept du jeu original pour la moitié d’entre eux. L’autre
moitié avait en effet déjà fait l’expérience de ce genre de jeu, notamment avec le jeu Micro
Machines, qui a été cité à trois reprises.
L’enchaînement des menus a été unanimement apprécié ; on a seulement reproché
l’impossibilité de revenir au mode Carrière lorsque l’on se trouve dans l’écran de sélection du
mode Course Simple. Une autre remarque a porté sur le choix de la difficulté de la course en
mode Carrière qui se faisait avant les éventuels achats d’amélioration du véhicule. Enfin, on a
quelquefois proposé de faire défiler les options avec les touches Droite et Gauche plutôt
qu’avec le bouton A. Mises à part ces remarques, l’interface de navigation a été qualifiée de
simple et d’efficace.
L’ambiance du jeu est bonne, fun selon les testeurs. La présence de violence n’a été
critiquée que par les deux testeurs non joueurs, les autres considérant que les armes
apportaient un plus au jeu. Quelques joueurs auraient même souhaité avoir plus d’armes.
La note moyenne apportée à cette partie du jeu est d’environ 7/10.
2.
Evaluation graphique
L’évaluation des graphismes du jeu s’est portée à deux niveaux, dans la mesure où les
testeurs nous ont souvent demandé s’ils devaient considérer le jeu comme un jeu commercial
ou comme un projet.
Les graphismes ont souvent été qualifiés de simples, les objets n’étant pas tout le
temps reconnus, comme par exemple les plots dans les circuits de rue. D’autre part, le choix
des couleurs a souvent été cité, avec notamment le fait que plusieurs voitures se ressemblaient
et que l’on pouvait ne pas se reconnaître au milieu des adversaires. De plus, la couleur des
pistes de l’environnement sylvestre était jugée trop sombre, car il était quelquefois difficile de
distinguer la carcasse des voitures endommagées sur cette couleur.
La représentation des items a souvent été appréciée, mise à part l’icône des munitions
de mitraillettes quelquefois qualifiée de non explicite.
Concernant les informations présentes pendant la course sur les différents participants,
elles ont été appréciées après un certain temps de jeu : en effet, au départ les joueurs se
concentraient sur leur trajectoire et ne se préoccupaient pas de ces informations ; mais après
une période d’adaptation, ils pouvaient facilement acquérir l’information voulue en un regard.
Quelques testeurs auraient voulu que la position des informations sur les concurrents évolue
en fonction de leur classement pendant la course. Enfin, la mini-carte était quelquefois jugée
inutile car plusieurs véhicules étaient représentés de la même couleur.
La note moyenne apportée à cette partie du jeu est d’environ 6/10.
54
RC CAR ADVANCE
3.
Octobre - Décembre 2005
Evaluation technique
Le principal défaut technique que trois quarts des testeurs nous ont fait remarquer est
le manque de sons dans le jeu. Bien que nous pensions que le son ne soit pas si important sur
une console portable, il s’avère que ces joueurs l’ont réclamé et ont déclaré qu’il s’agissait
d’un manque important.
Quelques bugs ont été identifiés au cours des tests, notamment du point de vue du
comportement des véhicules dirigés par l’intelligence artificielle du jeu, avec une voiture qui
tournait en rond. On a également constaté qu’il fallait relâcher le bouton qui permettait
d’accélérer pour que la pression du bouton Start mette le jeu en pause. Dans l’ensemble le jeu
a été jugé assez rapide en termes de temps de chargement et d’exécution.
Les testeurs nous ont fait remarqué que les impacts des tirs de mitraillette étaient bien
faits, mises à part quelques apparitions aléatoires d'impacts dans le décor. Nous avons
également assisté à deux reprises à un "plantage" du jeu, où l'écran s'est figé et les
commandes ne répondaient plus.
La note moyenne apportée à cette partie du jeu est d’environ 8/10.
4.
Evaluation ludique
Nous sommes satisfaits de l’évaluation obtenue dans cette partie à l’issue des tests, car
tous les joueurs ont aimé jouer à notre jeu, certains étant même réticents à redonner la console
à la fin du test.
Dans l’ensemble la difficulté du jeu semble être bien adaptée, même si le
comportement de l’ordinateur consistant à prendre tous les bonus se trouvant sur son chemin
se révèle frustrant pour le joueur qui le suit. De ce fait, l’ordinateur prend les accélérations, et
le joueur se retrouve souvent seul pour le reste de la course. Quelques testeurs nous ont
également signalé qu’on améliorait trop rapidement son véhicule à l’aide des sommes
gagnées.
On nous a également signalé que les bonus de vie réparaient trop de dégâts, et
l’utilisation d’armes se révélait donc inefficace dans certains cas.
Au niveau du pilotage et de l’utilisation des armes, nous avons pu noter que les
joueurs prenaient le jeu en main assez rapidement, au terme d’une ou deux courses. Le
pilotage et le combat ont généralement été appréciés. On nous a proposé d’inverser le rôle des
gâchettes pour la sélection des armes et leur utilisation.
En ce qui concerne le déroulement des courses, le départ a été critiqué dans la mesure
où quelques testeurs ne savaient pas qui ils étaient sur la grille de départ, et n’étaient pas
avertis du départ de la course. De plus, les joueurs étaient quelquefois étonnés d’avoir fini la
course, car ils ne s’étaient pas rendus compte qu’il s’agissait de leur dernier tour.
Enfin, les tracés de tous les circuits ont été appréciés ; le fait que certains soient
« carrés » et d’autres plus larges et flous apporte un plus à la diversité des trajectoires.
La note moyenne apportée à cette partie du jeu est d’environ 8/10.
55
RC CAR ADVANCE
Octobre - Décembre 2005
IV. Propositions d’améliorations
Outre les corrections à apporter citées précédemment, les testeurs nous ont donné des
idées pour améliorer le jeu, et le rendre plus complet. En voici quelques unes :
- gérer les dégâts lors de collisions avec les autres véhicules et avec les éléments
délimitant le circuit.
- commencer le mode Carrière sans armes.
- mettre en place un mode Battle, où le seul objectif serait de détruire ses
adversaires.
- mettre en place un mode Time Trial, où l’on serait seul contre le chronomètre.
- mettre en place un mode Multijoueurs.
- gérer et enregistrer les meilleurs temps des circuits
- créer plus d’emplacements de sauvegarde
V. Développement d’une version bêta 3.0
Suite aux résultats obtenus lors des séances de test, nous avons pu identifier les
modifications envisageables en termes de coût de développement. Nous avons alors établi une
version bêta 3.0 dont voici les principales modifications :
1.
Ajouts
- ajout de 20 voitures (soit un total de 27): nous avons maintenant une voiture
différente pour chaque joueur contrôlé par l’ordinateur, et toutes les voitures du joueur sont
rouges.
- ajout d'un message "Dernier tour" au moment approprié pendant la course.
- ajout de feux vert/rouge pour marquer le début de la course.
- ajout d’un 7ème moteur plus puissant et beaucoup plus cher.
2.
Modifications mineures
- modifications mineures des tracés des circuits Foret1, Foret2, Foret4 (rétrécissement
de la piste).
- amélioration de la visibilité des voitures sur la mini-carte.
- modification du graphisme des impacts de la mitrailleuse qui sont maintenant plus
discrets.
- changement de la couleur du fond des circuits de forêt pour plus de visibilité.
- ajout des touches droite/gauche dans le menu de réglage des paramètres de la course.
56
RC CAR ADVANCE
3.
Octobre - Décembre 2005
Réglages
- réduction du bonus de vie qui redonne maintenant deux fois moins de vie.
- inversion des fonctions des gâchettes gauche et droite.
- diminution du taux de prise des items par les voitures contrôlées par l’intelligence
artificielle. Celles-ci dévient maintenant moins de leur trajectoire.
- code de triche changé, maintenant : « AV02 ».
4.
Corrections de bugs
- correction du bug qui empêchait de faire pause quand le bouton A était enfoncé.
- suppression des tirets dans le menu des améliorations quand on a terminé les
améliorations du moteur et des pneus.
- correction du bug des ennemis qui se mettaient à tourner en rond.
Cette phase de tests nous a donc apporté beaucoup de renseignements sur notre jeu, et
nous a permis de l’améliorer, avec quelques modifications notables du point de vue technique
et ludique. De plus, nous avons pu avoir un aperçu de l’accueil réservé au jeu, qui a été
unanimement favorable.
VI. ANNEXE : Questionnaire d’Après test
-Profil :
Etes vous joueur ? Quel est votre temps de jeu par semaine ?
Avez-vous déjà joué à un jeu de voitures vues de dessus ?
Si oui, quelle est votre référence, et qu’est-ce qui fait que vous avez aimé ce
jeu ?
- Evaluation scénaristique :
Trouvez vous le concept de notre jeu original ?
Comment trouvez vous l’enchaînement des menus ? (Mode carrière)
Comment trouvez vous l’ambiance du jeu (violence) ?
Pensez vous que les armes apportent un plus au jeu?
Notez cette partie sur 10.
- Evaluation graphique :
Comment trouvez vous les décors d’un point de vue graphique ?
Comment trouvez vous les voitures, les armes, les items ?
Trouvez vous que les informations proposées pendant une course (position des
joueurs, état de la voiture, nombre de tours, …) sont bien visibles/accessibles ?
Notez cette partie sur 10.
57
RC CAR ADVANCE
Octobre - Décembre 2005
- Evaluation technique :
Avez-vous remarqué des bugs dans le jeu ?
Trouvez vous que le jeu soit assez rapide au niveau des chargements ?
Trouvez vous qu’il y ait des ralentissements pendant le jeu ?
Notez cette partie sur 10.
- Evaluation ludique :
Avez-vous aimé jouer à ce jeu ?
Trouvez vous que ce jeu soit trop facile, trop difficile ou bien adapté ?
Est-ce que le pilotage est agréable ?
Est-ce que le combat est agréable ?
Notez cette partie sur 10.
58
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising