Bon, j'exagère un peu avec ce titre, mais on est pas loin de la réalité ahah. Je vais vous raconter ce que j'ai fait les 10 derniers jours, c'est à dire bosser à fond sur un nouveau jeu alors que je suis encore en train de boucler le précédent.
Vous le savez je suis en train de terminer Larcin Lazer, un gros projet que je trimballe depuis presque un an. Alors que je devais boucler le 4ème monde du jeu le weekend du 16-17 juillet, je me suis lancé dans une gamejam, sur un coup de tête : La GMTK Jam, probablement la plus grande jam en ligne désormais. Le thème était "Roll of the Dice" et il a immédiatement tiqué dans ma tête : la notion de hasard correspondait parfaitement à un vieux concept que j'avais depuis de nombreuses années, et dont j'avais déjà prototypé l'interaction principale il y a 4 ans (micro proto réalisé en 3h).

Dans ce proto sommaire (mot de passe : lucky), on pouvait cliquer sur n'importe quel étage pour y déplacer notre perso (le carré blanc) à tout moment, mais sans choisir sur lequel des 4 emplacements de l'étage on atterrissait. En restant dans un étage, on retirait des possibilités et donc on diminuait les probabilités : 1 chance sur 4, puis 1 chance sur 3, puis 1 chance sur 2, et enfin placement sûr. En quittant l'étage, il se générait de nouveau aléatoirement. Il n'y avait que 3 items différents : un gobelin qui fait des dégâts, un coffre qui donne du gold, un cœur qui redonne de la vie. Un jeu totalement random donc, mais avec une notion de prise de risque et un moyen d'interaction simple mais assez amusants. Je voulais le continuer un jour mais sans jamais trouver l'occasion.
C'est donc avec ce proto de base et une idée pour l'améliorer que je suis allé pitcher le jeu à Chariospirale en plein samedi aprem. Chario c'est un auteur de BD que j'adore humainement et artistiquement, et on voulait essayer de bosser ensemble depuis facile 2 ans. Il a aussi bossé sur des jeux en tant qu'artiste et GD, dont Bushidog qui avait beaucoup tourné sur twitter. Mais aucun de ses jeux n'a été mené à bout pour le moment. En tout cas Chario a accepté sans hésité alors qu'il avait déjà des obligations sur le weekend, et sans savoir que la jam allait un peu se prolonger pour nous...
On s'est donc lancé le samedi aprem avec quasi un jour de retard, en se disant qu'on ferait notre max. J'ai recommencé de 0 puisque de toute façon mon premier proto avait été fait en 3h et était inadapté à nos nouvelles idées : cette fois on ne serait pas constamment sur les mêmes 5 étages avec des salles qui se régénèrent, mais on évoluerait de 5 étages en 5 étages suite à un trigger. Au départ le trigger devait être un nombre d'action (exemple : s'être déplacé 10 fois) mais on a changé en cours de route pour partir sur plus simple, avec une porte disposée aléatoirement quelque part et qui active le déplacement quand on tombe dessus. À la fin de la première aprem nous avions un premier proto et quelques recherches graphiques de Chario.


Le dimanche on a travaillé comme des petits fous avec Chario et Antoine, qui nous a rejoint pour faire la musique. On avait pour objectif de livrer notre jeu pour la deadline de la GMTK Jam, le dimanche à 21h. Ce jour là j'ai ajouté des tonnes de choses au proto :
- Un système d'inventaire avec des objets qu'on peut sélectionner et utiliser pour mitiger l'aléatoire (un bouclier, une bombe qui détruit un étage, du soin, une clé qui ouvre un étage caché, une porte qui mène direct à la sortie)
- Un shop sur lequel on tombe tous les 2 étages, et dans lequel on peut acheter certains objets proposés aléatoirement à différents prix
- Une progression de la difficulté en modifiant quelques valeurs sur les possibilités de chaque item (monstre, soin, coffre) d'apparaitre, ainsi qu'un 2ème monstre qui sert de case neutre (ni dégât ni cadeau), le slime.
Chario de son côté avait terminé une très grande partie des assets graphiques, pour un jeu qui avait désormais un super look. Et Antoine avait créé des musiques au top pour le jeu, la défaite et la victoire. Mais...

Mais plus on approchait de la deadline, plus c'était clair que nous n'allions pas pouvoir fournir un jeu propre. Il manquait :
- L'écran titre et la victoire
- L'intégration de tous les assets graphiques de Chario
- Les musiques étaient dans le proto, mais aucun son
- On avait pas de nom pour le jeu
- Et surtout il était extrêmement random dans la création des étages, n'ayant pas eu le temps de faire un algorithme propre.
Qu'est-ce qu'on a fait ? On a simplement décidé d'abandonner la jam plutôt que de fournir un mauvais jeu, et de continuer à bosser dessus à un rythme beaucoup plus pépouze. On pensait y passer un jour de plus, on y passera finalement toute la semaine suivante (jusqu'au samedi, donc une semaine pile de travail). Et quand je dis horaires pépouzes, c'était souvent du réveil jusqu'à tard le soir, mais avec grand plaisir et sans pression de la jam. Merci à Antoine et surtout à Chario qui ont donné beaucoup de leur temps alors qu'ils avaient d'autres choses à faire <3
Et donc, qu'est-ce qu'on a fait de lundi à samedi ? Et bien pas mal de choses que je vais lister ici :
- Chario a polish plein d'éléments pour les rendre plus clairs. Il a animé l'interface d'inventaire à fond avec des VFXs qui claquent. Il a complètement animé le perso principale. Il a fait l'écran titre qui est UNE DINGUERIE (image en titre du devlog), et l'écran de fin qui est bien stylé lui aussi. Il a fait des VFX pour l'explosion, rebosser la grille des salles cachées en l'animant, etc.

- Antoine a fait une musique bien dark et un petit son de validation pour l'intro <3
- On a ajouté un nouvel ennemi pour avoir une meilleur gradation de la difficulté. On avait désormais le slime inoffensif, le serpent qui fait 1 dégât, et le gobelin qui en fait 2.
- On a ajouté un coffre doré, plus intéressant mais aussi bien mieux gardé.
- J'ai ajouté les écrans d'intro et de victoire, avec des effets de parallax et un peu de code pour animer le tout.
- On a trouvé un nom pour le jeu ! Il est provisoire mais c'est RANDOWN, un mélange de Random (aléatoire) et Down (en bas, vers le bas).
- J'ai ajouté le visuel de progression d'étage en étage (1 étage = 5 salles), sur la droite de l'écran.

Et j'ai complètement revu l'algorithme qui génère les étages. Pour le coup ça mérite un petit paragraphe parce que ce gros morceau m'a pris quasiment plus de 2 jours de travail. Mon objectif était :
- D'avoir un meilleur contrôle sur l'aléatoire du jeu
- De pouvoir composer des salles quasi à la main (avec une touche de random quand même)
- Et d'avoir un meilleur contrôle sur l'évolution de la difficulté.
Pour ça j'ai d'abord patouillé sur le papier en écrivant quelques logiques qui pouvaient marcher. J'ai opté pour une solution avec un % de chances de générer tel ou tel type de salle, et chaque type de salle qui va poser sont item 1, puis 2, puis 3, puis 4, avec moi qui peut choisir ce qui est posé à chaque fois (avec bien sûr la possibilité de poser un truc aléatoire). Et bien sûr, quelques valeurs d'aléatoire clés, afin de les mettre dans un excel et de les faire évoluer au cours du temps.
Bon ça m'aura pris 2 jours pour faire le code, avec des tonnes de bugs et prises de tête, mais le résultat est 100 fois mieux que dans le proto du weekend (même si encore très perfectible) ! Et surtout c'est une bonne base dans laquelle il est facile d'ajouter de nouveaux types de salles et des nouvelles valeurs à faire évoluer.

Voilà j'en ai surement loupé une partie, mais une fois le proto terminé on pensait tenir quelque chose : un concept cool et frénétique, un peu innovant, mais encore un peu trop aléatoire à notre gout et avec plein d'idées pour l'améliorer. On a donc décidé que ce serait un proto pour nous, et qu'on le ferait seulement tester à des potes pour avoir leur retour. Ce qu'on a fait ! Les retours sont hyper encourageant et vont dans notre sens : il faut qu'on agrandisse le jeu et qu'on donne plus de pouvoirs aux joueurs et joueuses pour mitiger l'aléatoire.
Vous l'aurez compris, pour le moment le jeu n'est pas disponible. Vous pouvez le voir tourner ici, dans une version quasi équivalente à ce qu'on a eu à la fin. On a des plans pour en faire quelque chose de vraiment bien, et quand une démo sortira, ça sera déjà très différent de ce que vous pourriez tester aujourd'hui. Mais l'équipe est super motivée suite à cette expérience. Je connais Antoine et on sait déjà qu'on marche bien ensemble. Mais on s'est aussi super bien entendus avec Chariospirale, on a clairement des visions design très proches. On est maintenant chauds pour mener l'expérience à plus grande échelle, mais ça ce sera pour plus tard ! On a chacun des trucs à terminer d'abord, dont un jeu pour moi (coucou Larcin Lazer).
Mais c'est dingue comme les choses peuvent se goupiller parfois. Je prévoyais de travailler sur Larcin Lazer tout le weekend, je vois un thème de jam qui fait "TING !", j'hésite toute une matinée à me lancer, et finalement c'est une semaine de travail (hyper plaisante) derrière, et potentiellement un nouveau projet pour les mois à venir. Comme quoi n'hésitez pas à faire des gamejams. Je dis ça et je me rends compte que mes deux derniers projets commerciaux (Larcin et Buissons) sont issus de gamejam, donc c'est un formidable générateur de projets. Au moins pour moi !
Bon aller je retourne bosser. Merci encore pour votre soutien <3
J'espère qu'au moins une personne lira ce pavé et sera intéressée ahah. Dans tous les cas, à très vite pour de nouveaux post de blog !
Géraud.
Géraud Zucchini
2022-08-06 08:22:36 +0000 UTCkimou
2022-08-05 22:54:15 +0000 UTCGéraud Zucchini
2022-07-29 17:56:41 +0000 UTCSpaaak
2022-07-29 09:44:28 +0000 UTC