Passons aux détails

Le paperdoll terminé, c’est la fin du gros oeuvre de plomberie, il restera quelques pièces à mettre en place qui demanderont un peu de travail technique, comme les groupes ou le placement de décors dans les maisons, mais la première phase du projet, celle sans laquelle rien ne serait possible, est terminée.

J’ai achevé hier le déplacement de toutes les fenêtres du jeu et leur mise à l’échelle correcte*. Idéalement, je devrais ré-écrire le début du projet où j’apprenais en même temps que je produisais, ce qui n’est jamais idéal. J’avais peur d’avoir recours au C++ car le C++ d’Unreal est vraiment très lourd et je n’avais pas encore mesuré l’aide que l’IA pouvait me procurer. Cependant, grâce au travail que j’ai achevé hier, la ré-écriture n’est pas nécessaire, c’est un luxe intellectuel que je ne peux pas me permettre sans quoi le chantier n’avancera jamais  : il faut aller de l’avant et aborder la partie de modélisation du projet : les personnages et les décors.

Avant cela, je vais m’atteler à écrire de petits chapitres, la fenêtre des options, les barres de vie et de fatigue correctes et tout ce qui va me tomber sous la main qui ne demandera pas plus de quelques jours. Les projets qui prennent des mois, c’est, je l’espère, définitivement terminé !

*Pour mémoire, c’est le HUD qui commande la taille de ses widgets qui prennent la taille de leur sizebox uniquement quand ils sont déplacés. Si je veux en changer la taille, je dois donc d’abord le faire au HUD (ou au controller pour les widgets à création procédurale) avant de reporter dans leur sizebox les nouvelles dimensions.

Paperdoll terminé

C’était beaucoup plus de travail que je le prévoyais, même si je termine avec un jour d’avance, car j’ai dû mettre en place le système de loot entretemps. Difficile de tester l’équipement/déséquipement d’objets et octroi de buffs sans avoir d’objets à disposition, n’est-ce pas ? C’est vrai, j’aurais pu les mettre par terre plutôt qu’écrire les routines de génération de loot mais comme il aurait de toutes façons fallu y passer, c’est fait !

Générateur de loot terminé

Mooooooooooooon vieux ! j’ai pédalé dans la choucroute, pfiouuuu !

J’ai programmé un système tellement riche et souple que je suis arrivé à m’y perdre. Une journée entière de boulot pour me remettre la bulle entre les repères ! Finalement, j’ai opté pour un système contre-intuitif mais qui sera très fun : plus un objet est commun, plus il a de chances de recevoir un grand nombres d’affixes mais plus ces affixes seront petits. C’est logique car plus un objet est rare, plus ses caractéristiques avant affixes sont élevées. Oui, je sais, c’est dur à lire et ce n’était pas sans un vif déplaisir que je l’ai programmé ! Ce système va épicer le trash loot et c’est tant mieux ! Ca m’évitera aussi de construire dans la table d’objets des brouettes de saloperies de la chouette dont personne ne veut : la génération de loot de transition sera automatique.

Demain je m’attaque aux buffs d’intensité variable octroyés par les objets. J’avais déjà la version fixe, maintenant la variable. Après ça, il me restera l’affichage du total des buffs au paperdoll.

Création d’icônes

Je me suis enfin décidé à apprendre à travailler de manière professionnelle pour générer les icônes du jeu. Grâce à l’IA le détourage est plus simple que jamais et grâce à “Sélection -> modifier -> contracter d’un pixel” de Photoshop je couvre tous les cas de figure.

J’ai créé quatorze objets aujourd’hui, ce qui comprend l’icône mais aussi les effets GAS (ils donnent tous +5 PV, on verra plus tard pour les variantes), l’affichage du niveau de rareté et toute cette sorte de choses. Me reste à réaliser un petit encart dans le paperdoll pour visualiser les buffs les plus courants et ce chantier sera terminé et avec lui, probablement, le dernier gros chantier lourd en code. Probablement, j’ai peut-être oublié quelque chose mais comme dirait mon fils en s’asseyant à mon fauteuil ce matin : “Ca commence à ressembler à un jeu vidéo !”

Oui, ça commence…

Paperdoll

Paperdoll ou cabine d’essayage, comme on veut.

Le code est déjà écrit, je peux équiper des objets et ils s’affichent sur le paperdoll, c’est déjà pas mal.
Demain je gère le déséquipement, je vais à l’essentiel, pas de drag&drop, juste un clic droit pour replacer un objet dans l’inventaire, de même qu’un clic droit sur l’objet dans l’inventaire pour l’équiper. Je pourrais programmer le drag&drop mais, finalement, je ne gagnerais rien ; peut-être pour intervertir deux bijous bijougs bijoux ou deux armes à une main ? Bof, pas indispensable.

Je m’étais donné deux semaines, c’était vraiment large, quand j’aurai géré le déséquipement – qui est déjà codé, me reste à intercepter le clic-droit dans le paperdoll – je devrai gérer les effect octroyés par les objets. Ca aussi c’est déjà dans le code mais la mise en forme et l’intégration au calcul de combat sera plus lourd. Peu importe, ça avance bien.