Alors après avoir un peu cogité le graphisme de super cat adventures et regardé J.l.n affronter les bêbêtes à poils de Kirby Squeak Squads, je me dis qu'une sorte de chat-ninja pourrait être sympa. Il faut qu'il soit Bilou-style, bien sûr, d'où l'absence de pattes. Il faut aussi qu'il ait des mouvement intéressants, d'où l'utilisation de la queue rayée comme d'une patte en cas de besoin. Friday, March 22, 2019
Nincha'ts
Alors après avoir un peu cogité le graphisme de super cat adventures et regardé J.l.n affronter les bêbêtes à poils de Kirby Squeak Squads, je me dis qu'une sorte de chat-ninja pourrait être sympa. Il faut qu'il soit Bilou-style, bien sûr, d'où l'absence de pattes. Il faut aussi qu'il ait des mouvement intéressants, d'où l'utilisation de la queue rayée comme d'une patte en cas de besoin. Tags: desert zone, monster design
Sunday, March 17, 2019
Labyrinth flavours ...
Bon, j'aime bien les labyrinthes. Depuis longtemps, et j'aimerais bien que le prochain jeu de Bilou puisse se dérouler dans un niveau plus labyrinthique. Mais j'ai envie d'y jouer moi-même aussi, du coup ce serait sympa si le jeu pouvait partir d'un générateur de labyrinthes et les maquiller en niveaux de Bilou. Par contre, tous les générateurs de labyrinthes que j'ai fait (ou fait faire) jusqu'ici produisaient des labyrinthes parfaits, c'est à dire des labyrinthes dans lesquels il n'y a jamais qu'un et un seul chemin entre deux endroits. Et du point de vue du gameplay, j'ai peur que ce soit loin d'être génial.

I have the feeling that interconnected loops will provide more interresting behaviours. we see them in PacMan - as well as in Phantom Hourglass. They provide interesting backtracking and let you chose between fighting or sneaking when you encounter a monster.
Parce que s'il n'y a qu'un seul chemin, ça implique qu'il y a de nombreuses voies sans issues. Sans une vue globale de la situation, il est extrêmement improbable de parvenir à "trouver" son chemin, et donc pas de réel choix à faire pendant la navigation. En plus, la plupart des obstacles ne pourront pas être contournés: ou bien on les affrontes, ou bien on ignore le chemin sur lequel ils se trouvent. Bref, mieux vaudrait un environnement proche d'un niveau de pac-man, avec de nombreuses boucles, où le défi est moins de trouver le chemin que de choisir celui qui offre le meilleur rapport récompenses/risques.

Je n'ai pas encore d'algorithme idéal pour ce genre de labyrinthe. Je fais quelques essais sur papier quand j'ai un peu de temps les week-end... Une des idées serait de commencer par créer un certain nombre de boucles de ce genre dans une grille avant d'y faire tourner un algorithme de "labyrinthe parfait" sur les cases restantes jusqu'à ce que toutes les boucles se retrouvent inter-connectées.
Tags: desert zone, maze, puzzled
Friday, March 08, 2019
pixdox
bon, je voudrais réintégrer une partie des images de ce blog à l'intérieur de la documentation Doxygen pour avoir un document de type "e-book" un peu plus complet. C'est particulièrement le cas avec les screenshots d'interface graphique pour les éditeurs, parce que redessiner les positions des boutons quand je veux comprendre pourquoi certains ne s'activent pas à chaque fois, ça devient vite lassant.
j'ai déjà fait un essai avec un fichier pour libgeds, qui s'était rangé dans 'pixdox/html' et qui était invoqué avec un \image html InspectorWidget.png dans InspectorWidget.cpp, moyennant IMAGE_PATH=pixdox dans le fichier Doxyfile pour libgeds... reste à faire pareil pour les autres.
Et il faudra copier les images de 'pixdox/html' à l'intérieur de dox/html ...
edit: oui, pendant quelques jours, ce post a bloqué tout le reste du blog. La faute à un copier-coller trop aggressif qui s'est terminé par une image encodée directement en base64 dans le post... J'imagine que les buffers de google n'ont pas apprécié.
Tags: doxygen
Thursday, February 28, 2019
Sandopolis Zone and Mega-tiles.
Ok, au départ je cherchais des références pour les couleurs et le style de la "desert/pyramid zone" de mon prochain jeu. Et je venais de découvrir l'existence de Sandopolis, région d'un jeu Sonic jusqu'à laquelle je ne suis probablement jamais allé.
Un beau gros .zip dans lequel était supposés se trouver tous les décors, mais au lieu d'une "tilesheet" habituelle, je tombe sur une collections d'images de 128x128 pixels. J'étais resté un peu intrigué mais sans plus. Puis en revoyant la vidéo "making of Sonic 2" de splashwave, le doute n'est plus possible: il y a un niveau intermédiaire de map, et ces blocs de 128x128 pixels sont bels et biens des morceaux de puzzle construit à la main pour servir ensuite de de bloc de construction dans un niveau. On va les appeler des "mega-tiles".

Avec les mega-tiles, on peut atteindre ainsi un taux de compression proche de 100 pour 1. Les niveaux de Sonic avec leur taille surréaliste de 10,000 x 2,000 pixels tiennent en réalité dans moins de 64K de mémoire.
Et si on regarde un niveau construit avec suffisamment de recul, on peut commencer à trouver des correspondances. Commencer seulement, parce que c'est loin d'être complètement évident ... et j'aurai eu recours au mode "soustraction" de Gimp pour les mettre en évidence.

Et si on ne s'en rend pas compte en jouant, c'est grâce aux différents éléments qui eux ne font pas partie de ces blocs : les télévisions, les anneaux, les ennemis ... Et parce que contrairement à un jeu "type Mario", la disposition des blocs de taille 16x16 au sein du jeu a nettement moins d'importance. J'entends par là que Mario interagit avec un bloc de brique ou un bloc-question individuellement. Et le fait qu'un saut soit possible ou non se décide à un bloc près.

Pas dans Sonic. Selon qu'on va plus ou moins vite, on passe ou non. Selon qu'on trouve le bon bumper ou non, on va assez haut. Et quand on n'est pas assez haut, il y a de toutes façons une route inférieure à suivre.
Tags: designclass, level data, level editor, sonic, tiled, tileset
Thursday, February 21, 2019
L'ère post-desktop
Bon, soyons clairs: être sur un PC - un vrai, avec une souris, un clavier, une connexion réseau et un écran - ça ne m'arrive plus qu'au bureau. La bricole homebrew, ce sera de temps en temps sur le laptop ... avec tout ce que je peux préparer hors-PC hors PC. Le "engine design" dans un cahier atoma -- pour pouvoir mettre en vis-à-vis les idées et leur conséquences -- la documentation UML dans un cahier A4 quadrillé à spirale, etc. J'ai même tenté une sorte de 'bullet journal' pour suivre ce qui devait aller sur le blog, les posts en standby etc, qui est tombé plus ou moins dans l'abandon depuis que je me suis installé Wordpress sur mon Boox.
Let's be honest: being on a true PC -- with a mouse, a keyboard, a screen and an Internet connection, that only happens at the office. Homebrew devin' nowadays, that's on a laptop, and everything that can be prepared off-screen is welcome. So game engine design happens in an Atoma notebook (so I could put an idea side-by-side with its outcome), UML documentation goes in friendly A4 notebook, and I even started a 'bullet journal' to track what blog posts should be updated, those waiting for sketches to be scanned, and those who are waiting for translation (although installing Wordpress on my boox helped with this)
I level'd up these offscreen tools this year, with a dotted-paper notebook where I scribbled "proudly powered by CreaCorner" that somehow became my true (offline) blog until I shoot a picture and share it on twitter.
This is where I collect my todo lists, things to be reviewed, things that should be done when I spent an hour on the laptop, and so on. And I'd rather keep going, since I'm in half-zombie state when I'm finally done with dish-washing these days. Without dotted paper help, I'd be browsing from one abandonned forum to the next one and not even having enough energy to start reading what people have posted.
Et depuis cette année, je me suis trouvé un super petit cahier pointillé à la fin duquel j'ai écrit "proudly powered by CreaCorner (en fait, c'est un Bullet Journal Toga) ... c'est plus ou moins devenu mon vrai blog, sauf qu'il n'est pas en ligne... allez, quelques photos de temps en temps sur Twitter.
Je me fais aussi mes petites "todo listes" dedans. Les choses à relire dans du code converti en e-book. Pourtant, une bonne partie des 'todo items' auront besoin de repasser sur PC. Parce que vu l'heure à laquelle j'en ai fini avec la vaisselle ces jours-ci, quand j'ouvre mon portable, je suis en mode demi-zombie ... je passe de forum vide en forum vide sans vraiment avoir l'énergie de lire ce que les gens y ont mis.Donc, bin je vais me les ré-encoder ici, histoire d'avoir cette liste sous la main dans les rares cas où je suis sur PC :-P
- Q: où est-ce qu'on en est avec LevelModel, pourquoi ::SaveCommands() est vide ?
- Q: pourquoi avais-je introduit "MonsterGeneration"
- A: cette classe apparaît en même temps que le système de tri des 'blocs' de texte pendant les liens entre objets ... sans doute une tentative avortée qui sera restée au moment du commit faute de reviewing correct du code.
- Q: pourquoi est-ce que je n'ai aucune doc sur EditorLevel::scanSubFile() ?
- [todo] Refaire un coup de -WeffC++ sur le code, et trouver les #pragma push qu'il faut pour que le code incapable de supporter 'effective C++' se taise une fois pour toute et que ça devienne le mode par défaut pour la compilation.
- [done?, merged] transférer des captures d'écran des outils dsgametools à l'intérieur de la doc doxygen
- [todo] faire en sorte que SpriteRam apparaisse dans la doc du SpriteEditor
Tuesday, February 19, 2019
Cupido power!
Peut-il y en avoir encore ici qui ignorent que Kirby -- cette petite boule rose qui vole la vedette à Bilou depuis 1993 -- est capable d'acquérir de nouveaux pouvoirs en avalent des ennemis ? Parmi eux, il y en a un que j'ai personnellement boudé : Kirby-cupidon. Si par hasard je finissais par l'avoir équipé, il était rare que j'apprécie l'avoir et je ne l'ai probablement jamais recherché (contrairement à Kirby-Link, Kirby-Marteau ou Kirby-Soucoupe). Mais pour J.l.n, c'est apparemment le pouvoir idéal, et il préfèrera perdre une vie pour recommencer le niveau et récupérer son pouvoir-cupidon plutôt que de continuer le jeu sans. Analyse...

Kirby-cupidon attaque a distance. Avec lui, tous les monstres deviennent du coup beaucoup moins inquiétants. Ce n'est sans doute pas annodin puisque l'autre pouvoir qui a les faveurs de J.l.n n'est autre que "Kirby-Métal", que je trouve personnellement trop lent et trop lourd pour être agréable, mais qui passe tel un tank à travers (presque) tous les obstacles... et qui annule tout inquiétude que les monstres pourraient produire.
Last but not least, the details making the arrow fun is admirable: it sticks for some seconds where it landed, including on monsters, making them look grotesque and stupid since they keep wandering around as if they didn't realised what happened to them. This is reinforced by the fact that arrows are weak compared to most other attacks, making the weakest monster need two hits.
Note, too, than those sticky arrows provide valuabe feedback to the young player: it gives lots of time to analyse why a shot failed and where to move to make the next shot a hit.
Note amusante : après avoir rejoué sur mon ancienne partie (où on peut faire son marché-des-pouvoirs et où j'ai débloqué le pouvoir du fantôme), J.L.N. m'a fait lui-même sa petite analyse de "pourquoi il aime bien kirby-ange et kirby-métal" ^_^
Sunday, February 10, 2019
La face cachée de Bubsy
En résulte le très bon jeu que nous connaissons bien, sorti en '93. Drôle, captivant et plein de charme sans pour autant être parfait ni nécessairement un exemple en matière de gameplay.
Mais vu le budget de la production et de la promotion du jeu, ils
décident d'en rester là, et l'employé de quitter la compagnie. Sans la
license de son succès. Quand l'heure viendra malgré tout de faire un
Bubsy2, ce sera avec la consigne de limiter les frais mais surtout en
contraignant de s'y atteler une équipe qui préfére les simulations
sportives habituelles de la société et déteste devoir travailler sur
Bubsy...




Vote for your favourite post
