Hello tout le monde !
Bon… Ça fait un moment que j’ai pas donné de nouvelles concernant Sol Cesto. Et j'ai de belles choses à vous montrer à la fin de ce post. Mais pour être honnête, ces 2 derniers mois étaient un peu difficiles niveau moral et motivation. Ça fait 6 ans que je bosse en indépendant et j’ai appris à dépasser cet état pour continuer à travailler. Mais ça serait mentir que de dire que je bosse au même rythme et avec la même intensité quand je suis pas au top moralement. Merci les européennes et législatives qui m’ont mangé un bon petit bout de santé mentale.

Et malheureusement pour moi, une tâche importante et pas super cool m’attendait sur Sol Cesto. Pour vous mettre dans le contexte, disons qu’on a fait une grosse erreur en démarrant le jeu. J’ai fait une grosse erreur. Au lieu de faire comme avec tous mes autres jeux, en bossant avec une résolution de 1920x1080, on a pris une résolution 4k. Pourquoi ? Parce que c’était plus agréable pour Chario de bosser dans cette résolution (plus facile de gérer les détails), parce que ça nous permettait de mettre des zooms partout sans dégrader la qualité des assets, et parce que je pensais naïvement pouvoir optimiser le jeu pour que ça passe. NOP, ça passe pas.
4k c’est des images 4 fois plus grandes, avec 4 fois de pixels, et donc beaucoup plus lourdes. Surtout pour la RAM, et très vite des gens nous ont prévenu que le jeu se lançait à peine chez eux, ou qu’ils restaient bloqués sur un écran noir. Pas ouf. J’aurais jamais dû prendre la décision de partir en 4k (Chario ne touche pas à la tech, il pouvait pas savoir les risques) et il fallait maintenant que je repasse tout Sol Cesto en 1080p. Et croyez moi, c’était long et bien relou à faire !

interface en 1080p après modification, et partie gameplay encore en 4k.
Je vais vous résumer les détails techniques, mais sachez que passer le jeu en 1080p ce n’était pas juste quelques chiffres à changer, évidemment. C’était globalement :
Aller dans chaque sprite du jeu, chaque animation, pour modifier à la main, en faisant le calcul sur une calculette, la taille des sprites en la divisant par deux. Niveau taille de sprite et vu que le moteur que j’utilise (Construct 3) fait des atlas de texture comme un grand quand on exporte une build, on est pas très strict. C’est cool au quotidien, mais là ça nous a fait refaire les calculs pour chaque sprite du jeu, vu qu'ils n'ont jamais la même taille. Rien que ça c’était très long.
Une fois la taille des sprites modifiés, ils devenaient plus petits. Et surtout, vu que la fenêtre de jeu faisait maintenant un quart de sa taille précédente, ils n’étaient pas du tout à la bonne place. Donc j’ai tout replacé à la main, scène par scène, calque après calque. Pour le menu, pour l’écran de sélection de personnage avec toutes les étoiles de l’arbre de talent, pour tous les écrans uniques comme la vendeuse, le forgeron, la fontaine, etc. C’était bien long !
Et enfin, passer en 1080p a cassé plein de choses côté code aussi. Beaucoup de calculs de déplacement dans l’espace, que ce soit pour des objets, des VFXs ou des mouvements de caméra.

Chaos et bug à gogo
Au total, ça m’aura pris un peu plus d’une semaine de travail mais ça y est, c’est fait ! J’en ai même profité pour optimiser quelques bouts de code. Forcément les assets visuels ont été un peu dégradés dans le processus, puisque c’est l'algorithme de compression d’image intégré dans Construct qui décide comment replacer les pixels dans ces nouvelles images 4 fois plus petites. Mais ça reste discret (personne le notera je pense) et ça rendra le jeu bien plus léger et donc plus accessible, notamment pour les configurations avec peu de ram.
Après ça, j’ai continué sur les tâches un peu techniques en recodant la proposition d’objets chez la vendeuse. Le système de l’ancienne version était très sale, très prototype : il y avait une animation pour les objets cher et une animation pour les objets pas cher, avec 4 images à chaque fois, une pour chaque objet. Ça prenait simplement une image aléatoire entre les 4 pour choisir quel objet tombait. Maintenant c’est bien plus : tout est géré dans un tableau, avec plein d’infos pour chaque objet comme sa probabilité d’apparition, son prix, sur quel emplacement il peut tomber, sa description (et ses traductions), etc. Un système nickel qui m’a demandé une refonte totale de la vendeuse, donc c’était quand même du boulot. Mais je vais pouvoir appliquer ce système un peu partout (démon, fontaine) pour qu’on ait un contrôle super fin sur tous les éléments du jeu.

Autre morceau important, j’ai ajouté un compteur pour les dents maudites, et plus particulièrement pour celles qui ont des pouvoirs conditionnels. Exemple : une dent va affaiblir tous les monstres de type magique si on tombe 2 fois d’affilé sur un monstre de type force. Maintenant il y a un petit numéro sur la dent pour indiquer où elle en est de cette charge ! Visuellement ce n’est pas du tout définitif, et on ajustera l’ésthétique de tout ça avec Chario. Mais plus tard, quand on aura toutes les malédictions des dents et ainsi une meilleure idée de la charge max que peut avoir une dent. Parce qu’illustrer une dent qui peut se charger de 1 à 4, ça donne pas le résultat et le même design que pour une dent qui peut se charger jusqu’à 20 (j’abuse mais vous voyez l’idée).

Pour terminer sur toutes les petites merdouilles techniques, j’ai aussi rebossé la façon dont on gère la mort des monstres pour que ce soit un peu plus dynamique, avec une séparation du corps en deux animée via du code et non pas à la main. J’ai aussi ajusté le code de la vendeuse pour qu’on puisse la débloquer et l’améliorer dans la méta progression (l’écran de menu avec toutes les étoiles). Ce sera le cas pour quasi tous les écrans uniques. Tout ça et probablement plein d’autres choses que j’ai oublié !
ET MAINTENANT ?!! Hé bien j’ai une bonne nouvelle : la motivation et le plaisir sont revenus 🥳 Je suis ultra chaud pour terminer ce jeu, et surtout bosser intelligemment pour que ça la suite de la production se fasse de manière raisonnable, rapide, et contrôlé. Sol Cesto est de loin le projet de jeu le plus ambitieux sur lequel je me suis lancé, et je suis bien content de le faire en duo avec Chario et non pas tout seul ! Mais clairement, j’avais sous-estimé l’ampleur de la tâche en lançant cette prod. Mais ça y est, ça me semble clair et on a tous les outils pour progresser. Et surtout…

Propositions pour des monstres exotiques. Ce sont des schémas OKAY ?!!
On fait des trucs trop cools en ce moment ! Depuis environ 2 semaines, on a commencé à créer le contenu pour le jeu, ce qui va apporter de la diversité et créer une vraie différence : monstres avec des comportements exotiques, pièges en tout genre, objets amusants à utiliser, personnages aux pouvoirs bien cools, et dents aux malédictions variées. Pour le moment j’ai créé plein de concepts :
Une petite vingtaine d’ennemis avec des comportements exotiques, donc pas juste plus ou moins puissants. On voudrait qu’il y en ait au moins 2 pour chacun des 5 biomes du jeu.
Une quinzaine de cases pièges et obstacles environnementaux. On en voudrait un de chaque par biome.
Et plus de vingt objets en comptant ceux qu’on a déjà dans le jeu. Là on aimerait en avoir entre 12 et 15 au final.
On a review tout ça ensemble avec Chario, on en a ajusté certains, et on a déjà fait une petite sélection dont on est content. je vous dis pas lesquels pour garder un peu de surprise 👀

C’est très amusant et motivant de retourner à un boulot créatif comme celui-ci. Même le code des monstres et très plaisant à faire. J’ai d’ailleurs un bon rythme de ce côté puisque je code 2 monstres exotiques par jour. Et ça fait plaisir de retrouver Chario et de bosser à l'unisson, il avait une BD à livrer en juillet (donc gros rush) puis il a pris des petites vacances bien méritées. Depuis il s’est mis à chercher des visuels pour les monstres, je vous en mets quelques uns sans vous dire à quels monstres ils correspondent héhé.

Avec toute cette motivation et ce très bon rythme qu’on a récemment retrouvé, je suis presque un peu gêné de partir en vacances pendant une bonne partie de ce mois d'août. Mais bon, je pense que j’en ai rarement eu autant besoin et ça va être avec la mif', donc j’ai bien hâte en vrai 😊
La prochaine fois je vous partagerai plus en détail comment on avance sur les monstres, les pièges et tous les objets marrant qu’on va ajouter au jeu. J’ai trop hâte de vous faire tester ça. C’est pas pour tout de suite mais y aura clairement des versions de test en exclu pour les abonnés du Patreon, donc restez branchés ⚡

Merci pour votre soutien et votre patience, et je vous envoie un maximum de force si vous bossez sur des projets de jeu cet été 💪 Et bon repos à celles et ceux qui ont cette chance (comme moi !)
À bientôt !
Géraud.
Tony Duracell
2024-08-30 08:38:34 +0000 UTCGéraud Zucchini
2024-08-30 08:14:31 +0000 UTCTony Duracell
2024-08-26 16:31:11 +0000 UTC