Bir neslin bilgisayar deneyiminin vazgeçilmez bir parçası olan, Windows işletim sistemleriyle birlikte gelen o meşhur 3D Pinball (Space Cadet) oyununu hatırlarsınız. Birçoğumuz için basit ama eğlenceli bir kaçamak olan bu oyunun, aslında kaputun altında şaşırtıcı bir sır sakladığı ortaya çıktı. Oyunun bu kadar akıcı çalışmasının nedeni, bir optimizasyon harikası olması değil, tam aksine eski bir Microsoft mühendisinin yaptığı masum bir kodlama hatasıydı.
Bu ilginç itiraf, Windows'a Görev Yöneticisi (Task Manager) ve yerel Zip dosyası desteği gibi önemli özellikleri kazandıran eski Microsoft mühendisi Dave Plummer'dan geldi. Plummer, kendi YouTube kanalında yaptığı bir açıklamada, oyunu Windows 95'ten Windows NT'ye taşırken yaptığı bir hatanın, Pinball'ın saniyede binlerce kare (FPS) hızında çalışmasına neden olduğunu anlattı.
Kazara Gelen Aşırı Performans: Sınırsız FPS Hatası
Plummer'ın açıklamalarına göre, oyunu Windows NT'ye port ederken orijinal oyun mantığının etrafına video ve ses işleme için tamamen yeni bir 'oyun motoru' yazmış. Ancak bu motorda kritik bir hata vardı.
Dave Plummer, durumu şöyle açıklıyor: 'Benim oyun motorumda bir hata vardı; kareleri çizebildiği kadar hızlı çiziyordu.' O dönemde, 200 MHz hızında çalışan bir MIPS R4000 işlemci üzerinde yapılan testlerde oyun 60-90 FPS gibi değerlerde çalışıyordu ve Plummer bu hızın böyle bir oyun için 'fazlasıyla yeterli' olduğunu düşünmüştü.
Asıl sorun, teknolojinin hızla ilerlemesiyle ortaya çıktı. Yıllar sonra çok çekirdekli ve çok daha güçlü işlemciler standart hale geldiğinde, birileri Pinball oyununun tek bir işlemci çekirdeğini sonuna kadar kullandığını fark etti. Plummer, gülerek durumu şöyle özetliyor: 'Oyun hala çizebildiği kadar hızlı çiziyordu, ama artık makineler eskisinden çok daha hızlı olduğu için saniyede 5.000 kare gibi bir hızda çizim yapıyordu.'
Çözüm ve Bir Mühendisin 'En Gururlu Anı'
Bu 'performans canavarı' hatayı düzelten kişi ise başka bir eski Microsoft mühendisi olan Raymond Chen oldu. Chen, oyuna bir kare hızı sınırlayıcısı ekleyerek FPS değerini maksimum 100 ile sabitledi. Bu basit ama etkili düzeltme, işlemci kullanımını normal seviyelere indirdi ve kullanıcıların bilgisayarlarında başka bir işlem yaparken (örneğin bir yazılım derlerken) aynı anda Pinball oynamasına olanak tanıdı.
Raymond Chen, bu anı 'Windows geliştirme sürecindeki en gururlu anım' olarak nitelendirerek, yazılım dünyasındaki küçük bir dokunuşun ne kadar büyük bir etki yaratabileceğini esprili bir dille ifade ediyor.
Bir Hatadan Daha Fazlası: Dönemin Geliştirici Kültürü
Plummer, bu hatayı 'Windows'ta piyasaya sürdüğüm en kötü hata' olarak tanımlasa da, bu olay aslında o dönemin Microsoft kültürüne dair de ipuçları veriyor. Plummer'a göre, bir ürünün içine sızan ve bir 'Service Pack' ile düzeltilmesi gereken hatalar asla gülünüp geçilecek bir konu değildi; aksine 'utanç verici bir şey' olarak görülürdü. Günümüzde hataların daha açık bir şekilde konuşulduğu ve 'fail fast' (hızlı başarısız ol) gibi felsefelerin benimsendiği yazılım dünyası ile kıyaslandığında, o dönemin katı kültürü dikkat çekiyor. Neyse ki, Pinball hatası kimseye gerçek bir zarar vermedi ve şimdi teknoloji tarihinin tatlı bir anısı olarak hatırlanıyor.
Nostaljik Bir Hatanın Günümüze Yansıması
Windows 3D Pinball'ın bu gizli hikayesi, yazılım geliştirmenin ne kadar karmaşık ve öngörülemez olabileceğinin mükemmel bir örneği. Masum bir hata, bir oyunu yıllar sonra bir performans canavarına dönüştürebiliyor. Bu olay, aynı zamanda günümüz oyuncularının takıntısı olan yüksek FPS değerlerinin, 90'lı yıllarda bir hata sonucu nasıl tesadüfen elde edilebildiğini de gözler önüne seriyor. Kim bilir, belki de o akıcı Pinball deneyimi, birçoğumuzun yüksek kare hızlarına olan sevgisinin ilk tohumlarını atmıştır.
Bu haberde yer alan bilgiler, PCGamer web sitesinde yayınlanan orijinal makaleden derlenmiştir.