Devlog n°4 - Premières batailles


Lire en version pdf

Préambule

Après la conception de différentes unités la semaine passée, il est désormais temps pour les Lumys de se livrer à leurs premières batailles, le tout sous les yeux émus de leurs créateurs. 


Vendredi 9 Mars 2018.

De la Doc, Encore de la Doc :

- Lucas Franquelin, Charles Gruss

Cette semaine c’est l’effervescence totale, on prépare un premier prototype à usage interne. Tout le monde travaille en double cadence pour polish les différentes features du jeu, et faire en sorte que le tout colle et fonctionne. Et moi, de mon côté… Je fais d’la doc. Avec Charles on s’est attelés à préparer la campagne de test pour la release à venir. En gros, ça consiste à anticiper tous les scénarios d’interaction possibles entre le joueur et les écrans de jeu, spécifier quels sont les effets attendus de ces interactions, et si les gens qui exécutent cette campagne obtiennent des résultats différents, ils les enregistrent en tant que bugs, qui devront être corrigés par la suite. Et oui, c’est aussi laborieux que ça en a l’air sur le papier. Mais c’est un travail nécessaire, et à choisir entre la peste et le choléra, je préfère cent fois rédiger ce genre de trucs plutôt que de l’exécuter! (Rachid, Sylvain, mon coeur saigne pour vous…)




IHM, Conception de Template et Community Management :

- Vincent Langlois

En début de semaine j’ai travaillé avec Thomas sur l’Interface Homme-Machine (IHM) du mode Partie Personnalisée. Nous avons élaboré une première ébauche sous Photoshop, qu’il a ensuite affinée de son côté car j’ai dû me pencher sur une autre tâche : la conception d’un fIyer pour les différents événements où sera présenté le projet. En parallèle, comme toujours, j’ai continué ma veille et les posts sur les réseaux sociaux. En revanche, c’est Charles qui s’est occupé de la mise en page du devblog ( avec le template que j’ai conçu tout de même ), et je dois avouer que ça allège un peu la charge de pouvoir déléguer ce genre de tâches.


Map Joueur Contre Joueur :

- Éric Boucher, Thomas Ousselin

Travail de level design cette semaine sur une deuxième map toujours sur le thème des champignons. Au programme, création d’éléments de décor en positionnant les assets fournis par notre graphiste Clément. 

Modification de l’altitude du terrain (crevasse, irrégularité,...) en tenant compte de la position des ressources et des spawns.

Positionnement des décors sur le terrain : la map étant plus de deux fois plus grande que celle du tutoriel, un travail sur la proportion des assets a dû être fait.

Voici le résultat final en vue de dessus. Les rectangles seront remplacés par des assets dès qu’ils seront finis. La map ne contient pas de texture de terrain ni de lumière, Clément se chargera de cette tâche prochainement.


Spécification MC Bas Niveau, Campagne de Test :

- Sylvain Saliba

Cette semaine fut laborieuse : une série de modèles comportementaux (MC) conçus avec des éléments haut niveau a eu besoin d’être détaillée. De plus, il a fallu les optimiser pour en réduire le coût, et également regrouper les différents patterns qui reviennent fréquemment. Puis une revue de toutes les fonctionnalité s’imposait pour vérifier qu’aucune régression n’était arrivée et que toutes les nouvelles features fonctionnaient correctement.


Package de Test :

- Joris Da Silva, Lucas Franquelin

En deuxième partie de semaine, on s’est penchés sur la constitution d’un package de test à envoyer aux futurs testeurs du jeu pour leur donner tous les éléments qui leur permettront d’en comprendre le fonctionnement. S’il s’agit essentiellement de retrouver des documents déjà utilisés en interne, il faut également leur fournir un manuel d’utilisation. Nous avons donc commencé par structurer et hiérarchiser les informations à mettre dans le manuel en question, puis avons réfléchi à la forme du document. Les programmeurs ayant eu une semaine chargée de leur côté, une relecture du document pour validation n’a pas encore pu se faire.


Fonction “Merge” dans l’Éditeur de Nuée :

- Éric Boucher, Joris Da Silva

En première partie de semaine, nous avons travaillé avec Eric sur l’éditeur de nuées pour y implémenter la fonction merge, permettant de supprimer des types d’unités. Au passage, nous avons rencontré plusieurs bugs sur l’éditeur : la fonction merge apparaissait spontanément sur tous les Lumys une génération sur deux. Cela tenait au fait que nous utilisons deux préfabs de Lumys appelés différemment. Le problème a été résolu, il restait simplement à implémenter un message demandant la confirmation de l’action de merge. Impossible de faire poper ledit message sans qu’il apparaisse derrière notre canevas. Nous en avons donc créé un nouveau. Pour le moment, donc, lorsqu’on clique sur la fonction « Merge », le canevas des castes disparaît pour laisser place à celui de la confirmation. C’est une solution transitoire, mais fonctionnelle pour le moment.


IHM, Intégration du Menu Principal :

- Michel Garcia

Après avoir choisi une palette de couleurs et spécifié nos écrans de menus, il était temps de les implémenter dans Unity.
Il ne s’agit pas de l’apparence finale, mais nous souhaitions avoir une étape intermédiaire plus jolie que les boutons gris par défaut.


IHM, Habillage des Éditeurs :

- Charles Gruss

Pendant que Michel travaillait sur le menu principal et l’écran de partie personnalisée, j’ai réalisé des éléments provisoires que l’on utilisera dans les différents éditeurs. J’ai donc effectué plusieurs essais en variant notamment la teinte des différents objets, tout l’enjeu étant de réussir à faire un écran suffisamment lisible sans être surchargé. Pour l’instant, j’ai préféré conserver un écran assez classique, mais je me forme sur l’utilisation de shaders pour rendre le tout un peu plus vivant. Croisons les doigts, la semaine prochaine vous verrez probablement le fond s’animer !



Intégration, VFX et Overview :

- Clément Godaert

Pour cette semaine, j’ai principalement travaillé sur l’intégration des ressources graphiques précédemment créées ainsi que sur l’apparence des Lumys et un premier jet sur l’overview, afin de se fixer un objectif sur le standard graphique à atteindre sur les différentes maps et vérifier que l’interface s’intègre bien à l’environnement. J’ai donc placé le portail dans la map tuto et y ai ajouté des effets visuels (VFX). Avec Emmanuel Boureau, nous avons remplacé le shader du terrain de Unity et ajouté des textures plus détaillées, avec normal map et spéculaire afin de donner du relief au terrain. Une animation a également été ajoutée au niveau des champignons géants et les lumières ont été une fois de plus retravaillées, toujours afin d’amplifier la sensation d’être dans les profondeurs.


Dis Donc Jamie ! Comment On Lit des Fichiers Depuis un Build ?

- Jérémy Ponzo

En point de mire de ce sprint, nous voulions produire une première release interne de Lumy Naissance. Quelle ne fut pas ma stupeur quand je me suis aperçu que les fichiers .csv stockant la définition des nuées n’étaient pas embarqués dans le build. Après un petit tour sur les forums pour voir ce qu’en pensait la communauté, j’apprends que les données persistantes ne doivent pas être encodées dans un fichier de configuration, mais dans les “player preferences” de Unity. “Mais oui Jamie ! C’est une super idée ça ! Pourquoi on mettrait pas toutes nos datas dans les “player preferences” encodées dans des chaînes de caractères de 12 bornes de long ?”. Cette option n’étant pas viable, il a fallu fouiller un peu la doc pour retomber sur nos pattes. 
Ce petit contretemps nous a coûté la fonctionnalité d’import/export des nuées que nous avons repoussée au prochain sprint. Mais le build est désormais capable taper dans les données pour faire son job. 


Fonctions de Navigation dans l’UI, le Retour de la Vengeance :

- Tanguy Chanal

Une fonctionnalité importante implémentée cette semaine fut la fenêtre de sélection d’une nuée. L’écran de configuration d‘une partie comporte désormais une liste défilante de toutes les nuées existantes pour chaque joueur, parmi lesquelles il est possible de sélectionner celles qui seront utilisées en jeu.


En parallèle, j’ai de nouveau assisté Charles afin d‘ajuster les effets graphiques de l’arrière-plan des menus, ainsi que Matthieu en l’aidant à régler les derniers problèmes encore présents sur la caméra en jeu et la transition entre les différentes caméras.


Intégration et Tests :

- Corentin Belloir

Cette semaine j’ai intégré au projet ce que j’avais créé dans mon fichier perso au niveau des outils et de la navigation dans le menu d’édition des MC. 
Ce fut laborieux du fait que les conditions d’implémentation n’étaient pas les mêmes et j’ai bataillé pour adapter. 
J’ai eu pas mal de retours des autres membres de l’équipe à base de bug report qui m’ont permis de corriger tout ça dans les plus brefs délais.


VFX. VFX Never Changes :

- Xuan-Vinh Tran

Après quelques galères de type bugs, la formule de coût est implémentée et testée ! Les fonctions sont prêtes à être utilisées et peuvent être adaptées facilement dans le futur.
Pour la sortie du premier prototype du jeu, il faudrait quelques effets spéciaux pour le rendre plus attrayant visuellement. Je me suis alors remis cette semaine dans l’intégration des VFX dans le projet global, ce qui n’est pas une mince affaire tout compte fait ! Mais on lâche rien !


IA, Problématique de Déplacement des Unités :

- Matthieu Eginard, Jérémy Ponzo

Les unités se déplacent sur ce que l’on appelle un NavMesh, un ensemble de positions avec un algorithme de pathfinding (recherche du meilleur chemin). Celui de Unity mêlé avec nos modèles comportementaux amenait nos unités à être bloquées. Nous avons résolu ce bug en testant si les positions étaient réellement dans le NavMesh ou non. Si les positions choisies sont incorrectes, le Lumy restera immobile jusqu’à la prochaine itération.


Enter the Matrix :

- Jérémy Ponzo, Rachid Taghat

Intégration de la première nuée dans les fichiers csv.
L’éditeur n’étant pas encore fonctionnel, nous n’avions d’autres choix que de plonger dans la matrice pour éditer les fichiers csv à la main. Gephi nous a beaucoup aidé durant ce périple en nous permettant de visualiser nos fichiers csv.
Aujourd’hui, après moultes péripéties, les fichiers csv sont fonctionnels et nous pouvons lancer une partie entre deux nuées, partie aussi connue sous le nom de Vincent contre Vincent.


Conditions de Victoire et Personnalisation :

IHM, Simplification et Correctifs :

- Matthieu Eginard

Les conditions de victoire sont maintenant implémentées en jeu. On peut gagner une partie si à la fin du temps imparti on possède plus de ressources que l’adversaire, où si l’on arrive à supprimer le Prysme ennemi. 

Également, avant de commencer une partie personnalisée, il est maintenant possible de choisir le temps d’une partie, le nombre de Lumys maximum, les ressources de départ et le stock de chacun des gisements de minerais.


Grâce aux modifications apportées par Tanguy sur la gestion des caméras, j’ai réussi à implémenter une IHM visible (sans les effets de glow). Également, j’en ai profité pour rajouter de nouveaux assets qui rendent plus claire la lecture du jeu. J’ai ensuite implémenté dans l’IHM le nombre de Lumys par joueur. 


Des Transitions et des Nodes Bien Détaillés :

- Edwyn Batista, Grégory Galliot

Si avant on était capables de créer des transitions, on devait le faire avec un peu de foi dans son coeur pour qu’elles soient branchées sur les bons pins.
Pendant ce dernier sprint, nous avons implémenté quelques outils pour aider le joueur avec ce problème. Désormais les types des pins sont identifiés par des couleurs et l’ordre des transitions sortantes d’un état est visible (ainsi que l’ordre des paramètres d’un opérateur).
Et si cela n’est pas suffisant pour bien comprendre les modèles, nous avons aussi ajouté la possibilité d’éditer les noms des états et les valeurs des paramètres. Il suffit de réaliser un double clic sur les objets désirés.


Get Lumy Naissance

Leave a comment

Log in with itch.io to leave a comment.