Tajna sloma NES Tetrisa

17. siječnja 2024.

Iako je Tetris izašao prije čak 34 godine, Nintendova popularna videoigra uspješno je svladana tek prošlog mjeseca. I to od strane 13-godišnjeg američkog tinejdžera Willis Gibsona koji je došao do razine 157 i cijeli proces prelaska videoigre zabilježio na svom Youtube kanalu. Prije njega samo su botovi i razni AI alati uspjeli doći toliko daleko u igri da se smrzne, pa kako je onda jedan tinejdžer postigao „True Killerscreen“ i to za samo 38 minuta?

YouTube video

Evolucija stilovi igranja NES Tetrisa kroz godine

Tri različita stila igre obilježila su put prema rušenju Tetrisa.

DAS – “Pomak s odgodom” odnosi se na ponašanje većine igara s padajućim blokovima kad igrač drži lijevu ili desnu tipku. Vrlo jednostavno, igra će pomaknuti padajući komad bočno, pričekati, a zatim ga ponovno pomaknuti ako igrač nastavi držati tipku. 

NES Tetris je podijeljen u dva vremenska perioda: vrijeme kada aktivno upravljate blokom i vrijeme kada čekate da se pojavi novi blok (1/3 ~ 1/6 sekunde čekanja, plus ~2/5 sekunde za animaciju brisanja linije). Tijekom vremena čekanja, “trenutak” DAS-a neće rasti ni opadati; slobodno možete držati Lijevo/Desno bez gubitka (ali ga ne možete ni dobiti). Tijekom aktivnog vremena, “trenutak” DAS-a će se resetirati na nulu samo kada počnete pritiskati Lijevo/Desno. 

Punjenje DAS-a postiže se tako da zadržite smjer u kojem želite pomaknuti sljedeći komad prije nego što se pojavi, ponekad čak i dok je vaš trenutni blok još uvijek aktivan. Taj će se vremenski period i dalje računati prema DAS-u i, ako je potpuno napunjen, može rezultirati automatskim ponovljenim pokretima od trenutka kada se blok pojavi.

Iako se najbrža brzina padanja blokova dostiže na 29. razini, dugo se tvrdilo da se igra ne može završiti te su igrači počeli razvijati razne tehnike kako bi postali “brži”. Godine 2010., profesionalni natjecateljski igrač Thor Aackerlund uspio je dosegnuti 30. razinu koristeći tehniku zvanu “hypertapping”, gdje igrač vibrira prstima na način koji pomiče kontroler brže nego što je to moguće u igri.  Pojava te tehnike donijela je napredak no ipak je jedva omogućila savladavanje 29. razine. 

Pravi preokret dogodio se 2021. godine pojavom nove tehnike Rolling – igrač klizi prstima duž donje strane NES kontrolera i koristi taj zamah da prevrne kontroler u drugu ruku. Ukoliko se potez dobro izvede, moguće je pritisnuti usmjereni prijemnik do 20 puta u sekundi. Rolling je visoko podignuo ljestvicu te je krenulo mahnito rušenje rekorda i to čak po nekoliko puta tjedno.

YouTube video

Glitchevi

NES Tetris je izvorno dizajniran s deset paleta boja koje su dobro vidljive i svijetle te se pojavljuju od razine 0-9. Nakon što pređete na 10. razinu igra se vraća na prvu paletu boja. Pravljena 80-ih godina prošlog stoljeća, napisana kako bi bila izuzetno učinkovita sa što manje zauzimanja memorije, linija koda koja bi trebala odrediti boju razine ima problema od razine 138 nadalje. Počinje dohvaćati podatke izvan tablice boja, rezultirajući nizom slučajnih i čudnih paleta boja koje se ne vide na crnoj pozadini igrice.

YouTube video

Glitch s bojama uspio je pobijediti 2021. godine, StackRabbit – Tetris AI. Neograničen kvalitetom vida ili izdržljivošću, AI je stigao do 235. razine koja traje čak 800 linija umjesto klasičnih 10. Tako je srušio igru, doduše u modificiranoj verziji, na razini 237 i otkrio novi glitch

Korištenjem umjetne inteligencije otkriveno je kako NES Tetris ima killscreen – trenutak u kojem je nemoguće nastaviti igrati igricu zbog glitcha koji se nalazi u njenom kodu. U tetrisu to znači da su blokovi u igrici toliko brzo padali da je igra doživjela pad sustava. Daljnjim istraživanjem otkriveno je kako se taj kvar može dogoditi najranije na 155. levelu, i to ako igrač počisti jedan redak blokova.

Što se događa u pozadini?

Vratimo se na sam početak procesa stvaranja igre i na njegove osnovne komponente – kod i RAM. Jednostavno rečeno, kod pruža upute o tome što treba napraviti, dok je RAM mjesto gdje se te upute izvršavaju i prate. S obzirom kako nitko nije očekivao da će igra doći ovoliko daleko, u ovom slučaju kod postaje neučinkovit na višljim razinama. U komunikaciji između koda i RAM-a stvara se glitch koji rezultira naredbom za zaustavljanje i potpuno uništava igru. I ne događa se uvijek na istoj razini.

I glitch se može prisiliti – ovisno o razini, obliku bloka ili pak tome koliko je linija očišćeno. 2022. godine veliki je trud uložen u proučavanje mehanizama rušenja igrice od čega je najveći napredak ostvario Hydrantdue. Predstavio je Crash Theorydokument u kojem je naveo sve kombinacije u kojima je to moguće izvesti i utvrdio kako je prvu prevaru glitcha moguće izvesti na 155. razini.

Tetris Crash Theory

Kako je Gibson uspio pobijediti?

Prateći sve poznate podatke o glitchevima, usvajanjem tehnike Rollinga i treniranjem nekoliko sati dnevno Gibson je uspio postići ono što nitko dosad nije. Pobijedio je jednu od najpoznatijih igara koju su godinama mnogi na razne načine pokušavali preći i slomiti. 

Iako je prvi mogući pokušaj imao na 155. razini, zabunom je počistio tri reda blokova umjesto jednog, tako da se igra nije pokvarila. Iako su šanse da se kvar pojavi na 157. razini iznosile samo 73% u slučaju da očisti samo jedan redak blokova, Gibson je uspio i natjerao igru da se pokvari i zaustavi. Uspjeh je tim veći jer je Gibson srušio svjetski rekord za ukupni rezultat, broj prijeđenih nivoa i ukupan broj izbrisanih linija.

Prije nekoliko dana još je jedan igrač uspio postići “Killerscreen” i to na 155. razini.

YouTube video

Što dalje?

Nakon što je igra srušena nakon tri desetljeća postojanja, Tetris zajednica najavljuje pohod na razinu 255. Ovoga puta, izgleda da nećemo morati čekati toliko dugo kao na prvo rušenje igre.

Gibsonov podvig ne samo da je postavio novi standard u svijetu Tetrisa već i potaknuo zajednicu na nove izazove. Sada, dok se igrači pripremaju za pohod na razinu 255, ostaje nam vidjeti kakvi će novi rekordi biti postavljeni u budućnosti. Jedno je sigurno – Tetris je i dalje igra koja pruža uzbuđenje i izazov širom svijeta.

Ana Božić