Wednesday, November 30, 2011

release_name="svn SEDS r" REVISION ;

Once again, I ended up fighting on my DS with a tool (AnimEDS) that has a bug (timeline edition) I'm pretty sure I've addressed weeks ago. Question is: is the DS running the latest version or not ? well, except if I manage to re-create various versions of the software and compare their MD5 with the one on the DS ... hmmm ... unlikely to work with DLDI patching :-/

So I just acted at the source: modified the makefiles so that they extract the revision number from svn info and turn that into a C string I can display from the welcome screen. I won't pretend it's clever: there are sure tons of way to achieve that, 90% of them being largely proof-tested and documented. I just needed one version that works for my own development, so I won't even look at automake or $CVS or whatsoever. A grep|head|sed> oneliner just makes it.


Avec un peu de chance, je ne perdrai plus mon temps, dans la suite du projet sur DS, à tenter de deviner si j'ai bien la dernière version d'un de mes outils sur ma DS quand je repère un bug. Je viens de remodifier les sources de LEDS, SEDS et AnimEDS pour qu'ils annoncent automatiquement la "version svn" qui a servi à les compiler (bon, ça marchera surtout si je fais un commit avant de faire le "make all install" ;). Pas particulièrement propre, sûrement pas original, et même pas repompé d'un truc préexistant. Bricolé en 1/2 heure. Mais je sens que ça va être drôlement utile.

Allez, ciao. Je vous en montre plus dès que j'ai réussi à faire passer mon commit à travers ce firewall à 2 balles.

edit: there's a danger that remains: when I re-build one of the projects, I may miss to re-build libgeds or runme first on that platform, which could lead to some features not to work properly. That just happened with "wfcWindow::restore()" that wasn't called for some odd vtable-linking messy reason.

Tuesday, November 29, 2011

Lake District.

Infolab216h du mat... si j'ai dormi 4 heures sur la nuit, c'est beaucoup. Le lit est une vraie planche, et si mes voisins de paliers ne sont pas franchement bruyants, l'accoustique du bâtiment ne permet pas d'apprécier leurs tentatives de discrétion à leur juste valeur. Je suis en visite dans le district des lacs pour la semaine ... et je sens que ça va être un longue, très longue semaine.
Avec du café et des bananes.
Mais bon, faisons un peu le point. Début de l'année, je me fixais pour objectif de faire une première release publique de l'éditeur de niveau et de passer mes autres outils sous le "nouveau" devkitpro. C'est fait. Je me suis autorisé à faire de nouveaux graphismes pour la School zone, étant donné "qu'un premier jeu a été réalisé avec les graphismes de la green zone". Ils ne sont pas encore au complet (il me manque un décor potable, par exemple, peut-être en transformant la bibliothèque en un vrai campus), mais ils prennent forme. Le prochain jeu d'arcade de Bilou se fera dans la school zone. Ce sera sans doute "deep ink pit", mais il y aura une ou deux "gedsdemo" avant ça, pour tester le comportement des monstres... et m'amuser un peu ^_^
Ce serait peut-êtr bien le moment, tiens, de mettre le couvert avec les monsstrrrres. Un bien grand mot pour Bop, Dumblador et les encriers que ma petite puce nomme maintenant avec excitation. "Tu vas dessiner Bilou, toi?" me demande-t'elle à chaque allumage de ma DS(i) ... et ces derniers jours la réponse était plutôt "non, ma puce, Papa essaie le jeu de quelqu'un d'autre" (Shantae. On en reparlera). Voyons...

  • Bop, l'éponge, pendue à son fil. Ça demande un contrôleur nouveau, capable de gérer ses oscillations. Je me suis déjà amusé à voir comment faire ça avec de "simples" accélérations autour d'un point... sur le papier, ça tient la route, mais il faudra le coder pour voir.
  • "inkjet", l'encrier. Lui, il attendra sans doute que j'ai une version qui compile du nouveau moteur de collision: il est le candidat idéal pour les alignements de Gobs qui rende possible les poussées, transports et autres plate-formes mobiles.
  • Dumblador. Je devrais probablement commencer par là. En plus, c'est le candidat idéal pour faire quelques tests d'animations modulaire, vu que je ne lui ai pas dessiné de pieds. J'aimerais reprendre les pieds de Bilou, mais en rouge. Solution de facilité ? les recoloriser. Solution idéale ? activer enfin le support multi-palettes, puisque la DS supporte en réalité 32 palettes de 256 couleurs (16 pour les tiles et 16 pour les sprites).
Je crois que je vais choisir la facilité pour l'instant. Sinon, on risque fort d'en causer encore à Noël. Or, ce serait plus sympa de faire des essais dans gedsdemo-books, à Noël, non ?
Bon, là-dessus, il est enfin 7h ... je vais aller trainer mes baskets jusqu'au bâtiment où ils servent le petit déj.
Oh, well. Sorry, english-speaking folks. I was just "thinking out loud" to figure out where to move now. Since I'll have to speak english the whole week (travelling), please allow me not to provide a personnal translation this time :P
edit: While speaking out loud, I was wondering which of the School Zone ennemies I should implement first and how it would help to validate new game engine features

Sunday, November 27, 2011

Level Editor for DS : 0.1

Nous y voilà enfin: mon éditeur de niveaux disponible au téléchargement, avec les bugs corrigés, même si l'interface reste assez expérimentale. Avec en prime deux tilesets Creative Common pour vos petits tests: "generic.spr" par Surt (CC-BY-SA) et "frogatto-dirt.spr" (CC0) par Guido Bos. Amusez-vous bien, les tifous: la version française du tutoriel est en construction sur le fil "dev-fr". Huzzah! At last, you've got it. My long-delayed Level Editor for Nintendo DS (LEDS) is at last available for download with some sample tilesets to toy with ^_^. Thanks fly to Surt and Guido Bos for releasing their game art under creative-common license on OpenGameArt. The software is still a bit rough on the angles, so make sure you've got the tutorial page displayed on some screen when you'll use it for the first time(s)... and now ...

Go create!
Features that I still wish to see appearing in a future release (check back this post for UI mock-up):
  • [hint] provide a way to change "type of tile" when editing the meta-layer, without requiring on-map display. (we have the whole ABXY buttons disabled in that mode, right ?)
  • flipped tiles that also work in "copy" mode
  • area manipulation (overlays?)
  • map size edition (crop, extend)
  • map sketching (zoomed-out drawing)
  • map radar widget
  • multi-palette support on the BG layer (needs SEDS coordination)
  • [done] more robust monster edition mode.
  • wizard for .cmd file generation
  • use the ARGV protocol to quick-load a map from runMe *at a specific position*.

Sunday, November 20, 2011

LEDS & OpenGameArt ...

Si vous en connaissez pas encore opengameart, c'est bien dommage. Des dizaines de graphismes pour des jeux vidéos offerts à la réutilisation par leurs créateurs, voilà qui devrait éviter de passer par la case "voler les sprites de Mario" à bien des game-makers amateurs.

Comme je recommence à bosser sur mon éditeur de niveaux, la question se pose à nouveau "quels graphismes pour une version démo", histoire que vous puissiez essayer le soft même si le pixel art est totalement obscur pour vous. Eh bien, pourquoi pas ces anciens graphismes du jeu frogatto, justement ?

It looks like you won't get biokid-inspired tiles for the demo first release of LEDS. Neither will you get that 8-bit-restricted tileset for Apple Assault. Why would I push poor/old game art of mine where there's some ready-for-use tilesets on OpenGameArt, hmm ? These old frogatto tiles, for instance, dropped into public domain, would be perfectly fine. With some luck, annoying bugs should be gone by end of the week, and I'll be (at last) able to offer you a level-editor release 0.1 to toy with ^_^.

La question étant réglée, il me reste quand même

  1. à m'arranger pour que la partie du niveau à l'écran ne soit pas perdue quand on quitte le mode "édition des monstres" -> done
  2. à permettre de nommer la map au moment de la sauvegarde -> done
  3. à vider le lave-vaisselle.
  4. à permettre le "flipping" des graphismes dans l'éditeur de map. -> test
  5. à garantir la cohérence du "curseur" sur le tileset. -> done
  6. à empêcher le passage en mode "draw" depuis le "meta-layer" -> done.
edit: fichier converti avec les mêmes options que la "spritesheet" de Badman, l'automne dernier (déjà!).

Saturday, November 19, 2011

Biokid strikes again

Nouvelle journée passé à faire des recherches sur les attaques distribuées au boulot hier, nouvelle insomnie biokidienne cette nuit. Après un parcours ardu entre les fichiers log et les dll compressées, biokid parvient à abaisser les défenses d'un C5-C0 en l'assaillant de 'YAP' plus vites que ses buffers ne le supportent, évitant de justesse les bombes que ce lourdaut lui envoie en guise de défense

It looks like everytime I work on intrusion detection, I end up daydreaming of Biokid while I should be sleeping. No matter how hard I tried to sleep, the little blue dude kept jumping around, shooting at C5-C0 defense bots to stay unnoticed in the system he landed on. Then, in a flash, he broke into the bot's defense, scattering its internal logic and try to gather as many part of that logic as he can before the bot blow up. With all the pieces gathered, he'll be able to copy C5-C0's bombing ability.

Et tout d'un coup, juste avant que l'ennemi ne grille en un "core dump" définitif, un "dash" bien placé permet à Biokid de s'infiltrer au coeur même de ses défenses, éclatant sa logique interne dont il essaie de récupérer rapidement les morceaux ... Il faudra sans doute répéter l'opération sur un ou deux autres bots, mais quand les 16 fragments de C5-C0 auront été récupérés, Biokid pourra alors à son tour utiliser des bombes logiques ... et les C3-C0 actinalgiques n'auront qu'à bien se tenir...

Wednesday, November 16, 2011

Fire Zone

Tout au fond de la Planète Mystérieuse où Bilou et Bouli sont crashés, il y a la "Zone du Feu", alias le "Volcan Terrible", alias la Forge de Vulcain. Inspiré par les étranges stalactites du niveau "manger chez Joé" du premier Rayman, j'imagine une sorte de marmite de lave naturelle ou les dragons-fourchettes et autres chefs enflammés chercheraient à utiliser notre sympathique boule bleue comme épice exotique ...

I'd like to come with something more interesting than a plain "fire zone" for Bilou... something like a giant foundry or ... yeah. A lava-cooking area with pepper-dispenser-shaped stalacmits and fork-headed dragons. Yes, that'd definitely be original ... or maybe the fire level in Rayman Origin is very original, and I've seen it before, but only remember it unconciously and will have to scratch my head to find something else :P

Mais après avoir joué à la démo de Rayman Origins chez mon frère ... on dirait bien que je vais devoir trouver autre chose. Cette fois-ci, j'ai dû clairement subir une influence subliminale d'un screenshot ici où là.

Tuesday, November 15, 2011

You voted for ... both.

Here ends the poll on the school zone aesthetics. Thanks to the 8 readers who participated. I cannot say there is a "clear winner", but globally, the "newer" wood got slight preference as it is more "joyful". But that's for readers alone.

Simultaneously, I got feedback from two graphism artists (including one pixel artist) who didn't exactly "voted" to this poll, and they clearly stated that "the old wood was better, because it looks more like wood". That's something I cannot ignore, so I'm back at world 1-1 : *I* have to make the decision, or to come up with something that would combine the advantages of both. And the picture I just shoot at work might help.


Voilà. Cloture des votes sur un score plutôt mitigé. Si on peut dire qu'une majorité des lecteurs de ce blog ont préféré les nouvelles couleurs, plus vives et plus joyeuses, en revanche, les 2 graphistes qui ont jeté un oeil sont unanimes: l'ancienne version est nettement plus réussie, donnant plus un look "bois". pour ce bois-là, le fond clair est trop gris, et le fond sombre montre trop de contraste -- rien de difficile à ajuster.

Alors je reprends une petite photo du couloir, histoire de me faire un "vrai" raster de bois et de voir si je peux faire une version intermédiaire *aussi* pour le bloc de bois...

Monday, November 14, 2011

meta_buttons_shown=false

Comme je devais tester une imprimante, ce week-end, je me suis imprimé quelques fichiers sources de l'éditeur de niveau, histoire de comprendre d'où vient le comportement erratique des "meta-buttons", cette petite palette en haut à droite de l'image qui permet d'indiquer quelle portion d'un niveau est solide, où sont les pentes, etc. Pour pouvoir éditer les "arènes" d'Apple Assault, je les avais rendus "escamotables", mais c'est loin d'être un succès. Ils donnent l'impression d'être actifs ou non indépendamment du fait qu'ils soient visibles ou non. Malheureusement, le Level Editor est aussi le dernier outil qui n'a pas encore été "porté" pour la nouvelle release du devkitpro. Du boulot en perspective, comme la réactivation de la lecture des répertoires, les nouveaux mécanismes pour initialiser la console, etc.

  • loadNDS_Vram turns into runNdsFile : http://dsgametools.svn.sourceforge.net/viewvc/dsgametools/trunk/SpriteEditor/source/main.cpp?r1=617&r2=824
  • convert to the new console system : http://dsgametools.svn.sourceforge.net/viewvc/dsgametools/trunk/runMe/arm9/source/main.cpp?r1=735&r2=750
at least those two must be done and checked before I can start fixing the huge mess that appeared on the Level Editor user interface when I tried to make the "meta-buttons" a pop-up widget... Yes, LEDS is the latest of my tools that has not received a revision since I switched to "devkitpro 32" ...

edit: done... maybe ?

Tuesday, November 08, 2011

choose your colour


Deux tonalités possibles pour les blocs de bois: l'ancien et le nouveau. Deux tonalités possibles pour l'arrière plan: clair ou sombre. Faites votre choix sur le sondage à droite.

Two available tints for wooden blocks: new (yellow-ish) and old (grey-ish). Two available tints for the background: light or dark. Pick your favourite style using the poll on the right.

Sunday, November 06, 2011

The google, the Bad, and the Ugly



So even Google can fall into "we're too big to be wrong", obviously. Empty space everywhere, reduced reading area, "share" features lost and most ugly-and-depressive user interface I've ever seen. Yes, I even prefer the plain black-and-white of early Apple computers. Do you think that's how you'll convert me to G+ ? How can you hire so many people and just miss the good sense to avoid such horror ? when I happen to click on a "reader" tab now, I just want to close it as soon as possible.

You failed. Insert coin to try again.

On repeind l'école ...

Après pas mal de soirées à effacer les modifications que j'avais faites, j'ai enfin une variante des "blocs de bois" pour l'école qui soit un peu plus colorée que la version de 2007 ... La tentative de "miniature" pour définir une nouvelle palette aura donc porté ses fruits ^_^

Last week, I tried to update the school zone pixels so that foreground and background would look like a common, 3D environment. It sounded a good way to start with colours that worked well as BG in the school zone. It was a flop. The picture was all greyish. I tried something new to solve it: a miniature level (started as a 32x32 bitmap and zoomed to 64x64) where I could do all the colour experiments I wanted, as they had no link with the former spriteset. Then it took me almost all the week to make some decent wooden block with those saturate-and-nicely-mixing colours. I think I finally managed to get something that works. It still needs a bit of anti-aliasing and some more touches here and there, of course.


Thursday, November 03, 2011

Interpolation pour AnimEDS

Je pourrais peut-être bien me remettre à plancher sur AnimEDS avec pour objectif d'offrir une "interpolation des mouvements" un peu plus automatique. Parce que pour l'instant, il faut encore "encoder" toutes les étapes d'animations en positionnant exactement les différents sprites, et quand on veut "réviser" une animation, ça devient vite l'horreur. Or en graphisme, les révisions, c'est plutôt fondamental.

Tracer un déplacement à main levée, ce serait assez simple, tirer k étapes intermédiaires le long des différents déplacements aussi. Chouette. Ce qui m'avait freiné jusqu'ici, c'est que dans ce genre d'approche, il n'y a pas moyen de "freiner" le mouvement, d'avoir un effet "balancier" indispensable pour une animation fluide et réussie ... sauf si je permets de tracer aussi la courbe "k en fonction du temps" ... Il suffisait d'y penser, j'imagine.

Mais n'oublions pas: il lui faudra d'abord un "zoom" pour contrôler la taille du cadre de travail.

Oh, DSi !

Etat quasi-neuf, stock de protège-écran et de stylets de rechange, me voilà capable de faire tourner le "dsiware" pour tester les jeux qui me font de l'oeil depuis un moment. C'est aussi une "mesure de protection" pour pouvoir continuer le développement sur Bilou si jamais l'écran de ma DSlite venait à souffrir prématurément ou qqch comme ça. *deline a fracassé la cartouche de Qwak il y a quelques jours, et c'est un miracle si j'arrive encore à le faire tourner. Vu qu'il est hors de question que je prenne une 3DS dans les conditions actuelles, cette petite occase est plutôt la bienvenue.

I hope I'll be able to give Shantae a try soon. A second hand DSi joins my ARM device family today. That shouldn't mean a lot of changes for Bilou development, but I hope it will mean a longer life to the hobby games I make. The only darker point is that I'm losing a beta tester, but he seemed to be dedicated to sell any way, so ... 900 points to go :P