Friday, August 25, 2006
Writing code that works ...
A second small utility : picture grabber. It's pre-compiled with a .pcx file that is shown on the bottom screen and allows you to grab parts of the image into tiles for sprites (that moves on the upper screen) and that you can later save on the SD card).
The intent was to speed up porting of my former "pixel art" and do small games ... which never took of. But it was the starting point of "runme", the all-in-one DS-WiFi-PC converter stuff.
J'avais fait des super petits sprites (vous savez ce que c'est, hein, maintenant) avec un chouette programme (Delux Paint II, je l'avais déjà sur mon 8086, celui-là!), et je les ai toujours... alors je me dit "voilà le petit jeu que je pourrais facilement avoir réalisé pour noël!". Il marcherait nickel avec 2 écrans, pas trop még-à-l'eau ni rien. Mais bon, ce serait ridicule de devoir redessiner tout avec le SpriteEditor DS qui n'est pas encore au dixième des possibilités de DP2.
Donc je rebidouille un petit "sprite grabber", un outil qui affiche une image complète et qui permet d'en récupérer des morceaux. Première esquisse sur le temps de midi. Ca tourne dans l'émulateur. cool.
Je reviens le soir @home et ma fée est toujours à Maastricht pour la-journée-ou-les-magasins de-bricolages-sont-ouverts-jusque-21h ... Et je rattaque. A 20h30, j'ai intégré le code de Chishm et DragonMinded, et je fais le premier essai "temps réel" d'écriture de fichiers sur ma petite carte SD.
Et ça marche, les gars! Sortez les cotillons, c'est la journée du code qui fonctionne (après une semaine de combat avec les codes à redondance cycliques de ma carte-réseau-qui-tue qui s'est enfin mise à fonctionner le matin)!
Donc voilà, y'aura encore un peu de boulot pour qu'on puisse choisir n'importe qu'elle image et sauver dans plusieurs fichiers, mais le départ est là ^_^
Wednesday, August 23, 2006
Premier Bilou sur la DS
CA y est, les gars. Le matériel de GameLand-Shop.fr est arrivé ... supercard, superpass et lecteur de cartes SD en USB, tout y est! Et bonne nouvelle, mon sprite editor marche presqu' impeccablement (évidemment, avec un design aussi minimaliste, je vois mal ce qui aurait pu foirer :P)
Hahaa! My homebrew dev'er hardware has arrived. Supercard, Superpass and SD card readers. I gave my Sprite Editor a real try and it works! Here it comes : the electronic millimetric sheet for drawing things ^_^. Only one sprite and no saving at this time :P
"Ah, si tu mets Bilou dessus, je veux bien regarder", me disait mon e-papou l'autre jour. Bin voilà, en arrivant chez eux, j'ai redessiné un p'tit bilou sur cette grille-là et je lui ai montré ... "Tu retournes aux sources, là", répond e-papou en voyant le même genre de grille que celui que j'ai utilisé il y a près de 10 ans pour tous mes petits jeux... Bin oui, c'était l'idée ... sauf que je ne suis plus obligé de démolir des claviers en faisant "flèche, espace, flèche, espace, flèche, espace" pour remplir un carré :)
"C'est encore plus un retour au source" que je lui dit, "c'est un peu comme si j'avais une feuille de papier millimétrée intelligente qui pourrait retenir tout ce qu'on dessine dessus ... enfin, sauf que j'ai pas encore programmé les sauvegardes, donc si je l'éteint, j'ai perdu mon Bilou".
Sunday, August 06, 2006
DS SPrite Editor 0.0
Ma fée est en camp pour 2 semaines ... Elle passe par surprise de temps à autres pour récupérer un chargeur ou des papiers oubliés, mais la maison est terriblement vide. Tellement vide que je me suis mis à la ranger, tiens ... pour passer le temps.
" Et maintenant, que vais-je faire ?
De tout ce temps,
Que sera ma vie ?"
Que je lui chantais pendant qu'elle préparait ses sacs. Elle a répondu que j'allais aller travailler, tiens. Pas de bol, c'est le week-end, d'où les rangements. Mais je ne suis pas maso non plus. J'en profite pour bricoler ce petit éditeur de sprites pour la nintendo DS ... Evidemment, pour l'instant c'est pas brilliantissime, mais ça reste (à mon avis) une bonne manière de prendre le hardware en main ... un exemple ? tous les pavés de couleurs pour la grille sont des caractères reprogrammés (256 en tout). On ne sait pas faire ça sur un PC, généralement, mais ici, c'est simple comme bonjour, et ça veut dire qu'il suffit d'écrire la nouvelle couleur au bon endroit pour que toute la case se remplisse ;) Un peu comme si on faisait un logimage avec un crayon qui remplit toute la case d'un coup (à quoi les adeptes du logimage vont me répondre que c'est gâcher le plaisir de crayonner les cases, évidemment :P )
Et je dois dire que l'affichage sur plusieurs calques, c'est vraiment le panar. C'est mon premier sprite editor avec un décor qui n'est pas "uni" ^_^ ... Là, j'avais commencé à y dessiner un bilou, mais je suis partit trop haut et je n'ai pas encore les commandes pour déplacer, inverser, etc.
Tags: bilou, skyblog, sprite editor, translate me
Monday, July 03, 2006
Premiers Tests sur la DS
bon. On y va ... devkitpro réinstallé, les outils "ndstools" et "dsbuild" recompilés depuis le CVS, idem pour les examples (eux aussi repris direct du CVS), cette fois-ci, ça va marcher.
The development kit is installed, and i'm now trying to compile (and make sense of ) the examples provided with the stuff. I'm using Desmume emulator and try to figure out the main mechanisms of the DS (which works terribly like the SNES etc when it comes to 2D graphics) : reprogrammable charset on multiple layers and autonomous sprites. It's really reminding me of my C64, but poke-less.
Et en effet. Je jubile: les premières images créées par un programme compilé localement s'affichent sur l'émulateur DeSmuMe ... S'agit maintenant de comprendre comment tout ça marche. Comme quasiment toutes les consoles (GB, SNES, ...), la DS construit ces images en partant d'un certain nombre de "plans de fond" superposés les uns aux autres (BG0...BG3) par-dessus lesquels seront animés des "sprites" (mario, les goombas ...)
comme il y a deux écrans, et en fait deux "processeurs graphiques" quasiment indépendant, on va retrouver une grande partie des commandes en doubles, ainsi,
videoSetMode( MODE_0_2D |
DISPLAY_SPR_ACTIVE | //turn on sprites
DISPLAY_BG0_ACTIVE | //turn on background 0
DISPLAY_SPR_1D //this is used when in tile mode );
agit sur l'écran du haut et active une couche de fond (par exemple pour du "texte"), et les sprites. Alors quevideoSetModeSub( MODE_0_2D |
DISPLAY_SPR_ACTIVE | //turn on sprites
DISPLAY_BG0_ACTIVE | //turn on background 0
DISPLAY_SPR_1D //this is used when in tile mode );
active l'écran du bas (l'écran tactile) avec deux couches de décors et les sprites... Il faudra ensuite remplir les infos de tous ces petits pixels dans la mémoire video, qui se retrouve découpé en plusieurs tranches:- le contenu des plans de fond, qui se programment comme un plateau de "Scrabble" : dans chaque case, vous pouvez mettre une lettre -- sauf que dans ce cas-ci, une "lettre" peut très bien contenir un morceau d'arbre, de mur, un nuage, etc.
- les caractères à utiliser sur le plan de fond (c'est ici que vous décidez si on verra un "A" ou un coin de nuage.
- le contenu des sprites (grosso modo, l'image de Mario en BMP)
- le contrôle des sprites: lequel est affiché où, etc.
Tout cela se règle avec vramSetMainBanks, dont le fonctionnement exact m'échappe encore un peu ...
Evidemment, tout comme on avait "videoSetMode" et "videoSetModeSub", il y aura une mémoire différente pour l'écran supérieur et l'écran inférieur: SPRITE_GFX_SUB, par exemple, définit l'aspect des sprites sur l'écran tactile, alors que SPRITE_GFX sert pour l'écran supérieur ... Idem avec OAM (où sont les sprites, écran supérieur) et OAM_SUB (où sont les sprites, écran tactile).
Le résultat en image: le programe "TestTouch" modifié par les soins de votre serviteur pour afficher la "grosse balle rouge" (là où vous avez cliqué) sur l'écran tactile du dessous aussi bien qu'au dessus. Ca ne sert absolument à rien, bien sûr, et s'il n'était pas 23h33, je passerait probablement un peu de temps à remplacer la balle rouge par une bleue avec des yeux ... ce sera pour une autre fois.
Voilà. Désolé si c'est complètement technique et imbuvable. Je suis un programmeur et on ne se refait pas. Déplacer des sprites sans devoir tout repeindre à la main, ça fait 10 ans que j'avais plus fait ça (la programmation vidéo sur PC, c'est vraiment le summum de l'horreur). 'vais me coucher, maintenant. A+
Thursday, June 29, 2006
Le Boss des Maths
whoaaah! carrément mythique: les premières images du Crayon ... dessinnées par Pierrick sur papier millimétré puis numérisé par mes soins ... j'en ai fait des tonnes, des commes ça ! ...
Madness ? This is HISTORY! The first ever "pendats" pixels drawn by Pierrick on millimeter-pitched graph paper so I could "digitize" them later on. I've got sheets and sheets of such pixels, others by my brother, some by myself.
'faut dire qu'à l'époque, je n'avais pas encore réalisé de "sprite editor", et je n'avais accès à l'ordinateur familial que 1h par jour ... alors tout ce qui pouvait être préparé sur papier était préparé sur papier ... j'ai même retrouvé les grilles qui m'on servi à retranscrire l'arbre qui apparaît dans Bilou's Quest et Bilou's Adventure ... Un dessin 60x60 dans Delux Paint IIe entièrement "imprimé à la main" sur papier (sur feuille quadrillée) avec près de 40 codes de couleurs différents (et les codes RVB correspondants) avant d'être ré-encodés sous forme d'un listing BASIC qui retraçait le dessin pour pouvoir le capturer comme un sprite ... Trois cachets d'aspirine au moins !
Faut dire qu'à ce temps-là, je n'avais pas accès à Wotsit.org et que mes seules connaissances sur les fichiers .ico (et .bmp du coup) avait été acquises au terme d'heures entière de reverse-engineering avec Nowan.
C'était le bon temps :)
Wednesday, June 14, 2006
J'attaque la DS
Ce coup-ci je m'y met: je me lance dans le développement sur nintendo DS. Bon, ne vous attendez pas à du sensationnel genre "Bilou en 3D" ou "Badman IV" ni même un portage de Clicker (bien que ce serait fun).
Finis les grands projets még-à-l'eau: j'attaque par la base. Petits "sprites editors" et autres qui serviront de base. Ce serait déjà bien fun si je pouvais créer et animer des persos depuis mon fauteuil, transférer tout ça sur PC et le ramener dans un jeu plus tard.
En plus, d'après mon expérience sur PC et C64, c'est encore par là que c'est le plus facile d'attaquer: pas besoin d'avoir une tonne de texture et compagnie pour s'y mettre ... Puis je ferai tourner le "tracker" pour DS dessus et je prête la bête 2 semaines à mon frère pour qu'il me fasse une zik ou deux, et c'est parti pour "Bilou Sky Quest DS" :)
Let's go! i'm starting DS development. I don't bother doing large projects such as Badman IV or a 3D Bilou game. This time, let's make it simple first. Small editors for pixeling and animating characters from my armchair would already be a nice starting point. Maybe our "Bilou Sky Quest" shoot'm'up could be a starting point after i integrate a modplayer...
http://www.aaronrogers.com/nintendods/wifime.php
http://www.devkitpro.org/
http://www.double.co.nz/nintendo_ds/
http://www.dsdev.org/ -last updated in 2005. See https://web.archive.org/web/20100505045923/http://www.dsdev.org:80/
Thursday, March 09, 2006
souvenirs, souvenirs
l'ennui, c'est que le jeu se gèle dès que le son est utilisé ... faudra que je cherche un autre émulateur PC...
cj, Posted on Tuesday, 23 May 2006 at 3:38 PM
et faudra que tu me files l'archive ::)
whyme_t, Posted on Thursday, 09 March 2006 at 8:35 PM
Looking good Pype! :) Good work!
Tags: adventure, basic, bilou, gmaba, greenzone, qemu, school zone, screenshot, skyblog, translate me, worldmap



Vote for your favourite post
