Saturday, September 28, 2019

owlboy: monkey feedbacks

J'étais arrive au continent volant, convaincu qu'avoir pris conscience que je jouais à un shoot-em-up allait enfin rendre le jeu plus facile à aborder. Malheureusement, ça n'a pas suffi. Je me débats avec le tir explosif du personnage secondaire, je peine contre des mouches carnivores invisibles pendant des heures pour finalement découvrir dans un let's play (après avoir laborieusement passé la zone) qu'en réalité elles sont juste déclenchées par un timer quand on reste trop dans le noir, et qu'il faut trouver d'autres torches pour les tenir à l'écart, et non essayer de les vaincre.

Je ne peux pas m'empêcher de penser que quelque-chose lié au temps devrait clairement indiqué comme tel au joueur. Ok, l'idée des mouches carnivores est merveilleusement intégré à l'histoire, mais rien ne les lie au temps, au fait d'être dans l'ombre, ni même ne nous renseigne sur ce qu'elles sont réellement.

d'autant que juste après ce dialogue sur la peur des mouches, on tombe sur un buisson avec des insectes qui tournent autour et qui se mettent à nous tourner autour. On ne sait pas les toucher, mais si on brûle certaines lianes (le personnage au "briquet" vient de nous dire qu'il ferait de son mieux pour les tenir à l'écart, c'était assez gros comme tutoriel déguisé), elles quittent les lianes pour se réfugier dans le buisson voisin.

Mais non. Ce n'était pas ça.

Le mouches en question sont noires, et invisibles dans le noir. Et je ne suis pas le seul à m'être tout d'un coup dit "eh ? que se passe-t'il ? pourquoi je perds ma vie, tout à coup ?". On aurait pu être dans une impasse, et être forcé d'apprendre. Les mouches auraient pu être visibles si on est mis game-over. Mais en réalité, si on va suffisamment vite, et qu'on va de l'avant, on reste assez proche des lucioles innoffensive jusqu'à ce qu'on atteigne un 'fruit-lumière'. On a donc pu passer et les mouches vont passer au second plan. Le problème se reproduira plus tard dans le niveau, quand les fruits-lumière se feront plus rares. C'est là que j'ai dû faire appel à un wiki pour comprendre de quoi il retournait, à quoi ressemblaient ces "mouches", etc. personnellement.

Je suis tenté de raccrocher ça au fait qu'on est en face d'un jeu indé, avec une équipe trop restreinte pour qu'à un moment quelqu'un de suffisamment influent et avec assez de recul sur le développement ait dit "non, ça ne va pas. Les joueurs ne comprendront pas". Peut-être bien l'origine de ce que Kirby Kid appelait "that indie feel" ...

Tout ça me donne l'impression que la communication des objectifs et des avertissements n'est pas aussi claire qu'elle le pourrait. Et le deuxième boss dans la lave a tendance à me renforcer dans cette idée. Ici, on se fait régulièrement attraper par un des singes et plonger dans la lave, ce qui met fin au combat. 30 à 40 minutes de jeu plus tard, ça n'avait toujours pas changé. Je ne m'attend plus à passer un boss du premier coup dans le jeu: je sais qu'il faudra que je sacrifie d'abord quelques vies pour comprendre ce qu'on me veut.

Ici, il aura fallu une vidéo youtube pour que je réalise qu'il était possible de se libérer de ce genre de prise. Et non, je n'aurais jamais pensé utiliser le bouton "Saut" pour ça! Ni qu'un tel mécanisme puisse être introduit si tard dans le jeu sans un indice sur l'action attendue. D'autres évènements en cours de combat (comme le fait d'être enflammer) sont annotés avec l'action à faire pour se "soigner". Pourquoi pas ici ?

Iconoclasts perdait peut-être parfois un peu en immersion avec ses icônes, mais au moins les intentions des développeurs étaient claires. Ici, on dirait qu'il manque le message "RELOAD" d'un rail shooter.

Et ce genre de problème de communication va se généraliser jusqu'à ce que l'on trouve le troisième personnage et que le jeu s'écarte un peu du fait de tirer sur des cibles. Mais Alphonse et son arme dont on ne voit ni la portée ni la direction de tir va nous faire passer un désagréable milieu de partie...

https://www.spriters-resource.com/fullview/78065/ {alphonse}
https://www.spriters-resource.com/pc_computer/owlboy/sheet/84737/ {monkey}

Thursday, September 26, 2019

Charly et le Poisson-Rêve des playmobils

Link's Awakening, c'est peut-être bien mon jeu préféré. C'est en tous cas mon "Zelda" préféré depuis 25 ans et j'y ai rejoué à de nombreuses occasions. Donc oui, évidemment que je me suis chopé une cartouche du jeu dès que possible. Bien entendu, que j'avais l'oeil sur sa date de sortie dès qu'elle a été annoncée. Naturellement, je bidouille nettement moins mes p'tits éditeurs DS le soir.

Ce mois-ci je joue à Link's Awakening dans son incarnation switch... "au pays des Playmobils", comme je dis avec J.L.N et *deline. En mode héroïque (pas de p'tits coeurs à part au village, pas d' petites fées à part dans les fontaines), vu que j'en étais arrivé sur GB à essayer de finir le jeu sans épée L2 et sans boomerang. Mais un Zelda, c'est quand-même plus intéressant quand on doit chercher plus que quand on doit chercher moins.

Et je me suis même fait un 'fork' de la partie où je ne m'autorise les sauvegardes que si j'ai réussi à débloquer un objectif sans perdre de vie.

I'm not 100% sure this is my favourite game ever, but it is clearly my favourite RPG ever. Next month will be #linktober for me. And I'm collecting some screenshots to improve my pyramid level if I can.

I realize with this re-play (and watching kids playing the game) that one of the key strengths of Link's Awakening is how the initial village -- your exploration headquarters for almost the first half of the game -- is a cozy place. There is no time pressure, you can recover health, items, and even money as long as you want. There are people to talk to, ways to help them even without having to leave the village. There are minigames that can dry your money as long as you have some, meaning you can put yourself in an endless loop of lawn-mown-for-money-to-play-games without ever facing any danger.

There is no such "safe spot" in Link to the Past (the screen where your home stands is crippled with shadow soldiers), Occarina of Time (you're almost told you'll never return to Kokiri Village by the time you're out for Hyrule) or Wind Waker (your island is at the edge of the map, and you don't really need to return there unless you need grandma soup). The closest would be Phantom Hourglass, but there the village is also the front door of the Temple of the Ocean King, which isn't quite cozy to think of.

Adventures in LVM

I had issues resizing the / partition of my system some time before creating the last VM I was using at work, so apparently I though "oh yeah, I'll enable Linear Volume Management (or whatever LVM stands for) this time".

Everything worked fine as long as I was running on that VM. And I don't remember having to grow the partition (I'm unsure the disk backing it would have allowed it to grow a lot, anyway).

But then I had to make the same virtual disk working on a new root filesystem, likely because the new VM has UEFI boot enabled by default and the previous disk image was for MBR-boot only... https://www.svennd.be/mount-unknown-filesystem-type-lvm2_member/ helped a lot to recover stuff.

Do you think that would make it.

No. Of course not. I managed to screw my enlightenment window manager configuration, and end up with nothing but black-on-black windows (with nice blue shadows when I switch focus, though). Since all the enlightenment configuration files are "encrypted" now, I unfortunately can't vim me out of this mess, so I thought "never mind: I'll mount a second instance of that hard disk and recover files from there ... haha. Nice try.

Of course, the two disks have the same LVM identifier, so none of lvscan and friends allow to use both at the same time >_<

some shutdowns later, I copied back my configuration and have a working window manager again. pfew.

Next time, I'll remember to archive contents of ~/.e/ before feeling adventurous... enlightenment nicely makes up to 10 backups of your files, but when one more is lost about everytime you start a new session, apparently. And one quickly makes lots of sessions while trying to fix such issues :-/

Monday, September 23, 2019

owlboy: drôles de contrôles.

Les graphismes d'Owlboy sont superbes, les musiques plantent une ambiance idéale et j'adore l'histoire. Pourtant, pendant tout le début de l'été, je n'ai pas ressenti cet effet d'appel à jouer que j'ai pu avoir avec hob ni meme flinthook. La progression est laborieuse, j'ai la sensation d'être brouillon et de ne pas bien comprendre ce que le jeu attend de moi.

J'ai commencé par penser qu'il s'agissait d'un problème d'interface: si seulement je pouvais
forcer le jeu à tirer quand je pousse sur Y plutôt que de réclammer un ZR, tout irait beaucoup mieux, non ? Ça me remettrait dans une configuration identique à celle d'Iconoclast et de Flinthook auxquels j'étais aussi en train de jouer. Les choses deviendraient enfin naturelles. D'autant qu'en y regardant de plus près, c'est aussi le mode de fonctionnement que j'ai utilisé sur Super Mario World et Donkey Kong Country.

Puis je me suis rendu compte que ce serait incompatible avec le système de visée du jeu et j'ai commencé à prendre conscience de tous les raccourcis prévus dans les actions du joueur. J'ai alors commencé à reconsidérer le jeu, non plus comme un jeu de plate-fomes où on sait voler, mais comme un shoot-em-up avec des phases au sol, et à laisser le jeu en mode "tir automatique" par moment pour me concentrer sur mes mouvements d'esquive.

Et des "raccourcis", il y en a des fameux. Voyez, en bleu la séquence d'actions que j'effectuais jusqu'à la fin du deuxième "donjon" pour pouvoir tirer: d'abord commencer à voler puis invoquer mon partenaire, et enfin, viser et tirer. Il y avait aussi une autre possibilité consistant à faire apparaître d'abord le partenaire, puis à le 'ramasser'.

Tout celà est rendu encore plus compliqué par le fait que certaines pressions de touches peuvent nous faire revenir en arrière, et que lorsqu'il est au sol, il faut être assez près de son partenaire pour pouvoir le ramasser. En clair, dès que le boss va venir vous mettre la pression, c'est fini. D'autant que la plupart des coups qu'on encaisse projettent notre personnage et son partenaire dans des directions différentes. Mais heureusement, si on se concentre sur le côté "shoot-em-up" du jeu, bin le réflexe quand on s'est fait toucher n'est plus de sauter mais bien de se remettre à tirer. Et là, bonne nouvelle: utiliser le bouton de tir nous "téléporte" instantanément dans l'état "en train de voler avec son partenaire accrocher qui se met à tirer dans la direction indiquée par le 2eme stick. On peut dès lors oublier toute la partie bleue dans les phases d'action et se concentrer sur l'essentiel: un stick pour bouger, un stick pour viser, une gâchette pour changer d'arme et une gâchette pour tirer.

Je pensais plus ou moins jusque là que les noms "plate-forme", "beat-em-all" et "shoot-em-up" n'avaient d'utilité que dans un catalogue ou un magasin, mais après plus de 20 ans de pratique du jeu vidéo, on dirait que ça va plus loin. Le fait de penser "c'est un shoot-em-up" semble activer un autre ensemble de réflexes, y compris un mode de vision plus global pour surveiller les trajectoires de plusieurs projectiles à la fois.

Et pourtant, pendant une bonne partie du jeu (et en particulier presque tout ce deuxième donjon), le fait de tirer est beacoup moins impliqué: on va essentiellement résoudre des énigmes en transportant et lançant des objets (ennemis-bombes, nuages ou cruches d'eau pour éteindre les monstres de feu, etc). De quoi endormir le peu de réflexes qu'on aurait pu se constituer dans les phases d'action du premier donjon.

Bref, Owlboy a fait le pari d'un jeu multi-facette, qui alterne des phases de shoot-em-up, des phases de puzzle "à la zelda" et des phases (rares) de réel platforming ("Attention: ces gnomes ont une ouïe super-fine. Ils t'entendraient battre des ailes à 100 mètres. Quoi qu'il arrive, ne t'envole surtout pas!"). Une richesse indéniable, mais pas toujours claire à appréhender pour le joueur. Et qui va vous demander -- tout comme le personnage doit le faire dans le jeu -- d'abandonner derrière vous vos a priori si vous voulez continuer à aller de l'Avent.

Saturday, September 21, 2019

owlboy

I should have made a "game to watch" post about DPad Studio's "Owlboy" game since I saw the first screenshots in my Google Reader feeds (possibly as early as 2008?), and if I had made another "show me what you (wanna) play, I'll tell you who you are" post, I would have been featured just like Iconoclast and Ori. I haven't said much about them yet mostly because I had no hope to see those games coming to either Linux or NDS. It all changed with their announcement on the Nintendo Switch.

Owlboy fait partie de ces jeux que je surveille "en secret" depuis le début de leur développement. Rétrospectivement, j'aurais aimé en avoir un post déjà écrit depuis 2008 ou 2011 qui explique ce qui m'attire dans le jeu, comme ça j'aurais pu commencer à poster des "critical owls" dès que j'ai commencé à jouer ... Mais voilà. Je devais avoir la tête ailleurs et me dire qu'il était peu probable que j'arrive à le faire tourner sur mes machine jusqu'à ce que je passe en mode #sijavaisuneswitch.

Voilà donc un jeu au pixel art de Snake Pixel époustouflant, d'un niveau capable de se mesurer à celui de Henk Nieborg dans Shantae. Et évidemment, c'est le premier point qui m'avais conquis. En plus de ça, il était présenté au départ comme un jeu de plate-forme (je reviendrai là-dessus), mon style de prédilection, garanti 100% 2D. Et si côté blog je suis resté assez discret, en revanche, j'ai commencé à ajouter des images de Snake à ma collection "pixelstudy" depuis 2015.

https://twitter.com/pypebros/status/1155462780259991552
Maybe you wonder then why I didn't start playing it straight as I got the Switch ? Well for the exact same reason I'm not playing Link's Awakening remake right now: I wanted to find a physical support for it. I don't want it to be in competition with other newer titles in a too-small, un-expandable storage.

J'ai finalement mis la main par pure chance sur une copie physique dans un magasin ayant pignon sur rue(lle) et même si j'ai eu beaucoup de mal avec son gameplay au début, j'ai continué à y jouer par-ci par-là tout l'été parce que moins éprouvant pour les pouces, et aussi parce que c'était devenu l'histoire-de-papa pour J.L.N, pendant que sa soeur lisait seule le 4eme tome de Harry Potter.

I've been using the 'shoot picture while playing" a **lot** with this game, and I barely started pixel-studying all the things I gathered. I've been into places I expected and into many more places I wasn't expecting at all.

And the story ... boys, the story is just gorgeous. It's not just a rescue-your-pals theme. From act 1, there is a strong artistic sense in how the game play make you feel how the character feels miserable and struggles to find his place in the society although he's not as actively rejected as in Secret of Mana. I love how DPAD studio speaks about the dormant sense of doom and lack of proper reaction from people in charge of our destinies, the underlying risks of pushing science to the limits. If there was a "Meaningful Theme" award for a video game, Owlboy (much like Iconoclasts) truly deserves to be nominated.


Et franchement, autant au départ c'est pour le côté léger de son graphisme que j'avais laissé voir mon fiston que je commençais à y jouer, autant je trouve le jeu riche en enseignements. Sentiment de solitude, déception d'avoir déçu, difficulté et importance de l'amitié, de la franchise. Responsabilité quand à l'emploi des avancées scientifiques. Et il ne s'agit pas ici de simples effets dans les dialogues. C'est vraiment l'intrigue principale, c'est renforcé par le gameplay.

A un moment j'ai été tenté de laisser la console de côté sur l'air de "bah, pourquoi est-ce que je me fatiguerais à essayer d'atteindre la 3eme relique avant les pirates ? de toutes façons le script va faire en sorte qu'ils arrivent les premiers quoi que je fasse: c'est perdu d'avance". Puis j'ai pris un pas de recul, et j'ai réalisé que c'était exactement le genre de réaction que le personnage était succeptible d'avoir, puisque quoi qu'il fasse, on trouve toujours qu'il a fait les choses de travers et que c'est de sa faute si tout va mal.

Friday, September 20, 2019

Sloppy Mouse vs. Windows 10

Huuuge thanks to winaero blog author! I can now have the desired mouse behaviour on my freshly-installed Windows 10!

Having the focus follow the mouse rather than having to click to focus windows is already hidden enough in Windows ('Make the mouse easier to use' in the 'old Control Panel), but not raising windows when you hover them while still giving them the focus is completely arcane wizardregistry: we'll have to locate UserPreferencesMask under  HKEY_CURRENT_USER\Control Panel\Desktop, and then clear bit 0x40 in the first bytes of that binary blob.

Miles away from the convenience and flexibility of enlightenment (see picture), but at least it exists now.

I cannot blame my colleagues for finding the resulting behaviour weird. But it's definitely more comfortable for me.

rongtudju! 'make the mouse easier' is under 'ease of use' only, and won't show up if you search 'mouse' over the whole control panel.
rongtudjuu! bit 0x40 is of course set only when you turn on ease-of-use. If you couldn't perform step 1, step 2 is pointless.
rongtudjuuu! the first part takes effect immediately. The second part will require a logoff/logon cycle at least.

 - - -

That was for the nice part. Unfortunately, despite they have had 20 years to improve their operating system, they still manage to suck. Sometimes for trivial things, sometimes for much more important things.
- How do I customize colors in Windows 10 ? You cannot. You may switch between white-on-black or black-or-white. And that's it. You're uncomfortable with large, white areas because you're an IT professional and would prefer black-on-lightgrey instead ? too bad. You could use some tints on the idle-window-bars because white title bars over white windows backgrounds just feels like hide-and-seek ? too bad.
- You would like to keep using your previous virtualization solution rather than going for an unknown Hyper-V service ? Good luck. If you remember trying to install another browser than Internet Explorer at the edge of the millenium, welcome back. In case you wonder why I'm unhappy with hyper-v,
  - it has no video card / audio card support : everything will go through the Remote Desktop Protocol
  - it sucks dealing with SHIFT+< or ALTGR+$ to produce symbols we use a lot in programming
  - it steals some key combos like CTRL+ALT+UP which I've been using for ages to control my window manager.

Even the 'windows menu' is trying to drive me mad. Hit the windows-key then type a word and you'll be allowed to search for that word in all the programs / configuration items / whatever. That part is good. Click the icon and there's a random (?) chance that typing will have no effect. I mean not at all. Even hitting the ESC key no longer closes the menu!

More substantially, that O.S. is still unable to write a new file when a process is using it, of course.

Edit: hopefully,  following https://ugetfix.com/ask/how-to-disable-hyper-v-in-windows-10/ + https://github.com/kubernetes/minikube/issues/4587 (now that my PC has a repaired .Net 3.5 framework) let me run a virtualbox VM again. Hope I'll get rid of those hyper-v horrors ASAP.

Tuesday, September 17, 2019

ImportsWindow::render()

Bion, la nouvelle garde-robe est installée ... j'ai eu un peu de temps pour regarder comment m'y prendre pour avoir les images des différents personnages du jeu sous le contrôle de la nouvelle "ImportsWindow" et en tracer les grandes lignes dans le code
[done] utiliser les ImportBlocks pour choisir quel état afficher où
[done] mettre en place une matrice de scaling pour les éléments secondaires d'une ligne 'import'
[don't] sauver les noms ? 

Je vous en raconterais bien plus, mais je suis à la recherche du truc électrique responsable des coupures de courant à répétition dans la maison ...