1 points par GN⁺ 2024-01-03 | 1 commentaires | Partager sur WhatsApp
  • Sur NES Tetris, Willis, alias Blue Scuti, atteint pour la première fois le niveau 157 et provoque un plantage du jeu, établissant le premier record de True Killscreen de la communauté professionnelle Classic Tetris vieille de 34 ans
  • Le niveau 29, autrefois appelé « killscreen », n’était pas dû à un défaut du code mais à une limite de vitesse de contrôle ; avec l’arrivée de l’hypertapping et du rolling, la limite des joueurs humains n’a cessé de reculer
  • Les glitched colors qui apparaissent après le niveau 138 mettent à l’épreuve à la fois la visibilité et l’endurance, rendant difficile la poursuite d’un record avec la seule capacité à appuyer rapidement
  • En 2022, des recherches sur le mécanisme de plantage ont établi que, dans le NES Tetris original, le premier point de plantage possible était un single line clear à l’entrée du niveau 155 ; Blue Scuti finit par réussir à provoquer le plantage au niveau 157
  • Même après avoir « terminé » le jeu, la compétition peut se poursuivre autour de nouveaux objectifs : vitesse jusqu’au plantage, meilleur score avant le plantage, ou atteinte du rebirth screen après le niveau 255 en évitant le plantage

La première limite créée par le niveau 29

  • NES Tetris est sorti en 1989 sur Nintendo Entertainment System ; le jeu consiste à assembler des blocs qui tombent pour effacer des lignes complètes
  • Tous les 10 lignes effacées, le niveau augmente et la vitesse s’accélère, jusqu’à atteindre la vitesse maximale du jeu au niveau 29
  • Pendant longtemps, le niveau 29 a été appelé killscreen, car il devenait difficile d’envoyer de manière fiable les pièces jusqu’aux bords en maintenant les boutons gauche ou droite
  • Mais il ne s’agissait pas d’un killscreen au sens traditionnel, comme le niveau 256 de Pac-Man, où un défaut de code empêche de continuer
    • S’il existe une façon de déplacer les pièces plus vite, il est possible de passer les niveaux après le niveau 29 de NES Tetris

L’hypertapping et le rolling repoussent les limites

  • En 2011, Thor Aackerlund établit la première vidéo documentant l’atteinte du niveau 30 grâce à l’hypertapping, qui consiste à appuyer très rapidement sur la manette comme si l’on faisait vibrer ses doigts
  • Après le niveau 29, la vitesse du jeu n’augmente plus ; en théorie, il était donc possible d’atteindre des niveaux plus élevés
  • Joseph Saelee atteint le premier le niveau 31 en 2018, remporte les championnats du monde de Tetris en 2018 et 2019, et porte le record de niveau jusqu’à 35
  • EricICX, un hypertapper encore plus rapide, atteint le premier les niveaux 37 et 38
  • L’hypertapping permettait tout juste de tenir la vitesse du niveau 29 ; pour les records dans les niveaux 35 à 39, il fallait une grande chance sur les pièces et un placement presque parfait
  • En 2020, après avoir observé plusieurs stratégies de martèlement de boutons, cheez combine la technique multi-doigts de Hector Fly utilisée sur borne d’arcade avec une méthode consistant à pousser depuis le dessous de la manette avec un doigt pour le faire heurter un doigt placé au-dessus, créant ainsi le rolling
    • Le rolling permet une vitesse de répétition plus de deux fois supérieure à celle des meilleurs hypertappers
    • cheez devient le premier à atteindre le niveau 40
    • Les meilleurs joueurs passent ensuite au rolling, et EricICX monte jusqu’au niveau 95 en 2021

La nouvelle barrière créée par les glitches de couleurs

  • NES Tetris possède à l’origine 10 palettes de couleurs vives et lisibles pour les niveaux 0 à 9, puis répète les mêmes palettes tous les 10 niveaux
  • À partir du niveau 138, le code qui détermine les couleurs du niveau se dérègle et lit des données en dehors de la table de palettes, faisant apparaître des palettes de couleurs anormales difficiles à voir
  • Fractal161 atteint d’abord les glitched colors sur la version PAL, moins utilisée, mais le PAL est 20 % plus lent que le NTSC employé dans les championnats et les principaux classements
  • EricICX est le premier à atteindre les glitched colors sur la version NTSC et va jusqu’au niveau 146 lors d’un vrai match de tournoi, avant de top out sur un niveau sombre
  • Par la suite, les records sont freinés à la fois par la visibilité et l’endurance, et la partie record du monde d’EricICX dure près de 40 minutes
  • PixelAndy dépasse le niveau sombre qui avait éliminé EricICX, mais échoue sur un niveau encore plus difficile où les pièces sont presque noires

Le principe du True Killscreen et la réussite de Blue Scuti

  • En 2021, Cannon crée l’IA de Tetris stackrabbit pour explorer les limites au-delà des capacités humaines
  • Sans contraintes de fatigue ni de visibilité, stackrabbit traverse les niveaux difficiles aux glitched colors, ainsi que des glitches étranges comme le niveau 235, qui dure 800 lignes au lieu des 10 habituelles
  • À très haut niveau, le code du jeu fonctionne de manière inefficace, et il arrive que le jeu lise la RAM comme du code au lieu de lire le code d’instruction
    • Si cela mène à une instruction d’arrêt, le jeu se casse complètement : c’est ce qu’on appelle un true killscreen
  • Le plantage ne se produit pas toujours au même endroit
    • Il peut être déclenché à des points très précis selon des conditions comme le niveau, la pièce en cours ou le nombre de lignes effacées en une fois
    • Comme stackrabbit jouait sur une version modifiée où le compteur de score passait de 6 à 7 chiffres, les points de plantage n’étaient pas les mêmes que dans l’original
  • En 2022, HydrantDude recense dans un tableur toutes les situations pouvant provoquer un plantage ; dans la version originale non modifiée, le premier point de plantage possible est confirmé comme étant un single à l’entrée du niveau 155
  • En 2023, après avoir remporté le championnat du monde, Fractal commence à diffuser chaque jour des tentatives de plantage, mais dès le premier jour Blue Scuti franchit le charcoal avant lui et atteint le niveau 153
    • Ce record est à la fois un nouveau record du monde de niveau et de score, avec seulement 18 lignes restantes avant le premier plantage possible
  • Blue Scuti entre ensuite en compétition avec Fractal sur les tentatives de plantage, mais manque une occasion au niveau 154 en effaçant un triple au lieu d’un single
  • La cible suivante est le niveau 157, où chaque effacement d’une ligne avait 73 % de chances de provoquer un plantage
  • Au niveau 157, Blue Scuti provoque le plantage du jeu en effaçant une ligne lors d’une dernière tentative avec une J piece placée à gauche, créant le premier moment où un joueur humain « bat » NES Tetris

La compétition après le plantage et les objectifs restants

  • Lors de l’apparition du rolling, cheez craignait que la technique soit trop puissante et puisse ruiner la communauté, mais elle a en réalité apporté une renaissance à Classic Tetris
  • La crainte que les matchs de tournoi deviennent trop longs avec des endless lineout a conduit à un patch ROM ajoutant une vitesse plus élevée au niveau 39, et les parties se sont orientées vers la recherche de plus gros line clears
  • Les records du monde de niveau et de score semblaient se figer en une simple compétition d’endurance, mais la course au plantage les a transformés en poursuite où les records changeaient plusieurs fois par semaine
  • Les objectifs après le plantage peuvent prendre plusieurs directions
    • Le speedrun jusqu’au plantage
    • Le score maximal possible avant le plantage
    • Le défi d’aller plus loin en évitant les conditions de plantage
  • Une partie de la communauté utilise des speedruns assistés par outil (TAS) pour simuler des trajectoires évitant les pièges de plantage en saisissant manuellement chaque mouvement
  • Si tous les plantages sont évités, le dernier niveau atteignable est le 255, dernier niveau pouvant être stocké dans la mémoire du jeu
    • Ses couleurs correspondent à une palette glitchée rouge pur
    • 5 des 7 pièces peuvent provoquer un plantage simplement en tombant normalement ; pour survivre, il faut donc faire descendre presque toutes les pièces manuellement
  • Une fois le niveau 255 terminé, le jeu revient au niveau 0
  • Le moment où l’on revient au niveau 0 après le niveau 255 reste un rebirth screen : au-delà du fait que le joueur batte le jeu, c’est le joueur et le jeu qui survivent ensemble

1 commentaires

 
GN⁺ 2024-01-03
Avis Hacker News
  • La scène Tetris a complètement explosé ces dernières années
    J’y ai joué toute mon enfance avec la méthode traditionnelle DAS[1], et je n’ai jamais pris le temps d’apprendre le hypertapping ; puis quand le rolling est arrivé il y a quelques années, j’ai complètement abandonné l’idée d’essayer de suivre. Mon meilleur score était presque un maxout au niveau 29
    Ce qui saute encore plus aux yeux, c’est que les jeunes joueurs dominent les traditionalistes en changeant carrément les règles du jeu. Au CTWC, plus personne ne joue en DAS, et Jonas me semble avoir été le dernier grand joueur DAS avant de passer au tapping. Je pense que c’est parce que les trentenaires et plus ont appris en DAS, alors que les jeunes joueurs peuvent commencer directement avec le rolling
    RIP Jonas Neubauer (NubbinsGoody https://www.twitch.tv/nubbinsgoody). C’est lui qui a porté le boom de Tetris après le film, alors que Thor prenait quasiment sa retraite, et en 2018, quand je visais le maxout, lui et sa femme m’avaient conseillé de me procurer un moniteur CRT. À l’époque, c’était mon principal goulot d’étranglement
    [1] https://tetris.fandom.com/wiki/DAS

    • Je pensais connaître Tetris, mais visiblement non. Je réalise à quel point je n’ai pas compris le commentaire ci-dessus, et ça me rend humble
    • Je ne savais pas que Jonas était décédé, c’est vraiment triste. Je me souviens avoir vu sur YouTube des vidéos de Tetris avec lui et le type qui disait « Boom Tetris »
    • C’est quoi le hypertapping et le tapping ?
  • Puisqu’on parle de Tetris, on peut jouer à Tetris en solo/multijoueur dans le terminal via SSH
    ssh playnetris.com
    Code : https://code.rocket9labs.com/tslocum/netris

    • La connexion s’est coupée au bout d’une ou deux minutes de jeu
      Connection to playnetris.com closed by remote host.
      Connection to playnetris.com closed.
      >ssh playnetris.com
      ssh: connect to host playnetris.com port 22: Connection refused
  • C’est impressionnant de voir qu’avec assez d’entraînement, des gens peuvent pousser des mouvements musculaires rapides et complexes à un niveau presque surhumain. C’est un accomplissement remarquable

    • C’est pareil dans le domaine mental. Il suffit de penser aux échecs. Plus généralement, c’est fascinant de voir à quel point les humains peuvent devenir excellents dans n’importe quoi, et ça fait imaginer que, dans les époques de guerre au corps à corps, il existait sans doute des personnes tout aussi exceptionnelles. Quelqu’un avec de bons gènes, une bonne alimentation et un bon entraînement devait littéralement ressembler à une montagne parmi les hommes
    • Il y a sûrement une raison au fait que la plupart des meilleurs joueurs de Tetris soient des enfants. Même avec beaucoup d’entraînement, un adulte aurait du mal à atteindre le même niveau de coordination œil-main
      C’est aussi pour ça que les jeunes joueurs sont généralement meilleurs aux FPS, et pourquoi j’ai du mal à survivre plus d’une minute sur CoD :)
    • Je ne sais pas si le parallèle avec la virtuosité instrumentale était intentionnel, mais dans tous les cas je ne peux qu’être d’accord
  • En 2020, quelqu’un a battu Tetris d’une autre manière : https://jasoneckert.github.io/myblog/i-finally-beat-tetris/

    • Il faudrait changer la police. C’est trop difficile à lire pour un texte aussi long
  • Le seul Tetris que je connaissais était la version incluse dans le Windows Entertainment Pack <https://en.wikipedia.org/wiki/Microsoft_Entertainment_Pack>
    Cette version étant faite pour Windows 16 bits, ce n’était pas surprenant que le score soit stocké dans un entier 16 bits. Ce qui était surprenant, c’est qu’ils aient utilisé un entier signé 16 bits, si bien qu’au-delà de 32 767 points, le score passait en négatif
    Quand j’étais ado, j’étais assez bon pour être déçu si mon score ne devenait pas négatif à chaque partie

    • Pendant les étés des années 90, je jouais à Minesweeper presque tous les jours. J’étais devenu tellement bon que j’avais fini par descendre à 17 secondes sur le plus grand puzzle, le niveau expert. À ce stade, j’ai estimé que je n’irais pas plus vite et je suis passé à autre chose
      Quelques années plus tard, j’ai vu dans le Guinness Book of World Records que le record sur Minesweeper expert tournait autour de 25 secondes. Bien sûr, pour le prouver, il faudrait déterrer mon ancien PC dans une décharge, donc je dois vivre avec l’idée d’être un détenteur de record du monde non reconnu
    • C’est toujours de loin ma version préférée de Tetris. J’y joue encore de temps en temps. Comme Windows 64 bits ne s’entend pas très bien avec les programmes 16 bits, je la lance dans une machine virtuelle Windows XP dédiée
      Moi aussi, je suis déçu si je n’arrive pas à faire passer le score en négatif. Quand je suis en forme, que j’ai assez de temps et un peu de chance, je peux passer plusieurs fois du positif au négatif, puis à nouveau au positif, puis au négatif dans une seule partie. Je n’ai jamais compté, mais il m’est arrivé de jouer au moins 45 minutes sur une seule partie
    • Il me semble que l’ancien Solitaire ou Freecell avait le même problème. Je faisais exprès de perdre pour amener le score vers -32767, et c’était la première fois, enfant, que je faisais l’expérience d’un wrap d’entier. Ce genre de chose apprend beaucoup, sans le vouloir
      Cela dit, je ne trouve pas si surprenant que l’un ou l’autre ait utilisé un entier signé. Dans toutes les bases de code sur lesquelles j’ai travaillé, les entiers signés étaient simplement le choix naturel pour représenter des nombres, comme une valeur par défaut. Je ne voyais des uint que quand c’était vraiment important ou quand un développeur était particulièrement strict
  • Il y a aussi ce billet lié : Celebrating the first NES Tetris game crash (biggieblog.com)
    Posté il y a 10 jours par davidrjones1977, 197 points, 56 commentaires
    https://news.ycombinator.com/item?id=38734106

  • C’est une vidéo vraiment inspirante. On pourrait presque dire que c’est ce niveau de geekerie qui fait avancer notre civilisation

    • La communauté semble aussi très soudée. Ça contraste avec “King of Kong”, qui paraissait bien plus compétitif et douteux
    • La vidéo est vraiment très bien faite, c’était un vrai plaisir à regarder
  • C’est impressionnant de voir les progrès récents, et GameScout fait partie de ceux qui racontent le mieux les histoires du jeu vidéo aujourd’hui, au niveau de Summoning Salt
    La vidéo d’introduction à la communauté Tetris faite par John Green en 2018 est excellente aussi :
    https://www.youtube.com/watch?v=twS0SrDg-fc

  • Je n’ai aucun intérêt pour Tetris, et pourtant j’ai trouvé ça étonnamment captivant

    • Pareil pour moi. Je regarde rarement des vidéos YouTube, mais une fois le début passé, j’ai été happé très vite
  • La question maintenant, c’est de savoir si l’exécution de code en RAM peut mener à des états de jeu intéressants ou à des exploits comme le Pokémon Yellow Total Control Hack : https://youtube.com/watch?v=p5T81yHkHtI

    • Oui, et une exécution de code arbitraire a été obtenue sur NES Tetris
      En revanche, la préparation est atrocement complexe et précise. Il faut obtenir un score presque impossible, puis entrer un nom précis dans la liste des meilleurs scores, puis atteindre le crash exactement sur la frame où la valeur interne du générateur pseudo-aléatoire correspond par hasard à une instruction qui saute vers cette liste des meilleurs scores. En plus, plusieurs registres doivent aussi contenir par chance les bonnes valeurs
      Après ça, il reste encore un peu de bootstrap avant d’obtenir un contrôle complet
    • Il existe quelque chose de similaire dans Super Mario World : https://youtu.be/jnZ2NNYySuE