School Rush continue lentement sa progression parmi les internautes. J'espère un jour pouvoir atteindre la rédaction de Pix'n'Love, mais leur forum reste curieusement verouillé...
Saturday, August 26, 2017
School Rush sur Press Start
School Rush continue lentement sa progression parmi les internautes. J'espère un jour pouvoir atteindre la rédaction de Pix'n'Love, mais leur forum reste curieusement verouillé...
Monday, August 21, 2017
End of Cybook ?
And now the "gadget" class of the device really shows up. I have no logs that could point out the flaw, no way to access the critical components (namely the internal flash). The device as a whole will have to be recycled just because one component is weared out.
Mon Cybook me lache à nouveau. Trois ans après son passage en service-après-vente, mais sans espoir d'intervention de garantie, cette fois-ci. Me le réparerait-on de nouveau ? Peut-être. Est-ce que j'ai envie d'injecter encore de l'énergie dans un appareil que je ne peux empêcher de vieillir ? Pas franchement. Est-ce qu'il y a mieux à acheter ? Peut-être si je suis prêt à lâcher 300€ pour un modèle Androïd-à-encre-électronique.
Est-ce le moment de tenter un jailbreaking de l'appareil ? ou de lui concevoir une custom ROM ? Je n'ai plus grand-chose à risquer en le faisant, en tous cas.
There is even 13" models, but they seem to be sold near 700$, not the 400$ I spot on alibaba. The same company makes 9" devices too, claimed to be half the price (which gets into the "expensive but affordable" category). Maybe I should wait for a few weeks and see whether that "ReMarkable" thing actually ships this august and at what price ?
None of these could be found in stores so far, but I had a look at a Kobo Aura One this afternoon, and it was quite sexy, with its all-flat front side. No stylus and no android (afaik), though.
Saturday, August 19, 2017
Les autres pentes
... A grid, with tiles telling "solid" or "sloped", or "jump through, but don't fall". And sometimes just "special block".
Les "blocs spéciaux" ne sont pas compris par le moteur de jeu lui-même (d'où leur caractère "spécial") mais décrits dans les scripts qui définissent les règles du jeu.
Ainsi, quand Bilou touche par exemple un Bonus, le moteur de jeu récupère quelques bits d'information pour chaque pavé (8x8) de la grille constituant le bloc (16x16) et reconstruit un numéro de bloc spécial (de 0 à 255) qui permettra de retrouver les instructions à exécuter (faire un son, déclencher une animation, donner des points, etc.)
Quand Bilou touche une pente, en revanche, le moteur de jeu sait qu'il doit aller regarder une petite table indiquant la hauteur de chaque pixel de la pente. A priori, la forme de cette pente pourrait être n'importe quoi. Mon éditeur de niveau connaît les pentes à 45° et à 22.5°The height array tells how high is each pixel in the tile. The game engine knows very well what to do, this time. Some tuning could provide an alternate height array to support a different kind of slope, but I haven't used that so far in the game.
Mais voilà: j'aimerais pouvoir avoir plus de souplesse: des escaliers, des coudes, par exemple. Un petit schéma de rien du tout qui traîne depuis des années (2010?) sur un bloc de brouillon en atteste. "Le mieux serait d'avoir deux boutons 'pente' [dans l'éditeur de sprites] qui forcent le remplissage d'une ligne de 64x16 pixels avec des pentes suivies (les modèles)"ajoute encore le calepin.
En effet, la technique que j'envisageais alors consistait à utiliser comme information supplémentaire la position du graphisme au sein d'une ligne de blocs dans l'éditeur de niveau (une "tranche" de 16 pavés de 8x8 successifs). On pourra alors convertir l'information de la grille "pente compliquée vers la droite" en "transition douce de 0° à 22°" parce qu'on est dans le 6eme pavé sur une tranche de 16.
Sur les dernières années, ça n'a jamais été mis en service et mes derniers tours d'horizon dans le code de l'éditeur de Sprites me confirme que travailler "par tranche de 16 pavés" serait un vrai casse-tête (le mode et le moment de l'allocation des pavés dans la mémoire vidéo n'étant absolument pas prévu pour ça).
Et cet été vient une idée qui jette un autre éclairage sur ce problème: "Les pentes douces, c'est un problème pour l'éditeur de niveaux. Ce n'est pas quelque-chose à régler dans l'éditeur graphique.
Et l'éditeur de niveau sait par contre traiter des groupes de chiffres pour montrer qu'un bloc spécial est soit un bonus, soit des pics, etc. En prenant donc un type de pavé qui dit "pente compliquée, regardez les chiffres en-dessous pour en savoir plus", je peux diriger le moteur de jeu vers une autre table de hauteurs qui définit la pente (parmi 16 pentes possibles), mais aussi éventuellement fixer le coefficient de friction (sol dur, glissant, boue-qui-ralentit, etc.)Il me tarde d'essayer ça ^_^
Tags: features, MyEngine, slopes, special block, tiled
Friday, August 18, 2017
Habillage ...
Il est temps de passer du 'test fonctionnel' à quelque chose de plus "habillé" pour le dernier niveau vertical. Jusqu'ici, je m'étais contenté d'un minimum de graphisme (les blocs-sol) pour vérifier si les sauts étaient possibles. Il est temps de dessiner le reste des objets.
Ouais, sauf que pour avoir des dessus-de-fardes-sur-lesquels-on-marche un peu partout dans le niveau, c'est pas forcément simple. J'avais pensé à des "couches" suggérées par différentes couleurs (il y a déjà une convention dans l'ensemble du jeu du genre farde verte = mur, farde brune/mauve/vert-foncée = plate-forme semi-solide), et faire des structures un peu imbriquées comme avec mes bons-vieux-buissons.

Bref, pour cette fois-ci, je vais me débrouiller en créant "à la main" des tiles supplémentaires qui "combinent" les deux couches, avec des imports de palette, mais ce ne sera pas beau à regarder dans l'éditeur (parce que le joueur ne devrait pas voir la différence, lui). Décidément, tout cet été pousse vers un déplacement des propriétés du niveau hors des couches de "rendu".
Wednesday, August 02, 2017
On reprend les crayons
(enfin, le porte-mine, plutôt). Les aspects techniques pour avoir une petite image originale au chargement de chaque niveau sont réglés. Je gribouille un peu pour avoir les 4 images qui me plaisent pour raconter l'histoire de School Rush (invasion des crayons-soldats, résistance, déroute et vengeance des soldats en question).
Ce qui s'avère être plus ou moins l'opposé de ce que j'avais prévu de faire raconter au cancrier dans la BD, en fait ... donc il va me falloir encore au moins une dernière image.
Tuesday, July 25, 2017
simplifions le HUD
Je continue avec une simplification des relations entre "GameScript", "GameWindow" (qui s'appelle toujours CmdWindow parce qu'elle s'occupe des fichiers .cmd) et "Hud". Le Script et le HUD sont maintenant créés avant le chargement du niveau, le "setup" qui permet au HUD de savoir quel objet est le héro, où sont les compteurs, le score, etc. se produit explicitement lors du dernier "end"
hud.mode=xxx in the scripts -- since both menu, credits and game levels are separate scripts. Then I refactored the way the HUD is constructed and linked to the GameScript so that parsing hud.show "xxx.spr" can lead to some Hud::showScreen() although the HUD isn't ready to run its play() function yet (i.e. because it doesn't know the pointer to Bilou's state and to game stats, which will be taught by the GameScript through the Hud::setup() call).Once again, all this was made possible thanks to doxygen-on-cybook where I could annotate code with refactoring thoughts until I was ready to sketch the desired behaviour as UML. Once this is done, I'm ready to code it in small chunks, one evening at a time.
Enfin, je suis prêt pour un 'hud.show "somefile.spr"' qui me permettra de raconter une petite histoire sur l'écran du bas avec une image différente pour chaque niveau.
Tags: coding, uml, user interface
Thursday, July 13, 2017
cyblog de retour.
Bien sympa. En Français exclusivement (puisque je filtre le contenu des balises "<en>" au moment de l'export pour le format .epub), et perfectible:
- j'approche les 50Mo pour un thème (une dizaine de tags sur le blog)
- trop d'images dupliquées. Il faudra les identifier (fdupes) et n'en garder qu'une de chaque
- la construction d'un chapitre par tag est plus intéressante parce qu'elle permet de cibler la lecture (en tout cas pour moi)
- Tous les liens page-à-page sont pour l'instant perdus (si on clique dessus, la liseuse essaiera d'aller se connecter sur le blog)





Vote for your favourite post
