Bonjour Mesdames, Messieurs (Rayez la mention inutile) Aujourd'hui, voici deux articles de Kyren et d'Omni, ça parle surtout de programmation !

10 Juin, Documentation, paires de substitution UTF et Commandes en LUA, par OmnipotentEntity

J'ai récemment travaillé sur quelques trucs sympas, en coulisses. La première chose que j'ai fais a été d'améliorer quelques unes des commandes d'admin. Les bannissements peuvent maintenant être temporaires : le joueur sera automatiquement débanni lorsque le temps sera écoulé. La seule condition est que le serveur reste ouvert, parce que le temps n'est pas enregistré, du moins pas encore (les bannissements définitifs le sont, bien entendu). C'est pratique pour les bans à court terme, de 10 minutes à quelques heures, le temps pour quelqu'un de se calmer. Ensuite, j'ai retravaillé les commandes en doublon, pour qu'elles se servent d'un unique playerSpecifier. Allez voir mon post à ce sujet sur le forum pour plus de détails. J'ai ensuite changé la commande /listcid en /list et je l'ai modifié pour qu'elle affiche aussi l'IDUU des joueurs et, si le pseudonyme du personnage contient des caractères qui ne peuvent pas être affichés par notre police de d'écriture, le code UTF de ces caractères sera affiché à la place. Donc si vous tombez sur quelqu'un appelé “ emoji ” Vous ne pourrez pas lire son pseudonyme mais la liste affichée par la commande l'affichera ainsi $3 : \ud83d\ude00\u2603 : $$ (L'IDUU se trouve ici). Vous pouvez utiliser cette séquence d'unicodes pour désigner le joueur en tapant une commande. Remarquez que j'utilise des séquences unicode en \u et pas en \U, ce qui signifie que la j'ai passé presque toute ma matinée à écrire un encodeur/décodeur pour paires de substitution, et à réécrire certaines parties de l'analyseur syntaxique pour que tout fonctionne. Tout ça vous évitera d'user vos touches. Ensuite, j'ai ajouté un Script Hook (NdT : En LUA, fonction qui permet d'étendre ou de modifier le comportement de certains assets) au processeur de commandes. Vous pourrez maintenant définir vos propres commandes. Il n'en existe pas encore beaucoup, mais cela devrait changer au fur et à mesure que nous aurons des idées. Finalement, j'ai changé le format des fonctions de rappel Lua pour que Doxygen (NdT : Un générateur de documentation. En gros, ça prend le code et ça le traduit en quelque chose de compréhensible pour le commun des mortels) puisse les analyser (ou au moins en analyser certaines, il reste beaucoup à faire), j'ai ensuite modifié nos paramètres Doxygen pour rendre cette documentation plus accessible au public (j'ai enlevé les verbatim_headers et les full_source). Vous pourrez trouver la documentation publique à cette adresse : http://doc.playstarbound.com. Pour l'instant c'est mis à jour manuellement quand j'ai le temps. Mais une fois que notre système de nightlies sera fonctionnel, je m'assurerai que le script qui met les nightlies en ligne mette aussi la documentation à jour. Amusez vous bien, les moddeurs ! (NdT : Pour les nightlies, voyez l'article ci-dessous) Source : [June 10, Documentation, UTF Surrogate Pairs, and Lua Admin Commands]

Les trucs du 10 Juin, par Kyren

J'ai fais plein de trucs divers dernièrement, j'ai principalement corrigé des bugs et j'ai aidé les autres au niveau des monstres et des interfaces de IAs. J'ai récemment corrigé un bug très très énervant où les positions de notre système d'animation en réseau étaient désynchronisées. Cela m'a obligé à retravailler le système d'animation côté client, en retirant tout le code côté client du code côté serveur, ce qui, globalement, améliore le système. J'ai corrigé beaucoup de bugs pour metadept, j'ai réparé quelques problèmes de projectiles, j'ai modifié la méthode de mise à jour des entités scriptées, et j'ai ajouté ça à l'API Lua. J'ai aussi réglé un méchant bug de réseaux, qui obligeait le serveur à envoyer d'énormes quantités de données. Je dois toujours vérifier ça sur la version stable actuelle. Merci à Underbalanced d'avoir parlé de ce bug à Omni. Je suis en fait tombée sur le bug indépendamment en travaillant sur le bug d'animations, mais cela confirme mes craintes : le bug est aussi présent sur la version Steam stable et devra être réparé. J'ai réglé une série de bugs d'interblocages (NdT : Lorsque deux processus s'attendent mutuellement. Les processus bloqués ainsi le sont définitivement) causés par une classe (NdT : En programmation, ensemble d'objets) que nous utilisons qui n'était pas COMPLÈTEMENT TOTALEMENT imperméable aux interbloquages. C'était plutôt drôle. J'ai passé trois heures à traquer un problème d'animation de particules, qui s'est révélé se résumer à une correction d'une seule ligne. Ensuite vient tout ce qui concerne l'interface des IAs… le code de notre interface est un peu… spécial… pour le moment. Il se trouve que ça s'est dressé en travers de mon travail. Pendant la création de l'interface de l'IA j'ai corrigé quelque chose comme un Zillion (NdT : Pas d'erreur de traduction, c'était écrit comme ça :3) de bugs d'interface et, avec de la chance, j'en ai créé un peu moins. Rien d'intéressant de ce côté là. Finalement, nous nous préparons à rétablir notre serveur de compilation (c'est quasiment terminé à vrai dire) et à commencer à faire des MISES EN LIGNES AUTOMATIQUES TOUT LES SOIRS sur Steam. Elles seront AUTOMATISÉES, SCRIPTÉES et arriveront CHAQUE SOIR, donc soyez prudents, elles sont uniquement faites pour ceux qui s'y connaissent et qui suivent le développement de près, pas vraiment pour ceux qui veulent jouer normalement. Elles pourraient manger votre chien, mettre le feu à votre maison, manger votre maison, ou mettre le feu à votre chien. Qui sait. Elles pourraient aussi ne pas fonctionner, alors ne vous plaignez pas. Source : [Jun 10 things]
Voilà, c'est tout (enfin, c'est déjà beaucoup) pour aujourd'hui ! Ah, et l'image de une, c'est la nouvelle mascotte de Chucklefish : ils se sont acheté un chien ! Bye baille ! -Article rédigé par Silverthedragon