Black Friday

Les packs qui me faisaient de l’œil à 350€ sont maintenant à 177€
Tentant !
Ce serait quand même investir beaucoup sans savoir si le projet atteindra les phases finales, or ce niveau de finition ne peut qu’être une phase finale.

Donc, je passe, mais je vais quand même acheter le requin à 4€ et un pack d’armures simples à 20€, ça devrait me suffire comme bases pour les projets en cours.

Le merveilleux manoir de Leomund

Je n’ai plus aucune idée de comment le sort s’appelait dans AD&D 2ème édition, mais c’est un truc du genre, qui invoque un refuge avec nourriture et commodités, une version idéalisée de la caravane, en sorte, sans l’aspect escargot.

Tout en travaillant ce soir, je me suis fait la réflexion qu’il est parfaitement possible de reproduire ce sort dans Alive!, une gentille chaumière avec poêle, jambon séché, baignoire chaude, vin elfique et toute cette sorte de choses.

Bon, assez rêvé, je travaille depuis plus d’un an sur une place du marché entièrement vide avec juste quelques remparts, une porte à herse et un pont sur le Merul, avec en ligne de fond deux maisons agrandies pour marquer l’emplacement du château du bailli et de la cathédrale. Même mon perso est le très beau mais vite lassant mannequin Unreal, il va finir en cible d’entraînement lui, ça va pas traîner…

Bug de la fireball réglé

Je n’ai pas eu d’autre choix que d’utiliser une enculette™ pour résoudre le problème de la boule de feu qui part dans la direction où regardait le joueur au moment du début du cast et non là où il regarde à la fin.
Je détruis le sort à la fin du lancement et j’en recrée un autre que je lance immédiatement pour éviter toute disparité d’angle.

Ca marche, mais je n’aime pas. On sent qu’Unreal a été créé dans une optique ‘shooter’ où les projectiles partent dès que la détente est pressée.
Comme quoi, les moteurs se définissent aussi bien par leurs avantages que leurs limitations.

J’ai aussi terminé les buffs, j’attaque les débuffs et le ciblage.
Après ça je ferai l’inventaire, ce qui pose quelques problèmes en multi-joueurs.

Je pourrai peut-être bien avoir un environnement jouable pour le printemps, même s’il est encore prématuré d’en juger. Je peux tout aussi bien avoir tout plaqué d’ici là, je me mange une quantité de claques impressionnante chaque fois que j’aborde un nouvel aspect du développement. Ou, pire, que je me laisse emporter par ma curiosité et vais “un peu regarder” tout ce qu’il y a moyen de faire avec le moteur.

Bugs en cascade, pas grave

Depuis le lancement du projet sous UE4, j’essaie d’écrire une fonction qui déplace le joueur à l’objet sur lequel il clique, habituellement une porte ou un coffre. J’ai eu beau tout essayer, la fonction qui devrait me rendre la table des vecteurs de déplacement est vide. Pas essentiel, je n’aurais même pas dû revenir à ce code, mais c’est mon problème, j’ai du mal à laisser tomber un bug, façon “c’est lui ou moi”. Pas très malin mais on ne se change pas.

J’ai un autre bug gênant, quand je lance un sort à projectile avec un temps d’incantation, le projectile part dans la direction à laquelle le joueur faisait face au début de l’incantation. S’il s’est retourné entretemps, le sort lui sort donc du trou de balle. Cocasse, mais ce n’est pas l’effet recherché.

J’ai posé la question à Ryan sous sa vidéo Youtube et il m’a gentiment répondu. Le problème, c’est que j’ai essayé une bonne partie de la journée de régler le problème et que la solution qu’il m’a indiquée faisait partie de ce que j’avais essayé dès le début. Enfin, pour le remercier quand même, j’ai souscrit à son compte Patreon, ça me permettra de résoudre bien des difficultés dans l’avenir et si je souscris au plan Diamond pour la modique somme de 20€/mois, je pourrai même lui envoyer mon projet pour qu’il corrige mes bugs. C’est donné !

18 épisodes

La série de tutos que je suis pour le moment, par Ryan Laley au délicieux accent de Manchester, par là, m’aide énormément à avancer car j’ai besoin de tout ce qu’il décrit.

Par contre, il arrive qu’au fil de son exposé je ne sois pas d’accord avec sa logique et tente de corriger son code à la volée. Le souci, c’est que la plupart du temps il construit sur ses propres bugs et que donc mon code ne suit plus son raisonnement, et qu’il finit par corriger ses bugs selon la méthode “emplâtre” affectionnée par une partie non négligeable de la Communauté Internationale des Développeurs™.

Donc, je le suis servilement et tente tant bien que mal de garder en mémoire tout ce que je devrai revoir quand j’aurai fini ses tutoriels, ce qui à la fois me fatigue et m’agace, dans la peur qu’il ait tellement construit sur du sable qu’à la fin je perde confiance dans la stabilité du code.

Et ce n’est pas toujours anodin : pour le moment je crée une boule de feu et chaque fois qu’elle se lance se crée un objet de type “sort” avec une flopée de paramètres, objet qui ne se détruit que s’il touche une surface solide. Je me trimballe ainsi avec des kyrielles de boules de feu rendues à l’état sauvage ce qui ne va pas manquer d’amuser le serveur si j’ai 60 joueurs qui s’en donnent à cœur-joie pendant des heures.

Oui, je sais, cela fait trente ans que je peste contre les bugs des autres, ce qui me fait penser que pour me remercier de ceux que je leur ai dénichés dans leur code quand j’étais développeur officiel Apple, ces pingres m’offraient royalement 50% de réduction sur une machine par an.

Bon, bref, je travaille et ça avance.
Je n’ose pas montrer la tronche de ma boule de feu, c’est à pleurer de rire, soit.