Tuesday, March 24, 2026

A few fixes

It should have been a calendar, and somehow I'm using it that way on the "recto" side. But it's a week-by-week calendar, which means it's also a near-A3 rigid laptop with good quality paper that I can use nearly anywhere to write notes about nearly anything. 

But I wouldn't be studying Turing processors this week-end, nor how the 1st Pokemon game stored its maps. Instead I was trying to tackle two old bugs in my editors that affect loading new files in AnimEditorDS and leaving "monsters edition mode" in LEDS. It's not very impressive, but it's releaseversary day, so here it is anyway.

And, well, it seems like it's been nearly one year since I made a release of the Dreamland demo itself. Now that the "WIP" level in the greenzone -- the one I intend to keep and that has been historically the first Bilou level ever -- has an exit door, I can make some release for that as well. Enjoy

  • water slides
  • revised appleman mechanics, including the funny rolling throw
  • connected doors
  • smashing big punches

I'm sure there are plenty of bugs and glitches here and there. This is not a polished demo, more a presumably playable snapshot of the ongoing work.

 

 

 


 

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: