Bir oyunu ne kadar süre açık bırakabilirsiniz? Birkaç saat, belki birkaç gün? Peki ya yıllarca? Teknoloji meraklısı bir kullanıcı, 'minki' takma adıyla, 1993 yapımı kült klasik Doom'u eski bir PDA cihazında tam iki buçuk yıl boyunca aralıksız çalıştırarak bu sorunun cevabını aradı. Sonuç, hem şaşırtıcı hem de video oyunları tarihinin tozlu sayfalarına ışık tutan cinsten: Efsanevi oyun, bu sürenin sonunda bir hataya yenik düşerek çöktü.
Bu sıradışı deney, sadece bir oyunun ne kadar dayanıklı olduğunu göstermekle kalmıyor, aynı zamanda eski oyunların programlama temellerinde yatan ve ancak aşırı koşullar altında ortaya çıkan ilginç bir teknik detayı da gözler önüne seriyor.
2.5 Yıllık Maratonun Arkasındaki Teknik Sır: Değişken Taşması (Integer Overflow)
Peki, Doom gibi sağlamlığıyla bilinen bir oyun neden durup dururken çöktü? Cevap, 'değişken taşması' (integer overflow) olarak bilinen bir programlama konseptinde yatıyor. Minki'nin deneyinde, oyunun kendi kendine oynadığı demo modu sürekli olarak döngüye girdi. Her döngü tamamlandığında, oyun motoru hafızada küçük bir veri, yani bir değişken depoluyordu. Bu işlem, iki buçuk yıl boyunca milyonlarca kez tekrarlandı.
Değişken Taşması Nedir?
Bu durumu, eski model bir arabanın kilometre sayacına benzetebiliriz. Sayaç, genellikle 999.999 gibi bir maksimum değere ulaşabilir. Peki bu sınıra ulaşıldığında ne olur? Sayaç tekrar sıfıra döner. Bilgisayar programlarındaki sayılar için ayrılan hafıza alanı da benzer bir sınıra sahiptir. Bu sınıra ulaşıldığında sayı ya sıfırlanır ya da beklenmedik bir (genellikle negatif) değere dönüşür. İşte Doom'un başına gelen de tam olarak buydu. Oyunun artık başa çıkamadığı bu anormal durum, sistemin kendini kapatmasına, yani çökmesine neden oldu.
Yalnız Değil: Zamanın Eskitemediği Diğer Oyun Hataları
Doom'un yaşadığı bu 'zaman ayarlı' sorun, retro oyun dünyasında tek örnek değil. Programcıların, bir oyuncunun oyunu yıllarca açık bırakacağını öngörmediği için ortaya çıkan benzer durumlar, diğer klasiklerde de mevcut. Elbette oyun hataları sadece geçmişte kalmış bir nostalji unsuru değil. Günümüzün karmaşık ve sürekli güncellenen oyunlarında da bazen çok daha temel ve oyunu anında etkileyen sorunlar ortaya çıkabiliyor. Örneğin, popüler çevrimiçi oyun Destiny 2'de yakın zamanda yaşanan bir hata, oyuncuların tek kişilik görevlerde öldüklerinde yeniden doğmalarını tamamen engelledi ve ilerlemeyi imkansız kılarak binlerce oyuncuyu etkiledi. Benzer bir şekilde, Borderlands 4'te ise yan görevleri erkenden bitiren oyuncular, oyun sonu ilerleme sisteminden mahrum kalarak istemeden kendi tecrübe puanı kazançlarını baltalamış oluyor. Bazen de geliştiriciler tam tersi bir yaklaşımla, oyuncuların işini kolaylaştıran 'faydalı' hataları düzelterek oyunun zorluğunu bilinçli olarak artırabiliyor; nitekim Silksong'a gelen yeni bir güncelleme, zorluğu azaltmak yerine boss'ların savaş sırasında arenadan kaçması gibi davranışlarını ortadan kaldırarak mücadeleyi daha da çetin hale getirmiştir. İşte geçmişten bazı dikkat çeken örnekler:
- Crash Bandicoot 3: Oyunu yaklaşık 2.2 yıl açık bırakırsanız, oyun içi zamanlayıcı taşma yaşıyor. Bu durum, düşmanların geriye doğru hareket etmesi, nesnelerin donması ve bazı bölümlerin tamamen oynanamaz hale gelmesi gibi tuhaf sonuçlara yol açıyor.
- Final Fantasy IX: Oyunda, son zindana 12 saatten daha kısa bir sürede ulaşan oyunculara verilen özel bir kılıç bulunur. Ancak bu kılıcı almanın bir yolu daha var: Oyunu yaklaşık iki yıl boyunca açık bırakarak zamanlayıcının taşmasını ve sıfırlanmasını sağlamak. Sabrın sonu selamet mi desek?
- Paper Mario: Bir görevde mükemmel bir kek pişirmeniz gerekiyor ve bunun için fırını yaklaşık 30 saniye ayarlamanız lazım. Eğer sabırlıysanız ve yaklaşık 4.5 yıl beklerseniz, zamanlayıcı taşarak sıfırlanıyor ve oyun size yine de mükemmel bir kek veriyor.
Geliştirici Hatası mı, Yoksa Teknolojinin Kaçınılmaz Sınırı mı?
Bu durumu bir 'hata' olarak nitelendirmek pek de adil olmaz. 90'lı yıllarda hiçbir geliştirici, birisinin oyununu aralıksız olarak yıllarca çalıştıracağını hayal bile edemezdi. Bu, kötü programlamadan ziyade, o dönemin teknolojisinin ve aritmetiğin doğal bir sınırıdır.
Günümüz oyunlarında 64-bit sistemlerin kullanılması, bu tür taşma sorunlarını teorik olarak imkansız hale getiriyor. Bir 64-bit sayacının taşması için gereken süre, evrenin yaşından bile daha uzun. Dolayısıyla bu ilginç deneyler, aslında bizi dijital bir arkeoloji yolculuğuna çıkararak, oyun dünyasının ne kadar yol kat ettiğini de gösteriyor.
Sonuç olarak, minki'nin deneyi sadece bir oyunun çöküş hikayesi değil, aynı zamanda oyun topluluklarının merak duygusunun, teknolojinin en derin sırlarını bile nasıl ortaya çıkarabileceğinin de bir kanıtıdır. Bu tür keşifler, efsanevi oyunlara olan saygımızı daha da artırıyor.
Bu haberde yer alan bilgiler, PCGamer'da yayınlanan orijinal makaleden derlenmiştir.