J'aurais bien pris un mécanisme à la Fury of the Furries (un bloc à tirer pour créer un passage), mais il ne s'agit pas d'eau ici, mais d'encre-qui-blesse. Le plus prometteur serait d'utiliser un "accident" provoqué par un pendat qui se serait mis en chasse de Bilou.
Wednesday, April 22, 2020
vannes à encre
J'aurais bien pris un mécanisme à la Fury of the Furries (un bloc à tirer pour créer un passage), mais il ne s'agit pas d'eau ici, mais d'encre-qui-blesse. Le plus prometteur serait d'utiliser un "accident" provoqué par un pendat qui se serait mis en chasse de Bilou.
Le retour de Bangbash ?
Mais au contraire des pendats, jusqu'ici j'avais pensé qu'il me faudrait obligatoirement utiliser des modèles 3D pour pouvoir les afficher. Pourtant, pour "dreamland", j'aimerais bien pouvoir en mettre quelques-un dans le "niveau de rémi". Mais est-ce que les polygones sont vraiment indispensable pour son animation ?
idée d'animation de 'recovery' après une attaque. |
l'attaque frontale (image d'archive) |
Bon, tout d'abord, c'est discutable au niveau du game design -- similaire à des faux-pics ou de la fausse-lave. Je serais tenté de dire, avec le recul, que si le "damage boost" est une technique valide en speedrun, ça ne devrait pas faire partie de l'expérience de jeu "normale" de se faire volontairement toucher par un adversaire.
Ensuite, conditionner la technique du moteur de jeu pour juste une idée de passage secret, c'est franchement douteux comme équilibre effort/retour. Surtout si on projette de faire son propre éditeur de modèles 3D en plus.
Bref, Bangbash devrait pouvoir rester un adversaire intéressant même si il ne peut faire qu'une attaque frontale (ou il frappe droit devant lui, dans le plan de l'écran). Je dois faire des essais d'animation pour trouver le rythme de mouvement qui colle. A partir de là, on verra bien si le support des rotations de sprites est utile ou pas pour l'animation.
Je dois aussi trouver une place correcte dans l'espace des comportements possibles pour BangBash. On sait qu'il peut faire trembler les crayons et certains livres au point d'en faire tomber Bilou. On sait qu'il marque un temps d'arrêt avant de frapper.
Sa vitesse de déplacement n'est pas aussi élevée que celle d'un pendat qui court et la hauteur de ses sauts n'est pas comparable avec celle d'une gomme qui saute.
Son atout (et son "originalité") tiennent dans sa résistance. Au moment du design de BangBash, il n'était pas encore question lancer de taille-crayon. C'est devenu un des mouvements-clé de la School Zone. Il serait logique qu'on puisse mettre BangBash hors-jeu d'un coup de taille, mais ce serait aussi sympa de réduire le champs des attaques possibles. Par exemple en permettant à BangBash de nous renvoyer un taille-crayon qui serait lancé de face.
Autre élément possible: ne pas permettre l'élimination complète de BangBash, uniquement la possibilité de l'assommer pour quelques temps.
Sunday, April 19, 2020
3 ... 2 ... 1 ... Smile!
Mais ce coup-ci, l'Europe a accès à la chose. Merci aux contacts des Taikenban et la communauté des cartmodders pour avoir attiré mon attention là-dessus. On en reparle, promis.
J'attends ... entre impatience et excitation. Ce sera peut-être le premier langage de programmation que je vais acheter. Incroyable, non ?
PS:
- SmileBasic 4 a quand-même quelques nouveauté syntaxiques par rapport au MS-BASIC des années '80 ('70?), comme la possibilité de récupérer plusieurs valeurs en une commande avec le mot-clé OUT.
- SmileBasic était le langage/interpéteur utilisé dans PetitComputer. Il reste des "Petit" à gauche et à droite dans certains exemples
- Il y a une sorte de 'guide de l'utilisateur' dans les programmes téléchargeables, en plus des mini-tuto intégrés à l'outil. Et une documentation en ligne (encore un peu légère par rapport au SmileBasic de la 3DS).
- Jayenkai nous a refait toute sa ludothèque pour Smile Basic! Y compris Blockman Gets ^_^
Saturday, April 18, 2020
Link's Awakening -- un nouveau regard sur Koholint.
Il a donc traversé le dédale des Armos et s'est retrouvé face à face à un boss bien trop dur pour lui. Vu l'effort accompli pour y parvenir j'ai fait une entorse à la méthode de la tortue et j'ai affronté le boss pour lui. Puis c'est *deline qui est entrée "par erreur" dans le donjon 5 alors qu'elle cherchait le collier de la sirène.
D'ordinaire, quand vous terminez le donjon 4, vous ne savez pas enchaîner directement sur le 5 parce qu'un fantôme vous hante jusqu'à ce que vous terminiez une mini-quête. Rien de ce genre ici...
J'avais recolorié la carte de Koholint pour montrer quel item permet d'aller où, pensant en réalité "quel donjon permet d'aller où". Mais avec le non-conventionalisme des loustics et mon entraînement tout frais à évoluer avec un nombre réduit de coeurs je me rends compte qu'en réalité, dès la fin du donjon 3, on est en mesure de faire des rush dans les donjons pour chiper l'item-clé, ressortir sur la carte et débloquer le donjon suivant. Et oui, j'ai poussé jusqu'à aller chercher la baguette magique dans le donjon 8 alors que je n'ai encore vaincu aucun boss au-delà du donjon 4 (ce serait le 3 si je m'y étais pris plus tôt).
J.L.N était un peu déçu de ne pas pouvoir conserver le toutou pour continuer au-delà de la prairie... l'idée d'utiliser le coq volant pendant la plus grosse partie du jeu semble lui plaire, à défaut de faire des bomb-jumps comme dans le marathon caritatif de l'automne dernier.
Sunday, April 12, 2020
Tropcial Freeze
Puis arriva "Donkey Kong Returns". Si je le trouvais très plaisant visuellement, j'ai par contre été assez déçu par son gameplay. "Agacé" serait plutôt le mot juste. Ma petite prise en main de Tropical Freeze chez mon frère m'avait plutôt plu mais n'ayant pas de WiiU, j'en étais plus ou moins resté là. Jusqu'à ce mois-ci: mon frangin m'ayant offert le jeu pour switch.
La bonne nouvelle avec la Switch, c'est que je peux plus facilement mettre le jeu en attente même au milieu d'un niveau. ça évitera déjà les problèmes de saturation liés aux trop long niveaux des platformers modernes.
Les graphismes sont évidemment plus détaillés que sur le malheureux petit écran de la 3DS qui peinait à rendre la version Wii de DKR. Il y a malgré tout de nombreux moments où j'apprécierais de pouvoir choisir un zoom plus rapproché pour mieux voir où je retombe.
La présence de Cranky-Duck-Tales et Dixie-hélicoptères sont les bienvenus pour offrir un peu plus de souplesse au gameplay, et je crois que l'inertie de DK est un peu plus légère que dans DKR (je rate nettement moins mes sauts). Mais la véritable pépite, c'est la possibilité de jouer avec Funky Kong, ce qui offre le triple de points de vies (en mode 2 joueurs), la possibilité de planer à tout moment (ce qui s'avère par contre désorientant quand on s'est mis Donkey dans les doigts), et on ne craint plus les pics (moyennement intéressant, vu l'omniprésence des trous sans fond dès le 2eme monde). Un plus tout à fait appréciable quand J.L.N veut faire une partie avec super Papa Bros.
Il y a un truc avec lequel j'ai encore du mal. Je trouve les niveaux moins mémorables que mes bon vieux DK. Je n'ai pas encore réussi à mettre le doigt sur ce qui ne colle pas (ni si c'est dans ma tête ou dans le jeu, du coup), mais quand je me refais la bande son "en aveugle", il est rare que j'arrive à revisualiser les niveaux à partir de leur musique. Leur nom n'aide généralement pas beaucoup plus. La longueur des niveaux joue sans doute là-dessus, la construction à partir de structures 3D fait aussi qu'on sait moins facilement s'abstraire du graphisme pour retenir la structure générale (escalier, mur, plate-forme isolée, etc.) de tel ou tel morceau de niveau. Les bananes mobiles nous distraient encore un peu plus (plus besoin de reconnaître les murs creux ou les cachettes de bonus dans le sol). Par contre, il y a quelques éléments uniques très sympathiques -- presque Raymanesques -- comme cet instrument à vent géant au milieu de la montagne des hiboux ;)
Mekappleman
Bref, dans tout ça, j'ai quand-même fait tourner un pseudo-dumblador sur le terrain simulé pour tester les pentes du nouveau moteur de jeu. Et je me suis retrouvé bloqué. Dans certains conditions, le code de gestion des pentes le fait entrer dans le sol plutôt que de le faire monter sur la pente. En cause, le mécanisme qui permet de 'mettre en attente' un déplacement le temps que l'animation soit prête pour un déplacement (qui peut être de plusieurs pixels d'un coup).
Là où ça se complique, c'est que le DumbBlador mélange ce genre de déplacement et des pauses. Difficile de s'assurer que les correctifs fonctionneront pour tous dans ces conditions. J'ai donc ressorti un personnage à l'animation 'plus simple', inspiré de l'Appleman.
J'ai aussi revu le mécanisme qui capture l'évolution des personnages, me basant sur l'idée que si ça ne t'aide pas à trouver les erreurs, ce n'est pas un unit test. Jusque là,
testme BasicSlopesTests
pouvait juste me dire que ça n'allait pas, et à quelles coordonnées le meka s'était arrêté. Le reste, c'était à faire dans le débuggeur.$/ffff0001
is crude, but I can tell it is sent by doSlopes, which failed with (-1, 1) motion. It could actually be post-processed by a PERL script.
GameObjectState
destiné à capturer tout ce qu'il faut savoir du meka pour les besoins des tests (à la discrétion du programme de test) et un ensemble de ces objets en guise d'historique (plutôt que 2 tableaux de coordonnées et un de vitesses). J'ai pu aussi intercepter les rapports destinés au ChiefInspector (relai vers l'InspectorWidget) et les capturer dans les GameObjectState correspondant. C'est un peu laborieux à décoder, mais ça devrait réduire tout de même le travail de mise au point. Par exemple ce '
$/ffff0001
' est émis par doslopes qui échoue un déplacement (-1, 1) et 'S/0
' que GobWalkerController reprend la main avec des vitesses nulles dans les deux directions.Tuesday, April 07, 2020
Ori et la Baignade Interdite
J'ai voulu refaire pareil pour la première séquence à m'avoir sérieusement bloqué: l'escalade de l'arbre version "baignade interdite”, surtout que j'ai maintenant beaucoup plus de points de vie et le mouvement optionnel du "dash”. Et une semaine, plus tard, je suis toujours dessus.
- il y a plus de micro-patterns ici, et il est plus difficile de reconnaître les lieux.
- ça fait nettement plus longtemps et je n'ai plus la mémoire aussi fraîche...
- à ce stade, les possibilités de se rattraper si on loupe son coup sont plus faibles:
- pas encore de triple saut
- pas d'escalade
- pas de plume de chouette
Remembering solution is only helpful if you can easily recognize the problem. Granted, my memories of the Ginso tree are older, but they weren't as good either because my memory was confused about where I had to do what.
- Au contraire de l'eau, les ennemis ne me one-shottent pas, et j'ai le double de points de vie par rapport à la première fois.
- la mécanique est bien rôdée. Le sprint aérien récemment débloqué permet de simplifier une partie du challenge
- avec plus de mana, j'ai pu refaire des sauvegardes juste avant et juste après l'obstacle. Alors que la "baignade interdite" est tout entière une zone dangereuse - sauvegardes interdites.
- Unlike water, baddies doesn't one-shot you, allowing my health upgrades to be meaningful.
- The are is open space, meaning that the DASH (and especially the AIR-DASH) moves can significantly shorten the challenge.
- I've got more mana, meaning I'm free to make save spots just before and just after the challenge, while the whole Ginso Tree escape is a "dangerous area - can't save here".
Puis j'ai refait l'évasion des ruines éplorées -- elle aussi en sauvegardes interdites -- qui ne m'a demandé que 3 ou 4 essais. Les one-shots y sont fréquents mais les stratégies plus simples à formuler -- et donc, à retenir, en ce qui me concerne. Les emplacements sont plus mémorables (le tournant après la porte), ce qui évite de devoir ré-apprendre toute la séquence d'une fois à l'autre.
ça va péter! |
Je me suis rendu compte aussi, dans les ruines, que j'avais appris à reconnaître les signes avant-coureurs de certains évènements. Notamment cet éclairage particulier qui annonce un "laser de froid" mortel. Oh, pas que l'annonce demande de l'astuce pour être reconnue. Mais la taille et la durée de la hitbox correspondante -- ainsi que le délai entre annonce et hitbox -- ne sont pas aussi claires que si on était en mode 8-bit.
Du coup, je me suis refait quelques vidéos de la baignade interdite en cherchant qu'est-ce que je devrais apprendre pour passer facilement. La clé, c'est de réaliser que de nombreux monstres réagissent en fonction de notre position. Contrôler sa position précisément, c'est forcer le jeu à refaire les même patterns plutôt que d'avoir un comportement imprévisible. On peut alors maîtriser les délais et les emplacements que l'on sait atteindre par un 'bash' et passer avec beaucoup moins d'embrouilles.
Sunday, April 05, 2020
Ori et les tutoriels
Un peu plus tard dans le jeu (les bois brumeux), je tombe sur une séquence d'escalade où il va falloir cette fois maîtriser BASH exclusivement dans l'air. Le coup de la longue traversée en propulsant les projectiles des adversaires, c'est déjà chaud. Mais ici, il va falloir le faire tout en planant d'un projectile à l'aurtre pour laisser le temps à leurs lanceurs de se manifester et de préparer leur nouveau tir.
Cette fois c'est dit: j'y vois un défaut dans la conception de la courbe d'apprentissage du jeu. Les phases d'apprentissages libre étaient à coup sûr insuffisantes!
Avant BASH, il y avait déjà eu d'autres mécaniques à apprendre (logique: on est dans un métroïdvania): le wall-jump et le double-jump. Elles sont présentées (coup classique) dans un cul-de-sac dont on ne sait ressortir qu'en ser servant de la nouvelle mécanique. Si c'est un poil trop classique, ça signifie que pendant qu'on s'adapte à la nouvelle mécanique, on est en terrain connu et stable. Les mécaniques sont classiques elles aussi, et viennent assez naturellement, puisqu'il suffit de presser davantage sur le bouton de saut.
Pour arriver jusqu'au BASH, il aura fallu traverser tout une première partie de l'arbre Ginso .. une série d'épreuves qui demandent essentiellement la maîtrise de la dernière compétence acquise: le double-saut. (inattendu pour moi qui suis habitué aux donjons Zelda où la première phase est assez neutre en termes de mécaniques à maîtriser)
Une fois BASH acquis, il y a bien une série d'écrans-tutos avec aussi des boîtes de texte du style "presse X pour attrapper un ennemi et te projeter". Ah. Autant pour mon impression d'avoir été jeté dans la mélée sans préparation.
L'écran suivant va un cran plus loin, avec le mécanisme de projection des boulettes. Ici on peut non seulement se propulser mais aussi "tirer" dans la direction opposée. A défaut d'être en terrain connu, chacune des "salles" est assez petite pour qu'on ait la situation claire sous les yeux. On devrait donc être en mesure de voir ce qu'il y a à faire et se concentrer sur les manipulations nécessaires pour y parvenir.
Puis les choses deviennent plus sérieuses: tentacules tireuses (qui réagissent à notre présence, contrairement aux tireurs de boulettes périodiques), disparition du sol stable, téléporteurs à anticiper, ... Il faudra gérer la portée du BASH en l'air (apprendre une distance implicite), combiner le bash avec le double saut. Et la présence de tous ces pics nous décourage de créer un nouveau point de sauvegarde intermédiaire.
Il ne restera plus que la confrontation avec un ennemi qui fait demi-boss où l'on apprend qu'on peut renvoyer les tirs de n'importe quel adversaire.
Je dois bien revenir sur ma première impression après avoir refait cette section-là: il y avait bel et bien une phase tutorielle (même si essentiellement maquillée au notuto) et on y apprend bel et bien tout ce qu'il faut savoir avant d'attaquer la grande montée d'eau dans l'arbre Ginso.
Et si je compare avec la vitesse à laquelle on est supposé avoir maîtrisé le "charged wall jump" (qui arrive sur la fin du jeu) l'entraînement et l'exploitation étaient assez clairement découpés.
Ici (mont Horu?) on doit dès la deuxième utilisation utiliser des suites d'actions relativement longues et complexes. (wall jump suivi d'un double jump et on s'accroche pour escalader la paroi). Mais il est vrai que comparer à BASH, le nombre de paramètres à apprendre est réduit: pas de timing, pas de distance de capture de l'action, pas de précision à acquérir. Juste la portée résultante.
Wednesday, April 01, 2020
The Dreamland Map
Maybe there are things I should blog for remembering. Clearly there are things I should doxygen...
There are things I still need to blog in there. Notes I've taken about SNES hardware, for instance, and similar hardware features from the NDS which I haven't used yet.
And then, there are game analysis things, which are totally unrelated to tools & engine development, but which I'd like to bring into the 'design class'. Those, hopefully, will not be missing if I don't have them around in the new book.
You see, having the dsgametools code around in a e-boox is nice, but I need some additional place to "think out loud", and with my eyes not liking using screen more than 10 hours/day, it cannot only be this blog anymore. That's what the notebooks are for ;)