salade, tomate, caddy! - the obvious corp · 2020-03-25 · salade,tomate,caddy mars2019...

19
Salade, Tomate, Caddy ! Rapport de soutenance 1 Axel Barré Alexis Vanhalle Thomas Barrau Maxime Caylar 1

Upload: others

Post on 13-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy !Rapport de soutenance 1

Axel BarréAlexis VanhalleThomas BarrauMaxime Caylar

1

Page 2: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

Table des matières1 Introduction 3

2 Conception 42.1 Graphismes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 Le caddy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 L’environnement . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Sons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.1 Musique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.2 Sons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4 Réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4.1 Photon Unity Network . . . . . . . . . . . . . . . . . . . . . . 102.4.2 Hall (Lobby) . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4.3 Room . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.4.4 Instantiation du Player dans la room . . . . . . . . . . . . . . 11

2.5 I.A./ Personnages non-joueurs . . . . . . . . . . . . . . . . . . . . . . 122.6 Mécaniques de jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Avances et retards 143.1 Les réussites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2 Retards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4 Prévisions 154.1 Graphismes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.2 Sons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.3 Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.4 Réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.5 I.A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.6 Mécaniques de jeu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

5 Conclusion 18

2

Page 3: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

1 IntroductionSalade, tomate, caddy ! Drôle de nom me dirait vous ! Quel genre de jeu cela peut-

il bien être ? Eh bien laissez moi vous rafraîchir la mémoire ! Stc (Salade, tomate,caddy !) est un jeu de courses aux ambitions assez humbles pour vous faire passerun bon moment ! Dans le fantastique monde de Stc, préparez vos caddys pour fairedes courses endiablées dans des supermarchés !

Depuis le début du projet notre équipe de développement composée d’Axel, Alexis,Maxime et Thomas, n’a eu de cesse d’apprendre à travailler hors de sa zone deconfort.En effet, comment ces quatre jeunes hommes allaient-ils créer un jeu-vidéo enayant aucune expérience dans la conception, réalisation d’un jeu-vidéo ? La passionétait le maître mot ! La passion d’apprendre ! Car si en effet cette première partiede développement s’est avérée pour une grande partie de l’apprentissage, elle posedes bases solides pour la suite du projet. La création d’un système de multijoueurstable grâce à Photon. L’apprentissage de la modélisation d’objets 3D via Blender.L’élaboration d’une intelligence artificielle. La vocation a diriger une équipe. Si peude choses énumérées par rapport à ce que ces quatre jeunes gens on apprit ensembledans ce projet.

Et pourtant, un si long voyage encore à parcourir avant de voir ce jeu abouti. Carmême si la forme globale du jeu commence à se dessiner, notre professionnalismenous fait remarquer de nombreux points qui ne demandent qu’à être améliorés, pourn’en citer que quelques-uns : Le frame d’affichage du multijoueur, la physique ducaddy . . .

3

Page 4: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

2 ConceptionNotre but le plus profond à l’Obvious Corp. est de rendre nos joueurs heureux

quand ils joueront à notre jeu. L’idée d’un jeu final vide et sans amusement nousrebute au plus au point. D’après nous le plus gros facteur de réussite d’un jeu estla relation "input - réaction". En effet, si un jeu est aujourd’hui très joué c’estnotamment car ce dernier possède un fort ratio "input - réaction" : Le principe estsimple, si le joueur appuis sur une touche il faut au moins que cela engendre deux,voir trois réactions visuelles et ceci dans le but de garder l’attention du joueur et delui donner une certaine satisfaction.

Nous nous sommes donc réparti les tâches afin de mettre en place les bases né-cessaires, pour ensuite pouvoir commencer à exploiter l’effet "input - réaction".Maxime et Axel ont commencé par la création d’un caddy et de ses déplacements.Puis Thomas et Alexis ont appris à utiliser Photon, Alexis comme principal dévelop-peur réseau et Thomas comme sécurité. Ensuite Maxime développa son intelligenceartificielle. Enfin Thomas modélisa les grands objets de l’environnement.

La conception d’un jeu peut être assez hasardeuse, notamment au début de celui-cicependant nous n’avons pas eu de réels gros problèmes, rien d’insurmontable.

Thomas Axel Alexis Maxime

Graphisme

Map Design X

Caddy X

Menus (visuel) X

Son

Musiques et Bruitages X

Menu

Accueil X

Multijoueur X

Réseau

Multijoueur X X

IA

Vigile X

Mécanique de jeu

Physique du caddy X X

Table 1 – Répartition des tâches pour la soutenance 1

4

Page 5: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

2.1 Graphismes

Pour les graphismes, nous nous sommes donné pour objectif de faire un maximumdes modèles par nos propres moyens. En effet, dans certains cas, il est nécessaire detélécharger des modèles 3D en ligne quand nous sommes en manque de compétenceou de temps. En particulier, la modélisation, le texturing, le riging et l’animation despersonnages en 3D qui peut être un processus laborieux et très coûteux en temps.

2.1.1 Le caddy

Le premier objet 3D qui paraissait le plus évident à modéliser est bien évidemmentle caddy, élément central de notre jeu Salade, Tomate, Caddy. La première étapeétait de faire un croquis du caddy, chose faite par Thomas qui avait dessiné uncaddy à la première soutenance. Ensuite, Axel a appris à utiliser Blender, logicielde modélisation 3D gratuit, certes, mais pas évident à prendre en main pour undébutant. L’idée de départ était de faire un caddy avec des tiges métalliques faitesde cylindres. À ce stade-là, la cage métallique ressemblait à cela :

Figure 1 – Première tentative de caddy

Pour un premier jet, le caddy n’était pas si mal. Mais il y avait 2 soucis : il n’y avaitpas assez de barreaux et ils étaient trop épais. De cela, découlait un autre problème :les cylindres en 3D sont difficiles a transformer. Nous avons donc pris le choix defaire la cage de caddy avec un simple prisme droit à base trapézoïdale recouvertde textures représentant les barreaux du caddy. En plus, d’être plus maniables etoptimisés pour le jeu, cette technique permet de donner un aspect cartoon beaucoupplus sympathique que le modèle précédent.

L’affaire n’était pas gagnée d’avance car des complications apparaissaient lors del’implémentation du caddy dans Unity. Notamment, les faces qui n’avaient soit pasde texture intérieure, soit pas de texture extérieure. Ce problème a été résolu enmettant deux cages confondus, l’une avec la texture intérieure et l’autre avec latexture extérieure. Le résultat est ci-dessous.

5

Page 6: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

Figure 2 – Deuxième tentative de caddy

2.1.2 L’environnement

Maintenant notre première version fiable du caddy créé, il a fallu imaginer quelserait l’environnement dans lequel il allait évoluer. C’est ainsi que Thomas se mità travailler sur les premières ébauches qui allaient entourer notre caddy. Il fallaittout d’abord effectuer un travail de recherche, car en effet si le supermarché est unendroit familier à tous, il parut vite évident qu’il fallait se renseigner sur tous lestypes de présentoirs présents dans ces derniers. Le but ultime de la partie graphiqueétait de représenter tous les éléments d’un supermarché dans une représentationsimplifiée, mais aussi de rendre le jeu vivant de par les couleurs, les formes, ensomme la diversité des éléments.

Ayant comme objectif de créer les grands objets (étagères, bacs à glaces, caisse) j’aidû prendre en main l’outil Blender, et tout ceci afin d’avoir une vue d’ensemble dece que donneront les graphismes et l’ambiance globale. Les premiers modèles furentles plus durs à créés car l’outil Blender bien que très puissant nécessite un certaintemps d’adaptation. Le modèle devait tout d’abord être dessiné afin d’en avoir unaperçu et de décider la manière la plus efficace de le modéliser. Une fois dessiner unpremier jet est effectué, le modèle est directement exporté sur Unity pour effectuerun check visuel afin d’éviter de mauvaises surprises. Deux cas de figure se présententdonc soit le modèle est accepté car ce dernier correspond assez ou et identique à laprévisualisation Blender, soit le modèle possède des problèmes visuels ou juste necorrespond pas à pré-visualisation Blender et dans ce cas on recommence le modèlede zéro jusqu’à obtenir un modèle satisfaisant. Suite à quoi l’on revient sur Blenderafin d’établir les caractéristiques du modèle. On s’occupe ainsi du shadering : Est-ceque notre objet à des propriétés réflectives ? Produit-il de la lumière ? Est-il opaqueou transparent ?

Une fois les caractéristiques des modèles attribuées, les modèles sont ainsi exportersous forme de fichier ".fbx" puis directement importer comme nouveau assets dansUnity. C’est ici que commence le puzzle, les modèles sont formés, texturés il ne reste

6

Page 7: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

plus qu’a les placés. Voila donc comment est née cet ébauche de supermarché. Il estvite apparu évident que ce premier décor a permit à toute l’équipe de développementde se projeter dans le projet que cela soit dans le design du gameplay, dans la branchemusical ou encore dans le développent des IA.

Figure 3 – Premier environnement

7

Page 8: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

2.2 Sons

Dans le secteur de la vidéo, on dit souvent que le son représente au moins 50%du contenu de la vidéo. Et bien dans les jeux vidéo, c’est un peu la même chose, sil’ambiance sonore vient à manquer, le jeu rendra un peu vide même s’il est completgraphiquement.L’ambiance sonore se décompose en deux catégories : les bruits/effets d’ambiance etla musique.

2.2.1 Musique

Concernant la musique, nous n’avons pas de personne qui sait composer des mu-siques donc nous utiliserons des musiques disponibles sur internet. L’idée est d’avoirune musique un peu du même style que le circuit "Coconut Mall" du jeu Mario-KartWii. ( https://youtu.be/ybhjox7LhmY )

Si on analyse un peu cette musique, on peut remarquer plusieurs caractéristiques.Premièrement, le rythme est élevé ainsi de mettre le joueur dans un esprit compéti-tif, il s’agit d’une course où le but est d’arriver le premier, et donc d’aller le plus vite.Deuxièmement, on peut entendre divers instruments, à savoir : un synthétiseur/piano,un harmonica, un instrument à vent et des courtes percussions. Tout ceci permet dedonner à cette musique une impression de parcourir un supermarché à toute vitesse.

Les musiques qui seront utilisées essayeront de se rapprocher le plus de celle donnéeau-dessus. Voici deux musiques qui sont un dans le même thème musical :

— On The Way de AutoReverse https://bit.ly/2HtAMaI— Ceremony de Bob Bradley https://bit.ly/2W0Lc5R

Ces musiques pouvant coûter un certain prix, nous préférons attendre un peuavant de choisir la musique parfaite pour notre jeu.

2.2.2 Sons

Pour les sons, de très nombreuses bibliothèques de divers sons et bruitages sontmises à disposition gratuitement sur internet. Nous utiliserons donc ces sons pursagrémenter le jeu d’une pincée d’énergie et de dynamisme. Voici un exemple de sitepossédant des sons sur le thème des supermarchés.

— https://www.freesfx.co.uk/sfx/supermarket

8

Page 9: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

2.3 Menus

Pour les menus, nous avons utilisé les éléments d’interface utilisateurs proposés parUnity. Chaque bouton a une liaison vers un objet vide nommé "Menu Manager" quicontient un script avec diverses fonctions. Par exemple, le bouton "Jouer" va lancerla fonction PlayButton() qui va enlever la boîte qui contient "Jouer" et afficher lesboutons "Solo" et "Multijoueur". Ensuite, quand le joueur clique sur "Multijoueur",la scène du Lobby est chargé pour permettre a l’utilisateur de rejoindre le serveurcommun. Il peut aussi créer son serveur en renseignant un pseudonyme et un nomde serveur. Ce qui lui permettra d’avoir un serveur unique pour jouer avec sesamis. Concernant l’aspect visuel des menus, nous voulons faires des menus avecdes couleurs unies et une police d’écriture assez cartoonesque pour coller à l’universdu jeu qui se veut volontairement décalé.

Figure 4 – Menus d’accueil et de connexion multijoueur

9

Page 10: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

2.4 Réseau

2.4.1 Photon Unity Network

Nous avons choisi d’utiliser l’asset "Photon Unity Network" (PUN) pour gérerla partie multijoueur du jeu qui permet avec la version gratuite d’avoir jusqu’à 20joueurs en même temps. Pour se faire, les joueurs se connectent en premier lieuau serveur photon puis, ils doivent rejoindre le Hall (Lobby) qui permet ensuited’accéder à plusieurs rooms.

2.4.2 Hall (Lobby)

Dans le Hall il est possible de— Lister des rooms— Joindre une room— Créer une room

Même s’il est possible de joindre manuellement le Hall, Photon Unity Networkpropose dans le "PhotonServerSettings" de le joindre automatiquement ce qui a étéfait pour le projet.

Afin de savoir l’état de la connexion avec le Hall Alexis a créé le script "Pun.cs"contenant une fonction qui regarde l’état actuel de la connexion. Ensuite il a ajoutéune nouvelle scène au projet nommé "lobby" contenant un simple canvas avec dutexte relié à la précédente fonction.

2.4.3 Room

Dans une room il est possible de— Lister les joueurs de la room— Instancier des objets— Autres actions situationnelles

Pour pouvoir joindre et créer une room le script "Pun.cs" a été modifié. Celui-cipossède désormais des fonctions qui permettent de joindre une room spécifique oud’en créer une si la room n’existe pas, de joindre une room principale nommé "mainroom" et de lancer le jeu une fois avoir joint une room.

Ensuite, à la scène "lobby" a été ajoutés des inputfield renseignant le pseudo dujoueur et le nom de la room à rejoindre et deux buttons permettant de rejoindrela room renseigné et de joindre la "main room" qui ont été associés aux nouvellesfonctions du script vu précédemment.

10

Page 11: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

2.4.4 Instantiation du Player dans la room

Pour que les joueurs puissent se voir dans la room, il faut tout d’abord instancierle joueur. Pour ce faire, la première étape consiste à ajouter le composant "photonview" à l’objet correspondant au joueur (dans notre cas l’objet "Caddy"). Ensuite,il faut renseigner l’élément que photon doit observer, on mettra ainsi le Transformde Caddy.

Par la suite il va falloir instancier notre objet lors du lancement de la scène, il afallu donc se rendre dans le script "OnStartOfScene.cs" implémenté par Axel poury ajouter le GameObject correspondant au joueur pour pouvoir lors du lancementdu jeu, l’instancier.

Cependant, l’instantiation du joueur par Photon Unity Network nécessite quel’objet de notre joueur soit placé dans le répertoire Ressources de PUN. De ce faitl’objet "Caddy" de notre scène doit être désactivé et on doit placer son prefab dansle dossier ressources de Photon.

Maintenant que nos joueurs sont instanciés, il faut les différencier (sinon chaquejoueur déplace tous les caddy). Donc un objet Photonview qui s’initialise au starta été ajouté au script "PlayerController.cs" . De cette manière, on peut vérifier sile photonview appartient bien au joueur, dans le cas contraire les déplacements ducaddy ne seront pas appliqués à l’objet en question.

Le caddy étant bien instancié et fonctionnant correctement, il fallait maintenants’occuper de la caméra qui, devant suivre le caddy avec une vue à la troisièmepersonne, ne marchait plus du tout. En effet, placée en dehors de l’objet "Caddy"dans la scène, elle avait pour instruction de le suivre. Cependant, comme vu précé-demment le Caddy de la scène est désactivé donc la caméra ne bougeait plus. Unesolution plutôt évidente mais qui a mis du temps à germer, a été d’intégrer la caméraà l’objet "Caddy".

Figure 5 – Exemples de plusieurs instances du jeu

11

Page 12: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

2.5 I.A./ Personnages non-joueurs

L’IA est actuellement capable de :— Suivre le joueur placé en paramètre du regard quand celui-ci pénètre dans

son périmètre d’action.— Poursuivre le joueur jusqu’à ce que celui-ci sorte du-dis périmètre.— Stopper sa course quand elle perd le joueur.

Dans l’optique de débuter les tests concernant les mécaniques de jeu, nous avonscommencé à implémenter une IA pour l’instant minimaliste, elle se contente devérifier sa distance avec un joueur placé en paramètre de son script et de le prendreen chasse si celui-ci rentre dans son périmètre, cela a permis de tester certainesfonctionnalités comme sa perception des obstacles, voyant là une nouvelle mécaniquede jeux, où le joueur provoquerait le désordre dans les rayonnages afin de ralentir laprogression du vigile.

Lors de la création de ce personnage non joueur plusieurs problématiques se sontposées :

La première étant sa conception même, dans un premier temps nous avons essayéle package UMA 2- Multipurpose Avatar, mais après plusieurs échecs quant à lamodification de certains éléments pré-créés dans le préfab nous avons jugé préférabled’utiliser un modèle vierge créé a partir du logiciel Makehuman, ne contenant queles bases du personnage ( textures, mesh, squelette, avatar) auxquels nous avons puajouter de nouveaux éléments à notre convenance.

La seconde difficulté rencontrée, fut la gestion des collisions avec le joueur en effet,lors de certaines collisions, le joueur se retrouvait propulsé ou renversé, ce qui poseun problème de réalisme quant à la possibilité qu’une personne de 65 Kg fasse faires’envoler un caddy par simple contact.

Pour finir la dernière difficulté rencontrée lors de ces premiers pas dans la créationd’un personnage humanoïde non joueur, a été la mise en place de son armature pourlui appliquer une animation de course, le personnage devenait rapidement difformedans les premières tentatives.

12

Page 13: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

2.6 Mécaniques de jeu

Le jeux possède actuellement les mécaniques suivantes— Mouvement du caddy— Mouvement de la caméra— Collision entre le caddy est les différents objets provocant leur chute— Un Personnage non-joueur surveille la zone

Lors de la mise en place de notre caddy la première choses nous étant parut utilea été de faire apparaître notre caddy à l’écran, nous avons donc créer une caméraorbital à deux états, fixe en temps normal et libre quand un bouton de la souris estenfoncé, i y a aussi la possibilité de zoomer pour ainsi passer en vue a la premièrepersonne comme si nous étions dans le caddy

Puis dans un second temps nous avons fait se mouvoir notre caddy, nous avonsréalisé cela avec un rigidobody auquel nous appliquons des forces ainsi que la gravité,le rigidbody nous permet de gérer les collision avec rapport de masse avec d’autrerigidbody cela pouvant engendrer la chute d’objet servant à ralentir la progressiondes autres joueurs ou du vigile.

Cependant cela a ses limites car plusieurs incohérences sont apparus, en effet lorsd’une chute libre si le joueur appuie sur la touche assimiler a l’action "reculer" alorsque le caddy est orienté vers le bas celui-ci aura tendances à remonter alors qu’iln’est en contact avec aucune surface, et lors de contact avec un plan incliné avec unangle aiguë, le caddy se retrouve propulsé sous le terrain ou dans les air

13

Page 14: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

3 Avances et retards

Tâche / État Prévu Actuel

Graphisme 30 30

Son 20 20

Menu 60 60

Réseau 10 20

IA 20 20

Mécanique de jeu 40 20

Table 2 – Tableau des avances et retards

3.1 Les réussites

Pour l’instant, les problèmes que nous avons ne viennent pas de là où nous pen-sions. En effet, le réseau très basique (connexion/synchronisation) s’avère certesexigeant dans sa réalisation, mais pas aussi complexe que ce qui était attendu. Avecbeaucoup de travail, de documentation et de tests, le réseau devrait suivre les pré-visions attendues.

Concernant les menus, Unity propose des outils d’interface utilisateur qui sontfaciles à mettre en oeuvre. Ainsi, il n’y aucun souci à déplorer dans la création desmenus.

Ensuite viens la modélisation, Blender est un outil très puissant et avec cedernier nous avons pu créer des modèles 3D satisfaisants.

Enfin, l’Intelligence Artificielle est également sur la bonne voie puisqu’ellearrive à suivre un joueur prédéfini en jouant une animation de déplacement.

3.2 Retards

Les choses viennent à se complexifier avec notamment les mécaniques de jeu, eten particulier la physique. En effet, la physique d’un caddy, et la physique d’unvéhicule en général est toujours un processus de création assez laborieux. Il fautmettre en place le corps du véhicule et les quatre roues. Ces roues doivent réagiravec le sol et permettre de faire avancer le caddy avec toute la physique que çaimplique. À notre niveau, nous pensons plutôt déplacer le caddy avec des vecteursqu’utiliser les "Wheel Colliders" qui sont mis à disposition dans Unity. Pour résumé,la physique d’un caddy est quelque chose de difficile à imiter dans un jeu vidéo sansprovoquer de nombreux bugs de collisions. Cette partie du projet va représenter uneépreuve à surmonter d’ici les prochaines soutenances.

14

Page 15: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

4 Prévisions

Tâche / Soutenance Soutenance 1 Soutenance 2 Soutenance 3

Graphisme 30 60 100

Son 20 70 100

Menu 60 80 100

Réseau 20 70 100

IA 20 60 100

Mécanique de jeu 20 70 100

Table 3 – Tableau de la planification des tâches selon les soutenances

4.1 Graphismes

À la prochaine soutenance, les éléments de base seront présents pour constituerun semblable de niveau avec :

— La zone où le niveau sera placé (le sol du magasin)— Les murs du magasin

Et afin de rendre le niveau un peu plus vivant, divers objets légers viendrontaugmenter la réactivité du niveau au joueur grâce à leur physique :

— Boites de conserve— Canettes— Pack de bouteilles— Boîtes rectangulaires

4.2 Sons

Pour la soutenance 2, les sons et musiques seront implémentés dans le jeu de façonpartielle. En effet, la musique sera bien présente pour chaque joueur mais les sonsne seront pas tous implémentés, en effet, des problèmes de synchronisation ou delecture peuvent apparaître en réseau. Ces manquements seront corrigés a la 3ème

soutenance où l’ambiance sonore sera finalisée.

4.3 Menus

Pour la prochaine soutenance, 80% des menus seront intégrés dans le jeu. C’est-à-dire, le menu de sélection des niveaux et le menu pause. On peut aussi imaginerque les menus changeront un peu pour soit apporter des nouvelles fonctionnalitésoù rendre le jeu plus beau.

15

Page 16: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

Figure 6 – Schéma des différentes scènes et menus du jeu

4.4 Réseau

Avant toute chose il va falloir apporter quelques fonctionnalités plus ou moinsimportantes, à savoir :

— Le Retour au lobby (Quitter la scène)— Le listage des Rooms dans le lobby— Le listage des Players d’une room

Par ailleurs, Photon View c’est bien, mais pas suffisamment. En effet, les mouve-ments des personnages sont saccadés et mal synchronisés. Donc, les étapes restantesà faire porteront d’autre part sur :

— La synchronisation des déplacements et de la rotation du Player— La synchronisation des animations (PhotonAnimatorView)— La synchronisation de la physique telle que la chute (PhotonRigidbodyView)— La synchronisation du début de la partie

Finalement en fin de la partie réseau il on va implémenter des features comme :— La gestion des SpawnPoints— La liste des scores des joueurs— La gestion des particules

4.5 I.A.

Nos objectifs à accomplir à terme de la seconde période sont de donner commecible à notre IA le joueur le plus proche de sa position ou de lui faire calculer saposition par rapport à l’ensemble des joueurs de manière à l’adapter au mode multi-joueur et de pouvoir commencer les tests sur ce mode et dans un second tempsd’améliorer la gestion de son environnement.

16

Page 17: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

4.6 Mécaniques de jeu

Il faudra apporter des corrections aux problèmes de collision connus ainsi quedévelopper l’idée d’obstacles amovibles servant d’entrave aux autres personnagesjoueurs ou non. et dans un second temps commencer à développer le système de"Parties" avec un début et une fin définis par des objectifs à remplir.

17

Page 18: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

5 ConclusionLe début de projet nous a permis d’apprendre beaucoup de choses allant de la

gestion globale de notre projet, aux compétences spécifiques développées par cha-cun. La cohésion au sein du groupe étant bonne, nous avons bien pu avancer notrejeu. Cette première partie nous a permis de poser les bases de notre jeu. J’ai person-nellement pris beaucoup de plaisir durant cette première partie. Nos compétencesvont nous permettre de créer un jeu amusant et ludique. Je pense cependant que lapartie la plus dur est encore à venir, car si voulons arriver à un résultat satisfaisantnous allons devoir redoubler nos efforts.

18

Page 19: Salade, Tomate, Caddy! - The Obvious Corp · 2020-03-25 · Salade,Tomate,Caddy Mars2019 TheObviousCorp. 2 Conception Notre but le plus profond à l’Obvious Corp. est de rendre

Salade, Tomate, Caddy Mars 2019 The Obvious Corp.

Table des figures1 Première tentative de caddy . . . . . . . . . . . . . . . . . . . . . . . 52 Deuxième tentative de caddy . . . . . . . . . . . . . . . . . . . . . . . 63 Premier environnement . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Menus d’accueil et de connexion multijoueur . . . . . . . . . . . . . . 95 Exemples de plusieurs instances du jeu . . . . . . . . . . . . . . . . . 116 Schéma des différentes scènes et menus du jeu . . . . . . . . . . . . . 16

Liste des tableaux1 Répartition des tâches pour la soutenance 1 . . . . . . . . . . . . . . 42 Tableau des avances et retards . . . . . . . . . . . . . . . . . . . . . . 143 Tableau de la planification des tâches selon les soutenances . . . . . . 15

19