2 poin oleh GN⁺ 2024-06-15 | 1 komentar | Bagikan ke WhatsApp

Ditemukan bug di game Lunar Lander pertama yang berusia 55 tahun

Sejarah game

  • Pada 1969, seorang siswa SMA bernama Jim Storer mengembangkan game Lunar Landing pertama.
  • Hingga 1973, game ini menjadi game komputer paling populer.
  • Game ini berbasis teks sederhana, di mana pemain mengendalikan pendarat bulan dan mencoba mendarat sambil menghabiskan bahan bakar.

Strategi konsumsi bahan bakar yang optimal

  • Untuk mendarat dengan bahan bakar seminimal mungkin, pendaratan harus dilakukan dalam waktu sesingkat mungkin.
  • Pada awalnya, mesin dimatikan dan pendarat turun pada kecepatan maksimum, lalu pada detik terakhir membakar bahan bakar dengan daya penuh untuk menurunkan kecepatan menjadi 0.
  • Strategi ini disebut "suicide burn", dan sangat sulit untuk menentukan timing-nya.

Simulasi fisika

  • Meskipun masih siswa SMA, Jim Storer menggunakan simulasi fisika yang sangat canggih.
  • Ia menggunakan persamaan roket Tsiolkovsky dan memanfaatkan deret Taylor dari fungsi logaritma untuk meningkatkan akurasi.
  • Ayahnya adalah seorang fisikawan dan membantu menurunkan persamaan tersebut.

Masalah saat pendaratan

  • Persamaan roket bekerja dengan baik sampai sebelum menyentuh permukaan.
  • Sulit untuk menghitung secara akurat tumbukan pada saat pendarat menyentuh tanah.
  • Dalam kode Jim, terdapat persamaan yang salah dengan akar kuadrat di penyebut.

Penemuan bug

  • Dalam kode Jim, angka 2 yang seharusnya ada di penyebut ternyata hilang.
  • Akibatnya, waktu pendaratan dihitung secara keliru, dan pendarat dianggap tidak menyentuh tanah.
  • Setelah bug ini diperbaiki, kecepatan pendaratan meningkat secara signifikan.

Kesimpulan

  • Untuk game yang dibuat oleh seorang siswa SMA pada 1969, ini adalah karya yang sangat mengesankan.
  • Bug ini nyaris tidak ditemukan selama hampir 55 tahun.
  • Game ini tetap menyenangkan, dan banyak orang menikmatinya.

Opini GN⁺

  • Nilai historis: Game ini memiliki nilai historis sebagai bagian dari sejarah awal game komputer, dan menunjukkan keterbatasan teknis pada masa itu.
  • Nilai edukatif: Meski dibuat oleh siswa SMA, game ini memuat konsep fisika dan matematika yang kompleks sehingga memiliki nilai edukatif yang tinggi.
  • Pentingnya bug: Hal ini menekankan pentingnya pengembangan perangkat lunak, karena kesalahan kecil dalam kode dapat menimbulkan dampak besar.
  • Perbandingan dengan game modern: Dibandingkan dengan game modern, ini membantu memahami keterbatasan teknis dan kreativitas pada masa tersebut.
  • Perkembangan teknologi: Melalui game ini, kita bisa membandingkan perkembangan teknologi masa lalu dan masa kini, serta mengeksplorasi kemungkinan di masa depan.

1 komentar

 
GN⁺ 2024-06-15
Komentar Hacker News
  • Ditemukan bahwa Jim Storer adalah penulis game Lunar Lander pertama, lalu dilakukan wawancara dengannya. Setelah itu, kode sumbernya diperoleh dan ternyata sangat menarik.
  • Storer telah melupakan game itu setelah lulus SMA. Baru setelah menerima email beberapa bulan lalu ia mengetahui bahwa ada game Lunar Lander lain selain yang ia buat.
  • Sangat mengesankan bahwa ini adalah game yang dibuat oleh seorang siswa SMA pada 1969. Kemungkinan besar hal ini memberi pengaruh besar pada orang-orang yang tumbuh di era antariksa dan memiliki minat kuat pada teknologi.
  • Dalam wawancara disebutkan bahwa Storer mahir dalam kalkulus. Jika tertarik pada luar angkasa dan roket, memprogram game Lunar Lander terasa seperti hal yang alami.
  • Pada pertengahan 1970-an, ada yang menulis game Moon Lander berbasis grafis vektor 2D. Jika bahan bakar habis atau kecepatannya terlalu tinggi maka akan jatuh, jika tidak maka bendera Amerika akan terlihat.
  • Menyesal telah membuang kode sumbernya. Secara historis itu adalah game grafis awal, dan bisa dihidupkan kembali lewat emulasi sederhana.
  • Hingga 1973, Lunar Lander menjadi game komputer paling populer. Game ini pernah dicoba dari buku pemrograman pertama, tetapi gagal karena banyak bug dan logika yang rumit.
  • Mengusulkan strategi pendaratan yang mengoptimalkan bahan bakar. Dijelaskan metode untuk mendarat mulus dengan menggunakan dorong rendah pada momen tertentu.
  • Pertama kali memainkan game ini pada 1976 di kalkulator HP-25. Menggunakan rumus yang sama.
  • Pada 1960-an, pernah memainkan Spacewar di PDP-1, tetapi belum ada game Lunar Lander. Storer adalah yang pertama.
  • Mengusulkan metode menghitung ulang massa dan percepatan di setiap frame tanpa memakai rumus khusus. Semakin rendah frame rate, akurasinya bisa menurun.
  • Pada pertengahan 1970-an, pernah memainkan versi port game ini ke Wang 2200 BASIC. Saat itu belajar teknik menerapkan daya dorong maksimum.
  • Masih menyimpan punch tape untuk PDP11. Tidak tahu harus memberikannya kepada siapa.