Tuesday, August 27, 2019

The last Inoxcrom

Ami du futur, archéologue, passant d'un soir, écoute et apprends. En 2000, nous étions capables de faire des stylo-billes parfaits: les Sierra Inoxcrom Fine. Ces bics avaient une finesse d'écriture incomparable, leur bille toujours prête à fonctionner impeccablement dès le premier traît - et même après avoir passé plusieures années ignorés dans un pot à crayons. Ils ne demandaient pas de forcer sur le papier et fonctionnaient aussi bien sur papier très absorbant que sur papier quasi-glacé. Cerise sur le gâteau, leur bleu n'était ni trop pâle ni trop contrasté.

J'ai écrit mon TFE, débuggué mon kernel pendant 5 ans, corrigé les épreuves de ma thèse et tous mes articles avec ces bics. Puis un jour, plus moyen d'en trouver nulle part. Et quand j'ai fini par essayer d'en télécharger sur Internet, la déception fut encore plus cruelle: la société a fait faillite en 2009. Ils ne reste que quelques lots dans des pays éloignés sans même la possibilité de les commander depuis l'Europe occidentale.

Pendant des années, je lui ai cherché un remplaçant. Je commence à apprécier les 'pilot frixion 0.5', mais ils n'ont pas la même vitesse de séchage et de tout-terrain qui me permettait de faire instantanément des diagrammes UML. Et je n'essaierais sûrement pas de les utiliser pour écrire entre les lignes d'un article prêt-à-imprimer.

Au delà du côté nostalgique et de mon incapacité à entrer dans une ère du tout-numérique, je trouve regrettable que ce savoir ait été perdu, qu'il n'y ait plus dans nos papetteries que du matériel de seconde zone et que les distributeurs ne s'en préoccupent même pas, puisque pour la plupart ils ne sont plus papetiers, mais vendeu·rs·ses-réassortisseu·rs·ses, ou gestionnaires de stock H/F.

Voilà donc. Je comprends qu'il soit ridicule de faire tout un papier d'un sujet si banal, mais il reste un espoir. Après 10 ans (dont les 3 derniers sans aucun inoxcrom), j'en ai finalement retrouvé un bleu chez mes parents. Il fonctionne impeccablement. Je l'ai juste relogé dans un corps vert parce que j'avais la fâcheuse tendance à les mordiller pendant que je cherchais mes bugs et que l'arrière de son corps d'origine n'a pas tenu le coup.

Monday, August 26, 2019

MonsterPropertiesWindow

At last, I've got a first working sketch of the 'monster properties window'. It turned out quite tricky to get it working. It can report whether gobs have links and initialization expressions in addition to tehir class. There still is plenty of work, like being able to actually update state when you use the widgets, and write an expression by using the customized 'TypeWord' widget featuring the full gobscript characters set.

Trickiness came from window-to-window communication, so that the right widgets got displayed at the right time (having to hide the whole "tileset" widgets)

Wednesday, August 21, 2019

a + b = idea


+
+
= idea.

Let's just use flowing sand in desert zone as a way to test the new tile engine ideas ...

Background: there is a strong motivation that keeps me working on the GEDS project nowadays, and revising all the things I'm revising rather than just calling it done: I'd like to be able to make things like riverflows that push player around. when I say "motivating me strongly", I mean I considered replacing the banner of this blog to show Bilou pushed by such a river on a slope. As I mentioned back in 2009, I like that this picture I see every time I visit my own blog to act as a reminder of the goal I set, by showing me something I'd like to see working when I play the game.

I was a bit annoyed that the level where I'd need such rivers and the tileset / game I'm working out these days were disjoint, but seeing the 'sand rivers' tiles of Sandopolis made me realise that they could be the perfect match for trying things here already.


Il y a encore des choses dans l'étude des moteurs de jeux de plate-formes qui m'intéressent suffisamment pour me garder accroché au dévelopement de 'libgeds'. Des mouvements style "corde ninja". Des rebonds sur les murs. Toutes des choses que j'espère bien voir figurer dans 'infinite pyramid', mon prochain projet.

Il y avait par contre un truc qui ne collait pas avec le thème de la pyramide: les zones qui forcent Bilou à avancer dans une direction précise. C'est le cas avec la rivière que j'aimerais introduire dans la version revisitée du niveau 1-1 de Bilou, à la placedu tapis roulant que mon frère avait dessiné en guise de passage à sens unique. Parce que cette rivière justifie la révision du système de "propriétés des blocs", en cogitation depuis le début de l'année.

Mais c'est bon. Je me suis retrouvé avec les méga-tiles de Sonic juste à côté de Bouli expliquant le nouveau système et ça a fait "a + b = i * d" : je n'ai qu'à mettre des rivières de sables (comme tout le monde?).

Pas oublier non plus les escaliers-qui-deviennent-des-tobogans du chateau gadget. Mais à condition que ce soit fun!

Sunday, August 18, 2019

Starting a new world/level

Starting to work on a new level should be a trivial task in a game making tool. Unfortunately, this is far from being the case in Game Editors for DS, and especially in LEDS. I got this sorted out with text editing on the PC in almost every previous iteration, but now I'd like to have the tools level-up and be able to assist the game designer through this task

Bon, j'ai voulu me faire un p'tit niveau de test avec mes nouveaux graphismes pour la zone de la pyramide. Le genre de chose qui devrait être triviale dans un éditeur de jeu qui veut afficher l'étiquette "game maker". Malheureusement, on en est encore loin avec mes Games Editors for DS en général -- et dans l'éditeur de niveaux LEDS en particulier.

C'est le genre de choses que j'ai corrigées avec un peu d'édition texte sur PC dans tous les projets précédents, mais là, j'aimerais bien que mes p'tits outils passent à la vitesse supérieure et puisse permettre de prototyper plus librement, les orteils en éventail dans un transat, sans wifi et sans lecteur de carte SD sous la main.

Je n'ai pas encore de "Behaviour Editor" succeptible de créer de nouvelles machines d'état depuis le transat+DS, donc pas de "add .cmd file" à l'ordre du jour ...


  • [done] the level editor seems unable to change the tileset of the level. At best, it is replaced by ".spr", which fails to load in the game engine, obviously.
  • [todo] there is no way to indicate that the spriteset used for monsters should be changed
  • [done] there is no way to indicate that some state machine description files should be dropped, or that new ones should be used. That should be the job of ImportsWindow, a secondary window to WelcomeWindow.
  • [done]: make it know that WelcomeWindow has loaded something.
  • [done]: think about widgets and cursor to manipulate the list of imports.
  • [todo] make it easier to produce a set of *EDS tool that call each other (e.g. "cube" for those produced by the NUC)
The goal for the last item would be to use the upper screen in "welcome" mode to list all the baddies, now with the file names and the number of states used for them. At least, the blocking bug is now fixed, although I could have pushed the refactoring deeper 

Wednesday, August 14, 2019

__cxa_begin_catch

Voilà un symbole à surveiller de près. Quand mon code C++ me fera des misères et que le débugger semble me téléporter d'un bout à l'autre du code sans passer par les blocs catch(), il pourrait bien être salvateur d'aller mettre un breakpoint sur la fonction du run-time responsable de démarrer le traitement d'une exception interceptée.

Dans la même série, _dl_runtime_resolve est une vraie plaie en cours de debugging (et
LD_BIND_NOW, sa némésis, est donc notre alliée), mais j'aimerais bien en savoir plus sur son fonctionnement.

Monday, August 12, 2019

Les couleurs du désert


Un peu des couleurs que j'ai jusqu'ici, un peu de couleurs venant de Ilkke ou de Commander Keen ... quelques mélanges ... et je commence à avoir des combinaisons qui me semble intéressantes (sur la droite). Qu'est-ce que vous en dites ?

In the center, the mock-up I had previously for Bilou's desert zone. On the left, I tried using Lost Vikings, Commander Keen or one of my reference from Ilkke. On the right (and esp. in the corners), mixing of reference-based colors and current colors that imho provide interesting shades and hues. What do you think ? (I put the focus on ground tiles and background, btw. 'green' block and power-up were either untouched or got crushed in the blending process).

[x] comparer avec les couleurs d'Aladdin SNES/Genesis -- bof. Par contre le palais de Jafar a des éléments de décor intéressants.
[ ] comparer avec les couleurs de Sandopolis (Sonic) -- en fait non. Elles sont trop criardes à mon goût.
[x] essayer la palette de verts du chateau d'Hyrule qui avait inspiré les téléporteurs de Bilou's Quest ... sauf qu'ils n'étaient pas verts. (voir ci-dessous)

PS: je me suis concentré sur les couleurs des briques. J'aimerais que le bloc vert reste dans les tons verts, mais genre "masque de jade", que je n'ai pas encore réussi à reproduire. J'ai pris le temps de re-copier-coller Bilou avec les bonnes couleurs (presque?) sur chaque écran mais j'avoue que le bonus n'a pas eu droit à autant de considération

Je fais une deuxième passe. Les verts de Bilou's quest (top-right) retravaillées (bottom-right) me plaisent bien. J'ai essayé d'importer les couleurs d'Agrabah (mid-left et bottom-center) par contre, mais ça ne donne pas aussi bien.

edit: J.L.N a bien voulu laisser la NDS à son papa une demie-heure avant de rejouer un peu au niveau-où-l'encre-descend de School Rush. J'ai pu me faire une petite map, et j'ai aussi un second jet plus convaincant des "boules de poussières" inspirées des techniques de pixel-art de Fury of the Furries ...

ça serait probablement aussi une bonne occasion pour tenir compte des recherches de ThePtoing sur les graphismes de Metal Slug: utiliser des palettes de 15 couleurs + alpha dans lesquelles ont retrouve deux raster de 7 couleurs qui ne se super-posent pas tout à fait, ce qui permet par la suite de "teinter" plus subtilement les tiles.

Jeu vidéo, violence et Pirlouit

Bon, les jeux vidéos font partie intégrante de ce à quoi mes enfants sont exposés. Que ce soient des jeux auxquels je joue, des jeux plus "RPG" que je raconte comme s'il s'agissaient d'histoires au lieu de mettre un dessin animé ou les speed runs de l'ultime décathlon que je regarde en faisant la vaisselle, ils sont partouts. Et mes enfants savent bien qu'il y a des jeux vidéos qui ne sont pas pour eux (les fps -- "jeux de mitraillettes", que je ne sais pas complètement faire partir de youtube, et aussi certains 'run-and-gun' tels que Iconoclasts ou Metal Slug auxquels je jouerai/regarderai quand ils seront au lit).

Dans l'ensemble tout semblait bien se passer jusqu'au jour où l'institutrice maternelle de J.L.N m'annonce qu'elle l'a rattrapé de justesse alors qu'il s'apprétait à sauter sur la tête d'un camarade de classe qui était étendu par terre. Je tombe de haut. Le coup de "on ne frappe pas un adversaire à terre" me vient immédiatement à l'esprit ...

My kids know video games exist. They know some video games are kids-ok, and some (run-and-gun, metroidvanias) dad is watching are not-for-kids. I don't tell them it is because the games are too violent, but they can tell by the look of it that we're not in a kid-safe environment. So it seemed to be all under control until J.L.N's teacher told me she barely stopped him from stomping a fallen classmate's head.

si si, c't'un boss ... 'faut lui sauter sur la tête
mais là, je repense au Super Mario Odyssey auquel nous avions joué tous les deux pendant le week-end. Et dans SMO, les combats contre les boss sont presque toujours identiques: on débarasse le boss de ses protections, on utilise des attaques-casquette pour l'assommer, puis lui écrabouille la tête pour passer à la phase suivante. La similitude est trop grande pour que je n'en tienne pas compte.

Alors bien sûr, les coups sur la tête, ce n'est pas nouveau dans un Mario. Mais jusque-là, qu'il s'agisse de Koopas, de Goombas ou autres, on devait juste "leur sauter dessus". Ils étaient bien debout et dans la VTJ, on ne sait évidemment pas sauter haut assez pour retomber sur la tête d'un adversaire. La violence fantaisiste restait bien cantonnée dans le monde imaginaire sans plus d'effets que si on avait lu "Jack et le Haricot Magique" dans sa version originale.

I was about to repeat the long-inherited message about warriors honor "don't strike a fallen opponent" and I suddenly realised why it happened now: we've been playing Mario Odyssey together over the week-end. And there's a common mechanics to all the boss fights of MO: first you knock them down with Cappy, and only then, you give them Mario's signature move of jumping on one's head.

I realise that kids of J.L.N's age fantasize of repeating their heroes' moves. Be it pretending to fly like Astroboy, shooting exploding arrows like Link, expelliarmus people's wands like Harry Potter ... I was no different, I just had different "heroes" to follow. It generally doesn't matter because they don't have the real gears that would make their moves harmful. Even Mario's initial move is harmless because no kid can jump high enough to stomp a classmate on the head while they're standing. But Mario Odyssey changed that with their mario-sized bosses that dress and act more like humans, and must be knocked down first. I'll keep the game for later, I think.

Difficile évidemment d'être sûr que c'est bien ce qui s'est passé dans sa tête. J'ai expliqué à mon fiston qu'on ferait une pause dans le jeu, le temps qu'il se mette bien en tête que c'est dangereux, que ça fait très mal et que ça peut même envoyer les copains à l'hopital, etc. Et pendant que j'essayais de faire comprendre tout ça, je me suis revu à son âge, au moment où j'étais complètement accroc au "Pays Maudit" de Peyo, où je m'identifiais tellement à Pirlouit que je pouvais être assez fatiguant à force de faire des farces ... et où mes parents ont un jour dû me tenir un discours un peu du même genre parce que je commençais à flanquer des coups de poings sur la tête, comme quand Pirlouit veut faire taire Monulf. Pour moi, ça ne devait pas être grave: dans la BD, les personnages auxquels on faisait ça étaient "juste assommés", même pas blessés. Je n'avais aucune notion de ce que "traumatisme crânien" pouvait signifier, évidemment.