2 puan yazan GN⁺ 2024-06-15 | 1 yorum | WhatsApp'ta paylaş

İlk Lunar Lander oyunundaki 55 yıllık hata bulundu

Oyunun tarihi

  • 1969'da lise öğrencisi Jim Storer, ilk Lunar Landing oyununu geliştirdi.
  • 1973'e gelindiğinde bu oyun en popüler bilgisayar oyunlarından biri haline geldi.
  • Oyun basit, metin tabanlı bir yapıya sahipti; oyuncu yakıt tüketerek ay iniş aracını kontrol ediyor ve iniş yapmaya çalışıyordu.

En iyi yakıt tüketim stratejisi

  • En az yakıtla iniş yapmak için mümkün olduğunca kısa sürede iniş yapmak gerekir.
  • Başta motoru kapatıp azami hızla alçalmak, ardından son anda tüm gücü kullanarak yakıt yakıp hızı 0'a indirmek gerekir.
  • Bu stratejiye "intihar yanışı" denir ve zamanlamasını tutturmak zordur.

Fizik simülasyonu

  • Jim Storer, lise öğrencisi olmasına rağmen son derece gelişmiş bir fizik simülasyonu kullandı.
  • Tsiolkovsky roket denklemini kullandı ve doğruluğu artırmak için logaritma fonksiyonunun Taylor serisinden yararlandı.
  • Babası bir fizikçiydi ve denklemin türetilmesine yardımcı oldu.

İniş sırasındaki sorun

  • Roket denklemi, yere temas edilene kadar iyi çalışır.
  • İniş aracının yere değdiği andaki çarpışmayı doğru hesaplamak zordur.
  • Jim'in kodunda paydada karekök bulunan hatalı bir denklem vardı.

Hatanın bulunması

  • Jim'in kodunda paydada olması gereken 2 eksikti.
  • Bu yüzden iniş anı yanlış hesaplandı ve iniş aracının yere temas etmediği sanıldı.
  • Bu hata düzeltildiğinde iniş hızı büyük ölçüde iyileşiyor.

Sonuç

  • 1969'da bir lise öğrencisinin yaptığı bir oyun için son derece etkileyici bir çalışmaydı.
  • Bu hata yaklaşık 55 yıl boyunca fark edilmedi.
  • Oyun yine de eğlenceliydi ve pek çok kişi tarafından keyifle oynandı.

GN⁺ görüşü

  • Tarihsel değer: Bu oyun, ilk dönem bilgisayar oyunları tarihinin bir parçası olarak önemli bir tarihsel değere sahip ve dönemin teknik sınırlamalarını gösteriyor.
  • Eğitsel değer: Bir lise öğrencisi tarafından yapılmış olsa da karmaşık fizik ve matematik kavramları içerdiği için eğitsel değeri yüksek.
  • Hatanın önemi: Küçük bir kod hatasının büyük etkiler yaratabileceğini göstererek yazılım geliştirmenin önemini vurguluyor.
  • Modern oyunlarla karşılaştırma: Modern oyunlarla kıyaslandığında, dönemin teknik sınırlamalarını ve yaratıcılığını anlamaya yardımcı oluyor.
  • Teknolojik ilerleme: Bu oyun üzerinden geçmişle bugünün teknolojik gelişimini karşılaştırmak ve geleceğin olasılıklarını düşünmek mümkün.

1 yorum

 
GN⁺ 2024-06-15
Hacker News görüşleri
  • Jim Storer'ın ilk Lunar Lander oyununun yazarı olduğu ortaya çıkarıldı ve kendisiyle röportaj yapıldı. Ardından kaynak kodu alındı ve bunun oldukça ilgi çekici olduğu görüldü.
  • Storer, liseden mezun olduktan sonra oyunu unutmuştu. Ancak birkaç ay önce bir e-posta aldıktan sonra, kendi yaptığı oyunun dışında başka Lunar Lander oyunları da olduğunu öğrendi.
  • Oyunun 1969'da bir lise öğrencisi tarafından yapılmış olması etkileyici. Uzay çağında büyüyen, teknolojiye meraklı insanlar üzerinde büyük etkisi olmuş olmalı.
  • Röportajda Storer'ın kalkülüste iyi olduğundan bahsediliyor. Uzay ve roketlerle ilgileniyorsanız, Lunar Lander oyunu programlamak doğal bir seçim olurdu.
  • 1970'lerin ortasında 2D vektör grafik tabanlı bir Moon Lander oyunu yazıldı. Yakıt azsa ya da hız çok yüksekse çarpılıyor, aksi halde Amerikan bayrağı görünüyordu.
  • Kaynak kodunu atmış olmaktan pişmanlık duyuluyor. Tarihsel olarak erken dönem grafik oyunlarından biriydi ve basit bir emülasyonla yeniden hayata döndürülebilirdi.
  • 1973'e gelindiğinde Lunar Lander en popüler bilgisayar oyunu haline gelmişti. İlk programlama kitabında bu oyun denenmiş ama çok sayıda hata ve karmaşık mantık nedeniyle başarılamamıştı.
  • Yakıtı optimize eden bir iniş stratejisi öneriliyor. Belirli bir anda düşük itiş kullanarak yumuşak iniş yapma yöntemi açıklanıyor.
  • Bu oyun ilk kez 1976'da HP-25 hesap makinesinde oynandı. Aynı formül kullanılıyordu.
  • 1960'larda PDP-1 üzerinde Spacewar oynanmıştı ama Lunar Lander oyunu yoktu. İlk olan Storer'dı.
  • Özel bir formül kullanmadan her karede kütle ve ivmeyi yeniden hesaplama yöntemi öneriliyor. Kare hızı düştükçe doğruluk azalabilir.
  • 1970'lerin ortasında Wang 2200 BASIC'e port edilmiş sürüm oynandı. Maksimum itiş uygulama tekniği öğrenildi.
  • PDP11 için delikli kâğıt bant hâlâ saklanıyor. Kime verileceği bilinmiyor.