rapport de projet .pdf



Nom original: rapport-de-projet.pdf

Ce document au format PDF 1.5 a été généré par TeX / pdfTeX-1.40.17, et a été envoyé sur fichier-pdf.fr le 25/02/2017 à 19:21, depuis l'adresse IP 31.205.x.x. La présente page de téléchargement du fichier a été vue 329 fois.
Taille du document: 32.5 Mo (53 pages).
Confidentialité: fichier public


Aperçu du document


Rapport de projet
Lucas Monségu, Paul Beneteau, Lionel Lacouture
monseg_l, benete_p, lacout_l

Epita première année cycle ingénieur 2016

1

Panda’s Art

Tsobot
Remerciements

On tient à remercier toutes les personnes qui ont contribué au succès de notre
jeu.
Tout d’abord, on adresse nos remerciements à nos ACDC(Anatole, Gautier, ), qui nous ont donné des conseils mais surtout qui nous ont permis de
progresser en C#.
Nous tenons à remercier vivement le jury lors des dernières soutenances
qui nous a donnés des conseils pour améliorer le jeu.
Un grand merci à toutes les personnes qui nous ont répondu lors de question sur des forums.
Enfin, nous tenons à remercier toutes les personnes qui nous ont conseillé
et relu lors de la rédaction de ce rapport : nos familles, nos amis . . .

Epita 2020

2

Info Sup

Panda’s Art

Tsobot

Table des matières
1 Introduction
1.1 Le projet . . . . . . . . .
1.2 Répartition des taches .
1.3 Le groupe . . . . . . . .
1.4 Organisation du groupe .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

2 Le personnage
2.1 Les déplacements
2.1.1 Terrestre .
2.1.2 Aérien . .
2.2 La Caméra . . . .
2.3 Le grappin . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

8
. 8
. 8
. 9
. 9
. 10

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

11
11
12
13
14
15
17
18
19
20
21
22
23
24
24
25
26
26
28

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

3 Les niveaux
3.1 Le laboratoire . . . . . . .
3.1.1 Violette . . . . . .
3.1.2 Bleue . . . . . . . .
3.1.3 Verte . . . . . . . .
3.1.4 Rouge . . . . . . .
3.2 L’échappée . . . . . . . . .
3.2.1 Première épreuve :
3.2.2 Deuxième épreuve .
3.2.3 Troisième épreuve .
3.2.4 Quatrième épreuve
3.2.5 Cinquième épreuve
3.2.6 Sixième épreuve . .
3.3 Nature . . . . . . . . . . .
3.3.1 L’entré . . . . . . .
3.3.2 Le pont levis . . .
3.4 L’intérieur du château . .
3.4.1 La traversée . . . .
3.4.2 La calculatrice . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

5
5
5
6
7

4 Réseau
31
4.1 Unet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Synchronisation spécialisé . . . . . . . . . . . . . . . . . . . . 32
4.3 Chat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Epita 2020

3

Info Sup

Panda’s Art

5 Audio
5.0.1
5.0.2

Tsobot

35
Format du son . . . . . . . . . . . . . . . . . . . . . . 35
Ajout du son . . . . . . . . . . . . . . . . . . . . . . . 35

6 Menu
6.1 Options graphique
6.2 Option de contrôle
6.3 Le multijoueur . .
6.4 Sauvegarde . . . .
6.5 Transition . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

36
36
37
38
39
39

7 Fin du jeu

40

8 Site
8.1
8.2
8.3
8.4
8.5
8.6

41
41
42
42
42
43
43

Web
Accueil . . . . .
Équipe . . . . .
Projet . . . . .
Contact . . . .
Liens . . . . . .
Version Mobile

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

9 Installation

46

10 Conclusion
10.1 Avis de chacun
10.1.1 Lucas .
10.1.2 Paul . .
10.1.3 Lionel .
10.2 Global . . . . .

47
47
47
48
49
50

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

A Annexe
51
A.1 Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
A.2 Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
A.3 Table des illustrations . . . . . . . . . . . . . . . . . . . . . . 53

Epita 2020

4

Info Sup

Panda’s Art

1
1.1

Tsobot

Introduction
Le projet

Tsobot est un jeu à la première personne où l’on incarne un robot présent
dans un monde abondant d’épreuves aussi diverses que possible. Le but est
de créer une œuvre originale totalement détaché des jeux vidéos classiques
afin d’offrir aux joueurs une expérience nouvelle.
Le big data soulevant un problème d’entrave à la créativité du jeu vidéo
industrielle en ayant un effet de normalisation de l’œuvre, nous avons choisis
d’utiliser ce phénomène en notre faveur en réalisant un jeu dénué de toute
contraintes. En effet nous nous sommes concentrés sur la réalisation de nos
idées et ne nous sommes pas préoccupés d’un contexte qui selon nous peut
être superflu à la réalisation d’un jeu vidéo.
Les épreuves sont très diverses car le véritable sentiment recherché pour
le joueur est la recherche de comment résoudre l’épreuve, trouver ce qu’il
faut faire plutôt que résoudre l’épreuve en elle même. C’est cette décryptions
de ce que le créateur veut que le joueur fasse qui rend le jeu intéressant et
différent. L’ajout du mode coopératif insiste à l’interaction humaine qui est
selon nous un énorme avantage en matière de divertissement.

1.2

Répartition des taches

Points
GamePlay
Réseau
Site web
Audio
Installation

Epita 2020

Lucas
3
3
3

Paul
3

3
3
3
3

5

Lionel

3

Info Sup

Panda’s Art

1.3

Tsobot

Le groupe

Notre groupe est composé de Lucas MONSEGU, Paul BENETEAU et
Lionel LACOUTURE. Ce projet nous permet d’apprendre toutes les étapes
pour concevoir un jeu et à utiliser différents outils comme Unity.
Nous allons pouvoir laisser parler notre imagination et créer un jeu comme
on le souhaitera, sans contraintes. Nous n’avons pas beaucoup d’expérience
dans ce domaine, mais le but ce projet est de rendre un jeu qui satisfera tout
le monde et d’apprendre un maximum de choses.
L’intérêt de ce projet sera de travailler en groupe et d’apprendre à réaliser
un jeu.
Voici un avis personnel de chaque membre du groupe :
L’avis de Lucas : Je m’appelle Lucas MONSEGU, j’ai 19 ans en première année du cycle préparatoire d’EPITA. J’aime découvrir le fonctionnement de nouvelles choses et ce projet est pour moi l’occasion d’en connaitre
enfin un peu plus sur la création des jeux vidéo. Je suis aussi chef de groupe
ce qui est une expérience très intéressante car cela m’apprend à organiser
un groupe et à assigner des taches en fonction des qualités des membres. Je
pense apprendre de nombreuses choses et ce grâce au fait que le sujet soit
très libre car le fait de se fixer soit même des objectifs nous encourage à les
poursuivre jusqu’au bout, donc à résoudre plus de problème et par conséquent, de s’améliorer plus rapidement. Je vais principalement m’occuper du
Game Play, réseau ainsi que des graphismes.
L’avis de Paul : Je m’appelle Paul BENETEAU, je viens de Saint germain lès Corbeil dans l’Essonne. Je n’ai pas beaucoup de connaissance dans
le développement d’un jeu, donc ce projet est une opportunité pour moi de
pouvoir apprendre tout en créant quelque chose qui m’intéresse. Pour ma
part, je prends surtout ce projet comme une opportunité pour apprendre
et progresser. J’ai toujours aimé travailler en groupe, car on apprend tous
plus facilement en s’entraidant. J’aime le fait de pouvoir créer un projet sans
avoir de restrictions, de pouvoir créer quelque chose de nous-même qui nous
correspond. Je suis motivé à bien faire ce projet et j’espère que notre groupe
sera satisfait de notre jeu une fois terminé.

Epita 2020

6

Info Sup

Panda’s Art

Tsobot

L’avis de Lionel Je suis Lionel LACOUTURE, âgé de 18 ans, je suis
actuellement en Première année du cycle préparatoire de l’Ecole d’Ingénieur
Informatique à Epita, Villejuif. Je viens du lycée Fustel de Coulanges, à
Massy, où j’ai passé un bac scientifique option SVT, spécialité ISN. Cette
spécialité m’a permis d’avoir une initiation à un langage informatique et
l’opportunité de développer un jeu en Python. De plus, cette spécialité peut
apporter un avantage à mon groupe afin de pouvoir développer un jeu comme
nous l’imaginons. Le fait de pouvoir travailler en groupe est une expérience
assez enrichissante, en effet, en plus de l’entraide, c’est le fait de pouvoir
d’apprendre différentes choses dont leur manière de penser de leur part qui
est amusant. Concernant le projet, je vais principalement m’occuper du site
web, du jeu en réseau, et certaines choses que vous découvrirez en jouant

1.4

Organisation du groupe

La première chose qu’on ait fait est un groupe Facebook où l’on poste nos
idées, des liens. Puis nous avons créer un dossier GitHub afin de tous travailler
sur la même version du projet. Nous avons pris la décision de poster toutes
les deux semaines ce que nous avons fait sur le projet et ce que l’on compte
faire ensuite afin d’avoir une vue globale sur l’avancement du projet.

Epita 2020

7

Info Sup

Panda’s Art

2

Tsobot

Le personnage

Le joueur prend contrôle d’un robot ayant la capacité de sauter s’accroupir, courir et d’utiliser un grappin. Nous verrons donc ses différentes aptitudes
et comment elle ont été implémentés.

Figure 1 : Le personnage

2.1
2.1.1

Les déplacements
Terrestre

Le personnage est un robot contrôlé à la première personne ayant la
capacité de sauter s’accroupir, courir et d’utiliser un grappin.
Pour les déplacements nous avons choisis d’ajouter une force au personnage dans la direction désirée. Le problème est que si on ajoute une force
à chaque rafraîchissement notre robot atteint une très grande vitesse en
quelques millisecondes. On a donc choisit d’ajouter la différence entre la
direction où l’on souhaite aller et la vélocité actuelle. La direction désirée est
recueillit par les touches appuyées, multipliées par la vitesse du personnage.
Ceci nous sert aussi à arrêter le personnage. En effet quand aucun boutons
n’est appuyé la direction désirée est nulle, donc nous ajoutons la force inverse
à la vélocité du personnage ce qui l’empêche de glisser indéfiniment.

Epita 2020

8

Info Sup

Panda’s Art

2.1.2

Tsobot

Aérien

Le saut est est divisé en deux catégories, le saut en courant et en marchant.
Le premier saut rend impossible tout contrôle de la direction une fois en
l’air. Bien entendu l’intérêt de ce saut est d’aller plus loin, on peut aussi
s’accroupir lors d’un saut ce qui va réduire la taille de notre personnage et
permettre d’aller un peu plus haut (donc aussi plus loin).
Il a fallut aussi déterminer si le personnage était au sol afin de par exemple
redonner la possibilité de sauter. Le principe est simple, si notre robot est en
collision avec quelque chose il est au sol sinon il est en l’air.
Le problème est que s’il est en collision avec un mur par exemple il sera
toujours considéré comme au sol et cela permettra donc de sauter indéfiniment tant que la collision au le mur est maintenu.
Pour résoudre ce problème nous avons ajouter la condition que l’objet en
collision avec le joueur ne soit pas trop pentu par rapport à l’axe horizontal.
Le saut en marchant permet un meilleur contrôle pour les petits sauts
de précisions puisqu’il permet un contrôle aérien de la même manière que le
déplacement terrestre mais en plus faible intensité.

2.2

La Caméra

La caméra est attaché au niveau de la tête du robot. C’est donc de ce
point là que le joueur perçoit sont environnement.
C’est une caméra de première personne dont les contrôles de la souris
nous permettent de choisir sa direction.
L’axe X des mouvements de la souris est récupéré et permet une rotation
de tout le corps du personnage, l’axe Y quand à lui permet seulement une
rotation de la tête du personnage à l’horizontale.
Un problème rencontré est qu’il était possible de faire une rotation de la
tête du robot sans limite et donc de faire des tours complets. Nous avons
donc ajouté des limites aux rotations horizontales.

Epita 2020

9

Info Sup

Panda’s Art

2.3

Tsobot

Le grappin

Le personnage dispose d’un grappin qui est utilisable uniquement sur certains objets. Il peut ainsi lancer un grappin qui l’attire dans cette direction et
qui lui permet d’accéder à des endroits seulement accessible avec ce grappin.
Si l’objet pointé par le joueur est utilisable pour le grappin le joueur sera
poussé vers cette objet.
Nous avons rencontré des problèmes pour ajuster la valeur de la force
qui augmentait beaucoup trop dans le temps, car celle ci s’ajoute à chaque
rafraîchissement. Comme pour les mouvements pour résoudre ce problème
nous avons retranché la force de la vélocité actuelle du personnage et ainsi
obtenir des mouvements beaucoup plus fluides et contrôlable.
On a aussi dû aussi désactiver les mouvements du joueur pour garder
seulement celui du grappin et empêcher le joueur de se déplacer en plus du
grappin.
Lorsque l’on relève la touche, le joueur ne subit plus la force du grappin
et récupère ses capacités de mouvements. Dès que le joueur entre en collision
avec quelque chose il doit relancer son grappin pour poursuivre sa course.
Le joueur possède jusqu’à 2 charges de grappin, il doit retomber au sol
pour les récupéré.

Epita 2020

10

Info Sup

Panda’s Art

3
3.1

Tsobot

Les niveaux
Le laboratoire

Cette scène est la première, c’est ici que le joueur commence le jeu. Son
nom est justifié par le style artistique qui fait penser à un laboratoire futuriste
mais c’est aussi comme ça que nous l’avons appelé car c’est ici que nous avons
mené nos premières expériences et développés les mécanismes de bases du
jeu.
Le but de cette scène est d’ouvrir la porte de la salle principale, il faut
pour cela résoudre les 4 salles auxiliaires. Une couleur à été attribué à chaque
salle.
Pour les résoudre il faut pour chacune appuyer sur un bouton accessible
seulement lorsque le niveau est considéré comme terminé. Il suffit qu’un seul
joueur active ce bouton pour que le niveau soit terminé pour tout les joueurs
connectés.
Les salles violettes et vertes sont des salles testant l’agilité et les salles
bleues et rouges sont faites pour la réflexion.

Figure 2 : Salle principale

Epita 2020

11

Info Sup

Panda’s Art

3.1.1

Tsobot

Violette

La salle violette est constitué d’un chemin de plate-forme avec à la fin un
bouton qui est la résolution du niveau.
Le niveau doit être résolu en une fois, en effet lorsque le joueur tombe du
chemin de plate-forme il est téléporté au point de départ.
Cette partie est un peu comme le tutoriel du jeu elle est dessiné pour que
le joueur maîtrises les différentes mécaniques du mouvements.
Par exemple il est nécessaire de sauter en s’accroupissant, en courant.
Pour apporter un peu de dynamisme à cette salle nous avons ajouté des
plates-forme propulsant le joueur.

Figure 3 : Salle violette

Epita 2020

12

Info Sup

Panda’s Art

3.1.2

Tsobot

Bleue

Ce niveau requiert un peu plus de réflexion que la précédente. C’est une
énigme, dont la première difficulté est comme souvent dans les jeu d’énigmes
de trouver ce qu’il faut faire.
En effet le principe n’est pas facile à comprendre à première vu.

Figure 4 : Salle Bleue
Le principe est celui du jeu "des bâtonnets" mais inversé. En d’autre
termes nous disposons de 3 boutons pouvant allumer 1,2 ou 3 voyants lumineux bleu. Cela représente notre tour.
Après avoir joué notre coup c’est au tour de l’ordinateur de jouer 1,2
ou 3 et le but est d’allumer le dernier voyant(croix bleu sur l’image). Pour
activer un bouton nous traçons un raycast partant du joueur à devant lui et
si celui-ci a un tag "bouton" il active sa propre action.
Le coup de l’ordinateur est toujours le meilleur coup possible. Le joueur
a la main, il ne doit donc commettre aucune erreur afin de réussir. Le changements de couleurs est effectués en remplaçant le matériau par défaut par
un matériau rouge ou bleu selon le tour.

Epita 2020

13

Info Sup

Panda’s Art

3.1.3

Tsobot

Verte

Cette pièce est vide à l’exception d’un bouton vert.
Ce dernier active le niveau, une vitre bloque l’accès à la salle les joueurs
à l’intérieur sont enfermés. Une série de murs se déplacent dans la salle,
lorsqu’un joueur touche un mur il est téléporté hors de cette dernière.
Au bout de 30 secondes les vagues s’arrêtent et un bouton apparaît, le
joueur a alors 10 sec pour l’activer afin de valider le niveau avant que celui ci
et la vitre ne disparaissent. Les "murs" ont chacun un script attaché sur eux
les déplaçant dans la directions voulu lorsqu’activé. Un script principale est
chargé d’activer ces murs au cours du temps, à une fréquence évolutive. Pour
les activer le script est placé sur un parent de tous les murs qui se déplacent,
il récupère donc ses fils un an un. La meilleur stratégie est donc de se replacer
au milieu le plus souvent.
La difficulté est plutôt élevé il est en effet pas facile de finir le niveau sans
le connaître par cœur, ce choix de la difficulté est justifié par le fait que le
jeu est jouable en coopération et il suffit qu’un joueur valide une salle pour
qu’elle soit validée pour tous les joueurs.

Figure 5 : Salle Verte

Epita 2020

14

Info Sup

Panda’s Art

3.1.4

Tsobot

Rouge

Cette salle est constitué de deux niveaux qui sont encore une fois distingué
par des couleurs

Figure 6 : salle rouge, niveau 1
Il y a donc 2 boutons, un de chaque couleur représentant leur niveau respectif. Le premier est illuminé d’arrivé et c’est le seul activable pour l’instant.
Lorsqu’activé un script instancie une balle de la couleur du bouton au niveau
du début (Voir figure ci dessus).
La balle est attiré par la gravité si cette dernière touche le sol, elle disparaît. D’où la nécessité des petits trampolines déplaçable en les poussant ou
en les portant. Nous avons essayé différentes méthodes pour porter le trampoline, la première était de modifié sa position pour qu’elle soit devant le
joueur à chaque rafraîchissement.
Cela fonctionnait globalement mais si un joueur porte le trampoline en
étant dessus cela lui donnait la capacité de voler tel Aladin sur son tapis
volant. J’ai du donc changer complètement de stratégie et j’ai pensé à placer
le trampoline devant le joueur et à le passer en fils du joueur.
Cela posait un autre problème, comme la rotation du joueur se fait avec
les mouvement de la souris et que le trampoline est placé devant le joueur
en étant lié à ce dernier, le trampoline porté pouvais se déplacer à une très
grande vitesse et traverser les murs lors d’un rapide mouvement de souris.
J’ai donc résolut ce problème en plaçant l’objet au dessus de la tête du
joueur lorsqu’il est porté. De plus pour éviter tout problème j’ai ajouté une
Epita 2020

15

Info Sup

Panda’s Art

Tsobot

sécurité : afin d’autorisée la posée de l’objet il faut un espace vide de deux
mètres devant le joueur.
Dans ce niveau 1 une balle doit être instanciée en appuyant sur le bouton
puis doit rebondir grâce aux trampolines jusqu’à l’arrivée. Une fois la balle
arrivée les trampolines sont remplacés par de nouveaux et le niveau passe au
suivant. Le fonctionnement des trampolines est simple si un objet entre en
collision avec ce dernier et que c’est un objet de type balle, la vélocité de la
balle est mise à 0 puis une force est appliquée.
Cette méthode rend l’interaction contrôlable et prévisible. Il existe deux
types de trampolines : inclinées ou horizontaux.
Le second niveau est plutôt différent puisqu’il dispose de ce que j’ai appelé
une balance.

Figure 7 : Balance/niveau4
Elle peut être déplacée de droit à gauche. Elle est le début et l’arrivée du
niveau. Dans ce niveau nous ne disposons que de trampolines horizontaux
et de deux portail télé-porteur à double sens. Il faut donc utiliser les portail
pour faire revenir la balle vers la balance. Toutefois il faut déplacer la balance
dans l’axe de la sortie du portail pendant le trajet de la balle.

Figure 8 : Balance/niveau4
Epita 2020

16

Info Sup

Panda’s Art

3.2

Tsobot

L’échappée

Nous avons décidé pour la suite du jeu de créer un parcours d’agilité qui
permettra de faire le lien entre la première scène composé des quatre salles
et une nouvelle scène dans la nature.
Le joueur doit donc réussir ce parcours d’obstacle pour sortir de ces salles
qui l’enferme et rejoindre la nature.
Le principe du parcours repose sur l’utilisation du grappin. Le joueur
doit réussir à contrôler la vitesse et la direction du grappin pour avancer et
atterrir au bonne endroit.
Le joueur a une limitation dans l’utilisation du grappin, il ne peut utiliser
que deux grappins dans les airs, mais il regagne ses deux grappins lorsqu’il
retombe sur le sol Le parcours d’obstacle est une scène qui est composé de 6
épreuves qui ont chacune un checkpoint.
Ainsi si le joueur réussi une épreuve il n’aura plus besoin de la refaire
dans le futur.

Epita 2020

17

Info Sup

Panda’s Art

3.2.1

Tsobot

Première épreuve :

Figure 9 : Épreuve 1
Le début du parcours est une introduction au grappin pour que le joueur
apprenne à utiliser le grappin. C’est une épreuve facile qui permet au joueur
de comprendre le fonctionnement du parcours.
Le joueur doit utiliser son grappin sur deux demi-sphères alignés et retomber sur le sol devant lui. Le joueur a seulement le droit d’utiliser le grappin
sur ces demi-sphères grâce à un tag spécial appliqué aux demi-sphères, il ne
peut pas s’aider des murs.
Il faut simplement gérer la vitesse pour retomber au bon endroit. S’il
tombe avant d’avoir toucher le sol, le joueur revient au point de départ.

Epita 2020

18

Info Sup

Panda’s Art

3.2.2

Tsobot

Deuxième épreuve

Figure 10 : Épreuve 2
Dans cette épreuve, le joueur doit encore sauter dans les airs grâce à deux
demi-sphères en hauteur. Le tremplin reçoit une force qui accélère sa vitesse
et permet au joueur de sauter plus loin.le tremplin possède un mouvement
qui a toujours la même vitesse entre deux positons.
Ainsi le but de cette épreuve pour le joueur est prédire ou sauter et à
quelle vitesse pour atterrir sur le tremplin et pouvoir rejoindre la prochaine
épreuve.

Epita 2020

19

Info Sup

Panda’s Art

3.2.3

Tsobot

Troisième épreuve

Figure 11 : Épreuve 3
Le but de cette épreuve est d’actionner un bouton situé en hauteur grâce
au grappin. Ce bouton permet d’ouvrir une porte et le joueur a ensuite
quelques secondes pour accéder à cette porte et réussir l’épreuve, puis la
porte se referme.
Nous avions déjà créer des boutons au même fonctionnement, permettant
d’ouvrir la porte lors de la première soutenance.

Epita 2020

20

Info Sup

Panda’s Art

3.2.4

Tsobot

Quatrième épreuve

:

Figure 12 : Épreuve 4
Le joueur a devant lui une demi-sphère et un arc de cercle ressemblant
au ying-yang qui tourne avec un trou au milieu.
Le but de cette épreuve est de passer dans le trou de cette arc de cercle
en utiliser le grappin sur le demi-sphère pour sauter.
Ce ying-yang est tout le temps en rotation avec la même vitesse. Le joueur
doit sauter au bon timing pour passer ce ying-yang puis utiliser à nouveau
le grappin sur une demi-sphère avec la bonne vitesse pour atterrir sur le sol.

Epita 2020

21

Info Sup

Panda’s Art

3.2.5

Tsobot

Cinquième épreuve

Figure 13 : Épreuve 5
Pour cette épreuve, j’ai rajouté une nouvelle mécanique. En effet jusqu’à
présent,la limitation de grappin ne posait pas de problèmes au joueur.
J’ai rajouté des cercles plats qui donne des grappins supplémentaires
lorsque le joueur le traverse. Pour cela, j’ai créer une nouvelle fonction dans
le script du grappin qui modifie la variable associé au nombre de grappins
possible.
Dès que le joueur traverse le cercle, il gagne des grappins supplémentaire
et peut aller plus loin dans l’épreuve.
De plus, j’ai ajouté un anneau qui accélère la vitesse du joueur. Cet anneau
donne une force au joueur qui l’accélère lorsque ce dernier traverse l’anneau.
Le but de cette épreuve est de prendre de la hauteur grâce aux deux premières demi-sphères puis de rentrer dans l’anneau qui accélère et de traverser
le cercle qui donne un grappin supplémentaire.
Enfin, le joueur doit réussir à utiliser le grappin en pleine vitesse pour
rentrer dans une petite porte sur le coté et accéder à la dernière épreuve.

Epita 2020

22

Info Sup

Panda’s Art

3.2.6

Tsobot

Sixième épreuve

Figure 14 : Épreuve 6

Figure 15 : Épreuve 6 suite
Cette dernière épreuve est plus dur et plus longues que les précédentes.
Son principe repose sur le fait que le joueur peut utiliser son grappin sur tous
les murs mais qu’il doit traverser tous les cercles qui donnent des grappins
supplémentaires pour avancer.
J’ai aussi ajouté des obstacles pour que le joueur ne puisse passer que par
en haut ou en bas. C’est une épreuve d’obstacle et d’agilité où le joueur doit
traverser tous les cercles et esquiver les obstacles pour réussir et arriver dans
une porte dans un mur de pierre qui mène à la prochaine scène : La nature.

Epita 2020

23

Info Sup

Panda’s Art

3.3

Tsobot

Nature

La scène se déroule dans une vallée avec un temps un peu pluvieux. Cette
scène à été faite de manière à donné un peu d’espace et de liberté aux joueurs
qui étaient jusqu’à présent toujours en intérieur.
On peut voir des arbres, et des montagnes autour de nous mais aussi un
château médiéval qui lorsque l’on s’en rapproche, nous amène à résoudre un
puzzle
3.3.1

L’entré

Figure 16 : Château
Il y a un panneau avec un bouton qui lorsqu’appuyé joue une mélodie
composé de 4 notes à tous les joueurs. Le principe de ce puzzle est de reproduire cette mélodie grâce au petits carillons à notre disposition. Tous les
joueurs peuvent utilisé le carillon pour reproduire la mélodie, chaque action
est donc lié au serveur.
Il y a en tout 3 mélodies à reproduire afin d’ouvrir la porte accédant au
pont levis du château. Les mélodies ont été crée et enregistré par nous même.
L’instrument utilisé est un ukulélé soprano et les notes sont celle des cordes
libre soit : SOL DO MI LA.

Epita 2020

24

Info Sup

Panda’s Art

3.3.2

Tsobot

Le pont levis

Après avoir réussi cette épreuve musicale les joueurs se retrouvent devant
le pont levis qui permet l’accès au château mais ce dernier est relevé, les
joueurs vont alors devoir trouver un moyen d’abaisser le pont levis.
A leur droite se trouvent des rochers que l’on peut transporter et lancer
en appuyant sur le bouton action. Le but étant de briser les chaînes qui
retiennent le pont-levis avec les rochers. j’ai repris le fonctionnement de porté
d’objet présenté lors de la première soutenance et y ai rajouté un lancer au
lieu de simplement déposer l’objet.
Une fois lancé le rocher disparaît après avoir touché un objet, il est en
réalité téléporté à sa position initiale. Nous avons rajouté des particules simulant la destruction de ce rocher et un son approprié lors de sa collision
afin de donner un peu de réalisme.
Quand aux chaînes à détruire cela fonctionne par système de vague, en
effet lorsque toutes les chaînes sont détruite le château se défend et rattrape
le pont levis lors de sa chute grâce à de nouvelle chaînes.
A chaque vague le point levis s’abaissent jusqu’à être complètement horizontale et permettre la traversée des douves et donc permettre l’accès au
château.

Figure 16 : Château

Epita 2020

25

Info Sup

Panda’s Art

3.4
3.4.1

Tsobot

L’intérieur du château
La traversée

Les joueurs se retrouvent sur un chemin au dessus de magma en fusion
si l’un d’entre eux tombe il est téléporté au dernier checkpoint. Le but est
d’avancer jusqu’au prochain checkpoint mais la voie est parsemé de pièges
qui lorsque touchent le joueur le fait réapparaître à son dernier checkpoint.

Figure 17 : Intérieur
Pour donner un réel effet de balancier j’ai utilisé la fonction smoothstep :

Figure 18 : Smoothstep

Epita 2020

26

Info Sup

Panda’s Art

Tsobot

On peut voir grâce au schéma l’accélération et la décélération donnant au
mouvement de balancier un bien meilleur réalisme. Pour les mouvements du
piège des deux masses qui s’entrechoquent comme ci-dessous j’ai du utilisé
les fonctions sinus et cosinus afin de simuler au mieux le choc

Figure 19 : Pièges
Mathf.Sin(i * Mathf.PI * 0.5f) // descente,avant choque
1f - Mathf.Cos(i * Mathf.PI * 0.5f); // remonté, après choque
Pour des soucis d’optimisation de la bande passante et des performances, le
mouvement est calculé que pour une des masses, l’autre masse prend juste
la position inverse à la première. Les checkpoint sont indépendant des autres
joueurs, chaque joueur doit donc réussir à franchir ces étapes pour poursuivre
le niveau.

Epita 2020

27

Info Sup

Panda’s Art

3.4.2

Tsobot

La calculatrice

Après avoir passer ces étapes d’agilité le joueur est invité à résoudre un
nouveau puzzle :

Figure 20 : Calcul
Le but est d’arriver à la case en bas à droite avec le score de cette case
qui dans ce niveau est de 8. On part toujours du haut gauche pour aller au
bas droit.
Les joueurs disposent de boutons pour se déplacer dans le tableau, si ils
vont sur un nombre vert, cela ajoute à la somme s’ils vont sur un nombre
rouge cela le soustrait. Dans notre exemple nous avons fait droite > droite
> bas.
Nous sommes partis de la case en haut à gauche donc 0 + 2 - 4 + 5 =
3. La somme est égale à 3 pour résoudre le niveau il faut donc aller à droite
une fois puis en bas. Après avoir terminé un niveau (ou une grille) un autre
niveau commence avec des chiffres différents.
Il y 3 niveau à finir pour résoudre ce puzzle avec à chaque fois un ou
plusieurs chemins permettant d’arriver à cette somme. Les boutons sont relié
au réseau permettant aux joueurs de réfléchir sur la même grille.

Epita 2020

28

Info Sup

Panda’s Art

Tsobot

Figure 21 : Poulpe
Après avoir réussis ce puzzle nos aventuriers se retrouvent devant la salle
finale, celle du boss. On a voulu faire quelque chose d’originale, ce boss est
un poulpe géant maître du château. Le but du poulpe est d’arrêter notre
progression il va pour cela essayer de nous écraser avec différents types de
coups.
Les joueurs vont alors devoir les esquiver sinon il seront téléporté dans
une prison pendant un certain temps. Si tous les joueurs se retrouvent dans
la prison le niveau est à recommencer. La prison donne vue sur la scène du
boss permettant aux joueur de regarder ses compagnons essayant de résister
jusqu’à sa libération.
Le poulpe dispose de plus d’une arme secrète, Un jeté d’encre qui lorsque
touche un joueur tache son écran pendant une certaine durée rendant l’orientation bien plus ardu. L’encre est constitué de particules animés donnant une
impression de liquide.
Le poulpe ne jette pas son encre au hasard, il vise chacun des joueurs
l’un après l’autre. Réaliser cette visée fut plus difficile que prévu car il a
fallut calculer la vélocité de l’encre et sa direction en fonction de la position
du poulpe et du joueur. Nous avons décomposer le problème en deux étapes
calculer la direction et la vélocité.
Après avoir simplifié les problèmes au maximum nous avons utilisé nos
compétences de physique acquise cette année et furent plutôt étonné de la
précision de notre jet. Au bout d’un certain moment, par frustration le poulpe
avec faire trembler la salle et faire tomber une pierre similaire à celle qu’il
fallait lancé sur les cordes du pont levis.
Epita 2020

29

Info Sup

Panda’s Art

Tsobot

Le joueur va alors devoir la lancer sur le poulpe mais pas aussi simplement
il va falloir la lancé à travers un arceau augmentant la vélocité de la pierre
et permettant de faire perdre un point de vie au poulpe. Pour être en face de
l’arceau, qui est en hauteur, il faut réussir un petit parcours de plate forme
au dessus de la lave.
Le poulpe à 1 point de vie plus le nombre de joueur présent dans la partie.
Cela permet d’équilibré la difficulté en fonction du nombre de joueurs. Les
attaques du poulpes sont faite avec l’animation de ce dernier. Il a donc fallut
synchronisé les animations afin que chaque joueurs est la même attaque à
esquiver.

Epita 2020

30

Info Sup

Panda’s Art

4
4.1

Tsobot

Réseau
Unet

On utilise le service réseau proposé par unity : Unet. C’est une aide indispensable qui rend la tache beaucoup plus accessible.
Nous utilisons principalement le système de commande / rpc : les joueurs
appellent des commandes sur le serveur puis le serveur appelle des fonctions
sur tous les clients(rpc). Par exemple lorsqu’un joueur active un bouton, il
envoie que ce bouton est activé au serveur, puis le serveur envoie à tous les
client que ce bouton est activée.
On a parfois la nécessité de faire apparaître un objet on doit pour cela
instancier l’objet sur le serveur. C’est le cas pour la salle rouge et ses niveaux,
les trampolines sont des objets instancié en jeu. Un des problème auquel j’ai
pensé est que si un joueur se connecte après que l’objet soit instancié il aura
un objet en moins dans la scène. Mais Unet à déjà pensée à tout, lorsqu’un
objet est instancié il est ajouté automatiquement dans une file et lorsqu’il est
détruit retirée de cette dernière.
J’ai du moi aussi construire quelque chose de semblable dans la salle rouge
car à chaque changement de niveau il faut détruire tous les objets instancié
et en créer de nouveau.
J’ai donc ajouter dans une liste tous les objets instanciée pour pouvoir
détruire tous les objets de la liste lorsque le niveau change. On a mis en place
un système d’appels par joueur. En effet seul le joueur possède l’autorité pour
envoyer des messages au serveurs.
Certains objets extérieur au joueur doivent parfois transmettre des informations donc nous avons fait en sorte que ces objets aient en variable
leur joueur locale pour ensuite transmettre les informations au serveur par le
joueur. Ce système nous fut très utile pendant toute la réalisation du projet.

Epita 2020

31

Info Sup

Panda’s Art

4.2

Tsobot

Synchronisation spécialisé

Les pièges à l’intérieur du château repose sur le timing et la précision des
mouvements du joueur, il est donc fondamentale qu’ils aient une trajectoire
régulière et prédicable.
Cela à poser quelques problème du fait que le jeu est en multijoueur, en
effet les pièges étaient désynchronisé entre les clients.
J’ai essayé d’ajouter à chaque piège la synchronisation de position proposé
par Unet mais les mouvements étaient bien trop saccadé coté client rendant le
niveau injouable et cela même en jouant avec les paramètres d’interpolation
et de quantité de messages par seconde.
J’ai du donc recoder une synchronisation de transform par le réseau. Le
principe de cette synchronisation est que chaque client calcule le mouvement
de son coté et que toutes les secondes le float du 3ème paramètre du Lerp est
envoyé du serveur à tous les client ainsi qu’un booléen représentant le sens
de rotation.
C’est une technique spécialement adapté à notre cas qui ne demande
que très peu de bande passante et dont le résultat est bien mieux que la
synchronisation proposé par unet, il est presque impossible de différencier le
coté client du coté serveur

Epita 2020

32

Info Sup

Panda’s Art

4.3

Tsobot

Chat 1

Au début on avait du mal à commencer à créer un chat fonctionnel, ce
chat nous a pris beaucoup plus de temps que prévu.
Pour accéder au chat il faut appuyer sur le bouton du clavier "Y", on a
choisi cette touche car pendant le jeu la touche Y est près des autres touches
du jeu, à savoir les touches Z, Q, S, et D dans un clavier AZERTY, de plus
cette touche Y est utilisé pour déclencher le chat dans la plupart des jeux de
ce mode et donc par familiarité cette touche Y a été choisie.
L’interface de notre chat est fait avec un "inputfield" car on peut directement copié-coller un code triche.
Pour faire du chat en réseau, on a utilisé le service de réseau conçu par
Unity, Unet. Il faut créer une partie ClientRpc avec des balises, et ajouter
un préfixe "Rpc" dans le nom d’une fonction. En outre, il faut aussi créer
une partie Command avec des balises, et ajouter un préfixe "Cmd" dans le
nom d’une fonction. La fonction doit être exécuté sur les clients quand il est
appelé sur le serveur. Tous les arguments seront automatiquement transmis
aux clients avec l’appel de "ClientRpc 2 ". Ces fonctions vont maintenant être
exécutés sur le serveur quand il sont appelé sur le client. Tous les arguments
seront automatiquement transmis au serveur avec la commande.
Dans la classe mouvement, on avait créer une fonction qui permettait de
voler à la manière d’un jetpack 3 . Il faut appuyer plusieurs fois sur la touche
"espace" du clavier pour voler.
On a aussi ajouté que quand le chat était activé et qu’on appuyait sur
la touche "Entrée", si ce n’était pas notre code de triche, on devait envoyer
le message normalement, grâce à la liste de message qu’on a crée qui garde
l’historique des messages. Sinon on active la fonction qui permet de voler et
il ne faut pas envoyer le message.

1. Le nom chat (prononcé « tchatte », du verbe anglais to chat, bavarder) et le verbe
chatter (ou aller chatter) sont parfois utilisés en français (en franglais pour certains) pour
désigner la communication textuelle en direct par Internet. Il s’agit de la messagerie instantanée.
2. En informatique et en télécommunication, RPC (remote procedure call) est un protocole réseau permettant de faire des appels de procédures sur un ordinateur distant à
l’aide d’un serveur d’applications.
3. Un réacteur dorsal, ou jet pack en anglais, est un équipement portable permettant
à son utilisateur de décoller, de se propulser et d’atterrir de façon autonome.

Epita 2020

33

Info Sup

Panda’s Art

Tsobot

Figure 22 : Chat
Comme vous pouvez le voir, on a aussi les identifiants sur le chat. En effet,
on récupère l’identifiant, que le joueur insère lors de la création d’une partie
ou lorsque le joueur rejoint une partie, et on l’insère au début du message
qui doit être envoyé.
Enfin pour les codes triches on en a qu’un seul par manque d’idées et
par manque de temps surtout. Donc le seul code triche qu’on a est le fait de
voler, en mettant "/bird" dans le chat.

Epita 2020

34

Info Sup

Panda’s Art

5
5.0.1

Tsobot

Audio
Format du son

: Le son est un élément important du jeu qui peut aider le joueur et
donner une nouvelle dimension au jeu. Unity supporte de nombreux formats
audio, car il les converti tous dans un même format que Unity utilise.
Par défaut, tous les sons sont importés de la même façon : avec le format
"Vorbis". Ce format n’est pas souvent celui préféré car il consomme beaucoup
de mémoire sur le jeu. Il y a 3 moyens de charger des sons :
- Le son est stocké dans la RAM et il est décompressé lorsqu’il est utilisé.
Cette méthode à l’avantage de ne pas consommer beaucoup de mémoire pour
le jeu.
-On peut aussi stocké le son avec de la mémoire flash tel que hard drive,
flash. Cela permet de ne pas utiliser la RAM lorsque l’on lance le son.
- Le son peut être stocké dans la RAM en étant directement décompressé.
Dans ce cas, utiliser le son n’affecte que très peu le processeur mais cela demande beaucoup de mémoire.
Pour les effet qui ont des sons rares et courts, on utilisera la première
méthode car ces sons sont faciles à décompressé. Tandis que pour le son ambiant qui consomme beaucoup de mémoire, on choisira les deux dernières
méthodes qui ne demande pas de décompressé le son.

5.0.2

Ajout du son

: Pour la première scène du laboratoire, j’ai utilisé du son lorsque le joueur
rebondit sur des tremplins et qu’il traverse un anneau dans la salle violette
du jeu qui est un chemin de plate-forme. Ce sont des sons qui sont rare et
court, j’ai donc utilisé la première méthode pour les compressé.
J’ai rajouté un son d’ambiance avec de la pluie de l’orage dans la scène
de la nature. J’ai utilisé un son court d’une minute qui tourne en boucle pour
ne pas prendre trop de place. De plus, le son n’est pas associé à une zone
précise, on peut l’entendre de n’importe où.

Epita 2020

35

Info Sup

Panda’s Art

6

Tsobot

Menu

6.1

Options graphique

Dans les options graphiques on peut activer le mode plein écran, changer
sa résolution selon une liste de résolution disponible pour l’ordinateur et
changer la qualité des graphismes.
Pour réaliser les boutons et afficher du texte à l’écran nous avons utilisé
une récente fonctionnalité de Unity permettant la création d’objets 2D dans
l’éditeur. Nous avons ensuite reliée ces éléments à un script appelant des
fonction de Unity qui permette de changer la qualité, résolution et le pleine
écran.
Nous avons aussi rajouté un mode daltonien qui est une liste de types de
daltonisme et qui selon ce type change les couleurs du jeu. Nous nous somme
basé sur une étude et procédé déjà connu et l’avons adapté à nos besoin.

Figure 23 : Table de pourcentage de couleurs dans chaque couleur pour
chaque correction colorimétrique

On peut remarquer que le daltonisme représente 8% des joueurs d’où le
besoin d’ajouter ce mode. En fonction des valeurs de ce qu’est visible par le
type de daltonisme, nous changeons les couleurs du jeu afin que ce soit plus
agréable à regardé.

Epita 2020

36

Info Sup

Panda’s Art

6.2

Tsobot

Option de contrôle

Pour la partie son nous avons simplement placé un slider pour contrôler
le volume globale du jeu. Les options clavier ont été créer pour pouvoir
reconfigurer les touches de contrôle.
Cette étape fut plus compliqué que prévu car l’Input manager de unity
ne permet pas de changer les touches du clavier en jeu nous avons du donc
recorder notre propre input manager ainsi que toute la détection des touches
codé jusqu’à présent.
Pour l’input Manager j’ai appris à créer un singleton qui grâce à ses
propriétés permet de circuler entre les scènes en-ligne et hors-ligne sans créer
de doublons et en conservant les modifications.
Les options de souris permettent de contrôler la sensitivité de souris et
donne aussi la possibilité d’inverser l’axe Y de la souris afin que tous les
joueurs se sentent à l’aise.
Ce qui donne au menu un réel intérêt est qu’il n’est pas seulement disponible avant de jouer mais aussi pendant.
Cette fonctionnalité a complètement modifié l’architecture et la complexité et à par conséquent fait de ce menu un réel challenge à implémenter.

Epita 2020

37

Info Sup

Panda’s Art

6.3

Tsobot

Le multijoueur

Nous avons aussi créer un menu pour créer et rejoindre une partie en
ligne. On peut indiquer son pseudonyme qui sera ensuite utilisé en jeu lors
de l’utilisation de la messagerie.
Au milieu de l’écran ce trouve un tableau listant les parties créent par
les joueurs. C’est une liste potentiellement infinie dans laquelle pour chaque
serveur est affiché le nom du serveur le nombre de joueurs et si la partie est
publique ou privée. On peut rejoindre une des parties en cliquant dessus, ce
qui va changer la couleur de son nom en rouge, puis cliquer sur le bouton
"Join".
Le joueur a aussi bien évidement la possibilité de créer une partie. Il va
pour cela donner un nom à cette partie ainsi qu’un mot de passe s’il souhaite
qu’elle soit privée. Après avoir créer la partie le joueur sera demandé de
choisir la scène à joué.

Figure 24 : Menu

Epita 2020

38

Info Sup

Panda’s Art

6.4

Tsobot

Sauvegarde

Après avoir finit un niveau, un script se lance pendant le chargement
créant un fichier de sauvegarde s’il n’en n’existe pas et enregistre que le
niveau est terminé.
Cela va permettre au joueur de pouvoir finir le jeu en plusieurs sessions
de jeu. En effet il va pouvoir choisir quel niveau jouer au menu principale
grâce à la lecture de ce fichier.

6.5

Transition

Nous avons aussi ajouter un effet de transition qui est un diaphragme
composé de triangle qui est animé dans unity avec des scripts. C’était un
effet que j’avais réaliser il y a quelques années sur After Effect je connaissait
bien son fonctionnement, il était donc intéressant de voir si je pouvait le
recréer en script grâce aux connaissances acquises cette année.
C’est donc un diaphragme qui s’ouvre et que se referme rappelant le
système de vision mécanique de notre robot.

Figure 25 : Transition

Epita 2020

39

Info Sup

Panda’s Art

7

Tsobot

Fin du jeu

En conclusion nous avons voulu faire quelques chose d’originale qui surprendrai le joueur à chaque étape du fait qu’il soit détaché des normes du jeu
vidéo standard. Ce jeux nous amène à se poser des questions sur la nécessité
d’une histoire ou d’une cohérence aux jeux vidéo.
Le jeu est divertissant et intriguant justement du fait de l’absence de
cohérence. Il n’y a aucun moyen pour le joueur de prévoir la suite rendant
chaque avancement une nouvelle surprise. C’est ce phénomène qui va poussé
le joueur à avancer dans le jeu du fait qu’il sera curieux de connaître la
prochaine épreuve.
On s’est inspiré des jeux qui se rapprochent plus d’une œuvre artistique,
où l’ont peut ressentir la personnalité des créateur à travers leur jeu. Nous
avons quand même gardé quelques éléments classique car c’est notre première
expérience dans ce domaine et il ne s’agit pas de faire m’importe quoi.

Epita 2020

40

Info Sup

Panda’s Art

8

Tsobot

Site Web
Notre site se trouve à l’adresse suivante :

http ://tsobot01.businesscatalyst.com/index.html

8.1

Accueil

En premier lieu nous nous trouvons sur la page d’accueil, où nous avons
un petit decriptif qui résume notre jeu ainsi que d’une image de notre personnage. Nous pouvons aussi d’ores et déjà observer un favicon 4 qui représente
notre groupe : un panda qui représente le nom de notre groupe, et un robot
qui représente le personnage principale de notre jeu, c’est un panda-robot :

Figure 26 : Favicon du site
On peut également voir, en bas du site, un widget 5 "S’abonner" sur la
page Facebook de notre jeu. En effet, on a créer une page Facebook pour le
jeu, pour avoir une plus grosse communauté de joueurs, pour partager nos
savoirs et nous contacter directement sur un réseau social, beaucoup plus
utilisé qu’un simple site web, cette page Facebook est donc un moyen de
communication assez efficace.

Figure 27 : S’abonner sur Facebook
4. Un favicon est une icône qui s’affiche dans le navigateur web, à côté de l’adresse
URL d’un blog ou site web, ainsi que sur l’onglet, la barre de titre et dans les favoris.
5. Petite application qui s’intègre à un système d’exploitation, une page Web ou un
blog

Epita 2020

41

Info Sup

Panda’s Art

8.2

Tsobot

Équipe

Dans ce deuxième onglet, on a une description des membres du groupes
avec : notre nom et prénom, nos tâches, notre adresse mail, et une description
du membre par rapport au projet.

8.3

Projet

Ensuite nous arrivons dans le troisième onglet, on essaye de mettre au
mieux notre avancement sur le projet sans que cela soit trop lourd afin que
l’utilisateur n’ait pas envie de fermer le site.
Et juste en dessous on peut trouver des vignettes avec des images à l’intérieur. Ces images sont des captures d’écran de notre jeu. Si on clique sur une
de ces vignettes, l’image pourra s’agrandir et on pourra ainsi avoir un aperçu
du jeu qui donnera envie aux potentiels joueurs de télécharger le jeu et y
jouer. N’oublions pas que quand la vignette est cliqué c’est un diaporama
qui apparaît.
Ce diaporama apparaît sous forme d’un cadre c’est-à-dire qu’autour de
l’image tout s’assombrit pour donner une meilleure image. On peut passer
à l’image suivante ou l’image précédente en cliquant sur des flèches qui se
trouvent juste en dessous du diaporama à droite.

8.4

Contact

Si un utilisateur prends l’envie de nous adresser un message, il peut très
bien passer par la page Facebook, mais il nous fallait aussi inclure un moyen
de contact pour ceux qui n’auraient pas ces réseaux sociaux ou aussi pour
ceux qui se trouve sur la page et ne pas passer par la page Facebook. On a
donc inclus un formulaire de contact à remplir pour envoyer un message aux
boites mail EPITA de chacun d’entre nous.
Dans ce formulaire il faut remplir son nom, une adresse mail valide, le
message, un captcha de vérification 6 c’est un captcha alphabet à remplir
pour nous envoyer le mail. Si le texte du captcha entré dans la zone dédié
ne correspond pas à l’image du captcha il va de soi que le message nous sera
évidemment pas envoyé.

6. Un Captcha est un programme de test visant à protéger un site web (souvent une
page de formulaire ou d’inscription) des robots. Le test proposé par le programme Captcha
doit pouvoir être solutionné rapidement et simplement par un humain et doit déjouer les
robots et les malveillants.

Epita 2020

42

Info Sup

Panda’s Art

Tsobot

Figure 28 : Formulaire de contact

8.5

Liens

Dans le dernier onglet, l’onglet links, j’ai rajouté ce rapport de soutenance qui sera en PDF et en couleur, et le jeu à télécharger en zip de cette
soutenance.

8.6

Version Mobile

J’avais remarqué que la version du site sur mon téléphone n’avait pas une
aussi bonne finition que sur un ordinateur.

Figure 29 : Capture d’écran de la
page Home sur mobile

Epita 2020

43

Figure 30 : Capture d’écran de la
page Team sur mobile

Info Sup

Panda’s Art

Tsobot

En effet sur ces images on peut voir qu’il y a des zones qui ne sont pas
remplie comme dans la première capture d’écran, c’est encore plus flagrant
sur la deuxième capture d’écran. J’ai donc été obligé de tout remodéliser car
la plupart des personnes aujourd’hui utilisent plus un téléphone qu’un ordinateur.
J’ai repris le même contenu que sur site ordinateur sauf qu’il fallait replacer au bon endroit par rapport à un portable et il fallait que cela soit intuitif
pour l’utilisateur du mobile. Donc le menu n’est plus en haut mais à gauche
de l’écran.
Et dans l’onglet "Projet" où il y avait le diaporama, les images ne se défilent pas en appuyant sur les flèches mais grâce à l’écran tactile en faisant
un mouvement avec son doigt sur l’écran

Figure 31 : Capture d’écran de la
page Links

Figure 32 : Capture d’écran de la
page Links qui entoure un point

Ce sont deux captures d’écrans de la page links, ce sont les mêmes images,
sauf qu’il y en une qui entoure quelque chose. En effet il entoure un petit
point. Ce point est également présent sur la capture d’écran de gauche mais
il est tellement petit qu’il est peu visible.

Epita 2020

44

Info Sup

Panda’s Art

Tsobot

Il est tout petit parce qu’on veut cacher quelque chose. Si on clique sur
ce point, un PDF va s’ouvrir :

Figure 33 : PDF Code Triches
Vous avez bien vu notre jeu va intégrer des codes triches, mais on veut pas
que ce soit visible dès le début, c’est pour cela qu’on a subtilement cacher ce
contenu.

Epita 2020

45

Info Sup

Panda’s Art

9

Tsobot

Installation
Pour l’installation du jeu, on a utilisé le logiciel Inno Setup 7

Figure 34 : Choix de la Langue

Figure 35 : Installation
Avant d’installer le jeu il nous faut au 550 mb d’espcae libre sur le poste
sur lequel on va jouer. Ensuite, on doit faire le choix de notre langue, l’emplacement comme une installation classique et enfin ça installe. L’installation
dure moins de 5 minutes.

7. Inno Setup est un logiciel libre permettant de créer des installateurs pour Windows,
crée par Jordan Russell en 1997

Epita 2020

46

Info Sup

Panda’s Art

10

Tsobot

Conclusion

10.1

Avis de chacun

10.1.1

Lucas

Très vite ma vision de ce projet s’est transformé de travail à passe temps.
Ce projet m’a rappelé la raison pour laquelle je me suis inscrit à Epita : j’aime
créer des choses, et je pense qu’acquérir des compétences en programmation
est ce qui offre le plus de possibilité en matière de création. Ce fut donc une
expérience très agréable et intéressante. Je pense avoir beaucoup appris mais
ces connaissances sont tout de même souvent très spécialisé dans la création
de jeu vidéo. En effet sauf quelques exception je n’ai pas appris de nouvelles
techniques de programmation générale, une grande partie des connaissance
acquise est sur le fonctionnement des Game Engine.
Ce que j’ai appris ayant le plus d’impact sur ma vision du jeu vidéo est
vraiment le fonctionnement du réseau et plus particulièrement de la synchronisation. Les différents types de synchronisation, leurs avantages et inconvénients, ont vraiment piqué ma curiosité. Je vais sûrement continuer ce projet
ou en créer un nouveau pendant les vacances à venir qui ont été bien attendu.
C’est avec impatience que j’attends le projet de l’année prochaine vu que le
dernier m’a beaucoup plus.
Le travail en groupe permet d’avancer plus vite et de rendre le tout plus
agréable mais cela représente quand même au totale du travail en plus au
niveau de l’organisation et de la communication. Deux taches à ne pas sous
estimés si on ne veut pas que le travail en groupe devienne un inconvénient
plutôt qu’un avantage.

Epita 2020

47

Info Sup

Panda’s Art

10.1.2

Tsobot

Paul

J’ai trouvé cette expérience du projet très enrichissante, car c’est la première fois que je fais un travail de groupe aussi important sur 6 mois. Ce
projet m’a vraiment permis d’apprendre les bases de la programmation sur
unity et la fait de travailler en groupe m’a permis de beaucoup progresser
grâce aux conseils de chacun. Même si certaines parties du projet sont moins
passionnante que d’autres, j’ai bien aimé travailler sur ce projet et de pouvoir
créer des choses à ma façon.
En ce qui concerne le groupe, ça a été une très bonne expérience de
pouvoir s’entraider et ainsi avancer plus vite. C’est important d’apprendre à
travailler et s’organiser en groupe le projet permet cela. Le travail de groupe
peut être difficile car tout le monde doit être d’accord et avoir les mêmes
objectifs, mais je pense qu’on s’en est bien sorti au final.
Je suis vraiment satisfait du résultat de notre jeu, et je n’ai jamais pensé
au début de l’année que nous pourrions réaliser ça. Il reste bien sur des
choses à améliorer mais je suis content de ce qu’on a fait en 6 mois. C’était
une bonne expérience ou j’ai pu travailler sur des choses qui m’ont intéressé
.

Epita 2020

48

Info Sup

Panda’s Art

10.1.3

Tsobot

Lionel

Au début j’étais tout seul, je ne connaissais personne, je n’avais pas de
groupe, j’étais très mal parti. Je ne pensais pas non plus produire un jeu
dont je serai fière du résultat, vu mon niveau au début de l’année.
Finalement on m’a affecté à un groupe, et comme le hasard fait bien
les choses j’ai découvert des personnes formidables de qui j’ai pu apprendre
beaucoup de choses.
En effet, j’ai également progressé au niveau de la programmation durant
cette année, j’ai acquis énormément d’expériences, j’ai aussi appris de la part
des ACDC qui ont pu me donner des conseils pour le projet, le codage en
C#, sur le réseau, sur un site web . . .
Pour en venir au groupe, je pense qu’on a bien effectué chacun un bon
travail même si personnellement j’aurais dû en faire plus
Et enfin pour aborder le jeu final en lui même, je n’aurai jamais pensé
qu’en moins de 6 mois on pouvais arriver à un tel résultat. Mais je pense
qu’avec plus de temps le résultat final aurait été largement meilleur car le
fait de jongler entre les cours et le développement du projet est épuisant et
surtout difficile.
Au final, j’ai vécu une très belle expérience qui pourra m’aider dans le
futur.

Epita 2020

49

Info Sup

Panda’s Art

10.2

Tsobot

Global

Alors que nous ne nous connaissions à peine en début d’année, nous avons
réussis à nous connaître (les points forts de chacun . . .) et nous sommes restés
solidaires tout au long de l’année sans avoir d’accrocs.
Au niveau du support aucun d’entre nous ne savaient utiliser Unity et
langage de programmation C# n’était pas évident à maîtriser au début.
Mais au fur et à mesure, on se rendaient compte qu’on progressait et qu’on
avait bien appris durant cette année.
L’expérience du groupe fut enrichissante également, le fait de travailler
en groupe nous permet aussi d’avoir une initiation à l’entreprise dans la vie
de groupe et nous sommes aussi fiers de ce que nous avons réalisé en si peu
de temps.
Bien que le cahier des charges ait été modifié au début du semestre suite
à l’abandon d’un des membres de notre groupe, nous pensons que nous avons
réussi a respecté les objectifs du cahier des charges, même s’il a fallu énormément de travail pour remplir les objectifs que nous nous sommes fixés au
début.
En conclusion nous avons voulu faire quelques chose d’originale qui surprendrai le joueur à chaque étape du fait qu’il soit détaché des normes du
jeu vidéo standard.
On s’est inspiré des jeux qui se rapprochent plus d’une œuvre artistique,
où l’ont peut ressentir la personnalité des créateur à travers leur jeu. Nous
avons quand même gardé quelques éléments classique car c’est notre première
expérience dans ce domaine et il ne s’agit pas de faire m’importe quoi.

Epita 2020

50

Info Sup


rapport-de-projet.pdf - page 1/53
 
rapport-de-projet.pdf - page 2/53
rapport-de-projet.pdf - page 3/53
rapport-de-projet.pdf - page 4/53
rapport-de-projet.pdf - page 5/53
rapport-de-projet.pdf - page 6/53
 




Télécharger le fichier (PDF)


rapport-de-projet.pdf (PDF, 32.5 Mo)

Télécharger
Formats alternatifs: ZIP



Documents similaires


rapport de projet
rapport de soutenance finale
rapportdesoutenancefinale
rapportdesoutenance
cahier des charges 2
pandemonium

Sur le même sujet..