1 poin oleh GN⁺ 2024-01-03 | 1 komentar | Bagikan ke WhatsApp
  • Di NES Tetris, Willis alias Blue Scuti menjadi orang pertama yang mencapai level 157 dan memicu crash game, mencatat True Killscreen pertama dalam komunitas pro Classic Tetris yang telah berusia 34 tahun
  • Level 29 yang dulu disebut “killscreen” sebenarnya bukan cacat kode, melainkan batas kecepatan kontrol, dan seiring munculnya hypertapping serta rolling, batas kemampuan pemain manusia terus terdorong maju
  • glitched colors yang muncul setelah level 138 menekan penglihatan dan daya tahan sekaligus, sehingga sulit mempertahankan rekor hanya dengan kemampuan menekan tombol cepat
  • Berkat riset mekanisme crash pada 2022, titik crash paling awal yang mungkin di Tetris NES asli diidentifikasi sebagai single line clear saat memasuki level 155, dan Blue Scuti akhirnya berhasil memicu crash di level 157
  • Bahkan setelah game “ditamatkan”, persaingan bisa berlanjut ke target baru seperti kecepatan menuju crash, skor tertinggi sebelum crash, dan mencapai rebirth screen setelah level 255 dengan menghindari crash

Batas pertama yang diciptakan level 29

  • NES Tetris dirilis untuk Nintendo Entertainment System pada 1989, dan merupakan game menyusun balok jatuh untuk menghapus baris yang lengkap
  • Setiap 10 baris yang dihapus, level naik dan kecepatan meningkat, lalu mencapai kecepatan maksimum dalam game di level 29
  • Selama bertahun-tahun, level 29 disebut killscreen karena sulit mengirim potongan ke tepi secara stabil hanya dengan menahan tombol kiri atau kanan
  • Namun, ini bukan killscreen dalam arti tradisional seperti level 256 di Pac-Man, yang benar-benar menghentikan progres karena cacat kode
    • Jika ada cara untuk menggerakkan potongan lebih cepat, level setelah 29 di NES Tetris juga bisa diselesaikan

Hypertapping dan Rolling mendorong batas lebih jauh

  • Pada 2011, Thor Aackerlund mencatat video pertama yang mencapai level 30 dengan hypertapping, yaitu menekan kontroler sangat cepat seolah-olah jari bergetar
  • Karena kecepatan game tidak lagi bertambah setelah level 29, secara teori pemain bisa melaju ke level yang jauh lebih tinggi
  • Joseph Saelee menjadi orang pertama yang mencapai level 31 pada 2018, menjuarai Kejuaraan Dunia Tetris 2018 dan 2019, lalu mendorong rekor level hingga 35
  • EricICX, yang hypertapping-nya lebih cepat, menjadi orang pertama yang mencapai level 37 dan 38
  • Karena hypertapping hanya nyaris cukup untuk menghadapi kecepatan level 29, rekor di pertengahan hingga akhir level 30-an membutuhkan keberuntungan potongan yang bagus dan penempatan yang nyaris sempurna
  • Pada 2020, setelah melihat berbagai strategi mengetuk banyak tombol, cheez menciptakan rolling dengan menggabungkan teknik multi-jari Hector Fly yang dipakai di arcade cabinet dan teknik mendorong dari bawah kontroler agar membentur jari di atas
    • rolling memungkinkan kecepatan input lebih dari dua kali hypertapper tercepat
    • cheez menjadi orang pertama yang mencapai level 40
    • Setelah itu para pemain papan atas beralih ke rolling, dan EricICX mencapai level 95 pada 2021

Penghalang baru dari glitch warna

  • NES Tetris awalnya memiliki 10 palet warna cerah dan mudah dilihat untuk level 0–9, lalu mengulang tabel warna yang sama setiap 10 level
  • Mulai level 138, kode penentu warna level rusak dan membaca data di luar tabel warna, sehingga muncul palet warna abnormal yang sulit dilihat
  • Fractal161 lebih dulu mencapai glitched colors di versi PAL yang lebih jarang dipakai, tetapi PAL 20% lebih lambat daripada NTSC yang digunakan di kejuaraan dan leaderboard utama
  • EricICX menjadi orang pertama yang mencapai glitched colors di versi NTSC, dan bahkan mencapai level 146 dalam pertandingan turnamen sungguhan, tetapi top out di level gelap
  • Setelah itu, upaya memecahkan rekor terhambat oleh penglihatan dan daya tahan sekaligus, dan game rekor dunia EricICX berlangsung hampir 40 menit
  • PixelAndy berhasil melewati level gelap yang menjatuhkan EricICX, tetapi gugur di level yang lebih sulit dengan potongan yang nyaris hitam

Cara kerja True Killscreen dan keberhasilan Blue Scuti

  • Pada 2021, Cannon membuat AI bermain Tetris bernama stackrabbit untuk melihat lebih jauh dari batas manusia
  • Karena tidak punya batas stamina dan penglihatan, stackrabbit melewati level glitched color yang sulit, bahkan juga glitch aneh seperti level 235 yang berlangsung 800 baris alih-alih 10 baris biasa
  • Di level yang sangat tinggi, kode game bekerja secara tidak efisien, dan game bisa membaca RAM seolah-olah itu kode, bukan instruksi yang semestinya
    • Jika hasilnya berujung pada instruksi berhenti, game akan benar-benar rusak, dan ini disebut true killscreen
  • Crash tidak selalu terjadi di titik yang sama
    • Tergantung pada kondisi sangat spesifik seperti level, potongan saat ini, dan jumlah baris yang dihapus sekaligus
    • Karena stackrabbit bermain pada versi modifikasi yang mengubah penghitung skor dari 6 digit menjadi 7 digit, titik crash-nya tidak sama dengan versi asli
  • Pada 2022, HydrantDude merangkum semua situasi yang bisa memicu crash dalam spreadsheet, dan titik crash paling awal yang mungkin di versi asli tanpa mod dipastikan sebagai single saat memasuki level 155
  • Pada 2023, setelah menjuarai Kejuaraan Dunia, Fractal mulai menyiarkan percobaan crash setiap hari, tetapi pada hari pertama Blue Scuti lebih dulu melewati charcoal dan mencapai level 153
    • Rekor itu sekaligus menjadi rekor dunia level baru dan rekor dunia skor, dengan hanya tersisa 18 baris menuju crash pertama
  • Blue Scuti lalu masuk ke persaingan memicu crash dengan Fractal, tetapi di level 154 ia menghapus triple alih-alih single dan kehilangan peluang crash
  • Target berikutnya adalah level 157, dan di level ini setiap clear 1 baris memiliki peluang crash 73%
  • Di level 157, Blue Scuti memicu crash game dengan membersihkan baris pada upaya terakhir menempatkan J piece di kiri, menciptakan momen pertama ketika seorang pemain manusia benar-benar “mengalahkan” NES Tetris

Persaingan rekor setelah crash dan target yang masih tersisa

  • Saat rolling muncul, cheez sempat khawatir teknik ini terlalu kuat dan bisa merusak komunitas, tetapi kenyataannya justru membawa renaissance bagi Classic Tetris
  • Kekhawatiran bahwa pertandingan turnamen bisa menjadi endless lineout yang terlalu panjang kemudian memicu patch ROM yang menambahkan kecepatan lebih tinggi di level 39, dan pertandingan pun bergeser ke permainan yang mengejar line clear lebih besar
  • Rekor dunia level dan skor sempat terlihat akan mengeras menjadi sekadar kompetisi daya tahan, tetapi proses mengejar crash mengubahnya menjadi kejar-kejaran yang memecahkan rekor beberapa kali dalam seminggu
  • Target setelah crash dapat bercabang ke beberapa arah
    • speedrun menuju crash secepat mungkin
    • skor tertinggi yang mungkin dicapai sebelum crash
    • tantangan melaju lebih jauh sambil menghindari kondisi crash
  • Sebagian komunitas mensimulasikan rute untuk menghindari semua jebakan crash dengan tool-assisted speedrun (TAS) yang memasukkan setiap gerakan secara manual
  • Jika semua crash dihindari, level terakhir yang bisa dicapai adalah 255, yaitu level terakhir yang bisa disimpan dalam memori game
    • Warnanya adalah palet glitch merah murni
    • 5 dari 7 potongan dapat memicu crash hanya dengan jatuh normal, sehingga untuk bertahan hidup hampir semua potongan harus ditekan ke bawah
  • Setelah menyelesaikan level 255, game kembali ke level 0
  • Momen kembali ke level 0 setelah level 255 tetap dikenang sebagai rebirth screen, yaitu saat pemain bukan hanya menamatkan game, tetapi pemain dan game sama-sama berhasil bertahan

1 komentar

 
GN⁺ 2024-01-03
Opini Hacker News
  • Dalam beberapa tahun terakhir, kancah Tetris benar-benar berubah dengan sangat cepat.
    Sejak kecil saya bermain dengan metode tradisional DAS[1], dan tidak sempat meluangkan waktu untuk mempelajari hypertapping. Setelah rolling muncul beberapa tahun lalu, saya benar-benar menyerah untuk mencoba mengikuti. Skor tertinggi saya hampir maxout di level 29.
    Yang lebih mencolok adalah para pemain muda mengubah aturan main itu sendiri dan mengungguli kubu tradisional. Di CTWC sekarang tidak ada lagi yang bermain dengan DAS, dan sepertinya Jonas adalah pemain besar DAS terakhir sebelum beralih ke tapping. Menurut saya ini karena mereka yang berusia 30-an ke atas belajar dengan DAS, sementara pemain muda bisa memulai langsung dengan rolling sejak awal.
    RIP Jonas Neubauer (NubbinsGoody https://www.twitch.tv/nubbinsgoody). Setelah filmnya dirilis dan Thor hampir pensiun, dialah orang yang memimpin ledakan popularitas Tetris. Pada 2018, ketika saya mengejar maxout, ia dan istrinya menyarankan saya mencari monitor CRT. Saat itu, itulah bottleneck-nya.
    [1] https://tetris.fandom.com/wiki/DAS

    • Saya pikir saya tahu Tetris, ternyata tidak. Saya jadi rendah hati setelah sadar betapa banyak dari komentar di atas yang tidak saya pahami.
    • Saya tidak tahu Jonas sudah meninggal, dan itu benar-benar menyedihkan. Saya masih ingat menonton video-video Tetris di YouTube yang menampilkan dia, dan orang yang mengatakan “Boom Tetris”.
    • Apa itu hypertapping dan tapping?
  • Mumpung sedang membahas Tetris, Anda bisa memainkan Tetris single-player/multiplayer di terminal lewat SSH.
    ssh playnetris.com
    Kode: https://code.rocket9labs.com/tslocum/netris

    • Koneksi terputus sekitar 1–2 menit setelah permainan dimulai.
      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
  • Menakjubkan bahwa dengan latihan yang cukup, orang bisa meningkatkan gerakan otot yang cepat dan kompleks hingga ke level yang hampir tidak manusiawi. Ini benar-benar pencapaian luar biasa.

    • Ranah mental juga sama. Pikirkan saja hal seperti catur. Secara umum, menakjubkan seberapa hebat manusia bisa menjadi dalam apa pun, dan itu membuat saya membayangkan pada masa perang yang berpusat pada pertarungan jarak dekat di masa lalu juga pasti ada orang-orang luar biasa seperti itu. Orang dengan genetika bagus, pola makan bagus, dan latihan bagus mungkin secara harfiah tampak seperti gunung di antara manusia lain.
    • Menurut saya ada alasan mengapa sebagian besar pemain Tetris papan atas adalah anak-anak. Betapapun kerasnya orang dewasa berlatih, rasanya sulit mencapai level koordinasi tangan-mata yang sama.
      Itu juga sebabnya pemain muda biasanya lebih jago dalam game tembak-menembak orang pertama, dan kenapa saya sulit bertahan lebih dari satu menit di CoD :)
    • Saya tidak tahu apakah kemiripannya dengan teknik virtuoso dalam bermain alat musik memang disengaja, tapi bagaimanapun saya tidak bisa tidak setuju.
  • Pada 2020 saya menamatkan Tetris dengan cara lain: https://jasoneckert.github.io/myblog/i-finally-beat-tetris/

    • Sebaiknya font-nya diganti. Terlalu sulit dibaca untuk tulisan panjang.
  • Tetris yang saya kenal dulu hanya versi yang ada di Windows Entertainment Pack <https://en.wikipedia.org/wiki/Microsoft_Entertainment_Pack>
    Karena versi ini dibuat untuk Windows 16-bit, tidak mengejutkan kalau skornya disimpan dalam integer 16-bit. Yang mengejutkan adalah mereka memakai integer 16-bit bertanda, sehingga jika skor melewati 32.767, nilainya berubah menjadi negatif.
    Saat remaja saya cukup jago, sampai-sampai kalau skor tiap permainan tidak berubah menjadi negatif, rasanya mengecewakan.

    • Pada musim panas tahun 90-an, saya bermain Minesweeper hampir setiap hari. Saya jadi sangat jago hingga akhirnya memangkas tingkat Expert, puzzle terbesar, sampai 17 detik. Pada titik itu saya merasa tidak mungkin bisa lebih cepat lagi, lalu pindah ke game lain.
      Beberapa tahun kemudian saya melihat Guinness Book of World Records, dan rekor Minesweeper Expert sekitar 25 detik. Tentu saja, untuk membuktikannya saya harus menggali komputer lama dari tempat pembuangan, jadi saya harus hidup dengan kenyataan sebagai pemegang rekor dunia yang tidak diakui.
    • Sampai sekarang saya paling suka versi Tetris itu. Sesekali saya masih memainkannya. Windows 64-bit kurang cocok dengan program 16-bit, jadi saya menjalankannya di mesin virtual Windows XP khusus.
      Saya juga kecewa kalau tidak bisa membuat skor menjadi negatif. Jika kondisi sedang pas, waktu cukup, dan ada sedikit keberuntungan, dalam satu game skor bisa bolak-balik beberapa kali dari positif ke negatif, kembali positif, lalu negatif lagi. Saya tidak pernah menghitung, tapi saya pernah memainkan satu game setidaknya lebih dari 45 menit.
    • Kalau tidak salah, Solitaire lama atau Freecell juga punya masalah yang sama. Saya sengaja kalah agar skor mendekati -32767, dan itu adalah pengalaman pertama saya dengan integer wrapping waktu kecil. Hal seperti itu tanpa sengaja mengajarkan banyak hal.
      Namun, tidak terlalu mengejutkan juga bahwa salah satunya memakai integer bertanda. Di semua codebase tempat saya pernah bekerja, integer bertanda dipakai seperti pilihan wajar untuk angka, seolah-olah itu default. Saya hanya melihat uint saat benar-benar penting atau ketika pengembangnya terlalu ketat.
  • Ada juga tulisan terkait: Celebrating the first NES Tetris game crash (biggieblog.com)
    Diposting 10 hari lalu oleh davidrjones1977, 197 poin, 56 komentar
    https://news.ycombinator.com/item?id=38734106

  • Video yang benar-benar menginspirasi. Bisa dibilang tingkat kegilaan geek seperti inilah yang mendorong peradaban kita maju.

    • Komunitasnya juga tampak cukup saling mendukung. Kontras dengan “King of Kong” yang terlihat jauh lebih kompetitif dan mencurigakan.
    • Videonya dibuat dengan sangat baik, dan sangat menyenangkan untuk ditonton.
  • Menakjubkan melihat perkembangan terbaru ini, dan GameScout layak disejajarkan dengan Summoning Salt sebagai salah satu pencerita narasi game terbaik saat ini.
    Video pengantar komunitas Tetris yang dibuat John Green pada 2018 juga luar biasa:
    https://www.youtube.com/watch?v=twS0SrDg-fc

  • Saya tidak tertarik pada Tetris, tapi ternyata ini cukup menarik.

    • Sama. Saya juga hampir tidak menonton video YouTube, tapi setelah melewati sedikit bagian awal, saya cepat terbawa.
  • Sekarang pertanyaannya adalah apakah eksekusi kode RAM bisa mengarah ke state game atau exploit yang menarik seperti Pokémon Yellow Total Control Hack: https://youtube.com/watch?v=p5T81yHkHtI

    • Bisa, dan eksekusi kode arbitrer sudah berhasil dicapai di NES Tetris.
      Namun proses persiapannya sangat rumit dan presisi sampai mengerikan. Anda harus membuat skor yang nyaris mustahil, memasukkan nama tertentu ke daftar skor tertinggi, lalu mencapai crash tepat pada frame ketika nilai internal pembangkit angka acak kebetulan merepresentasikan instruksi yang melompat ke daftar skor tertinggi itu. Selain itu, beberapa register juga harus kebetulan berisi nilai yang diperlukan.
      Setelah itu ada sedikit bootstrap sampai kontrol penuh didapat.
    • Super Mario World juga punya hal serupa: https://youtu.be/jnZ2NNYySuE