Tuesday, July 15, 2008

Bon anniversaire, Bilou

Eh oui, ça fait maintenant deux ans que je bricole sur ma DS. Et figurez-vous que en voulant retracer l'historique, ma mémoire m'a fait défaut. Elle n'a apparemment retenu que les évènement "vie réelle" (achat de maison, mariage, conférences, changement de voiture, etc) et éventuellement greffé les bouts de développement DS qui s'y rapportaient.

For some reason, /dev/brain only stored memories of real-life events since I started homebrew development. Let's recap.

juillet 2006 - octobre 2006 : Balbutiements
Les débuts de SEDS, qui commence sur émulateur uniquement, puis reçoit la libfat pour stocker les fichiers sur la carte SD. Et en deux ans, je n'ai toujours pas fait sauter la "limite" de 4 fichiers, même si la quantité de données autorisée sur un fichier, elle, a considérablement progressé.

July 2006: Baby steps. I get started with a sprite editor attempt just on emulator, then I got true hardware and add libfat support so I could save my work on the SD card. I take shortcuts such as '4 files will be enough for everybody' which is still true as of today. By October'06, I have a first snowy tileset and a santa character converted from a .PCX file. I'd like to bring in a pinguin baddie I had drawn in an unifinished PC game project and make a Rick Dangerous clone out of it.

Fin octobre, j'ai mon premier petit "tileset" hivernal et Mr Noël récupéré du PC, de sorte que je peux envisager un Rick Dangerous like avec mon papa noël de 2000. Faute d'avoir retrouvé le pingouin de Badman III, le projet n'ira jamais plus loin que ce petit "mockup".
Novembre 2006 - Mars 2007 : Rumbling
Entre la thèse et le déménagement, j'avais apparemment trouvé le temps pour coder un petit "whack a rat" nommé "apple rumble", partant des sources de Tetris Attack. C'est aussi pendant cette période que mon lecteur de carte SD m'a laché, et que je me suis rendu compte de l'ampleur des lacunes du Desmume (l'émulateur DS) de l'époque. D'où le démarrage du projet "runme" permettant des transfers "over wifi"

November'06 to March'07 was a busy time. Writing my PhD, moving to a new home and the like. But still a dug enough time to convert a Tetris Attack clone into a whack-a-mole: Apple Rumble. A definitive failure of my SD card reader will trigger development of runME, my custom WiFi transfer tool. I still rely on emulator snapshots to show my pixels to the world.

Et si les tiles de la "bibliothèque" de Bilou sortent dans leur première version, c'est toujours à coups de SEDS émulé que je les convertis en "mockup". En revanche, beaucoup de fêtes en famille, donc beaucoup de level design pendant cette période-là ^_^
Avril 2007 - Juillet 2007 : Rédaction

Calme plat ... il fallait s'y attendre :P

Aout 2007 - Octobre 2007 : L'odysée du Wifi

C'est la grande reprise de "runme", qui jusque-là pouvait télécharger des fichiers par wifi, voire en afficher certains (.pcx, .spr, .it ...) mais c'est tout. Deux petites lib' releasées au bon moment (l'attente de ma thèse relue) vont permettre la pierre d'angle de mon développement DS : l'auto-update par wifi, ou comment un programme va récupérer une nouvelle version de lui-même et la démarrer sans autre intervention qu'un clic de l'utilisateur.

August'07. The thesis is submitted. I push WiFi support further: all the dsgametools will now support hot-update over WiFi. runME becomes the 'hub' from which SEDS can be invoked, and to which it can return once user tries to 'quit' it.

Suivra une ré-écriture de SEDS pour qu'il puisse gérer plus de sprites (multi-page) et "sortir" vers runme (qui sera aussi en mesure de lancer SEDS), qui sera annoncé sur les forums (à partir de Player Advance) vers la mi-octobre.

Novembre 2007 - Février 2008 : Objectif LEDS
Quelques scripts bien placés et je m'attaque maintenant au débuts de mon moteur de jeux de plate-formes: le scrolling. Théorique d'abord, puis pratique via une petite modification de runme (qui me sert une fois encore d'homme à tout faire) Ensuite, je m'attaque a un éditeur de niveau "autonome", ce qui amène son lot de nouveaux "widgets" et à la création d'une bibliothèque de fonctions utilisées par les trois programmes, j'ai nommé "libgeds" (pour Game Edition on DS).

November'07: it is time I start with the core of my future platforming game engine: scrolling. Once again, runME will be the host (and the fits-all-purpose tool) for testing things. Then comes the time to scroll not only things converted by scripts on a PC, but maps drawn on the NDS itself. That's how libgeds appeared by collecting "widgets" and functions shared by the three programs I have so far.

Février 2008 - Mars 2008 : NTXM
libmikmod ne me convient plus. Trop lourd, trop buggué. Je m'attaque à une intégration du player XM que Oxtob vient de publier. J'attaque aussi la gestion des effets ... un des côtés les plus obscurs des modplayers qui avait fini par avoir raison de mes efforts sous DOS/Assembler en 2000.

February'08: I drop libmikmod. Too heavy. Too buggy. 0xtob has just released an XM tracker and player. Let's integrate that. It lacks effects support, but I can do that. Unlike back in 1997, I now have the power of Internet to explain those things to me

Avril 2008 - Juillet 2008 : GedsDemo
Après cette petite pause musicale, je reprends le développement de mon moteur de jeu. Collisions, animations, déplacements ... Tout ça prend peu à peu place. La première animation postée sur le forum pixelation va aussi être à la base d'une révision quasi-complète du look de Bilou et de sa forêt, ce qui ne se fera pas sans pas mal de bricolage autour de SEDS (de nouveau) notamment pour la gestion et l'import/export des palettes.

April'08. Enough for the musical break. Let's get back to game engine development. Hitboxes, animations, motions, scrolling. Things are getting in place slowly. First 'movie' is posted on pixelation and will trigger an almost complete relooking of Bilou and the green zone, which will require another iteration on SEDS to improve palettes management. And it's also time to extend compatibility to other (DLDI-capable) linkers...

Le tout sur fond de "R4volution", afin d'améliorer la compatibilité de mes programmes avec d'autres linkers que mon Super Card...

1 comment:

Anonymous said...

C'est quand même un sacré boulot, et avec du résultat à la clé !!