super mario 64 - Single-event upset

Super Mario Oyuncusuna Uzaydan Gelen Destek

Super Mario 64 speedrun oyuncusu DOTA_Teabag, kozmik bir müdahale neticesinde tekrarlanması mümkün olmayan bir rekora imza atmış olabilir. “Speedrun” terimine aşina olmayanlar için önce bir girizgâh yapalım. Speedrun, video oyunlarını mümkün olabilecek en kısa sürede bitirme mücadelesine verilen isimdir. Speedrun oyuncuları, bu süreyi en aza indirebilmek için alışılmadık yolları, hatta “glitch” denen, oyunun normal bir şekilde oynandığında tecrübe edilemeyecek kusurlarını kullanırlar. Önemli olan oyunu deneyimlemek değil, en kısa sürede sona ulaşmaktır. Pek çok oyunun speedrun rotaları, rastgele sayı üreten algoritmalardan beslenir; yani oyuncuların en kısa yoldan gidebilmeleri genelde şanslarına bağlıdır. Ne var ki 2013 yılında bir speedrun oyuncusu olan DOTA_Teabag, görülmemiş bir şans eseri dış uzaydan gelen bir ışın sayesinde müthiş bir avantaj elde etti.

Super Mario 64 adlı oyunu, oyunda yer alan 70 yıldızı da toplayarak mümkün olabilecek en kısa sürede tamamlamaya çalışan DOTA_Teabag, bir anda bir ‘glitch‘ ile karşılaştı ve yönettiği Mario karakteri ansızın müthiş bir yüksekliğe ışınlandı ve ulaşmak istediği noktaya doğru normalde mümkün olmayacak bir mesafe kat etti. Oyunun “Tick Tock Clock” adlı bölümünde yaşanan bu durum, tanınmış bir Super Mario 64 oyuncusu olan pannenkoek12‘nin de dikkatini çekti ve bu kusurun tekrar oluşmasını sağlayabilecek olan ilk oyuncuya 1000$ ödül vereceğini duyurdu. Super Mario 64, speedrun oyuncularının sıklıkla oynadığı ve kırılması güç pek çok rekora sahip bir oyun olduğundan, böylesi bir keşif müthiş bir haber değeri taşıyordu.

Aslında bu kusur oyuncuya yalnızca birkaç saniye kazandırmış olsa da, böylesi yüksekliklere ışınlanmanın gerçekten bir yolu varsa bunun keşfedilmesi daha önce denenmemiş pek çok speedrun rotasının yolunu açabilirdi. Normalde Mario’nun bir platforma tutunabilmesi için platforma dokunması gerekir. Oyun Mario’nun bir yere dokunduğunu anlar, tam tepesinde tutunulabilen bir platform olduğunu görür ve Mario’nun yüksekteki platforma tutunduğunu düşünerek onu oraya ışınlar. Bu örnekte DOTA_Teabag ise tutunulabilen bir yere dokunmazken, karakteri zıpladığı bir anda hiçbir sebep olmaksızın yukarı ışınlanmıştı. Aşağıdaki videoda da görülebileceği üzere o anki tepkisi her şeyi özetliyor.

1000$ dolar ödüle kavuşmak için pek çok speedrun oyuncusu bu glitch’i tekrarlamayı denedi. İş öyle boyutlara vardı ki, emülatörler aracılığıyla DOTA_Teabag’in oyun kontrolcüsü ile bastığı tuşlara aynı frame’de (oyunun ekrana çizildiği frekansa frame denir. Frame rate, yani kare hızı, bu işlemin bir saniyede kaç kez tekrarlandığını belirtir) aynı uzunlukta bastılar, ne var ki hiçbiri olayı tekrar gerçekleştiremedi. Birebir aynı şeyleri yapmalarına rağmen, neden kimse DOTA_Teabag’in yaşadığı durumu yaşayamamıştı? Çünkü ‘Single-event upset‘ denilen, oyuncunun kontrolünün çok dışında gerçekleşen ender bir fenomen söz konusuydu.

Bilgisayarların temel çalışması prensibi ikili sayı sistemi, yani sadece 0 ve 1’den oluşan kodlamalardır. Bilgisayarlar belleklerinde verileri depolamak için ikili sayılarla ifade edilebilen biçimlere dönüştürür. Bu 1 ve 0’ların donanım üzerindeki karşılıkları ise mikroişlemci, hafıza birimleri, transistörler gibi yarı iletken devrelerde depolanan elektrik enerjisi ile saklanmalarıdır. Her bellek birimi 8 ‘bit’ten oluşan ve bir ‘bayt’ denen hücrelerden meydana gelir. Bir single-event upset, hassas bir mikroelektronik devrede saklanan elektrik enerjisinin iyonlaştırıcı bir ışın parçacığı çarpması sonucu değişmesi, böylece bellekte tutulan bir 1’in 0’a veya 0’ın 1’e dönüşmesine yol açan fenomendir. Bit denen ve 1 veya 0 bilgisi depolayan bellek elemanlarından birinde gerçekleşen bu güç salınımı, donanımda fiziksel olarak gerçekleşen iyonlaşmanın neticesidir. Dünya’nın atmosferine giren kozmik parçacıklar atmosferdeki atomlarla çarpışır, bu da temas ettikleri elektronik devreleri etkileyebilen proton ve nötron yağmurlarına yol açar. Çoğunlukla bu iyonlaştırma olaylarının etkileri fark edilemeyecek boyutlarda olsa da, etkiledikleri bit o anda önemi olan bir bilginin okunduğu bit olursa, bu örnekteki gibi fark edilebilen etkilere yol açabilir.

Kısacası DOTA_Teabag’in speedrun oyunu sırasında, Nintendo 64 konsoluna çarpan iyonlaştırıcı bir ışın, Mario’nun ilk yükseklik baytının sekizinci bitinde tutulan veriyi değiştirmişti. 11000101 olan bayt bilgisi 11000100’e (yani ‘C5’ten ‘C4’e) dönüşmüştü. Bu da yükseklik değişiminin C5837800’den C4837800’e dönüşmesini sağlamıştı, ki bu da müthiş bir tesadüf eseri Mario’nun yukarıdaki platforma ışınlanması için gerekli olan veriydi. Kusuru tekrarlayabilecek ilk kişi için 1000$’lık ödülü koyan pannenkoek12, doğru anda bu spesifik bite müdahale ederek değiştiren bir yazılım kullanarak test ettiğinde aynı sonuca ulaştı.

Böylesi bir single-event upset fenomeninin gerçekleşmesi, trilyonda bir gibi astronomik derecede küçük bir olasılık. Düzenli olarak gerçekleşmesi sağlanabilecek bir olay olsaydı, yeni speedrun rekorlarına yol açabilirdi ancak ne yazık ki bu mümkün değil. Böylesi bir fenomen daha önce bir kez, 7 Ekim 2008 tarihli Singapur-Perth arası uçan bir Airbus 330 uçağında gerçekleşmiş, uçak bilgisayar arızası yaşayarak düşme tehlikesi atlatmıştı. DOTA_Teabag’in yaşadığı olay, bu olaydan pozitif etkilenen ilk, hatta belki son olay olabilir.

Kaynaklar:

Yazar: Erkam Ali Dönmez

Oyun sever, oyun oynar, oyun çevirir, oyun yapar.

İlginizi Çekebilir

starcraft zerg gezegen

StarCraft Evreninden 10 Zerg Gezegeni

“Burada (Koprulu sector) kimse yatağında ölmez.” StarCraft evreninde, Terran ve Protoss türünün kolonize ettiği ancak …

Bir Cevap Yazın

Bilimkurgu Kulübü sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin