Saturday, February 26, 2022

Power of Illusion

 Bon, il y aura bientôt 10 ans, maintenant, que j'ai joué à Power of Illusion (le jeu Epic Mickey) sur 3DS et il est sans doute grand temps que j'en parle ici. Ça peut même paraître étonnant que je ne l'aie pas encore fait: c'est un platformer, sur console portable Nintendo et avec une généreuse dose de bon pixel art (pour les sprites. Pour le décor, on est plutôt dans du digital painting, je dirais). On devrait avoir tout ce qu'il faut pour être heureux, non ?

I first played "Power of Illusion" (starring Epic Mickey) on 3DS about 10 years ago. I wanted to make a post about it but it never turned real. It may sound surprising: it's a platformer, it runs on a nintendo handheld, it's colorful with a good deal of well-done pixel art. Why not playing it ?

I definitely was enthusiastic in the first few levels, but then went through neverland woods with an increasingly annoying taste in my mouth, and finally dropped the game somewhere around Agrabbah, where things started to be too demanding for the amount of entertaining the game offered.

Bin ... pas franchement. J'avais commencé enthousiaste, traversé la forêt de Peter Pan avec un goût de chou de Bruxelles en bouche et fini par lâcher l'aventure dans Agrabah où ça devenait trop exigeant pour servir de divertissement. C'est avec la musique que ça commence à sentir le manque de rythme. Mickey n'a pas vraiment percuter que dans 'secourir', il y a 'courir'. Le seul moyen de lui donner un coup de boost, c'est de s'appliquer lors des innombrables séances de précision au pinceau sur l'écran tactile, mais soyons clairs: ça casse tellement le gameplay comme évènements qu'on ne va certainement pas décider de redessiner quelque-chose juste pour courir plus vite, hein.

A l'époque, *deline avait 3 ans ou quelque-chose comme ça, elle était en plein dans sa phase "je suis une princesse, je chante pied-nu en haut des tours des chateaux de plaine de jeux et quand je serai grande, j'aurai des longs cheveux", et tout. Mais il faut bien reconnaître que suivre l'aventure avec elle, c'était nettement moins idyllique que dans le blog de papacube. Trop nerveuse pour parvenir à dessiner elle-même les passerelles ou même effacer les canons, je me retrouvais régulièrement à court de peinture. Ne parlons même pas de lui faire prendre le contrôle de la souris. Avec 2 boutons d'attaque (dont une dont on peut épuiser les munitions), un saut où il faut appuyer une 2eme fois sur le bouton pour faire des dégats aux ennemis en retombant, ce n'est clairement pas un jeu à essayer avant d'avoir un niveau correct à Kirby. Bref, il doit y avoir une tranche d'âge où la gravitation lunaire et les ennemis retors correspondent juste à ce que les joueurs aiment, mais je ne suis pas encore tombé dessus. J.L.N, peut-être ?

Mais si j'en reparle, c'est surtout à cause de son mode 'forteresse'. Non, ne vous attendez pas à un catch-the-flag, je veux simplement parler de cet espèce de hub où on téléporte tous les personnages Disney rencontrés sur le chemin. C'est à travers eux qu'on va pouvoir améliorer ses statistiques, sa barre de vie, son réservoir de peinture et sans doute plein d'autres choses. Pour ça, il faudra discuter avec eux, utiliser des étoiles pour débloquer des quêtes annexes, accepter les quêtes ce qui fera apparaître des personnages à retrouver dans les niveaux (je pense).

C'était d'ailleurs le truc qui m'avait un peu saoûlé à l'époque: outre le côté "rigide" de la navigation dans la forteresse, on pouvait très bien faire un niveau une première fois, trouver des zones cachées vides puis discuter avec un PNJ qui nous demande de retrouver un de ses compagnons (Lumière ? Michel Darling ?) et tout d'un coup, hop. il y a quelqu'un dans le recoin que vous aviez trouvé la fois dernière. Débrouillez-vous pour parvenir à vous y rendre à nouveau. Je viens de refaire une partie et jusqu'ici (combat contre Crochet), rien de ce genre ne s'est reproduit (ouf), mais probablement que ça me tombera dessus prochainement. J'espère que ça peut juste être évité en parlant le plus tôt possible avec le PNJs.

Bref, moi qui avait imaginé en 2002 que Bilou serait génial parce qu'on pourrait discuter avec Flower Power pour lui emprunter la cassette qui ferait danser les Funghis, il faut bien admettre que c'est ce jeu qui m'a convaincu que ce ne serait pas forcément l'idée du sièce. Et l'idée d'avoir dans le monde 3 un PNJ qui te lance un défi sur un des niveaux du monde 1, ça ne marche pas terriblement bien non plus, en fait.

Si vraiment je veux introduire quelque-chose de ce genre pour la Grande Aventure, il faudra que

  1. ça ait un dynamisme plus proche de Day of the Tentacle, avec plusieurs personnages dans une même salle et la possibilité de discuter avec l'un puis l'autre avec un minimum de délai.
  2. ça tienne compte de ce que le joueur a déjà accompli
  3. ça reste un 'à côté' pour la quête principale, sans en casser le rythme
  4. accepter une quête liée à un niveau puisse nous téléporter directement dans ce niveau.

 


Thursday, February 24, 2022

Devant ou au-dessus ?

 Pas mon masque, hein. La carapace de scorpion quand Bilou la transporte. Celle qui doit me permettre de faire quelques petits moments-koopa dans la pyramide. La logique voudrait qu'on la transporte au-dessus de la tête de Bilou, comme les Dumbladors et les éponges dans School Rush.

Mais voilà, je me souviens bien qu'un des trucs que je trouvais dommage dans Super Princess Peach, c'est la manière dont elle ramassait les carapaces pour les tenir par-dessus sa tête avec son ombrelle, la laissant du coup vulnérable à une attaque frontale du plus élémentaire goomba. Je préfère de loin la technique de Mario qui peut se protéger (voire foncer dans un ennemi sans hésitation) dès qu'il a ramassé une carapace.

Should Bilou carry throwable scorpion shells in front of him, like Mario and Diddy or should he carry them over is head like Donkey and Princess Peach ? Both Twitter and my bro agree: over-the-head is better. It sure looks better: the shell is too large to be handled any other way. Plus, other carry-me items in the game already gets carried I can't forget however that I preferred the experience of in-front in all the games I played so far. It shields you against incoming foes, let you find hidden areas without taking any risks and avoids functional blind spots when you're throwing them.

Idem dans la série DKC: une des choses qui fait que j'ai toujours préféré jouer Diddy plutôt que Donkey, c'est que Donkey porte ses tonneaux au-dessus de lui. ça les rend à la fois moins utile comme bouclier et comme détecteur de passages secret: Diddy peut se contenter de s'approcher du mur alors qu'avec DK, il faudra s'approcher pas trop et lancer le tonneau (ou alors, on se baisse et on dépose le tonneau, quitte à le reprendre si on a fait chou blanc)


Du coup, j'ai fait un p'tit poll sur twitter pour voir un peu vos avis ... Majoritairement en faveur du 'par dessus la tête', visiblement. ça paraît raisonnable. J'imagine qu'on devrait pouvoir garder un côté "bouclier" en s'abaissant pendant qu'on porte la carapace, façon Blues Brothers / Tic & Tac. Il faudra par contre que je sois attentif à ne pas laisser trop de "zone morte" au moment du lancer pour éviter le défaut de DK, en particulier si je veux être efficace contre des ennemis à peine plus hauts que Bilou.

I think I can fix the shielding issue with some duck-while-holding that would reduce Bilou's hitbox and increases the odds that the shell takes the hit instead.

I'll need to take care of the functional blind spot. The shell should leave at a speed high enough that it feels 'fast' to the player (might be the other issue with Super Princess Peach's throw move). I sure can't afford the blind spot to be as large as in DKC (anything between Kong and banana on the picture above is out of the barrel's reach)

edit: Maybe my memories of Super Princess Peach are skewed. Re-playing it a few minutes didn't give me that feeling that koopa shells were broken, and one reason for that is that Peach also gives a (short-range) umbrella attack while throwing. 

Possibly the real issue is with button mapping: you use PICK UP to take the shell, but if you use the same button again, you'll drop an harmless shell rather than throwing it as a long-range attack. And if you press the ATTACK button instead of PICK UP when you don't have the shell with you, you risk of destroying the shell instead of getting a weapon. None of this should occur with Bilou, hopefully. And when you see that the shell in Princess Peach has lowered by more than 1 block within the first 4 frames of animation. Low enough to hit any possible monster with almost no build-up time.

Saturday, February 19, 2022

Big Caterpillar

There has to be boss fights in Bilou Dreamland. I cannot work around that: my son won't let me do with a puzzle part where you're trying to avoid sting-like and claw-like hazard and pretend that 'yeah, the boss was behind the wall. You made it!".

The first encounter in-game will have to be against Big Caterpillar, holder of the Growth Stone, one of the eldest design for the game. Its design hasn't evolved that much over the years: it still should have some reds and greens. It still should look angry and crawl towards Bilou to squash him. But I'm wondering how it should best attack and what should be its weakest points. I might want to make its overall shape look more like the "chenillard" monster that my brother used here and there in his original levels.

Bon, pour ce prochain jeu, pas d'échappatoire: il faudra des Boss. Pour le premier qu'on rencontrera, au moins, j'ai de la matière. Depuis le tout début du personnage, il y a des croquis de chenilles géantes. Il a même eu droit à sa bande son! C'est dire ! ... Et il faudra qu'on les combatte. Je ne m'en sortirai pas avec une course-poursuite ou une salle-super-puzzle pleine de pinces qui sortent des murs. J.L.N voudra un affrontement en bonne et dûe forme! Alors autant ne pas attendre la dernière minute pour s'y mettre.

In the comic much like in the BASIC game, you knock the boss down by stomping its head. Various attacks would protect the head with the rest of the body, forcing you to wait for an opening, and when you eventually land your stomp, the boss turns red for some time and can't be attacked again before it cools down.

But as you noted, Big Caterpillar has sorts of bull horns. If form fits function, that means you should rather try to avoid jumping on its head. I need to find something else. Hours spent fighting against Moldorm in '90s Legend of Zelda titles immediately suggest aiming for the tail, which would be fine if the only way you have to attack is jumping. But Bilou can also throw things, and aiming for a grounded target will likely not be a very interesting task. I'd like to have something more subtle.

Par contre, ça ne donne pas forcément une réponse aux deux questions critiques: comment attaque-t-il et comment fait-on baisser sa barre de vie ? Dans la BD (ou le combat dure royalement deux pages) et dans le jeu BASIC, le point-faible de Big Caterpillar, c'est sa tête. Sauf que depuis la BD, il a chopé des espèce de cornes de taureau, et donc c'est le signe pour les joueurs de ne pas se risquer à lui tomber dessus.

Quand j'ai voulu proposer un nouveau design pour le "chenillard" (une monstre figurant dans les premiers niveaux dessinés par mon frère, sans nul doute inspiré du monstre-chenille de la Marble Zone), j'ai suivi mon instinct de chevalier d'Hyrule et j'ai mis son point faible sur la queue: taper sur sa tête ne sert à rien d'autre qu'à l'énerver. Ça ne marchait pas trop mal tant qu'on limite les attaques au saut, mais après School Rush, Bilou a acquis assez définitivement la possibilité de lancer des ennemis à la figure d'autres ennemis. On ne va pas revenir là-dessus. Comme je prévois de permettre à Big Caterpillar de se dresser façon Pokey avant d'attaquer, ça rend son point faible très vulnérable à un lancer de pomme pépère depuis le sol. Je dois cogiter un peu tout ça, donc.

When it comes to the 'look', Big Caterpillar depicted in the comic isn't very refined. Rough clay balls of alternate shade and only then a horned head. But that was years before 'bubble bats' turned into 'berry bats' ... And a stunning piece of art by Franek last year made me realize that my boss could look gorgeous if I tried to make it made of berries too.

I'll have to try tonight and see whether I can come with something along these lines...

Reste le look. Celui de la BD était très générique. Celui du jeu BASIC tout autant. On aurait pu affronter une chenille faite de boules de plasticine verte que ça n'aurait pas fait une grosse différence. Mais ça, c'était avant l'introduction des berrybats (ou, comme J.L.N aime à les appeler, les chauves-souris-baies :D). Pourquoi du coup ne pas essaier de faire comme si notre boss-chenille était lui aussi fait de fruits vivants ?

Friday, February 11, 2022

La démo de Février

ça n'aura pas été une semaine facile, loin de là. Heureusement, il n'y avait pas trop de travail à fournir avant d'avoir une meilleure gestion de la physique dans l'eau. je peux donc vous proposer comme prévu une nouvelle démo avant d'aller chercher la remplaçante de ma voiture déclassée ...

To be honest, I had little hope I could actually provide you a new version of the 3-rooms demo with fixed swim mechanics, given how much thing I had to fix over the evenings last week. Hopefully, there was only minor changes to implement and thus, the new demo is there anyway. Enjoy.


Sunday, February 06, 2022

tuning de branche ...

Ben ça aura été une semaine de gros débugging pour ... pas grand-chose au final. Enfin, la bonne nouvelle c'est que la branche rebondissante a bien évolué. On avait quelque-chose de peu logique le mois dernier, là, j'ai repris le contrôle.

Le premier truc, c'était de re-définir le timing des interactions entre la branche et Bilou: quand on tombe dessus, la branche s'abaisse d'abord, puis nous envoie vers le haut. Evidemment, c'est seulement pendant la phase "remontante" de l'animation de la branche qu'on a envie qu'elle puisse propulser Bilou.

Il y a déjà (et depuis longtemps) ce qu'il faut pour ça dans AnimEDS, mais j'avoue qu'au moment de créer l'animation, j'avais un peu oublié comment ça marchait. En fait, au moment où on active le mode 'box', la ligne du temps en bas l'écran permet d'indiquer dans quelles frames la boîte est active.

A week spent in debugging because I had forgotten how my tools define over what part of the animation a collision box is active. I had also forgotten that the same keyword 'area' describes the sensitive-and-passive role of a collision for 'sprites' and the offensive-and-active role for special blocks.

Well, at least, it's almost clean now. I should be able to build a new demo version next week-end. But first, I will have to make a check list of the things that are still a bit weird in the current state.

Mais quand j'ai voulu faire les essais avec cette nouvelle animation, plus rien ne marchait. Enfin, la branche détectait l'arrivée de Bilou, provoquait un rebond et activait son animation, mais impossible de se faire projeter en l'air.

Tout ça parce que j'ai mélangé deux mots-clés dans la définition des blocs interactifs (dont la gomme-qui-rebondit qui a servi de modèle à la branche): dans les définitions de machines d'état, area introduit une zone sensible (et passive) pour les collisions alors que test introduit une zone offensive (et active). Pour les blocs spéciaux, il y a un seul mot-clé -- area -- mais il définit une zone offensive. Je l'avais oublié. Du coup, j'ai passé les soirées en mode 'guru meditation' ... pour rien.

Je ferais bien une nouvelle démo pour fêter ça, mais il y a deux ou trois trucs louches aux entournures ... je vais repasser par la case "faire une todo list", donc.

I did some playtesting with J.L.N and *deline ... They mostly wouldn't fall off the branch (I made sure that one wouldn't happen too often), but it wasn't obvious to them how to make big jumps. The thing is you don't need to press JUMP when stomping the branch, but *when it throws you back*. Maybe I should trigger a 'super-throw-back' if player hit JUMP when stomping ? so you don't have to bother too much about bumper timings in level 1 ?