{"id":117,"date":"2018-09-27T15:09:11","date_gmt":"2018-09-27T13:09:11","guid":{"rendered":"http:\/\/192.168.1.202\/wordpress\/?page_id=117"},"modified":"2018-10-06T09:04:08","modified_gmt":"2018-10-06T07:04:08","slug":"117-2","status":"publish","type":"page","link":"https:\/\/myrdil.com\/?page_id=117","title":{"rendered":"Cinq premiers mois de d\u00e9veloppement"},"content":{"rendered":"<h2>Cinq premiers mois de d\u00e9veloppement<\/h2>\n<p><i>26 septembre 2018<\/i><\/p>\n<p>J&#8217;ai termin\u00e9 hier soir la publication de la derni\u00e8re version des hakpaks et l&#8217;installation du module sur le serveur. J&#8217;esp\u00e8re que le prochain patch de Beamdog introduira NWSync et que les joueurs n&#8217;auront plus \u00e0 charger manuellement le contenu additionnel du jeu (haks et tlk) mais d&#8217;apr\u00e8s ce que j&#8217;ai lu, ce ne sera pas encore le cas.<br \/>\nCe module, le 093, est le premier depuis 5 mois \u00e0 pr\u00e9tendre proposer toutes les fonctionnalit\u00e9s op\u00e9rationnelles.<br \/>\nCe qui ne veut pas dire qu&#8217;il n&#8217;y a plus de bugs et que tout est parfait !<br \/>\nJe dois encore tester les habitations, les marchands personnels, mettre au point le param\u00e9trage de difficult\u00e9 des combats, int\u00e9grer la librairie de vari\u00e9t\u00e9 musicale dans les zones et une foule d&#8217;autres choses, mais le module, en l&#8217;\u00e9tat, est jouable et peut rester ainsi quelques jours le temps que je r\u00e8gle la refonte du site web.<\/p>\n<p>Depuis ce matin, je teste Dreamweaver, que je n&#8217;aime pas du tout \u00e0 premi\u00e8re vue, c&#8217;est beaucoup moins intuitif que mon bon vieux Namo et promet un apprentissage long et laborieux.<br \/>\nRaison pour laquelle je fouille le web \u00e0 la recherche d&#8217;alternatives WYSIWYG car je suis extr\u00eamement r\u00e9ticent \u00e0 l&#8217;id\u00e9e d&#8217;utiliser un outil de cr\u00e9ation web orient\u00e9 HTML\/CSS car j&#8217;ai bien autre chose \u00e0 faire.<\/p>\n<p>C&#8217;est notre bon TooLs qui m&#8217;a recommand\u00e9 WordPress hier et je suis en train de le configurer pour l&#8217;installer sur mon serveur web, il semble une alternative int\u00e9ressante. J&#8217;ai essay\u00e9 d&#8217;autres programmes, comme Macaw, aussit\u00f4t d\u00e9sinstall\u00e9, \u00e7a va certainement se jouer entre Dreamweaver, WordPress et Webflow.<\/p>\n<p><i>25 septembre 2018<\/i><\/p>\n<p>J&#8217;ai retir\u00e9 des haks les tilesets inutilis\u00e9s pour ne laisser que la tour des mages de Velmar, le winter (aujourd&#8217;hui remplac\u00e9 par un similaire de Bioware) et le CRFM auquel je trouverai de l&#8217;usage quand j&#8217;aurai r\u00e9alis\u00e9 les placeables permettant de masquer les raccords.<br \/>\nLe hak principal est pass\u00e9 de 150 \u00e0 110 Mo.<br \/>\nJ&#8217;ai \u00e9galement cr\u00e9\u00e9 un blueprint pour chaque mod\u00e8le d&#8217;arme sp\u00e9ciale, et \u00e7a en fait un paquet !<\/p>\n<p>J&#8217;ai ajout\u00e9 une qu\u00eate tr\u00e8s sympa \u00e0 la fin du donjon de Draug Anka, \u00e0 la place de la forteresse draconique, ce qui cl\u00f4ture d\u00e9finitivement la remise \u00e0 niveau du module. Me reste \u00e0 \u00e9quilibrer les combats, terminer le 2DA des musiques de base et tester tout le bazar encore une fois.<\/p>\n<p>Le prochain patch devrait arriver tr\u00e8s bient\u00f4t et, c&#8217;est confirm\u00e9, r\u00e8gle le probl\u00e8me de destruction de bases de donn\u00e9es sous Linux.<\/p>\n<p><i>24 septembre 2018<\/i><\/p>\n<p align=\"left\">Apr\u00e8s cinq mois de travail quotidien \u00e0 raison bien souvent de plus de cinq heures par jour, j&#8217;ouvre une nouvelle page qui ne sera plus forc\u00e9ment mise \u00e0 jour en temps r\u00e9el, nous verrons bien ; \u00e9crire les choses me permet souvent de les clarifier dans mon esprit et laisse une trace qui peut me permettre de me souvenir de d\u00e9tails oubli\u00e9s au fil du temps.<\/p>\n<p align=\"left\">Beamdog a annonc\u00e9 qu&#8217;ils sont tr\u00e8s pr\u00e8s de publier un nouveau patch, incluant le sync, soit la mise \u00e0 jour automatique des haks, et des corrections diverses dont celles qu&#8217;ils m&#8217;ont promises, ce qui me permettrait enfin d&#8217;envisager une version simple de la gestion des bases de donn\u00e9es.<\/p>\n<p align=\"left\">J&#8217;attaque Dreamweaver, la refonte du site est ma prochaine priorit\u00e9, uniquement si Dreamweaver me donne les outils graphiques de mise en page comme le fait actuellement Namo, sans quoi je ne refondrai rien du tout, j&#8217;ai autre chose \u00e0 faire que pisser du HTML5.<\/p>\n<p align=\"left\">J&#8217;ai finalement mis en oeuvre le travail r\u00e9alis\u00e9 sur les musiques.<br \/>\nToute zone a en entr\u00e9e oen_ass (\u00e9ventuellement appel\u00e9 par ExecuteScript par le script d&#8217;entr\u00e9e sp\u00e9cifique de la zone), en sortie en oex_zone_clear et udf_generic en udf, \u00e9ventuellement appel\u00e9 aussi par ExecuteScript.<br \/>\nToute zone doit pr\u00e9senter un placeable nomm\u00e9 &#8220;_mzxxxxxxxxxxx&#8221; o\u00f9 xxxxxxxxxxx est le code de musiques possibles pour la zone tel que d\u00e9fini \u00e0 ambientmusic.2da et un objet &#8220;_zonenorest&#8221; si la zone n&#8217;accepte pas le repos. Tag, resref et nom reprennent ces codes, invisibles pour le joueur puisqu&#8217;il s&#8217;agit de placeables statiques mais directement rep\u00e9rables dans l&#8217;\u00e9diteur.<\/p>\n<p><i>23 septembre 2018<\/i><\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-149\" src=\"http:\/\/192.168.1.201\/wordpress\/wp-content\/uploads\/2018\/09\/5month.jpg\" alt=\"\" width=\"225\" height=\"225\" \/><\/p>\n<p>Cinq mois de boulot sur le machin, \u00e7a commence \u00e0 compter !<br \/>\nJe termine Cavenain, probablement aujourd&#8217;hui, peut-\u00eatre m\u00eame Emerald, ce n&#8217;est pas impossible, et j&#8217;aurai tout termin\u00e9 !<\/p>\n<p>Je ne sais pas \u00e0 quoi je vais travailler ensuite&#8230;<br \/>\nRemonter un nouveau perso, introduire les nouvelles qu\u00eates jusque Sadara, peaufiner l&#8217;\u00e9quilibre des combats, refaire le site, je ne sais pas trop.<br \/>\nCe que je sais c&#8217;est que Beamdog n&#8217;est pas encore pr\u00eat \u00e0 publier le prochain patch, je viens de regarder leur stream du 21 septembre, et donc que nous n&#8217;allons pas encore disposer de la mise \u00e0 jour automatique des fichiers haks.<br \/>\nIl me semble raisonnable d&#8217;exclure toute ouverture du serveur au public avant cette mise \u00e0 jour automatique.<br \/>\nEt tout aussi raisonnable d&#8217;\u00eatre pr\u00eats pour le prochain patch, j&#8217;y suis presque et vais vraiment commencer \u00e0 pouvoir respirer !<\/p>\n<p><i>22 septembre 2018<\/i><\/p>\n<p>Malvira \u00e0 Hautes Falaises parle de violite, qu&#8217;il faut aller chercher \u00e0 Cavenain et d&#8217;Ormidel l&#8217;errant au cimeti\u00e8re de Karthay. J&#8217;ai grandement simplifi\u00e9 tout \u00e7a, c&#8217;\u00e9tait trop pointilleux, une mauvaise r\u00e9ponse \u00e0 une conversation et il fallait attendre 3 jours pour retenter sa chance. Lotterie inacceptable aujourd&#8217;hui, si le joueur est l\u00e0 c&#8217;est pour faire quelque chose, pas pour se faire rembarrer.<\/p>\n<p><i>21 septembre 2018<\/i><\/p>\n<p>TooLs a ma\u00eetris\u00e9 le tileset elfique et r\u00e9alis\u00e9 un fort joli prototype de Selfika, c&#8217;est vraiment tr\u00e8s original.<\/p>\n<p>En parlant de tilesets, je vais dynamiter celui tout noir et tout pourri du Temple des marais. Je pensais le retexturer mais c&#8217;est d\u00e9j\u00e0 un retexturage du tileset d&#8217;int\u00e9rieur de chateau, j&#8217;ai bien mieux \u00e0 faire. Me reste \u00e0 redessiner la forteresse draconique pour pouvoir retirer ce tileset des haks.<\/p>\n<p>J&#8217;ai <a href=\"tilesets.htm\">ajout\u00e9 une page<\/a> \u00e0 l&#8217;index du site pr\u00e9sentant tous les tilesets Bioware disponibles, et je me rends compte qu&#8217;il y en a 13 que nous n&#8217;avons jamais utilis\u00e9s, dont 7 qui valent vraiment le coup.<\/p>\n<p>Furiatorus : J&#8217;ai redessin\u00e9 le temple des marais et fait fonctionner la qu\u00eate.<\/p>\n<p>Je suis en train de reconstituer le puzzle des derni\u00e8res qu\u00eates, tu vas voir comme c&#8217;est simple. Si si !<\/p>\n<p>Karthay, les M\u00e9galithes. Trouver l&#8217;entr\u00e9e des cryptes de Haud en hisie &#8211; qui a trouv\u00e9 ce nom, palsembleu ? Un menhir bloque le passage, 1000 points de vie \u00e0 bourriner. Dans les cryptes se trouve le cadavre de Jonathan qui laisse tomber un parchemin sale. Un alchimiste peut le rendre lisible, Beniar au Naturalia de la Xhav\u00e9e, le seul alchimiste elfe du module &#8211; faut d\u00e9j\u00e0 le savoir ! R\u00e9par\u00e9 Naturalia au passage, on ne savait plus y rentrer, \u00e9trange car je l&#8217;avais revue il y a quelques mois. Il faut ensuite trouver Ogorni \u00e0 l&#8217;auberge de Karthay, un marin qui connaissait la soeur de Jonathan, Vivian. Apr\u00e8s \u00eatre all\u00e9 rendre visite \u00e0 Vivian, elle offrira une goutte de son sang pour retourner au sarcophage de son fr\u00e8re et obtenir la r\u00e9compense finale. Ouf !<\/p>\n<p>Me reste \u00e0 d\u00e9plomber la qu\u00eate des errants, avec Ormidel au cimeti\u00e8re de Karthay, et trouver comment parvenir \u00e0 Emerald, et puis j&#8217;ai fini !<\/p>\n<p><i>20 septembre 2018<\/i><\/p>\n<p>57 balais aujourd&#8217;hui.<br \/>\nBon, \u00e7a, c&#8217;est la mauvaise nouvelle.<br \/>\nLa bonne nouvelle, c&#8217;est que ma femme m&#8217;offre une tablette graphique.<br \/>\nC&#8217;est un peu pour \u00e7a que je voulais tout finir avant aujourd&#8217;hui, ce qui ne sera bien s\u00fbr pas le cas, mais pas loin. Je vais mettre la tablette en service ne serait-ce que pour ne pas invalider le retour si elle ne fonctionnait pas, mais je vais patienter encore un peu avant de replonger dans la confection de mod\u00e8les.<\/p>\n<p>J&#8217;ai retrouv\u00e9 l&#8217;autel des arcanes.<br \/>\nEn fait, c&#8217;est la suite de la qu\u00eate du Miroir, dans la zone du magicien troll.<br \/>\nImpossible \u00e0 tester puisqu&#8217;il faut \u00eatre deux et que mon fils est \u00e0 l&#8217;aviron pratiquement tout le temps. Sauf aujourd&#8217;hui o\u00f9 il m&#8217;a dit que l&#8217;anniversaire de son Papa c&#8217;\u00e9tait plus important. C&#8217;est mignon, pourvu que \u00e7a dure !<\/p>\n<p>Corrig\u00e9 un bug de manches invisibles sur les PNJs d&#8217;ambiance.<\/p>\n<p>R\u00e9par\u00e9 la casse d&#8217;objets qui fonctionne \u00e0 nouveau. Oui, je sais, mais c&#8217;est comme \u00e7a.<\/p>\n<p>Corrig\u00e9 un bug infect dans ope_peuplement o\u00f9 je stockais la qu\u00eate \u00e0 proposer sur le partenaire du PNJ charg\u00e9 d&#8217;initier la conversation au lieu du premier PNJ. Maintenant, les joueurs recevront correctement les infos sur toutes les qu\u00eates disponibles. J&#8217;esp\u00e8re que c&#8217;est la derni\u00e8re fois que de dois ouvrir le moteur de qu\u00eates, ce n&#8217;est pas du code sympa !<\/p>\n<p>Corrig\u00e9 un bug dans le syst\u00e8me de loot qui cr\u00e9e une armure invalide si on porte \u00e9quip\u00e9e une armure de qu\u00eate \u00e0 tag non standard ou marqu\u00e9e objet de qu\u00eate, dont la valeur est toujours nulle. Ca sonne compliqu\u00e9 dit comme \u00e7a et, en fait, \u00e7a l&#8217;est. J&#8217;enl\u00e8ve les toutes derni\u00e8res scories qui restent dans les nouveaux syst\u00e8mes d\u00e9velopp\u00e9s depuis que j&#8217;ai repris le module, quand tout cela sera r\u00e9gl\u00e9 je pourrai ne plus me concentrer que sur la cr\u00e9ation de contenu et l&#8217;\u00e9quilibrage.<\/p>\n<p>Ajout\u00e9 le plan\u00e9tarium de Krynn \u00e0 la boutique d&#8217;enchanteur, c&#8217;\u00e9tait l&#8217;endroit id\u00e9al o\u00f9 le mettre, surtout apr\u00e8s avoir os\u00e9 un &#8220;Beam me up, Scotty!&#8221; dans le dialogue du ch&#8217;ti bonhomme.<\/p>\n<p>D\u00e9plac\u00e9 le sanctu de Syrthe hors du chemin de tout, \u00e7a n&#8217;allait pas au march\u00e9. Du coup, j&#8217;ai ajout\u00e9 une option &#8211; rigolote &#8211; \u00e0 la pierre de destin\u00e9e pour se t\u00e9l\u00e9porter chez l&#8217;enchanteur, ce qui fournit un raccourci acceptable vers le march\u00e9.<\/p>\n<p><i>19 septembre 2018<\/i><\/p>\n<p>Le hasard, cette source in\u00e9puisable d&#8217;\u00e9merveillement.<br \/>\nJe n&#8217;\u00e9tais pas satisfait de la routine de d\u00e9tection de passage d&#8217;un joueur devant un rayon de givre dans la crypte de Bahlator et donc je la r\u00e9-\u00e9cris de mani\u00e8re math\u00e9matiquement plus acceptable, sans quoi la mani\u00e8re la plus simple de r\u00e9soudre l&#8217;\u00e9preuve \u00e9tait de courir d&#8217;un bout \u00e0 l&#8217;autre de la salle en esp\u00e9rant que \u00e7a passe.<br \/>\nUne fois le code \u00e9crit, je le teste et, comme j&#8217;ai peu le temps de jouer mon personnage, je me fais le petit plaisir d&#8217;aller au fond du donjon pour ouvrir la r\u00e9compense finale, que j&#8217;ai donc fix\u00e9e \u00e0 quelques objets magiques.<br \/>\nJe me d\u00e9barrasse &#8211; trop &#8211; facilement des undead, je d\u00e9clenche le pi\u00e8ge du coffre et je l&#8217;ouvre.<br \/>\nEt paf ! qu&#8217;y a-t-il dedans ? L&#8217;armure de Bahlator, +4 force, +4 constit. Qu&#8217;est-ce que \u00e7a fait l\u00e0 \u00e7a ?<br \/>\nJe me rends compte que je ne suis pas pass\u00e9 par la minoterie pour entrer et que le code qui remplit le coffre n&#8217;a donc pas pu s&#8217;ex\u00e9cuter, je suis donc d&#8217;autant plus surpris qu&#8217;il y ait quelque chose dans le coffre, et surtout un objet qui porte le nom de la qu\u00eate.<br \/>\nComment est-ce possible ?<br \/>\nJe pars \u00e0 la recherche de cette armure dans les blueprints et je ne trouve rien !<br \/>\nEn fait, l&#8217;armure \u00e9tait simplement d\u00e9pos\u00e9e dans l&#8217;inventaire des ossements, pour que le premier qui fasse la qu\u00eate la prenne et si le module n&#8217;\u00e9tait pas relanc\u00e9 pendant deux mois, personne d&#8217;autre ne pouvait l&#8217;obtenir pendant deux mois.<br \/>\nSeulement voil\u00e0, \u00e0 l&#8217;\u00e9poque le serveur plantait toutes les 20 minutes, c&#8217;\u00e9tait donc une mani\u00e8re de programmer comme une autre : d\u00e9pendre des crashs-serveur pour peupler les coffres de r\u00e9compense !<br \/>\nBon, j&#8217;ai r\u00e9gl\u00e9 le probl\u00e8me, mais \u00e7a m&#8217;a bien fait rire.<\/p>\n<p>D\u00e9tect\u00e9 un bug vicieux : si on essaye de copier un objet \u00e9quip\u00e9 par le joueur dans le cadre des 30% de chances de produire un objet magique que le joueur utilise d\u00e9j\u00e0, le syst\u00e8me peut \u00e9chouer \u00e0 cr\u00e9er une copie d&#8217;un blueprint qui n&#8217;existe peut-\u00eatre plus ! Or, au fil des d\u00e9veloppements, j&#8217;ai d\u00e9truit des centaines de blueprints. J&#8217;inclus un message d&#8217;avertissement de mani\u00e8re que le joueur sache qu&#8217;il vaut mieux d\u00e9truire l&#8217;objet fautif et j&#8217;ai \u00e9crit du code qui tente de reconstituer le blueprint originel de ce type d&#8217;objet pour quand m\u00eame cr\u00e9er l&#8217;objet magique voulu. C&#8217;est test\u00e9, c&#8217;est bon.<\/p>\n<p>La routine de casse des objets s&#8217;enclenche beaucoup trop peu. Mais alors, \u00e7a ou rien c&#8217;est pareil. Les PJs sont aussi devenus trop puissants, c&#8217;\u00e9tait pr\u00e9vu, je m&#8217;occuperai de \u00e7a quand j&#8217;aurai termin\u00e9 de tout remettre en place, c&#8217;est juste de la mise au point.<\/p>\n<p>Qu\u00eate des derguls, pas rencontr\u00e9 de probl\u00e8me majeur, j&#8217;avais d\u00e9j\u00e0 modifi\u00e9 l&#8217;entr\u00e9e pour que les aventuriers trouvent les feux gr\u00e9geois n\u00e9cessaires \u00e0 faire p\u00e9ter l&#8217;amas de rochers, pour lesquels je vais cr\u00e9er un mod\u00e8le sp\u00e9cifique d\u00e8s que possible, c&#8217;est une qu\u00eate majeure du module, elle le m\u00e9rite.<br \/>\nJ&#8217;ai \u00e9galement cr\u00e9\u00e9 les messages d&#8217;aide par la pierre de destin\u00e9e.<\/p>\n<p>Ajout\u00e9 un nouvel objet en vente partout pour \u00e9valuer la valeur d&#8217;un objet, ce qui permettra de d\u00e9duire quelle type de gemme d&#8217;enchantement en retirer.<\/p>\n<p>Bon, l\u00e0, je dois aller v\u00e9rifier la qu\u00eate de l&#8217;autel des arcanes, mais le souci c&#8217;est que je ne suis pas foutu de retrouver o\u00f9 c&#8217;est !<\/p>\n<p><i>18 septembre 2018<\/i><\/p>\n<p>PMT termin\u00e9. J&#8217;ai chang\u00e9 une foule de choses, des petits riens, mais des riens qui ne seraient plus acceptables aujourd&#8217;hui. Par exemple, en arrivant devant la cache du donjoneur, si le joueur n&#8217;a pas 15 en crochetage, d\u00e9samor\u00e7age et recherche, il re\u00e7oit le message &#8220;Tu n&#8217;as pas le talent&#8221; et c&#8217;est marre.<br \/>\nUn peu court non ?<br \/>\nBon, l\u00e0, j&#8217;informe un peu mieux de pourquoi \u00e7a ne passe pas.<br \/>\nJe rends les pi\u00e8ges moins mortels aussi, et donne une chance de les \u00e9viter si le joueur est en mode recherche, d\u00e9j\u00e0 qu&#8217;on ne peut pas se reposer dans le donjon et que les soins sont r\u00e9duits de 90%, je n&#8217;\u00e9tais pas tendre avec les joueurs !<br \/>\nJ&#8217;ai recr\u00e9\u00e9 tout ce qui manquait ou qui \u00e9tait cass\u00e9, et adapt\u00e9 ce qui devait l&#8217;\u00eatre ; tout cela m&#8217;aura pris pr\u00e8s d&#8217;une dizaine d&#8217;heures de travail, ce qui est \u00e9videmment bien trop long pour du vieux contenu et qui explique que je ne reprendrai plus rien de l&#8217;ancien contenu, sauf demande expresse, auquel cas il est vraisemblable que je le reconstruirai de z\u00e9ro, j&#8217;irai plus vite !<br \/>\nEnfin, ce donjon reste bien marrant, \u00e7a valait le coup, je me remets au test des autres qu\u00eates.<br \/>\nCe travail aura n\u00e9anmoins n\u00e9cessit\u00e9 de travailler sur les haks, donc il faut tout recharger, rien de surprenant.<\/p>\n<p>Corrig\u00e9 et ajust\u00e9 le d\u00e9senchantement, les essences de niveau sup\u00e9rieur ne se cr\u00e9aient pas.<\/p>\n<p>Bahlator&#8230; ahh, de vieux souvenirs !<br \/>\nPourquoi la porte ne s&#8217;ouvre-t-elle pas mi\u00e2rdedju !<br \/>\nCa m&#8217;arrangerait de faire deux pas dans le module sans avoir \u00e0 secouer mon \u00e9cran, s\u00e9rieux&#8230;<br \/>\nJ&#8217;ai ajout\u00e9 un tr\u00e9sor dans les ossements de fin de qu\u00eate au lieu de requ\u00e9rir des joueurs qu&#8217;ils matraquent les ossements pour juste obtenir les XPs de qu\u00eate. A 10.000 points de vie les os, \u00e7a c&#8217;est du squelette !<\/p>\n<p><i>17 septembre<\/i><\/p>\n<p>Enorm\u00e9ment de travail professionnel aujourd&#8217;hui, ce sera le service minimum pour le module.<br \/>\nJe suis en train de reprendre les quarante mod\u00e8les que j&#8217;ai jug\u00e9 utile de reprendre des derniers haks, notamment les tours de si\u00e8ge qui se construisent petit \u00e0 petit en fonction de l&#8217;avancement d&#8217;un si\u00e8ge &#8211; je pourrai r\u00e9utiliser cette m\u00e9canique &#8211; et les champs de bl\u00e9 et de citrouilles pour l&#8217;agriculture \u00e0 laquelle je trouverai un usage.<\/p>\n<p>Termin\u00e9 de r\u00e9cup\u00e9rer les mod\u00e8les que je voulais. H\u00e9las, certains sont cass\u00e9s, il leur manque des textures, j&#8217;ai r\u00e9par\u00e9 ce que j&#8217;ai pu, \u00e0 l&#8217;arrache, juste en changeant la r\u00e9f\u00e9rence \u00e0 un bitmap manquant dans le mod\u00e8le par le nom d&#8217;une texture approchante, sans m\u00eame passer par une U-V map, du vrai travail de sagouin, mais \u00e7a passe.<\/p>\n<p>Un client s&#8217;\u00e9tant d\u00e9command\u00e9 1 minute pr\u00e9cise avant son rendez-vous, j&#8217;ai pu programmer un chouette truc pour les leviers de s\u00e9lection des couleurs : ils disposent \u00e0 pr\u00e9sent d&#8217;un inventaire dans lequel on peut placer directement le nombre de pi\u00e8ces d&#8217;or correspondant \u00e0 la couleur que l&#8217;on souhaite, conform\u00e9ment aux tableaux de couleurs que j&#8217;ai publi\u00e9s, et en allant jusque 175 au lieu de 63.<\/p>\n<p>Du coup, je retourne au PMT essayer de le terminer.<\/p>\n<p><i>16 septembre 2018<\/i><\/p>\n<p>Donjon de Vienzyvwar, perdu des heures \u00e0 retrouver un bug caus\u00e9 par un blueprint de cr\u00e9ature qui n&#8217;existait plus. Ca m&#8217;apprendra \u00e0 ne pas syst\u00e9matiquement tester la validit\u00e9 de tout objet cr\u00e9\u00e9 ; pour une fois que je n&#8217;\u00e9cris pas les trois lignes en trop &#8220;au cas o\u00f9&#8221;, et bien cette fois elles \u00e9taient indispensables ; autant hier avait \u00e9t\u00e9 productif autant j&#8217;ai commenc\u00e9 cette journ\u00e9e \u00e0 perdre du temps b\u00eatement.<\/p>\n<p>Mais ce n&#8217;\u00e9tait pas tout ! Je me suis rendu compte en testant le PMT 4 que quelque chose clochait, des statues auraient d\u00fb appara\u00eetre et elles n&#8217;apparaissaient pas. Directement allez voir dans les haks pour me rendre compte que la version de mes propres mod\u00e8les est diff\u00e9rente de ce que j&#8217;ai r\u00e9cup\u00e9r\u00e9 chez Patrick et Bruno. Je nomme syst\u00e9matiquement mes mod\u00e8les en anglais pour ne pas avoir d&#8217;ennuis de caract\u00e8res accentu\u00e9s et ils ont \u00e9t\u00e9 traduits en fran\u00e7ais, ce qui bien s\u00fbr cause des probl\u00e8mes et, en plus, le fichier placeables.2da r\u00e9cup\u00e9r\u00e9 est incorrect et salop\u00e9, re-perte de temps et confirmation que je ne pourrai probablement rien r\u00e9cup\u00e9rer du groupe des 4 derniers modules.<\/p>\n<p>En plus, le grand prix de Singapour \u00e9tait chiant comme un jour de f\u00e9vrier sous la pluie et Vettel a encore brillamment d\u00e9montr\u00e9 son petit niveau sur la piste. La saison prochaine va \u00eatre int\u00e9ressante, pour autant que Leclerc re\u00e7oive le m\u00eame mat\u00e9riel que lui. Je n&#8217;ai rien contre Vettel, mais par contre Hamilton incarne beaucoup de choses que je d\u00e9teste et \u00e7a me fait enrager de lui voir servir le titre sur un plateau d&#8217;argent.<\/p>\n<p>Allez zou, replonger dans les haks, tu crois que je commence \u00e0 conna\u00eetre comment \u00e7a marche ?<\/p>\n<p><i>15 septembre 2018<\/i><\/p>\n<p>Les forgerons apposent \u00e0 pr\u00e9sent leur marque sur leurs objets. Bon, c&#8217;est du basique, juste &#8220;forg\u00e9 par&#8221; \u00e0 la place du nom de l&#8217;objet, mais c&#8217;est une petite touche sympa je trouve. Je ne le fais pas pour l&#8217;alchimie et l&#8217;assemblage parce que le nom de l&#8217;objet est trop important. &#8220;Potion concoct\u00e9e par M45t4kilLl4&#8221; est certes cocasse mais moins informatif que &#8220;Potion de force, toi boire, toi fort&#8221;. En plus, c&#8217;est moins simple que pour la forge, on verra dans le futur, je ne le note m\u00eame pas.<\/p>\n<p>Le loot des monstres appara\u00eet \u00e0 pr\u00e9sent dans un sac nimb\u00e9 d&#8217;un faisceau de lumi\u00e8re. Ouvrir le sac enl\u00e8ve la lumi\u00e8re, marquant ainsi que l&#8217;on a d\u00e9j\u00e0 examin\u00e9 le contenu du sac et qu&#8217;il n&#8217;y a plus lieu d&#8217;y revenir. J&#8217;aimerais cr\u00e9er un effet visuel un peu plus sexy, genre une t\u00eate de mort flottante, et le ferai quand j&#8217;aurai le temps.<br \/>\nDe plus, le sac appara\u00eet \u00e0 la mort du monstre, il ne faut plus attendre que le mob se d\u00e9compose pour voir s&#8217;il l\u00e2che quelque chose ou pas.<\/p>\n<p>R\u00e9duit la dur\u00e9e et la fr\u00e9quence d&#8217;application du sort Peur sur les joueurs. Ca commen\u00e7ait \u00e0 m&#8217;agacer de courir partout pendant 20 secondes \u00e0 r\u00e9p\u00e9tition.<\/p>\n<p>Ajout\u00e9 l&#8217;affichage des s\u00e9parateurs de milliers (le point en fran\u00e7ais) \u00e0 l&#8217;affichage des nombres.<\/p>\n<p>Corrig\u00e9 un bug qui emp\u00eachait d&#8217;obtenir des gemmes d&#8217;enchantement de qualit\u00e9 sup\u00e9rieure \u00e0 1.<\/p>\n<p>V\u00e9rifi\u00e9 le manoir Khar Dula, ajout\u00e9 les aides, corrig\u00e9 les \u00e9normes coquilles, repositionn\u00e9 ce qui devait l&#8217;\u00eatre, refait le livre de qu\u00eate, mis le loot final \u00e0 jour ; bon pour le service.<\/p>\n<p>D\u00e8s qu&#8217;un mineur a obtenu une gemme myrdienne dans une mine, il gagne le droit d&#8217;y revenir par le menu de son pic de mineur. Et donc sans courir une demi-heure \u00e0 travers toutes les zones. Ce &#8216;recall&#8217; d\u00e9guis\u00e9 sera une incitation suppl\u00e9mentaire \u00e0 monter mining puisque le mineur obtient de facto une capacit\u00e9 de d\u00e9placement \u00e0 travers le monde in\u00e9gal\u00e9e.<\/p>\n<p>Correction d&#8217;un bug \u00e0 la teinture, tenter de colorer un emplacement d&#8217;\u00e9quipement vide g\u00e9n\u00e9rait une dague gratuite dans l&#8217;inventaire. Je ne comptais pas chercher la solution de cette bizarrerie aujourd&#8217;hui, mais comme Wildfar me l&#8217;a fait remarquer, je l&#8217;ai r\u00e9gl\u00e9 quand m\u00eame :p<\/p>\n<p>Donjon de Vienzyvwar :<br \/>\nPorte d&#8217;entr\u00e9e ne m\u00e8ne nulle part: r\u00e9par\u00e9.<br \/>\nLes mobs ne repop pas: r\u00e9par\u00e9. Faire gaffe \u00e0 ne pas inclure dans l&#8217;ASSP des mobs d\u00e9pourvus de nw_default7 car le spawn ne se mettra pas \u00e0 jour !<br \/>\nJe passe au deuxi\u00e8me \u00e9tage.<\/p>\n<p><i>14 septembre 2018<\/i><\/p>\n<p>Commen\u00e7ons par le travail productif.<\/p>\n<p>1\u00b0 Les PNJs d&#8217;ambiance \u00e9quip\u00e9s d&#8217;armure, et non de robes, ont tous le m\u00eame code de couleurs, g\u00e9n\u00e9r\u00e9 toutes les dix minutes par le module ce qui permet d&#8217;avoir en m\u00eame temps du changement et de l&#8217;uniformit\u00e9.<\/p>\n<p>2\u00b0 Le talent de recherche n&#8217;est plus n\u00e9cessaire pour d\u00e9tecter les passages secrets, il suffit de se mettre en mode de recherche. Le contenu doit \u00eatre accessible \u00e0 toutes les classes, ce n&#8217;est pas le moment de le restreindre \u00e0 des classes sp\u00e9cifiques. Pourquoi pas aux multiclass\u00e9s moines-sorciers, tant qu&#8217;on y est !<\/p>\n<p>3\u00b0 Roi des ogres et roi des glaces ont \u00e9t\u00e9 int\u00e9gr\u00e9s au syst\u00e8me de conversations pour inviter \u00e0 partir \u00e0 leur recherche.<\/p>\n<p>4\u00b0 Diminu\u00e9 la probabilit\u00e9 qu&#8217;une potion de soins ne fonctionne pas.<\/p>\n<p>5\u00b0 R\u00e9gl\u00e9 l&#8217;Ombre et la Lumi\u00e8re, qui ne fonctionnait plus et adapt\u00e9 la difficult\u00e9, j&#8217;aurais \u00e9t\u00e9 incapable de refaire cette qu\u00eate sans aller voir la solution dans l&#8217;\u00e9diteur, les joueurs de l&#8217;\u00e9poque d&#8217;Althea \u00e9taient vraiment tr\u00e8s dou\u00e9s ! J&#8217;ai ajout\u00e9 des indices \u00e0 la pierre de destin\u00e9e, profitant du nouveau syst\u00e8me qui permet d&#8217;en obtenir o\u00f9 que l&#8217;on se trouve moyennant points d&#8217;exploration. Je ne pourrai \u00e9videmment d\u00e9ployer totalement le syst\u00e8me qu&#8217;en montant un deuxi\u00e8me perso puisque je devrai me poser la question de l&#8217;opportunit\u00e9 de ce syst\u00e8me pour chaque zone.<br \/>\nJ&#8217;ai \u00e9galement ajout\u00e9 une fonction sur la pierre de destin\u00e9e qui permet, toujours moyennant points d&#8217;exploration, de passer une \u00e9tape de qu\u00eate pour laquelle on n&#8217;a pas les qualifications. Dans l&#8217;ombre et la lumi\u00e8re, il fallait faire les poches aux gardiens squelettes pour progresser. N&#8217;ayant pas le talent, je pouvais aller me faire voir. Ce n&#8217;est \u00e9videmment plus acceptable aujourd&#8217;hui, donc en payant 400 points la clef appara\u00eet dans mon sac.<br \/>\nO\u00f9 que le joueur se trouve, si un check impossible est n\u00e9cessaire, la pierre de destin\u00e9e fera le boulot.<\/p>\n<p>Maintenant les sujets qui f\u00e2chent.<br \/>\nLe gars qui a fait le tr\u00e8s travaill\u00e9 set m\u00e9di\u00e9val a laiss\u00e9 tra\u00eener un placeables.2da dans son hak, sans aucune raison apparente, ce qui m&#8217;emp\u00eachait de placer mon propre placeables.2da dans mon dossier override. Encore du temps perdu \u00e0 chercher d&#8217;o\u00f9 venait le probl\u00e8me et du temps perdu \u00e0 refaire tous les haks et les republier sur le site.<br \/>\nA peine ai-je r\u00e9solu ce probl\u00e8me que j&#8217;aper\u00e7ois &#8211; ou plut\u00f4t que je n&#8217;aper\u00e7ois pas &#8211; la porte int\u00e9rieure du temple de Selene qui a mis les voiles, ce qui est sans doute normal vu que c&#8217;\u00e9tait un bout de tissu, mais \u00e7a commence \u00e0 me gonfler s\u00e9rieux, je suis tout doucement en train de me demander si je ne serais pas all\u00e9 plus vite en repartant de z\u00e9ro, je me tra\u00eene un passif qui ressemble tout doucement \u00e0 un boulet !<br \/>\nDu coup, je suis oblig\u00e9 de fouiller dans les haks pour comparer les 2DA de Bioware, ceux d&#8217;Althea et ceux des nouveaux tilesets.<br \/>\nJ&#8217;ai une autre solution tiens : carr\u00e9ment virer le tileset m\u00e9di\u00e9val, je ne l&#8217;aime de toutes fa\u00e7ons pas, il n&#8217;est pas dans le ton des tilesets originaux ce qui ringardise le jeu et il est textur\u00e9 beaucoup trop sombre, l&#8217;ambiance g\u00e9n\u00e9rale de la ville est gris-verd\u00e2tre avec en plus une devanture de boulangerie typiquement allemande, ou polonaise, j&#8217;en sais rien, mais je vais s\u00e9rieusement consid\u00e9rer de d\u00e9gager ce hak.<\/p>\n<p><i>13 septembre 2018<\/i><\/p>\n<p>Pour laisser l&#8217;opportunit\u00e9 \u00e0 d&#8217;anciens joueurs de se connecter au serveur sur un module stable, j&#8217;avais laiss\u00e9 tourner le 079 sur le port 5121 et je testais les modules de d\u00e9veloppement sur le port 5122. J&#8217;aurais d\u00fb me rendre compte plus t\u00f4t que cela allait provoquer des conflits de bases de donn\u00e9es, puisqu&#8217;un objet existe dans chacun des deux modules contenant les donn\u00e9es de la m\u00eame DB, les enregistrements de l&#8217;un ne pouvant qu&#8217;\u00e9craser ceux de l&#8217;autre. Erreur de d\u00e9butant mais c&#8217;est la premi\u00e8re fois que je tombe sur le probl\u00e8me, je dois le garder bien \u00e0 l&#8217;esprit si je venais \u00e0 scinder le module en plusieurs sous-modules : il ne peut exister de r\u00e9f\u00e9rence \u00e0 une m\u00eame DB sur deux modules diff\u00e9rents hormis en lecture seule !<\/p>\n<p>D\u00e9sol\u00e9 pour les anciens, mais je dois fermer le module 079 et ne plus faire tourner que la version de d\u00e9veloppement, ce qui implique la n\u00e9cessit\u00e9 de charger les hakpaks que je serai amen\u00e9 \u00e0 modifier au cours du d\u00e9veloppement. J&#8217;avais pr\u00e9venu, je suis en mode autiste jusqu&#8217;\u00e0 l&#8217;ouverture, j&#8217;ai essay\u00e9 de concilier la ch\u00e8vre et le chou mais c&#8217;\u00e9tait vraiment trop de travail pour moi de g\u00e9rer les haks. Le prochain patch de NWN &#8211; quoi que je sois un peu inquiet de ne plus avoir de nouvelles de Beamdog depuis deux semaines &#8211; apportera cette am\u00e9lioration merveilleuse de t\u00e9l\u00e9charger automatiquement les haks n\u00e9cessaires.<\/p>\n<p>J&#8217;ai ajout\u00e9 des fichiers optionnels \u00e0 placer dans le dossier override, ce sont pour le moment les nouveaux mod\u00e8les d&#8217;\u00e9p\u00e9es et de haches, qui franchement n&#8217;apportent pas grand-chose, je les ai vir\u00e9s des haks et ne les utiliserai plus en ce qui me concerne.<\/p>\n<p>La vari\u00e9t\u00e9 des apparences des objets cr\u00e9\u00e9s par le syst\u00e8me de loot est \u00e0 pr\u00e9sent proportionnelle au niveau du joueur. En clair, un d\u00e9butant aura plus souvent l&#8217;apparence de base d&#8217;un objet et n&#8217;aura jamais les apparences les plus \u00e9lev\u00e9es. Ceci dans l&#8217;esprit d&#8217;\u00e9picer la mont\u00e9e en niveau.<\/p>\n<p>D\u00e9senchanter un objet ne le d\u00e9truit plus, mais efface simplement ses propri\u00e9t\u00e9s magiques, ce qui permet de directement utiliser dessus la gemme d&#8217;enchantement obtenue pour tenter d&#8217;obtenir un meilleur objet. Comme l&#8217;objet sera d\u00e9truit une fois sur 3 pour instabilit\u00e9, c&#8217;est pour le moment une option acceptable, les objets du drop al\u00e9atoire \u00e9tant quand m\u00eame bien pourris ! Je me donne un peu de temps pour d\u00e9terminer si je buff le loot ou pas, il me suffira de modifier un 2DA, preuve que le nouveau syst\u00e8me est une Rolls compar\u00e9 \u00e0 l&#8217;ancien, compl\u00e8tement fig\u00e9.<\/p>\n<p>J&#8217;ai publi\u00e9 deux cartes de couleurs pour \u00e9viter de &#8211; trop &#8211; perdre son temps \u00e0 reluker le mannequin de l&#8217;enchanteur pour choisir ses codes de couleur.<\/p>\n<p><i>12 septembre 2018<\/i><\/p>\n<p>Plusieurs qu\u00eates n&#8217;ont jamais \u00e9t\u00e9 test\u00e9es, j&#8217;essaie de retrouver les entr\u00e9es et j&#8217;y vais. Je me rends aussi compte que le module n&#8217;est pas assez bourrin. Il manque des donjons de base avec paquets de mobs et tr\u00e9sor \u00e0 la fin. Je vais en ajouter.<\/p>\n<p>Les fragments d&#8217;essence myrdienne tombent \u00e0 pr\u00e9sent &#8211; rarement &#8211; dans les tr\u00e9sors de cartes.<\/p>\n<p>Un nouvel objet, le bac \u00e0 teinture, est en vente aupr\u00e8s des marchands et est inclus dans la liste des objets de loot. Il permet d&#8217;appliquer \u00e0 son armure\/casque le sch\u00e9ma de couleurs s\u00e9lectionn\u00e9es chez l&#8217;enchanteur.<\/p>\n<p>La p\u00eache est remise dans le jeu au gu\u00e9 de Syrthe, une note de carte l&#8217;indique. Un peu statique comme syst\u00e8me, mais il y a plus urgent.<\/p>\n<p>Corrections et mises au point diverses.<\/p>\n<p><i>11 septembre 2018<\/i><\/p>\n<p>17 ans. Je me souviens ; quand Sophie, une coll\u00e8gue, m&#8217;avait dit, \u00e9berlu\u00e9e, qu&#8217;un avion s&#8217;\u00e9tait \u00e9cras\u00e9 sur le World Trade Center, que je connaissais pour y \u00eatre all\u00e9, je n&#8217;avais rien compris de ce qu&#8217;elle me disait. Le fait qu&#8217;elle f\u00fbt flamande n&#8217;y \u00e9tait pour rien : je ne pouvais juste pas comprendre pareille \u00e9normit\u00e9, j&#8217;ai marmonn\u00e9 une banalit\u00e9 et suis retourn\u00e9 \u00e0 mon bureau ; j&#8217;\u00e9tais chef de projet \u00e0 l&#8217;\u00e9poque, la derni\u00e8re \u00e9tape de ma carri\u00e8re d&#8217;informaticien.<br \/>\nEn rentrant le soir en voiture, dans les interminables embouteillages du ring de Bruxelles, la radio d\u00e9bitait en boucle les m\u00eames informations, mais c&#8217;est seulement en arrivant chez moi \u00e0 Li\u00e8ge, quand j&#8217;ai vu les images de la catastrophe, r\u00e9p\u00e9t\u00e9es sur toutes les cha\u00eenes, que j&#8217;ai commenc\u00e9 \u00e0 comprendre.<br \/>\nJ&#8217;avais beaucoup d&#8217;amis am\u00e9ricains \u00e0 l&#8217;\u00e9poque, ils \u00e9taient an\u00e9antis. C&#8217;\u00e9tait la premi\u00e8re fois, il est vrai, que la guerre, qu&#8217;ils ne rechignaient pas \u00e0 conduire partout o\u00f9 ils le jugeaient bon, se d\u00e9cha\u00eenait sur leur propre territoire. Cela ne les a, h\u00e9las, pas raisonn\u00e9s, Bush allait se charger de d\u00e9montrer pour quelles raisons tant d&#8217;inconnus ha\u00efssent les \u00c9tats-Unis. Et me fournir le sujet de mon premier roman &#8211; \u00e9puis\u00e9 et mon \u00e9diteur a fait faillite, pas la peine de chercher un exemplaire !<\/p>\n<p>Soit.<br \/>\nJ&#8217;aurai termin\u00e9 aujourd&#8217;hui la mise au point de tout ce que j&#8217;avais pr\u00e9vu de programmer.<br \/>\nJ&#8217;en suis d\u00e9j\u00e0 \u00e0 la version 086 du module alors que le serveur fait toujours tourner la 079, mais je ne suis pas certain de publier un nouveau module avant d&#8217;avoir bien avanc\u00e9 dans mes tests avec Marcel.<br \/>\nCe qui est certain, c&#8217;est que le d\u00e9veloppement de l&#8217;histoire qui va conduire les joueurs jusque Sadara va reprendre bient\u00f4t.<br \/>\nComme je l&#8217;ai indiqu\u00e9, je ne compte publier une nouvelle version que quand je me sentirai en position suffisamment confortable. Programmer et debugger en m\u00eame temps c&#8217;est trop lourd et je dois encore mettre un gros coup pour ma\u00eetriser Dreamweaver et publier un nouveau site, ce que nous avons pour le moment a le m\u00e9rite d&#8217;aller \u00e0 l&#8217;essentiel, mais la pr\u00e9sentation est quand m\u00eame bien pourrie !<\/p>\n<p><i>10 septembre 2018<\/i><\/p>\n<p>Trouv\u00e9 un bug qui dormait depuis quinze ans dans le code, il \u00e9tait possible de fabriquer n&#8217;importe quel objet demandant deux composants diff\u00e9rents en ne fournissant que le premier. Je me demande comment ce genre de b\u00eatise n&#8217;a pas \u00e9t\u00e9 d\u00e9tect\u00e9 \u00e0 l&#8217;\u00e9poque, mais soit, c&#8217;est la nature des bugs, une simple erreur dans le nom d&#8217;une variable et c&#8217;est la porte ouverte \u00e0 n&#8217;importe quoi, je me demande combien l&#8217;auront exploit\u00e9 !<\/p>\n<p>En d\u00e9buggant l&#8217;assemblage, je me rends compte &#8211; il \u00e9tait presque temps ! &#8211; \u00e0 quel point le debugging peut \u00eatre fastidieux sur NWN. Pour trouver le bug que je cherche \u00e0 l&#8217;instant &#8211; les robes en soie ne se fabriquent pas &#8211; je pars d&#8217;un script de conversation, at_art_soierobe, qui appelle la librairie inc_art_assemble propre \u00e0 l&#8217;assemblage, qui appelle la librairie inc_artisanat qui regroupe les fonctions communes \u00e0 tous les artisanats. NWN n&#8217;a &#8211; \u00e9videmment pas &#8211; de debugger puisqu&#8217;il n&#8217;a jamais \u00e9t\u00e9 pr\u00e9vu pour cr\u00e9er des scripts de plus de cinquante lignes, je suis donc contraint de semer du code qui teste les variables de plus en plus pr\u00e8s de la source du bug en devant chaque fois recompiler l&#8217;ensemble des librairies et scripts impliqu\u00e9s.<br \/>\nCa prend un temps con.<br \/>\nC&#8217;est surtout pour \u00e7a que je passe des journ\u00e9es \u00e0 mettre le module au point alors qu&#8217;il ne me faut g\u00e9n\u00e9ralement que quelques heures pour \u00e9crire un syst\u00e8me de jeu.<br \/>\nIci, par exemple, j&#8217;avais une condition qui attendait la cha\u00eene de caract\u00e8res &#8220;MSL&#8221; alors que l&#8217;objet \u00e9tait d\u00e9fini comme &#8220;MLS&#8221;. Deux caract\u00e8res invers\u00e9s, une heure de perdue.<\/p>\n<p>Soit, j&#8217;ai termin\u00e9 l&#8217;adaptation de l&#8217;assemblage, je travaille \u00e0 un nouveau syst\u00e8me de jeu qui permet de d\u00e9finir son ensemble de couleurs pr\u00e9f\u00e9r\u00e9. \u00c9quiper une armure ou un casque lui applique automatiquement les couleurs de tissu, cuir et m\u00e9tal choisies par le joueur aupr\u00e8s de l&#8217;enchanteur de Syrthe.<br \/>\nSix leviers font leur apparition, deux pour les couleurs du tissu, deux pour le cuir et deux pour le m\u00e9tal. Le mannequin refl\u00e8te en temps r\u00e9el les couleurs choisies. Une cha\u00eene \u00e0 tirer enregistre le sch\u00e9ma des six couleurs de mani\u00e8re permanente. Chaque fois que le joueur ira tirer la cha\u00eene &#8211; on peut imaginer dans le futur des gemmes transportables qui font la m\u00eame chose &#8211; son style de couleurs sera appliqu\u00e9 \u00e0 son \u00e9quipement.<\/p>\n<p>Toujours chez l&#8217;enchanteur, deux nouvelles machines:<br \/>\n1\u00b0 L&#8217;extracteur d&#8217;essences : tout objet magique d&#8217;une valeur sup\u00e9rieure \u00e0 20.000 pi\u00e8ces d&#8217;or est transform\u00e9 en gemme d&#8217;enchantement. Il en existe de 5 types, de plus en plus puissantes.<br \/>\n2\u00b0 Le manipulateur d&#8217;essences : placer une gemme d&#8217;enchantement et un objet dans la machine ajoute si possible un enchantement \u00e0 l&#8217;objet, ou recharge un sceptre ou une baguette.<\/p>\n<p>Enfin, et \u00e7a fait beaucoup de choses pour une journ\u00e9e de travail, j&#8217;ai cr\u00e9\u00e9 un tablier d&#8217;artisan que l&#8217;on trouve dans le coffre de fin du cloaque. Il donne +50 dans les comp\u00e9tences d&#8217;artisanat de NWN, ce qui m&#8217;\u00e9vite de reprogrammer les modifications d&#8217;armure, ainsi que de menus avantages. Et surtout, il ressemble \u00e0 un vrai tablier, ras le bol de faire de l&#8217;alchimie en full plate !<\/p>\n<p><i>09 septembre 2018<\/i><\/p>\n<p>Show a\u00e9rien \u00e0 Kleine Brogel aujourd&#8217;hui, je continue \u00e0 travailler sur la modification de l&#8217;assemblage et \u00e7a se passe bien, c&#8217;est plus simple que pr\u00e9vu.<br \/>\nJe me contente de fixer des propri\u00e9t\u00e9s caract\u00e9ristiques sur les objets qui demandent des compos rares et d&#8217;enchanter tout ce qui peut l&#8217;\u00eatre.<br \/>\nC&#8217;est finalement plus facile que la forge, j&#8217;aurai rapidement termin\u00e9.<\/p>\n<p>Finalement, nous sommes all\u00e9s faire une s\u00e9ance de shooting au dolmen de W\u00e9ris parce que j&#8217;avais achet\u00e9 les tickets pour le meeting de samedi et que ma tendre \u00e9pouse a insist\u00e9 pour que nous y allions dimanche. Le temps de se rendre compte de sa m\u00e9prise, nous \u00e9tions samedi soir. Consternation, pas grave, nous irons l&#8217;ann\u00e9e prochaine.<br \/>\nJ&#8217;en ai profit\u00e9 pour prendre une journ\u00e9e de cong\u00e9 de Myrda et monter mon moine niveau 119 sur WoW.<\/p>\n<p><i>08 septembre 2018<\/i><\/p>\n<p>Forge termin\u00e9e, je travaille sur l&#8217;assemblage.<br \/>\nJe ne me rendais plus compte qu&#8217;on pouvait fabriquer tout \u00e7a !<br \/>\nIl y a un peu de travail.<br \/>\nPour changer.<br \/>\nMais c&#8217;est bient\u00f4t fini, je vais pouvoir revenir au testing proprement dit, puis reprendre le d\u00e9veloppement.<\/p>\n<p><i>07 septembre 2018<\/i><\/p>\n<p>Je vais \u00eatre franc : j&#8217;en ai ras la casquette, je code comme un malade depuis trois semaines. L&#8217;artisanat est un \u00e9cheveau complexe, modifier tout ce bazar pour le rendre compatible avec la nouvelle librairie de cr\u00e9ation\/enchantements d&#8217;objets est un casse-t\u00eate ; non seulement je dois avoir \u00e0 l&#8217;esprit une multitude de fragments de code &#8211; c&#8217;est li\u00e9 \u00e0 la structure en scripts\/conversations \u00e9clat\u00e9s de Bioware &#8211; mais en plus au fil des ann\u00e9es des particularit\u00e9s ont fait leur apparition, comme les armures en verdanite\/violite et les armes de roi.<\/p>\n<p>Le bon c\u00f4t\u00e9 de la chose, c&#8217;est que le nouveau code est grandement simplifi\u00e9 &#8211; je puise les informations dans myrdaloot.2DA au lieu de les hard-coder &#8211; et que je peux d\u00e9truire le bazillon de blueprints que j&#8217;avais d\u00fb cr\u00e9er pour chaque arme\/armure\/objet de chaque qualit\u00e9, soit 8 fois&#8230; euh&#8230; un bon paquet.<br \/>\nL&#8217;ennui, c&#8217;est que quand je vais devoir tester tout \u00e7a, j&#8217;ai toutes les chances de ramasser les bugs \u00e0 la pelle.<\/p>\n<p>Tout ce travail \u00e9tait-il n\u00e9cessaire ?<br \/>\nNon si nous avions conserv\u00e9 l&#8217;approche AD&amp;D pure et dure d&#8217;Althea avec une limite au +5, oui si Myrda veut \u00e9voluer vers ce qui se fait de plus moderne en mati\u00e8re de jeux en ligne.<br \/>\nLa question ne se pose donc pas : je n&#8217;avais pas le choix.<br \/>\nLe syst\u00e8me d&#8217;Althea \u00e9tait bon, mais tout \u00e9tait fig\u00e9 dans les blueprints, apparences et propri\u00e9t\u00e9s, impossible de rien cr\u00e9er dynamiquement et d\u00e9vier de la limite au +5 aurait tout fait s&#8217;\u00e9crouler comme un ch\u00e2teau de cartes.<br \/>\nLe nouveau syst\u00e8me est plus riche, plus flexible, plus \u00e9volutif, plus simple.<br \/>\nLes joueurs pourront obtenir d&#8217;une m\u00eame qu\u00eate des loots diff\u00e9rents, toujours adapt\u00e9s \u00e0 leur niveau, ce qui permet de recycler le contenu. La qualit\u00e9 des objets d\u00e9pend de la difficult\u00e9 de se les procurer. Les armes de roi permettent des sacrifices pour obtenir des artefacts prodigieux. Les cartes au tr\u00e9sor procurent des objets rarissimes. Les joueurs peuvent d\u00e9sassembler les objets magiques pour en retirer l&#8217;essence puis la recombiner pour produire de nouveaux effets. Tous les objets peuvent prendre des apparences et des sch\u00e9mas de couleurs personnalis\u00e9s. Les artisans peuvent apposer leur marque de fabrique sur leur production. Je suis s\u00fbr d&#8217;oublier des trucs, nous allons disposer du syst\u00e8me de loot le plus performant que j&#8217;aie rencontr\u00e9 sur aucun jeu et si de nouvelles id\u00e9es apparaissent, elles seront faciles \u00e0 impl\u00e9menter sans risquer de tout casser.<\/p>\n<p>Donc oui, il fallait passer par l\u00e0, mais bon sang que j&#8217;en ai marre ! Coder c&#8217;est fastidieux, surtout dans Neverwinter qui n&#8217;a clairement jamais \u00e9t\u00e9 pr\u00e9vu pour faire ce que des tar\u00e9s dans mon genre en font ! A la base, c&#8217;est un cr\u00e9ateur d&#8217;aventures fa\u00e7on campagne officielle, rien de plus, rien de moins. D\u00e9voyer ce moteur pour en faire le support d&#8217;un univers persistant avec syst\u00e8mes de jeu et cr\u00e9ations 3D sur mesure, c&#8217;est un peu optimiste !<br \/>\nQuand je pense que quand j&#8217;aurai fini tout \u00e7a je vais probablement tout recommencer \u00e0 z\u00e9ro sous Unreal Engine&#8230; mais l\u00e0, on verra, les inconnues sont nombreuses.<\/p>\n<p><i>06 septembre 2018<\/i><\/p>\n<p>&#8220;Pour \u00a0voir&#8221;, j&#8217;ai cr\u00e9\u00e9 une copie de ce brave Marcel, que j&#8217;ai pass\u00e9 en hostile, et nous nous sommes gentiment frit\u00e9s. Je n&#8217;ai pas gagn\u00e9 \u00e0 tous les coups, le combat \u00e9tait donc \u00e9quilibr\u00e9 et se r\u00e9sumait pratiquement \u00e0 qui assommerait l&#8217;autre le premier.<br \/>\nJe me demande s&#8217;il ne serait pas judicieux, pour obtenir des combats int\u00e9ressants, de partir d&#8217;un principe \u00e9quivalent : copier un personnage joueur pour le transformer en monstre de m\u00eame niveau et modifier son arme et son apparence.<br \/>\nPartant de l\u00e0, je peux baisser la puissance du monstre en lui donnant une arme moins bonne, en diminuant le nombre de ses sorts, son armure et ses caract\u00e9ristiques, comme je peux le rendre plus puissant par la m\u00eame m\u00e9thode.<br \/>\nJe vais r\u00e9fl\u00e9chir \u00e0 \u00e7a dans les jours qui viennent, c&#8217;est peu de travail et tr\u00e8s efficace, je pense \u00e0 cela depuis longtemps, je crois que le temps est venu d&#8217;impl\u00e9menter cette librairie de fonctions de g\u00e9n\u00e9ration de monstres, elle rendra l&#8217;univers plus vivant et les d\u00e9fis plus int\u00e9ressants.<br \/>\nDe toutes fa\u00e7ons, il m&#8217;est impossible d&#8217;attaquer les instances de raid sans ce type de librairie.<\/p>\n<p>Aujourd&#8217;hui je travaille sur le produit de l&#8217;artisanat pour le mettre en ligne avec ce qu&#8217;on loot en donjon et sur les mobs. C&#8217;\u00e9tait une des raisons principales de la refonte compl\u00e8te du syst\u00e8me de loot\/enchantement : puisque nous allons maintenant jusqu&#8217;\u00e0 l&#8217;\u00e9quipement +20 au lieu du +5 d&#8217;Althea, tout devait \u00eatre revu de fond en comble.<\/p>\n<p><i>05 septembre 2018<\/i><\/p>\n<p>Il appara\u00eet de plus en plus n\u00e9cessaire de cr\u00e9er mon propre syst\u00e8me de challenge rating. Celui de Bioware est excellent mais ne convient pas pour Myrda en raison de la puissance exceptionnelle des joueurs.<\/p>\n<p><span style=\"font-size: small;\">The challenge rating of a creature is calculated using many sources, most notably <\/span><a title=\"Hit dice\" href=\"http:\/\/nwn.wikia.com\/wiki\/Hit_dice\"><span style=\"font-size: small;\">hit dice<\/span><\/a><span style=\"font-size: small;\"> (HD). The additive CR is calculated by multiplying a sum by the racial challenge rating modifier, obtained from the &#8220;CRModifier&#8221; column of the row for the creature&#8217;s race in <\/span><a title=\"Racialtypes.2da\" href=\"http:\/\/nwn.wikia.com\/wiki\/Racialtypes.2da\"><span style=\"font-size: small;\">racialtypes.2da<\/span><\/a><span style=\"font-size: small;\">. The sum in question is of the following: <\/span><\/p>\n<ul type=\"disc\">\n<li><span style=\"font-size: small;\">HD * 0.15 <\/span><\/li>\n<li><span style=\"font-size: small;\">(natural <\/span><a title=\"Armor class\" href=\"http:\/\/nwn.wikia.com\/wiki\/Armor_class\"><span style=\"font-size: small;\">armor class<\/span><\/a><span style=\"font-size: small;\"> modifier) * 0.1 <\/span><\/li>\n<li><span style=\"font-size: small;\">[(total value of inventory items, excluding creature <\/span><a title=\"Inventory slot\" href=\"http:\/\/nwn.wikia.com\/wiki\/Inventory_slot\"><span style=\"font-size: small;\">slots<\/span><\/a><span style=\"font-size: small;\">) \/ (HD * 20,000 + 100,000) ] * 0.2 * HD <\/span><\/li>\n<li><span style=\"font-size: small;\">[ (<\/span><a title=\"Hit point\" href=\"http:\/\/nwn.wikia.com\/wiki\/Hit_point\"><span style=\"font-size: small;\">hit points<\/span><\/a><span style=\"font-size: small;\"> before constitution and feat bonuses) \/ (average hit points) ] * 0.2 * HD * (creature walk rate) \/ (<\/span><a title=\"Player character\" href=\"http:\/\/nwn.wikia.com\/wiki\/Player_character\"><span style=\"font-size: small;\">player character<\/span><\/a><span style=\"font-size: small;\"> walk rate) <\/span><\/li>\n<li><span style=\"font-size: small;\">[ (total of <\/span><a title=\"Ability score\" href=\"http:\/\/nwn.wikia.com\/wiki\/Ability_score\"><span style=\"font-size: small;\">ability scores<\/span><\/a><span style=\"font-size: small;\"> before racial and other modifiers) \/ (HD + 50) ] * 0.1 * HD <\/span><\/li>\n<li><span style=\"font-size: small;\">[ (total of <\/span><a title=\"Innate level\" href=\"http:\/\/nwn.wikia.com\/wiki\/Innate_level\"><span style=\"font-size: small;\">innate levels<\/span><\/a><span style=\"font-size: small;\"> of special abilities) \/ (HD + 6) ] * 0.15 <\/span><\/li>\n<li><span style=\"font-size: small;\">[ (total of innate levels of usable spells) \/ (HD + 1) ] * 0.15 <\/span><\/li>\n<li><span style=\"font-size: small;\">[ (innate <\/span><a title=\"Saving throw\" href=\"http:\/\/nwn.wikia.com\/wiki\/Saving_throw\"><span style=\"font-size: small;\">save<\/span><\/a><span style=\"font-size: small;\"> modifiers) \/ (base saves) + 1 ] * 0.15 * HD <\/span><\/li>\n<li><span style=\"font-size: small;\">[ (total of CR values of possessed feats) \/ (HD * 0.5 + 7) ] * 0.1 * HD <\/span><\/li>\n<\/ul>\n<p>Ceci laisse clairement appara\u00eetre que jamais je ne pourrai avoir de combat \u00e9quilibr\u00e9 entre une cr\u00e9ature de CR 20 et un joueur de niveau 20. A l&#8217;heure actuelle, un joueur de niveau 20 va \u00e9crabouiller une bestiole 20. Par exemple, Sombrevoile avait un challenge rating de 249 avec son mage 20\/pr\u00eatre 20 et Marcel au niveau 19 lui oppose une r\u00e9sistance farouche, il en viendrait \u00e0 bout si elle n&#8217;invoquait pas de balors \u00e0 tour de bras.<br \/>\nCela n&#8217;a aucun sens.<br \/>\nD\u00e8s que j&#8217;aurai termin\u00e9 toute la refonte des objets magiques, ce qui pourrait fort bien \u00eatre accompli cette semaine, je pense me pencher en urgence sur ce probl\u00e8me, car il est apparu clairement que je ne peux pas donner de loot appropri\u00e9 sans conna\u00eetre la r\u00e9elle difficult\u00e9 du combat.<br \/>\nCe qui va se produire si je ne change rien, c&#8217;est que les joueurs conna\u00eetront tr\u00e8s vite les zones remplies des mobs les plus puissants qui ne repr\u00e9sentent pas de danger pour eux et vont s&#8217;y rassembler pour ramener des brouettes d&#8217;objets magiques.<br \/>\nCe qui, en soi, est fun, mais irr\u00e9aliste.<br \/>\nCette question m&#8217;empoisonnait d\u00e9j\u00e0 la vie \u00e0 l&#8217;\u00e9poque d&#8217;Althea, je vais tordre le cou une bonne fois pour toutes \u00e0 cette difficult\u00e9 d\u00e8s que possible.<br \/>\nLe loot (et les XPs qui seront <b>enfin<\/b> li\u00e9s) tombera sans aucun modificateur artificiel, en fonction de la difficult\u00e9 r\u00e9elle du combat.<br \/>\nLes \u00e9l\u00e9ments que je vais utiliser se baseront sur la diff\u00e9rence entre points de vie, points de caract\u00e9ristiques, armure, niveaux de sorts, nombre d&#8217;attaques, familiers, etc.<\/p>\n<p>Au chapitre de l&#8217;int\u00e9gration du code de g\u00e9n\u00e9raton de loot, j&#8217;ai d\u00e9truit plusieurs librairies et, entre autres, les objets sp\u00e9ciaux de type Silfenis. Je simplifie \u00e9norm\u00e9ment le code pour ne plus faire appel qu&#8217;\u00e0 une seule librairie : inc_loot qui g\u00e8re la cr\u00e9ation d&#8217;objets, leur enchantement, les drops de loot normal et sp\u00e9cial.<br \/>\nCe n&#8217;est pas trop rigolo car je risque \u00e0\u00a0chaque instant de casser quelque chose qui marche, d&#8217;o\u00f9 la n\u00e9cessit\u00e9 de finir de tester tout le module avec Marcel d\u00e8s que j&#8217;ai fini ce travail et puis de recommencer un nouveau perso pour tout re-tester une fois encore.<br \/>\nLe r\u00e9sultat final sera un syst\u00e8me de loot plus passionnant et surtout infiniment plus facile \u00e0 mettre en oeuvre. Je pourrai \u00e9galement me d\u00e9faire de pratiquement tous les blueprints d&#8217;artisanat ce qui va \u00e9galement g\u00e9n\u00e9rer une simplification consid\u00e9rable.<br \/>\nJe ne conserve plus en blueprints, avantageux parce qu&#8217;ils sont directement manipulables mais ennuyeux parce qu&#8217;ils figent l&#8217;univers de jeu, que les objets rares de l&#8217;artisanat et du loot que je ne peux automatiser, comme les statues de repos, les charmes et des choses comme \u00e7a, par essence fig\u00e9es.<\/p>\n<p><i>04 septembre 2018<\/i><\/p>\n<p>Rentr\u00e9e des classes.<br \/>\nNous avons quand m\u00eame pu terminer le dolmen r\u00e9alis\u00e9 sous Blender, Maxime et moi. Nous avons \u00e9norm\u00e9ment appris de l&#8217;exercice, les pierres sont magnifiquement textur\u00e9es et tout ce qui n&#8217;est pas parfait dans l&#8217;objet tient de notre inexp\u00e9rience. C&#8217;est que c&#8217;est un m\u00e9tier, la conception 3D !<\/p>\n<p>Au programme d&#8217;aujourd&#8217;hui, l&#8217;int\u00e9gration du nouveau syst\u00e8me d&#8217;enchantement dans le loot de chasse, le loot de chasse au tr\u00e9sor, l&#8217;artisanat et les objets de qu\u00eate.<\/p>\n<p><i>03 septembre 2018<\/i><\/p>\n<p>Je me suis demand\u00e9 pendant des ann\u00e9es s&#8217;il existait une alternative \u00e0 NWN en mati\u00e8re de world builder. J&#8217;avais fait des recherches, sans rien trouver, les rares r\u00e9f\u00e9rences comme Big World \u00e9taient lourdes et ch\u00e8res.<br \/>\nJe ne sais par quel intuition je suis all\u00e9 chercher des informations sur l&#8217;Unreal Engine 4 et j&#8217;ai appris qu&#8217;il est gratuit. Que des quantit\u00e9s impressionnantes de biblioth\u00e8ques existent pour construire son propre univers avec des plugins pour faire tout et n&#8217;importe quoi, en ce compris la connexion base de donn\u00e9es.<br \/>\nEt puis la r\u00e9alit\u00e9 m&#8217;a rattrap\u00e9 : NWN permet de cr\u00e9er une ville, une campagne ou un donjon en quelques minutes, ne reste plus qu&#8217;\u00e0 y ajouter ce qui fait la qualit\u00e9 d&#8217;un jeu, bien plus que de superbes graphiques auxquels on s&#8217;habitue en moins de deux jours : le gameplay.<\/p>\n<p>Nous avons, en famille, achet\u00e9 la derni\u00e8re extension de WoW \u00e0 laquelle nous jouons depuis plus de dix ans. C&#8217;est tr\u00e8s beau. Mais alors, vraiment tr\u00e8s beau.<br \/>\nCela dit, c&#8217;est aussi un foutage de gueule ehont\u00e9 : il n&#8217;y a rien de nouveau \u00e0 faire depuis des ann\u00e9es, les d\u00e9veloppeurs sont d\u00e9pourvus de toute cr\u00e9ativit\u00e9 autre que graphique et m\u00eame un jeu de vingt ans d&#8217;\u00e2ge comme Ultima Online pr\u00e9sente des possibilit\u00e9s qui n&#8217;existeront jamais dans WoW : possibilit\u00e9 de dompter une vari\u00e9t\u00e9 insens\u00e9e de cr\u00e9atures, dont les dragons, qui \u00e9voluent avec leur ma\u00eetres au fil de leurs aventures, chasses au tr\u00e9sor, construction modulaire de sa propre maison, d\u00e9corations de maison r\u00e9parties dans le monde, bardes capables de charmer, calmer, affaiblir l&#8217;ennemi, artisanat utile, vendeurs personnels et j&#8217;en passe.<br \/>\nUO est en VGA, et quand nous y retournons, nous n&#8217;y pr\u00eatons pas attention, les graphismes ne sont que le support de l&#8217;aventure, pas sa finalit\u00e9.<\/p>\n<p>Je ne suis pas loin de penser que plus les jeux modernes sont beaux, plus ils sont creux.<\/p>\n<p>C&#8217;est au point que je m&#8217;interroge sur l&#8217;opportunit\u00e9 d&#8217;utiliser les nouveaux tilesets de NWN, absolument magnifiques mais qui d\u00e9valorisent tout le reste du contenu graphique du jeu en le ridiculisant et n&#8217;apportent finalement qu&#8217;un \u00e9tonnement rapidement \u00e9vanoui.<\/p>\n<p>Bref, je reste convaincu que l&#8217;environnement de NWN, vieux de 15 ans, est parfaitement adapt\u00e9 \u00e0 la cr\u00e9ation personnalis\u00e9e d&#8217;univers de jeu par de petites \u00e9quipes et avant de changer les tilesets ou de penser \u00e0 cr\u00e9er quelque chose sous Unreal &#8211; ce qui je peux parfaitement r\u00e9aliser &#8211; je compte bien terminer tout ce qui est en chantier pour Myrda d&#8217;abord.<\/p>\n<p>Pour le moment, l&#8217;enchantement. J&#8217;en suis au dez &#8211; faudra que je trouve un terme plus rp &#8211; et je termine par la cr\u00e9ation de loot sur les mobs et par l&#8217;artisanat.<\/p>\n<p><i>02 septembre 2018<\/i><\/p>\n<p>Faut vraiment que je me mette \u00e0 Dreamweaver, le site est une honte.<br \/>\nSoit, je m&#8217;arrange avec la honte, je traite directement comme disait Coluche, je patienterai encore un peu avant de go\u00fbter aux joies du HTML5.<\/p>\n<p>Je suis tomb\u00e9 sur un tr\u00e8s gros probl\u00e8me dans les routines d&#8217;enchantement, je ne m&#8217;\u00e9tais pas rendu compte, par un f\u00e2cheux concours de circonstances, qu&#8217;il m&#8217;\u00e9tait impossible d&#8217;enlever les propri\u00e9t\u00e9s magiques d&#8217;un objet avant d&#8217;en placer de nouvelles, car enlever des propri\u00e9t\u00e9s ne prend pas effet avant la fin de l&#8217;ex\u00e9cution d&#8217;un script et donc, chaque fois que je copie l&#8217;objet pour en changer l&#8217;apparence, je copie un objet toujours pourvu de ses propri\u00e9t\u00e9s anciennes. En un mot comme en cent, je l&#8217;ai dans l&#8217;os.<br \/>\nJe me suis dit que ce n&#8217;\u00e9tait pas grave, qu&#8217;il me suffisait de cr\u00e9er les blueprints des objets qui n&#8217;existent pas dans le jeu de base sans enchantement &#8211; comme les capes, elles sont toutes magiques &#8211; et c&#8217;est ce que j&#8217;ai failli faire avant de me rendre compte que cette technique m&#8217;emp\u00eacherait de partir d&#8217;un objet \u00e9quip\u00e9 par le joueur &#8211; les fameux 30% de chances de looter un objet du m\u00eame type que celui qu&#8217;on utilise &#8211; puisque ces objets sont forc\u00e9ment magiques et donc ind\u00e9senchantables &#8211; cool comme n\u00e9ologisme.<br \/>\nAlors que faire ? pass\u00e9e la phase de lamentation suivie de la non moins rituelle bord\u00e9e d&#8217;insultes \u00e0 l&#8217;adresse des d\u00e9veloppeurs de Bioware &#8211; sans qui rien de ceci ne serait possible, qu&#8217;ils soient b\u00e9nis.<br \/>\nR\u00e9fl\u00e9chir et trouver une solution.<br \/>\nDans un m\u00eame script je cr\u00e9e l&#8217;objet, qui est toujours une copie d&#8217;un objet du joueur ou de base dans le jeu, puis je lance un executescript qui va effacer l&#8217;objet et lui rendre un nom g\u00e9n\u00e9rique et toujours dans le m\u00eame script je conclus par un appel \u00e0 la routine d&#8217;enchantement. Et voil\u00e0 ! Tout s&#8217;ex\u00e9cute dans un seul script avec juste une indirection au milieu.<\/p>\n<p>J&#8217;ai jet\u00e9 les bases du d\u00e9senchantement, mais avant de le terminer je conclus les routines de cr\u00e9ation d&#8217;objets de qu\u00eate.<br \/>\nJ&#8217;ai deux solutions, soit je cr\u00e9e le blueprint de l&#8217;objet dans le module et lui applique les enchantement propres \u00e0 la qu\u00eate, soit j&#8217;\u00e9cris un code g\u00e9n\u00e9rique pour tous les types de qu\u00eate et je cr\u00e9e un fichier 2DA qui reprend le type de l&#8217;objet, son apparence, ses couleurs et les enchantements \u00e0 lui appliquer.<br \/>\nDans un premier temps, je pense que je vais passer par l&#8217;option blueprint, beaucoup plus simple, mais je garde quelque part en m\u00e9moire qu&#8217;un syst\u00e8me g\u00e9n\u00e9rique d&#8217;objets de qu\u00eate serait vachement cool !<\/p>\n<p><i>01 septembre 2018<\/i><\/p>\n<p>Le serveur Teamspeak ne fonctionnait plus, j&#8217;ai cru que c&#8217;\u00e9tait par d\u00e9faut de licence, mais il fallait juste le mettre \u00e0 jour, ce qui est fait.<\/p>\n<p>J&#8217;ai d\u00fb cr\u00e9er deux fichiers 2DA suppl\u00e9mentaires pour l&#8217;enchantement, un pour les sceptres et baguettes, l&#8217;autre pour les potions, car ces fichiers n&#8217;existent pas &#8211; \u00e0 ma connaissance &#8211; dans le fatras de 2DA de Bioware, o\u00f9 je suis d&#8217;ailleurs surpris de n&#8217;avoir jamais retrouv\u00e9 une liste de courses.<\/p>\n<p>J&#8217;ai cr\u00e9\u00e9 chez Dalamar un phylact\u00e8re o\u00f9 il est possible de recharger sceptres et baguettes moyennant une gemme d&#8217;enchantement, ce qui n&#8217;engage \u00e0 rien puisque le processus de d\u00e9senchantement n&#8217;existe pas encore, c&#8217;est ce \u00e0 quoi je travaille pour le moment.<\/p>\n<p><i>31 ao\u00fbt 2018<\/i><\/p>\n<p>Syst\u00e8me d&#8217;enchantement termin\u00e9 et test\u00e9. Nous pouvons \u00e0 pr\u00e9sent cr\u00e9er \u00e0 la vol\u00e9e n&#8217;importe quelle combinaison d&#8217;objets dot\u00e9s de tous les enchantements possibles, ce qui offre des possibilit\u00e9s qui se comptent en&#8230; euh&#8230; qui ne se comptent pas, y en a trop, des dizaines de milliers.<br \/>\nJ&#8217;ai r\u00e9alis\u00e9 pratiquement tout ce que j&#8217;avais en t\u00eate, j&#8217;ai seulement d\u00fb laisser de c\u00f4t\u00e9 la diff\u00e9renciation des objets selon l&#8217;alignement. Je pourrais toujours le faire, mais c&#8217;est du travail pour pas grand-chose, j&#8217;ai d\u00e9j\u00e0 pass\u00e9 presque deux semaines sur le nouveau syst\u00e8me. C&#8217;est cher en heures de travail, mais \u00e7a valait la peine.<\/p>\n<p>J&#8217;attaque le syst\u00e8me de d\u00e9senchantement des objets et de la combinaison des r\u00e9sidus obtenus pour produire&#8230; je ne sais pas encore trop quoi, j&#8217;en suis toujours au stade de l&#8217;\u00e9valuation des concepts.<\/p>\n<p>Il est \u00e0 noter que le syst\u00e8me repose d&#8217;une part sur une librairie de code assez compacte, je suis toujours sous les 500 lignes, mais aussi de 4 fichiers 2DA de taille respectable qui m&#8217;offrent la possibilit\u00e9 de modifier une multitude de param\u00e8tres sans plus devoir toucher au code.<br \/>\nLa flexibilit\u00e9 de ce nouveau syst\u00e8me permettra de tout envisager avec la plus grande facilit\u00e9.<\/p>\n<p><i>30 ao\u00fbt 2018<\/i><\/p>\n<p>Nous sommes all\u00e9s faire une s\u00e9ance de shooting au ch\u00e2teau de Franchimont ce lundi, j&#8217;en ai ramen\u00e9 des dizaines de textures dont je ne fais rien pour l&#8217;instant mais qui serviront pour mon projet de re-texturer le LOK dungeon, bien dessin\u00e9 mais super-moche, c&#8217;est \u00e7a ou le virer des hacks. Je compte d&#8217;ailleurs d\u00e8s que possible virer tout ce qui n&#8217;est pas utilis\u00e9 ni int\u00e9ressant, la premi\u00e8re victime sera probablement le CRFM combo.<\/p>\n<p>Le travail sur l&#8217;enchantement se poursuit.<br \/>\nLentement.<br \/>\nJe n&#8217;arrive pas \u00e0 d\u00e9cider quelles propri\u00e9t\u00e9s affecter \u00e0 quels objets.<br \/>\nPhase de r\u00e9flexion en cours, les id\u00e9es ne se mettent pas en place, ce qui indique clairement que je ne sais pas ce que je fais.<br \/>\nSolution ?<br \/>\nAttendre que la bonne id\u00e9e vienne toute seule.<\/p>\n<p><i>29 ao\u00fbt 2018<\/i><\/p>\n<p>J&#8217;ai attaqu\u00e9 l&#8217;enchantement des objets. Je vais au fond des choses, je conserve 55 enchantements possibles.<br \/>\nC&#8217;est beaucoup de travail mais cette fois, la derni\u00e8re, tous les cas seront pr\u00e9vus et possibles, exploitant 100% des possibilit\u00e9s du moteur.<\/p>\n<p><i>28 ao\u00fbt 2018<\/i><\/p>\n<p>En testant le syst\u00e8me dans le d\u00e9tail, je me suis rendu compte que certaines variations d&#8217;\u00e9p\u00e9es \u00e0 deux mains disparaissaient dans le warp.<br \/>\nWTF?<br \/>\nApr\u00e8s analyse &#8211; tu sais, le truc qui s&#8217;\u00e9crit en 7 lettres et autant d&#8217;heures perdues &#8211; il appert qu&#8217;un g\u00e9nie chez Bioware a trouv\u00e9 que ce serait cool, dans la version de base du jeu, donc sans le moindre hakpak, de mettre un pi\u00e8ge de ce type :<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-168\" src=\"http:\/\/192.168.1.201\/wordpress\/wp-content\/uploads\/2018\/09\/missingsword.jpg\" alt=\"\" width=\"648\" height=\"363\" \/><br \/>\nMarrant les mod\u00e8les qui sautent du 4 au 7 non ?<br \/>\nDonc chaque fois que mon g\u00e9n\u00e9rateur essaie de faire appara\u00eetre une arme d&#8217;apparence 5 ou 6, elle file \u00e0 l&#8217;anglaise pour ne jamais repara\u00eetre. Les utilisateurs d&#8217;\u00e9p\u00e9es \u00e0 deux mains appr\u00e9cieront, c&#8217;est 30% des armes qu&#8217;ils pourraient looter qui leur passent sous le nez.<br \/>\nBon, ben je suis bon pour installer un garde-fou qui g\u00e8re la situation proprement.<br \/>\nPas la peine de me dire merci, je suis pay\u00e9 pour \u00e7a.<br \/>\nNon, je rigole !<\/p>\n<p>Un petit truc sympa : quand on loot une cape ou un casque, il prend le sch\u00e9ma de couleurs de l&#8217;armure que l&#8217;on porte, comme \u00e7a tout est coordonn\u00e9. Bien s\u00fbr, je pourrais n&#8217;en rien faire et imposer au joueur de colorer l&#8217;objet par le syst\u00e8me de teinture. Je le ferai probablement, mais ainsi le code est d\u00e9j\u00e0 \u00e9crit.<\/p>\n<p>Les bombes pr\u00e9sent un challenge nouveau, elles ne r\u00e9pondent pas aux classifications classiques.<br \/>\nTr\u00e8s logiquement, elle s&#8217;int\u00e8grent sans peine de le nouveau syt\u00e8me que je viens de mettre au point, il m&#8217;a fallu moins de dix minutes pour les int\u00e9grer dans le jeu.<\/p>\n<p>Par contre, le fichier myrdaloot.2DA s&#8217;est corrompu d&#8217;une mani\u00e8re inhabituelle, le dernier byte de chaque ligne est devenu invisible, il m&#8217;a fallu pr\u00e8s de deux heures pour le comprendre. R\u00e9-enregistrer le fichier a r\u00e9gl\u00e9 le probl\u00e8me.<\/p>\n<p><i>27 ao\u00fbt 2018<\/i><\/p>\n<p>J&#8217;ai termin\u00e9 les tests du syst\u00e8me de cr\u00e9ation d&#8217;objets, je dois \u00e0 pr\u00e9sent m&#8217;attaquer \u00e0 l&#8217;enchantement.<\/p>\n<p>Le processus de cr\u00e9ation d&#8217;armures est superbe, les objets obtenus sont tellement beaux que je ne suis pas certain que beaucoup choisissent de les teindre.<br \/>\nPour la teinture d&#8217;objets, je pense utiliser le mannequin de l&#8217;enchanteur, sur qui je copierai l&#8217;armure du joueur et appliquerai les teintures de la m\u00eame mani\u00e8re que je montre les boucliers, ne restera plus qu&#8217;\u00e0 faire son choix.<br \/>\nJe devrai faire la m\u00eame chose avec les casques, et outre la couleur de l&#8217;armure, on peut imaginer autoriser d&#8217;en changer l&#8217;apparence, le syst\u00e8me de Bioware ne me plaisant pas vraiment pour le peu que j&#8217;en ai vu, \u00e0 tester davantage peut-\u00eatre.<\/p>\n<p><i>26 ao\u00fbt 2018<\/i><\/p>\n<p>J&#8217;ai d\u00fb refaire une armure de chaque type, \u00e7a n&#8217;en fait jamais que 62, pas grave, pour \u00e9crire un code qui cr\u00e9e chacune de ces armures pour en extraire les num\u00e9ros de mod\u00e8les. A quelque chose malheur est bon, \u00e7a m&#8217;a donn\u00e9 l&#8217;id\u00e9e &#8211; qui n&#8217;est pas neuve, autant recycler ce qui marche &#8211; de cr\u00e9er des textures pour colorer son \u00e9quipement. Je mets \u00e7a en urgence puisque je suis dans le contexte.<br \/>\nJe peux enfin reprendre les proc\u00e9dures de test de cr\u00e9ation d&#8217;objet.<\/p>\n<p><i>25 ao\u00fbt 2018<\/i><\/p>\n<p>Le syst\u00e8me de cr\u00e9ation d&#8217;objets est termin\u00e9 et en phase de test.<br \/>\nEt les tests butent sur un bec : les armures ne sont pas num\u00e9rot\u00e9es dans le moteur de jeu comme dans l&#8217;\u00e9cran de conception d&#8217;armures, ce qui signifie, par exemple, que le torse de plaque 061 porte en fait le num\u00e9ro de r\u00e9f\u00e9rence 186.<br \/>\nQu&#8217;\u00e0 cela ne tienne ! 186 est \u00e9gal \u00e0 (61+1)*3, il me suffit donc de multiplier par trois le num\u00e9ro d&#8217;ordre de la pi\u00e8ce d&#8217;armure que je souhaite !<br \/>\nHehe, \u00e7a, c&#8217;est ce qu&#8217;un esprit logique ferait.<br \/>\nPas un informaticien qui, ne l&#8217;oublions pas, n&#8217;est indispensable qu&#8217;\u00e0 partir du moment o\u00f9 il a foutu un tel bordel dans le code qu&#8217;il n&#8217;est plus possible de le licencier sans devoir par la m\u00eame occasion r\u00e9-\u00e9crire tout ce qu&#8217;il a \u00e9crit &#8211; ou salop\u00e9, selon les \u00e9coles &#8211; ou passer des mois \u00e0 d\u00e9nouer les noeuds.<br \/>\nBen voil\u00e0, j&#8217;en suis l\u00e0, comme je ne peux virer personne sauf moi &#8211; qui n&#8217;y suis pour rien &#8211; il me reste \u00e0 d\u00e9m\u00ealer les noeuds.<br \/>\nTrente ans que c&#8217;est comme \u00e7a, pas de raison que \u00e7a change&#8230;<\/p>\n<p><i>24 ao\u00fbt 2018<\/i><\/p>\n<p>Modifications structurelles importantes sur les haks de tileset qui \u00e9taient en conflit avec les 2DA de Myrda qui, il est vrai, n&#8217;avaient pas chang\u00e9 depuis 15 ans et g\u00e9n\u00e9raient des conflits au niveau des portes et des \u00e9crans de chargement.<br \/>\nIl convient donc de <b>TOUT<\/b> recharger, le hak myrda_09 qui est nouveau mais aussi les haks de tilesets &#8211; oui, ceux qui \u00e9taient cens\u00e9s ne jamais \u00eatre modifi\u00e9s.<\/p>\n<p>TooLz a utilis\u00e9 pour la premi\u00e8re fois les nouveaux haks de tilesets, les r\u00e9sultats sont magnifiques mais trop lourds, nous allons devoir proc\u00e9der \u00e0 des divisions des zones les plus grandes pour \u00e9viter d&#8217;horribles temps de chargement.<\/p>\n<p>Le syst\u00e8me de cr\u00e9ation d&#8217;objets n&#8217;est pas termin\u00e9, j&#8217;ai dissoci\u00e9 les armures des casques et simplifi\u00e9 le code. Il reste peu \u00e0 faire, sans compter le debugging qui risque d&#8217;\u00eatre coton. Ca n&#8217;avance pas assez vite \u00e0 mon go\u00fbt, mais le temps manque, \u00e7a devrait aller mieux bient\u00f4t.<\/p>\n<p><i>23 ao\u00fbt 2018<\/i><\/p>\n<p>Je devrais terminer aujourd&#8217;hui le syst\u00e8me de cr\u00e9ation des objets, avant d&#8217;attaquer le syst\u00e8me d&#8217;enchantement qui, lui aussi, sera harmonis\u00e9 de mani\u00e8re que tout objet passe par les m\u00eames routines de cr\u00e9ation.<br \/>\nPar exemple, un objet de coffre aura des propri\u00e9t\u00e9s standard l\u00e0 ou un objet d&#8217;artisanat offrira des meilleurs chances de r\u00e9ussir des enchantements additionnels et o\u00f9 un objet de qu\u00eate recevra des enchantements standard, plus les enchantements propres \u00e0 la qu\u00eate.<\/p>\n<p>Pour donner une petite id\u00e9e des joyeuset\u00e9s que je dois me farcir pour mettre tout \u00e7a sur pied, voici \u00e0 quoi ressemble le d\u00e9but de la table de cr\u00e9ation d&#8217;objets :<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td width=\"1633\"><span style=\"font-family: Courier New; font-size: xx-small;\">2DA V2.0<\/span><\/p>\n<p><span style=\"font-family: Courier New; font-size: xx-small;\">\u00a0\u00a0\u00a0baseitem \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0itemnumber itemtype \u00a0\u00a0myrdaType basemodel \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0variations couleurs stack<br \/>\n1 \u00a0BASE_ITEM_AMULET \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a019 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016_Misc \u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_it_mneck020 \u00a0\u00a050 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a0\u00a0\u00a0****<br \/>\n2 \u00a0BASE_ITEM_ARMOR \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016_Misc \u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0BASE_ITEM_ARMOR \u00a0**** \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a0\u00a0\u00a0****<br \/>\n3 \u00a0BASE_ITEM_ARROW \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a020 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a05_Ammo \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_wamar001 \u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a099<br \/>\n4 \u00a0BASE_ITEM_BASTARDSWORD \u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00_Melee \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_wswbs001 \u00a0\u00a0\u00a0\u00a0\u00a08 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0****<br \/>\n5 \u00a0BASE_ITEM_BATTLEAXE \u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00_Melee \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_waxbt001 \u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0****<br \/>\n6 \u00a0BASE_ITEM_BELT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a021 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016_Misc \u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_it_mbelt009 \u00a0\u00a017 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a0\u00a0\u00a0****<br \/>\n7 \u00a0BASE_ITEM_BOLT \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a025 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a05_Ammo \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_wammbo008 \u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a099<br \/>\n8 \u00a0BASE_ITEM_BOOTS \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a026 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016_Misc \u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_it_mboots001 \u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0****<br \/>\n9 \u00a0BASE_ITEM_BRACER \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a078 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a016_Misc \u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_it_mbracer002 22 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a0\u00a0\u00a0****<br \/>\n10 BASE_ITEM_BULLET \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a027 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a05_Ammo \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_wammbu008 \u00a0\u00a0\u00a0\u00a0myrdarefs \u00a0**** \u00a0\u00a0\u00a0\u00a050<br \/>\n11 BASE_ITEM_DAGGER \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a022 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00_Melee \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_wswdg001 \u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0****<br \/>\n12 BASE_ITEM_DART \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a031 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02_Thrown \u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_wthdt001 \u00a0\u00a0\u00a0\u00a0\u00a0myrdarefs \u00a0**** \u00a0\u00a0\u00a0\u00a050<br \/>\n13 BASE_ITEM_DIREMACE \u00a0\u00a0\u00a0\u00a0\u00a0\u00a032 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00_Melee \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_wdbma001 \u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0****<br \/>\n14 BASE_ITEM_DOUBLEAXE \u00a0\u00a0\u00a0\u00a0\u00a033 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00_Melee \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_wdbmax001 \u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0****<br \/>\n15 BASE_ITEM_DWARVENWARAXE \u00a0108 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00_Melee \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_waxbt001 \u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0****<br \/>\n16 BASE_ITEM_GLOVES \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a036 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a021_Glove \u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0nw_it_mglove008 \u00a022 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a0\u00a0\u00a0**** \u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>et la table de cr\u00e9ation d&#8217;armures :<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td width=\"1633\"><span style=\"font-family: Courier New; font-size: xx-small;\">2DA V2.0<\/span><\/p>\n<p><span style=\"font-family: Courier New; font-size: xx-small;\">\u00a0\u00a0\u00a0ca_torse nombre 0 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a08 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a09 \u00a0\u00a010 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a011 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a012 \u00a0\u00a013 \u00a0\u00a014 \u00a0\u00a0\u00a0\u00a015 \u00a0\u00a0\u00a0\u00a016 \u00a0\u00a017 \u00a0\u00a018<br \/>\n0 \u00a0ca_torse nombre pieds pieds tibia tibia cuisses cuisses bassin torse ceinture cou avant-bras avant-bras bras bras epaule epaule main main robe<br \/>\n1 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a010 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a021 \u00a0\u00a0\u00a021 \u00a0\u00a0\u00a016 \u00a0\u00a0\u00a0\u00a0\u00a016 \u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a09|<br \/>\n2 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a00 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a09 \u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0****<br \/>\n3 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a010 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0****<br \/>\n4 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a010 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0****<br \/>\n5 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a08 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a02 \u00a0\u00a0\u00a022 \u00a0\u00a0\u00a0\u00a022 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0****<br \/>\n6 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a02 \u00a0\u00a0\u00a022 \u00a0\u00a0\u00a0\u00a022 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0****<br \/>\n7 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a03 \u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a010 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a010 \u00a0\u00a0\u00a0\u00a010 \u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a05|6|8|10|<br \/>\n8 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a08 \u00a0\u00a0\u00a0\u00a08 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a02 \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a05|6|8|10|<br \/>\n9 \u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a08 \u00a0\u00a0\u00a0\u00a0\u00a09 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a02 \u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0****<br \/>\n10 0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a08 \u00a0\u00a0\u00a0\u00a0\u00a010 \u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a03 \u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a05|6|<br \/>\n11 1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a011 \u00a0\u00a0\u00a0\u00a011 \u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a09 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a09 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a06 \u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a09|<br \/>\n12 1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a01 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a011 \u00a0\u00a0\u00a0\u00a012 \u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a09|<br \/>\n13 1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a013 \u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a02 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a03 \u00a0\u00a0\u00a03 \u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a05|6|8|<br \/>\n14 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a06 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a0\u00a0\u00a0\u00a014 \u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a04 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a05 \u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a09|<br \/>\n15 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a05 \u00a0\u00a0\u00a0\u00a0\u00a015 \u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a01 \u00a0\u00a023 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a023 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a09|<br \/>\n16 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0**** \u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a07 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a012 \u00a0\u00a0\u00a0\u00a016 \u00a0\u00a0\u00a03 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a06 \u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a0\u00a0\u00a00 \u00a0\u00a0\u00a00 \u00a0\u00a0\u00a09| \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Tout cela est compliqu\u00e9 par l&#8217;absence de coh\u00e9rence &#8211; justifi\u00e9e au demeurant &#8211; entre les diff\u00e9rents types d&#8217;objets.<br \/>\nCertains ne se diff\u00e9rencient que par une \u00eecone d&#8217;apparence, d&#8217;autres sont compos\u00e9s de plusieurs parties comprenant chacune plusieurs mod\u00e8les et plusieurs couleurs et d&#8217;autres sont tellement complexes que pour r\u00e9soudre leur cr\u00e9ation je dois croiser plusieurs fichiers de donn\u00e9es entre eux.<br \/>\nQuand ce sera au point, ce sera vraiment tr\u00e8s bien, beaucoup mieux que le syst\u00e8me actuel, et on pourra, par exemple, r\u00e9aliser plusieurs fois une qu\u00eate en obtenant chaque fois un objet diff\u00e9rent, adapt\u00e9 \u00e0 son niveau, ce qui procurera une tr\u00e8s grande long\u00e9vit\u00e9 au contenu.<\/p>\n<p><i>22 ao\u00fbt 2018<\/i><\/p>\n<p>Je travaille au syst\u00e8me de g\u00e9n\u00e9ration automatique de loot, les armures sont termin\u00e9es, reste \u00e0 faire les armes, c&#8217;est plus simple, je n&#8217;ai pas \u00e0 g\u00e9rer des centaines de combinaisons. C&#8217;est quand m\u00eame du travail.<\/p>\n<p><i>21 ao\u00fbt 2018<\/i><\/p>\n<p>Grosse frayeur !<br \/>\nJ&#8217;ai voulu relancer le serveur avec le hak d\u00e9graiss\u00e9 et il ne d\u00e9marrait plus. J&#8217;ai essay\u00e9 de lancer le module Althea : rien. Un module vierge : pas davantage !<br \/>\nPas de panique \u00e0 bord, les femmes et les enfants d&#8217;abord !<br \/>\nJe me suis dit qu&#8217;un nouveau code serveur \u00e9tait peut-\u00eatre disponible : rien.<br \/>\nApr\u00e8s de multiples tentatives, j&#8217;ai d\u00fb me r\u00e9soudre \u00e0 jeter le nouveau hak et repartir sur un backup.<br \/>\nTout est rentr\u00e9 dans l&#8217;ordre, non sans m&#8217;avoir nerveusement fatigu\u00e9. J&#8217;ai finalement d\u00fb refaire le travail sur le hak, il est moins d\u00e9gueulasse que le pr\u00e9c\u00e9dent mais contient toujours des mod\u00e8les obsol\u00e8tes (et moches \u00e0 pleurer) et des tilesets que je n&#8217;utiliserai jamais.<br \/>\nJe le laisse comme \u00e7a pour le moment, le serveur qui tourne et les haks disponibles sur le site &#8211; soit avec les nouvelles \u00e9p\u00e9es, nouvelles haches et nouveaux tilesets &#8211; sont en ad\u00e9quation.<\/p>\n<p><i>20 ao\u00fbt 2018<\/i><\/p>\n<p>Gros boulot pour rendre les armures al\u00e9atoires, j&#8217;ai finalement \u00e9t\u00e9 contraint de r\u00e9aliser un &#8211; grand &#8211; tableau avec 61 types d&#8217;armures possibles. C&#8217;est beaucoup de temps pour pas grand-chose, mais c&#8217;est une \u00e9tape n\u00e9cessaire pour d\u00e9barrasser le module de tout blueprint et de pouvoir tout cr\u00e9er \u00e0 la vol\u00e9e.<br \/>\nJ&#8217;en ai profit\u00e9 pour d\u00e9graisser les haks d&#8217;encore une vol\u00e9e de vieux trucs qui tra\u00eenaient et les r\u00e9organiser plus efficacement. Il y a des milliers de fichiers l\u00e0-dedans, un chat n&#8217;y retrouverait pas ses jeunes, j&#8217;en ai un peu marre de travailler par \u00e9tapes mais tant que je ne sors pas de la beta je n&#8217;ai pas le choix.<br \/>\nEnfin si, je pourrais repartir d&#8217;un hak vierge et ajouter des trucs chaque fois que je remarque qu&#8217;une ressource manque, mais \u00e7a prendrait cent fois plus de temps &#8211; quoique plus propre, mais bon&#8230;<\/p>\n<p><i>19 ao\u00fbt 2018<\/i><\/p>\n<p>Comme pr\u00e9vu, la refonte des tous les objets magiques, c&#8217;est beaucoup de travail, mais j&#8217;avance. Impossible de reprendre les biblioth\u00e8ques Bioware qui me seraient pourtant bien utiles, je dois refaire mes propres fichiers 2DA.<br \/>\nLe syst\u00e8me de cr\u00e9ation d&#8217;objet se met bien en place et remplacera l&#8217;artisanat. Je pourrai vraisemblablement supprimer tous les blueprints, ce qui rendra encore le module plus l\u00e9ger. J&#8217;arrive finalement au m\u00eame fonctionnement pour les armes\/armures que pour les PNJs: j&#8217;obtiens toutes les variations, de type, de couleur et de propri\u00e9t\u00e9s \u00e0 partir d&#8217;un seul blueprint.<br \/>\nCe n&#8217;est pas fini et cet apr\u00e8s-midi apr\u00e8s l&#8217;entra\u00eenement d&#8217;aviron de Max je reprends la cr\u00e9ation de placeables avec lui, il ne conna\u00eet pas Photoshop, il a besoin de moi.<\/p>\n<p>Le syt\u00e8me des hakpaks a chang\u00e9, j&#8217;ai ajout\u00e9 \u00e9norm\u00e9ment de choses (nouvelles \u00e9p\u00e9es, nouvelles haches, mod\u00e8les HD divers, nouveaux tilesets) et je repasse donc sur un t\u00e9l\u00e9chargement fragment\u00e9 qui comprend:<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td bgcolor=\"silver\" width=\"813\">\n<p align=\"center\">Lien<\/p>\n<\/td>\n<td bgcolor=\"silver\" width=\"813\">\n<p align=\"center\">Fr\u00e9quence de modification<\/p>\n<\/td>\n<td bgcolor=\"silver\" width=\"813\">\n<p align=\"center\">Informations de contenu<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"813\">\n<p align=\"center\"><button type=\"submit\">Dossier &#8216;hak&#8217;, 2DAs<\/button><\/p>\n<\/td>\n<td width=\"813\">Tr\u00e8s fr\u00e9quent, \u00e0 chaque augmentation de contenu.<\/td>\n<td width=\"813\">Fichiers de qu\u00eates<\/td>\n<\/tr>\n<tr>\n<td width=\"813\">\n<p align=\"center\"><button type=\"submit\">Dossier &#8216;tlk&#8217;<\/button><\/p>\n<\/td>\n<td width=\"813\">Tr\u00e8s fr\u00e9quent, \u00e0 chaque augmentation de contenu. A bien mettre dans le dossier &#8216;tlk&#8217; et pas le dossier &#8216;hak&#8217; !<\/td>\n<td width=\"813\">Ressources de textes<\/td>\n<\/tr>\n<tr>\n<td width=\"813\">\n<p align=\"center\"><button type=\"submit\">Dossier &#8216;hak&#8217;, myrda<\/button><\/p>\n<\/td>\n<td width=\"813\">Uniquement pendant la beta. D\u00e8s que j&#8217;aurai revu tous les mod\u00e8les, cette partie ne changera jamais plus, les nouveaut\u00e9s iront dans des haks additionnels.<\/td>\n<td width=\"813\">Hak principal regroupant les mod\u00e8les propres \u00e0 Myrda<\/td>\n<\/tr>\n<tr>\n<td width=\"813\">\n<p align=\"center\"><button type=\"submit\">Dossier &#8216;hak&#8217;, tilesets<\/button><\/p>\n<\/td>\n<td width=\"813\">Jamais. A charger une seule fois et \u00e0 oublier. Les nouveaux tilesets iront dans de nouveaux haks.<\/td>\n<td width=\"813\">Tilesets, aussi appel\u00e9es cartes.<\/td>\n<\/tr>\n<tr>\n<td width=\"813\">\n<p align=\"center\"><button type=\"submit\">Dossier &#8216;music&#8217;<\/button><\/p>\n<\/td>\n<td width=\"813\">Jamais. Si j&#8217;ajoutais des musiques, je placerais un lien suppl\u00e9mentaire. Le chargement des musiques est de toutes fa\u00e7ons optionnel.<\/td>\n<td width=\"813\">Musique<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>Je vais mettre au point un syst\u00e8me pour informer \u00e0 la connexion s&#8217;il faut ou non recharger la partie mobile.<\/p>\n<p><i>18 ao\u00fbt 2018<\/i><\/p>\n<p>Nouvelle it\u00e9ration du syst\u00e8me de loot. En vrac :<\/p>\n<p>1\u00b0 Cr\u00e9ation de la profession d&#8217;enchanteur. Il existe d\u00e9j\u00e0, dans sa boutique \u00e0 c\u00f4t\u00e9 de Martouf. Cr\u00e9er une nouvelle branche d&#8217;artisanat accessible aux PJs ou utiliser le PNJ existant ? On verra, il y a du pour ou du contre.<br \/>\n2\u00b0 Tous les objets qui tombent de toutes les sources sont adapt\u00e9s au niveau du joueur mais de qualit\u00e9 inf\u00e9rieure \u00e0 ce que peut produire l&#8217;artisanat, pas en terme de puissance, mais en terme de potentiel enchantable, de puret\u00e9 donc.<br \/>\n3\u00b0 D\u00e9senchanter un objet magique rend une gemme d&#8217;enchantement, que l&#8217;on peut aussi trouver \u00e0 l&#8217;\u00e9tat brut dans l&#8217;univers, dont l&#8217;enchanteur a besoin pour am\u00e9liorer un objet. Combiner ces gemmes donne des essences d&#8217;enchantement de niveau plus \u00e9lev\u00e9 avec une chance qu&#8217;elles soient d\u00e9truites \u00e0 chaque tentative de combinaison.<br \/>\n4\u00b0 Plus le niveau d&#8217;un enchanteur est \u00e9lev\u00e9, plus il \u00a0a de chances d&#8217;extraire un pouvoir particulier d&#8217;un objet. Enchanter un objet avec une gemme de pouvoir particulier tente de l&#8217;incorporer \u00e0 l&#8217;objet sans modifier aucune autre propri\u00e9t\u00e9. Chances de r\u00e9ussite moindres que le processus classique, voir point 6<br \/>\n5\u00b0 L&#8217;enchantement ajoute d&#8217;autant plus de propri\u00e9t\u00e9s \u00e0 un objet que la gemme utilis\u00e9e \u00e9tait puissante. Le niveau maximum d&#8217;une gemme est 8 qui donne 8 propri\u00e9t\u00e9s pouvant chacune \u00eatre au maximum. Il est d&#8217;autant plus difficile d&#8217;obtenir le maximum d&#8217;intensit\u00e9 d&#8217;un enchantement de n&#8217;importe quel groupe de propri\u00e9t\u00e9s que le niveau initial de la gemme \u00e9tait faible.<br \/>\n6\u00b0 Le joueur a une probabilit\u00e9 accrue d&#8217;obtenir un objet qu&#8217;il porte d\u00e9j\u00e0.<\/p>\n<p>Bon, ceci n&#8217;est pas complet, c&#8217;est m\u00eame assez brut, je m&#8217;en vais \u00e9crire une librairie d&#8217;enchantement qui ach\u00e8vera de me mettre les id\u00e9es en place.<\/p>\n<p><b><u>Update:<\/u><\/b> j&#8217;ai d\u00e9j\u00e0 piss\u00e9 deux cents lignes de code depuis ce matin malgr\u00e9 des \u00e9l\u00e8ves qui me balancent du travail au d\u00e9bott\u00e9, une installation r\u00e9tive de Photoshop sur la machine de Max et les interruptions inh\u00e9rentes \u00e0 la vie de tous les jours. Mais je le sens bien sur ce coup-l\u00e0, j&#8217;ai en main des \u00e9l\u00e9ments comme je n&#8217;en ai jamais eu, \u00e7a va le faire !<br \/>\nOu bien demain je me rendrai compte que tout \u00e7a c&#8217;est du caca et back to the drawing board, c&#8217;est \u00e7a la vie d&#8217;artiste \ud83d\ude42<\/p>\n<p><b><u>Update 2<\/u><\/b>: \u00e7a n&#8217;a pas tard\u00e9, y a avait du bon, du moins bon et de l&#8217;horrible, j&#8217;ai adapt\u00e9 le projet ce qui arrivera encore tant que toutes les pi\u00e8ces du puzzle n&#8217;auront pas trouv\u00e9 leur place.<\/p>\n<p><i>17 ao\u00fbt 2018<\/i><\/p>\n<p>Apr\u00e8s quelques jours tr\u00e8s charg\u00e9s sur le front des graphismes, la routine de stabilisation du module devrait reprendre. Il ne me reste qu&#8217;\u00e0 dig\u00e9rer un seul document d&#8217;information pour avoir fait le tour de ce qu&#8217;il faut ma\u00eetriser pour concevoir des mod\u00e8les sur NWN. Enfin, ce qu&#8217;il faut ma\u00eetriser de basique, r\u00e9aliser une cr\u00e9ature avec ses animations, UV, normale et specular maps reste un travail \u00e9norme que je ne compte pas entreprendre de sit\u00f4t, mais je me suis remis \u00e0 un niveau assez comparable \u00e0 celui de 2003. Il faut dire que, beno\u00eetement, je m&#8217;\u00e9tais mis \u00e0 l&#8217;apprentissage de Blender orient\u00e9 image de synth\u00e8se, cin\u00e9ma, animation, ce qui est tr\u00e8s int\u00e9ressant, mais absolument hors de propos pour Myrda qui utilise des techniques diff\u00e9rentes. Ce qui a \u00e9t\u00e9 appris est utile et transposable, mais par R\u00e9orx ! que c&#8217;est compliqu\u00e9, c&#8217;est un m\u00e9tier \u00e0 part enti\u00e8re !<\/p>\n<p>Aujourd&#8217;hui, journ\u00e9e apocalyptique, des rendez-vous \u00e0 n&#8217;en plus finir, j&#8217;arriverai peut-\u00eatre \u00e0 d\u00e9gager deux ou trois heures pour travailler au syst\u00e8me de loot qui continue de m\u00fbrir dans ma t\u00eate. Trois jours de cong\u00e9 la semaine prochaine, \u00e7a devrait aller mieux.<\/p>\n<p><i>16 ao\u00fbt 2018<\/i><\/p>\n<p>J&#8217;ai re\u00e7u confirmation de Beamdog au sujet de notre bug de sacs. Il est caus\u00e9 par la pioche de mineur, pour des raisons qu&#8217;ils ont pris la peine de m&#8217;exposer mais qui restent obscures tant que je ne me suis pas remis \u00e0 la fabrication d&#8217;armes et d&#8217;armures. Qu&#8217;importe, ils vont r\u00e9gler le probl\u00e8me \u00e0 un prochain patch. Donc, faites gaffe, ne mettez pas la pioche de mineur dans un sac bourr\u00e9 de trucs utiles et chers, le tout peut faire *pouf* jusqu&#8217;\u00e0 nouvel ordre.<\/p>\n<p>TooLs a d\u00e9nich\u00e9 de nouveau tilesets absolument magnifiques dans le <a href=\"https:\/\/steamcommunity.com\/app\/704450\/workshop\/\">workshop de Steam<\/a>. Int\u00e9gration \u00e0 effet imm\u00e9diat &#8211; prochain hak -, ce qui va permettre de virer les mochet\u00e9s que j&#8217;avais int\u00e9gr\u00e9es sous Althea et qui n&#8217;auront finalement pas servi \u00e0 grand-chose. Faut juste que je trouve le temps de d\u00e9cider quoi int\u00e9grer de toutes ces nouveaut\u00e9s.<br \/>\nMon fils et moi travaillons toujours \u00e0 l&#8217;apprentissage de Blender, ce qui va ouvrir des possibilit\u00e9s graphiques int\u00e9ressantes, mais pas que ! Les mod\u00e8les personnalis\u00e9s seront la pierre angulaire de qu\u00eates de nouveaux types et j&#8217;aimerais aussi que les personnages centraux de l&#8217;histoire aient une apparence correcte, en attendant que tous les mod\u00e8les de NWN soient refaits, ce qui finira bien par arriver.<\/p>\n<p>Programme du jour : <span style=\"text-decoration: line-through;\"><kbd>travail sur le syst\u00e8me de loot<\/kbd><\/span>.<br \/>\nBen non, \u00e7a c&#8217;est ce qui \u00e9tait pr\u00e9vu, en fait nous avons plong\u00e9 \u00e0 fond dans l&#8217;exportation de mod\u00e8les de NWN vers Blender, travail et importation dans NWN. La t\u00eate va exploser, c&#8217;est s\u00fbr !<br \/>\nJe ne voulais pas faire \u00e7a maintenant, mais tant qu&#8217;on y \u00e9tait, autant se remettre \u00e0 jour.<br \/>\nCa va \u00eatre fabuleux, mais, sans rire, la quantit\u00e9 d&#8217;informations \u00e0 emmagasiner est terrifiante.<br \/>\nLa suite au prochain num\u00e9ro !<\/p>\n<p><i>15 ao\u00fbt 2018<\/i><\/p>\n<p>Je peste depuis hier soir sur le syst\u00e8me de loot que je veux mettre en place. Ras-le-bol de faire les choses \u00e0 moiti\u00e9, ce coup-ci je monte un syst\u00e8me unique, robuste, \u00e9volutif et simple d&#8217;emploi.<br \/>\nJe vais en jeter ici les bases, cela m&#8217;aide aussi \u00e0 clarifier les id\u00e9es dans ma t\u00eate, parce que, franchement, c&#8217;est un sacr\u00e9 bordel. Le syst\u00e8me. La t\u00eate aussi, pas la peine de te cacher je t&#8217;ai vu ricaner.<\/p>\n<p>L&#8217;objectif final est que lorsqu&#8217;un joueur touche un loot, quelle qu&#8217;en soit la source &#8211; point essentiel : harmonisation &#8211; il obtienne quelque chose qui lui convienne, selon les modalit\u00e9s suivantes:<br \/>\n1\u00b0 Probabilit\u00e9 accrue d&#8217;obtenir des objets \u00e9quip\u00e9s. Si je me bats \u00e0 la latte, j&#8217;aurai plus de chances d&#8217;en looter une qu&#8217;un Kama ou une fronde.<br \/>\n2\u00b0 Nombre de propri\u00e9t\u00e9s de l&#8217;objet croissant en fonction du niveau. Une seule propri\u00e9t\u00e9 au niveau 1, jusqu&#8217;\u00e0 8 propri\u00e9t\u00e9s au niveau 40.<br \/>\n3\u00b0 Facteur al\u00e9atoire de qualit\u00e9 croissant avec le niveau. Un niveau 1 touchera du normal ou du +1, un niveau 40 du +10 \u00e0 +20.<br \/>\n4\u00b0 Propri\u00e9t\u00e9s d\u00e9pendantes de l&#8217;alignement. Les mauvais auront plus de p\u00eache, les bons plus de d\u00e9fense, les neutres plus d&#8217;utilit\u00e9.<\/p>\n<p>A partir de l\u00e0, je dois assembler des fichiers 2DA &#8211; qui sont la seule mani\u00e8re d&#8217;obtenir quelque chose qui ressemble \u00e0 une matrice dans NWN &#8211; pour r\u00e9aliser un ensemble de fichiers 2DA propres \u00e0 Myrda qui permette de mettre le syst\u00e8me en place. Le souci, c&#8217;est que les 2DA Bioware ont certainement beaucoup de sens pour les gens qui ont d\u00e9velopp\u00e9 le jeu \u00e0 l&#8217;\u00e9poque mais sont aujourd&#8217;hui un fatras de brols mal ficel\u00e9 par des gens qui \u00e0 l&#8217;\u00e9vidence ne se parlaient que devant la machine \u00e0 caf\u00e9.<br \/>\nJe suis donc contraint de reprendre les informations utiles dans un tas de 2DA de base pour construire un r\u00e9seau de fichiers qui lient entre elles les informations dont j&#8217;ai besoin.<br \/>\nApr\u00e8s quoi je d\u00e9finis mes groupes de propri\u00e9t\u00e9s, je reporte tout \u00e7a dans un 2DA final &#8211; aucune id\u00e9e de combien de fichiers \u00e7a va me faire au total, je vais peut-\u00eatre multi-dimensionnaliser mon fichier pour gagner du temps de lecture, verrai bien &#8211; je d\u00e9finis mes seuils de niveau et roulez jeunesse !<\/p>\n<p>Simple non ?<\/p>\n<p><i>14 ao\u00fbt 2018<\/i><\/p>\n<p>Tu aimes les donuts ? Mon fils et moi nous sommes mis \u00e0 Blender, les possibilit\u00e9s sont gigantesques !<\/p>\n<p>Sortie de la derni\u00e8re extension de WoW.<br \/>\nJ&#8217;aimerais bien y aller faire un tour, j&#8217;ai achet\u00e9 la bo\u00eete d&#8217;extension.<br \/>\nMais bon, pas le temps&#8230;<\/p>\n<p>Je travaille sur la refonte du loot, puis boulot puis on verra bien.<\/p>\n<p>Pour le loot, je souhaite introduire des variantes selon l&#8217;alignement.<br \/>\nPar exemple, un loyal-bon aurait de bonnes chances de toucher une sainte juste ou, plus commun\u00e9ment, le don &#8216;tranchant&#8217; et des protections contre l&#8217;alignement. Les armes d&#8217;un loyal bon seraient moins brutales mais plus riches que celles d&#8217;un mauvais. J&#8217;ai toujours voulu donner un sens concret aux alignement, c&#8217;est peut-\u00eatre une occasion.<br \/>\nJe bosse l\u00e0-dessus pour le moment.<\/p>\n<p><i>13 ao\u00fbt 2018<\/i><\/p>\n<p>La qu\u00eate des \u00e9cuyers est termin\u00e9e. Son seul objectif est de permettre des modification plausibles de l&#8217;alignement d&#8217;un joueur, fonction qui \u00e9tait possible sur Althea en allant s&#8217;asseoir sur un des trois tr\u00f4nes de Silfenis. Pas tr\u00e8s role-play et sans relief. Ici, c&#8217;est diff\u00e9rent, le joueur se trouve impliqu\u00e9 dans des situations militaires et son comportement est \u00e9valu\u00e9 pour apporter de l\u00e9gers ajustements \u00e0 son alignement. Cette qu\u00eate est surtout pr\u00e9sente pour permettre de r\u00e9cup\u00e9rer un paladinat perdu, ou d&#8217;y acc\u00e9der. Il n&#8217;existe \u00e0 l&#8217;heure actuelle pas d&#8217;imp\u00e9ratif de modifier des alignements vers les neutres et en-dessous.<br \/>\nCela a \u00e9t\u00e9 tr\u00e8s difficile \u00e0 mettre au point car le joueur peut choisir une multitude de routes, l\u00e0 o\u00f9 on s&#8217;attend \u00e0 ce qu&#8217;il aide ses camarades, il peut aussi bien les \u00e9gorger, ou les \u00e9pargner et tuer l&#8217;officier commandant ou rien de tout cela et foncer dans les ennemis au m\u00e9pris des ordres. Beaucoup de chemins possibles qui ont chacun leurs cons\u00e9quences.<br \/>\nJe publierai &#8211; enfin &#8211; le 077 ce soir, probablement, sauf si je vois que j&#8217;ai bien avanc\u00e9 dans la refonte des objets magiques li\u00e9s au niveau des joueurs qui les obtiennent auquel cas je le publierai plus tard, rien ne presse.<\/p>\n<p>Mon prochain chantier est donc l&#8217;harmonisation des objets magiques, qui seront toujours donn\u00e9s en fonction du niveau du joueur avec une l\u00e9g\u00e8re variance. Cela signifie, en pratique, qu&#8217;un niveau 1 obtiendra par le loot &#8211; l&#8217;artisanat est diff\u00e9rent &#8211; par exemple une \u00e9p\u00e9e qui peut \u00eatre +1 ou +0, l\u00e0 o\u00f9 un niveau 20, sur le m\u00eame monstre, obtiendra une arme de +4 \u00e0 +7 avec de 1 \u00e0 4 propri\u00e9t\u00e9s additionnelles &#8211; chiffres al\u00e9atoires pris pour l&#8217;exemple.<\/p>\n<p>Apr\u00e8s mure r\u00e9flexion, je ne change rien \u00e0 l&#8217;artisanat, pour plusieurs raisons.<br \/>\nLa premi\u00e8re, c&#8217;est que le joueur qui va se donner la peine de monter son artisan pourra en utiliser la production, m\u00eame s&#8217;il obtient une \u00e9p\u00e9e +5 au niveau 1. C&#8217;est logique, le temps qu&#8217;il aura pass\u00e9 \u00e0 la forge, il ne l&#8217;aura pas pass\u00e9 \u00e0 accumuler les niveaux et donc \u00e0 temps \u00e9gal il aurait de toutes fa\u00e7ons obtenu le niveau n\u00e9cessaire pour manier une +5.<br \/>\nEnsuite, seul les produits de l&#8217;artisanat auront la puret\u00e9 n\u00e9cessaire pour recevoir des enchantements additionnels, fragments d&#8217;\u00e2me myrdienne en t\u00eate, gemme myrdiennes et autres choses \u00e0 venir.<br \/>\nL&#8217;artisanat reste donc incontournable.<br \/>\nCela permet de concilier des joueurs aventuriers \u00e0 qui l&#8217;artisanat file des boutons, mais qui auront besoin des artisans, et des artisans qui aiment prendre leur temps et qui obtiendront de l&#8217;or par les joueurs aventuriers en vendant leur production.<\/p>\n<p>Mon travail \u00e0 pr\u00e9sent est de cr\u00e9er un fichier 2DA, un de plus, qui reprend tous les objets disponibles dans le monde avec des tables de probabilit\u00e9s qui seront d&#8217;une part le niveau du joueur qui provoque l&#8217;apparition de l&#8217;objet et d&#8217;autre part des groupes de d\u00e9sirabilit\u00e9.<br \/>\nK\u00e9sako ?<br \/>\nEt bien, sur une \u00e9p\u00e9e, le premier groupe de d\u00e9sirabilit\u00e9 ne comprendra qu&#8217;un \u00e9l\u00e9ment : l&#8217;alt\u00e9ration, de +1 \u00e0 +20<br \/>\nLe deuxi\u00e8me groupe de d\u00e9sirabilit\u00e9 comprendra &#8216;tranchante&#8217;, &#8216;vampirique&#8217;, &#8216;\u00e9p\u00e9e de justice&#8217; &#8211; par exemple, j&#8217;en suis \u00e0 la premi\u00e8re analyse &#8211; dont l&#8217;une &#8211; et donc aucune autre &#8211; tombera si le joueur a le niveau pour d\u00e9clencher le deuxi\u00e8me groupe et si la chance lui sourit.<br \/>\nLe troisi\u00e8me groupe sera &#8216;augmentation de caract\u00e9ristique&#8217;, &#8216;protection contre sorts de feu\/froid\/xxx&#8217;, &#8216;lumi\u00e8re&#8217;, &#8216;vision v\u00e9ritable&#8217; et &#8216;rapidit\u00e9&#8217;. Une de ces propri\u00e9t\u00e9s sera cr\u00e9\u00e9e si le PJ a le niveau et s&#8217;il a de la chance.<br \/>\nUn dernier groupe reprendrait tout le reste de ce qui est possible, des protections contre les sorts, des effets au toucher, des tas de trucs sympas mais derniers sur la liste.<\/p>\n<p>J&#8217;en suis \u00e0 l&#8217;analyse conceptuelle du syst\u00e8me, j&#8217;aurais d\u00fb commencer par l\u00e0 mais je chemin est long depuis la philosopie +5 maximum d&#8217;Althea, j&#8217;ai d\u00fb plusieurs fois revoir ma position.<\/p>\n<p><i>12 ao\u00fbt 2018<\/i><\/p>\n<p>Le temps ! Pas assez de temps, c&#8217;est l&#8217;horreur !<br \/>\nMyrda, c&#8217;est gigantesque, j&#8217;ai une foultitude de choses \u00e0 faire et peu sont simples, il me tarde d&#8217;avoir remis d&#8217;\u00e9querre tout ce qui n&#8217;est pas parfait.<br \/>\nJe termine ce soir la qu\u00eate des Ecuyers, j&#8217;ai trois \u00e9preuves et j&#8217;en resterai l\u00e0 pour l&#8217;instant, je voudrais une quatri\u00e8me \u00e9preuve mais l&#8217;inspiration et le temps me manquent, je vais l&#8217;ouvrir au jeu et la laisser ainsi pour le moment.<br \/>\nJe dois reprendre de toute urgence le test des derni\u00e8res qu\u00eates que je n&#8217;ai pas encore parcourues, dont certaines sont \u00e0 coup s\u00fbr cass\u00e9es parce que les PNJ tapent le carton dans l&#8217;\u00e9diteur au lieu de faire leur taf dans le monde.<br \/>\nMais \u00e7a se rapproche, \u00e7a m&#8217;aura quand m\u00eame pris pas loin de quatre mois tout \u00e7a !<\/p>\n<p>Pour le moment, comme mon fils est en vacances, je passe du temps avec lui \u00e0 lui apprendre la programmation en C, ce qui ne servira \u00e0 rien puisqu&#8217;il n&#8217;aura pas le temps pendant l&#8217;ann\u00e9e scolaire d&#8217;approfondir Aurora, mais depuis une semaine nous avons attaqu\u00e9 <a href=\"https:\/\/www.blender.org\/\">Blender<\/a>, et nous arrivons \u00e0 suivre cette <a href=\"https:\/\/www.youtube.com\/watch?v=JYj6e-72RDs\">excellente s\u00e9rie de tutoriels<\/a>.<br \/>\nPour Althea, j&#8217;ai utilis\u00e9 3DS Max &#8211; comme un cochon, je me suis d\u00e9mmerd\u00e9 comme j&#8217;ai pu \u00e0 l&#8217;\u00e9poque &#8211; mais \u00e0 pr\u00e9sent je vais utiliser Blender pour les futurs mod\u00e8les de Myrda puisqu&#8217;un joueur actif a cr\u00e9\u00e9 les plugins d&#8217;importation\/exportation NWN-Blender et que d&#8217;excellent tutoriels sont disponibles sur Youtube ce qui facilite grandement l&#8217;apprentissage.<\/p>\n<p>Pour vous donner un aper\u00e7u des progr\u00e8s r\u00e9alis\u00e9s en 15 ans, regardez ce qui est arriv\u00e9 \u00e0 notre bonne Aribeth :<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-151\" src=\"http:\/\/192.168.1.201\/wordpress\/wp-content\/uploads\/2018\/09\/Aribeth.jpg\" alt=\"\" width=\"810\" height=\"496\" \/><\/p>\n<p>J&#8217;ai l&#8217;intention de cr\u00e9er de nombreux mod\u00e8les, pour commencer des placeables; puis des armes, des morceaux de tilesets additionnels et pour finir des cr\u00e9atures. J&#8217;attends une tablette graphique et je dispose de <a href=\"https:\/\/www.allegorithmic.com\/products\/substance-painter\">Substance Painter<\/a> qui va me permettre de peindre mes mod\u00e8les directement en 3D sans passer par une UV map.<\/p>\n<p><i>11 ao\u00fbt 2018<\/i><\/p>\n<p>NWN arrive sur Android, tablette et t\u00e9l\u00e9phone, voici la toute premi\u00e8re image publique qui le montre, captur\u00e9e sur le stream de Beamdog d&#8217;hier soir.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-163\" src=\"http:\/\/192.168.1.201\/wordpress\/wp-content\/uploads\/2018\/09\/FirstAndroidPicture.jpg\" alt=\"\" width=\"643\" height=\"308\" \/><\/p>\n<p>En pratique, je ne sais pas trop ce que cela signifie pour nous.<br \/>\nC&#8217;est peut-\u00eatre une opportunit\u00e9 que je devrais saisir pour pr\u00e9parer le module \u00e0 un afflux de nouveaux joueurs, ou pour d\u00e9velopper des modules d&#8217;histoire \u00e0 la fa\u00e7on des campagnes officielles.<br \/>\nDans tous les cas, je termine d&#8217;abord ce qui a \u00e9t\u00e9 commenc\u00e9, il reste pas mal de contenu qui n&#8217;a jamais \u00e9t\u00e9 test\u00e9.<\/p>\n<p>Apr\u00e8s cela, j&#8217;en ai peur, je devrai extraire absolument tous les textes du module pour les placer dans myrda.tlk ce qui me permettra de les traduire. Et dans le m\u00eame temps, ce n&#8217;est pas le travail qui me rebute, ni l&#8217;anglais, mais l&#8217;esprit. Althea \u00e9tait en fran\u00e7ais parce que je suis de culture fran\u00e7aise et que j&#8217;ai plus de vingt ans de DM papier\/crayon derri\u00e8re moi &#8211; j&#8217;anime encore tous les vendredi soirs. Myrda est d\u00e9velopp\u00e9 en fran\u00e7ais pour les m\u00eames raisons, en plus que j&#8217;ai \u00e9crit les romans qui nous servent de background en fran\u00e7ais, et disposer du module en anglais me laisse craindre de perdre cet esprit.<\/p>\n<p>D&#8217;un autre c\u00f4t\u00e9, NWN sur mobile va forc\u00e9ment attirer beaucoup de monde et beaucoup de francophones ; ouvrir les portes \u00e0 tous ceux qui ne parlent pas fran\u00e7ais &#8211; car ceux qui choisiraient l&#8217;anglais n&#8217;en sont pas pour autant anglophones natifs &#8211; risque de provoquer un afflux de joueurs que mes deux serveurs ne pourront peut-\u00eatre pas encaisser.<\/p>\n<p>Beaucoup de questions en suspens !<\/p>\n<p><i>10 ao\u00fbt 2018<\/i><\/p>\n<p>Phase 3 de cette \u00a7*$@&amp; de qu\u00eate des Ecuyers bien avanc\u00e9e.<br \/>\nRemplac\u00e9 les triggers g\u00e9n\u00e9riques de Myrda par des g\u00e9n\u00e9riques tout court, \u00e7a me causait plus de probl\u00e8mes qu&#8217;autre chose.<\/p>\n<p><i>09 ao\u00fbt 2018<\/i><\/p>\n<p>Termin\u00e9 la phase 2 de la qu\u00eate des Ecuyers, j&#8217;entame la phase 3.<\/p>\n<p><i>08 ao\u00fbt 2018<\/i><\/p>\n<p>Gros orages cette nuit, panne de secteur assez longue et \u00e0 r\u00e9p\u00e9tition. La n\u00e9cessit\u00e9 d&#8217;un onduleur-UPS se fait sentir, mais bon, on verra \u00e7a si le serveur conna\u00eet dans l&#8217;avenir un regain de popularit\u00e9, je supporte seul tous les co\u00fbts pour le moment.<\/p>\n<p>La phase 2 de la qu\u00eate des \u00e9cuyers est pratiquement termin\u00e9e. Je suis assez content du r\u00e9sultat, comme la phase 1 il s&#8217;agit d&#8217;une cin\u00e9matique assez complexe. Le joueur peut cependant facilement empapouater le bon d\u00e9roulement des op\u00e9rations par des actions non pr\u00e9vues. Enfin, si, pr\u00e9vues, mais non g\u00e9r\u00e9es. Par exemple, lorsque le joueur rencontre un PNJ bless\u00e9, il lui est loisible de le soigner, aux bandages ou par un sort. S&#8217;il le fait, le PNJ le remercie et le suit jusque la fin du donjon. Simple, non ? Oui, mais si au lieu de balancer un sort de soins le joueur envoie n&#8217;importe quel sort qui ne tue pas le PNJ, par exemple un buff de dex ou une peau d&#8217;\u00e9corce, l&#8217;effet sera le m\u00eame ! Je pourrais, bien s\u00fbr, programmer des tests pour m&#8217;assurer que le sort a bien modifi\u00e9 positivement les points de vie du PNJ &#8211; et je le ferai probablement, je prends juste un exemple &#8211; mais c&#8217;est du travail pour rien et c&#8217;est volontairement que je laisse des lacunes dans la gestion des actions des joueurs, parce que le temps est ma ressource la plus pr\u00e9cieuse et que je pr\u00e9f\u00e8re la convertir en contenu qu&#8217;en protections.<br \/>\nDisons que je me contente de g\u00e9rer les actions les plus logiques des joueurs, surtout dans du contenu cin\u00e9matique qui est complexe \u00e0 programmer.<\/p>\n<p><i>07 ao\u00fbt 2018<\/i><\/p>\n<p>Je suis en contact avec un dev de Beamdog pour r\u00e9soudre le bug des sacs, \u00e7a prend un peu de temps, j&#8217;ai d\u00fb lui pr\u00e9parer des fichiers avec et sans corruption et lui exposer le probl\u00e8me de mani\u00e8re qu&#8217;il puisse le reproduire, ce qu&#8217;il a pu faire, reste \u00e0 attendre qu&#8217;il d\u00e9tecte la source du probl\u00e8me et incorpore un fix au prochain patch, ce qui fera deux corrections pour nous, on ne va pas se plaindre !<\/p>\n<p>Suite \u00e0 une requ\u00eate que j&#8217;ai post\u00e9e sur les forums de d\u00e9veloppeurs de contenu, un gars m&#8217;a r\u00e9pondu qui a \u00e9crit les addons d&#8217;importation\/exportation pour Blender, logiciel gratuit &#8211; ce qui est \u00e0 peine croyable vu l&#8217;usine \u00e0 gaz que c&#8217;est &#8211; de mod\u00e9lisation 3D. Tout a beaucoup chang\u00e9 depuis que j&#8217;utilisais 3DS Max, en mieux. Plus performant, plus facile, je vais pouvoir cr\u00e9er nombre de mod\u00e8les sp\u00e9cifiques pour nos besoins, au d\u00e9but des armes, des placeables et des tilesets et plus tard des cr\u00e9atures.<br \/>\nMon fils et moi nous sommes attel\u00e9s \u00e0 la t\u00e2che d&#8217;apprendre le maniement de Blender en suivant \u00e0 raison de deux par jours les \u00e9pisodes de tutoriels post\u00e9s par Blender Guru, qui explique tr\u00e8s bien comment s&#8217;y prendre pour ma\u00eetriser la b\u00eate.<br \/>\nCe n&#8217;est \u00e9videmment pas la priorit\u00e9, je dois d&#8217;abord terminer de tester tout ce qui existe dans le module et cr\u00e9er le contenu qui nous m\u00e8nera aux capitales des autres races par le biais d&#8217;une histoire \u00e9volutive.<\/p>\n<p><i>06 ao\u00fbt 2018<\/i><\/p>\n<p>Bug des sacs. Il arrive que le contenu d&#8217;un sac ne s&#8217;affiche plus correctement. Certains objets sont visibles et on ne peut librement les d\u00e9placer dans le sac, preuve que &#8220;quelque chose&#8221; d&#8217;invisible est l\u00e0, tapi dans l&#8217;ombre. Pour faire face \u00e0 ce probl\u00e8me, il convient de vider du sac tous les objets visibles, de se d\u00e9connecter puis reconnecter. Lorsque le jeu plantera en essayant d&#8217;ouvrir le sac, c&#8217;est qu&#8217;on en a retir\u00e9 tout ce qui \u00e9tait possible, il faut fermer NWN par le gestionnaire de t\u00e2ches, par clic-droit sur le programme suivi de &#8220;fin de t\u00e2che&#8221;, de revenir sur le serveur et de jeter le sac. Oui, il contient peut-\u00eatre des objets importants, mais il est corrompu, il n&#8217;y a rien \u00e0 faire. Ce probl\u00e8me arrive &#8211; pour autant que je puisse en \u00eatre certain &#8211; lorsque je change des objets de simples \u00e0 empilables. J&#8217;essaie d&#8217;\u00eatre propre et de ne pas utiliser le m\u00eame tag pour les nouveaux objets mais il peut rester des scories sur des persos qui ne se sont pas connect\u00e9s depuis un certain temps.<\/p>\n<p>J&#8217;ai augment\u00e9 la limite de sacs de 6 \u00e0 10.<\/p>\n<p><i>05 ao\u00fbt 2018<\/i><\/p>\n<p>Mis au point la qu\u00eate de Golemania qui \u00e9tait bien trop difficile, voire carr\u00e9ment incompr\u00e9hensible, et ne donnait pas sa r\u00e9compense de fin, l&#8217;outil \u00e0 invoquer des golems &#8211; qui n&#8217;\u00e9tait d&#8217;ailleurs utilis\u00e9 nulle part dans le module. 15 apr\u00e8s, impossible de me souvenir pourquoi.<\/p>\n<p>Modifi\u00e9 et test\u00e9 la qu\u00eate de la biblioth\u00e8que interdite pour que le b\u00e2ton de magicien ne soit pas un requis, puisque cette qu\u00eate donne aussi des parchemins divins utiles m\u00eame aux guerriers. N&#8217;importe quel b\u00e2ton fera l&#8217;affaire.<\/p>\n<p>Jet\u00e9 les bases d&#8217;un nouveau syst\u00e8me de r\u00e9compenses qui d\u00e9finit les caract\u00e9ristiques essentielles des objets et les adapte au joueur qui les re\u00e7oit en fonction de son niveau et d&#8217;une dose de hasard. A programmer apr\u00e8s la qu\u00eate des Ecuyers.<\/p>\n<p>R\u00e9gl\u00e9 un \u00e9norme bug bien vicieux qui m&#8217;a \u00e9t\u00e9 r\u00e9v\u00e9l\u00e9 par le chien de la guilde des inventeurs qui s&#8217;est mis \u00e0 converser avec un gnome. Ce code est tellement complexe et al\u00e9atoire dans ses conditions de r\u00e9alisation que je cherchais un PNJ qui puisse converser avec un autre PNJ qui ensuite cherchait un PNJ avec qui converser. Totalement idiot. J&#8217;avais donc bien les tests n\u00e9cessaires sur les 2 premiers PNJ pour v\u00e9rifier qu&#8217;ils pouvaient soutenir une conversation mais \u00e9videmment aucun test sur la troisi\u00e8me recherche inutile, ce qui avait l&#8217;effet cocasse de faire parler les chiens.<\/p>\n<p><i>04 ao\u00fbt 2018<\/i><\/p>\n<p>Le syst\u00e8me d&#8217;aide par la pierre de destin\u00e9e fonctionne bien, cela ne me prend que quelques secondes pour ajouter les deux lignes d&#8217;aide disponibles pour une zone.<br \/>\nLe seul souci, c&#8217;est de faire parvenir au joueur les modifications que j&#8217;apporte aux fichiers 2DA et au TLK.<\/p>\n<p>A ce sujet, de bonnes nouvelles de chez Beamdog, qui travaille sur une version Android du jeu :<br \/>\n<i>We continue to work on the tablet version of NWN:EE. \u201cNWSync\u201d- an upcoming feature for Neverwinter Nights: Enhanced Edition which will provide an auto hak and tlk&#8217;s downloader once you connect to a server in the game &#8211; will help not only PC players, but also tablet players.<\/i><br \/>\nEn clair, il sera possible de synchroniser automatiquement les haks, ce qui va grandement me simplifier la t\u00e2che, pour le moment le serveur et moi avons une version des ressources, et les clients une autre, ce qui est fastidieux \u00e0 maintenir, mais vu la cadence \u00e0 laquelle j&#8217;apporte les changements, je n&#8217;ai pas le choix.<\/p>\n<p>Je continue de tester tous les donjons que je peux trouver avec Marcel, c&#8217;est la seule chose qui me reste \u00e0 faire avec terminer la qu\u00eate des Ecuyers.<\/p>\n<p><i>03 ao\u00fbt 2018<\/i><\/p>\n<p>Enorm\u00e9ment de travail aujourd&#8217;hui et probl\u00e8mes familiaux, peu de temps pour le d\u00e9veloppement.<br \/>\nJe vais introduire les textes d&#8217;aide pour les qu\u00eates que j&#8217;accomplis avec Marcel, certaines sont difficiles \u00e0 comprendre et je ne veux limiter les prises de t\u00eate. Le syst\u00e8me d&#8217;aide me convient, c&#8217;est un choix, et les choix c&#8217;est toujours bon.<\/p>\n<p>J&#8217;ai modifi\u00e9 ce matin l&#8217;ASSP d&#8217;une mani\u00e8re tr\u00e8s simple et efficace pour que des mobs ne se trouvent pas prisonniers dans une zone inaccessible, derri\u00e8re une porte verrouill\u00e9e comme \u00e0 Bataille \u00e9ternelle par exemple. J&#8217;ai ajout\u00e9 au fichier assp.2DA une colonne NOCENTER qui d\u00e9finit le rayon autour du point de spawn dans lequel aucune cr\u00e9ature ne peut appara\u00eetre.<\/p>\n<p>D&#8217;une mani\u00e8re g\u00e9n\u00e9rale je suis satisfait de la vitesse de leveling, je suis d\u00e9j\u00e0 17 avec Marcel, j&#8217;ai pris 2 niveaux rien qu&#8217;en cassant du squelette devant le maus\u00e9e des Georifel. J&#8217;ai cass\u00e9 mon premier objet depuis la refonte du syst\u00e8me de casse et j&#8217;ai pas eu de chance : disjonction directe, donc objet perdu. C&#8217;\u00e9tait un artefact myrdien, j&#8217;ai simplement repris une \u00e9p\u00e9e +8 craft\u00e9e avec du mythril, elle marche aussi bien.<\/p>\n<p>Je ne suis par contre pas satisfait des r\u00e9compenses de qu\u00eate, elles sont forc\u00e9ment trop fortes ou trop faibles. Je vais faire en sorte qu&#8217;elle s&#8217;adaptent au niveau du joueur.<\/p>\n<p><i>02 ao\u00fbt 2018, <\/i>Module 075<\/p>\n<p>Tous les bugs connus sont r\u00e9solus, m\u00eame celui qui emp\u00eachait de s&#8217;identifier automatiquement \u00e0 la connexion aux forums.<\/p>\n<p>L&#8217;inventaire des cr\u00e9atures est enti\u00e8rement d\u00e9truit \u00e0 leur mort, m\u00eame les objets qu&#8217;elles sont cens\u00e9es laisser sur leur cadavre, que je dois donc reconstruire s&#8217;il s&#8217;agit de composants d&#8217;artisanat. Ce n&#8217;est qu&#8217;un moindre mal, car ainsi je recr\u00e9e des blueprints empilables.<\/p>\n<p>Pour le fun, j&#8217;ai corrig\u00e9 aujourd&#8217;hui le bug le plus rigolo que j&#8217;aie jamais vu, dans la qu\u00eate &#8211; infaisable, il faut que je la simplifie &#8211; de l&#8217;Equilibre.<br \/>\nUn script commen\u00e7ait par ces lignes \u00e9l\u00e9gantes :<br \/>\n<span style=\"font-family: Courier;\"><b>SetLocalInt(OBJECT_SELF, &#8220;eql_sw&#8221;, GetLocalInt(OBJECT_SELF, &#8220;eql_sw&#8221;));<\/b><\/span><br \/>\nce qui revient \u00e0 dire : mets dans la voiture les gens qui sont dans la voiture.<br \/>\nTout le monde l&#8217;aura compris &#8211; il ne m&#8217;a fallu que deux heures pour le d\u00e9couvrir &#8211; que le code correct \u00e9tait :<br \/>\n<span style=\"font-family: Courier;\"><b>SetLocalInt(OBJECT_SELF, &#8220;eql_sw&#8221;, !GetLocalInt(OBJECT_SELF, &#8220;eql_sw&#8221;));<\/b><\/span><br \/>\nVa savoir comment le toolset m&#8217;a bouff\u00e9 un point d&#8217;exclamation, d&#8217;autant que cette qu\u00eate fonctionnait tr\u00e8s bien \u00e0 l&#8217;\u00e9poque : myst\u00e8re !<br \/>\nEt c&#8217;\u00e9tait comme \u00e7a tout le temps, dans les ann\u00e9es folles, des cartes corrompues, des scripts tronqu\u00e9s et un serveur qui plantait pour un oui pour un non.<br \/>\nBon, il n&#8217;y a plus personne sur le serveur, mais qu&#8217;est-ce que je m&#8217;\u00e9clate ! Ma machine va 50 fois plus vite qu&#8217;\u00e0 l&#8217;\u00e9poque et les outils sont d&#8217;une robustesse irr\u00e9prochable. Rien que pour \u00e7a, je continuerais bien le d\u00e9veloppement quelques ann\u00e9es tiens !<\/p>\n<p>J&#8217;inaugure aujourd&#8217;hui un nouvel outil de jeu : les indices de Pierre de Destin\u00e9e. Vu la grande simplicit\u00e9 de la qu\u00eate de l&#8217;Equilibre &#8211; un truc \u00e0 manger son chapeau &#8211; il me para\u00eet opportun de livrer des indices au joueur en \u00e9change de points d&#8217;aventure.<\/p>\n<p><i>01 ao\u00fbt 2018<\/i><\/p>\n<p>Je travaille sur la qu\u00eate des \u00e9cuyers. Je le sentais bien qu&#8217;elle allait me causer des soucis, j&#8217;ai \u00e0 r\u00e9gler des cin\u00e9matiques qui n\u00e9c\u00e9ssitent un param\u00e9trage complexe pour \u00eatre r\u00e9alistes, je travaille simultan\u00e9ment sur les sc\u00e9narios &#8211; ils sont plusieurs -, les d\u00e9cors &#8211; pour que les sc\u00e8nes soient bien visibles et ne permettent pas de court-circuiter le sc\u00e9nario &#8211; et le scripting assez complexe car impliquant les actions-r\u00e9actions de plusieurs intervenants, avec des joueurs de classes et niveaux diff\u00e9rents.<br \/>\nCe sera fait, mais il me tarde de revenir \u00e0 des choses plus simples !<\/p>\n<p>Les peaux d&#8217;humano\u00efdes et les parchemins qui en d\u00e9coulent sont maintenant empilables par 50 et re\u00e7oivent de nouvelles ic\u00f4nes plus r\u00e9alistes &#8211; un peu trop pour les peaux : beurk !<\/p>\n<p>Nouveau hak, myrda_05.hak et nouveau myrda.tlk<br \/>\nJ&#8217;ai r\u00e9solu de ne plus diviser le hak en 2 &#8211; les ressources principales d&#8217;un c\u00f4t\u00e9 et les petits fichiers 2DA susceptibles de changer r\u00e9guli\u00e8rement dans un hak de d\u00e9veloppement annexe.<br \/>\nC&#8217;est trop compliqu\u00e9 et \u00e0 l&#8217;heure actuelle 150Mo c&#8217;est de la gnognotte, on peut donc se permettre de le recharger assez souvent.<br \/>\nLa difficult\u00e9 reste pour moi de cr\u00e9er un hak pour les clients, qui comprend absolument tous les fichiers, et un hak diff\u00e9rent pour ma machine de d\u00e9veloppement et le serveur, identique \u00e0 celui des clients mais diminu\u00e9 des 2DA que je change \u00e0 volont\u00e9, et que je dois laisser dans le dossier &#8216;override&#8217; de mon PC et du serveur.<\/p>\n<p>Une modification importante que je vais reporter \u00e0 la page d\u00e9di\u00e9e aux d\u00e9butants pour qu&#8217;elle soit bien remarqu\u00e9e : le mode recherche octroie \u00e0 pr\u00e9sent un bonus de 50% au talent de fouille.<\/p>\n<p>J&#8217;ai r\u00e9gl\u00e9 un bug vieux de 15 ans : la salle des coffres de la commanderie, autrefois celle du bourgmestre de Boisnoy\u00e9, \u00e9tait corrompue \u00e0 un point tel qu&#8217;il y \u00e9tait impossible d&#8217;ouvrir un coffre &#8211; va savoir pourquoi. J&#8217;ai remplac\u00e9 tous les anciens coffres par des nouveaux et le probl\u00e8me est r\u00e9solu. Ceci pour me rappeler \u00e0 quel point c&#8217;\u00e9tait une torture de travailler avec le toolset et le serveur de 2002.<\/p>\n<p><i>31 juillet 2018<\/i><\/p>\n<p>J&#8217;en avais marre des parchemins cr\u00e9\u00e9s sur Althea qui prennent 4 places dans les sacs et ne sont pas empilables. Il fallait bien qu&#8217;un jour j&#8217;apprenne comment cr\u00e9er des sorts, c&#8217;est chose faite. Ces parchemins ne prendront donc plus qu&#8217;une case dans le sac, seront empilables par 10 et auront une ic\u00f4ne propre. On pourra aussi les apprendre pour les mettre dans son livre de sorts, mais \u00e7a je pr\u00e9f\u00e8re \u00e9viter car ils sont puissants.<br \/>\nEn tout \u00e9tat de cause, c&#8217;est une avanc\u00e9e majeure pour le module car cela signifie que nous allons pouvoir disposer de nos propres sorts et que, surtout, les adversaires auront acc\u00e8s \u00e0 des sorts uniques ce qui va me servir pour la campagne que je construis.<br \/>\nCr\u00e9er un sort n&#8217;est quand m\u00eame pas de la petite bi\u00e8re, il faut :<br \/>\n1\u00b0 Modifier le spells.2DA pour ajouter le nouveau sort et adapter tous les param\u00e8tres du sort, notamment la r\u00e9f\u00e9rence au script qu&#8217;il doit ex\u00e9cuter.<br \/>\n2\u00b0 Ecrire le script que d\u00e9clenche le sort.<br \/>\n3\u00b0 Modifier le .tlk propre au module pour pouvoir associer les r\u00e9f\u00e9rences de textes du spells.2DA au .tlk, sachant que les textes de 1 \u00e0 16.777.000 sont r\u00e9serv\u00e9s \u00e0 NWN et que seuls les textes \u00e0 partir de 16.777.618 (soit 1 000 000 000 en binaire) peuvent \u00eatre utilis\u00e9s dans des hakpaks<br \/>\n4\u00b0 Modifier le iprp_spells.2DA pour d\u00e9finir les propri\u00e9t\u00e9s du sort<br \/>\n5\u00b0 Cr\u00e9er une \u00eecone iss_&lt;nom du sort&gt;.TGA en 32 bits avec masquage alpha, brune, pour l&#8217;affichage dans l&#8217;inventaire<br \/>\n6\u00b0 Enregistrer la m\u00eame ic\u00f4ne avec la couleur modifi\u00e9e en violet pour l&#8217;affichage dans le livre de sort sous is_&lt;nom du sort&gt;.TGA<br \/>\n7\u00b0 Cr\u00e9er les blueprints des parchemins de sort<\/p>\n<p>Cette technique nous permet d&#8217;envisager des sorts pour les classes qui n&#8217;en lancent normalement pas, mais \u00e7a, c&#8217;est du futur.<\/p>\n<p>Je n&#8217;ai pas avanc\u00e9 d&#8217;un iota sur la qu\u00eate des \u00e9cuyers, c&#8217;est un vrai repoussoir ce machin, je m&#8217;y colle ASAP.<\/p>\n<p><i>30 juillet 2018<\/i>, module 073<\/p>\n<p>Refonte compl\u00e8te des routines de casse d&#8217;objets. La probabilit\u00e9 devient la m\u00eame pour tous les joueurs, ind\u00e9pendamment de leur niveau et de leur nombre d&#8217;attaques par round ou du nombre d&#8217;effets de sorts qui peuvent survenir par round.<br \/>\nDe plus, les objets ne cassent pas forc\u00e9ment, ils peuvent s&#8217;affaiblir, soit perdre une propri\u00e9t\u00e9 magique, \u00e9puis\u00e9e.<br \/>\nS&#8217;ils cassent, ils causent une disjonction dans les 30 m\u00e8tres, ce qui fait tr\u00e8s mal (30 D6) mais a 10 fois moins de chances de se produire que l&#8217;affaiblissement de l&#8217;objet.<br \/>\nTout ce code a \u00e9t\u00e9 copieusement d\u00e9graiss\u00e9 (y compris celui de Bioware \u00e0 l&#8217;\u00e9vidence pass\u00e9 dans de nombreuses mains qui ne savaient pas toujours ce que les pr\u00e9c\u00e9dentes avaient fait&#8230;) et la performance du serveur devrait s&#8217;en trouver grandement am\u00e9lior\u00e9e.<br \/>\nLes routines sont longues, des centaines de lignes de code, mais \u00e0 chaque attaque ce ne sont que quelques cycles demand\u00e9s au processeur, avec une pointe de puissance uniquement quand un objet casse.<br \/>\nJe suis tr\u00e8s satisfait de cette r\u00e9vision, elle devrait soulager le serveur, \u00eatre plus \u00e9quitable et plus facile \u00e0 adapter en fonction du feedback, il ne reste qu&#8217;un seul script concern\u00e9 : nw_c2_default6 et c&#8217;est tout.<br \/>\nReste \u00e0 r\u00e9gler la fr\u00e9quence de casse pour que le syst\u00e8me soit \u00e9quilibr\u00e9.<\/p>\n<p>Reprise de la qu\u00eate des Ecuyers. J&#8217;y consacre l&#8217;apr\u00e8s-midi de 14 \u00e0 18, apr\u00e8s quoi je repars en tests.<\/p>\n<p><i>29 juillet 2018<\/i>, module 072<\/p>\n<p>J&#8217;ai mis de c\u00f4t\u00e9 la programmation de la qu\u00eate des Ecuyers, pourtant essentielle puisqu&#8217;elle permettra des changements d&#8217;alignement un peu plus roleplay que les tr\u00f4nes de Silfenis sur lesquels il suffisait de s&#8217;asseoir, mais je tiens \u00e0 publier un module 072 d\u00e9barrass\u00e9 de tous les bugs connus \u00e0 ce jour. Aucune id\u00e9e du temps que cela va me prendre.<\/p>\n<p>J&#8217;ai termin\u00e9 l&#8217;illusionniste de Syrthe. Il marque pour moi une rupture franche avec la programmation d&#8217;Althea, pour plusieurs raisons:<br \/>\n1\u00b0 Aucun blueprint n&#8217;a \u00e9t\u00e9 n\u00e9cessaire. J&#8217;ai utilis\u00e9 le m\u00eame blueprint pour l&#8217;enchanteur et pour son chien. J&#8217;en ai cr\u00e9\u00e9 un pour le mannequin pour des raisons de facilit\u00e9 et parce que j&#8217;en aurais besoin par la suite, mais ce n&#8217;\u00e9tait pas n\u00e9cessaire. Je peux modifier tout ce que je souhaite sur le blueprint de base, race, sexe, taille, t\u00eate, couleurs de cheveux et de peau, habits, etc. J&#8217;ai d\u00e9j\u00e0 utilis\u00e9 cette technique pour les spawns d&#8217;ambiance et je me suis construit une petite librairie qui me permet de faire tout ce que je veux facilement.<br \/>\n2\u00b0 J&#8217;affecte les scripts que je veux \u00e0 n&#8217;importe quel \u00e9v\u00e9nement des cr\u00e9atures, ce qui me permet de les faire changer de comportement dans une m\u00eame zone selon les besoin de la cin\u00e9matique. Cette technique sera utilis\u00e9e pour modifier l&#8217;intelligence artificielle des suivants et mercenaires, pour les combats de fiefs tant que pour les raids.<br \/>\n3\u00b0 J&#8217;ai utilis\u00e9 un tr\u00e8s grand nombre d&#8217;effets sp\u00e9ciaux dans le laboratoire du gnome, rompant avec la tradition de sobri\u00e9t\u00e9 d&#8217;Althea. Le chien, victime des caprices de son ma\u00eetre, change d&#8217;apparence \u00e0 tout bout de champ et une multitude de sorts s&#8217;abattent sur des orbes un peut partout dans la salle.<br \/>\n4\u00b0 Les fichiers 2DA sont extr\u00eamement pratiques pour contenir les informations les plus diverses. Ainsi, les mod\u00e8les de bouclier sont un capharna\u00fcm indescriptible, les gens qui ont construit les mod\u00e8les ont m\u00eame pouss\u00e9 le vice assez loin pour utiliser des noms de textures diff\u00e9rents des noms de mod\u00e8le. Bref, on saute du 49 au 58, jusqu&#8217;au 65 pour repartir sur les 91 et suivants et \u00e7a se termine au-del\u00e0 de 200 pour seulement une cinquantaine de mod\u00e8les d&#8217;\u00e9cus. Or, les boucliers, c&#8217;est comme les gemmes, c&#8217;est mon dada, j&#8217;ai donc pris tout ce que j&#8217;ai trouv\u00e9 de qualit\u00e9 (et ce n&#8217;est pas facile dans le fatras laiss\u00e9 par les enthousiastes). Il me fallait donc une matrice des 50 boucliers pour que je puisse les manipuler dans des boucles. C&#8217;est possible de hardcoder \u00e7a comme un sagouin dans une librairie, mais avec un fichier 2DA je le fais \u00e9l\u00e9gamment et je peux m\u00eame changer le contenu des hakpaks sans plus toucher au code, il me suffit d&#8217;ajouter au 2DA les nouvelles informations. J&#8217;ai cr\u00e9\u00e9 pour l&#8217;occasion un nouveau 2DA, myrdarefs, qui reprend non seulement les boucliers, mais aussi une liste de pr\u00e9noms masculins du moyen-\u00e2ge et la liste des effets sp\u00e9ciaux utilisables sur des objets de d\u00e9coration.<\/p>\n<p>Bon, allez, j&#8217;ai pass\u00e9 une bonne partie de la journ\u00e9e sur les routes pour conduire le gamin \u00e0 son stage d&#8217;aviron, il est temps de d\u00e9bugger \u00e0 tour de bras, pour reprendre &#8211; enfin &#8211; le d\u00e9veloppement de la qu\u00eate des \u00e9cuyers. Qui est vachement compliqu\u00e9e, faut toujours que j&#8217;aille m&#8217;enferrer dans des trucs pas possibles&#8230;<\/p>\n<p><i>28 juillet 2018<\/i>, module 071<\/p>\n<p>Je continue \u00e0 travailler sur la qu\u00eate des \u00e9cuyers de la Commanderie qui remplace celle du Gras-Al. Les id\u00e9es sont l\u00e0, mais elle est difficile \u00e0 programmer, et r\u00e9gler tous les bugs qui me sont rapport\u00e9s et que je rencontre demande beaucoup de temps.<\/p>\n<p>Une nouveaut\u00e9 qui sera appr\u00e9ci\u00e9e : je vais introduire dans l&#8217;univers un illusioniste gnome qui moyennant gemmes pourra changer l&#8217;apparence des boucliers (et d&#8217;autres choses quand j&#8217;aurai le temps).<\/p>\n<p><i>27 juillet 2018<\/i><\/p>\n<p>L&#8217;\u00e9p\u00e9e d&#8217;Ulgrim apparaissait hostile pour une raison inconnue. Je pense avoir r\u00e9gl\u00e9 le probl\u00e8me, \u00e0 confirmer. La r\u00e9compense pour les loyal-bon est grandement am\u00e9lior\u00e9e, c&#8217;est une Sainte-Juste, apr\u00e8s tout.<\/p>\n<p>La qu\u00eate du Gras-Al est remplac\u00e9e par une nouvelle qu\u00eate, que je vais imaginer et impl\u00e9menter d\u00e8s aujourd&#8217;hui avec mon fils.<\/p>\n<p>Certaines zones ont re\u00e7u des spawns additionnels. Au fil du temps, je me rendrai compte des r\u00e9actifs qui manquent et en ajouterai, ce n&#8217;est pas la priorit\u00e9 absolue.<br \/>\nLa plus grande des priorit\u00e9s, c&#8217;est d&#8217;avoir un module stable avec toutes les fonctionnalit\u00e9s op\u00e9rationnelles, ce qui n&#8217;est pas loin d&#8217;\u00eatre le cas.<br \/>\nJe vais donc lancer les qu\u00eates d&#8217;histoires impliquant Lassiter, Dalamar et Nakar, pour introduire les h\u00e9ros de l&#8217;univers &#8211; de qui les joueurs ne seront jamais des porteurs d&#8217;eau, ils sont l\u00e0 pour enrichir l&#8217;histoire et inspirer les joueurs.<br \/>\nMon objectif est d&#8217;introduire une qu\u00eate par jour jusqu&#8217;\u00e0 avoir d\u00e9couvert Sadara, Sevelin et Selfika. C&#8217;est humainement impossible, mais c&#8217;est l&#8217;esprit.<br \/>\nCela suffira pour amener les joueurs niveau 40 apr\u00e8s quoi j&#8217;introduirai raids et campagnes.<\/p>\n<p><i>26 juillet 2018<\/i>, module 070<\/p>\n<p>Les <a href=\"XPProgression.xls\">courbes d&#8217;exp\u00e9rience<\/a> sont d\u00e9sormais moins dures, ma pr\u00e9c\u00e9dente modification \u00e9tait trop exigeante, et en plus trop lin\u00e9aire.<\/p>\n<p>Remis le coucou en service lorsqu&#8217;on active l&#8217;Armageddon \u00e0 la m\u00e9moire (disponible pour les super users). Le module red\u00e9marre, sans perte de connexion pour les joueurs, mais il faut toucher le coucou pour revenir \u00e0 son ancienne position.<\/p>\n<p>Revu les objets cr\u00e9\u00e9s par la forge, trop facilement am\u00e9lior\u00e9s ce qui permettait de s&#8217;enrichir ehont\u00e9ment.<\/p>\n<p>R\u00e9tabli la casse des outils d&#8217;artisanat. Je l&#8217;avais supprim\u00e9e, mais en r\u00e9alit\u00e9 elle fait partie de l&#8217;immersion, je l&#8217;ai r\u00e9tablie.<\/p>\n<p>Il est \u00e0 pr\u00e9sent possible d&#8217;invoquer Sanbrui par la pierre de destin\u00e9e pour d\u00e9verrouiller une porte ou un coffre. Quoi que je le d\u00e9conseille vivement.<\/p>\n<p><i>25 juillet 2018, <\/i>module 070<\/p>\n<p>La p\u00e9nalit\u00e9 \u00e0 la mort est diminu\u00e9e mais s&#8217;applique en totalit\u00e9 imm\u00e9diatement, pour \u00e9viter les questions.<\/p>\n<p>Une seule attaque par round pour les mineurs, qui obtiennent gratuitement h\u00e2te. Le nombre d&#8217;attaques normal est restaur\u00e9 \u00e0 la sortie de la mine et \u00e0 l&#8217;entr\u00e9e dans l&#8217;univers par s\u00e9curit\u00e9.<\/p>\n<p>Le tissu reste \u00e0 pr\u00e9sent dans l&#8217;\u00e9tablis entre deux fabrications.<\/p>\n<p>Nouvelle courbe de progression d&#8217;artisanat pour tous les m\u00e9tiers, \u00e0 pr\u00e9sent ind\u00e9pendante de la r\u00e9ussite ; toute action donne donc droit \u00e0 une chance de progresser.<\/p>\n<table border=\"0\" frame=\"VOID\" rules=\"NONE\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td align=\"right\" width=\"86\" height=\"17\">1<\/td>\n<td align=\"right\" width=\"86\">14.50<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">4<\/td>\n<td align=\"right\">10.29<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">7<\/td>\n<td align=\"right\">8.58<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">10<\/td>\n<td align=\"right\">7.50<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">13<\/td>\n<td align=\"right\">6.70<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">16<\/td>\n<td align=\"right\">6.07<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">19<\/td>\n<td align=\"right\">5.55<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">22<\/td>\n<td align=\"right\">5.10<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">25<\/td>\n<td align=\"right\">4.71<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">28<\/td>\n<td align=\"right\">4.37<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">31<\/td>\n<td align=\"right\">4.06<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">34<\/td>\n<td align=\"right\">3.78<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">37<\/td>\n<td align=\"right\">3.52<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">40<\/td>\n<td align=\"right\">3.29<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">43<\/td>\n<td align=\"right\">3.07<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">46<\/td>\n<td align=\"right\">2.86<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">49<\/td>\n<td align=\"right\">2.67<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">52<\/td>\n<td align=\"right\">2.49<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">55<\/td>\n<td align=\"right\">2.32<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">58<\/td>\n<td align=\"right\">2.16<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">61<\/td>\n<td align=\"right\">2.00<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">64<\/td>\n<td align=\"right\">1.86<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">67<\/td>\n<td align=\"right\">1.72<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">70<\/td>\n<td align=\"right\">1.58<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">73<\/td>\n<td align=\"right\">1.46<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">76<\/td>\n<td align=\"right\">1.33<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">79<\/td>\n<td align=\"right\">1.22<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">82<\/td>\n<td align=\"right\">1.10<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">85<\/td>\n<td align=\"right\">0.99<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">88<\/td>\n<td align=\"right\">0.89<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">91<\/td>\n<td align=\"right\">0.79<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">92<\/td>\n<td align=\"right\">0.75<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">93<\/td>\n<td align=\"right\">0.72<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">94<\/td>\n<td align=\"right\">0.69<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">95<\/td>\n<td align=\"right\">0.66<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">96<\/td>\n<td align=\"right\">0.62<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">97<\/td>\n<td align=\"right\">0.59<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">98<\/td>\n<td align=\"right\">0.56<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">99<\/td>\n<td align=\"right\">0.53<\/td>\n<\/tr>\n<tr>\n<td align=\"right\" height=\"17\">100<\/td>\n<td align=\"right\">0.50<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><i>24 juillet 2018<\/i><\/p>\n<p>Je trouvais l&#8217;ic\u00f4ne des fioles d&#8217;eau inadapt\u00e9e, on aurait dit de la glace, je l&#8217;ai refaite. Je ne sais pas s&#8217;il est n\u00e9cessaire de recharger les haks, je dirais que oui par s\u00e9curit\u00e9.<\/p>\n<p>R\u00e9paration du serveur 2 dont le ventilateur de l&#8217;alimentation \u00e9tait tomb\u00e9 en rideau. Le plus curieux, c&#8217;est que l&#8217;alim fournissait toujours du 12V \u00e0 sa prise ventilo et que ledit ventilo tournait \u00e0 merveille sur les prises molex qui pendouillent \u00e9l\u00e9gamment dans le bo\u00eetier &#8211; je suis un m\u00e9ga-pro pour le cable management : tu pousses tout dedans et si \u00e7a ne fait pas &#8220;vrrrrrrrrrrrrrrrrrrr&#8221; c&#8217;est qu&#8217;aucun c\u00e2ble n&#8217;est dans le chemin d&#8217;un ventilateur, tu peux refermer.<br \/>\nApr\u00e8s &#8211; m\u00fbre &#8211; r\u00e9flexion, j&#8217;en suis venu \u00e0 la conclusion qu&#8217;une r\u00e9sistance ou la sonde de temp\u00e9rature a fondu dans l&#8217;alim, qui a plus de 10 ans, ce qui me met une r\u00e9sistance infinie et donc une intensit\u00e9 nulle. Selon V=RI, tu l&#8217;auras compris.<br \/>\nDonc, d\u00e9montage de l&#8217;alim, se prendre le jus deux fois parce que d\u00e9brancher le cordon d&#8217;alimentation c&#8217;est trop de boulot, couper le c\u00e2ble du ventilo, le faire sortir par un petit trou derri\u00e8re l&#8217;alim et aller le ponter sur une molex, non sans avoir mis en s\u00e9rie une petite r\u00e9sistance de 100 ohms histoire que le ventilo ne me fasse pas le bruitage de l&#8217;a\u00e9roport le plus proche.<br \/>\nCa va, c&#8217;est bon, le serveur est reparti, il ronronne gentiment \u00e0 c\u00f4t\u00e9 de moi le temps que je surveille qu&#8217;il ne d\u00e9gage pas une odeur de br\u00fbl\u00e9, apr\u00e8s quoi il rejoindra son grand-fr\u00e8re dans la salle machines. Soit la cave \u00e0 vin.<\/p>\n<p>Le module publi\u00e9 aujourd&#8217;hui sera le 069 et comportera la qu\u00eate de stabilisation d&#8217;enchantement d&#8217;objets par fragments d&#8217;essence myrdienne.<br \/>\nUn seul endroit dans le monde permet d&#8217;obtenir un de ces fragments, sur un timer de 10 jours.<br \/>\nJe compte ajouter ces fragments comme loot des cartes au tr\u00e9sor et sur certains boss.<br \/>\nIl faudra doser leur disponibilit\u00e9, ce que je ne pourrai faire qu&#8217;en jouant &#8211; oui, je l&#8217;ai d\u00e9j\u00e0 dit, un de mes persos niveau 6 !<\/p>\n<p><i>23 juillet 2018<\/i><\/p>\n<p>Couche alpha cr\u00e9\u00e9e pour toutes les ic\u00f4nes r\u00e9cemment ajout\u00e9es, soit les gemmes, minerais, lingots, etc. Ca m&#8217;\u00e9nervait trop d&#8217;avoir ces fonds tout noirs tout moches dans l&#8217;inventaire, \u00e0 pr\u00e9sent la pr\u00e9sentation est pro. Enfin, acceptable. J&#8217;ai mis \u00e0 jour le hak en download mais son chargement est strictement optionnel, c&#8217;est juste cosm\u00e9tique, ceux qui ne le chargeront pas auront les nouvelles ic\u00f4nes \u00e0 la version suivante, ce n&#8217;est pas un probl\u00e8me.<\/p>\n<p>Derni\u00e8re main \u00e0 la qu\u00eate de stabilisation d&#8217;enchantement d&#8217;objets par fragments d&#8217;essence myrdienne.<\/p>\n<p><i>22 juillet 2018<\/i><\/p>\n<p>Le premier roman de la sage Myrda est \u00e0 pr\u00e9sent disponible en format epub, plus facile \u00e0 lire.<\/p>\n<p>J&#8217;ai cr\u00e9\u00e9 la qu\u00eate de stabilisation des artefacts enchant\u00e9s par fragment d&#8217;\u00e2me myrdienne.<\/p>\n<p><i>21 juillet 2018<\/i><\/p>\n<p>Am\u00e9lioration de la mine termin\u00e9e.<\/p>\n<p>Miner offre \u00e0 pr\u00e9sent la possibilit\u00e9 de trouver une gemme myrdienne rare cach\u00e9e dans la pierre. Le souci, c&#8217;est qu&#8217;une gemme :<br \/>\n1\u00b0 c&#8217;est petit<br \/>\n2\u00b0 \u00e7a roule<br \/>\n3\u00b0 si on la perd de vue, bonjour pour la retrouver dans la couche de crasse du fond d&#8217;une mine.<br \/>\nDonc oui, ces gemmes sont cool parce que les assembleurs peuvent les ench\u00e2sser dans les objets pour obtenir des bonus de caract\u00e9ristiques, mais faudra avoir des r\u00e9flexes aff\u00fbt\u00e9s et le sens de l&#8217;observation pour mettre la main dessus !<\/p>\n<p>J&#8217;ai encore d&#8217;autres id\u00e9es pour la mine, comme par exemple lib\u00e9rer des &#8216;choses&#8217; du plan \u00e9l\u00e9mentaire de la terre \u00e0 force de casser des cailloux, je ferai probablement cela un peu plus tard, ce n&#8217;est pas une priorit\u00e9.<\/p>\n<p>L&#8217;assemblage a \u00e9t\u00e9 modifi\u00e9 pour permettre d&#8217;ench\u00e2sser les gemmes dans des objets (n&#8217;importe lesquels).<br \/>\nComme souvent, 20 minutes de programmation, le reste de la journ\u00e9e pour debugger.<br \/>\nLe petit truc sympa qui rend fou : j&#8217;ai besoin de faire une copie de l&#8217;objet enchant\u00e9 directement dans l&#8217;inventaire du joueur ce qui me permet d&#8217;effacer tout le contenu de l&#8217;\u00e9tablis pour emp\u00eacher toute tricherie et g\u00e9rer les piles de gemmes. Seulement voil\u00e0 : si je copie l&#8217;objet <b>apr\u00e8s<\/b> l&#8217;avoir modifi\u00e9, impossible d&#8217;augmenter le bonus par plusieurs gemmes, j&#8217;obtiens autant de lignes non cumulatives qu&#8217;on utilise de gemmes, par contre si je le copie <b>d&#8217;abord<\/b> dans l&#8217;inventaire du joueur avant de le modifier, tout se passe \u00e0 merveille. Elle est pas belle la vie ?<\/p>\n<p>J&#8217;ai encore un probl\u00e8me avec le canal alpha des fichier TGA d&#8217;\u00eecones, je ne sais plus comment on fait, j&#8217;ai manqu\u00e9 de temps pour me documenter correctement, je devrai le faire demain, hors de question que ce ne soit pas parfait et j&#8217;ai de toutes fa\u00e7ons besoin de me refamiliariser avec les canaux alphas pour quand je vais me remettre \u00e0 la modification de tilesets et au texturages d&#8217;objets et de monstres.<br \/>\nBref, j&#8217;ai fait moins que je ne le devais aujourd&#8217;hui, visite \u00e0 un ami d\u00e9funt oblige, mais cette addition au minage est vraiment superbe, \u00e7a rend une activit\u00e9 fastidieuse finalement fascinante.<br \/>\nEt j&#8217;ai encore des id\u00e9es.<\/p>\n<p>Inutile de pr\u00e9ciser que mon guerrier niveau 6 est toujours niveau 6 comme sont niveau 6 tous les persos que j&#8217;ai essay\u00e9 de monter, si je n&#8217;avais pas conscience d&#8217;\u00eatre au bout du tunnel, magnifiquement aid\u00e9 pour nos deux valeureux b\u00eata-testeurs, je ne serai pas si confiant.<\/p>\n<p>ToolZ est pass\u00e9 me dire bonjour sur le TS3 de Myrda, qui fonctionne donc parfaitement, c&#8217;\u00e9tait un tr\u00e8s grand plaisir de lui parler, j&#8217;ai gard\u00e9 le meilleur des souvenirs de notre collaboration pass\u00e9e, malheuresement avort\u00e9e pour cause de divergences philosophiques entre les gestionnaires serveurs et les designers. Lui, Wildfar et Mil sont les joueurs pour qui je me tue \u00e0 l&#8217;ouvrage, ils m\u00e9ritent le meilleur !<\/p>\n<p>Bon, deux heures du matin, demain rando VTT, je baisse le rideau !<\/p>\n<p><i>20 juillet 2018<\/i><\/p>\n<p>J&#8217;ai r\u00e9alis\u00e9 de nouveaux hakpaks, autant parce que je n&#8217;\u00e9tais pas satisfait de certaines ic\u00f4nes que pour rectifier une erreur vieille de 15 ans : on ne peut utiliser que 50 ic\u00f4nes de gemmes et les haks d&#8217;Althea en comportent 65. Comme je devais en introduire de nouvelles pour le minage, j&#8217;\u00e9tais face \u00e0 un probl\u00e8me.<br \/>\nJe l&#8217;ai r\u00e9solu \u00e0 la naine. Soit au b\u00e2ton de dynamite.<\/p>\n<p>Le code des qu\u00eates dynamiques a \u00e9t\u00e9 adapt\u00e9, gr\u00e2ce \u00e0 la participation de Maxime, pour fonctionner en groupe, ce qui n&#8217;\u00e9tait pas de la petite bi\u00e8re !<br \/>\nIl me reste une incertitude, il semble que lorsque des joueurs rejoignent une partie o\u00f9 existe d\u00e9j\u00e0 un groupe, les r\u00e9sultats du code permettant d&#8217;identifier les membres de ce groupe soient incertains.<br \/>\nIncertain est un mot tr\u00e8s pris\u00e9 des informaticiens. Quantiques, \u00e9videmment.<br \/>\nJ&#8217;ai donc inclus du code de debugging dans les logs. Si le souci persiste, je devrai une fois de plus recourir aux grands moyens. C&#8217;est \u00e0 dire que je n&#8217;ai aucune id\u00e9e de comment je vais faire mais que dans tous les cas ce ne sera pas propre.<\/p>\n<p>L&#8217;artisanat est termin\u00e9 et test\u00e9. S&#8217;il reste des bugs, ils sont bien cach\u00e9s, esp\u00e9rons que non.<\/p>\n<p>Bon, \u00e0 cause de ces pertes de temps, je n&#8217;ai pas pu m&#8217;occuper de mettre la derni\u00e8re main au minage. Mais \u00e7a vient !<br \/>\nJ&#8217;ai pratiquement tout termin\u00e9 maintenant, j&#8217;ai m\u00eame trouv\u00e9 le temps de monter un guerrier niveau 5 hier, je suis \u00e0 un niveau de mon record depuis mars !<\/p>\n<p><i>19 juillet 2018<\/i><\/p>\n<p>Dernier jour de d\u00e9veloppement de l&#8217;artisanat, tout s&#8217;est fort bien mis en place et je suis tr\u00e8s bien aid\u00e9 par mes chasseurs de bugs pr\u00e9f\u00e9r\u00e9s \ud83d\ude42<br \/>\nIl reste des bugs li\u00e9s au passage d&#8217;objets uniques \u00e0 objets empilables, mais dans l&#8217;ensemble tout m&#8217;a l&#8217;air stable et, d&#8217;un point de vue serveur, moins gourmand en ressources puisque je peux \u00e0 pr\u00e9sent cr\u00e9er n&#8217;importe quel objet \u00e0 activation sans que le code n&#8217;aille se perdre dans le fatras du mod_onactivate. Tout cela est franchement mieux, tant vu de l&#8217;ext\u00e9rieur que de l&#8217;int\u00e9rieur, et les syst\u00e8mes pr\u00e9sentent des possibilit\u00e9s d&#8217;\u00e9volution int\u00e9ressantes.<\/p>\n<p>D\u00e8s que tout est d\u00e9bugg\u00e9, je programme les \u00e9v\u00e9nements pour les mineurs et les qu\u00eates de stabilisation des objets myrdiens.<\/p>\n<p>Un nouveau type de donjon al\u00e9atoire fera \u00e9galement son apparition sur le mod\u00e8le de la qu\u00eate de l&#8217;esprit et de celle des druides. Il sera possible de rentrer dans des tombes myrdiennes d\u00e9couvertes au hasard des p\u00e9rigrinations et de faire main-basse sur des objets anciens.<\/p>\n<p><i>18 juillet 2018<\/i><\/p>\n<p>Assoupli les restrictions d&#8217;\u00e9quipement d&#8217;objets magiques puisque l&#8217;artisanat peut \u00e0 pr\u00e9sent ajouter des propri\u00e9t\u00e9s qui valent leur pesant d&#8217;or. Il est probable que ces restrictions ne seront toujours pas adapt\u00e9es, \u00e0 voir \u00e0 l&#8217;usage.<\/p>\n<p>Termin\u00e9 l&#8217;ajout de propri\u00e9t\u00e9s magiques sur les objets d&#8217;artisanat. La m\u00e9canique est en place mais pour l&#8217;instant je reste dans le basique : j&#8217;augmente le bonus d&#8217;AC des armures, le bonus d&#8217;attaque des armes \u00e0 distance et le bonus d&#8217;alt\u00e9ration des armes de m\u00eal\u00e9e. Tout est en place pour en faire plus, plus tard s&#8217;il \u00e9chet, mais le code actuel se contente d&#8217;un wrapper {} \u00e0 de nombreux endroits.<\/p>\n<p>L&#8217;assemblage, la forge et l&#8217;alchimie laissent \u00e0 pr\u00e9sent le produit du travail dans leur conteneur, il faudra le transf\u00e9rer manuellement dans l&#8217;inventaire si on souhaite le garder. Ceci dans l&#8217;optique de ne pas devoir perdre du temps \u00e0 bourrer le conteneur des productions inutiles, bandages, potions et autres robes pour les \u00e9liminer par le craft suivant. Qui plus est, c&#8217;est plus logique.<\/p>\n<p>J&#8217;ai \u00e9galement introduit l&#8217;eau et le tissu en piles pour \u00e9viter l&#8217;\u00e9parpillement dans l&#8217;inventaire. Pareil pour les racines de mandragore. Il faut acheter un m\u00e9langeur \u00e0 l&#8217;alchimiste pour provoquer la r\u00e9action des composants, le syst\u00e8me, et tous les syst\u00e8mes en g\u00e9n\u00e9ral, ont gagn\u00e9 en fluidit\u00e9 et vari\u00e9t\u00e9. Visiter l&#8217;alchimiste permet d&#8217;acheter les deux nouveaux objets, le m\u00e9langeur pour d\u00e9clencher les r\u00e9actions (que tout le monde en interne appelle &#8220;la touillette&#8221;) et le stabilisateur, un r\u00e9actif puissant pour stabiliser un m\u00e9lange devenu instable qui va provoquer des d\u00e9g\u00e2ts jusqu&#8217;\u00e0 tuer l&#8217;alchimiste s&#8217;il n&#8217;est pas utilis\u00e9 \u00e0 temps.<\/p>\n<p>J&#8217;ai \u00e9galement ajout\u00e9 des effects visuels lors de la r\u00e9ussite de fabrication d&#8217;objets plus puissants que du +1.<\/p>\n<p>Ceci sera un module \u00e0 hauts risques, j&#8217;ai modifi\u00e9 \u00e9norm\u00e9ment de choses.<\/p>\n<p><i>17 juillet 2018<\/i><\/p>\n<p>J&#8217;ai modifi\u00e9 la courbe de gain d&#8217;exp\u00e9rience de mani\u00e8re \u00e0 \u00e9viter le farm de qu\u00eates de newbies pour progresser jusqu&#8217;au niveau 40.<\/p>\n<p>J&#8217;attaque \u00e0 pr\u00e9sent la refonte de l&#8217;artisanat, je passe en sous-marin le temps qu&#8217;il faudra.<br \/>\nAdieu ! Je vous aimais bien !<\/p>\n<p>P.S.: Ben en fait non, je ne vais rien changer du tout. Le syst\u00e8me existe et a d\u00e9montr\u00e9 sa stabilit\u00e9, je vais donc ajouter des \u00e9l\u00e9ments au syst\u00e8me plut\u00f4t que le refondre.<br \/>\nLes pistes qui me s\u00e9duisent le plus sont :<br \/>\n&#8211; Ajout al\u00e9atoire de propri\u00e9t\u00e9s<br \/>\n&#8211; Modification d&#8217;un objet existant par refonte en ajoutant un \u00e9l\u00e9ment myrdien, puisqu&#8217;ils sont centraux dans cet univers<br \/>\n&#8211; Modification al\u00e9atoire des propri\u00e9t\u00e9s de base d&#8217;un objet<br \/>\n&#8211; Am\u00e9lioration des propri\u00e9t\u00e9s de base en fonction du niveau de l&#8217;artisan (ce qui m&#8217;impose d&#8217;augmenter l&#8217;exp\u00e9rience obtenue pour l&#8217;artisanat de mani\u00e8re \u00e0 garder viable l&#8217;option d&#8217;artisans purs sans comp\u00e9tence de combat).<br \/>\n&#8211; Si tu as une id\u00e9e, le forum te tend les bras !<\/p>\n<p>Je supprime l&#8217;id\u00e9e de publier des modifications par le dossier &#8216;override&#8217;, cela ne g\u00e9n\u00e8re que des probl\u00e8mes, je vais donc proc\u00e9der par un syst\u00e8me de deux hakpaks, myrda de base et myrda de dev, comme \u00e7a personne ne pourra se connecter avec de vieux fait chier. Euh&#8230; fichiers.<\/p>\n<p><i>16 juillet 2018<\/i><\/p>\n<p>Ah! le bug de DestroyCampaignDatabase qui m&#8217;a empoisonn\u00e9 la vie depuis si longtemps sera r\u00e9gl\u00e9 dans le prochain patch, je viens d&#8217;avoir la confirmation par Virusman.<\/p>\n<p><i>15 juillet 2018<\/i><\/p>\n<p>Am\u00e9lior\u00e9 le contournement d&#8217;un vieux bug Bioware qui cr\u00e9e des objets avec des tags majuscules m\u00eame si on a sp\u00e9cifi\u00e9 un tag \u00e9gal au resref, soit en minuscules puisqu&#8217;on ne peut pas sp\u00e9cifier un resref majuscules. Voir il n&#8217;y a pas si longtemps ma diatribe au sujet du temps perdu \u00e0 essuyer les bugs des autres. Soit, je ne peux pas enlever le bug mais je le contourne \u00e0 pr\u00e9sent plus efficacement.<\/p>\n<p>J&#8217;entame la refonte du syst\u00e8me de cr\u00e9ation d&#8217;objets d&#8217;artisanat.<br \/>\nC&#8217;est du gros mais je n&#8217;ai pas le choix.<br \/>\nLa meilleure \u00e9p\u00e9e que l&#8217;on puisse cr\u00e9er est pour le moment une +5 pour un grand-ma\u00eetre forgeron.<br \/>\nEn 2018 pour des joueurs niveau 40, c&#8217;est tout simplement risible, je dois revoir tout cela.<\/p>\n<p>En urgence, j&#8217;ai adapt\u00e9 le code de forge pour utiliser des lingots empilables.<\/p>\n<p><i>14 juillet 2018<\/i><\/p>\n<p>La peur de ma vie hier soir : tous les objets magiques \u00e9taient cass\u00e9s. Quoi que je fasse, m\u00eame en partant d&#8217;un module vide sans hak pak, les objets magiques n&#8217;affichaient plus aucune propri\u00e9t\u00e9. Bien entendu, il fallait que cela corresponde avec la publication d&#8217;un nouveau patch, d&#8217;o\u00f9 panique monstre qu&#8217;ils aient fait quelque chose (qui en plus n&#8217;affecte que les modules en FR) qui me casse la baraque.<br \/>\nJ&#8217;\u00e9tais d\u00e9j\u00e0 sur le point de prendre ma hache et mon bouclier et de prendre le bateau pour aller leur montrer au Canada qu&#8217;on ne joue pas impun\u00e9ment avec les pieds d&#8217;un Belge au r\u00e9gime quand je me suis quand m\u00eame r\u00e9solu \u00e0 chercher la cause du probl\u00e8me du c\u00f4t\u00e9 de l&#8217;improbable et de l&#8217;impossible (donc, de l\u00e0 o\u00f9 viennent les emmerdements 99% du temps) et je me suis rendu compte qu&#8217;un fichier itemprops.2DA tra\u00eenait dans mon dossier override, fils ill\u00e9gitime d&#8217;un test et d&#8217;une distraction, fichier tellement pourrave qu&#8217;il n&#8217;\u00e9tait m\u00eame plus possible de l&#8217;ouvrir !<br \/>\nDonc, voil\u00e0, tout est en ordre.<\/p>\n<p>Aujourd&#8217;hui j&#8217;ai modifi\u00e9 le minage et la forge. Le minerai et les lingots sont d\u00e9sormais empilables, p\u00e8sent moins lourd et s&#8217;enorgueillissent de nouvelles ic\u00f4nes que j&#8217;ai sp\u00e9cialement cr\u00e9\u00e9es pour l&#8217;occasion.<\/p>\n<p>J&#8217;ai rendu la progression minage\/forge plus facile. Peut-\u00eatre trop, rien ne dit que \u00e7a restera comme \u00e7a.<\/p>\n<p>J&#8217;ai \u00e9galement modifi\u00e9 les routines d&#8217;enchantement par fragments d&#8217;essence pour donner syst\u00e9matiquement une augmentation de constitution qui \u00e9tait, je trouve le facteur le plus handicapant dans les premiers niveaux de jeu pour les classes fragiles qui ne compensent pas cette fragilit\u00e9 par leur puissance.<\/p>\n<p>Les haks ont chang\u00e9 : myrda_01 fait place \u00e0 myrda_02 et les override sont nouveaux. Les musiques ne changent pas et ne devraient plus changer avant longtemps.<\/p>\n<p><i>13 juillet 2018<\/i><\/p>\n<p>J&#8217;ai termin\u00e9 les routines d&#8217;am\u00e9lioration d&#8217;objets. Et oui, les objets d&#8217;artisanat seront am\u00e9lior\u00e9s aussi, l&#8217;\u00e9poque a chang\u00e9 et le niveau 40 est ouvert.<br \/>\nJe suis en train de concevoir les qu\u00eates n\u00e9cessaires pour stabiliser les objets l\u00e9gendaires.<\/p>\n<p>Reprise de mon post relatif au processus de transmutation myrdienne :<\/p>\n<p><span style=\"font-size: small;\">Bah ! tout \u00e7a c&#8217;est du caca, du d\u00e9j\u00e0 vu, je joue petit bras !<\/span><\/p>\n<p>Back to the drawing board, tout est pass\u00e9 \u00e0 la moulinette et voici \u00e0 quoi va (pourrait ?) ressembler le nouveau syst\u00e8me :<\/p>\n<p>Quand on met un objet dans la machine gnomique avec un fragment d&#8217;essence myrdienne, le processus conservera les attributs de l&#8217;objet au lieu d&#8217;en attribuer de nouveaux au hasard. Ce qui ne marchait prodigieusement pas car perdre une \u00e9p\u00e9e +5 pour r\u00e9cup\u00e9rer une latte +0 avec 80% de r\u00e9duction de poids, utlravision, vision v\u00e9ritable, +16 en charisme et lumi\u00e8re blanche sur 400m\u00e8tres, c&#8217;est sans doute l\u00e9gendaire mais surtout farfelu et inutile !<\/p>\n<p>Donc, maintenant, l&#8217;objet imbu de l&#8217;essence myrdienne conserve ses propri\u00e9t\u00e9s de base, mais a une chance qu&#8217;elles soient transfigur\u00e9es. La latte +5 pourrait aussi bien devenir une +20 si on a le bol de sortir une l\u00e9gendaire max\u00e9e, et j&#8217;ajoute une propri\u00e9t\u00e9 cadeau ou l&#8217;autre.<\/p>\n<p>Ah, l\u00e0, tout de suite, on peut causer.<br \/>\nOui mais ! \u00e7a fait quand m\u00eame un peu Grosbill non ?<br \/>\nBien s\u00fbr, je peux me le permettre puisque tous les objets ont une chance de casser dans notre univers, rien de d\u00e9s\u00e9quilibr\u00e9 n&#8217;existera ind\u00e9finiment, mais tout de m\u00eame, quand \u00e7a cancanne comme un canard et que \u00e7a marche comme un canard, faut se rendre \u00e0 l&#8217;\u00e9vidence : c&#8217;est un canard.<br \/>\nDonc, c&#8217;est Grosbill.<br \/>\nDonc non, pas question.<\/p>\n<p>&#8220;Allez quoi Tonton, soit sympa, qu&#8217;on rigole !&#8221;<\/p>\n<p>Bon, allez, pour te faire plaisir, je veux bien.<br \/>\nMais il y a un mais !<\/p>\n<p>Si lors du processus de transfert d&#8217;essence la chance (ou la malchance, tu vas voir) veut que tu ailles choper un objet mythique ou l\u00e9gendaire, il faudra, pour stabiliser l&#8217;enchantement, sacrifier \u00e0 quelques (menues) formalit\u00e9s.<br \/>\nPar exemple, aller plonger l&#8217;objet dans du sang de dragon encore frais, ou trouver le fant\u00f4me d&#8217;un mage myrdien qui moyennant d\u00e9sagr\u00e9ments acceptera de stabiliser l&#8217;objet, ou r\u00e9colter autant de composants alchimiques n\u00e9cessaires dans un temps imparti.<br \/>\nTu vois l&#8217;id\u00e9e ?<\/p>\n<p>Monsieur et madame Zepower ont une fille et elle s&#8217;appelle Agathe !<\/p>\n<p><i>12 juillet 2018<\/i><\/p>\n<p>Enorme catastrophe hier, j&#8217;ai fini par me rendre compte que ma mani\u00e8re de contourner le bug qui emp\u00eache Linux de d\u00e9truire une base de donn\u00e9es (ce dont j&#8217;ai besoin pour \u00e9viter qu&#8217;elle ne grossissent exag\u00e9r\u00e9ment) n&#8217;\u00e9tait d&#8217;aucune utilit\u00e9. En effet, le crontab modifiait bien l&#8217;extension des fichiers ce qui me permettait de les d\u00e9truire, mais pour une raison qui restera \u00e0 jamais inconnue, le serveur \u00e9tait ensuite incapable de lire le contenu de ces bases. D&#8217;o\u00f9 une cascade de bugs, perte des points d&#8217;artisanat, perte de la banque, j&#8217;en passe et des meilleures.<br \/>\nJ&#8217;ai perdu pas mal de temps \u00e0 remonter \u00e0 la source du bug et j&#8217;ai finalement d\u00fb aller rechercher le code que j&#8217;avais \u00e9crit avant que Beamdog ne r\u00e9ponde \u00e0 mon rapport de bug, code que j&#8217;ai adapt\u00e9 pour qu&#8217;il fonctionne aussi pour la banque.<\/p>\n<p>Beamdog a publi\u00e9 un nouveau code aujourd&#8217;hui, serveur et client, et le bug n&#8217;est pas r\u00e9gl\u00e9, ce sera pour le prochain patch. Ce n&#8217;est pas important si mon code se r\u00e9v\u00e8le robuste, nous pouvons attendre.<\/p>\n<p>Les mages pourront d\u00e9sormais couper du bois en achetant la serpe \u00e0 bois, pareille \u00e0 la hache de b\u00fbcheron pour laquelle il n&#8217;ont pas la comp\u00e9tence. Nous n&#8217;allons quand m\u00eame pas les obliger \u00e0 payer un point de comp\u00e9tence juste pour pouvoir utiliser les hachettes.<\/p>\n<p>J&#8217;ai pass\u00e9 le module en Beta, c&#8217;est peut-\u00eatre optimiste mais il faut avancer !<\/p>\n<p><i>11 juillet 2018<\/i><\/p>\n<p>Fragments d&#8217;essence myrdienne: la guilde des inventeurs permet de sacrifier un objet pour tenter d&#8217;en obtenir un meilleur. Premi\u00e8re mouture.<\/p>\n<p><i>09 &amp; 10 juillet 2018<\/i><\/p>\n<p>Correction de bugs \u00e0 la pelle, trop long pour \u00eatre d\u00e9taill\u00e9.<br \/>\nLes syst\u00e8mes d&#8217;interaction PJs-PNJs a subi sa derni\u00e8re \u00e9volution, le code est \u00e0 pr\u00e9sent fig\u00e9 et je n&#8217;aurai plus qu&#8217;\u00e0 modifier le fichier chatter.2DA pour ajouter du contenu, bavardages, qu\u00eates, indications ou f\u00e9licitations. Tout cela tient en moins de 200 lignes de code et est, fort heureusement, abondamment comment\u00e9, parce que c&#8217;est du lourd !<br \/>\nLa n\u00e9cessit\u00e9 de re-downloader le dossier &#8216;override&#8217; \u00e0 chaque nouvelle version majeure du module est un inconv\u00e9nient, mais sortir toutes les donn\u00e9es du code vers des fichiers 2DA externes me permet de conserver un code tr\u00e8s r\u00e9duit et tr\u00e8s efficace sur lequel je ne dois plus jamais revenir.<br \/>\nC&#8217;est d&#8217;ailleurs ainsi que NWN est construit, le jeu repose sur des dizaines de fichiers 2DA qui contiennent toute la partie variable du jeu.<br \/>\nCela dit, il faudra que je me penche sur les effets de fichiers override diff\u00e9rents sur le serveur et le client, \u00e0 la limite, on s&#8217;en fout, \u00e0 voir.<\/p>\n<p><i>08 juillet 2018<\/i><\/p>\n<p>Le module est en ligne et en tests !<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-150\" src=\"http:\/\/192.168.1.201\/wordpress\/wp-content\/uploads\/2018\/09\/Allelujah.gif\" alt=\"\" width=\"320\" height=\"400\" \/><\/p>\n<p><i>07 juillet 2018<\/i><\/p>\n<p>J&#8217;ai termin\u00e9 le debugging de tous les syst\u00e8mes d&#8217;interaction, les \u00e9liminer tous m&#8217;a pris deux jours, surtout parce que tout ce travail a mis en lumi\u00e8re des bugs anciens que j&#8217;ai corrig\u00e9s au passage.<br \/>\nJe me demande comment tout cela va se traduire en plaisir de jouer, j&#8217;esp\u00e8re que ce travail n&#8217;aura pas \u00e9t\u00e9 inutile, parce que c&#8217;est juste \u00e9norme tout ce qui se passe \u00e0 travers des syst\u00e8mes multiples interd\u00e9pendants. Mon inqui\u00e9tude est qu&#8217;en groupe cela devienne vite la foire avec des salutations dans un coin, des \u00e9v\u00e9nements dynamiques qui poppent \u00e0 la figure des joueurs, le tout pendant qu&#8217;ils sont en train d&#8217;\u00e9couter deux conversations aussi diff\u00e9rentes qu&#8217;indispensables, etc.<\/p>\n<p>J&#8217;aurai fait ce que je pouvais, qui vivra verra !<br \/>\nMe reste \u00e0 compl\u00e9ter quelques fichiers 2DA avec les qu\u00eates et interactions d\u00e9j\u00e0 existantes et j&#8217;aurai fini.<br \/>\nFini voulant dire, en l&#8217;esp\u00e8ce, que je pourrai commencer.<br \/>\nComprenne qui pourra.<\/p>\n<p><i>06 juillet 2018<\/i><\/p>\n<p>F\u00e9licitations \u00e0 nos amis Fran\u00e7ais pour leur qualification en demi-finales de la Coupe du Monde, elle \u00e9tait m\u00e9rit\u00e9e ! C&#8217;est con, je dormais au moment du premier but, 35km en for\u00eat, trouv\u00e9 une nouvelle c\u00f4te \u00e0 faire se retourner le v\u00e9lo, pas pu r\u00e9sister, donc un peu fatigu\u00e9. Mais beau match \u00e0 part les simagr\u00e9es de Mbap\u00e9 !<\/p>\n<p>J&#8217;ai termin\u00e9 le syst\u00e8me d&#8217;interactions entre PJs et environnement, je peaufine. La seule chose qui m&#8217;inqui\u00e8te est la pointe de lag importante qui survient quand le syst\u00e8me va rechercher dans les fichiers de qu\u00eate l&#8217;interaction la plus pertinente \u00e0 proposer ; cela induit un freeze d&#8217;une seconde, mais pas dans tous les cas et je ne l&#8217;ai pas encore test\u00e9 sur le serveur Linux, \u00e7a devrait aller mieux.<br \/>\nTout se met gentiment en place, je dois encore r\u00e9soudre le probl\u00e8me des PNJs qui lancent l&#8217;interaction alors qu&#8217;ils ne sont pas les plus proches du PJ, j&#8217;aurai fini cela aujourd&#8217;hui et je vais pouvoir lancer un module de test.<\/p>\n<p>D\u00e8s que le module Myrda passera en beta, le module Althea sera d\u00e9connect\u00e9 d\u00e9finitivement. J&#8217;ai bien r\u00e9fl\u00e9chi, c&#8217;est ce qu&#8217;il y a de mieux \u00e0 faire.<\/p>\n<p><i>05 juillet 2018<\/i><\/p>\n<p>Derni\u00e8re ligne droite.<\/p>\n<p>Je mets la derni\u00e8re mains aux routines d&#8217;interaction PNJs-PJs, ce qui pourrait \u00eatre termin\u00e9 aujourd&#8217;hui ou prendre un peu plus de temps si les bugs sont trop lourds. Tous les syst\u00e8mes sont ind\u00e9pendants les uns des autres et se chevauchent dans leurs effets, j&#8217;avoue sans rougir avoir \u00e9t\u00e9 pouss\u00e9 dans mes derniers retranchements pour finaliser\u00a0ce projet.<br \/>\nPour r\u00e9sumer, voici les nouveaut\u00e9s par rapport \u00e0 Alth\u00e9a :<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td width=\"1633\">Toutes les portes m\u00e8nent quelque part, par d\u00e9faut sur des sc\u00e8nes de la vie quotidienne.<\/td>\n<\/tr>\n<tr>\n<td width=\"1633\">Lorsqu&#8217;un joueur passe \u00e0 proximit\u00e9 d&#8217;une porte, il est possible qu&#8217;un habitant en sorte pour l&#8217;interpeller. Pour mettre fin \u00e0 un cambriolage en cours, \u00e9teindre un incendie, espionner une confr\u00e9rie secr\u00e8te, explorer un passage r\u00e9v\u00e9l\u00e9 par des travaux, etc.<\/td>\n<\/tr>\n<tr>\n<td width=\"1633\">Lorsqu&#8217;un joueur arrive \u00e0 proximit\u00e9 d&#8217;un PNJ, en ville, \u00e0 la campagne ou dans une taverne, les PNJs pourront adresser des f\u00e9licitations aux joueur pour leurs hauts-faits.<\/td>\n<\/tr>\n<tr>\n<td width=\"1633\">Les PNJs, d\u00e8s qu&#8217;ils sont plusieurs, peuvent converser de sujet aussi triviaux que l&#8217;infid\u00e9lit\u00e9 de la boulang\u00e8re ou plus int\u00e9ressants comme les \u00e9v\u00e9nements de l&#8217;univers qui surviennent \u00e0 proximit\u00e9 et auxquels les joueurs peuvent participer. Ces conversations pourront apprendre beaucoup aux joueurs sur l&#8217;univers et ses protagonistes principaux.<\/td>\n<\/tr>\n<tr>\n<td width=\"1633\">Les informations obtenues pas les joueurs ne seront pas toujours directement exploitables et seront des \u00e9tapes dans des enqu\u00eates plus vastes dont les indices seront d\u00e9livr\u00e9s au fil des aventures pour g\u00e9n\u00e9rer des puzzles de grande envergure.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>J&#8217;ai quand m\u00eame un peu les jetons. C&#8217;est gros. Et si tout fonctionne de mani\u00e8re satisfaisante, je devrai encore travailler pour rendre les \u00e9v\u00e9nements ind\u00e9pendants du code, modifier un seul fichier 2DA externe \u00e9tant tout ce qui est n\u00e9cessaire pour d\u00e9velopper l&#8217;histoire. Mais \u00e7a, c&#8217;est pour plus tard, j&#8217;ai bien droit aussi \u00e0 quelques vacances, je travaille tous les jours sur ce projet depuis plus de deux mois, c&#8217;est excitant, mais aussi assez usant.<\/p>\n<p>Je vais d&#8217;urgence modifier le paradigme de loot, je n&#8217;aime pas celui d&#8217;Althea qui donne syst\u00e9matiquement les m\u00eames objets pris dans la production artisanale (que je vais aussi devoir revoir).<br \/>\nA pr\u00e9sent, le loot sera cr\u00e9\u00e9 selon ces modalit\u00e9s, encore en cours d&#8217;\u00e9valuation :<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td width=\"37\">1<\/td>\n<td width=\"333\">Nombre d&#8217;objets<\/td>\n<td width=\"883\">1 de 1 \u00e0 5; 2 de 2 \u00e0 9; 3 de 6 \u00e0 19; 4 de 15 \u00e0 30; 5 de 20 \u00e0 40<\/td>\n<\/tr>\n<tr>\n<td width=\"37\">2<\/td>\n<td width=\"333\">Nombre de propri\u00e9t\u00e9s par objet<\/td>\n<td width=\"883\">1 de 1 \u00e0 12; 2 de 6 \u00e0 16; 3 de 9 \u00e0 25; 4 de 23 \u00e0 40; 5 de 35 \u00e0 40<\/td>\n<\/tr>\n<tr>\n<td width=\"37\">3<\/td>\n<td width=\"333\">Puissance des propri\u00e9t\u00e9s<\/td>\n<td width=\"883\">M\u00eame principe<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Comme les objets de l&#8217;univers peuvent se briser, je peux prendre le risque de cr\u00e9er un objet l\u00e9gendaire qui aurait, par exemple, +20 toucher, +20 d\u00e9g\u00e2ts, +10 vampirique, + 10 r\u00e9g\u00e9n\u00e9ration, et, soyons fou, 80% de r\u00e9sistance \u00e0 la magie. Comme ce type d&#8217;objet brillerait comme un miroir de bordel lors du test de probabilit\u00e9 de casser, j&#8217;envisage de pouvoir renforcer un objet pour lui \u00e9viter une ou deux casses. Ce qui co\u00fbtera un bras, bien \u00e9videmment.<\/p>\n<p>C&#8217;est tout pour aujourd&#8217;hui.<\/p>\n<p><i>04 juillet 2018<\/i><\/p>\n<p>Joyeuse f\u00eate nationale \u00e0 nos amis am\u00e9ricains. Y en a pas ? Et alors, \u00e7a n&#8217;emp\u00eache pas d&#8217;\u00eatre urbain !<\/p>\n<p>Bon, les musiques, c&#8217;est caca. Elle est o\u00f9 la poulette ?<br \/>\nJ&#8217;ai bien refait le ambientmusic.2DA tout comme il faut, ajoutant dans la colonne Stinger2 \u00e0 l&#8217;\u00e9vidence inutilis\u00e9e, une matrice de bits cens\u00e9e me permettre de rendre les musiques dynamiques. Le hic, c&#8217;est que je ne vois pas tr\u00e8s bien o\u00f9 \u00e7a me m\u00e8ne, mais, pour r\u00e9f\u00e9rence future, ces informations sont :<\/p>\n<table border=\"0\" frame=\"VOID\" rules=\"NONE\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td align=\"center\" width=\"86\" height=\"17\">Combat<\/td>\n<td align=\"center\" width=\"86\">Dynamique<\/td>\n<td align=\"center\" width=\"86\">R\u00eaverie<\/td>\n<td align=\"center\" width=\"86\">Jour<\/td>\n<td align=\"center\" width=\"86\">Nuit<\/td>\n<td align=\"center\" width=\"86\">Taverne<\/td>\n<td align=\"center\" width=\"86\">Ville<\/td>\n<td align=\"center\" width=\"86\">Campagne<\/td>\n<td align=\"center\" width=\"86\">Donjon<\/td>\n<td align=\"center\" width=\"86\">Magique<\/td>\n<td align=\"center\" width=\"86\">Religion<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Ca peut toujours servir si je mets r\u00e9ellement en fonction un jour un syst\u00e8me dynamique.<br \/>\nPour le moment, je pr\u00e9f\u00e8re choisir la musique d&#8217;une zone une fois pour toutes, voire n&#8217;en mettre aucune parce que tout le temps les m\u00eame musiques, \u00e7a \u00e9nerve, et balancer des musiques sp\u00e9ciales \u00e0 la fin des donjons qui le m\u00e9ritent.<br \/>\nAttendez-vous \u00e0 la musique de Sign\u00e9 Furax \u00e0 la fin du Vienzyvwar !<br \/>\nDes figues, des bananes, des noix !<\/p>\n<p>Bon, je m&#8217;attaque aux conversations de PNJs d&#8217;ambiance, source d&#8217;informations pour les PJs.<br \/>\nC&#8217;est un gros morceau, je me demande si je n&#8217;ai pas repouss\u00e9 l&#8217;\u00e9ch\u00e9ance autant que j&#8217;ai pu&#8230;<\/p>\n<p><i>03 juillet 2018<\/i><\/p>\n<p>Ah ! D\u00e9cid\u00e9ment certaines choses ne changent pas. J&#8217;ai commenc\u00e9 \u00e0 \u00e9ponger les bugs des autres en 1989 quand je suis devenu d\u00e9veloppeur officiel Apple. A cette \u00e9poque, nous n&#8217;avions pas l&#8217;Internet (si ! y a des gens qui ont connu un monde sans Internet, tu arr\u00eates de ricaner et tu sors !) et je communiquais avec les ing\u00e9nieurs d&#8217;Apple par modem 9600 bauds (soit 1,2 kilobytes\/seconde, tout de m\u00eame, ce qui ne prendrait jamais que 700 heures pour transf\u00e9rer un film HD de 3Go&#8230;). Tous les logiciels Apple \u00e9taient alors d\u00e9velopp\u00e9s en Object Pascal (excellent language au demeurant, tr\u00e8s propre, extr\u00eamement facile \u00e0 maintenir, c&#8217;est pour cela qu&#8217;ils l&#8217;ont abandonn\u00e9 pour choisir le C#, qui fait la m\u00eame chose mais est tellement plus facile \u00e0 saloper) et il m&#8217;est arriv\u00e9 de perdre des dizaines d&#8217;heures, si pas des centaines, pour d\u00e9busquer un bug coton du genre qui se produit une fois sur 1000 uniquement pour me rendre compte qu&#8217;il venait d&#8217;Apple, made in USA Baby! Penses-tu qu&#8217;avec tout ce travail fourni pour ce ramassis d&#8217;ingrats les ind\u00e9pendants auraient eu droit ne serait-ce qu&#8217;\u00e0 une remise de 50% sur le matosse ? Que dalle ! Fallait m\u00eame payer sa bouffe et son h\u00f4tel pour assister aux grand-messes (difficile d&#8217;appeler autrement les s\u00e9ances de bourrage de mou qu&#8217;\u00e9taient les Apple Developper Conferences). Vingt-cinq ans plus tard, ils n&#8217;ont pas fini de prendre les gens pour des cons et \u00e7a marche toujours, dis-donc !<\/p>\n<p>Tout au long de ma carri\u00e8re, les m\u00eames causes ont produit les m\u00eames effets : des mecs qui programment comme des cochons et qui s&#8217;imaginent que plus c&#8217;est d\u00e9gueulasse plus c&#8217;est pro. Le summum c&#8217;est quand je suis pass\u00e9 sur Unix, l\u00e0 tu peux dire qu&#8217;on en voit des s\u00e9rieux, de ceux qui t&#8217;affichent voluptueusement leurs rang\u00e9es de dents cari\u00e9es en te montrant un fragment de code de vingt lignes o\u00f9 aucun mot ne d\u00e9passe trois caract\u00e8res, noy\u00e9s dans une bouillie infecte de caract\u00e8res sp\u00e9ciaux empip\u00e9s les uns dans les autres. Les m\u00eames mecs qui pourrissent les forums Linux \u00e0 r\u00e9pondre des \u00e2neries dans tous les sens sur tous les fils uniquement pour se faire contredire par le rat de salle machine suivant, aussit\u00f4t contredit lui-m\u00eame par un autre zozo, tout ce petit monde perdant joyeusement un temps fou, le leur et celui de la pauvre pomme (moi) qui cherche juste un segment de code qui fonctionne \u00e0 peu pr\u00e8s.<\/p>\n<p>Bon, bref, j&#8217;aurais voulu cacher plus longtemps que je ne supporte pas les gens qui se font appeler informaticiens parce qu&#8217;ils ont soit un dipl\u00f4me soit de l&#8217;enthousiasme, mais c&#8217;est rat\u00e9. Note qu&#8217;il y a des gens bien partout, m\u00eame si la plupart ne valent pas le prix du clavier pour leur bouziller la tronche.<br \/>\nSoit, j&#8217;en viens au fait : j&#8217;ai perdu un temps b\u00eate pour contourner le bug de DeleteCampaignDatabase pr\u00e9sent dans le code serveur Linux de Bioware. J&#8217;avais rempli un bug report et 28 jours plus tard aucun d\u00e9veloppeur de Beamdog n&#8217;avait encore daign\u00e9 se pencher dessus.<br \/>\nC&#8217;est chose faite\u00a0! Un de leurs ing\u00e9nieurs m&#8217;a inform\u00e9 (sans trembler des genoux) que le code Linux cr\u00e9e les fichiers de bases de donn\u00e9es avec des extensions en minuscules (.dbf, .cdx, .fpt donc) mais que ce m\u00eame code exige que ces m\u00eames extensions soient en majuscules pour d\u00e9truire les fichiers qu&#8217;il a lui-m\u00eame cr\u00e9\u00e9s. Tu t&#8217;imagines depuis combien d&#8217;ann\u00e9es ce bug dort peinard au fond de leur code !<\/p>\n<p>Du coup, je d\u00e9zingue tout le syst\u00e8me que j&#8217;avais programm\u00e9 pour contourner le bug et en attendant le prochain patch j&#8217;ajoute \u00e0 mon cron de backup quotidien :<br \/>\n<span style=\"font-family: Courier;\">cd &#8216;~\/.local\/share\/Neverwinter Nights\/database&#8217;<br \/>\nrename &#8220;s\/\\.dbf$\/.DBF\/&#8221; *.dbf<br \/>\nrename &#8220;s\/\\.fpt$\/.FPT\/&#8221; *.fpt<br \/>\nrename &#8220;s\/\\.cdx$\/.CDX\/&#8221; *.cdx<br \/>\n<\/span>Comme \u00e7a, une fois par jour, les fichiers peuvent \u00eatre d\u00e9truits pour repartir d\u00e9graiss\u00e9s, tout beaux, tout neufs.<\/p>\n<p>Au niveau production du module, j&#8217;ai travaill\u00e9 sur les musiques, bien d\u00e9cevantes je dois le dire, le son du hautbois synth\u00e9tique est particuli\u00e8rement r\u00e9barbatif. Je ne sais finalement pas si je vais faire usage de ce hak de musiques, je prendrai cette d\u00e9cision aujourd&#8217;hui. C&#8217;est la derni\u00e8re chose \u00e0 faire, je reprends les tests apr\u00e8s \u00e7a.<\/p>\n<p><i>02 juillet 2018<\/i><\/p>\n<p>Termin\u00e9 le placement des objets que l&#8217;on peut emporter en donjon pour les placer dans sa maison. J&#8217;ai ajout\u00e9 un faisceau de lumi\u00e8re bleue sous l&#8217;objet pour mieux indiquer qu&#8217;il peut \u00eatre emport\u00e9, sans quoi certains sont tellement int\u00e9gr\u00e9s au d\u00e9cor qu&#8217;ils passent inaper\u00e7us et le but n&#8217;est pas de faire se promener le joueur dans le donjon \u00e0 cliquer sur tous les meubles !<\/p>\n<p>Termin\u00e9 les emplacements de cartes au tr\u00e9sor. Althea proposait une s\u00e9rie de cartes contigu\u00ebs pour rechercher les tr\u00e9sors ; cartes d\u00e9sesp\u00e9r\u00e9ment vides donc. J&#8217;ai pr\u00e9f\u00e9r\u00e9 diss\u00e9miner les emplacements de tr\u00e9sor partout dans l&#8217;univers et donner des indications significatives sur la carte pour les retrouver, ce qui \u00e9vite ces zones vides un peu inutiles.<\/p>\n<p>J&#8217;attaque le classement des musiques de mani\u00e8re \u00e0 concr\u00e9tiser le jukebox et le syst\u00e8me de musiques al\u00e9atoires dans les diff\u00e9rentes zones. Apr\u00e8s cela je devrai introduire le background de l&#8217;univers \u00e0 la m\u00e9moire du Monde et j&#8217;aurai termin\u00e9 tout ce que je comptais faire avant la beta.<\/p>\n<p><i>01 juillet 2018<\/i><\/p>\n<p>Dure journ\u00e9e ! Aujourd&#8217;hui avait lieu la traditionnelle Francorchampionne, randonn\u00e9e VTT aux alentours du circuit de Spa-Francorchamps dans les Ardennes belges. Mon fils voulait parcourir les 35km avec Papa, le hic c&#8217;est qu&#8217;un d\u00e9nivel\u00e9 de 915m \u00e9tait annonc\u00e9. Et \u00e7a a fait mal, tr\u00e8s mal. Pas trop pour lui, il a 14 ans le bougre, mais \u00e0 56 balais, relativement peu entra\u00een\u00e9 cette saison, j&#8217;ai quand m\u00eame laiss\u00e9 de ma superbe dans la poussi\u00e8re.<br \/>\nEnfin, nous avons boucl\u00e9 nos parcours, tous les trois avec ma femme.<\/p>\n<p>Du coup, je vais jeter un oeil aux cartes au tr\u00e9sor ce soir si seulement j&#8217;en trouve l&#8217;\u00e9nergie, j&#8217;ai vraiment mal partout l\u00e0&#8230;<\/p>\n<p><i>30 juin 2018<\/i><\/p>\n<p>J&#8217;ai trouv\u00e9 un bug dans mes routines de bases de donn\u00e9es, on dirait que tout fonctionne correctement \u00e0 pr\u00e9sent. Tout \u00e7a parce que DestroyCampaignObject ne fonctionne pas sur Linux, je suis donc contraint, pour \u00e9viter l&#8217;inflation infinie des bases o\u00f9 les records ne sont jamais d\u00e9truits mais plut\u00f4t marqu\u00e9s d\u00e9truits, de cr\u00e9er de nouveaux fichiers chaque mois de jeu. Avec un peu de chance je ne devrai plus y revenir.<br \/>\nJ&#8217;ai remis en service le serveur Linux de secours pour faire des tests NWNX dessus, m\u00eame si NWNX ne fonctionne pas sous Windows et me rendrait le d\u00e9veloppement plus difficile &#8211; j&#8217;ai autre chose \u00e0 faire que perdre du temps avec des <b>outils<\/b> !-, et je me suis rendu compte que le serveur d\u00e9gageait une dr\u00f4le d&#8217;odeur : le ventilateur de l&#8217;alimentation est mort. Bon, je pourrais changer le ventilo, ou changer l&#8217;alim, mais \u00e7a fait encore des frais et du temps perdu, donc je mise tout sur l&#8217;impl\u00e9mentation actuelle des bases de donn\u00e9es et ne compte pas aller plus avant avec NWNX sauf si les conditions devaient changer.<br \/>\nJe dois quand m\u00eame remettre en \u00e9tat le serveur de secours, cela dit&#8230;<\/p>\n<p>A partir d&#8217;aujourd&#8217;hui je parcours ma todo list pour faire en sorte que le module soit termin\u00e9 dans les jours qui viennent.<br \/>\nJe travaille actuellement \u00e0 replacer les meubles rares dans l&#8217;univers. Fastidieux&#8230;<\/p>\n<p><i>29 juin 2018<\/i><\/p>\n<p>Maintenance serveur pour installer le ventirad. Les r\u00e9sultats sont \u00e0 la hauteur des esp\u00e9rances, chaque coeur ne d\u00e9passe plus les 25\u00b0, soit la temp\u00e9rature de la cave.<br \/>\nA voir lorsque je d\u00e9briderai le serveur. Confiant.<\/p>\n<p>Debugging incr\u00e9mentation bases de donn\u00e9es en cours. Ca doit \u00eatre une connerie mais \u00e7a bouffe du temps et de l&#8217;\u00e9nergie. Je suis vraiment en train d&#8217;h\u00e9siter \u00e0 tout repasser sur NWNX, mais je n&#8217;ai pas le temps (et \u00e7a me fout les jetons).<\/p>\n<p><i>28 juin 2018<\/i><\/p>\n<p>Debugging derni\u00e8re qu\u00eate dynamique pratiquement termin\u00e9, j&#8217;ai rencontr\u00e9 des probl\u00e8mes \u00e0 cause de PNJs qui passent une porte sans qu&#8217;on leur ait rien demand\u00e9 et qui, du coup, rendent inop\u00e9rant leur syst\u00e8me de d\u00e9placement par coordonn\u00e9es. Le probl\u00e8me est identifi\u00e9 et cern\u00e9, mais le fix n&#8217;est pas propre. Mais alors, pas propre du tout ! M&#8217;enfin, c&#8217;est un fix, si je devais aller au fond des choses pour tout j&#8217;y serais toujours l&#8217;ann\u00e9e prochaine. Note que j&#8217;y serai toujours l&#8217;ann\u00e9e prochaine, mais sur autre chose !<\/p>\n<p><i>27 juin 2018<\/i><\/p>\n<p>Je viens de commander un nouveau ventirad pour le serveur, je n&#8217;aime pas le voir caracoler vers les 75\u00b0C, il devrait gagner pr\u00e8s d&#8217;une vingtaine de degr\u00e9s dans l&#8217;aventure.<\/p>\n<p>J&#8217;ai presque termin\u00e9 la derni\u00e8re qu\u00eate dynamique d&#8217;habitations je dois choisir quoi faire ensuite, de :<br \/>\n&#8211; monter le paladin niveau 10 pour voir \u00e9valuer l&#8217;exp\u00e9rience de jeu \u00e0 bas niveau<br \/>\n&#8211; d\u00e9bugger les bases de donn\u00e9es qui n&#8217;ont pas encore le comportement que je souhaite<br \/>\n&#8211; remettre en jeu les rares de d\u00e9coration<br \/>\n&#8211; remettre en jeu les cartes au tr\u00e9sor<br \/>\n&#8211; retravailler la m\u00e9moire du monde avec introduction du background<\/p>\n<p>Je verrai bien, mais je crois que l&#8217;essentiel, c&#8217;est les bases de donn\u00e9es.<\/p>\n<p>Une id\u00e9e m&#8217;est venue aujourd&#8217;hui en \u00e9crivant un SetEventScript pour les cultistes de Baltus: il est r\u00e9alisable de construire soi-m\u00eame l&#8217;intelligence artificielle de PNJs pour en faire les soldats que l&#8217;on veut pour d\u00e9fendre sa forteresse, ou aller poutrer le voisin.<\/p>\n<p><i>26 juin 2018<\/i><\/p>\n<p>D\u00e9j\u00e0 deux mois que j&#8217;ai repris le projet. Sans plus avoir touch\u00e9 le moindre outil de programmation depuis quinze ans, c&#8217;\u00e9tait chaud !<br \/>\nL\u00e0, je me suis bien remis dans le bain, les r\u00e9flexes sont revenus, les outils sont excellents, pas un seul crash serveur depuis la mise en service, le seul souci est le temps.<br \/>\nLa beta va ouvrir bient\u00f4t, la fin du tunnel est proche, et les outils dont je dispose sont au top surtout avec mon nouvel i7. Mais le temps manque.<br \/>\nMettre un projet pareil sur les rails, c&#8217;est juste \u00e9norme.<br \/>\nIl ne s&#8217;agit pas de causer, l\u00e0, de faire des r\u00e9unions, de serrer des mains et de faire semblant d&#8217;\u00eatre utile.<br \/>\nFaut produire !<br \/>\nEt quand \u00e7a plante, y a pas d&#8217;excuses, le bonhomme est facile \u00e0 d\u00e9signer, il n&#8217;y a qu&#8217;\u00e0 pointer du doigt !<\/p>\n<p>Bon, dans un premier temps, ce ne sera pas parfait, le module ne sera pas \u00e0 la moiti\u00e9 de ce que je souhaite, le site web est risible (mais fonctionnel, pas de temps perdu en chichis !) et je ne pourrai pas humainement avoir pu tout tester avant l&#8217;ouverture.<br \/>\nQu&#8217;importe, au fil des semaines tout va se remettre en place et je vais pouvoir lancer l&#8217;histoire ma\u00eetresse dont je jette d\u00e9j\u00e0 des bases dans les qu\u00eates de novice.<\/p>\n<p>Je pourrai dire que le module sera op\u00e9rationnel quand je pourrai me permettre de ressortir 3DSMax et de recommencer \u00e0 cr\u00e9er des mod\u00e8les. L\u00e0, on sera \u00e0 nouveau dans la routine !<br \/>\nLe chemin est encore long.<br \/>\nTant mieux !<\/p>\n<p><i>25 juin 2018<\/i><\/p>\n<p>Installation d&#8217;un SSD debranded dans la machine de ma femme = une demi-journ\u00e9e de perdue, aucun logiciel de transfert de syst\u00e8me gratuit n&#8217;a justifi\u00e9 un bon vieux re-install Windows 8, tout beau, tout propre et au passage la mise sur orbite de tous les bookmarks Firefox de ma femme, qui ne fait pas de backups et ne se connecte pas sur le Firefox Sync. Comme pr\u00e9vu, apr\u00e8s la r\u00e9installation d&#8217;une t\u00e9trachi\u00e9e de drivers et de logiciels divers et une machine deux fois plus rapide, y a pas mes jeux, y plus mes bookmarks, mon wallpaper est trop grand, tirage de gueule et pas un merci. Mon p\u00e8re m&#8217;avait pr\u00e9venu.<\/p>\n<p>Bon, c&#8217;est pas tout \u00e7a, j&#8217;ai termin\u00e9 deux qu\u00eates dynamiques. Il reste du boulot et je commence \u00e0 fatiguer. C&#8217;est complexe, \u00e9norm\u00e9ment d&#8217;implications ind\u00e9pendantes, j&#8217;ai mis au point des syst\u00e8mes puissants qui seront tr\u00e8s utiles, mais j&#8217;en ai marre, j&#8217;ai envie de monter mon paladin et d&#8217;aller tester toutes les zones du jeu.<\/p>\n<p><i>24 juin 2018<\/i><\/p>\n<p>Tous les syst\u00e8mes sont en place et op\u00e9rationnels, je scripte les qu\u00eates. Peu de temps aujourd&#8217;hui pour cause de visite au 4\u00e8me G\u00e9nie d&#8217;Amay. Sympa la ballade en bateau de combat, j&#8217;ai failli me retrouver \u00e0 la Meuse. Enfin, \u00e0 partir du moment o\u00f9 le pilote trouvait fun de rentrer en collision avec le bateau de ses petits camarades, il fallait s&#8217;attendre \u00e0 tout ! Rien de tel que les plaisirs simples.<\/p>\n<p><i>23 juin 2018<\/i><\/p>\n<p>En fait je n&#8217;aime vraiment pas utiliser les PNJs d&#8217;ambiance pour lancer les qu\u00eates, \u00e7a me chipote depuis un petit temps. Il arrivera que le joueur soit en campagne et ne rentre pas en ville ; il ne croisera donc pas de PNJ, mais par contre ne se trouvera pas tr\u00e8s loin de b\u00e2timents. En plus, le PNJ qui sort par une porte a un meilleur effet sc\u00e9nique que celui qui glandouillait sur la place et soudain se retourne vers le joueur. Je lance donc un \u00e9v\u00e9nement sur le joueur quand il rentre dans une zone avec des DYNA_DOOR, et d\u00e8s qu&#8217;il s&#8217;approche \u00e0 moins de 35 m\u00e8tres de l&#8217;une de ces portes, je lance la cin\u00e9matique.<\/p>\n<p>Pour le moment, les qu\u00eates que j&#8217;introduis sont : cambriolage en cours, incendie, passage secret vers catacombes d\u00e9couvert lors de travaux et toute id\u00e9e qui me viendra, c&#8217;est d\u00e9j\u00e0 pas mal pour mettre le syst\u00e8me en route.<\/p>\n<p>Je dois finir tout cela le plus vite possible pour reprendre le testing avec mon paladin.<\/p>\n<p>inc_peuplement a \u00e9t\u00e9 assez profond\u00e9ment modifi\u00e9 pour tenir compte des nouvelles fonctionnalit\u00e9s de personnalisation des PNJs. RandomizeNPC est une nouvelle fonction qui permet de changer l&#8217;apparence\/race d&#8217;un PNJ cr\u00e9\u00e9 m\u00eame hors du syst\u00e8me de peuplement.<\/p>\n<p><i>22 juin 2018<\/i><\/p>\n<p>J&#8217;ai commenc\u00e9 le scripting des qu\u00eates Lagard\u00e8re. Oui, euh.. r\u00e9f\u00e9rence ancienne&#8230; &#8220;Si tu ne vas pas \u00e0 Lagard\u00e8re, <a href=\"https:\/\/fr.wikipedia.org\/wiki\/Lagard%C3%A8re_(mini-s%C3%A9rie)\">Lagard\u00e8re<\/a> ira-t-\u00e0-toi&#8221;, pataqu\u00e8s fameux, utilis\u00e9 ici pour exprimer que c&#8217;est la qu\u00eate qui va au joueur et pas le joueur qui va \u00e0 la qu\u00eate. Oui, \u00e7a marche aussi avec Chuck Norris.<br \/>\nJ&#8217;ai finalement retenu le principe des PNJs d&#8217;ambiance qui, en priorit\u00e9 sur les messages de f\u00e9licitations, proposent les qu\u00eates que le joueur n&#8217;a pas encore accomplies aussi bien que les qu\u00eates al\u00e9atoires d&#8217;habitations.<\/p>\n<p>J&#8217;ai rendu compl\u00e8tement al\u00e9atoires les apparences des PNJs, les r\u00e9p\u00e9titions se voyaient vraiment trop et l&#8217;immersion n&#8217;y \u00e9tait pas, je n&#8217;ai pas pu y couper.<br \/>\nVoici ce qui change :<br \/>\n&#8211; deux blueprints uniques, human001, m\u00e2le, et human002, femelle, \u00e0 partir desquels toutes les races sont d\u00e9riv\u00e9es<br \/>\n&#8211; t\u00eates diff\u00e9rentes pour les hommes et pour les femmes, minimum 10 pour certaines races, maximum 30 pour les humains<br \/>\n&#8211; 175 couleurs de cheveux pour les femmes, 24 pour les hommes (qui \u00e9taient ridicules avec 175&#8230;)<br \/>\n&#8211; 10% de chances d&#8217;avoir un gros<br \/>\n&#8211; variance de taille de 30%<br \/>\n&#8211; 6 couleurs de peau<br \/>\n&#8211; 175 couleurs pour les tissus, cuir et m\u00e9tal<br \/>\n&#8211; Noms al\u00e9atoires.<\/p>\n<p><i>21 juin 2018<\/i><\/p>\n<p>J&#8217;ai augment\u00e9 le hakpak d&#8217;un petit truc tout con mais bien pratique : un hak qui permet de masquer la minimap pour ne pas que l&#8217;on voie les diff\u00e9rents \u00e9l\u00e9ments de tileset diss\u00e9min\u00e9s sans relation les uns avec les autres, ce qui arrive forc\u00e9ment sur une carte qui inclut les diff\u00e9rents parties\/\u00e9tages d&#8217;une maison. Il suffit de d\u00e9finir une zone plus haute que large d&#8217;une case pour que le hak prenne effet. Simple et efficace.<br \/>\nCela va \u00e9galement me permettre d&#8217;utiliser les plaques de t\u00e9l\u00e9portation invisibles en donjon, \u00e7a fait toujours rire les petits et les grands, \u00e7a !<\/p>\n<p>J&#8217;ai termin\u00e9 le mapping des b\u00e2timents type. On peut \u00e0 pr\u00e9sent ouvrir n&#8217;importe quelle porte, et \u00e0 Syrthe \u00e7a en fait quand m\u00eame pr\u00e8s de 40, et p\u00e9n\u00e9trer dans une habitation al\u00e9atoire, que je prends le parti de ne pas d\u00e9truire quand les joueurs l&#8217;ont quitt\u00e9e, c&#8217;est plus r\u00e9aliste.<\/p>\n<p>Je n&#8217;ai plus qu&#8217;\u00e0 scripter les diff\u00e9rentes qu\u00eates possible dans ces zones, ce n&#8217;est pas le plus compliqu\u00e9. Le seul truc compliqu\u00e9 qu&#8217;il me reste \u00e0 faire, c&#8217;est d&#8217;impl\u00e9menter les m\u00e9canismes par lesquels les PNJs vont inciter les joueurs \u00e0 rentrer dans ces maisons, et leur rappeler les qu\u00eates qu&#8217;il leur reste \u00e0 accomplir.<\/p>\n<p><i>20 juin 2018<\/i><\/p>\n<p>Le serveur web est sorti de DMZ. Ca n&#8217;a l&#8217;air de rien, comme \u00e7a, mais \u00e7a fait plus d&#8217;un an que mon NAS \u00e9tait en DMZ, expos\u00e9 \u00e0 tous les vents, parce que mon routeur ne conservait pas les tables de routage au reboot. Pour je ne sais quelle raison&#8230; ah si ! j&#8217;ai chang\u00e9 le routeur ! bon, soit, maintenant les tables de routage ne s&#8217;effacent plus au reboot et j&#8217;ai donc pu remettre le NAS au chaud derri\u00e8re le firewall. Ce qui signifie que mes ports 21 et 22 sont maintenant uniquement accessibles en local et que je n&#8217;aurai plus de chinois ou de ruskof \u00e0 venir me sniffer r\u00e9guli\u00e8rement.<\/p>\n<p>J&#8217;ai presque termin\u00e9 les zones dynamiques derri\u00e8re les portes de la ville, ce qui va me permettre de lancer des qu\u00eates al\u00e9atoires. J&#8217;ai malheureusement perdu un peu de temps hier \u00e0 modifier les routines de la garde pour permettre aux PNJs d&#8217;utiliser ses points de passage pour la routine de NWN WalkWayPoints() qui s&#8217;est av\u00e9r\u00e9e bugg\u00e9e : les PNJs vont erratiquement d&#8217;un WP \u00e0 un autre, faisant demi-tour plusieurs fois \u00e0 intervalles irr\u00e9guliers pour je ne sais quelle raison. Inutilisable, temps perdu, je devrai \u00e9crire mon propre code. Soit.<\/p>\n<p><i>19 juin 2018<\/i><\/p>\n<p>J&#8217;ai renonc\u00e9 au syst\u00e8me de r\u00e9compenses par am\u00e9lioration d&#8217;un objet d\u00e9j\u00e0 port\u00e9, remplac\u00e9 par le spawn d&#8217;un coffre contenant une grande vari\u00e9t\u00e9 d&#8217;objets +1 qui se d\u00e9truit d\u00e8s que le joueur en a pris un. C&#8217;est plus simple et plus efficace.<\/p>\n<p>Le syst\u00e8me de f\u00e9licitations est achev\u00e9. Les PNJs congratulent les joueurs qu&#8217;ils croisent apr\u00e8s qu&#8217;ils aient accompli un fait notable. Je suis toujours en train de travailler \u00e0 la deuxi\u00e8me partie du syst\u00e8me, celle qui place sur le chemin des joueurs des PNJs qui leur communiquent les actions \u00e0 accomplir. Aujourd&#8217;hui, je compte terminer le syst\u00e8me d&#8217;ouverture de portes dynamiques et peut-\u00eatre d\u00e9j\u00e0 quelques animations\/donjons derri\u00e8re ces portes. Je dois de mani\u00e8re urgente fournir assez de contenu pour amener les joueurs niveau 10.<\/p>\n<p><i>18 juin 2018<\/i><\/p>\n<p>Du tr\u00e8s gros boulot en cours. Terminer les syst\u00e8mse d&#8217;interaction entre joueurs et univers, syst\u00e8me de r\u00e9compenses par am\u00e9lioration d&#8217;un objet d\u00e9j\u00e0 port\u00e9 et cr\u00e9ation dynamique d&#8217;instances en ouvrant les portes qui se pr\u00e9sentent et qui ne seront plus syst\u00e9matiquement verrouill\u00e9es comme sur Althea mais bien des ouvertures vers des rencontres\/donjons al\u00e9atoires.<\/p>\n<p>Je m\u00e8ne les trois chantiers de front car les implications sont tr\u00e8s nombreuses et je pr\u00e9f\u00e8re ralentir la cadence de codage pour minimiser le risque d&#8217;emprunter une mauvaise voie, qui m&#8217;obligerait \u00e0 d\u00e9faire et refaire un syst\u00e8me.<\/p>\n<p><i>17 juin 2018<\/i><\/p>\n<p>Toyota a enfin gagn\u00e9 Le Mans ! Ben il \u00e9tait temps, apr\u00e8s 20 participations ! J&#8217;ai travaill\u00e9 sur les PNJs, habits, couleur de peau, des tas de choses que je ne vais pas lister, ce serait trop long. Je progresse \u00e9galement dans la mani\u00e8re de cerner les interactions entre les joueurs et l&#8217;univers. Je crois que ce sera bien. Je n&#8217;en suis pas s\u00fbr parce que je ne l&#8217;ai jamais vu impl\u00e9ment\u00e9 nulle part, et pourtant j&#8217;en ai vu des jeux !<\/p>\n<p>Je continue \u00e0 tester avec mon paladin, je me rends compte que les qu\u00eates ne permettent pas de progresser \u00e0 vitesse suffisante et que les monstres donnent des XPs d\u00e9risoires &#8211; et que de toutes fa\u00e7ons c&#8217;est totalement contraire \u00e0 ma conception des choses de farmer du mob pour pexer !<\/p>\n<p>Tant de choses \u00e0 faire !<\/p>\n<p><i>16 juin 2018<\/i><\/p>\n<p>J&#8217;ai replant\u00e9 les arbres rares o\u00f9 on peut s&#8217;attendre \u00e0 les trouver. Fin du travail sur la conversion des bases de donn\u00e9es, c&#8217;est satisfaisant sans \u00eatre parfait. Parfait &#8211; presque puisqu&#8217;il ne fonctionne pas sur Windows &#8211; ce serait NWNX, mais ce machin est un vrai foutoir, je m&#8217;en m\u00e9fie comme de la peste, c&#8217;est une solution de dernier recours.<\/p>\n<p><i>15 juin 2018<\/i><\/p>\n<p>J&#8217;ai modifi\u00e9 le syst\u00e8me NBDE pour tenir compte du bug qui emp\u00eache Linux de d\u00e9truire un fichier de base de donn\u00e9es par la commande DestroyCampaignDatabase. Ainsi, chaque flush, qui \u00e9crit toute la base sur disque d&#8217;un coup, fera d\u00e9sormais pr\u00e9c\u00e9der le nom de fichier de l&#8217;ann\u00e9e et du mois courants du jeu. Puisqu&#8217;il m&#8217;est impossible de nettoyer les records marqu\u00e9s deleted dans les bases, je cr\u00e9erai un fichier tout beau tout propre \u00e0 chaque mois de jeu. Il me suffira d&#8217;\u00e9crire un petit script que je mettrai dans le crontab pour flinguer les fichiers obsol\u00e8tes. Les machines d&#8217;aujourd&#8217;hui s&#8217;en foutent un peu de la taille des fichiers et aller chercher un record dans une base de 1Go est la m\u00eame chose que dans une base de 1Ko mais je suis de la vieille \u00e9cole, quand c&#8217;est pas propre \u00e7a m&#8217;agace.<\/p>\n<p>Cette technique a quand m\u00eame un inconv\u00e9nient : je suis oblig\u00e9 de forcer un flush de toutes les bases d\u00e8s que je d\u00e9tecte que le mois change.<br \/>\n<span style=\"font-family: Courier New; font-size: xx-small;\">\/\/ Flush de toutes les bases de donn\u00e9es si le mois a chang\u00e9 pour garantir des fichier DB propres<br \/>\nvoid FlushAllDatabases() {<br \/>\nint i=1;<br \/>\nfor (i=1; i&lt;=kDatabases; i++) {<br \/>\nDelayCommand(2.0*i, NBDE_FlushCampaignDatabase(GetLocalString(GetModule(), &#8220;date&#8221;)+leading_zero(i,2)));<br \/>\n}<br \/>\n}<\/span><\/p>\n<p>L&#8217;autre inconv\u00e9nient, c&#8217;est que les noms de fichiers ne veulent plus rien dire, mais cette proc\u00e9dure me garantit (pour autant que kDatabases soit bien mis \u00e0 jour !) un Flush correct de toutes les bases sans rien oublier. C&#8217;est mod_onuserdef qui d\u00e9termine quand changer les noms de fichiers<br \/>\n<span style=\"font-family: Courier New; font-size: xx-small;\">string sS=leading_zero(GetCalendarYear(), 4)+leading_zero(GetCalendarMonth(), 2);<br \/>\nif (sS!=GetLocalString(GetModule(), &#8220;date&#8221;)) {<br \/>\nSetLocalString(GetModule(), &#8220;date&#8221;, sS);<br \/>\nFlushAllDatabases(); }<\/span><\/p>\n<p>C&#8217;est \u00e9norm\u00e9ment de changements et ce n&#8217;est pas compatible avec Althea, je devrai donc au minimum copier et renommer le fichier des points d&#8217;artisanat lors de l&#8217;ouverture du module, en pr\u00e9venant que les points gagn\u00e9s sur un monde ne se reporteront pas sur l&#8217;autre.<\/p>\n<p>J&#8217;ai \u00e9galement mis au point le syst\u00e8me de narration\/qu\u00eates qui permettra d&#8217;obtenir les informations manquantes pour r\u00e9aliser les qu\u00eates complexes requ\u00e9rant de voyager partout dans le monde. Le premier \u00e9l\u00e9ment se situe chez Dalamar si on lui parle de la tour derri\u00e8re son laboratoire. Le fichier QR.2DA contient le d\u00e9tail de toutes les qu\u00eates \u00e0 \u00e9tapes avec un mot d&#8217;explication pour chacune, ce qui me permettra, o\u00f9 qu&#8217;aille un PJ, de lui proposer des \u00e9l\u00e9ments de recherche pour compl\u00e9ter ses qu\u00eates.<\/p>\n<p><i>14 juin 2018<\/i><\/p>\n<p>NWN:EE a introduit une nouvelle commande serveur, <span style=\"font-family: Courier New;\">Clients Required To Disable CPU Sleep<\/span><span style=\"font-family: Courier New; font-size: small;\">, <\/span>pour d\u00e9sactiver le <span style=\"font-family: Courier New;\">sleep 0.1<\/span> qui se trouve dans le code du serveur NWN. Ce sleep force le serveur a r\u00e9duire sa consommation de cycles processeur, ce n&#8217;est que 10ms mais, je suppose, c&#8217;est 10ms entre l&#8217;ex\u00e9cution de chaque commande du serveur, ce qui pourrait \u00e9ventuellement g\u00e9n\u00e9rer du lag. Avec la machine que nous avons comme serveur, je ne constate aucune diff\u00e9rence avec ou sans le sleep mais je me demandais quelle serait l&#8217;incidence de d\u00e9sactiver ce param\u00e8tre sur la temp\u00e9rature des coeurs du CPU.<\/p>\n<p>J&#8217;ai donc fait tourner 5 modules simultan\u00e9ment avec l&#8217;option <span style=\"font-family: Courier New;\">Clients Required To Disable CPU Sleep<\/span> \u00e0 0, soit \u00e0 puissance maxi.<\/p>\n<p><span style=\"font-family: Courier New; font-size: xx-small;\">top &#8211; 07:06:30 up 9 days, \u00a07:25, \u00a06 users, \u00a0load average: 4,35, 3,31, 2,17<br \/>\nT\u00e2ches: 244 total, \u00a0\u00a06 en cours, 189 en veille, \u00a0\u00a00 arr\u00eat\u00e9, \u00a0\u00a01 zombie<br \/>\n<\/span><span style=\"font-family: Courier New; font-size: xx-small;\"><b>%Cpu(s): 99,9 ut<\/b><\/span><span style=\"font-family: Courier New; font-size: xx-small;\">, \u00a00,1 sy, \u00a00,0 ni, \u00a00,0 id, \u00a00,0 wa, \u00a00,0 hi, \u00a00,0 si, \u00a00,0 st<br \/>\nKiB Mem : \u00a03858808 total, \u00a0\u00a0464152 libr, \u00a0\u00a0971804 util, \u00a02422852 tamp\/cache<br \/>\nKiB \u00c9ch: \u00a02097148 total, \u00a02097148 libr, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00 util. \u00a02422560 dispo Mem<\/span><\/p>\n<p><span style=\"font-family: Courier New; font-size: xx-small;\">\u00a0\u00a0PID UTIL. \u00a0\u00a0\u00a0\u00a0PR \u00a0NI \u00a0\u00a0\u00a0VIRT \u00a0\u00a0\u00a0RES \u00a0\u00a0\u00a0SHR S \u00a0%CPU %MEM \u00a0\u00a0\u00a0TEMPS+ COM.<br \/>\n25738 thierry \u00a0\u00a020 \u00a0\u00a00 \u00a0173604 \u00a052892 \u00a0\u00a06260 R \u00a084,8 \u00a01,4 \u00a013:20.23 nwserver-lin+<br \/>\n26017 thierry \u00a0\u00a020 \u00a0\u00a00 \u00a0140216 \u00a019028 \u00a0\u00a05132 R \u00a083,5 \u00a00,5 \u00a0\u00a00:30.10 nwserver-lin+<br \/>\n25934 thierry \u00a0\u00a020 \u00a0\u00a00 \u00a0140216 \u00a019004 \u00a0\u00a05112 R \u00a078,5 \u00a00,5 \u00a0\u00a01:32.22 nwserver-lin+<br \/>\n25722 thierry \u00a0\u00a020 \u00a0\u00a00 \u00a0163260 \u00a042988 \u00a0\u00a06208 R \u00a077,2 \u00a01,1 \u00a014:46.78 nwserver-lin+<br \/>\n25750 thierry \u00a0\u00a020 \u00a0\u00a00 \u00a0140216 \u00a019252 \u00a0\u00a05360 R \u00a076,2 \u00a00,5 \u00a012:25.73 nwserver-lin+<\/span><\/p>\n<p>Je n&#8217;ai consatat\u00e9 aucun lag sur les modules, avec le bon vieux test des familles des 50 dragons au gu\u00e9 de Soufflevent. Mais bon, \u00e7a chauffe un peu&#8230;<\/p>\n<p><span style=\"font-family: Courier New; font-size: xx-small;\">CPU FAN Speed: \u00a0\u00a0\u00a0\u00a01804 RPM \u00a0(min = \u00a0600 RPM, max = 7200 RPM)<br \/>\nCHASSIS FAN Speed: \u00a0\u00a0\u00a00 RPM \u00a0(min = \u00a0600 RPM, max = 7200 RPM)<br \/>\nCPU Temperature: \u00a0\u00a0\u00a0+59.0\u00b0C \u00a0(high = +60.0\u00b0C, crit = +95.0\u00b0C)<br \/>\nMB Temperature: \u00a0\u00a0\u00a0\u00a0+32.0\u00b0C \u00a0(high = +55.0\u00b0C, crit = +95.0\u00b0C)<br \/>\nCore 0: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+76.0\u00b0C \u00a0(high = +89.0\u00b0C, crit = +105.0\u00b0C)<br \/>\nCore 2: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0+79.0\u00b0C \u00a0(high = +89.0\u00b0C, crit = +105.0\u00b0C)<\/span><\/p>\n<p>Du coup, j&#8217;h\u00e9site. Dois-je faire l&#8217;impasse sur le param\u00e8tre Sleep puisque je ne rencontre aucun lag quoi que je fasse, ou bien dois-je acheter un nouveau ventirad &#8211; le serveur est toujours \u00e9quip\u00e9 de l&#8217;Intel livr\u00e9 avec l&#8217;i5, soit ce qui se fait de moins bon en mati\u00e8re de refroidissement &#8211; et faire tourner les modules \u00e0 tout berzingue ?<\/p>\n<p>Dans le m\u00eame temps, faire tourner le serveur \u00e0 tout casser en permanence, c&#8217;est sans doute rigolo mais \u00e7a consomme un max de courant donc, dans l&#8217;imm\u00e9diat, je reste avec la valeur <span style=\"font-family: Courier New;\">Clients Required To Disable CPU Sleep <\/span>\u00e0 10, on verra plus tard.<\/p>\n<p>Je teste le module Myrda avec un tout nouveau paladin niveau 1, modifiant au passage tout ce qui doit l&#8217;\u00eatre. Je me donne 8 jours pour la phase alpha, apr\u00e8s quoi je verrai si on peut passer en beta ou s&#8217;il est opportun de d\u00e9j\u00e0 entamer le d\u00e9graissage du module (nouveau syst\u00e8me de cr\u00e9ation de cr\u00e9atures, nouveau syst\u00e8me d&#8217;activation d&#8217;objets, destruction de tous les scripts\/blueprints redondants ou inutiles, etc.). On en reparle dans une semaine.<\/p>\n<p><i>13 juin 2018<\/i><\/p>\n<p align=\"center\">Myrda passe en alpha ferm\u00e9e.<\/p>\n<p align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-156\" src=\"http:\/\/192.168.1.201\/wordpress\/wp-content\/uploads\/2018\/09\/Content.gif\" alt=\"\" width=\"320\" height=\"180\" \/><\/p>\n<p align=\"center\">C&#8217;est maintenant que \u00e7a commence !<\/p>\n<p><i>12 juin 2018<\/i><\/p>\n<p>Le transfert des <a href=\"Cartes_work.ods\">cartes<\/a> avance \u00e0 grands pas, et j&#8217;ai r\u00e9solu plusieurs difficult\u00e9s techniques, dans ma lanc\u00e9e d&#8217;hier.<\/p>\n<p>D&#8217;abord, j&#8217;ai enfin r\u00e9ussi \u00e0 rendre statique l&#8217;IP du serveur. J&#8217;ai renonc\u00e9 \u00e0 tenter de r\u00e9aliser l&#8217;op\u00e9ration par le routeur BBox3 de Proximus qui refuse obstin\u00e9ment d&#8217;accorder des IP statiques quelle que soit la plage choisie. Je n&#8217;ai \u00e9galement pas touch\u00e9 \u00e0 etc\/network\/interfaces sur le serveur car, comme beaucoup l&#8217;ignorent, ce fichier n&#8217;est plus utilis\u00e9 depuis Ubuntu 17.1 et il convient \u00e0 pr\u00e9sent de passer par Netplan. C&#8217;est ce que j&#8217;ai fait et, apr\u00e8s avoir d\u00e9sactiv\u00e9 l&#8217;IPv6, j&#8217;ai obtenu une IPv4 statique qui a l&#8217;air de tenir. C&#8217;est une toute petite chose, insignifiante, mais j&#8217;ai d\u00fb ing\u00e9rer une quantit\u00e9 absurde de documentation erron\u00e9e (puisque l&#8217;immense majorit\u00e9 des articles disponibles sur le net parlent toujours du ficher etc\/network\/interfaces et m\u00eame de cartes r\u00e9seau eth0 ce qui n&#8217;existe plus non plus depuis longtemps !). Je suis finalement pass\u00e9 par l&#8217;interface graphique Gnome qui a parfaitement rempli son office.<\/p>\n<p>Enfin, j&#8217;ai install\u00e9 un serveur TeamSpeak 3 sur le serveur. Il fonctionne parfaitement, les joueurs pourront s&#8217;y connecter \u00e0 leur guise. Je m&#8217;y connecterai aussi souvent que possible. Reste le souci de l&#8217;acc\u00e8s par DDNS, il m&#8217;envoie aux fraises quand je sp\u00e9cifie l&#8217;adresse mirfak.ddns.net:9987 qui se r\u00e9sout pourtant correctement, je n&#8217;ai pas de temps \u00e0 perdre avec \u00e7a pour le moment.<\/p>\n<p><i>11 juin 2018<\/i><\/p>\n<p>Depuis un petit temps je m&#8217;inqui\u00e9tais de devoir utiliser la fonction ActivatePortal pour voyager entre les sous-serveurs \u00e0 venir. Pour le moment, je n&#8217;ai qu&#8217;un seul module, mais le moment viendra o\u00f9 je devrai le tron\u00e7onner. Mon probl\u00e8me \u00e9tait que l&#8217;adresse fournie \u00e0 ActivatePortal \u00e9tait soit une adresse internet (du type althea.ddns.net) emp\u00eachant l&#8217;acc\u00e8s au serveur depuis le r\u00e9seau local, soit une adresse locale (du type 192.168.1.1xx) emp\u00eachant l&#8217;acc\u00e8s en-dehors du r\u00e9seau local.<\/p>\n<p>Je ne sais pas comment j&#8217;ai fait, mais en bidouillant des trucs (ce qui semble \u00eatre la mani\u00e8re privil\u00e9gi\u00e9e d&#8217;apprendre leur m\u00e9tier pour les rats de salle machine), j&#8217;ai r\u00e9solu le probl\u00e8me. Maintenant je passe une adresse dynamique \u00e0 ActivatePortal et le joueur voyage instantan\u00e9ment entre les sous-serveurs qu&#8217;il soit dans le r\u00e9seau local ou sur l&#8217;Internet. J&#8217;ai la vague impression qu&#8217;il aurait suffi de mapper les ports correctement dans le routeur (diriger tout le traffic 5121-5127 sur le serveur Linux) pour que tout fonctionne sans devoir modifier le etc\/hosts, mais bon, \u00e7a marche, je ne vais pas essayer de comprendre comment !<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td width=\"1633\"><span style=\"font-size: small;\">1\u00b0 Subscribe to a DDNS service. I use www.noip.com. Get a domain name, in my case mirfak.ddns.net<br \/>\n2\u00b0 Open etc\/hosts on the Linux server and add &#8216;192.168.1.xx mirfak.ddns.net&#8217; to the file where xx is the static address of the server (which I haven&#8217;t figured out how to make static yet, my router DNS has issues, will look into that later).<br \/>\n3\u00b0 Have the router refresh its address to the DDNS service automatically. If the router doesn&#8217;t provide that service, either use the Windows software provided by noip or install the noip2 packet on Linux and execute sudo noip2 -C to configure the service. I chose to let my router do the job, easier.<br \/>\n4\u00b0 Get into the port mapping utility of the router and map 5121 to 5125 to the Linux server static IP<br \/>\n5\u00b0 Script in NWN: &#8220;ActivatePortal(pj, &#8220;mirfak.ddns.net:5121&#8221;, &#8220;&#8221;, &#8220;&#8221;, TRUE);&#8221; replacing 5121 with whatever subserver you need portaling to.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><i>10 juin 2018<\/i><\/p>\n<p>J&#8217;ai termin\u00e9 de reprendre toutes les zones qui figuraient sur la seule carte en ma possession. Reste quelques zones qui se trouvent du module d&#8217;ao\u00fbt 2003 qui n&#8217;\u00e9taient pas sur ma carte. Ce sont des zones d&#8217;inspiration krynienne, dirait-on. Comme j&#8217;en ai ras-le-bol de reprendre des zones, je les int\u00e8gre telles quelles juste apr\u00e8s les avoir cartographi\u00e9es, je n&#8217;ai plus la moindre id\u00e9e de ce qui se passait dans ces zones, je ne dois pas les avoir pratiqu\u00e9es longtemps comme joueur et, comme je l&#8217;ai dit hier, je ne touche plus au groupe de 4 modules de 2013 avant un petit temps, je suis \u00e0 saturation.<\/p>\n<p>La priorit\u00e9 est maintenant de cr\u00e9er un perso et de tout tester, je ne fais plus de mage c&#8217;est vraiment trop faible en solo, ce sera un druide ou un guerrier. Ou un pr\u00eatre. Peut-\u00eatre un moine. Bon, ok, aucune id\u00e9e, c&#8217;est secondaire.<\/p>\n<p><i>09 juin 2018<\/i><\/p>\n<p>Bon, allez, il faut \u00eatre honn\u00eate, j&#8217;ai touch\u00e9 mes limites. J&#8217;ai dit &#8220;touch\u00e9&#8221; ! pas &#8220;d\u00e9pass\u00e9&#8221; ! J&#8217;arr\u00eate la reprise de zones pour le moment, je n&#8217;en peux tout simplement plus, je travaille d&#8217;arrache-pied pour raccorder tout ce que j&#8217;ai d\u00e9j\u00e0 transf\u00e9r\u00e9 dans le nouveau module, je fais fonctionner la seule qu\u00eate de Krynn que je reprends pour le moment, et basta, je passe aux tests.<\/p>\n<p>En fouillant dans mes vieilleries, j&#8217;ai remarqu\u00e9 que le module \u00e9tait pass\u00e9 de 10 \u00e0 20Mo de taille en sept mois, de janvier \u00e0 ao\u00fbt 2003. Si j&#8217;ai perdu des choses dans toutes mes op\u00e9rations de transfert\/remaniement, cela n&#8217;a aucune esp\u00e8ce d&#8217;importance, j&#8217;aurai aussi vite fait de les recr\u00e9er, et au moins ce sera fun. Si un ancien \u00e0 bonne m\u00e9moire me dit : &#8220;Merde, t&#8217;as flingu\u00e9 la qu\u00eate de Machin dans la zone Bidule !&#8221; j&#8217;irai la rechercher. Rien que pour lui. Mais me farcir les dizaines de zones d\u00e9sesp\u00e9r\u00e9ment vides de Krynn dans l&#8217;espoir de retrouver un truc jouable, non merci, poubelle et on n&#8217;en parle plus.<\/p>\n<p>Ah, j&#8217;ai failli oublier, j&#8217;ai r\u00e9gl\u00e9 mon probl\u00e8me d&#8217;hier du nw_c2_default7 pass\u00e9 en mode alternatif, un coup il va un coup il va plus, aussi appel\u00e9 mode sapin de No\u00ebl par les informaticiens po\u00e8tes (ne ricane pas, j&#8217;en ai connu !). Bon, je ne saurais jamais comment je l&#8217;ai r\u00e9gl\u00e9, j&#8217;ai p\u00e9dal\u00e9 dans la choucroute pendant une demi-journ\u00e9e et au moment o\u00f9 je pensais avoir compris la cause du probl\u00e8me, je n&#8217;ai plus pu le reproduire. Donc, tout fonctionne normalement, cherche pas \u00e0 comprendre.<\/p>\n<p>Un beau petit bug aujourd&#8217;hui, je m&#8217;\u00e9tonnais que la taverne de Syrthe ne spawne pas. Il se trouve que ce que j&#8217;ai \u00e9crit le 7 juin est totalement faux: GetObjectByTag ne rend pas d&#8217;office l&#8217;objet recherch\u00e9 \u00e0 commencer par la zone courante ! Le comportement ne semble pas coh\u00e9rent selon le type d&#8217;objet recherch\u00e9. Dans le doute, je me vois forc\u00e9 de rechercher tous les objets d&#8217;un m\u00eame tag, comme avant, et de prendre le premier qui correspond \u00e0 la zone. Le genre de truc \u00e0 perdre des heures en recherches \u00e7a, je ne m&#8217;en sors pas trop mal \u00e0 n&#8217;avoir perdu que quelques minutes dessus.<\/p>\n<p><i>08 juin 2018<\/i><\/p>\n<p>Je rencontre de multiples difficult\u00e9s aussi inattendues que contrariantes. Premi\u00e8rement, le module de 2003 comporte un assez grand nombre de zones qui ne figurent pas dans mon plan Excel et donc, au lieu d&#8217;\u00eatre pr\u00e8s d&#8217;avoir fini l&#8217;int\u00e9gration, j&#8217;en suis encore assez loin. Un bon grand coup sur le museau, mais ce n&#8217;est pas \u00e7a qui va m&#8217;arr\u00eater. Ca, c&#8217;est dit.<\/p>\n<p>Ensuite, et c&#8217;est plus grave, les programmeurs de Beamdog ont encore frapp\u00e9 fort: tuer une cr\u00e9ature rapporte \u00e0 pr\u00e9sent deux fois des XPs. Une fois par mon script nw_c2_default7 qui est cens\u00e9 <b>remplacer<\/b> la version d\u00e9faut et une fois venant je ne sais d&#8217;o\u00f9. Je r\u00e9p\u00e8te : nw_c2_default7 est le script qui s&#8217;ex\u00e9cute \u00e0 la mort d&#8217;une cr\u00e9ature non-joueur et si je fournis ma propre version de ce script, la version de base <b>ne doit pas s&#8217;ex\u00e9cuter<\/b>, c&#8217;est le principe m\u00eame de l&#8217;override dont il n&#8217;existe aucune interpr\u00e9tation possible en aucune circonstance. J&#8217;utilise nw_c2_default7 non seulement pour donner des XPs taill\u00e9s sur mesure mais surtout pour que les cr\u00e9atures laissent tomber \u00e0 leur mort des tr\u00e9sors personnalis\u00e9s, des composants, et avancent certaines qu\u00eates. Sans cela, je peux aussi bien remballer mes petites affaires et aller faire un tour \u00e0 v\u00e9lo.<\/p>\n<p>Mais ce ne serait rien si \u00e7a ne devenait pas franchement comique : si je supprime ma propre version de nw_c2_default7, le joueur ne re\u00e7oit plus qu&#8217;une seule fois les XPs, c&#8217;est cool. Je re-programme un nouveau script nw_c2_default7 \u00e0 partir de z\u00e9ro pour remplacer celui du jeu et&#8230; mon script <b>n&#8217;est plus pris en compte<\/b>. Jamais. Seul s&#8217;ex\u00e9cute un script sur lequel je n&#8217;ai aucun contr\u00f4le, qui donne des XPs que je ne veux pas et qui ne fait rien de ce dont j&#8217;ai besoin. Je peux recompiler tout le bazar autant que je veux, mon script nw_c2_default7 qui s&#8217;ex\u00e9cutait avant le nw_c2_default7 (qui ne devrait pas s&#8217;ex\u00e9cuter, \u00e7a va, tu suis ?) ne s&#8217;ex\u00e9cute plus, quoi que je fasse.<\/p>\n<p>Et chez Beamdog, c&#8217;est les abonn\u00e9s absents. En bons informaticiens modernes, ils traitent les probl\u00e8mes qui leur paraissent sexy et ignorent royalement les bugs fonctionnels qui emp\u00eachent les cr\u00e9ateurs de travailler. En clair, ils appartiennent \u00e0 cette g\u00e9n\u00e9ration de programmeurs que j&#8217;abhorre, obs\u00e9d\u00e9s par les outils et non par leur fonction. Raison pour laquelle j&#8217;avais plaqu\u00e9 Althea 2, soit dit en passant, ulc\u00e9r\u00e9 que pour faire mumuse avec un compilateur dont absolument personne n&#8217;avait besoin j&#8217;aie \u00e9t\u00e9 priv\u00e9 par l&#8217;\u00e9quipe technique des outils me permettant de travailler sur mes cr\u00e9ations. Inutile de dire qu&#8217;aujourd&#8217;hui, j&#8217;en bave certes un max pour ma\u00eetriser tous les aspects d&#8217;Althea, depuis la conception de l&#8217;histoire jusque la gestion du serveur en passant par toutes les \u00e9tapes interm\u00e9diaires dont le site web, mais je ne veux plus personne dans mes pattes pour me faire chier.<\/p>\n<p>Je m&#8217;emporte et je deviens amer, je ferais mieux de retourner au travail. Non sans avoir transmis au passage un grand bonjour et un grand merci \u00e0 TooLs, l&#8217;exception qui confirme la r\u00e8gle, qui s&#8217;est toujours montr\u00e9 du temps d&#8217;Althea 2 un designer inspir\u00e9 autant qu&#8217;un excellent compagnon.<\/p>\n<p>Bon, allez, j&#8217;y retourne, faut que je trouve une solution pour en sortir !<\/p>\n<p>&nbsp;<\/p>\n<p><i>07 juin 2018<\/i><\/p>\n<p>Pour le fun, voici une fonction que j&#8217;avais \u00e9crite il y a fort longtemps :<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td width=\"1633\"><span style=\"font-family: Courier New;\">object GetAreaObject(string sS, object zone) {<br \/>\nint z = 0;<br \/>\nobject oO = GetObjectByTag(sS);<br \/>\nwhile (GetIsObjectValid(oO)) {<br \/>\nif (GetArea(oO) == zone) return oO;<br \/>\nz++;<br \/>\noO = GetObjectByTag(sS, z);<br \/>\n}<br \/>\nreturn OBJECT_INVALID;<br \/>\n}<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Or, Aurora renvoie toujours les objets de la zone courante avant de passer aux suivantes, il e\u00fbt donc \u00e9t\u00e9 logique d&#8217;\u00e9crire :<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td width=\"1633\"><span style=\"font-family: Courier New;\">object GetAreaObject(string sS, object zone) {<br \/>\nobject oO = GetObjectByTag(sS);<br \/>\nreturn (GetIsObjectValid(oO) &amp;&amp; GetArea(oO)==zone?oO:OBJECT_INVALID);<br \/>\n}<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Je me demande si je ne vais pas faire une recherche globale dans le code sur les &#8216;while&#8217; ou &#8216;GetObjectByTag&#8217; pour d\u00e9tecter des boucles inutiles capables de mettre un serveur \u00e0 genoux tr\u00e8s rapidement ; peut-\u00eatre la source des anciens crashs serveur, si fr\u00e9quents, est-elle \u00e0 chercher de ce c\u00f4t\u00e9.<\/p>\n<p>Je n&#8217;ai plus que 13 zones d&#8217;ext\u00e9rieur \u00e0 reprendre du module de 2003, ce qui devrait \u00eatre assez rapide puisqu&#8217;il s&#8217;agit d&#8217;\u00e9tendues enneig\u00e9es que je ne devrai pas redessiner. Les zones de qu\u00eate \u00e0 reprendre sont plus nombreuses, mais c&#8217;est juste du copier-coller.<\/p>\n<p>Quand tout cela sera fini, je devrai v\u00e9rifier la pertinence de tous les livres de qu\u00eate de la M\u00e9moire et int\u00e9grer le background dans son dialogue. On avance !<\/p>\n<p><i>06 juin 2018<\/i><\/p>\n<p>C&#8217;est comique de retrouver des bugs vieux de 15 ans&#8230; La taverne du Grelot de Verglas n&#8217;a jamais eu droit \u00e0 ses animations : le code d&#8217;activation comportait un bug idiot, c&#8217;est bien la preuve que trop de zones n&#8217;ajoute que du vide, personne ne me l&#8217;avait jamais fait observer.<\/p>\n<p>Vertu inattendue du nouveau syst\u00e8me de spawn mis au point le 28 mai : il est \u00e0 pr\u00e9sent possible, en ayant juste ajout\u00e9 cette ligne de code:<\/p>\n<p>SetObjectVisualTransform(oCreature, OBJECT_VISUAL_TRANSFORM_SCALE, 0.85+Random(31)\/100);<\/p>\n<p>de faire spawner des mobs un peu plus petits ou plus grands dans une fourchette de 30%, ce qui devrait ajouter de la vari\u00e9t\u00e9. A pas cher il faut le dire !<\/p>\n<p>Il me reste 16 zones \u00e0 reprendre de l&#8217;ancien module et j&#8217;aurai termin\u00e9. Comme c&#8217;\u00e9tait surtout des zones de neige et que je trouve ces \u00e9tendues gel\u00e9es d\u00e9primantes, en plus que dans le nouvel univers la neige n&#8217;existe qu&#8217;au nord vers chez les Nains, je suis souvent oblig\u00e9 de redessiner une carte de campagne, ce qui prend du temps.<\/p>\n<p>Ce nouveau monde comporte deux axes majeurs par rapport \u00e0 la ville centrale, un au sud vers les Elfes et un \u00e0 l&#8217;ouest vers les Nains. J&#8217;ajoute les zones soit vers le sud soit vers l&#8217;ouest pour essayer d&#8217;obtenir une bonne progressivit\u00e9 dans la difficult\u00e9, en essayant de concentrer le plus d&#8217;activit\u00e9s possible dans une m\u00eame zone pour \u00e9viter les vides galactiques. C&#8217;est quand m\u00eame un peu le stress vu que je ne peux rien tester avant d&#8217;avoir tout fini et de recommencer un perso. Je cr\u00e9erai un druide, ce n&#8217;est ni trop faible ni trop fort, je devrais pouvoir jouer en difficult\u00e9 normale. Heureusement, le nouveau syst\u00e8me de spawn me permet d&#8217;ajuster finement la difficult\u00e9 d&#8217;une carte sans m\u00eame devoir ouvrir l&#8217;\u00e9diteur, je n&#8217;ai qu&#8217;\u00e0 modifier le 2DA des rencontres.<\/p>\n<p>Je ne pourrai rien d\u00e9voiler des personnages centraux de l&#8217;univers avant d&#8217;avoir non seulement r\u00e9-int\u00e9gr\u00e9 toutes les zones du module de 2003 mais aussi probablement celles des modules de 2013, ils feront donc partie du nouveau d\u00e9veloppement, ce qui n&#8217;est pas plus mal car je disposerai ainsi d&#8217;une solide fondation pour le d\u00e9veloppement futur.<\/p>\n<p><i>05 juin 2018<\/i><\/p>\n<p>Mise \u00e0 jour du serveur en version 1.76. La mise \u00e0 jour d&#8217;Aurora apporte une nouvelle fonction, SetObjectVisualTransform, qui permet de changer la taille de tous les objets dynamiques, cr\u00e9atures, meubles, etc. ainsi que leur orientation et inclinaison. Merveilleuses opportunit\u00e9s de d\u00e9veloppement en perspective.<\/p>\n<p>La mise \u00e0 jour a apport\u00e9 son lot de contrari\u00e9t\u00e9s, plus moyen de lancer le jeu par un .bat windows, notamment ; du temps perdu, toujours du temps perdu, il faudra bien s&#8217;en accommoder, en esp\u00e9rant que ces bugs soient r\u00e9solus au plus vite.<\/p>\n<p>Je suis \u00e0 la moiti\u00e9 du rapatriement des zones du module de base, on avance.<\/p>\n<p><i>04 juin 2018<\/i><\/p>\n<p>Le rapatriement des zones se poursuit, je mets le paquet pour terminer un module jouable, apr\u00e8s quoi je rapatrierai les zones des modules qui ont tourn\u00e9 jusqu&#8217;en 2013 et enfin me mettrai \u00e0 la programmation des syst\u00e8mes encore manquants, qu\u00eates dynamiques, instances de raid, syst\u00e8me de r\u00e9putation, etc. Ca se passe bien pour le moment, j&#8217;avance, jamais assez vite \u00e0 mon go\u00fbt, mais chaque jour re\u00e7oit sa charge de travail et le module \u00e9volue \u00e0 vue d&#8217;oeil. Je dois absolument avoir termin\u00e9 pour le 30 juin 2018 et ce sera fait. Les vacances seront consacr\u00e9es au testing en famille et normalement, \u00e0 la rentr\u00e9e, je recontacterai tous les anciens dont Dominique a conserv\u00e9 pr\u00e9cieusement les coordonn\u00e9es, c&#8217;est \u00e9mouvant de voir ces dizaines de lettres exp\u00e9di\u00e9es par tous ces joueurs qui ont fait d&#8217;Althea ce qu&#8217;il est, nous esp\u00e9rons bien les revoir.<\/p>\n<p>Au passage, j&#8217;ai achet\u00e9 pour le d\u00e9veloppement une machine puissante avec la technologie Intel de l&#8217;hyperthreading, ce qui signifie en gros, si j&#8217;ai bien tout compris, que le processeur s&#8217;overclocke tout seul. Et \u00e7a marche ! Pour le moment, j&#8217;ai Aurora qui tourne, un serveur en t\u00e2che de fond, un Excel pour les cartes de zones et de nombreuses applications annexes pour \u00e9diter les 2DA, contr\u00f4ler par console le serveur Linux, \u00e9diter les spawns, etc. et la b\u00eate tourne \u00e0 4.35 GHz sur ses 6 coeurs. Pas mal !<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-169\" src=\"http:\/\/192.168.1.201\/wordpress\/wp-content\/uploads\/2018\/09\/Processeur.jpg\" alt=\"\" width=\"1005\" height=\"575\" \/><\/p>\n<p><i>03 juin 2018<\/i><\/p>\n<p>Le nouveau serveur est op\u00e9rationnel. Bon, pour une raison qui restera \u00e0 jamais inconnue, il a bouff\u00e9 les bases de donn\u00e9es, j&#8217;ai d\u00fb tout r\u00e9-initialiser. R\u00e9paration manuelle pour ceux qui en feront la demande sur le forum, je sais \u00e0 peu pr\u00e8s o\u00f9 se situent les uns et les autres vu que nous ne sommes pas encore bien nombreux (d\u00e9finition de l&#8217;euph\u00e9misme, en quelque sorte). Ce souci mis \u00e0 part, le serveur est tr\u00e8s performant. Il pourra encaisser absolument tout ce que j&#8217;ai en t\u00eate de vicieux pour lui. C&#8217;est une machine un peu sur-dimensionn\u00e9e pour un serveur NWN, et j&#8217;ai encore l&#8217;ancien serveur qui cherche partout dans la cave une prise de courant pour reprendre du service, ce qui porte la puissance totale du parc \u00e0 6 coeurs et 6Go de RAM. Si seulement on avait eu \u00e7a \u00e0 la grande \u00e9poque ! Depuis que je l&#8217;ai remis en service, le serveur n&#8217;a pas plant\u00e9 une seule fois, et ce n&#8217;est pas faute d&#8217;essayer !<\/p>\n<p>En parlant de bases de donn\u00e9es, je dois revoir mes plans, le syst\u00e8me NBDE sur lequel j&#8217;ai tout reconstruit&#8230; ne fonctionne pas sous Linux, pour la simple raison que la commande DestroyCampaignDatabase, qui est pourtant une instruction de base d&#8217;Aurora, ne d\u00e9truit pas la base ; elle est simplement sans effet. Probablement parce que tout le monde utilise NWNX sous Linux et que personne ne s&#8217;en est jamais souci\u00e9. Pour le moment, je m&#8217;en moque, tout fonctionne tr\u00e8s bien, j&#8217;aviserai quand le module sera termin\u00e9 quelle base de donn\u00e9es utiliser, j&#8217;ai d\u00e9j\u00e0 ma petite id\u00e9e. Et ce sera peut-\u00eatre NWNX, rien n&#8217;est d\u00e9cid\u00e9.<\/p>\n<p><i>02 juin 2018<\/i><\/p>\n<p>Nouveau serveur. Un i5 quadruple coeur rejoint le dual core qui h\u00e9bergeait le serveur jusqu&#8217;ici. J&#8217;ai battu tous mes records : il m&#8217;a fallu moins de deux heures pour monter la machine, installer Linux, installer le serveur et tout configurer. Il n&#8217;est pas encore en service, ce sera pour la semaine prochaine.<\/p>\n<p>Je repars sur la conversion des zones, je suis un peu moins d\u00e9sesp\u00e9r\u00e9 que la semaine prochaine, non pas que je voie la fin du tunnel, mais, simplement, je soup\u00e7onne qu&#8217;elle existe. On se motive comme on peut.<\/p>\n<p>Mon nouveau PC m&#8217;y aide un peu, c&#8217;est un avion (\u00e9lectrique l&#8217;avion, vu le ventilo que j&#8217;ai mis dessus, on ne sais m\u00eame plus dire o\u00f9 est la bo\u00eete !).<\/p>\n<p><i>01 juin 2018<\/i><\/p>\n<p>Toutes les zones autour de la ville sont termin\u00e9es, je r\u00e9-int\u00e8gre progressivement les zones de qu\u00eates qui en valent la peine, d\u00e9graissant autant que je le peux les zones obsol\u00e8tes. L&#8217;objectif est de placer autant d&#8217;activit\u00e9s que possible sur une m\u00eame carte pour \u00e9liminer les espaces d\u00e9sesp\u00e9r\u00e9ment vides d&#8217;Althea. La difficult\u00e9 est de regrouper des activit\u00e9s de m\u00eame niveau au m\u00eame endroit et d&#8217;introduire une progression logique dans la difficult\u00e9 des zones.<\/p>\n<p>C&#8217;est, franchement, un travail \u00e9pouvantable puisque je suis oblig\u00e9 de manipuler des zones dont je ne connais plus rien ! C&#8217;est un travail \u00e0 l&#8217;aveugle, harassant.<\/p>\n<p>Je travaille avec trois machines. La premi\u00e8re affiche l&#8217;ancien module ; d\u00e8s que je choisis une zone \u00e0 reprendre, je l&#8217;exporte sur mon NAS puis je la d\u00e9truis. Ensuite, je l&#8217;importe du NAS sur la deuxi\u00e8me machine et la connecte au nouveau module. La troisi\u00e8me machine fait tourner le module Althea classique qui me permet de me d\u00e9placer en DM pour aller visiter plus rapidement les zones que je dois explorer.<\/p>\n<p>Les cartes graphiques de mes PCs sont de bonne qualit\u00e9 mais je suis un peu juste en puissance CPU sur une partie de mon parc, je vais donc monter un nouveau i5-8600K d\u00e8s que possible, je ferais bien cela ce week-end, j&#8217;ai juste la trouille de devoir passer un temps fou \u00e0 d\u00e9sosser les PCs que j&#8217;upgrade et les remonter correctement dans leurs nouveaux bo\u00eetiers, je d\u00e9teste tout ce qui est technique. Et pourtant, je suis les mains dedans \u00e0 longueur de journ\u00e9e et c&#8217;est pas fini !<\/p>\n<p>Un petit inconv\u00e9nient r\u00e9solu : je suis oblig\u00e9 d&#8217;ouvrir le fichier &#8216;triggers.2da&#8217; avec Notepad ++ et de le convertir en ANSI avant qu&#8217;il ne soit utilisable par le jeu, puis de le re-convertir en UDF-8 pour que 2DA\/TLK Editor puisse le lire sans exploser tous les accents.<\/p>\n<p><i>31 mai 2018<\/i><\/p>\n<p>Abandon de Mediafire comme h\u00e9bergeur des fichiers de contenu additionnel du module. De nouveaux boutons les t\u00e9l\u00e9chargent \u00e0 pr\u00e9sent directement depuis mon NAS.<\/p>\n<p>R\u00e9vision globale du site tant que j&#8217;y \u00e9tais.<\/p>\n<p>Nouveau syst\u00e8me d&#8217;information des joueurs. Le module comportait d\u00e9j\u00e0 des indications que le joueur recevait en marchant sur un d\u00e9clencheur ; c&#8217;est l&#8217;\u00e9quivalent des informations que donne un ma\u00eetre de jeu en chair et en os pendant une partie papier-crayon du genre &#8220;Tu vois des traces de pas r\u00e9centes se diriger vers la tenture qui pourrait bien cacher une porte secr\u00e8te *gros clin d&#8217;oeil discret*&#8221;. Je d\u00e9place tous ces textes vers un fichier &#8216;triggers.2da&#8217; ce qui me donnera plus de souplesse car je dispose d&#8217;autant de colonnes que je le souhaite pour les \u00e9tapes \u00e9ventuelles d&#8217;une qu\u00eate. En outre, cela me facilite l&#8217;\u00e9ventuel travail de localisation si je devais traduire le module.<\/p>\n<p>Ce type de d\u00e9clencheur devient un blueprint avec un script g\u00e9n\u00e9rique qui va lire le Tag du d\u00e9clencheur pour savoir quels textes afficher et quelles actions \u00e0 prendre. Il reste de la place pour introduire de nouvelles fonctionnalit\u00e9s, mais cela va d\u00e9j\u00e0 me faciliter grandement la vie sans alourdir le module d&#8217;une kyrielle de scripts au rythme de 1 par d\u00e9clencheur.<\/p>\n<p>Cerise sur le g\u00e2teau, ce syst\u00e8me me permet de v\u00e9rifier que le joueur poss\u00e8de bien la derni\u00e8re version des 2da dans son dossier &#8216;override&#8217; d\u00e8s sa connexion au module et de l&#8217;informer qu&#8217;il doit mettre ses fichiers \u00e0 jour le cas \u00e9ch\u00e9ant.<\/p>\n<p>Dans le m\u00eame ordre d&#8217;id\u00e9e, je viens de terminer un camp gobelours, \u00e7a fait toujours rire les petits et les grands ces b\u00eates-l\u00e0, et je me suis rendu compte de l&#8217;efficacit\u00e9 du nouveau syst\u00e8me de spawn ASSP, puisque je peux cr\u00e9er des points de spawn \u00e0 la vol\u00e9e, aussi bien qu&#8217;en d\u00e9truire. Je peux ainsi concevoir des embuscades de m\u00eame que d\u00e9sactiver les spawns d&#8217;une carte, par exemple si le chef de la troupe est vaincu.<\/p>\n<p><i>30 mai 2018<\/i><\/p>\n<p>Le pr\u00eatre de Selene, en plus des charmes de protection, offre en plus un r\u00e9glage de difficult\u00e9 des rencontres. En facile, c&#8217;est toujours le nombre minimum de mobs qui spawneront et en difficile le maximum. En normal, un nombre al\u00e9atoire entre les deux. Voil\u00e0 longtemps que j&#8217;aurais d\u00fb (tu parles, 15 ans&#8230;) offrir une exp\u00e9rience de jeu diff\u00e9rente selon les classes, essentiellement \u00e0 petit niveau. Quand tu te pointes avec un mage niveau 1 \u00e0 4 points de vie et 12 en armure face \u00e0 3 rats, ben t&#8217;es mort, et tu es bon pour d\u00e9penser tout ton argent \u00e0 acheter des baguettes jusqu&#8217;\u00e0 un niveau assez \u00e9l\u00e9v\u00e9.<\/p>\n<p>J&#8217;ai r\u00e9-agenc\u00e9 toutes les qu\u00eates de newbies puisque la ville ne comporte plus qu&#8217;une seule zone et je commence \u00e0 aller rep\u00eacher toutes les anciennes qu\u00eates.<\/p>\n<p><i>29 mai 2018<\/i><\/p>\n<p>Le nouveau, et \u00e0 pr\u00e9sent unique, syst\u00e8me de spawn ASSP fonctionne \u00e0 merveille : fiable, aucun lag, souple, l\u00e9ger, tous les tests sont au vert.<\/p>\n<p>Je repasse toutes les zones existantes avec le nouveau syst\u00e8me puis je d\u00e9marre le rep\u00eachage de toutes les zones dans les anciens modules, selon la m\u00e9thode de la destruction : chaque fois que j&#8217;ai export\u00e9 une zone d&#8217;un ancien module, je l&#8217;en d\u00e9truis, jusqu&#8217;\u00e0 ce qu&#8217;il n&#8217;en reste aucune.<\/p>\n<p><i>28 mai 2018<\/i><\/p>\n<p>J&#8217;ai bazard\u00e9 tous les syst\u00e8mes de spawn Althea. Trois types coexistaient, dont aucun ne me satisfaisait vraiment. Le nouveau syst\u00e8me n&#8217;utilise plus de boucles ni les UDF de zones. Il suffit de poser un placeable au point de spawn qui a pour tag le num\u00e9ro de ligne d&#8217;un 2da correspondant au spawn souhait\u00e9 et d&#8217;initialiser le syst\u00e8me en entr\u00e9e de zone. Tout le fonctionnement est absolument transparent. Pour ajouter de nouveaux types de spawn, on ajoutera des lignes au fichier ASSP.2da que je compte laisser dans le dossier override pour \u00e9viter d&#8217;avoir \u00e0 refaire le hak quand de nouvelles zones et de nouveaux spawns sont introduits. Cela m&#8217;aurait pris une journ\u00e9e de travail, c&#8217;est finalement pas cher pay\u00e9 pour un syst\u00e8me souple, l\u00e9ger et qui r\u00e9pond \u00e0 tous les besoins.<\/p>\n<p><i>27 mai 2018<\/i><\/p>\n<p>Aujourd&#8217;hui, j&#8217;ai fait fort. Pour tester la diff\u00e9rence de rapidit\u00e9 d&#8217;\u00e9dition d&#8217;un module selon qu&#8217;il se trouve sur disque dur ou SSD, j&#8217;ai cr\u00e9\u00e9 un dossier modules sur mon SSD o\u00f9 j&#8217;ai copi\u00e9 les modules (tous d&#8217;un coup, plus rapide). Apr\u00e8s avoir termin\u00e9 les tests sur disque dur, je mets le dossier modules (qui contient donc <b>TOUS<\/b> les modules) \u00e0 la corbeille, je change mon fichier NWN.ini et je teste la vitesse d&#8217;acc\u00e8s sur SSD. J&#8217;obtiens exactement la m\u00eame valeur que sur le disque dur, donc je n&#8217;ai aucune raison d&#8217;user mon SSD, je rechange le NWN.ini et je mets \u00e0 la poubelle le dossier modules du SSD dont je n&#8217;ai plus besoin. Et puis, comme je suis quelqu&#8217;un d&#8217;ordonn\u00e9, je vide la corbeille. Et j&#8217;efface donc d\u00e9finitivement <b>TOUS<\/b> les modules simultan\u00e9ment du SSD et du disque dur. Un &#8216;merde&#8217; plus tard (ce qui a bien pris dix secondes vu l&#8217;ampleur du &#8216;merde&#8217;), je me retrouve sans aucun module. Fini. Partis. Tous. Arvar !<\/p>\n<p>Comme il a un dieu pour les sous-dou\u00e9s, j&#8217;avais fait un backup g\u00e9n\u00e9ral sur mon NAS ce matin. Et comme je suis all\u00e9 courir fin de matin\u00e9e et qu&#8217;ensuite je suis all\u00e9 voir mon fils \u00e0 sa r\u00e9gate d&#8217;aviron, je n&#8217;ai perdu qu&#8217;une heure de travail. C&#8217;est pas du bol \u00e7a ?<\/p>\n<p>Gros travail sur la m\u00e9moire du Monde. L&#8217;histoire de l&#8217;univers de jeu est nouvelle, je dois donc modifier tout ce qui fait r\u00e9f\u00e9rence aux ordres de chevalerie, au portail et \u00e0 une foule d&#8217;autres choses. Je crois que le plus simple est de d\u00e9truire le dialogue de la m\u00e9moire et de repartir \u00e0 z\u00e9ro.<\/p>\n<p>Les gemmes roses auront comme utilit\u00e9 d&#8217;am\u00e9liorer des objets de qu\u00eate. C&#8217;est dommage apr\u00e8s avoir r\u00e9ussi une longue qu\u00eate pour une armure de classe sp\u00e9cifique de devoir la jeter quand on monte de niveau, j&#8217;ai l&#8217;intention de les cr\u00e9er en plusieurs niveaux de puissance et de permettre leur upgrade.<\/p>\n<p><i>26 mai 2018<\/i><\/p>\n<p>Cr\u00e9ation d&#8217;un script mod_onequip pour tester la validit\u00e9 des objets \u00e9quip\u00e9s par les PJs. Pr\u00e9c\u00e9demment, la v\u00e9rification se faisait \u00e0 intervalles r\u00e9guliers avec test s\u00e9quentiel pour tous les joueurs. Beaucoup trop lourd, et en plus injustifi\u00e9, autant faire le test lorsque le PJ \u00e9quipe un objet, cela \u00e9vite une boucle et une pointe de consommation CPU.<\/p>\n<p>Rapatriement progressif de toutes les qu\u00eates. Certaines zones sont utilis\u00e9es telles quelles, d&#8217;autres doivent \u00eatre am\u00e9nag\u00e9es. En plus j&#8217;ai un nouveau clavier, mon fid\u00e8le Logitech Wave \u00e9tant us\u00e9 jusqu&#8217;\u00e0 la corde, je suis d&#8217;une lenteur affligeante le temps de m&#8217;habituer \u00e0 ce nouveau Corsair K55 dont le principal m\u00e9rite, pour l&#8217;instant, se borne \u00e0 de jolies couleurs.<\/p>\n<p><i>25 mai 2018<\/i><\/p>\n<p>Terminer la ville centrale, qui ne comporte qu&#8217;une seule zone o\u00f9 se d\u00e9rouleront beaucoup de choses. Ca, c&#8217;est la priorit\u00e9.<\/p>\n<p>Ensuite, j&#8217;ai jet\u00e9 les bases d&#8217;un syst\u00e8me d&#8217;indexation des bases de donn\u00e9es qui me permettra d&#8217;obtenir les m\u00eames avantages que NWNX. Presque, c&#8217;est carr\u00e9ment moins bien puisque je dois me passer de SQL, mais \u00e7a tournera sur Windows aussi bien que Linux sans \u00eatre tributaire du brave gars qui s&#8217;occupe de \u00e7a et peut arr\u00eater quand \u00e7a lui chante. Au moins aurais-je la possibilit\u00e9 de faire des recherches dans l&#8217;ensemble des joueurs connect\u00e9s ou non, ce qui me permettra, par exemple, de remettre en circulation dans l&#8217;univers un objet unique d\u00e9tenu par un joueur qui ne s&#8217;est pas connect\u00e9 depuis trop longtemps.<\/p>\n<p><i>24 mai 2018<\/i><\/p>\n<p>J&#8217;avais termin\u00e9 une refonte de la ville centrale, dont j&#8217;\u00e9tais tr\u00e8s content, quand ma femme m&#8217;a dit : &#8220;tu sais qu&#8217;on peut aller au-del\u00e0 de 16 cases de c\u00f4t\u00e9 maintenant ?&#8221; Ben non, je ne le savais pas. Du coup, j&#8217;ai refais la ville avec le tileset CRFM qui regroupe ville, campagne, for\u00eat et mines et, apr\u00e8s m&#8217;\u00eatre demand\u00e9 dans quel gu\u00eapier je m&#8217;\u00e9tais fourr\u00e9, j&#8217;ai d\u00fb tout mettre \u00e0 la poubelle : le CRFM ne peut afficher un fleuve correctement car la profondeur de l&#8217;eau est diff\u00e9rente entre les diff\u00e9rents tilesets.<\/p>\n<p>Retour \u00e0 la ville d&#8217;origine, que j&#8217;agrandis quand m\u00eame au passage. C&#8217;est d&#8217;autant plus rageant que j&#8217;ai beaucoup de travail pour le moment, le temps m&#8217;est compt\u00e9. Enfin, faire et d\u00e9faire c&#8217;est toujours travailler. J&#8217;esp\u00e8re que l&#8217;abruti qui a invent\u00e9 ce proverbe est fier de sa trouvaille !<\/p>\n<p><i>23 mai 2018<\/i><\/p>\n<p>Je d\u00e9marre le d\u00e9veloppement d&#8217;un nouveau module, Myrda, la conception d&#8217;Althea est trop ancienne, elle me freine, je repars \u00e0 z\u00e9ro.<\/p>\n<p><i>22 mai 2018<\/i><\/p>\n<p>Installation de NWNX. Rat\u00e9e. Quelque chose coince. Pas eu le temp d&#8217;approfondir en raison d&#8217;un travail urgent de traduction d&#8217;un ouvrage de pneumo-p\u00e9diatrie mais en faisant la sieste (faut pas perdre de vue les choses importantes !) je me suis rendu compte que si NWNX a l&#8217;avantage de permettre un acc\u00e8s SQL aux bases de donn\u00e9es, c&#8217;est quand m\u00eame une grosse merde \u00e0 mettre en place et il ne fonctionne pas sous Windows ce qui me rendrait les phases de test hasardeuses \u00e0 moins de faire co-exister les deux syst\u00e8mes de DB, NWNX et NBDE. C&#8217;est possible mais fastidieux et, \u00e0 la r\u00e9flexion, pour les quelques commandes SQL dont j&#8217;ai besoin, j&#8217;aurai aussi vite fait de les programmer par l&#8217;\u00e9diteur en construisant une DB d&#8217;index des joueurs.<\/p>\n<p>Donc, on oublie.<\/p>\n<p>Sais pas trop quoi faire ensuite. Je dois r\u00e9cup\u00e9rer toutes les qu\u00eates manquantes en fouillant les anciens modules, et d&#8217;un autre c\u00f4t\u00e9 je dois monter un perso niveau 20 pour tester la jouabilit\u00e9 du module \u00e0 fond. Par quoi commencer, that is question.<\/p>\n<p>Sachant qu&#8217;\u00e0 terme, mon gros chantier, et projet pr\u00e9f\u00e9r\u00e9, est d&#8217;amener \u00e0 la vie l&#8217;environnement PNJ pour renforcer l&#8217;ancrage des joueurs dans le monde. Ca va \u00eatre g\u00e9ant, mais c&#8217;est un chantier tr\u00e8s long. Quoi que, j&#8217;ai d\u00e9j\u00e0 toutes les id\u00e9es et je code aussi vite qu&#8217;avant, alors, qu&#8217;est-ce qu&#8217;on attend ? Ben d&#8217;avoir r\u00e9cup\u00e9r\u00e9 toutes les qu\u00eates, mis en route un deuxi\u00e8me serveur et tout test\u00e9 avec au moins un perso mont\u00e9 de z\u00e9ro. Broutilles, \u00e0 peine quelques centaines d&#8217;heures de travail, \u00e7a devrait \u00eatre fait pour la fin du mois !<\/p>\n<p><i>21 mai 2018<\/i><\/p>\n<p>Le prochain module publi\u00e9 utilisera le nouveau hak. J&#8217;ai redress\u00e9 &#8211; comme j&#8217;ai pu &#8211; tous les blueprints de cr\u00e9atures. Beaucoup de probl\u00e8mes viennent de la localisation. Nombre de noms existent dans la version anglaise des ressources alors que la version fran\u00e7aise est vierge. Parfois la version anglaise s&#8217;affiche dans la version fran\u00e7aise, ce qui est normal, parfois le jeu prend la ressource fran\u00e7aise par d\u00e9faut de l&#8217;objet, ce qui est contrariant, car elle correspond au resref de l&#8217;objet \u00e0 partir duquel j&#8217;ai cr\u00e9\u00e9 le blueprint.<\/p>\n<p>J&#8217;ai pass\u00e9 en revue le hak d&#8217;apparences qui permet de changer ses ailes, sa queue, son visage, de monter un cheval, etc. Je garde l&#8217;id\u00e9e sous le coude mais tout l&#8217;int\u00e9r\u00eat d&#8217;Althea est justement d&#8217;aller chercher certains signes distinctifs, les donner gratuitement me d\u00e9range. Quant aux chevaux, ils d\u00e9s\u00e9quilibreraient compl\u00e8tement le module, je ne compte pas les int\u00e9grer, sauf demande massive et justifi\u00e9e des joueurs &#8211; qui sont deux pour le moment, pour le massif c&#8217;est bon.<\/p>\n<p>J&#8217;ai ajout\u00e9 le Jukalotto \u00e0 la taverne des Cinq des Six du centre de Soufflevent. C&#8217;est un travail inachev\u00e9, pour l&#8217;instant il joue une des 250 musiques du jeu en fonction du nombre de pi\u00e8ces d&#8217;or que l&#8217;on place dedans.<\/p>\n<p><i>20 mai 2018<\/i><\/p>\n<p>Hakpak termin\u00e9. Il faut t\u00e9l\u00e9charger le hak althea_jap_01.hak et les musiques cmp_v1.0.full_, qui elles se d\u00e9compressent dans le r\u00e9pertoire &#8216;music&#8217; et non le r\u00e9pertoire &#8216;hak&#8217;.<\/p>\n<p>Par rapport aux d\u00e9buts d&#8217;Althea, le contenu du jeu de base est beaucoup plus important \u00e0 tous points de vue. Comme je compte me focaliser plus sur le gameplay que sur quoi que ce soit d&#8217;autre, les hakpaks que j&#8217;ai pass\u00e9 en revue toute la journ\u00e9e n&#8217;offrent pas un int\u00e9r\u00eat transcendant par rapport aux tr\u00e8s nombreux ajouts du hakpak d&#8217;Althea originel. J&#8217;ai ajout\u00e9 des boucliers, parce que je suis fou de boucliers et des coiffes qui me permettront de donner corps \u00e0 une soci\u00e9t\u00e9 secr\u00e8te, mais \u00e0 part \u00e7a, quoi d&#8217;autre ? Un hak de 4600 fichiers pour un reskin des armes&#8230; bof, sans effets visuels, \u00e7a reste des bouts de fer et de bois, je ne voyais m\u00eame pas la diff\u00e9rence, j&#8217;\u00e9tais oblig\u00e9 de faire des copies d&#8217;\u00e9cran.<\/p>\n<p>Je mettrai en download optionnel des portraits et des musiques, ce qui me permettra de placer un jukebox dans les tavernes !<\/p>\n<p>Quand le serveur sera parfaitement en route, il reste du boulot avant \u00e7a ! je me remettrai \u00e0 la conception de mod\u00e8les sous 3DSMax, j&#8217;en ai fait quelques-uns qui sont dans le module d\u00e9j\u00e0, mais je compte y aller \u00e0 fond sur les effets visuels.<\/p>\n<p>Je compte bient\u00f4t fouiller les modules pour retrouver les qu\u00eates dont je ne dispose plus, je pense que cela sera ma prochaine priorit\u00e9, peut-\u00eatre avec une r\u00e9-installation de NWNX, c&#8217;est tout de m\u00eame gentil de pouvoir acc\u00e9der aux donn\u00e9es par SQL.<\/p>\n<p><i>19 mai 2019<\/i><\/p>\n<p>Travail sur les hakpaks, je commence avec les 2DA avant d&#8217;ajouter du contenu. Ca se passe comme \u00e7a :<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td width=\"1502\">Trouver les 2DA officiels. Ca, c&#8217;est assez facile, ce sont les 1.69.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Extraire dans un dossier (avec nwhak.exe) tous les 2DA d&#8217;Althea, soit tous les fichiers de r\u00e9f\u00e9rence modifi\u00e9s par rapport au jeu originel.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Extraire dans un autre dossier tous les 2DA officiels correspondant \u00e0 ceux modifi\u00e9s dans Althea.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Ouvrir avec notepad un m\u00eame fichier 2DA dans ses deux versions, Althea et officielle.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Chercher les diff\u00e9rences.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Copier les \u00e9l\u00e9ments d&#8217;Althea o\u00f9 il y a de la place dans les officiels, g\u00e9n\u00e9ralement \u00e0 la fin parce qu&#8217;il n&#8217;y a pas de place, ce qui n&#8217;est pas grave parce que ces \u00e9l\u00e9ments ne seront de toutes fa\u00e7ons pas au m\u00eame endroit que dans le 2DA Althea et que tous les blueprints custom du module devront \u00eatre refaits.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Enregistrer le nouveau 2DA ainsi obtenu.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">L&#8217;ouvrir dans Excel correctement configur\u00e9 pour que les donn\u00e9es se mettent dans les bonnes cases. Facile.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Renum\u00e9roter dans Excel les lignes de donn\u00e9es. Inutile, mais c&#8217;est plus joli et \u00e7a peut servir dans le futur.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Copier les donn\u00e9es d&#8217;Excel (sauf la premi\u00e8re ligne qui fera foirer le dernier logiciel utilis\u00e9&#8230;) dans le nouveau document texte.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Utiliser 2DA &amp; TLK Editor d\u00e9nich\u00e9 sur le Vault pour ouvrir ce document texte.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Enregistrer le document, \u00e0 pr\u00e9sent parfaitement num\u00e9rot\u00e9 et align\u00e9.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Placer le document dans le dossier &#8216;override&#8217; pour tester sa validit\u00e9 et le bon fonctionnement des blueprints standard.<\/td>\n<\/tr>\n<tr>\n<td width=\"1502\">Aller se chercher une petite bi\u00e8re et passer au 2DA suivant.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>J&#8217;esp\u00e9rais ne plus avoir \u00e0 m&#8217;embarrasser des ces complications apr\u00e8s avoir redress\u00e9 le 2DA des placeables, mais j&#8217;ai malheureusement remarqu\u00e9 que les blueprints standard des cr\u00e9atures \u00e9taient cass\u00e9s, pour la m\u00eame raison que Bioware a ajout\u00e9 beaucoup de donn\u00e9es apr\u00e8s la conception d&#8217;Althea et que je n&#8217;avais d&#8217;autre choix que de refaire tous les 2DA pour b\u00e9n\u00e9ficier des nouveaut\u00e9s.<\/p>\n<p>J&#8217;ai, par chance, retrouv\u00e9 les fichiers .BMU des musiques custom d&#8217;Althea. J&#8217;en ai profit\u00e9 pour charger le cmp_v1.0.full_ du vault, qui contient quelques 300 musiques et faire un 2DA appropri\u00e9. Bon, 400 m\u00e9gas, je vais peut-\u00eatre virer toutes les saloperies faites au synth\u00e9tiseur. Encore du boulot, mais les musiques c&#8217;est important.<\/p>\n<p><i>18 mai 2018<\/i><\/p>\n<p>Les travaux d&#8217;instanciation sont termin\u00e9s et tr\u00e8s concluants, la premi\u00e8re application concerne les maisons. Quatre mod\u00e8les sont disponibles, appartement \u00e0 50k, maison \u00e0 100k, manoir \u00e0 200k et chateau \u00e0 500k. De m\u00e9moire, je ne suis plus s\u00fbr des prix et cela changera de toutes fa\u00e7ons. Puisque le compte premium est offert \u00e0 tous par Tonton (moi j&#8217;aurais donn\u00e9 que dalle, mais il est comme \u00e7a&#8230;), il \u00e9tait urgent d&#8217;automatiser les habitations priv\u00e9es sans que je doive concevoir une carte et ses acc\u00e8s pour chaque joueur. C&#8217;est chose faite. Les bases sont l\u00e0 pour la cr\u00e9ation d&#8217;instances de raid, dans un futur proche.<\/p>\n<p>La marchande de meubles du march\u00e9 est devenue &#8220;Architecte&#8221; et, en plus des divers outils, vend \u00e0 pr\u00e9sent les propri\u00e9t\u00e9s.<\/p>\n<p>Le probl\u00e8me du serveur qui consommait 100% d&#8217;un des coeurs du processeur d\u00e8s qu&#8217;un utilisateur se connectait est r\u00e9solu. Une ligne dans la configuration serveur de nwnplayer.ini sp\u00e9cifie \u00e0 partir de combien de joueurs le serveur doit sortir de sleep mode et tourner \u00e0 plein r\u00e9gime, et par d\u00e9faut la config est \u00e0 1. Je ne comprends pas l&#8217;int\u00e9r\u00eat de cette option, je l&#8217;ai mise \u00e0 50, on verra bien. D&#8217;apr\u00e8s mes premiers tests, je ne constate pas d&#8217;incidence. C&#8217;est en tous cas une bonne nouvelle, j&#8217;\u00e9tais assez inquiet de cet usage excessif de la puissance machine, j&#8217;esp\u00e8re que cette p\u00e9rip\u00e9tie cl\u00f4ture d\u00e9finitivement le chapitre des pertes de temps li\u00e9es \u00e0 la technique serveur, maintenant que j&#8217;ai \u00e9galement appris \u00e0 utiliser la commande &#8216;screen&#8217; ce qui m&#8217;\u00e9vite de galoper \u00e0 la salle machine &#8211; qui est ma cave \u00e0 vins, on ne rit pas dans le fond ! &#8211; pour relancer le serveur.<\/p>\n<p>Dominique travaille sur l&#8217;aspect graphique de certaines zones. Elle a l&#8217;air d&#8217;y prendre plaisir, tant mieux !<\/p>\n<p><i>17 mai 2018<\/i><\/p>\n<p>Install\u00e9 le jeu sur l&#8217;ordinateur de Dominique pour 17\u20ac chez Beamdog directement, autant faire vivre le petit commerce. Elle va d\u00e9corer toutes les zones du monde qui doivent encore l&#8217;\u00eatre, certaines sont tristes \u00e0 pleurer, j&#8217;ai refait le centre de Soufflevent et le quartier des humains, mais il reste du boulot.<\/p>\n<p>Le syst\u00e8me de factions de pouvoirs fait lentement son chemin. Au d\u00e9part je vais recr\u00e9er des lobbies, tels que les m\u00e9nestrels, les nobles, les marchands, les voleurs et que sais-je. Un joueur qui aura gagn\u00e9 assez de r\u00e9putation pourra pr\u00e9tendre \u00e0 prendre le contr\u00f4le de l&#8217;une de ces factions et tous ses membres lui r\u00e9pondront. C&#8217;est l&#8217;id\u00e9e. Si nous avons assez de joueurs, ce d\u00e9veloppement sera inutile. A voir.<\/p>\n<p>Je travaille \u00e0 la cr\u00e9ation de zones dynamiques : tu ouvres une des nombreuses portes en ville qui ne donnent sur rien et une zone se cr\u00e9\u00e9e d&#8217;apr\u00e8s l&#8217;un des mod\u00e8les pr\u00e9vus \u00e0 cet effet. Tu peux ainsi entrer dans une zone qui n&#8217;existait pas avant que tu ne provoques sa cr\u00e9ation. Dans ces zones, du banal, famille \u00e0 table, sc\u00e8nes de la vie quotidienne, mais aussi des \u00e9v\u00e9nements: r\u00e9union secr\u00e8te, cambriolage en cours, etc. Des PJs (dont je dois de toute urgence peaufiner le comportement et les tenues, ils m&#8217;\u00e9nervent !) qui se prom\u00e8nent en ville pourront accoster les joueurs pour leur demander de l&#8217;aider o\u00f9 les pr\u00e9venir d&#8217;un danger, toujours en fonction de leur alignement\/r\u00e9putation\/faction\/renomm\u00e9e.<\/p>\n<p>En un mot comme en cent : j&#8217;ai bien d\u00e9cid\u00e9 de faire de l&#8217;univers de jeu un univers vivant et r\u00e9aliste o\u00f9 tout et n&#8217;importe quoi peut se produire \u00e0 tout instant. Si le serveur est aussi fiable qu&#8217;il le laisse penser, Althea va \u00eatre propuls\u00e9 \u00e0 des niveaux auxquels personne n&#8217;aurait pu r\u00eaver \u00e0 la grande \u00e9poque !<\/p>\n<p>Ah, oui, j&#8217;oubliais ! Si le travail d&#8217;instanciation est concluant, je compte bien r\u00e9aliser des instances de raids, sur le mod\u00e8le de WoW, autant prendre ce qui marche chez tout le monde ! Les joueurs qui voudraient entreprendre une instance sans \u00eatre assez nombreux seront assist\u00e9s par des PNJs dont j&#8217;aurai mis au point l&#8217;intelligence artificielle pour qu&#8217;il puissent r\u00e9pondre aux ordres du chef de raid. Ils ne pourront de toute fa\u00e7on jamais \u00eatre pires que certains p\u00e9berons qui s&#8217;incrustent dans les raids WoW semaine apr\u00e8s semaine.<\/p>\n<p><i>16 mai 2018<\/i><\/p>\n<p>Le premier joueur \u00e0 se connecter sur Althea s&#8217;appelait Orval&#8230; Salut Pat, comment tu vas ? Ce bon vieux Pat, un copain de r\u00e9giment &#8211; et c&#8217;est vrai en plus &#8211; merci \u00e0 lui d&#8217;avoir achet\u00e9 le jeu et de m&#8217;avoir permis de constater, en se connectant, que le serveur fonctionne parfaitement !<\/p>\n<p>Au gu\u00e9 de Soufflevent, j&#8217;ai spawn\u00e9 tant de cr\u00e9atures de factions oppos\u00e9es que ma carte graphique criait au secours&#8230; et le serveur n&#8217;a pas bronch\u00e9. Il affiche 100% d&#8217;utilisation d&#8217;un de ses deux coeurs (vaillants !) mais c&#8217;est du flan, en fait il est impossible de le mettre \u00e0 genoux, jamais je n&#8217;aurais pu soumettre l&#8217;ancien serveur \u00e0 pareille \u00e9preuve. Quand je pense que cette machine a failli finir \u00e0 la poubelle ! Un vieux <span data-id=\"sysinfo_cpu_type\">Intel(R) Core2 Duo CPU E6550 @ 2.33GHz, 2 coeurs avec 2Go de RAM, un disque de 300Go et une NVidia 460. Le truc qui se vend 50\u20ac sur 2ememain.be -achet\u00e9 700\u20ac en 2007 quand m\u00eame, avec un \u00e9cran plat 21&#8243;. En fait, avec une distro Linux dessus, c&#8217;est de la bombe ! Non seulement il nous sert de box multim\u00e9dia pour nos entra\u00eenements de rameur dans la cave, mais en plus, il est largement suffisant pour encaisser quelques dizaines de joueurs, j&#8217;en suis certain.<\/span><\/p>\n<p><span data-id=\"sysinfo_cpu_type\">Pour dire la v\u00e9rit\u00e9, l&#8217;\u00e9preuve de l&#8217;installation d&#8217;un serveur Linux d\u00e9di\u00e9 m&#8217;a \u00e9reint\u00e9, je vais reprendre le d\u00e9veloppement du module, mais l\u00e0 j&#8217;accuse le coup, je n&#8217;aime pas trop les trucs techniques, trop de bidouillage \u00e0 mon go\u00fbt, mais \u00e7a valait la peine, peu importe l&#8217;avenir du module, il est ren\u00e9 de ses cendres. Oui, je sais, Larousse dit que rena\u00eetre n&#8217;a ni participe pass\u00e9 ni temps compos\u00e9s, mais pour une fois que cela m&#8217;arrange, je vais ignorer les recommandations de la Grande Maison.<\/span><\/p>\n<p><i>15 mai 2018<\/i><\/p>\n<p><span style=\"font-family: Courier New;\">Server Name: FR] Althea<br \/>\nMaximum Clients: 44<br \/>\nServer Port: 5121<br \/>\nModule Name: althea<br \/>\nModule Status: Running<br \/>\nPVP: Party<br \/>\nDifficulty: 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Levels: 1 to 40<br \/>\nELC: 1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ILR: 0<br \/>\nOne Party: 1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Server Vault: 0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Pause and Play: 0<br \/>\nReload when Empty: 0 \u00a0\u00a0\u00a0\u00a0\u00a0AutoSave Interval: 0 \u00a0\u00a0\u00a0\u00a0\u00a0Public Server: 1<\/span><\/p>\n<p><span style=\"font-family: Courier New;\">ID | \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Player Name | \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0IP Address | \u00a0\u00a0\u00a0\u00a0\u00a0Character Name \u00a0| CD Key(s)<br \/>\n&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;<br \/>\n0 | \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Thierry | \u00a0\u00a0\u00a0\u00a0\u00a0192.168.1.27 | Miriandel of Britain | QRM3DWPV<\/span><\/p>\n<p>Voil\u00e0, c&#8217;\u00e9tait dur, tr\u00e8s dur m\u00eame, merci \u00e0 Bruno, Patrick et Chichi qui m&#8217;ont soutenu dans l&#8217;\u00e9preuve, je viens de passer deux jours dans la cave, au propre comme au figur\u00e9, mais<span style=\"color: red;\"><b> le module est en ligne !<\/b><\/span><\/p>\n<p>Bon, je ne suis pas au bout de mes peines, loin s&#8217;en faut et je n&#8217;ai m\u00eame pas le coeur de relater tout ce par quoi il a d\u00e9j\u00e0 fallu passer jusqu&#8217;ici, je renseignerai simplement que :<\/p>\n<ul type=\"disc\">\n<li>ni les haks ni les modules ne peuvent comporter de majuscules, \u00e7a cause des probl\u00e8mes<\/li>\n<li>les modules doivent se terminer par &#8220;.mod&#8221; mais le shell de d\u00e9marrage ne doit pas reprendre le &#8220;.mod&#8221;, ceci m&#8217;a co\u00fbt\u00e9 une journ\u00e9e de recherches !<\/li>\n<\/ul>\n<p><i>14 mai 2018<\/i><\/p>\n<p>J&#8217;ai termin\u00e9 l&#8217;installation d&#8217;Ubuntu sur le serveur mais je n&#8217;arrive pas encore \u00e0 lancer les ex\u00e9cutables linux, et pourtant c&#8217;est d\u00e9j\u00e0 une grande victoire vu d&#8217;o\u00f9 je viens! Si j&#8217;ai le temps apr\u00e8s mon jogging je laisserai \u00e0 la post\u00e9rit\u00e9 tout ce qui m&#8217;est tomb\u00e9 sur la t\u00eate depuis hier, c&#8217;est du plus haut comique !<\/p>\n<p><i>13 mai 2018<\/i><\/p>\n<p>Mise en service du module, phase 1 (en clair: aucune id\u00e9e de comment \u00e7a va se passer !)<\/p>\n<p>Fin du travail sur les charmes de Selene, qui pour le moment ne sont que deux:<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td bgcolor=\"silver\" width=\"231\">\n<p align=\"center\">Co\u00fbt en PO par niveau<\/p>\n<\/td>\n<td bgcolor=\"silver\" width=\"313\">\n<p align=\"center\">D\u00e9clenchement<\/p>\n<\/td>\n<td bgcolor=\"silver\" width=\"324\">\n<p align=\"center\">Effet<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td width=\"231\">50<\/td>\n<td width=\"313\">Entre 0 et -9 PV<\/td>\n<td width=\"324\">Eth\u00e9r\u00e9, 20 secondes<br \/>\nR\u00e9g\u00e9n\u00e9ration de 3, 20 secondes<\/td>\n<\/tr>\n<tr>\n<td width=\"231\">100<\/td>\n<td width=\"313\">Toujours sous 0 PV, sans limite<\/td>\n<td width=\"324\">Eth\u00e9r\u00e9, 12 secondes<br \/>\nR\u00e9g\u00e9n\u00e9ration de 6, 20 secondes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><i>12 mai 2018<\/i><\/p>\n<p>J&#8217;ai d\u00e9truit le &#8216;on heartbeat&#8217; du module. Je ne comprends pas comment ce script pouvait exister : toutes les 6 secondes chaque joueur connect\u00e9 d\u00e9clenchait plusieurs checks, exactement ce qu&#8217;il faut pour mettre un serveur \u00e0 genoux. J&#8217;ai donc d\u00e9plac\u00e9 tous ces checks \u00e0 d&#8217;autres endroits, supprim\u00e9 les boucles et r\u00e9-\u00e9crit Bleedcheck de mani\u00e8re r\u00e9cursive pour que les \u00e9v\u00e9nements \u00e0 la mort, qui impliquent aussi les charmes de Selene, ne concernent plus que le joueur en difficult\u00e9. Je suis en train de r\u00e9fl\u00e9chir \u00e0 l&#8217;opportunit\u00e9 de trafiquer mod_ondeath pour qu&#8217;un charme de Selene \u00e9vite la mort et am\u00e8ne le joueur \u00e0 0, pas certain que ce soit utile ni possible, \u00e0 mettre quelque part en &#8216;to do&#8217;.<\/p>\n<p><i>11 mai 2018<\/i><\/p>\n<p>Le pr\u00eatre de Selene propose des contrats de protection. Le petit augmente les chances de survivre \u00e0 un coup fatal, le moyen le garantit et le grand n&#8217;est accessible qu&#8217;aux joueurs profond\u00e9ment impliqu\u00e9s dans la vie du monde, crit\u00e8res qui restent \u00e0 d\u00e9finir mais je pense, pour les mauvais par exemple, \u00e0 leur faire siphonner la vie autour d&#8217;eux, m\u00eame de leurs alli\u00e9s, pour ne pas mourir. Une option a \u00e9t\u00e9 ajout\u00e9e \u00e0 la pierre de destin\u00e9e pour retourner directement au temple de S\u00e9l\u00e8ne pour recharger son charme de protection.<\/p>\n<p>Bien s\u00fbr, je pense toujours en avoir pour quelques minutes pour mettre en place un syst\u00e8me de jeu &#8220;aussi simple&#8221; et \u00e0 l&#8217;arriv\u00e9e je me retrouve avec un brol de ce genre :<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-157\" src=\"http:\/\/192.168.1.201\/wordpress\/wp-content\/uploads\/2018\/09\/Convo_Selene.jpg\" alt=\"\" width=\"1722\" height=\"1252\" \/><\/p>\n<p>Je vais lancer le module tr\u00e8s bient\u00f4t, annonc\u00e9 en b\u00eata, quand faut y aller, faut y aller, si j&#8217;attends d&#8217;avoir tout explor\u00e9 et rev\u00e9rifi\u00e9, j&#8217;en ai pour des mois. Je cr\u00e8ve de trouille que mon serveur ne tienne pas le choc, il n&#8217;est pas de premi\u00e8re jeunesse, et je dois encore trouver un Watchdog de qualit\u00e9 pour garantir l&#8217;uptime, je d\u00e9teste ces impedimenta techniques.<\/p>\n<p><i>10 mai 2018<\/i><\/p>\n<p>Qu\u00eate d&#8217;Amendil termin\u00e9e, fonctionnement de l&#8217;ASSP satisfaisant (on peut ainsi d\u00e9sactiver les spawns en envoyant un UDF(0) au lieu de (5000), pratique).<\/p>\n<p>Dans l&#8217;optique d&#8217;ancrer le personnage dans l&#8217;univers, je vais impl\u00e9menter un syst\u00e8me de bardes qui chanteront les exploits des joueurs, d&#8217;apr\u00e8s la base de donn\u00e9es des qu\u00eates.<\/p>\n<p>Je passe \u00e0 la v\u00e9rification de la todo list dans l&#8217;optique d&#8217;une mise en ligne rapide du module, il est pr\u00eat.<\/p>\n<p>En travaillant sur le pr\u00eatre de Selene, qui ne servait \u00e0 rien du tout, je me suis rendu compte que j&#8217;utilise le &#8216;on heartbeat&#8217; pour les proc\u00e9dures de potions, de bandages et d&#8217;\u00e9v\u00e9nements \u00e0 la mort. C&#8217;est le meilleur moyen de mettre le processeur \u00e0 genoux, je dois absolument changer \u00e7a en DelayCommand ou UDF.<\/p>\n<p><i>09 mai 2018<\/i><\/p>\n<p>Debugger udf_amendilzone qui semble bugg\u00e9 depuis 15 ans&#8230; les spawns en r\u00e9f\u00e9rence n&#8217;existent pas! Terminer la qu\u00eate de ce brave Amendil.<\/p>\n<p>Je refais le dialogue d&#8217;Amendil de A \u00e0 Z, bouclant au passage une qu\u00eate simple mais je crois efficace dans les Tombes gardiennes, zone qui n&#8217;a jamais servi \u00e0 rien d&#8217;autre que balancer des tombereaux d&#8217;undeads \u00e0 la t\u00eate des PJs, et je me rends compte que si l&#8217;univers du jeu a chang\u00e9 depuis les d\u00e9buts d&#8217;Althea, moi aussi j&#8217;ai chang\u00e9. Je r\u00e9alise les possibilit\u00e9s narratives exceptionnelles de Neverwinter Nights. De simples dialogues coupl\u00e9s \u00e0 une utilisation tout aussi simple de la base de donn\u00e9es des qu\u00eates permet d&#8217;envoyer les joueurs sur des chemins de traverse parfaitement surprenants et, avec un peu plus d&#8217;efforts, sur la trace de qu\u00eates \u00e9piques fascinantes. De beaux jours se profilent, je pense pouvoir proposer du contenu passionnant \u00e0 tr\u00e8s peu de frais en mati\u00e8re de d\u00e9veloppement.<\/p>\n<p>L&#8217;int\u00e9r\u00eat de comptabiliser l&#8217;influence des actions des joueurs sur les alignement m&#8217;appara\u00eet aussi de plus en plus clairement, me poussant \u00e0 capitaliser sur la qualit\u00e9 d&#8217;interpr\u00e9tation de son personnage, car une qu\u00eate pourra se comporter de mani\u00e8re tout \u00e0 fait diff\u00e9rente selon l&#8217;alignement du joueur et offrir des d\u00e9nouements extr\u00eamement vari\u00e9s.<\/p>\n<p>Evidemment, je pense plus que jamais \u00e0 r\u00e9duire l&#8217;influence de Krynn dans le module, qui \u00e9tait surtout le dada de Yan que nous ne risquons plus de revoir de sit\u00f4t si son mariage tha\u00eflandais se concr\u00e9tise et qu&#8217;il part s&#8217;\u00e9tablir \u00e0 l&#8217;autre bout du monde, et \u00e0 transposer l&#8217;univers de Mirda dans un avenir proche, tel que d\u00e9crit dans mes romans.<\/p>\n<p>Ceci se greffe naturellement sur le nouveau syst\u00e8me d&#8217;appr\u00e9ciation auquel je pense et qui permet \u00e0 un jouer de manifester son respect ou son m\u00e9pris \u00e0 un autre. Une fois encore, si cela n&#8217;a jamais \u00e9t\u00e9 fait, c&#8217;est probablement que c&#8217;est impossible, mais j&#8217;ai vraiment tr\u00e8s envie d&#8217;essayer, je pense \u00eatre arriv\u00e9 \u00e0 un niveau d&#8217;exp\u00e9rience qui me permette de l&#8217;envisager sereinement.<\/p>\n<p><i>08 mai 2018<\/i><\/p>\n<p>Termin\u00e9 l&#8217;AWSS, aussit\u00f4t rebaptis\u00e9 ASSP pour Point, par opposition \u00e0 ASSZ pour Zone. L&#8217;ancienne routine void ASS() appelle d&#8217;abord l&#8217;ASSP au cas o\u00f9 un spawn tr\u00e8s pr\u00e9cis serait demand\u00e9, puis passe la main \u00e0 l&#8217;ASSZ pour du remplissage de zone ancienne mouture.<\/p>\n<p>L&#8217;ASSP a pour lui l&#8217;avantage de la pr\u00e9cision, les mobs sont cr\u00e9\u00e9s pile sur un placeable. Cette m\u00e9thode permet aussi de se passer des d\u00e9clencheurs inefficaces quand une zone a plusieurs points d&#8217;entr\u00e9e. Attention \u00e0 un gros bug cependant: le nom des objets n&#8217;est pas s\u00e9lectionn\u00e9 de mani\u00e8re coh\u00e9rente selon la langue du jeu. Parfois il prend le fran\u00e7ais, parfois l&#8217;anglais, il faut donc faire tr\u00e8s attention \u00e0 ce que le nom de l&#8217;objet soit identique dans toutes les langues.<\/p>\n<p>Quant au joueurs qui voudraient camper un point de spawn, ils ne gagneront rien \u00e0 attendre 2 minutes plut\u00f4t qu&#8217;\u00e0 se d\u00e9placer jusqu&#8217;au spawn suivant, donc je laisse.<\/p>\n<p><i>07 mai 2018<\/i><\/p>\n<p>Je pensais d\u00e9j\u00e0 entamer de monter un perso, mais en allant faire un tour au cimeti\u00e8re de Soufflevent, je me suis rendu compte qu&#8217;il y a l\u00e0 un PNJ, Amendil, qui n&#8217;appara\u00eet qu&#8217;\u00e0 la nuit tomb\u00e9e et qui propose une conversation du plus haut cucul et qui ne m\u00e8ne nulle part. C&#8217;est pratiquement tout ce qui reste de la premi\u00e8re version d&#8217;Althea avant que je ne commence \u00e0 d\u00e9velopper le module, je vais le garder comme souvenir et tenter de lui donner une raison d&#8217;exister.<\/p>\n<p>Je dois modifier les routines de l&#8217;ASS (Althea spawn system) pour s&#8217;accommoder de points de spawn plut\u00f4t que de zones al\u00e9atoires dans une carte, ce qui me permettra d&#8217;utiliser l&#8217;ASS m\u00eame dans les cartes remplies d&#8217;endroits inaccessibles. Je commence donc \u00e0 \u00e9crire l&#8217;AWSS (Althea Waypoint Spawn System) qui va peupler la carte l\u00e0 o\u00f9 sont plac\u00e9s des waypoints de spawn (ou objets d\u00e9coratifs quoi que je n&#8217;aime pas donner deux fonctions \u00e0 un seul objet). Je dois r\u00e9fl\u00e9chir \u00e0 quel waypoint utiliser pour spawner les mobs pour \u00e9viter qu&#8217;ils ne spawnent sous le nez du joueur. Probablement en prenant un des WP au hasard et v\u00e9rifier qu&#8217;aucun joueur n&#8217;est trop proche du point. Sinon ils vont camper, c&#8217;est clair !<\/p>\n<p><i>06 mai 2018<\/i><\/p>\n<p>Tous les placeables de toutes les zones ont \u00e9t\u00e9 rectifi\u00e9s. J&#8217;ai \u00e9galement un peu revu l&#8217;artisanat pour le rendre plus accessible. Je ne suis pas enti\u00e8rement satisfait de la situation mais le code est abondant, je pr\u00e9f\u00e8re ne pas trop y toucher.<\/p>\n<p><i>05 mai 2018<\/i><\/p>\n<p>Nous sommes arriv\u00e9s avec Dominique aux zones commen\u00e7ant par K.<\/p>\n<p><i>04 mai 2018<\/i><\/p>\n<p>Je ne suis pas satisfait des 2DA des haks, ils sont incoh\u00e9rents. Il m&#8217;est impossible d&#8217;utiliser les placeables du jeu de base, puisque les placeables\u00a0d&#8217;Althea occupent un espace qu&#8217;occupent maintenant les nouveaux objets, d&#8217;o\u00f9 conflits.<\/p>\n<table border=\"\">\n<tbody>\n<tr>\n<td colspan=\"2\" width=\"1502\">Voici ce que j&#8217;ai pu d\u00e9terminer jusqu&#8217;ici:<\/td>\n<\/tr>\n<tr>\n<td width=\"65\">1<\/td>\n<td width=\"1431\">On peut supprimer la ressource placeables.2DA des hakpaks et la placer dans le dossier override pour acc\u00e9l\u00e9rer les tests<\/td>\n<\/tr>\n<tr>\n<td width=\"65\">2<\/td>\n<td width=\"1431\">Il faut faire tr\u00e8s attention \u00e0 la langue dans laquelle on travaille, je pense que quand la case est jaune c&#8217;est qu&#8217;aucune ressource linguistique n&#8217;existe et que sinon il prend la premi\u00e8re qu&#8217;il trouve quelle que soit la s\u00e9lection de langue.<\/td>\n<\/tr>\n<tr>\n<td width=\"65\">3<\/td>\n<td width=\"1431\">Une fois le travail termin\u00e9, il faudra repasser le jeu en fran\u00e7ais et modifier la description anglaise de chaque blueprint. Pas aussi lourd que \u00e7a en a l&#8217;air.<\/td>\n<\/tr>\n<tr>\n<td width=\"65\">4<\/td>\n<td width=\"1431\">Les placeables sont class\u00e9s par ligne dans le 2DA, ind\u00e9pendamment du num\u00e9ro de ligne, purement cosm\u00e9tique.<\/td>\n<\/tr>\n<tr>\n<td width=\"65\">5<\/td>\n<td width=\"1431\">La seule r\u00e9paration efficace consiste \u00e0 repartir du 2DA officiel, de l&#8217;augmenter \u00e9ventuellement de quelques centaines de lignes vides, puis d&#8217;ajouter les objets propres au 2DA Althea et d&#8217;ensuite modifier tous les blueprints et d&#8217;enfin v\u00e9rifier chaque placeable dans chaque zone.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Voil\u00e0, le travail est \u00e9norme mais indispensable: j&#8217;ai reconstruit un fichier 2DA \u00e0 partir de l&#8217;original 1.72 augment\u00e9 des placeables Althea. Comme \u00e7a, plus rien ne fonctionne nulle part mais au moins j&#8217;ai l&#8217;int\u00e9gralit\u00e9 des placeables du jeu.<\/p>\n<p>Maxime et moi avons corrig\u00e9 tous les blueprints et sommes occup\u00e9s \u00e0 remplacer dans chaque carte l&#8217;apparence de chaque placeable. Oui, c&#8217;est un boulot de titan, sans mon fils je n&#8217;aurais pas le courage, mais toute autre solution serait du travail b\u00e2cl\u00e9. Nous avons termin\u00e9 les cartes commen\u00e7ant par C, d\u00e8s demain nous continuons avec les D.<\/p>\n<p><i>03 mai 2018<\/i><\/p>\n<p>Le m\u00e9gabug de la mort qui tue&#8230; Quand on ouvre un dialogue alors que le jeu est en fran\u00e7ais (il faut pour cela ajouter manuellement la ligne &#8216;language=fr&#8217; apr\u00e8s &#8216;Display Options&#8217; dans NWN.INI, tr\u00e8s intuitif pour des abrutis nourris \u00e0 la ligne de commande d\u00e8s le biberon), il affiche la version anglaise de la conversation et non la ressource fran\u00e7aise qui est en fait vide. J&#8217;ai mis deux heures \u00e0 comprendre pourquoi les modifications que je faisais aux conversations n&#8217;avaient aucune r\u00e9percussion dans le jeu, apr\u00e8s avoir \u00e9puis\u00e9 tout mon r\u00e9pertoire, et il est copieux, de ficelles vicieuses pour forcer un soft \u00e0 faire ce qu&#8217;il ne veut absolument pas faire.<\/p>\n<p>Bon, j&#8217;ai termin\u00e9 la r\u00e9vision des qu\u00eates d&#8217;Aruvil. Je les d\u00e9teste. J&#8217;ai honte, c&#8217;est du travail b\u00e2cl\u00e9, tout juste bon pour la poubelle. Mais je n&#8217;ai pas le temps de les refaire, elles fonctionnent, passons \u00e0 autre chose.<\/p>\n<p><i>02 mai 2018<\/i><\/p>\n<p>Travail sur les qu\u00eates d&#8217;Aruvil. La qu\u00eate de Fenlick \u00e9tait un tel fatras que le rouge m&#8217;en monte au front. J&#8217;ai tout vir\u00e9 et r\u00e9-\u00e9crit trois ou quatre lignes, bien suffisantes. Pas \u00e9tonnant que cette horreur ait toujours \u00e9t\u00e9 bugg\u00e9e.<\/p>\n<p>La qu\u00eate de Dalamar n&#8217;\u00e9tait pas mieux, je l&#8217;ai revisit\u00e9e, offrant au passage une cape de deux sorts 1 et un sort 0 pour les pauvres mages qui ont la vie bien difficile \u00e0 bas niveau.<\/p>\n<p>D\u00e9truit l&#8217;include inc_m_quests, inutilis\u00e9, reliquat d&#8217;un pass\u00e9 inachev\u00e9 sans doute.<\/p>\n<p><i>01 mai 2018<\/i><\/p>\n<p>Travail sur la banque termin\u00e9. Tests concluants sur l&#8217;assemblage, r\u00e9paration du ma\u00eetre de la guilde des inventeurs dont la conversation manquait.<\/p>\n<p><i>30 avril 2018<\/i><\/p>\n<p>Premier plan d&#8217;un syst\u00e8me de r\u00e9putation o\u00f9 les joueurs honoreraient ou conspueraient un autre joueur. L&#8217;id\u00e9e est de donner \u00e0 la classe de paladin le lustre qu&#8217;elle n&#8217;a jamais eu sur un jeu en ligne. Les abus sont le frein ; j&#8217;imagine que chaque joueur construise une r\u00e9serve de points de respect et de m\u00e9pris, id\u00e9alement ind\u00e9pendante du temps de connexion, et dont il disposerait \u00e0 sa guise. L&#8217;id\u00e9e est encore lointaine, si personne ne l&#8217;a jamais fait c&#8217;est qu&#8217;il y a des raisons, sur lesquelles je me casserai les dents bien assez t\u00f4t. J&#8217;ai pourtant bon espoir de faire quelque chose d&#8217;int\u00e9ressant.<\/p>\n<p><i>29 avril 2018<\/i><\/p>\n<p>J&#8217;ai rassembl\u00e9 le hak 000 et le hak 001 dans le hak Althea_v000. J&#8217;aime ce qui est net et avoir le hak divis\u00e9 en deux morceaux n&#8217;\u00e9tait pas net.<\/p>\n<p>Les temps ont chang\u00e9, j&#8217;ai pris le parti de charger les d\u00e9cors, \u00e0 commencer par Soufflevent. J&#8217;ai ajout\u00e9 des marchands et une banque, que je suis en train de scripter. Quoi qu&#8217;un script de banque doive d\u00e9j\u00e0 exister quelque part, mais comme je trouve toujours que le code public est trop charg\u00e9, je ne prends m\u00eame pas la peine d&#8217;en chercher un, j&#8217;\u00e9cris le mien.<\/p>\n<p><i>28 avril 2018<\/i><\/p>\n<p>Je progresse dans la d\u00e9couverte des probl\u00e8mes, ce qui est encourageant dans la mesure o\u00f9 le probl\u00e8me pr\u00e9c\u00e8de toujours la solution. On se motive comme on peut. Quoi qu&#8217;il en soit, les hakpaks version 1 (appel\u00e9s 000) utilisent des fichiers 2DA obsol\u00e8tes. Par exemple, de nombreux &#8220;placeables&#8221; ont \u00e9t\u00e9 ajout\u00e9s par Bioware au fil des ann\u00e9es et les placeables d&#8217;Althea occupent l&#8217;espace de leur d\u00e9finition, les rendant inaccessibles. Les versions ult\u00e9rieures des hakpaks (2 et 3) n&#8217;arrangent rien, mon vieux module ne peut les utiliser, les placeables sont dans le d\u00e9sordre et ne contiennent de toutes fa\u00e7ons pas les derni\u00e8res cr\u00e9ations officielles. Apr\u00e8s une bonne s\u00e9ance d&#8217;arrachage de cheveux, j&#8217;ai tent\u00e9 d&#8217;ajouter apr\u00e8s la liste des placeables Althea 1 la liste des placeables Bioware qui ne se trouvent pas d\u00e9j\u00e0 dans le .2DA, ce qui offre le double avantage de ne rien devoir changer au hakpaks version 1 et de quand m\u00eame avoir acc\u00e8s \u00e0 tout le contenu de base. Apr\u00e8s une s\u00e9ance de bidouillage en bonne et due forme : \u00e7a marche ! Non seulement j&#8217;ai acc\u00e8s \u00e0 tous les placeables du module de 2003 mais aussi \u00e0 tous ceux des versions ult\u00e9rieures du jeu de base. La mauvaise nouvelle, il en faut toujours une, c&#8217;est que tout ce qui a \u00e9t\u00e9 fait \u00e0 partir du hakpak version 2, et \u00e0 fortiori le 3, est inutilisable car l&#8217;ordre des placeables ne correspond pas \u00e0 la version 1.<\/p>\n<p><i>27 avril 2018<\/i>.<\/p>\n<p>La grosse tuile. Les modules que j&#8217;ai r\u00e9cup\u00e9r\u00e9s sont inutilisables. J&#8217;ai relev\u00e9 des probl\u00e8mes de scripting insurmontables: scripts NWNX non encapsul\u00e9s diss\u00e9min\u00e9s partout dans le code, scripts g\u00e9n\u00e9riques hard-cod\u00e9s, red\u00e9finition de fonctions standard (ce que mon compilateur accueille tr\u00e8s justement avec le doigt du milieu lev\u00e9), et autres joyeuset\u00e9s.<\/p>\n<p>Je n&#8217;ai donc pas d&#8217;autre choix que de repartir de mon vieux module et d&#8217;int\u00e9grer mes anciennes qu\u00eates quand je tomberai dessus par hasard lors d&#8217;une s\u00e9ance de fouilles.<\/p>\n<p><i>26 avril 2018<\/i>.<\/p>\n<p>Lorsque j&#8217;ai d\u00e9cid\u00e9 de ne plus poursuivre le d\u00e9veloppement d&#8217;Althea, j&#8217;ai accept\u00e9 \u00e0 la demande de certains joueurs qu&#8217;ils reprennent les modules et continuent \u00e0 les faire vivre et \u00e9voluer. C&#8217;est ce qu&#8217;ils ont fait : de nombreux anciens joueurs ont continu\u00e9 l&#8217;aventure. C&#8217;est heureux car, gr\u00e2ce \u00e0 Patrick, alias Alvin et Bruno, alias Corso, j&#8217;ai pu r\u00e9cup\u00e9rer aujourd&#8217;hui les 4 modules d&#8217;Althea qui ont tourn\u00e9 sur le serveur de Corso pendant des ann\u00e9es. Je ne saurais trop leur exprimer ma gratitude, car sans eux un travail consid\u00e9rable aurait \u00e9t\u00e9 perdu, le module que j&#8217;ai pu retrouver par hasard sur un vieux CD ne comportait pas nombre de mes plus belles qu\u00eates. Ils ont mille fois m\u00e9rit\u00e9 un compte premium \u00e0 vie !<\/p>\n<p>C\u00f4t\u00e9 d\u00e9veloppement, j&#8217;ai r\u00e9alis\u00e9 une nouvelle routine de gestion des coffres des vendeurs qui r\u00e9sout tous les probl\u00e8mes de ActionGiveItem en d\u00e9truisant le coffre pour le remplacer par un neuf, identique. C&#8217;est le bazooka pour tuer la mouche, mais cela permettra, par le biais de la conversation avec le vendeur, de remplacer un coffre bugg\u00e9 en position ouverte par un nouveau, vieux bug dont je n&#8217;avais jamais pu triompher par le pass\u00e9.<\/p>\n<p><i>25 avril 2018<\/i>.<\/p>\n<p>Tous les appels de base donn\u00e9es sont modifi\u00e9s, \u00e0 charge de les tester. Les premiers r\u00e9sultats sont pass\u00e9s de &#8220;curieux&#8221; \u00e0 &#8220;encourageants&#8221;. Quoi qu&#8217;ils restent tout de m\u00eame, la plupart du temps, un peu curieux car la syntaxe de certaines fonctions essentielles a chang\u00e9 au fil des ann\u00e9es. Les syst\u00e8mes se r\u00e9activent les uns apr\u00e8s les autres, je corrige des bugs dont je ne comprends pas toujours comment ils peuvent subsister dans un module aussi ancien.<\/p>\n<p>Je n&#8217;ai pas encore pu commencer le d\u00e9bugging des qu\u00eates de d\u00e9butant, demain peut-\u00eatre.<\/p>\n<p><i>24 avril 2018<\/i>.<\/p>\n<p>Au programme du jour, Aruvil, l&#8217;elfe donneur de qu\u00eates au quartier g\u00e9n\u00e9ral de l&#8217;Alliance. Les qu\u00eates du stock d&#8217;armes et d&#8217;Eorkwold sont bugg\u00e9es. Je compte aussi assouplir la limitation de r\u00e9p\u00e9tition.<\/p>\n<p>Destruction de aps_include: adieu NWNX! J&#8217;ai repass\u00e9 tout les appels de base de donn\u00e9es sur NBDE. Tout cela est extr\u00eamement risqu\u00e9, je modifie des dizaines de scripts comportant des appels imbriqu\u00e9s \u00e0 l&#8217;aveugle, tout va se jouer au test. Ce n&#8217;est pas du tout professionnel, mais ai-je le choix ?<\/p>\n<p><i>23 avril 2018<\/i>.<\/p>\n<p>Je repars sur un module d&#8217;ao\u00fbt 2003. Quinze ans apr\u00e8s, je ne me souviens plus de grand-chose, tout est \u00e0 refaire, je ne me souviens plus des scripts, des qu\u00eates, des zones, des syst\u00e8mes de jeu, rien !<\/p>\n<p>Alors je r\u00e9-apprends, aussi vite que possible. Pour commencer, je fais le m\u00e9nage, je simplifie toutes les choses artificielles ou compliqu\u00e9es que je vois et je remonte un personnage fragile de z\u00e9ro pour \u00e9prouver l&#8217;exp\u00e9rience de jeu comme n&#8217;importe quel joueur.<\/p>\n<p>Pour le moment, je fais la chasse aux bugs, je m&#8217;assure que le module est agr\u00e9able pour un d\u00e9butant, et je remets en route tous les syst\u00e8mes de jeu au fur et \u00e0 mesure que je les rencontre.<\/p>\n<p>Haut les coeurs !<\/p>\n<div id=\"ConnectiveDocSignExtentionInstalled\" data-extension-version=\"1.0.4\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Cinq premiers mois de d\u00e9veloppement 26 septembre 2018 J&#8217;ai termin\u00e9 hier soir la publication de la derni\u00e8re version des hakpaks et l&#8217;installation du module sur le serveur. J&#8217;esp\u00e8re que le prochain patch de Beamdog introduira NWSync et que les joueurs &hellip; <a href=\"https:\/\/myrdil.com\/?page_id=117\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-117","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/pages\/117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=117"}],"version-history":[{"count":0,"href":"https:\/\/myrdil.com\/index.php?rest_route=\/wp\/v2\/pages\/117\/revisions"}],"wp:attachment":[{"href":"https:\/\/myrdil.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}