Universit´
e Bordeaux I
Master Info - 1`ere ann´ee
Projet de Programmation 2009-2010
Dungeon Digger : M´emoire
Auteurs :
Geoffrey Boyer
Florence Br¨
ucken
Romain Courpon
Cl´ement Jovet
Superviseur :
Philippe Narbel
Client :
Micha¨el Rao
1er avril 2010
R´esum´e
L’objet de ce projet de programmation ´etait la reprise d’un jeu vid´eo open source : Dungeon
Digger. Le d´eveloppement de ce dernier ´etait gel´e depuis quelques temps et nous avons donc eu
pour tˆache de l’am´eliorer.
Dans les grandes lignes, nous avons dˆu reprendre Dungeon Digger afin de le rendre plus lisible,
stable et accessible, puis lui ajouter des fonctionnalit´es comme une nouvelle classe de personnage,
un menu dans le jeu, et la gestion de quelques options graphiques.
Le travail fourni s’articule majoritairement autour du r´eusinage du code. On peut ainsi dire que
notre projet ´etait tr`es orient´e g´enie logiciel.
Le projet, tel qu’il est dans son ´etat final, permettra une reprise du code bien plus ais´ee qu’`a
nos d´ebuts dans Dungeon Digger, auquel on souhaite de fleurir encore.
Table des mati`eres
1 Introduction au projet 4
1.1 Etudedelexistant................................... 4
1.1.1 Les impl´ementations propri´etaires . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Du ot´e de l’open source . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Dungeon Digger, notre projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1 Contexte .................................... 7
1.2.2 Ce qu’il manquait aux projets existants . . . . . . . . . . . . . . . . . . . 7
1.2.3 Etat de Dungeon Digger . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 DDentantquePdP.............................. 8
1.3 Lesbesoins ....................................... 9
1.3.1 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.2 Besoinsfonctionnels .............................. 10
2 Fonctionnement du logiciel 12
2.1 Vueglobale ....................................... 12
2.2 Principales equences d’interactions . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.1 Lancementduserveur ............................. 15
2.2.2 Lancementduclient .............................. 16
2.2.3 Phase d’initiation du jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.4 Boucleinteractive ............................... 20
2.3 Hi´erarchiedeschiers ................................. 21
2.3.1 Hi´erarchie originale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4 Architecturelogicielle ................................. 21
2.4.1 Diagramme de classes original . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.2 Les d´efauts de l’architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 R´eusinage et d´eveloppement 25
3.0.3 Hi´erarchienale ................................ 25
3.1 Architecturelogicielle ................................. 25
3.1.1 Diagramme de classes final . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Processus de eveloppement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.1 M´ethodologie de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2 Objectifsatteints................................ 29
3.2.3 Probl`emes rencontr´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.4 Outilsutilis´es.................................. 32
3.2.5 Am´eliorations envisag´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Tests........................................... 33
3.3.1 Types de tests effectu´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3.2 Lesfuitesm´emoires .............................. 34
2
TABLE DES MATI `
ERES 3
3.3.3 Leprolageducode .............................. 35
3.3.4 La couverture du code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.3.5 Testduserveur................................. 36
Bibliographie 36
Annexe 38
1 Introduction au projet
1.1 Etude de l’existant
1.1.1 Les impl´ementations propri´etaires
Dungeon Keeper
Il s’agit d’un jeu de Strat´egie Temps R´eel datant de 1997, r´ealis´e par Bullfrog Productions et
produit par Electronic Arts. Apr`es un fort succ`es, des extensions et une suite (Dungeon Keeper
II, en 1999, avec comme apports notables le passage `a la 3D et la possibilit´e de jouer sur Internet)
furent r´ealis´ees.
La s´erie des Dungeon Keeper est assez c´el`ebre pour son principe original et son ambiance
humoristique. En effet, elle met en sc`ene un monde repr´esene par une tr`es grande carte souter-
raine, peupl´ee de Keepers, de mal´efiques maˆıtres de donjons, qui doivent prot´eger leurs antres
contre des aventuriers pilleurs de tr´esors, explorer et creuser la roche pour s’´etendre, invoquer
des cr´eatures de plus en plus mortelles et ainsi pouvoir partir `a l’attaque des autres donjons
g´er´es par l’ordinateur. Des facteurs ´economiques (entretien financier du donjon) et strat´egiques
(m´elanger certains types de laquais risque d’amener `a des luttes intestines) complexifient et
enrichissent le gameplay.
Un mode multijoueur offrant la possibilit´e de relier jusqu’`a quatre joueurs maximum est
pr´esent dans les deux opus, bien que Dungeon Keeper I ne puisse ˆetre jou´e qu’en r´eseau local.
Dans ce mode de jeu, les autres joueurs prennent la place de l’ordinateur pour g´erer les donjons
adverses `a conqu´erir.
Evil Genius et les autres
D’autres jeux similaires furent r´ealis´es en suivant le mˆeme principe, dont Evil Genius, d´evelopp´e
par Elixir Studios en 2004, qui adapte la formule `a un univers d’espionnage tr`es inspir´e de James
Bond et o`u le joueur dirige un terroriste international souhaitant arriver `a la domination mondi-
ale. Cependant, ce genre de jeu de strat´egie est pass´e de mode, et on ne retrouve pas d’exemples
plus c´el`ebres ni r´ecents.
4
1 / 42 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !