Monday, June 27, 2016

Couleur pour les P-UPs


Il faut qu'on distingue mieux quel power-up on reçoit/perd au cours du jeu. Je fais donc l'essai de la technique que me propose mon frère: changer la couleur du power-up "float" pour passer au vert. D'une certaine façon, c'est logique: il s'utilisera avec le bouton "A", le bouton des pieds, qui sont verts. Le power-up pour les poings, lui, restera bleu-clair, comme les poings. Logique, certes ... mais ça me fait quand-même tout bizarre. Un peu comme si tout d'un coup, il y avait des oranges bleues sur la table. Faites le test. Dites-moi ce que vous en pensez. (n'oubliez pas d'assomer des crayons pour recevoir des power-ups).

Well, I suppose my brother (and other people who tried to send me the same message) is right: the game would play better if we had more than the shape of the power-ups to hint us on what we have and what we can do. So I tinted the use-with-your-feet power-up in green, since Bilou's feet are green. It feels odd to me, but I believe it will work better for all the players. Does it for you ? Get the intermediate .NDS file and give it a try ;)

Wednesday, June 22, 2016

Next steps

  • [done] sound effect for airgrab = sound effect for grab
  • [done] import fixed maps
  • [done] hint page for "hold B to grab sponge"
  • [wish] keep easy/normal/hard text during the whole menu session
  • [done] allow up/down to select the difficulty level during menu session
  • [done] sparkles or something when you get a power-up.
  • [done] colors matching for FLOAT power-up on both screens.
  • [done] make sure the number of Punch power-up shown on the "book" are accurate.
  • [done] get rid of the ARGH letters and dever's power-up on the main menu.
I believe when I got this sorted out, I'm ready to tease VIP players with my little game. But I'll have to proceed gently, one tiny step at a time or I'll be exhausted before the official summer break starts.


18/7: I got the sparkles thing done.
On s'approche, on s'approche. J'ai pu rassembler quelques derniers points à travailler sur School Rush lors d'une petite session de tests avec mon frère et la S-Team. Je pense qu'une fois tout celà traité, je serai prêt pour une release à montrer aux ténors tels que Kirby Kid, Eric Zmiro et le joueur du grenier. Celà dit, je vais quand-même y aller en douceur histoire de ne pas me retrouver à nouveau dans un état d'épuisement où je ne parviens même plus à lire les posts sur les forums quand je passe dessus ...

Friday, June 17, 2016

What's wrong with my spritesheet ?

Ok, this time, let's try to get that .spr file fixed. That's the right timing to get some framework that read and write .spr files on my host platform with the engine's C++ code.

You may remember this spritesheet captured some times ago, where 'striped'  tiles were suspected to be declared free although containing pixels ... It's a bit more complicated apparently: the tool building those spritesheets wasn't processing 32x16 blocks properly. The real "trouble map" (generated by the C++ tool) looks more like below: everything seems correctly aligned between the two versions. Well, everything except the last tile which is mapped on two different pages ...


Ouf. Longue semaine d'inspection du fichier de graphismes, avec un nouvel outil qui profite de mon système de test pour pouvoir utiliser directement le code du SpriteEditor pour faire l'équivalent d'un "chkdsk" pour les fichiers de sprites. J'en ai profité pour ajuster l'outil en PERL qui m'avait servi pour avoir cette "cartographie des problèmes" (ci-dessus) qui montre plus de problèmes qu'il n'y en a réellement (ci-dessous). En cause, les sprites de 16x32 (ou 32x16) qui n'étaient pas reconnus. Encore une petite étape de reconstruction, plutôt facile dans l'environnement PC, et me voilà prêt à attaquer les animations supplémentaires pour la récupération des power-ups.


It would be tempting to believe that with that double-mapped tile fixed, everything would work fine. For small blocks (16x16 pixels), the "blue-ish" free blocks would be used first, then the "red-ish" blobs (16x32 or 32x16 pixels) would be split by try_harder_alloc(). Except that splitting isn't allowed in normal allocations. In fact, if I can rely on cscope's output, splitting is *never* allowed.
Adding some more 16x16 sprites thus grows the file closer to its limit.

edit: Well, i finally decided to fix that by rebuilding the contents of the SpriteRam according to their appearance in the SpritePage, possibly duplicating whatever has more than one link. Since all animation definitions use : rather than a direct offset-in-SpriteRam, no additional work is needed. Good news.

Friday, June 10, 2016

Mon nouveau bureau

Activité "team building" au bureau ... il fallait décorer nos locaux. Juste quand ma mère m'annonce avoir retrouvé un sac de vieilles boîtes en carton et que ma fée a fini de ranger sa cisaille à papier...

J'avais envie d'un petit quelque-chose de labyrinthique, finalement, les boîtes LEGO des années '90 s'y prètent assez bien. J'ai bricolé ça petit à petit. Au fur et à mesure que ça avançait je devenais un peu plus fier de mon idée et du résultat. A la fin, j'avais envie que tout le monde vienne regarder "mon oeuvre". Le boss a apprécié. Il dit aussi "qu'il aime beaucoup mes petits dessins" (j'ai agraffé des originaux du Bilou's Book sur le mur d'en face), et du coup j'ai pris conscience d'un truc fondamental pour moi.

Voilà pourquoi je dessine. Voilà pourquoi je bloggue, pourquoi je fais mon p'tit jeu vidéo année après année. Parce que depuis que je suis tout gamin j'ai le sentiment d'avoir de la valeur aux yeux des autres quand ils apprécient quelque-chose que j'ai réalisé. Et bien sûr, plus la personne est importante pour moi, plus son appréciation de mon travail compte. Et quand je pars de forum en forum pour annoncer la nouvelle version de "School Rush", ce n'est finalement pas différent de quand je descendais, tout excité, les escaliers avec mon robot-LEGO-qui-se-transforme-en-camion pour le montrer à mon oncle où à un collègue de mon père.

J'imagine que ça explique bien des choses.

Thursday, June 09, 2016

Frogatto, round 2

vous vous souvenez de Frogatto ?
Vous auriez du mérite, parce que je n'en parle pas souvent. Un jeu de plate-formes indépendant, libre, en pixel art aux couleurs à tomber par terre.
Avec mon nouveau laptop et son nouveau Linux, je peux m'installer frogatto rien que par un apt-get.

J'ai choisi de me faire une partie en mode "casual" histoire d'être sûr de ne pas me retrouver bloqué au premier monde. Jusqu'ici, je ne regrette pas ce choix: plus de renfort de vie et peut-être bien un système de retour-au-début-du-niveau-avec-toute-sa-vie qui fait du bien.

The revised frogatto, as distributed in Xenial Ubuntu, is far more stable and enjoyable than the one I played before. Maybe that's because I decided to play in Casual mode ? Well, more live fountains, more hitpoints recovery items dropped by monsters, and a fair chance to re-start the level if you happen to fail it. Good thing.

On the graphics side, all the environments I've crossed are well polished, colorful when needed, dark and gloomy when suited, but always varied. If there was a single thing I'm not fan of, it is this way of rotating sprites to make them "climb slopes" or rotate pulleys. Why ? because the pixels of the game are scaled, so when art is simply rotated, you see a mixture of vertical/horizontal pixels and some slanted pixels. And to my eyes, this *never* works well. It makes the pixelization an arbitrary limit rather than an artistic choice.

Gameplay-wise, Frogatto is a bit harder to control than your average mustachied plumber. For the one thing, it tends to knock its head on ceilings a bit too early and too often, making you miss jumps here and there. A pity, for a frog. The other thing is spit control. Spitting out monsters is Frogatto's signature move, but it is really hard to master. How far, how fast and how high you spit depends on your own speed and direction keys you're pressing as you spit out. Combined with the fact that what you spit is affected by gravity and that -- unlike with Yoshi's Island -- there is no such thing as "spit out monster gets rolling on the ground", which compensates for the lack of aiming precision. Here, you miss your target most of the time. I'm glad I haven't insisted on pushing some similar THROW mechanics for Bilou's School Rush. And you'll be glad when you find more amno around you to hit that approaching freaky bug.


Il faut dire que dans la version précédente que j'avais essayée, le jeu crashais dès que je mourrais, résultat, j'étais obligé de reprendre de mon point de sauvegarde in-extremis avec un malheureux point de vie... comme dans Cave Story, sauf que le jeu se prête nettement moins au ""farming" de points de vie.

Les graphismes sont aussi agréables que dans le blog, et si je trouve les musiques trop angoissantes pour faire partie d'une playlist-passe-partout, elles sont tout à fait appropriées pour la mise en ambiance du jeu. La seule chose que je regretterait est l'utilisation de rotations du pixel-art déjà zoomé ... euh, ça casse un peu l'effet...

Côté gameplay, maintenant. Le jeu est globalement chouette, mais parfois un peu confus. L'attaque principale de Frogatto consiste à relancer des ennemis qu'on a avalé au préalable, façon "Yoshi's Island". Tout comme dans mon "School Rush", les ennemis que l'on recrache sont affectés par la gravité. Par contre, là où j'avais décidé d'avoir une seule trajectoire pour les objets lancés, les projectiles de Frogatto suivent un trajet différent selon qu'on saute, court, qu'on est à l'arrêt, etc. De plus, là où un maskass craché par Yoshi se mettra à rouler en boule une fois qu'il atteint le sol, les projectiles de Frogatto rebondissent un peu, d'une façon assez difficile à prédire à moins d'être un caïd de la balle magique.

Quelques niveaux plus tard, je me vois offrir un tir d'énergie-mauve-à-tête-chercheuse... mais qui malheureusement peut très bien décider de cibler un projectile ennemi plutôt que l'ennemi lui-même, ce qui rend la survie en forêt assez ... aléatoire.

Sunday, June 05, 2016

Le niveau 3 et au-delà

Je commence tout doucement à rassembler quelques avis sur le gameplay de School Rush:

vincent@levelup
J'ai pu atteindre le niveau 4. La difficulté me semble beaucoup mieux dosée et le jeu en devient plus addictif. L'ecran du bas qui change est une très bonne idée. Ça donne encore plus envie de lancer les petits ennemis. J'aime moins que j'ai du mal à prévoir si je vais faire un grand ou un petit saut sur les gommes attachés sur les crayons.
Sortir de l'encre est moins compliqué, c'est bien aussi !
Les animations sont vraiment bien faites, c'est toujours un plaisir de les retrouver.
Guil@BHB
 Je me suis lancé même plein d'entrain, plein de confiance et la fleur au fusil.
Bim je me suis vite fait rappeler à l'ordre... c'est plus difficile que ce à quoi je m'attendais [...] J'arrive maintenant sans trop de souci à atteindre le deuxième goal. [...] bravo, je prend beaucoup de plaisir.
Je n'ai pas encore bien capté les changements de power-up, je suis trop concentré sur ma trajectoire pour lire l'écran du bas.

En fait il faudrait que je me canalise et que je prenne le temps de bien prendre en main les commandes et que j'accepte de sacrifier quelques parties pour tester le comportement. Les jeux récents m'ont déshabitués de cette façon de procéder qui date davantage des 80's-90's ! :D
C'est dur ! Bon, l'émulateur et le clavier ne doivent pas aider, mais je trouve les contrôles un peu rigides. En tout cas, je galère à sauter au bon moment et à attraper les trucs qui se balancent (j'ai mis un moment à comprendre qu'il fallait les attraper et pas sauter dessus). J'ai noté quelques bugs, à un moment sur une gomme rebondissante la caméra ne se tournait pas aux deux tiers en face de moi, et toujours sur ces gommes, B et bas arrêtent le rebond.

Sinon, le level design est soigné et j'adore l'univers graphique. J'accroche moins à la musique mais j'ai pas la nostalgie des vieux jeux SNES faute de les avoir connus donc je ne l'apprécie peut-être pas à sa juste valeur.

J'ai quand même fini le premier niveau, on va voir jusqu'où je peux aller !

No feedback from my English audience, I'm afraid. KirbyKid is still looking for his DS's power adapter. I cannot log on neoflash forums to notify the former judges who enjoyed Apple Assault. The game is globally perceived by French beta-testers as "harder than expected, but fun once the floor skill level is reached", and "addictive once we reach the later levels". My current TODO list is confirmed (a shop to use bonus letters, sparkles on Bilou to show he grabbed a bonus).

J'espère aussi avoir une vidéo let's play de Pirez (fait de la résistance), mais pour l'instant "il meurt tout le temps, même en mode facile. Il y a une mécanique qu'il n'a pas dû correctement intégrer" ... Et "spacecowboy" continue de s'entraîner pour parvenir à passer le niveau 3.

Si je devais tuyauter Guil, je dirais "Bilou fait un peu une pose comme la tienne quand il a le gros poing, et il fait un petit "hurricane kick" au début de chaque saut quand il a le pouvoir de planer. On va tenter de rendre ça plus clair aussi à travers les sons.

Bref, je vous laisse le "sondage" sur la droite pour me dire jusqu'où vous, vous arrivez. Je retourne ajuster les nouveaux effets sonores de CJ.

Saturday, June 04, 2016

Donkey 1&3

Donkey Kong Country... excellent jeu et également un excellent dossier dans le dernier Pix'n'Love -- et impressionnant de part sa longueur, même s'il comporte une bonne part d'"histoire de Rare" en plus de couvrir la trilogie DKC. David Wise nous dévoile des pans entiers du développement. Avec quel acharnement ils ont bataillé pour faire tenir les musiques dans les 64Ko du sound chip de la SNES. L'importance des visites au Zoo, mais jamais comme on l'attendait. Tout ça avec 18 mois pour la réalisation du jeu.

Poor non-French-speaking pals. I truly hope you have an alternate information source about how Rare worked on Donkey Kong Country. We do have Pix'n'Love and they did a great job on it. I cannot give you an overview of what's in it because it's truly a huge story they collected. But let me use the occasion to take a step back and analyse what was so special about the gameplay

DKC avait pour ambition d'être aussi génial à jouer que SMB3, mais plus fluide. Invitation au speedrun avant l'heure,  les concepteurs estiment que le joueur doit avoir la possibilité de parkourir le niveau à grande vitesse s'il le connaît suffisamment bien. De là la course inspirée d'un cheval, de là aussi, l'abandon des clés et cages (inspirées de DK Jr) esquissée dans les documents de 1993 au profit des "caisses d'animaux". De là - enfin - un positionnement méticuleux des tonneaux, cordes, ennemis et autres objets mobiles pour que le joueur n'ait jamais à s'arrêter pour attendre qu'un objet utile à sa progression arrive à sa portée. La vitesse devient le coeur du jeu et les autres décisions de gameplay se mettent à graviter autour.

At some point in the game development, Rare team decided to put the focus on how fluidly one could zoom trough the level, granted that she knows the level well enough. From then on, many of the early concept sketches got dismissed (no more keys, but K.O.N.G letters), some realism was dropped (DK runs like a horse, because gorillas you can see in a Zoo just do not run). Game was tuned in that direction so that player do not *need* to wait for things like vines or blasting barrels.

Un autre élément fort du jeu, à mon avis, ce sont les tonneaux. Ils sont partout. De même que le joueur de Mario aura entraîné son oeil à repérer les blocs-à-frapper en une partie, le joueur de DK aura repéré les tonneaux. Tonneaux à lancer, tonneaux-power-up, tonneaux-sauvegarde, tonneaux-cannon. Un mélange de diversité et d'uniformité que je peine à reproduire dans mon petit Bilou.

I'm quite seduced by how much mechanics the Rare team managed to fit within a "barrel" look. But the Pix'n'love paper on DKC shows early design documents with even more ideas. Some of them will never show up, afaik (like the conveying barrels chain). Many of them will appear later in DKC3, and in my opinion, they weren't that great. It may sound fun to have "a monster in a barrel", but it actually convey the message "we don't know what to draw". It is true that a barrel can make a platform when thrown in the water, but when it means you're forced to take your bridge's step one by one it reduce the replay-appeal of the game, because you know the game will deny you the control of what you do and instead insist that you proceed through repetitive tasks. And no, a barrel-shaped boss is not cool, no matter how interesting to understand the underlying puzzle.

Ça fait quelques temps que je me demande pourquoi j'ai aussi peu apprécié DKC3 alors que les autres étaient aussi bien. Eh bien, c'est que l'équipe de Rare qui travaillait sur DKC était alors sur un autre projet N64. J'étais arrivé à me dire que c'était dommage qu'un tonneau soit l'ennemi le plus fréquent. J'ai eu la surprise de découvrir que cette idée-là était déjà croquée sur les documents de brainstorming du premier jeu.

Et d'autres idées annulées et non retenues de DKC1 figurent aussi parmi les autres idées curieuses de DKC3. Comme le remplacement de Rambi le rhinocéros par un éléphanteau froussard qui tire des jets d'eau.
Est-ce à dire que la jeune équippe qui reprenait le flambeau n'est pas parvenue à apporter de réelles idées propres et qu'elle s'est contenté de piocher dans les idées laissées de côté par leurs ainés? J'irais pas forcément jusque là. Mais l'équipe à la tête du game design avait visiblement une moins bonne perception de ce qui est chouette et de ce qui ne l'est pas.

The there-and-back puzzle nature of so many levels in DKC3 isn't the only thing that make it feel inferior to its predecessor. I now know that DKC3 was developed by a younger team while the dev'ers of DKC and DKC2 were busy on some N64 project. They definitely had access to early design document of DKC and decided e.g. to recycle the young-elephant-who-spit-water-at-monsters. They had gameplay ideas. They had a great engine to work with, but imho, they lacked the acute and experienced eye that can see a game idea and find the little thing that make it look gorgeous when played.


J'entends par là: les idées sont généralement bonnes et variées. Mais leur habillage dénote un manque d'inventivité. Un tonneau géant qui rote comme boss ? Son comportement n'est pas inintéressant, et pour le joueur qui n'a pas lu de soluce, le puzzle proposé (oui, le combat contre le boss est essentiellement un puzzle avec un peu de précision sur les lancers). Mais quelle gloire peut-on ressentir à avoir vaincu ça ?

En plus, parce qu'il s'autorise à construire des niveaux avec des va-et-viens, des objets à transporter pour éliminer les 4 ennemis qui bloquent le passage à partir du même générateur-de-tonneaux-spontanés, le jeu perd fort de son intérêt pour un re-jeu. J'ai refait des parties de DKC à ne plus savoir les compter. Mais DKC3 ? J'avoue ne pas en ressentir l'envie depuis que j'ai fini le jeu sur émulateur.