AVRIL / MAI 2017

INTRODUCTION ET DIRECTION DE PROJET - Lauriane

Introduction

    Respecter les délais, faire le meilleur rendu possible, sortir du prototype, affiner, travailler, retravailler, créer une ambiance et enfin, ter-mi-ner.
    Avril / Mai c’était pour nous le baptême du feu. Notre objectif ? Terminer de A à Y (sans le son) le premier niveau de dWARf pour pouvoir faire tester à des personnes extérieures au studio la jouabilité et obtenir des retours sur la prise en main, les graphismes, l’ambiance et le principe du niveau.
    La pression est à son maximum et, avec le retour des beaux jours, la motivation est souvent ébranlée par l’envie d’aller faire une sieste dans un parc ou prendre un verre en terrasse sur une petite place piétonne de Montpellier.

     Tout cela explique notre retard pour ces blogs et notre absence des réseaux sociaux, même si nous avons essayé de nous rattraper mi-mai avec le live de Audrey. Nous vous préparons d’ailleurs d’autres petites surprises en terme de contenu vidéo pour vous plonger dans le coeur de la création de dWARf.

Gestion de Projet

      – GÉNÉRAL

 

      Pour moi, c’était le retour du multi-casquette complet, game-design, approbations graphiques, documents techniques… L’une des tâches majeures a été la révision des contrôlesavec Solune. Quelque chose clochait et il a été très dur de mettre le doigt dessus. Transmettre la sensation souhaitée nécessitait de s’appuyer sur de nombreuses références et d’aller jouer (de manière purement professionnelle évidemment) à des jeux dont les contrôles pourraient convenir à dWARf (et à tous ses modes de jeux). Ce n’était pas une mince affaire car nous voulions garder une certaine harmonie (tous les jeux ayant les mêmes contrôles pour les mêmes types d’actions) afin que le joueur n’ait pas à ré-apprendre à jouer à chaque niveau, et d’un autre côté nous avions la tâche de faire des contrôles qui permettent au joueur de profiter de chaque mode intuitivement.
     Solune vous expliquera cela plus en détails, mais après des recherches qui ont été confirmées ensuite par les tests, nous avons décidé d’offrir aux joueurs 3 modes de contrôles (souris, ZQSD et manette) interchangeables à tout moment en jeu pour que les joueurs puissent adapter leur façon de jouer à ce qui leur correspond le mieux.
Pour la création des contrôles voici la liste des jeux testés et analysés pour comprendre les mécaniques que nous pouvions introduire dans dWARf. Certains de ces jeux nous ont permis de confirmer que certaines choses n’étaient pas possibles pour dWARf et d’autres nous ont donné de bonnes idées. La liste n’est probablement pas exhaustive, nous nous sommes beaucoup appuyés sur nos connaissances personnelles.

– Full Mojo Rampage

– Hotline Miami

– Battlerite

– League of Legends

– Overcooked

– Mages of Mystralia

– Diablo III

– Monaco



      – LEVEL DESIGN PLAY DOH

      Début Avril, chez Unexpected, il y a eu une réunion de level design. A noter premièrement que chez nous, personne n’est level designer et que c’est une étape dans la construction des niveaux de dWARf qui ne m’attire pas vraiment (et pourtant, qui m’incombe).

     Alors que j’essayai de coucher sur papier mes premières idées de conception du niveau, j’étais assez embêtée par le fait de vouloir transformer des éléments et être obligée de les effacer quitte à faire des trous dans ma feuille.
     
Je me suis dit qu’il faudrait peut-être que j’utilise un logiciel tel que photoshop mais j’ai tout de suite évalué la difficulté de la tâche : renommer chaque calque « caillou001 », perdre du temps à faire des formes jamais tout à fait satisfaisantes et devoir présenter à mes collaborateurs le résultat devant un écran d’ordinateur vers lequel ils pointeraient leurs doigts « on peut pas décaler ça de 1mm ? » « et celui là il faudrait qu’il ait plus la forme d’un renard à gros yeux et petites oreilles »… Bref, une plaie.

     J’allai donc chercher de l’aide auprès de mon équipe. Audrey proposait rapidement de « découper » des formes dans du papier et les placer. L’idée me parut immédiatement bonne, tout le monde pouvait déplacer les éléments là où il leur semblait plus approprié et on pouvait même introduire une notion de couleur (en gris les éléments qui ne bougent pas, en rouge ceux qui se déplacent aléatoirement etc…). Cependant le problème de la forme demeurait ; comment donner une nouvelle forme à un objet découpé dans du papier? Comment augmenter sa taille ? Il faudrait re-découper une nouvelle forme à chaque fois… N’y avait-il pas autre chose qui puisse à la fois être modifié et bougé et coloré ?


     Ainsi ai-je introduit, la pâte à modeler dans le processus interactif de création. Le participatif, comme vous l’aurez compris, c’est mon dada. J’adore que les gens puissent apporter leur pierre à l’édifice et travailler en groupe me stimule et me plaît beaucoup. Tout dans cette expérience a été positif :

 

1) Nous sommes un peu retombés en enfance : dès l’ouverture de la première boîte l’odeur de la pâte à modeler m’a embarquée dans un voyage dans le passé. Tout est pour moi positif dans la pâte à modeler, c’est ludique, drôle et infini. Ça a fait plaisir à tout le monde de sentir la pâte et de jouer avec. Et puis il faut admettre que c’est assez déstressant !    

2) Chacun a pu se faire comprendre très facilement : La frustration liée au fait de ne pas pouvoir montrer ce qu’il y a dans sa tête à un instant T ne s’est pas manifestée une seconde. Quelqu’un propose quelque chose que les autres ont du mal à se figurer ? Il suffit de faire la forme de la bonne couleur et la placer sur la table pour se faire comprendre. On peut faire bouger la forme, lui donner de la profondeur et chacun peut ensuite venir la modifier pour suggérer des améliorations.

 

3) Nous avons gagné du temps : L’absence d’allers-retours entre les dessins des uns, les pavés des autres et les conversations incompréhensibles nous a fait gagner un temps considérable. Plus besoin de poser la question « mais ici ça va être bloqué non ? » et d’attendre des essais et des retours. L’instantanéité de la réalité est surprenante !

 

   Résultat convaincant : A la fin on se retrouve avec quelque chose de convaincant et de structuré avec des codes couleur et on s’est assuré du fonctionnement de beaucoup d’éléments. Nous avons même eu de nouvelles idées testables immédiatement ! Quelques photos et on peut transférer tout dans les dossiers de Level Design pour laisser la main aux artistes !

    Conclusion : Un bon moment en équipe, loin de l’ennui et du compliqué, tels des enfants autour d’une table nous avons fait de la participation un moment sans frustration où tout le monde est capable de se faire comprendre et de comprendre les autres, d’apprécier leurs idées dans l’instant.

     Les membres de l’équipe qui n’ont pas participé et sont venus voir le travail accompli ont apprécié le fait de voir en mouvement les éléments, comme une maquette modifiable et transformable à tout moment.

 

Merci Play Doh !

GRAPHISMES 2D - Audrey

Interface (Héphaïstos)

     Dans un premier temps, je dois valider le design des ingrédients, qui seront en 2D.

Alliage ou minerai, la liste des ingrédients a évoluée. Chacun doit être reconnaissable (ou du moins différentiable); du coup quand on pense fer, acier, argent et mithril, il faut jouer avec les couleurs (un peu de rouille sur le fer, du contraste sur l’acier, un gris clair pour l’argent, et réinventer un mithril turquoise et rainé), et les formes (pas que des lingots).

    Le design des objets change aussi, mais ne devrait n’être visible qu’en 3D. Je simplifie la couronne pour éviter toute ambiguïté (pour ne pas la confondre avec une grosse bague), la pioche devient offensive (une pioche-hache c’est badass)…

      Pour l’UI pure, je réalise d’abord un mockup: je gribouille quels éléments se trouvent où.

     On se rend compte que l’idée d’un classement  en bas à droite était mauvaise. L’oeil serait obligé de faire des allers-retours entre notre action et cette information, et ensuite d’analyser où se trouvent les joueurs que nous devrons surveiller stratégiquement. Les niveaux durent quelques minutes on n’a donc pas de temps à perdre à chercher les informations.

     Une solution beaucoup plus simple: inscrire le numéro de classement de chacun au-dessus de son dWARf. Ca parait évident quand on a du recul, il est vrai!

 

     Il y a aussi l’interface des recettes, qui doit délivrer plusieurs informations. Pour que leur temps d’analyse soit goutte dans un océan de gameplay (je suis poète à mes heures perdues, toutafé):, leur lecture doit être hiérarchisée:

 – Quelle est la demande des recettes > aspect stratégique

 – Comment les réaliser > aspect informationnel pour le gameplay général

 – Quels objets sont alors craftés > aspect storytelling

     Ensuite, je réalise réalise divers propositions pour contourner le plus de problèmes : Prend trop de place > ne se détache pas assez du fond > trop éloigné du style sobre et flat du lobby > demande non-lisible en un coup d’oeil > manque d’équilibre… jusqu’à arriver à une ou deux solutions design ( pratiques et agréables, si possible).

     Les 2 barres du niveau (la barre de craft sur le joueur et la barre de raffinage en haut à droite) doivent avoir un design similaire via une même couleur et leur forme, trapézoïdale.

Le petit + a une fonction d’astérisque: il est censé faire comprendre au joueur que les barres sont complémentaires.

Nouveau niveau: Dionysos

     Ce niveau propose donc un nouveau décor, une nouvelle ambiance.

    On échange nos idées de level design en tripotant de la pâte à modeler (c’est le bonheur j’vous jure). Forcément, je réfléchis déjà à ce que certains éléments de gameplay pourraient être. On ne voulait mettre que des éléments naturels ( pas de mécanisme ou d’objets manufacturés), du coup on me propose un nénuphar flottant sur l’eau pour que la zone mobile qu’on aimerait intégrer soit un passage. Plus loin, la zone mobile sera un obstacle; ça pourrait bien être une souche. Bref, le niveau prend vie, fait de plus en plus sens. “T’es plus malin avec tes mains” = true story.
    Je laisse Lauriane me transmettre quelques images de référence pour être sûre qu’on soit bien sur la même longueur d’onde. La base: une grotte souterraine, une forêt phosphorescente. Bosquet de fées, bestioles luisantes, coin humide, magique.
    Pendant plusieurs jours, je me mets donc à dessiner divers végétaux dans différents stylespour faire en sorte qu’ils s’adaptent au travail réalisé jusqu’à présent. Concept artist junior, je m’imprègne donc d’un nouveau vocabulaire visuel : la flore ! Ce travail de recherche est indispensable car formateur, même si le temps ne me permet pas d’étudier toutes les formes végétales possibles et imaginables (Une forêt de France n’est pas la même que celle du Laos) ! Mais c’est en étudiant petit à petit que je peux espérer un jour pouvoir…. conquérir le monde Minus !

     Enfin, il est temps de sélectionner ceux qui me semblent le mieux correspondre à l’environnement souhaité. Pas de plantes exotiques, extraterrestres, piquantes, raffinées. Pas de conifères, d’arbres trop tortueux. Je me contente de 2 types d’arbres, 1 type d’arbuste à peine différent, d’un type de tronc mort, 3 fleurs, 4 champignons (des éponges, du papier toilette et 25cl de crème fraîche).

 

   En effet, notre écran couvre une zone de taille modeste; l’écosystème doit être harmonieux

 

   Un autre point important: Je regarde régulièrement si mon travail, que je réalise directement en couleur (contrairement au processus sur Hephaistos) est suffisamment contrasté une fois passé en noir et blanc.

GRAPHISMES 3D - Liam

Environnement 3D (Héphaïstos)

     Après le Block out du mois de mars, il est temps de réaliser tous les objets de décor en 3D et de les remplacer un par un dans notre scène précédente.
   Il faut donc modéliser tous les bâtiments et éléments du décor. Il en va donc des bâtimentsprincipaux (enclume, four, raffinerie..), aux éléments qui structureront le décor (roches, dalles au sol, murs…), en passant par tous les petits objets qui peuplent notre scène (pinces, marteaux, torches, étendards…)

   Le défi, lors de la création d’un environnement 3D, est de produire des objets le moins coûteux possible en terme de polygones. Finalement, on veut que notre objet comporte le moins de faces possible.

En effet, dans un environnement 3D, on se retrouve souvent à dupliquer des objets de décor afin de peupler le lieu (végétation, roches, bâtiments…). Ainsi un objet de décor qui ne serait pas optimisé en terme de polygones, risque de coûter cher en terme de performances non pas une fois, mais le nombre de fois qu’il apparaîtra dans le décor. Il faut donc au maximum éviter les points (vertices) inutiles dans la modélisation, sans pour autant sacrifier l’allure générale de l’objet. Il faut donc trouver le bon compromis entre la performance et l’esthétique.

 

     Pour la réalisation d’un objet, on passe donc par plusieurs étapes:

   Tout d’abord, je fais un gabarit en 3D, avec des formes simples, mais déjà à la bonne échelle. Je pars ensuite de cette base pour sculpter mon « high poly« : c’est un modèle qui va comporter énormément de polygones (parfois même des millions !), mais qui sera très détaillé. Je peux donc me permettre de sculpter tous les détails, même les moindres petits écrous !

    Car ensuite, je passe à la retopologie: A partir de la forme de mon high poly, je vais dessiner un modèle le plus low poly possible (donc ayant le moins de polygones possible) en restant le plus proche de la forme générale de l’objet. Lors de cette étape, on va passer d’un modèle composé de plusieurs centaines de milliers de polygones, à notre modèle final (100-600 polys en général).

   C’est ensuite lors de l’étape de texturing, que je vais pouvoir récupérer les détails précédemment sculptés : Le texture baking est un processus qui permet de transférer les détails d’un modèle sur un autre. On va donc pouvoir récupérer les détails de notre Highpoly, les faire apparaitre dans la texture de notre lowpoly, et donner l’illusion que le modèle est bien plus détaillé qu’il ne l’est réellement.

En plus des petits détails de sculpt, on va aussi ajouter la couleur, texture des matériaux, et quelques ombres à l’objet.

    On peut ensuite l’importer dans notre scène, en remplaçant la forme basique que l’on avait placée pour le block out.

           

      Ainsi, la scène se construit petit à petit, et on peut la voir évoluer quasiment au jour le jour. Même si à la publication de ce blog, il reste encore quelques éléments à fignoler, le décor d’Héphaïstos se rapproche de sa version finale.

DEVELOPPEMENT GAMEPLAY - Solune

Héphaïstos

     Ces deux derniers mois ont été consacrés à la finalisation d’un prototype jouable et le plus complet possible d’Héphaïstos, cette tâche implique de se concentrer sur des problèmes jusqu’alors mis à l’écart car non prioritaires, en l’occurrence les contrôles et les finitions de gameplay.

Les contrôles :

    Les contrôles de dWARf étaient à la base similaires à ceux d’Overcooked, jeu faisant partie de nos inspirations, plus par manque de volonté de se pencher sur la question que par choix éclairé et arrêté.

  Très rapidement ces contrôles ont montré leurs faiblesses dans Héphaïstos : Contrairement à Overcooked, dWARf n’est pas composé d’éléments cubique, les passages étroits ne sont donc pas nécessairement orientés suivant les directions cardinales, ni même suivant les huit directions possibles avec les flèches d’un clavier (ou ZQSD), ce qui s’est vite montré assez désagréable pour certains.
 

    dWARf ayant, de manière générale, besoin de la souris pour viser / attaquer, la touche d’interaction et de dash devaient être sur la main gérant le déplacement, ce qui ne pose pas de problème pour le dash (sur espace) mais la touche d’interaction force le joueur à retirer un de ses doigts d’une des touches de déplacement, encore un fois, certains n’aiment pas ça.
 

     Après réflexion nous avons voulu tester des contrôles plus de l’ordre des ARPG (déplacement et interaction à la souris) et ceux n’aimant pas les précédents contrôles ont tout de suite apprécié ceux-ci ! Par contre, certains préféraient toujours les anciens… Nous avons donc simplement choisi de laisser le choix aux joueurs entre 3 modes de contrôle dont, en plus, les boutons seront tous configurables :

 – Le mode ZQSD, probablement plus adapté pour les joueurs de FPS et habitués à ce type de déplacement

 – Le mode ARPG, qui conviendrait plutôt aux joueurs de RTS, Hack & Slash, LoL, et sûrement aux débutants

 – Le mode manette, pour les habitués !

 

  Bien évidemment, ces contrôles seront tous sujets à modifications en fonction des retours utilisateurs, il également possible d’en ajouter d’autres, avec l’objectif que quelque soit votre niveau et les jeux auxquels vous jouez, vous trouviez des contrôles intuitifs et avec lesquels vous êtes à l’aise !

Les finitions du Gameplay :

     Le game design d’Héphaïstos était fixé depuis un certain temps déjà, mais certains points requièrent des tests avant de pouvoir être définis. Est-ce que le jeu est suffisamment intuitif? Est-ce qu’il n’est pas trop court? Est-ce que l’ergonomie de gameplay peut être améliorée?..

 

   L’objectif est de trouver toutes ces questions, y répondre et améliorer s’il y a lieu. Evidemment il n’est pas possible de tout régler à ce stade mais chaque point adressé sera une remarque en moins de la part des testeurs, et donc une plus grande précision pour les remarques restantes.

    Il était par exemple important d’avoir au moins une base de feedback visuels pour que la remarque ne soit pas “il faut des feedback visuels” mais “ça serait bien un feedback visuel en plus ici, et là, et quand on fait ça”, ce qui nous aide beaucoup plus !

 

   Globalement Héphaïstos s’approche de sa version “finale” et c’est très encourageant !

Désolé pas d’image du jeu cette fois, voici une photo de chat pour vous consoler !

DEVELOPPEMENT MULTI - Alexandre

    Ah, le mois d’Avril! Le mois de la blague, du printemps… Et du matchmaking.

Dans le domaine du multijoueur, ce mois a été rempli de schémas, de débug et de mise en place de solutions pour le matchmaking.

Du coup, vu que plusieurs services sont déjà terminés, je commence à me confronter aux problèmes les plus chiants, mais les plus intéressants à gérer: La gestion de la synchronisation.

 

   Pour faire simple, c’est le fait de savoir, sur tous les services, si un joueur est connecté, lui envoyer des messages (même si il est sur plusieurs plateformes en même temps), être capable de lui permettre d’interagir sur le service le moins utilisé, etc…

   Ce sont donc des problèmes très importants à gérer, surtout lorsqu’on fonctionne avec des mini-services (et non pas micro-services, bien qu’un découpage aura certainement lieu pour permettre une meilleure répartition de la charge et un PR – parcours réseau – plus adapté).

   Du coup, ce mois-ci a été principalement axé sur la préparation du service de matchmaking (avec uniquement l’option de matchmaking automatisé), la synchronisation de celui-ci avec ses noeuds annexes, ainsi que le process permettant de choisir un serveur en fonction de son utilisation pour la création des parties. Je vous en aurai bien dit plus à ce niveau là, mais c’est classé secret défense, donc chut chut 😉 .

 

   Le mois de Mai, quant à lui a été rempli de debugs, ainsi qu’un focus sur le service de gestion des parties. Ce service est le service qui lance des instances de parties (pour permettre aux joueurs de les rejoindre et de pouvoir jouer) ainsi que la gestion desdites instances. Le but étant de monitorer, communiquer et récupérer les informations importantes durant la partie (Score des joueurs, Durée, Informations concernant les jeux, etc…). C’est aussi lui qui a la charge de communiquer avec le reste des services pour permettre aux joueurs de recevoir leur gains à la fin d’une partie.

   Enfin, j’ai mis en place un système de double authentification (un peu à la manière de Blizzard avec leur Authenticator) qui peut être activé ou désactivé par l’utilisateur selon l’envie. Il se base sur l’algorithme TOTP qui est lui même utilisé par de multiples entreprises pour proposer du 2FA comme Google, Blizzard ou encore Microsoft.

 

   Ainsi, ce sont des mois plutôt chargés techniquement que productivement du côté du multijoueur. Le focus a été principalement axé sur le suivi connectique de l’utilisateur et sur la sécurité des services plutôt que sur l’avancement et la création de nouveaux services.