Saturday, March 21, 2026

UDHCPD enfin automatisé

C'était une étape casse-pied du dévelopement DS ici: à chaque fois que je voulais échanger des fichiers par WiFi, il ne me suffisait pas de brancher mon stick wifi, je devais aussi redémarrer le service DHCP sur mon cube. sudo service udpchd restart ... j'ai tapé (ou cherché dans l'historique) un nombre incalculabe de fois. Sans ça, la DS ne recevra pas d'adresse IP.

J'avais essayé d'ajuster les scripts de NetworkManager/dispatch mais sans grand succès. Guère plus du côté du service systemd.

Au final, c'est dans /etc/network/if-up.d que j'ai ajouté un lien qui a fini par fonctionner. 

 


#!/bin/bash

interface=$IFACE
event=up

log() {
        echo $* | systemd-cat -p info -t if-up
}

log "$0 (interface=$interface, event=$event)"
if [[ "$interface" == "enx000272436672" ]] ; then
        log "this is your USB WiFi stick ..."
        if [[ "$event" == "up" ]] ; then
                service udhcpd restart
        fi
fi

Ok, ce n'est pas terriblement convaincant pour les transferts via runME, puisque là je dois toujours déterminer quel fichier envoyer/recevoir dans la ligne de commande, mais au moins ça me permet de faire les mise à jour des outils sans avoir besoin d'ouvrir le laptop... dans le cas où le fix avait déjà été mis sur le cube la veille :P

Wednesday, March 18, 2026

Fixing unimportant things

You know you're on a hobby project when you start fixing things that are on the bottom of your priority list first because you feel ashame of their current state and there's no one pushing you to do top-priority fixes instead.

Improving the graphics of the water slide was certainly no high priority except for my eyes. Having a special "patch sprite" to allow the desired shape that needed 3 layers despite I only have 2 map layers was inevitable after that, as much as patching the color cycler to avoid half-water half-rainbow effects.

Les graphismes des pentes-à-eau présentés fin 2025 (eh oui ... déjà) avaient un truc qui ne me plaisait vraiment pas : une jonction très "carrée" entre la cascade et la pente. Un problème qui est la conséquence d'un choix dans la construction de cette cascade:

elle est constituée de deux couches de graphisme superposés. ça offre des avantages, mais ça veut dire aussi qu'à part des sprites, je ne peux rien mettre en même temps. Un problème que j'avais déjà rencontré dans le dernier niveau de SchoolRush. Problème que j'ai retourné dans tous les sens pendant les mois de janvier et février (provoqué par le même genre de problème "quelle couche ?" autour du poing écrabouilleur) avant que l'évidence ne me frappe comme un boomerang revenant de l'ère 8-bit:

rajoute un sprite.

Well, adding a sprite overlay on top of the tiles layer is hardly any innovative. In fact, it was super-common in 8-bit and 16-bit games as soon as you aimed at something visually more sophisticated than Super Mario. But no. It took me almost two months to realise that was the solution I needed here.

And took me almost as long to realise that very dark greyish stone wouldn't work in the bright-and-colorful environment of Bilou undergrounds, and that since I'd like the peaks zone to feature purple rocks, I could start introducing purple rocks as soon as the first level.

Then in a single evening, I reconstructed a draft mockup of what I wanted to see: background dirt tiles and a waterfall, then the big rock and the wavy effect (that is still to be integrated), and in a couple of hours, I repainted the rocks in a quite satisfying way.

And when I saved things, I realised I was close to 90% of tile space consumption, while there are still a good deal of things I'd like to add to the green zone. So I wrote down a note to hunt for duplicatas later and a few other higher-priority things like drawing a background screen for the underground parts... and of course, the day after, I was marking duplicate tiles and then patching them in the level maps and noting where I had alternate dirt / rock tiles that I could use to break the grid, etc. Priorities will have to wait :P

J'ai donc profité d'une soirée où ma fée était au club-créatif du coin pour aller de fil en aiguille, dessiner quelque-chose qui ne me déplaît plus, faire le montage, ajuster les scripts et rajouter le code qu'il faut pour avoir une pente qui présente bien, avant de me rendre compte que oups, je commence à avoir trop rempli ma mémoire de graphismes pour la greenzone, marquer les duplicatas, les nettoyer, etc. au point que j'ai dû retransférer presque l'intégralité du contenu graphique de la green zone (y compris les maps des niveaux) de la DS au PC alors que je vais aussi devoir faire le transfert inverse pour les scripts de comportement ^^". 

Saturday, March 14, 2026

Dashosaurus and the gamedev afterwork

It's a small game, where you drive a triceratops-like dinosaur, collecting eggs and completing levels while avoiding falling lava bombs. But that was the game Antoine from Sleeping Panda presented last wednesday at the local gamedev afterwork event.

He made the game with Gameboy Studio, one of these recent desktop applications that bring together all the things you need to create software on 8-bit machines -- although here you're largely able to draw stuff in Gimp and lay out maps with Tiled. And you're also able to export your work as HTML5 game in addition to GB and GBC roms, which is clearly a plus to distribute your creations.

Antoine did talk a bit about GB Studio itself, and how that tool let him do things he wouldn't have done otherwise as well as how it would frequently make impossible some things that I'd have thought trivial, like the ability to destroy some of the ground with the lava bombs.

While he was talking, I couldn't help noting that graphics would have easily allowed to make parallax scrolling, but I doubt the events scripting system would have supported such low-level techniques, although -- according to Antoine -- the tool allow to "eject the engine", rewriting some parts to compensate e.g. the lack of Dash support in the platformer character while his game was all centered about dashing.

But the most interesting part of the talk for me was about the reception of the game by gamers. How it caught speedrunners interest while the author of the game did not know of speedrun beforehand. How people started to send him their best time. How people started to make him cover art, contact him to see whether he'd approve patches for retro achievement. And honestly, when I see how many people hype about gameboy and gb studio in general over the networks, I'm not so surprised about it. It was more complicated to explain how NDS is different. Because the nostalgy around the device is still very young. Because technically and legally, producing DS cartridges for homebrew is much more complicated. There are 8-bit catridge manufacturing online now, likely some 16-bit as well. But for DS cartridges I don't expect any such things before again some years.

But nonetheless ... Maybe I should take the extra step that I've never made so far: writing an itch.io page for School Rush because this is where gamers will look for games, not on github or sourceforge. 

Thursday, March 12, 2026

Petit coucou à l'Apéro Jeu

Je suis passé hier sur conseil de ma fée à l'Apéro Jeux Vidéo du coin, pile à temps pour le transparent 2 ou 3 d'Antoine sur son jeu GameBoy "Dashosaurus DX". Promis, je vous parle dès que possible de son homebrew et de son message, mais j'étais aussi venu accompagné de Lime et DarknesS pour la partie "apéro" et j'ai filé l'URL de mon blog à deux ou trois personnes qui vont probablement débarquer au milieu de mes causettes et se demander où ils sont tombés...

Donc, quelques pointeurs.

J'ai présenté hier la démo "three rooms", qui me sert de salle de tests pour mon projet "Bilou Dreamland


Les plus patients auront aussi vu une version encore très WIP du niveau de l'arbre creux, ou une version aléatoire de mon jeu précédent "School Rush" mais pas la toute dernière, parce qu'elle m'a fait des misères sur Darkness ... Et bien sûr un tour d'horizon des outils: l'éditeur de sprites, de niveaux et d'animations. 

Voilà, voilà. Bonne journée au passage à ceux qui auront vu ce message, n'hésitez pas à me laisser un message ici, sur bsky ou mastodon selon vos habitudes ^_^

Ah, just in case you're not speaking French, there has been a gamedev-cafe event in the town nearby last night, that I've been invited after an incredible sequence of events that all started with my Fairy and involved using dungeons and dragons to dismiss a bunch of flipping pirates. Anyway, I had a good time watching the quite long presentation of Dashosaurus DX developer and used the 'cafe' part of it to show those who wanted to see it my tools and games on Nintendo DS. Since Dashosaurus is a Gameboy title, that seemed pretty fitting ^_^

Thursday, February 26, 2026

La surprenante histoire de Xevious

Entre deux chapitre du gros volume sur les jeux Harry Potter, j'ai aussi réemprunté à mon frère les premiers Pix'n'Love, avec l'intention de repérer les titres qui pourraient intéresser Mlle L de la S-Team qui nous fait un cursus lié au jeu vidéo.

Dans ma liste de "pix'n'gems", le 4eme mook était renseigné pour Lode Runner, mais avant d'en arriver la je me suis retrouvé scotché par la présentation du développement du shoot'm'up Xevious. Un titre dont je n'avais jamais entendu parler avant la sortie du magazine et qui n'est pas franchement attrayant à mes yeux de padawan de pixelation.

Mais voilà. S'il n'y a pas des masses d'éléments visuels pour nous raconter la genèse de Xevious dans le dossier, c'est parce que le développement s'est fait à contre-courant d'à peu près tout ce qu'on a eu l'habitude de présenter, avec un gars qui bosse en solo mais dans une grande boîte, qui fait tout "au feeling" directement dans le code au point qu'il faudra une équipe de reverse-designers pour faire les documents que le management voudra signer avant que la borne ne soit lancée. Et qui écrit un roman pour raconter l'histoire de l'univers de son jeu là où "pas besoin d'une histoire quand on a un bon gameplay" règne en maître.

Est-ce qu'il y a des enseignements à en tirer pour développer des jeux au XXIeme siècle ? .... j'hésite. Est-ce que c'est intéressant de découvrir le travail du futur développeur de Tower of Druaga, ce titre étrange et iconique des salles d'arcades japonaises des années '80. Absolument!

Sunday, February 08, 2026

Ripple Dot Zero

Whoa! Seems http://Ruffle.rs has been making a ton of progress since I checked it last. I can now start Ripple and play the first level in my browser Not quite ready for prime time yet (performance is very swingy), but what a great leap! -- Tommislav
That was a tweet of the author of Ripple Dot Zero, about a port of his own game, to wich I added That game is impressive. I definitely owe it a blog post. And he added

Thanks. Send me a ping if you want some "behind the scenes" anecdotes if you do

So, to someone who wasn't playing flash games in 2013, I could describe "Ripple.0" as a fast-paced shooting platformer. If you could extract the core DNA of Jazz Jackrabbit and inject it into a penguin with sleek shoes, you wouldn't be far away from Ripple.0. Now, chances are that the modified penguin would escape its pod and start putting a mess in your facility while attempting to rescue as many of its peers as possible.

Of course, because it's a flash game, I can't point you to a playable location, but there are youtube videos to get an idea of how it looked an played. I played the game back then and was baffled by how smoothly it worked and how large the levels were. Until then, flash game had mostly been 'small online arcade' titles, not something with 4-directional scrolling into Sonic-sized maps.

And the post came dormant again since September '25, where I "met" Tommislav again on bsky, with a collection of links to dig. I'll have to accept to post it as is, because real-life is quite demanding these days, and even dropping a few more lines to an ongoing post while things compile haven't occurred in ages ^^". So here they are, in their imperfect, wabi-sabi beauty:

Saturday, February 07, 2026

Sprite Editor for DS : la photo

Bien, j'ai tout un tag pour les photos - les vraies - et dedans quelques-unes avec des prises de vues sympathique de mon éditeur de niveaux ou de l'éditeur d'animations que j'utilise depuis School Rush, mais une photo de mon "Sprite Editor" ? eh ...

Je ne peux pas dire "rien", mais ce sont des photos tellement vieilles ou ne montrant que partiellement l'interface. Il était temps que j'y remédie, même si je n'ai pas de développement en cours sur SEDS pour l'instant.

Would you believe it ? Sprite Editor for Nintendo DS is my oldest homebrew, and yet there was no satisfying photo of it running on real hardware on this blog !? There were some, sure, but either showing uninteresting screens, or with a user interface so old that it barely looks like SEDS at all.

I had to got that fixed, be it only to have something for people following my #SpriteEditorForDS hashtag on mastodon or bsky