- 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
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
Mumpung sedang membahas Tetris, Anda bisa memainkan Tetris single-player/multiplayer di terminal lewat SSH.
ssh playnetris.comKode: https://code.rocket9labs.com/tslocum/netris
Connection to playnetris.com closed by remote host.Connection to playnetris.com closed.>ssh playnetris.comssh: connect to host playnetris.com port 22: Connection refusedMenakjubkan 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.
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 :)
Pada 2020 saya menamatkan Tetris dengan cara lain: https://jasoneckert.github.io/myblog/i-finally-beat-tetris/
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.
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.
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.
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
uintsaat 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.
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.
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
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.