Thursday, August 12, 2010

Ne vous posez pas de question: codez.

Quand j'annonçais la semaine dernière qu'il me restait à mettre en place le système d'affichage du score et de l'état du jeu (niveau de vie de Bilou, barre de punch, etc), je vous avoue bien que j'étais sur le point de partir dans un trip "variante du GameScript pour faire un HudScript" avec des considérations du genre "oui, mais comment mettre en place l'affichage de clés de couleurs 'à la Commander Keen'" ou "et si je détournais la commande 'delay' des GobAnims pour indiquer sur quel intervalle de valeurs il faut utiliser telle ou telle image. Etc.

Bref, Apple Assault se serait transformé en "Wake me up when september ends" :P Puis j'ai laché à mon collègue Bruno le "Ne vous posez pas de question: codez" du Docteur Mollusk (créateur de la PaLib si répandue sur DS) et ça m'a fait réfléchir moi aussi ...

Earlier this week, I started thinking at the display of status and score for Apple Assault. I have to confess it started looking like variation of the GobScript to describe the HUD, express which GOB and game variables should be used, how they should be transformed into displayable items or how they should select one image in a collection.

It could have cost me weeks of analysis and development if I hadn't remembered Dr Mollusk master words : "do not wonder: code" -- somehow close to Yoda saying "do not try : do it ... or do not". Clearly, all I need is a display of the internal dials in a readable form. The aesthetics are secondary, as they are on a different screen from the game itself. Not that they are irrelevant, but definitely secondary. So I went straight away, coded the crudest thing that just do the job, that can't be reused or customised, but that works and that's done. I can move forward and think about the scoring itself or the feasability of an online leaderboard system.


Alors voilà: le code qui fait l'affichage (tout comme l'affichage lui-même) n'est pas beau: il est minimaliste. On ne peut pas changer la position de tel ou tel élément sans recompiler, et j'ai fait un rendu des barres d'énergie (et même de Bilou) en ASCII art par ce que j'ai la flemme d'écrire le code qui chargerait les zolis graphismes dans la VRAM de la DS. Eh oui, point de "rect (0,0)-(power,8), BLUE" ici. Il faut tout convertir en tiles de toutes façon.

No comments: