Wednesday, November 20, 2024

guest star: François Rimasson

C'est une histoire qui avait commencé mi-février 2021 avec un tweet ... une capture de vidéo pendant un lets-play de Fury of the Furries qui me fait prendre conscience que "#infinitepyramid hints from #furyofthefurries: make sures the spikes stand out." Et là, j'ai un François Rimasson qui répond

  • I did all the graphics in 1993

J'enchaîne: You did a wonderful job, then. It has been my first good reference to get into pixelart. Huge thanks!

No kidding! I was already studying it in 2006 before I made my first NDS homebrew. And I was still using it last year.

Je dirais même que si "Badman II" a pu avoir des graphismes entièrement originaux (pour la 1ere fois), c'est grâce à l'étude des palettes de couleurs du désert et de la forêt de Fury. Donc Super-merci ^_^

Je le réaborde quelques semaines plus tard:

Tiens, à propos de Fury of the Furries, il y a ~10 ans, j'avais fait un petit test avec une de tes planches de décor pour illustrer mes outils (homebrew) de création de jeu sur Nintendo DS. Je n'étais pas allé plus loin vu que je n'avais pas les droits dessus.

Là (Mars 2021) mon gamin a l'air d'avoir bien accroché au "let's play" du jeu donc j'envisage de quand-même refaire une conversion aussi du personnage principal pour qu'il puisse s'entrainer le temps que papa ait terminé sa pyramide à lui.

est-ce que j'aurais ton autorisation de rediffuser ces graphismes au format NDS avec mes outils pour un tutoriel, ou est-ce que je garde ça dans le cercle familial ?

Et François de répondre:

  • Oui, bien sûr, fais-en ce que tu veux, c'est tellement vieux, et si quelques personnes peuvent s'amuser avec ... je n'ai plus les planches de sprites originales.
  • Je suis content que ça te plaise :)

J'ajoute : bin le côté facile avec Fury of the Furries, c'est qu'on a l'ensemble des fichiers .LBM directement dans le jeu. Evidemment, il y a peut-être des planches de pré-production que je n'ai jamais rencontrées.

Et donc on s'y met ... 

6 mars ... "oh birds! @F_Rimasson put so much pixels per spritesheet in Fury of the Furries that it used a buggy part of my conversion scripts that had never been used before ^^"

7 mars ... Hopefully, when you strip out the 'mask' sprites and re-align the sprites that were past the 'checkered' barrier, we're back to an acceptable amount. Actually, it would be perfect to illustrate UsingSprites::granularity.

8 mars ... I was about to suggest that 16-pixels and 4bpp sprites might be an Amiga sprites constraints, but it looks like Amiga sprites were actually 2bpp (stashofcode.fr/afficher-sprit), and likely did not need those mask pictures.

Bon, après ça, j'admets que les interactions ont été plus anecdotiques, avec quand même une phrase qui m'aura inspiré du monster design pour la castle zone:

  • Il ne faut pas confondre un fantôme asperger et un spectre autistique

ok, c'est décidé: si je mets des fantômes dans ma zone des châteaux, ce seront des fantômes de légumes. des citrouilles, bien sûr, mais aussi des fantômes asperges qui te crachent de l'ectoplasme dessus.

Sunday, November 10, 2024

takeout.google.com

I have some photos-takeout-20230630T070258Z-001.zip ... presumably created when Google announced they would do cannot-remember-what to their albums service.

  • it has multiple folders for the same blog, with date tags.
  • it has 3030 files total. There are 30 pair of duplicates
  • it finds some duplicates between files, but always in the same folder, like 2007-02-04-Bilou_s Book/biokid-4-superjump.png and the same folder with biokid-4-superjump(1).png
  • all the files have the same date as the archive. Proper timestamps will have to be looked up into companion .json files
  • there's obviously a maximum filename esp. for screenshots (40 characters ?)
  • The date in the folder name seems to be album creation time. For this blog, I have 2007, 2011, 2021 and 2023
  • There isn't any file with timestamp earlier than 2007. So where are the pictures from 2006 ? like http://photos1.blogger.com/blogger/5640/3676/320/indigo-hints.png or http://photos1.blogger.com/blogger/5640/3676/320/blending-example.png ? Apparently in another castle.
  • The oldest entry for which images are available is http://sylvainhb.blogspot.com/2007/03/vous-courriez-jen-suis-fort-aise-eh.html http://sylvainhb.blogspot.com/2007/02/pour-faire-un-aarbreeeuu.html (unfortunately, that's missing the pictures-heavy http://sylvainhb.blogspot.com/2007/02/un-arbre-cachant-la-fort.html)
  • whole chunks (like everything 2014 Q4) is missing

Got a new takeout today, of Blogger data. This one is bigger. 800+ MB while the previous was about 200 MB.

  • timestamps are now only in milliseconds-since-epoch format
  • time span between oldest and latest timestamps is 6284 days... about 17.2 years
  • 5640 files for this blog (plus .json descriptors) and 2513 duplicates set... that means about every picture has a duplicate :-/
  • it seems to have some of the missing files mentioned earlier, like bladorstack
  • still no indigo-hints.png or blending-example.png, unfortunately T_T

I'll have to dig that more. I'll have to merge that with the "blogpress" tools and possibly make myself a "blogger taken out dashboard".

Tuesday, November 05, 2024

libntxm by asiekierka or libmx7 by sverx

For years and years, I've been post-poning the time where I could back-port my changes of the sound player library NTXM into the upstream github... And then in December 2023, I note that the library has been revived by one homebrew developer I'm following since March.

I asked whether they would be interested in a pull request for my effects system and she replied

PRs are always welcome! However, someone has already made merged pull requests to support more XM effects, so you might need to review their changes against your own.

Later on mastodon, she added

 I honestly recommend maxmod or libxm7 for gamedev use...

I know that other package released by Sverx quite a while ago. Since the time I was looking for a module player to replace mikmod, Sverx has decided to open-source it. I still have to code-study it. So no code exchange occured and nothing changed in my own dsgametools repository.

Early this month, she announced an interesting news: 
nrio-usb-disk, a tool to use the DS Linker Writer card to connect your Slot-1 cartridges to a PC as USB mass storage. This acts as an open-source replacement for the DS Linker "uDisk" tool, but this one supports any flashcart.

So she can use it to quick-cycle-develop and rebooted Nitro Tracker over USB (instead of uploading over WiFi as I do with runME). The PC is the USB host and the DS is device (via USB controller chip in Slot-2).

Given how fragile NDS development over WiFi has become with WiFi security ever increasing and the NDS hardware remaining unchanged, I might have to consider getting one such device myself and understand how it works for a safer future.

edit: the linker used isn't exactly new.

Friday, November 01, 2024

Le retour du bureau !

Enfin ... Le bloc-prise sur lequel mon bureau devait être branché est enfin réparé. Et c'était une bêtise en plus, au point que je me demande comment j'ai pu ne pas le trouver tout seul.

Difficile de comprendre à quel point ça me fait du bien qu'il revienne se mettre à l'emplacement qui est naturel pour moi, dans l'angle qui est naturel pour moi. Mes p'tites affaires juste là où je veux.

Bon, évidemment j'ai plein de cartons avec des affaires pas-encore-rangées à répartir demain ^^". Et ça en plus des inévitables cartons de ma fée entre deux activités.

Wednesday, October 30, 2024

October update

That week off has been pretty B-usy ... The 'three rooms' demo now actually feature 2 additional rooms, including one that is level-sized. There are still quite some things to fix, tileset updates, adjusting to .more loading, and the like... 

Bienvenue dans un post-qui-change... ma petite semaine de congé d'automne aura été bien remplie de p'tits Bilous (entre autres choses), avec en objectif #1 l'ajout de deux "niveaux" dans la démo "Three Rooms", comme proposé en Mars. Evidemment, comme ils datent tout deux d'avant SchoolRush, il y a eu pas mal de mini-couacs à corriger pour éviter de se retrouver avec un niveau au décor psychédélique qui se termine dès qu'on casse une craie

Well, some recent development are incompatible with some old mistakes... especially bounding boxes. I remember being puzzled by what worked and what did not worked when I introduced the 'sand waves', which did require one bbox x y w h command to align the visuals with the slope ... but it really was almost blind guesses.

For some reason, the "box size" bits were ignored, and the "offset" bits were ... well, it will work better with offsets that says "pictures starts 4 pixels on the right in the 16x16 frame. Of course, fixing the size first made most of the offset wrongs until I've got new offsets computed.

Even after one more afternoon of map fixing, there are weird things happening in that school zone level, like 

  • [todo, not critical] Bilou not always hidden by front layer (e.g. hidden if you jump, but not if you're idle or walk)
  • [todo, not critical] Inkjets not moving up and down following rails

Le plus gros morceau, ça aura été de corriger le code qui permet à un simple sprite 16x16 d'être considéré comme étant plus grand ou plus petit ... une modification essentielle pour passer du furblock à la branche mais qui interférait avec les gouttes d'encres d'inkjet et les vagues de sable ...
Alors, voilà: un joli bouton vert vers une nouvelle démo à essayer chez vous. Bien sûr, ça reste très en chantier et vous trouverez pleins de trucs pas au point, mais au moins, les horreurs ont été éliminées. Rendez-vous en Décembre avec une démo incorporant BangBash ?

Ah, and it's not in the school zone, but [done] that ugly pink background showing up in the green2 level, too... I'd rather have that fixed before uploading a new demo...

edit: There we are: 2 work-in-progress levels can be found if you explore the three rooms properly. There is still much to do, but also much to explore if you've never launched anything earlier than School Rush.

Friday, October 25, 2024

Hanging around in the ICE ...

Good thing with the German express trains is that they provide unlimited power and some WiFi. Your trip might not go as you expected, but at least you've got time to sit, think and check your code base to plan what you'll do in your homebrew project afterwards.

Among those "what's next", some are already done now, like "converting furblock to treebump"... which it did not need after all.

For some time, I have this little note in my notebook... Because many of the levels in the design book expect that we could hook and hang to some objects. I'd like it to be stylish, with swinging animation and all. But for the purpose of testing the levels and trying the game, just snapping to the hook and waiting for the player to press JUMP or leave would do the trick.

The train-idea here is for the step just after that bare proof-of-concept: I already have a "radius" controller that keep a character within a given range of a "pin point". Being hung could use that controller rather than being snapped to a static position. 

To do so, we can shoot a new game object, Bilou's hand(s), that will snap to the hook and use that as a pin point for the swing. That means we'll have to hide bilou's hands on the existing hero game object (like we do when he's carrying something) ... or just don't draw the hand at all, and reuse its OAM slot to draw Bilou's eyes separately from his body, meaning we'd gain one extra freedom degree for the animation, and wouldn't have to draw a dedicated body-and-eye sprite for every angle.

Then I started brainstorming about the croc-platform: I'm not satisfied with its current look. I dug some real egypt crocodile pictures (and real statues pictures). I toyed with the idea of having the crocodile head showing sideways rather than front view -- that would have meant it wouldn't stop sands when flapped anymore ... The blue book said it wouldn't harm that much.

But I couldn't convince myself it would work either. When the crocform#1 flaps down, it completely cease to interact with characters. A sideways crocodile head flapping down by 90° wouldn't "disappear" that way. It would still be in Bilou's way, mostly as a small wall, but it should still be possible to stand on the rear of its neck ...

A few spots in the ongoing level design would work fine with crocform#2 repurposed, but in other spot, it would mean throwing the player into spikes, rather than just let them fall down...

And then I thought about a type of object in New Super Mario Bros that would behave quite like what I need for my collapsing platform, and it meant I wouldn't even need to drop the "shut the sand door" idea: