MARS 2017

INTRODUCTION ET DIRECTION DE PROJET - Lauriane

Introduction

    Quelle merveilleuse expérience que de vous rencontrer à la Lyon E-Sport ! Toute l’équipe se joint à moi pour vous remercier de votre présence, de vos questions et de votre soutien. A l’issue d’une longue journée de discussions et de tests, vous avez créé plus de deux-cents nains différents !
    Nous ne nous attendions pas à un tel nombre de participants, si bien que nous n’avions même pas prévu de quoi présenter le studio (avant de présenter le jeu) aux non-initiés qui ne nous connaissaient ni de ZeratoR ni des tréfonds de l’internet. Mais il a été très enrichissant pour nous de discuter avec des personnes extérieures à la communauté étendue de Unexpected.

    Et ça n’était que le début d’un des mois les plus chargés !

Gestion de Projet

      Globalement, ce mois-ci était consacré au game design, à l’essai et au perfectionnement. Suite à la Lyon eSport nous avons une bonne idée de la dynamique d’équipe et de ce que nous sommes capables de produire, mieux encore, nous accueillons une nouvelle recrue, Sarah, qui rejoint l’équipe 3D en tant que stagiaire pour 6 mois.

     Nous avons repris le travail de game design et de gameplay pour dWARf. Nous avons mis de côté l’éditeur de nain, fonctionnalité entièrement cosmétique, pour nous concentrer sur la mise en place d’un nouveau prototype dont le nom de code est Héphaïstos. En effet, après un premier prototype sur l’un des modes de jeu de dWARf (code Dionysos), nous avons réalisé que nous préférions nous rendre compte le plus vite possible de la diversité des modes de jeu.

     Tout le monde se réunit donc pour refaire un point sur le game-design d’Héphaïstos. C’est agréable de reprendre sur du gameplay, du level design et du scoring. C’est certainement la partie que je préfère dans le processus général. Chez Unexpected, tout le monde a son mot à dire et les réunions sont un bon moment de partage.
      Travailler sur les pré-requis d’un prototype est un peu délicat. La plupart du temps, à la fin d’une réunion, je suis très satisfaite de ce qui a été décidé, pourtant je sais que tout va changer ensuite une fois passé par la moulinette du gameplay. Le jeu sera trop basique, trop simple, trop court ou trop difficile à prendre en main. On réalise à l’épreuve des tests que certains mouvement ne retranscrivent pas ce que l’on souhaite, que la caméra n’est pas placée de manière optimale et que le gameplay est assez fade. C’est ça qui fait de ce métier une expérience chaque fois plus incroyable, se remettre en question, tester, modifier, débattre.

      Côté process, j’ai enfin l’occasion d’affiner les plannings et de préparer des documents plus précis. Repasser sur du jeu me permet de mieux comprendre ce que mon équipe attend de moi (l’éditeur de nain étant documenté depuis longtemps, et notre planning s’arrêtant à la Lyon Esport, je n’avais plus trop eu à travailler sur ces aspects de la prod depuis longtemps). Il y a beaucoup d’ajustements à faire car Hephaïstos n’était pas le jeu par lequel nous devions commencer.

    Pour la communication (oui, pardon je parle de plein de trucs différents je fais du multi-casquette), Audrey produit le second stream de la chaîne twitch Unexpected pour présenter ses recherches autour du concept de Hephaïstos, elle vous montrera très certainement le résultat dans la suite du blog ;).
    Sur ce, je laisse la suite aux merveilleuses personnes qui composent l’équipe de production Unexpected et qui ont des choses sans doute plus “visuelles” à vous montrer ! N’oubliez pas de nous dire en commentaire ou sur les réseaux sociaux ce que vous avez apprécié dans ces blogs !

GRAPHISMES 2D - Audrey

       Pour la Lyon Esport, nous prévoyons d’avoir un teeshirt personnalisé pour que l’équipe puisse être identifiée.
      – J’en ai donc profité pour travailler un logo présentable, bien que nous ne pensions pas l’attaquer de sitôt. La silhouette du logo -la découpe des lettres- se doit d’être lisible sur quelques centimètres. Il doit pouvoir fonctionner ou s’adapter sur fond blanc comme sur fond noir. Liam avait rapidement eu l’idée de créer une symétrie entre le d et le f, comme si la même forme avait été retravaillée.

       – Concernant nos alter-ego dwarf, j’ai donc regroupé les souhaits de chaque membre de l’équipe pour pouvoir me lancer. Les teeshirt devant être envoyés à l’imprimeur une bonne semaine avant, je me suis rapidement orienté sur un style illustratif avec des traits de contours imitant un pinceau un peu sec et une colorisation brouillonne, aquarelle (brush de Kyle T Webster).

     J’avais aussi quelques derniers détails à réaliser: l’interface pour l’envoi des mails et un maximum de paire d’yeux pour l’éditeur. Après sélection, on s’est rendu compte qu’il était intéressant de pouvoir choisir un type d’yeux ET de pouvoir modifier les émotions qu’ils transmettent… affaire à suivre!

     Et enfin, la Lyon Esport ! J’avais déjà assisté à quelques compétitions e-sport, mais je ne savais pas à quoi m’attendre ici; quelle place aurait le studio aurait au sein de l’événement. Mais vous avez été nombreux à nous approcher pour notre plus grande joie, et nous avons pu ajuster notre discours petit à petit; un bon exercice !
    C’était aussi une très bonne expérience en équipe (le trajet sous le déluge à écouter les bonnes chansons de notre adolescence, voir jouer la lineup du PSG, assister à notre premier concours de cosplay) : fa-meux !
     
     Depuis, je me suis mise au concept art d’Héphaïstos ! L’occasion de partager un peu mon travail sur le stream d’Unexpected. Vous avez fait de mon-premier-stream-ever un très bon moment ! Je sais maintenant que la phase de création n’est pas le moment idéal pour streamer. Réfléchir/trancher et répondre à des questions, ça ne fait pas bon ménage. Il faut que je m’organise mieux pour vous proposer une étape plus fun à regarder en live !

     Concernant la création, le gameplay et certains choix visuels imposent de sacrés contraintes. Il était donc plus logique de dessiner les objets directement dans la perspective sous laquelle ils seraient observés. Mais ce processus ne me convainc pas totalement, peut-être réaliserais-je des éléments clés sous des angles plus frontaux par la suite.
     Dans tous les cas, je n’avais pas pour intérêt d’imiter les forges naines éponymes, chargées. Mon approche à été très différente de celle pour la Taverne, plutôt centrée sur les objets : j’avais envie de favoriser l’ambiance, les contrastes, la cohérence. J’ai passé plus de temps à rechercher des références, à réaliser des recherches (environment, minéraux, architecture typique, color keys…), et à me faire la main sur des textures pour m’imprégner de cet univers que j’avais jusqu’alors peu exploré. Je dois vous avouer, quand je pense cohérence, je pense à La famille passiflore >

     (ou le travail de recherche pour mener à l’écran Le seigneur de anneaux que les éditions bonus ou magazines m’ont appris dès 2001, mais ça en jette moins). L’idée: retrouver des formes particulières dans l’architecture et les objets de l’environnement (arêtes biseautées, juxtapositions d’arêtes nettes, liseret esthétique pour ma part).

GRAPHISMES 3D - Liam

DwarF Editor - Dying Assets

     Pour la Lyon E-sport, nous avions décidé de mettre de côté certaines features de l’éditeur de dWARf. Mais une fois l’événement passé, ils faut nous atteler à différentes problématiques: notamment l’optimisation des maps ainsi que la customisation de couleurs.

 

     En effet, nous voulons que le joueur puisse choisir la couleur de certains vêtements et accessoires de son dwarf. Par contre, par souci d’optimisation, il faudrait n’avoir à charger qu’une seule map de texture par objet, quelle que soit sa couleur, et non pas une par couleur, ce qui serait beaucoup trop lourd. De plus, c’est le plus souvent seulement une petite partie de l’accessoire qui va pouvoir changer de couleur, et non pas l’objet en totalité. Nous décidons finalement de mettre toutes les infos « teintables » dans le canal alpha de l’image. C’est à dire que c’est la même image que la texture en elle même, mais qui comportera en plus un « masque » déterminant la zone qui changera de couleur.

       En plus de cela, nous voulons que la pilosité des dwarves (sourcils, moustaches, barbes, cheveux) puisse être teinte de n’importe quelle couleur selon le choix du joueur. Mais certains assets contiennent des éléments qui ne doivent pas prendre la couleur de la pilosité: par exemple, des nœuds dans les cheveux, ou des bijoux dans la barbe. Aussi, ces éléments pourraient potentiellement être teintables eux aussi, et le canal alpha de l’image est déjà reservé à cette information. Nous voulons éviter d’avoir à charger une deuxième map pour le même élément, car, dans la même veine, il ne faut pas que cela « coûte » trop cher lors du chargement, et que le jeu/éditeur puisse tourner de manière fluide.
    Nous décidons finalement d’utiliser le vertex color. Ce sont donc les vertex (=points) du modèle 3D en lui même (une barbe par exemple) qui comporteront les informations « teintable » ou « non teintable ».

     Ainsi sur certains objets, (par exemple une coupe de cheveux avec rubans) le joueur pourra désormais à la fois choisir la couleur des cheveux, ainsi que ceux des rubans, en ne chargeant qu’une seule map de texture dans l’éditeur.

Hephaïstos - Block Out

     Nous allons ensuite pouvoir passer à la création du décor de notre premier jeu: le projet Hephaïstos.
    Audrey fait donc beaucoup de recherches d’environnement, et me donne finalement un concept global de la scène suffisamment poussé pour que je puisse la reproduire en trois dimensions. Je passe donc à la phase de block out: créer une scène en 3D, mais de manière très schématique, afin que l’on puisse de rendre compte des tailles et échelles entre les objets, les personnages, ainsi que les distances.
     A partir de cette scène, on peut donc commencer à faire des tests de gameplay, afin de déterminer la position exacte et taille des éléments. Cela permet de se rendre compte également de s’il y a des zones de « vide », de si le jeu est lisible et pas trop surchargé. Cela permet donc aussi de déterminer des assets à supprimer/ déplacer, ou s’il faut en ajouter des nouveaux. Nous faisons donc plusieurs parties dans les différents décors afin de définir ce qui marche le mieux.

Une fois cette phase de tests terminée, nous pouvons donc nous lancer dans la modélisation plus détaillée et finale des éléments de décor.

DEVELOPPEMENT GAMEPLAY - Solune

Héphaïstos

     La période de préparation pour la LES et donc de travail intense sur l’éditeur de personnage étant terminée, il est temps de travailler sur le prototype d’un second mini-jeu dont, comme dit plus haut, le nom de code est Héphaïstos.
     Après avoir fixé les mécaniques de jeu voulu pour ce prototype, je m’attaque donc à la réalisation de celui-ci. Comme d’habitude on commence très simplement pour tester les mécaniques de base.

     Les fonctions de base sont là : prendre des ingrédients, allez d’un atelier à l’autre pour fabriquer son objet et enfin le vendre au comptoir, on peut donc commencer les phases de test internes. Après quelques parties, on trouve déjà qu’il faut apporter des modifications aux contrôles, et ajouter des obstacles au centre de la pièce pour que les joueurs se rencontrent d’avantage.
     En parallèle, les graphistes intègrent un premier “prototype graphique” du jeu, permettant pour les phases suivante de se rendre compte des proportions et du décors visible. Dès les premiers test avec ce décors, nous avons dû ajuster l’angle et la distance de la caméra, ainsi que la position de l’UI pour mieux correspondre à ce dernier :

      Il reste encore pas mal de travail d’équilibrage et quelques améliorations sont possible, mais on s’amuse déjà bien tous les 6, et c’est très encourageant !

Dev Gameplay

     Dans la réalisation d’un prototype (surtout dans un studio indé), le travail du développeur gameplay est aussi d’extrapoler certains éléments de game design, car à ce stade tout n’est pas défini avec certitude et certaines mécaniques de gameplay révèlent des questionnements une fois réalisées.
     Il est donc important d’avoir des compétences en game design afin de proposer des solutions dans mes prototypes sans avoir à poser la question systématiquement au reste de l’équipe au moment où je me rends compte de son existence. Bien sûr, cette question doit être discutée, mais elle ne sera pas bloquante pour la réalisation du prototype et une base de solution sera déjà en place.


     La phase de prototypage est une des phases de développement les plus intéressantes à mon sens. Elle fait appel à une grande variété de compétences et demande son lot de réflexion, ce qui en fait probablement la phase apportant le plus d’expérience.

DEVELOPPEMENT MULTI - Alexandre

    Côté multijoueur et interactions réseau, le mois de Mars a été assez chargé en avancements.
     Dans un premier temps, je me suis lancé dans le développement du service de notificationsd’Unexpected, je me suis ensuite attelé à la liaison à ce service par tous les autres services ayant une interaction temps-réel avec l’utilisateur. Ainsi, les services de gestion de compte et de messagerie ont été liés à ce service.
     Du côté de dWARf, de gros avancements ont eu lieu au niveau du système de gestion des données utilisateurs, ainsi que la mise en place du même service de notifications que précédemment, mais du côté de dWARf (les deux services de notifications étant indépendants: L’un est là pour toutes les interactions comptes/utilisateurs, l’autre pour toutes les interactions dWARf/utilisateur).

Nouveautés au niveau des services

     Comme je l’ai dit précédemment, de gros avancements ont eu lieu au niveau des services. Le service de gestion des données de dWARf est passé de la phase Heavy Dev à Tests (c’est à dire qu’on est passé de la phase de développement à la phase de tests) ainsi que la phase de tests de charge.
     Deux nouveaux services ont été terminés durant ce mois: Le service de discussion entre amis, ainsi que le service de Notifications. Un nouveau service a été commencé: Le service de gestion de serveurs de jeu dWARf (c’est lui qui va permettre de créer, de manière dynamique, les parties et les services de jeu dWARf, tout en répartissant les charges entre nos serveurs).
      Grâce à la mise en place de services ayant enfin des attraits temps-réel (comme le service de Notifications et le service d’envoi de messages par exemple) j’ai enfin pu vérifier que la communication inter-services fonctionnait correctement. Dans le cadre de cette communication inter-services, nous utilisons des systèmes permettant la répartition de charge intelligente ainsi que des services de messagerie inter-services. Le but étant de nous permettre de synchroniser nos services de manière rapide, tout en garantissant des accès aux données constantes.
      Ainsi, tous les services ont la possibilité de se connecter à un “système de messagerie inter-services” qui leur permet de s’envoyer des ordres les uns aux autres. Ce système permet de centraliser (et donc de mieux monitorer) les messages. On peut voir ce service comme la poste: On y poste des lettres avec un destinataire en particulier (ici, un service au complet OU un seul membre des services) et on est certain que celui-ci le recevra bien. Si un problème a lieu avec l’envoi du message, c’est la “poste” qui se charge de faire en sorte que le service reçoit bien son message dès qu’il lui est possible de le lui envoyer.

De la récolte de données?

     Durant ce mois, nous avons aussi eu une discussion sur nos systèmes d’optimisation pour le client de jeu dWARf. Nous avons étudié plusieurs possibilités le concernant et avons finalement décidés qu’il serait plus prudent d’entamer une étude auprès de la communauté pour nous permettre d’avoir des informations concernant les ordinateurs les plus utilisés par notre communauté. C’est ainsi qu’est né le projet “SpecsRetriver”.

     Le but de ce petit projet est simple: Analyser les ordinateurs des volontaires qui ont acceptés de l’utiliser afin de nous permettre de recevoir les informations concernant la configuration Hardware de leur PC. C’est un système qui nous envoie les informations de manière totalement anonyme et qui nous permettra à terme de mieux définir les besoins d’optimisation pour le projet dWARf et les futurs projets d’Unexpected. Encore merci aux volontaires pour avoir participé à cette récolte de données qui nous sera très utile pour la suite!

Conclusion

En conclusion, c’est un mois assez chargé pour la partie réseau et multijoueur: Beaucoup de nouveautés ont vu le jour. De plus en plus d’avancements ont lieu, et c’est très bon signe! J’ai personnellement passé un excellent moment parmi vous à la Lyon e-sport et je pense pouvoir le dire au nom de toute l’équipe: Merci à vous d’être venus à la Lyon e-sport, ce fut un plaisir de vous rencontrer et c’est toujours autant un plaisir d’avoir des retours concernant notre travail à tous 🙂 !