Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Upsilandre Retrogaming

ZELDA EN 3 ACTES

 

 

Ce billet est plus ou moins une compilation de trois de mes threads twitter sur l'épisode original The Legend of Zelda. Un jeu iconique, commercialisé en Février 1986 sur Famicom Disk, qui méritait d’avoir une place sur le blog.
Un billet qui aborde donc trois sujets assez distincts. Dans le premier, il s'agit de mettre en exergue la maîtrise du Game design par Nintendo avec un exemple concret. Ensuite j’aborde l’élément de Zelda qui me gène et qui concerne son mode de déplacement singulier. Puis je termine par un tutoriel pour vous apprendre à exécuter un glitch très utile et satisfaisant. 



 

L’art du Game design

 

J’ai voulu prendre un exemple concret dans Zelda pour illustrer la force de Nintendo à cette époque. Leur approche très professionnelle du Game design, très tôt.

D'habitude on illustre ça avec Super Mario Bros mais j'avais envie de le faire avec Zelda. Et pour exposer cet exemple je dois d'abord évoquer Faxanadu (un spin-off de Xanadu sur Famicom), un jeu d'aventure-action en side-scrolling à la manière de Zelda 2 mais composé d’une succession d’écrans fixes façon Zelda.

La progression par écran fixe successif pose différents problèmes dans les jeux.
Dans Faxanadu le problème c’est le Knockback assez violent du joueur quand il se fait toucher et qui peut nous faire sortir de l'écran ce qui réinitialise les ennemis. Ca peut être très frustrant.

 


Knockback dans Faxanadu




On peut même trouver des situations vraiment absurdes comme celle-ci. Dès que l'on entre dans l'écran on a même pas le temps de faire quoique ce soit qu'on en est expulsé aussitôt dans une sorte de boucle infini.
Une combinaison de Game design et de Level design qui prend ici une forme assez maladroite.

 


Boucle infernale dans Faxanadu




Zelda, sortie presque 2 ans avant, utilise aussi une progression par écran fixe. On pourrait considérer qu'il est moins concerné par ce type de problème grâce à sa représentation Top/Down qui donne plus de mobilité pour contourner et esquiver les ennemis. Une vraie mobilité 2D. Là où, en quelque sorte, la mobilité de Faxanadu est plutôt "1.5D" car un side-scroller laisse peu de mobilité verticale (rôle attribué au jump).

Et pourtant, même en étant moins concerné, et en étant sensiblement plus vieux, Zelda va mettre en place pas moins de 3 mécanismes cumulés pour éviter ce type de problème.

Le premier mécanisme consiste en une "Safe Zone". Une bande de 16 pixels qui fait le tour de la zone de jeu et dans laquelle aucun ennemi ni projectile ne peut pénétrer.
Donc quand on entre dans un écran, on le fait d'abord par cette Safe Zone sans risque de prendre des dégâts.

 


La Safe Zone de Zelda



 

C'est pas simple à mettre en place comme solution. Il faut penser à toutes sortes de cas particuliers, et il y a d'ailleurs quelques trous dans la passoire.
Notamment le Zora qu'on voit ici apparaître de façon aléatoire dans le lac. Ils ont bien pensé à l'empêcher d'apparaître dans la Safe Zone sauf dans la bande inférieure. Sans doute une petite erreur dans le code (carry?). Et quand il apparaît ici alors il peut shooter le joueur même s'il se trouve dans cette Safe Zone inférieure.
Donc faites attention chaque fois que vous entrez par la partie inférieure d'un écran qui contient de l'eau.

Mais ça reste un détail. L'idée est quand même bien exécutée. Il a d’ailleurs fallu penser aussi à empêcher le joueur de profiter de cette situation. Pour cette raison, on ne peut pas attaquer les ennemis à partir de la Safe Zone. Le jeu bloque nos attaques orientées vers eux.

 


Attaque bloqué



 

Donc on voit bien quand même que c'est mûrement réfléchi. Mais comme je disais, il y a encore 2 autres mécanismes qui s'ajoutent à celui-ci.
Le deuxième c'est le blocage du Knockback. Zelda a un gros Knockback mais le jeu bloque ce mouvement au limite de la zone de jeu, à la frontière de la Safe Zone.

 


Knockback bloqué



 

Ainsi impossible d'être rejeté dans un autre écran par un simple Knockback comme dans Faxanadu. Sur ce point aussi on est donc tranquille.

Et dans le cas où le joueur aurait quand même la maladresse de changer d'écran par inadvertance, il y a un troisième mécanisme!
Celui-ci consiste à mémoriser les ennemis déjà éliminés. En effet, si après un rude combat vous changez d'écran par mégarde alors pas d'inquiétude. Les ennemis tués ne respawn pas. Ca évite encore une fois les frustrations.

 


Pas de respawn des ennemis



 

Ca va même plus loin que ce que les gens imaginent car on peut vraiment tuer un ennemi à une extrémité de la map de l'overworld puis traverser toutes la map, ratisser tous les donjons, et revenir sur cette écran 10 heures plus tard, il manquera toujours un ennemi.

Ce que je viens de décrire est bien réel, vous pouvez l'expérimenter, mais il y a aussi un mécanisme de respawn comme vous le devinez sans doute sinon on finirait par nettoyer toute la map.

Pour faire respawn les ennemis d'un écran il faut tous les éliminer. Tant que vous en laissez ne serait-ce qu’un alors le respawn est bloqué.
Mais même tous éliminés, un autre mécanisme va encore une fois empêcher le respawn immédiat. En effet, le jeu mémorise quels sont les 6 derniers écrans que vous avez traversé. Tant que l'écran nettoyé en fait partie il n'aura pas le droit au respawn.
Donc pour avoir un respawn des ennemis il faut non seulement nettoyer tout l'écran mais ensuite s'en éloigner suffisamment pour traverser plusieurs écrans qui ne font pas partie des 6 derniers et ainsi pouvoir écraser cette mémoire temporaire anti-respawn.

Ces mécanismes complexes n’ont pas pour seul utilité d’empêcher le respawn intempestif d'ennemis dans des situations où ce n'est pas souhaitable pour le joueur. C'est aussi un moyen de gérer avec finesse le farming qui est indispensable pour ne pas bloquer le joueur.
Ça permet le farming en renouvelant les ennemis selon certaines conditions strictes tout en évitant les abus. C'est à dire empêcher le joueur de squatter un écran en faisant respawn les ennemis à l'infini avec de simple va-et-vient. Le joueur est obligé de voyager pour farmer.

Mais si on s’amuse à laisser un seul ennemi vivant dans chaque écran (pour bloquer le respawn) alors on peut ensuite se déplacer tranquillement dans un Overworld presque désert jusqu'à la fin du jeu ^^ (mais on risque de manquer de ressource).

A savoir que Zelda utilise seulement 128 octets de RAM pour mémoriser l'état de tout l'Overworld. Nombres d'ennemis tués, passages secrets ouverts, objets récoltés.



 

Conclusion

Voilà donc un exemple de multiples solutions cumulées pour résoudre une problématique et assurer la meilleure expérience possible pour le joueur. Ça symbolise bien cette professionnalisation du Game design à cette époque. Se soucier vraiment de l'expérience du joueur et pas juste du concept et des idées. Quelque chose qui est apparu assez vite du côté du Japon et en particulier chez Nintendo.

Il est bon de rappeler  que Nintendo faisait du Game design avant même de faire du jeu vidéo. Ils concevaient des jeux et des jouets (même les Game & Watch sont en partie du Game design). On peut dire que le Game Design fait partie de leurs gènes.
Et même lorsqu'ils ont basculé complètement dans le jeu vidéo avec l'Arcade et la Famicom, dans un premier temps, il sous-traitait toute la partie technique, si bien que leur champ d'action, et donc toute leur attention, était porté justement sur le Game design qui était un peu le seule levier sur lequel ils avaient réellement le contrôle.

 

 

 

 

 

 

 

 

 

Mouvement brownien

 

Après avoir flatté Zelda, je vais maintenant évoquer l'élément du jeu qui me pose problème en terme de game feel. Ca concerne les déplacements singuliers de Link dans cette épisode et qu'on ne retrouve pas vraiment ailleurs.

Evidemment il faut remettre dans le contexte. C'est un très vieux jeu développé en 1985. Il fait partie des tout premiers de son genre, sans véritable référent sur lequel s'appuyer, donc il faut tout inventer et forcément il y a des choix qui après coup peuvent paraître curieux mais qui pouvaient avoir du sens dans la logique du moment.

Zelda c'est de l'aventure mais aussi beaucoup d'action et, malgré tout, les contrôles de cet épisode sont assez rigides, ce qui peut être un peu frustrant avec un regard un peu plus moderne.

Le premier élément incriminé ce sont les déplacements 4 way. C'est à dire pas de déplacement en diagonal (8 way) comme on trouve dans un Zelda 3. Ça instaure déjà une certaine rigidité.

Ensuite les déplacements de Link sont contraints sur une grille. On est pas libre de se déplacer au pixel où l'on veut sur l'image. Link circule forcément sur les lignes de cette grille. Mais ce n'est pas très rare, c'est même plutôt la norme du côté des rpg tout comme le 4 way. Mais Zelda n’est pas vraiment un rpg.

 


Link se déplace sur une grille



 

Par exemple ici, sur Final Fantasy 3 NES, on a ces déplacements 4 way sur une grille.
Dans un rpg ça permet de simplifier les interactions, autant pour le joueur (qui est donc tout le temps bien aligné avec les portes et les pnj) que pour le code plus simple (notamment les collisions). On retrouve la même chose dans les Dragon Quest ou d’autres.

 


La grille de Final Fantasy 3



 

On retrouve tout ça aussi dans Ys NES, malgré sa dimension un peu plus action que les autres rpg classiques, de part ses combats temps réel (même si ça reste des combats de stats, on a pas d'attaque à proprement parler). Mais avec un peu plus de finesse de mouvement pour prendre en considération cet élément. En effet la grille a un maillage 8x8 pixels comme Zelda (au lieu de 16x16 dans les autres rpg).

 


La grille plus fine de Ys



 

Ces exemples 4 way sur une grille correspondent en quelque sorte à une mécanique de déplacement par "case".

A l'inverse, on verra débarquer plus tard des jeux d'aventures vraiment tournés vers l'action, comme Zelda Link to the Past sur SNES, Soleil sur Megadrive ou Neutopia II sur PCE, qui adopteront des déplacements au pixel totalement libres et 8 way, qu'on retrouvera aussi dans des jeux comme Secret of Mana.

 


Liberté totale de déplacement dans Zelda 3




 

Un équivalent à Zelda 3, avec cette même liberté total de déplacement, dans un jeu d'aventure-action sur NES, ca serait Crystalis de SNK par exemple.

 


Crystalis sur NES



 

Mais voilà, Zelda c'est une autre époque, et donc il faut accepter cette rigidité qu'on retrouvera d'ailleurs dans certains de ses clones comme Golden Axe Warrior... sauf que dans Zelda il y a un troisième élément qui rend cela encore un peu plus problématique et qui est le vrai sujet de ce thread.

En effet, dans Zelda, le déplacement sur la grille ne se fait pas à la manière d'un Ys, Final Fantasy, Dragon Quest ou Golden Axe Warrior.
Dans ces derniers, on se déplace de nœud en nœud sur la grille. Dès qu'on presse une direction, le personnage se déplace automatiquement jusqu'au prochain nœud.

 


Final Fantasy 3




Mais ce n'est pas le cas dans Zelda car dans celui-ci on peut s'arrêter n'importe où entre 2 nœuds.
On pourrait alors se dire que c'est une bonne idée. Moins restrictif donc moins rigide? Mais en réalité ça implique que Link ne se déplace pas toujours dans la direction que l'on presse sur le pad.

Par exemple ici, Link est à l'arrêt entre 2 nœuds. Et malgré que je presse "bas" (la flèche bleu indique seulement la direction que je presse sur le pad), Link va, dans un premier temps, se déplacer quelques frames vers la droite pour rejoindre le prochain nœud avant de prendre la bonne direction.

 


Un Link désorienté



 

Ça ne donne pas un très bon game feel. Notamment quand on fait beaucoup de micro-déplacement lorsqu'on slalom/esquive/contourne de multiples ennemis lors des combats (par exemple les chevaliers des donjons qui sont nombreux, résistants, et qu’il faut prendre à revers). Comme si on avait pas tout à fait le contrôle du personnage et qu'il n'en faisait qu'à sa tête d’une façon un peu chaotique (une sorte de mouvement brownien).

 


Un comportement chaotique



 

Quand on est pas au courant, et donc qu'on ne peut pas mettre de mots dessus, alors on va juste identifier ça comme une sensation particulière qu'on va intégrer dans le gameplay (en temporisant intuitivement nos inputs) mais une fois qu'on le sait, on le perçoit clairement.

 


Zoom



 

Ça n'impacte pas seulement nos déplacements car le problème se pose aussi quand il s’agit juste de s’orienter à l'arrêt pour exécuter une action.

Par exemple si Link est à l'arrêt, orienté vers la droite, et qu'on veut slasher un ennemi en dessous, normalement il suffirait de faire une brève pression vers le bas pour s'orienter dans cette direction puis slasher. Mais si on fait une pression vers le "bas" trop brève (ici 3 frames) entre 2 nœuds, alors au lieu de s'orienter vers le bas, Link va juste se déplacer vers la droite pour rejoindre le nœud et slasher dans la mauvaise direction.
C'est un peu comme si on avait un lag aléatoire sur l'orientation. Il faut donc prendre l’habitude de maintenir plus longuement la direction avant de frapper pour etre sur d’etre bien orienté.

 


Un slash vers le bas qui échoue



 

Je trouve que tout ça gâche parfois un peu le plaisir car, en parallèle, le jeu n'hésite pas à te mettre dans des situations de fight parfois très intenses en inputs et micro-déplacements avec peu d’espace (surtout dans les donjons). Ce qui ne me semble pas très adapté à ces contrôles.

Finalement, les jeux du même genre qui autorisent les arrêts uniquement sur les nœuds de la grille, comme Golden Axe Warrior, peuvent sembler plus rigides, mais évitent ces problèmes d'orientation et de contrôle chaotique. C'est plus mécanique mais peut être préférable.

 


Golden Axe Warrior sur Master System



 

Ce qu’on pourrait dire c’est que le choix de Zelda va donner plus de contrôle sur le “stop” (on peut s'arrêter immédiatement quand on lâche le D-Pad), là où un choix plus classique comme Golden Axe Warrior va donner plus de contrôle sur l’orientation, ce qui me paraît plus important en terme de game feel.

Les contrôles de ce Zelda ressemblent beaucoup au type de contrôle d’un Bomberman. C’est à dire des contrôles calibrés pour faciliter les déplacements dans un environnement composé de blocs indestructibles qui forme une grille mais qui ici est une grille bien physique, en béton, et donc sans dissonance (et un maillage bien plus gros 32x32). Ca a moins de sens dans Zelda.

 


Bomberman 2 sur NES



 

Le seul autre jeu pour l'instant où j'ai retrouvé exactement les mêmes contrôles et déplacements que Zelda, c'est Dig Dug (1 et 2) sur NES, mais avec un maillage 16x16 plutôt que 8x8 (donc pas tout à fait pareil).

 


Dig Dug 2 sur NES



 

Certains jeux plus tardifs ont quand même tenté de trouver d’autres solutions pour améliorer les sensations de ces jeux bâtit sur des déplacements 4 way + grille.

 Dans le premier Neutopia (qui copie beaucoup Zelda) on retrouve le 4 way + grille 8x8, et même la possibilité de s'arrêter entre 2 nœuds, donc très proche de Zelda, mais sans ces problèmes d'orientation car le jeu autorise des micro-diagonales pour court-circuiter les nœuds.

Le BS Zelda, qui est un remaster de Zelda sur SNES distribué au Japon sur Satellaview, a aussi tenté d’améliorer cela. Le jeu garde ici aussi le déplacement 4 way, la grille, et même la possibilité de s'arrêter entre 2 nœuds. Mais quand on presse une direction perpendiculaire entre 2 nœuds, Link est alors téléporté directement au nœud le plus proche et donc se dirige immédiatement dans la bonne direction et sans lag. C’est plus agréable.
C’est peut être ici l’aveu le plus évident d’une remise en question du choix original, et qu’avec plus d'expérience ou de temps, ils auraient fait un choix différent.

 


BS Zelda sur SNES par Satellaview

 

 

 

 

 

Screen Scroll Glitch

 

Pour terminer ce menu “Zelda”, on va se détendre avec un tutoriel pour apprendre à exécuter le Screen Scroll Glitch ^^.

 

Le Screen Scroll Glitch




 

C'est vraiment un glitch qui réunit tous les ingrédients d'un bon glitch. Si vous devez en apprendre qu'un, apprenez celui-là.

C'est à la fois un glitch qui demande une phase d'apprentissage pour l'exécution, juste ce qu'il faut pour éprouver de la satisfaction quand on réussit, mais sans non plus être d'une très grande difficulté. Et c'est un glitch amusant et utile, surtout pour du speedrun.

 

Boucle infini de Screen Scroll Glitch




 

Je vais décomposer ce trick en 3 étapes.

La première étape consiste à s'approcher de l'un des bord de l'écran (haut, bas, gauche ou droite, au choix). De façon à laisser un espace de exactement 5 pixels (la bande rouge) entre le bord d'écran et la box du sprite de Link représenté en bleu (format 16x16 pixels).

 

Première étape: Pixel perfect




 

C'est donc du pixel perfect mais en réalité on prend vite le coup de main. En pratiquant juste quelques fois, on arrive assez vite à estimer intuitivement la bonne distance, notamment parce que les pixels sur NES sont assez grossiers et qu'on est très proche du bord.
Il suffit de toute façon d'enchaîner les tentatives (4 ou 5 secondes chaque), au doigt mouillé, jusqu'à tomber sur la bonne distance. Rapidement, on apprend à le faire en 2 ou 3 tentatives (voir une seule).

 

Mémorisez visuellement la bonne distance




 

Dans cette orientation, vers la gauche ou la droite, on a tendance à prendre le bouclier comme repère visuel. Faites attention car celui-ci a 2 positions différentes selon l'étape d'animation de Link, et même 2 épaisseurs différentes selon qu’il est magique ou pas, ce qui fait varier la distance de celui-ci avec le bord de l’écran.
Ce qui compte, pour la mesure de distance, ce sont les limites de la box du sprite en bleu qu’il faut imaginer car invisible.

 

Un bouclier qui gigote




 

La deuxième étape est, elle, frame perfect, mais pas d'inquiétude. Ça consiste juste à presser une direction perpendiculaire (dans mon exemple ca sera donc "bas" ou "haut") mais pendant une seule frame.

 

Deuxième étape: Frame perfect




 

Appuyer une seule frame c'est pas si simple. Une pression même très brève en général ça dure plutôt 2 ou 3 frames donc soyez vraiment prompt. C’est possiblement ici que vous allez rater le plus souvent.
Avec le pouce j'ai tendance à appuyer au moins 2 frames donc je préfère souvent piquer le D-pad avec l'extrémité de mon index pour être sûre de mon coup.

Si c'est bien exécuté, Link va alors se retourner plutôt que s'orienter vers le bas (pour les raisons expliquées dans le chapitre précédent sur les déplacements de Link: La grille contraint Link à rejoindre le nœud le plus proche qui est derrière lui, avant de pouvoir se diriger vers le bas).

Si jamais Link s'oriente dans la direction que vous avez pressé (donc "bas" dans mon exemple) plutôt que de se retourner, c'est que vous avez vraiment appuyé trop longtemps (au moins 3 frames). Pas la peine de continuer, il faut recommencer du début.

 

Echec à la deuxième étape




 

La troisième et dernière étape est de loin la plus simple puisqu’il ne reste plus qu'à foncer tout droit en direction du bord de l'écran pour se téléporter de l'autre côté (warp) sans enclencher le scrolling, bingo!

 

troisième étape: foncez tout droit




 

Ce glitch fonctionne même sur le bord d'écran supérieur et dans ce cas ça vous permet en bonus de vous balader dans le HUD du jeu  ^^.

 

Petite balade dans le HUD




 

Ce glitch permet des skips amusants et pratiques si on accepte la triche.
On peut par exemple skip la rivière et la montagne pour rejoindre le troisième donjon à peine après avoir débuté la partie.

 

Accès direct au troisième donjon




 

On peut skip les mystérieux bois perdus qui tentent de nous rendre fou (et nous faire perdre du temps), pour rejoindre directement le sixième donjon.

 

Esquive des bois perdus




 

Et dans le même genre, on peut skip aussi les collines perdues pour rejoindre directement le cinquième donjon.

 

Esquive des collines perdus




 

Les speedrunners utilisent aussi ce glitch pour se téléporter au travers des screens et se déplacer plus vite. Mais pour que ce soit rentable il faut avoir un très bon taux de réussite du glitch.

 

Mode speedrun




 

Dernière chose à savoir. Quand on entre dans un nouvel écran, on ne peut pas exécuter aussitôt le glitch. Il faut d'abord s'éloigner du bord de l’écran d'au moins 16 pixels.
C'est exactement ce que je fais sur le gif précédent qui a une exécution optimale (parce que je triche avec le frame advance ^^).

Et si jamais ces indications ne vous suffisent pas alors vous pouvez vous aider de mon script tutoriel à utiliser dans l'émulateur Mesen (dans le menu script).
Ça vous prend par la main. Il suffit de suivre les indications textuelles en haut de l'écran auxquelles s’ajoute les indications visuelles (et sonores).

 

Mon script tutoriel pour Mesen

 

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article