ค้นพบบั๊กอายุ 55 ปีในเกม Lunar Lander เกมแรก
ประวัติของเกม
- ในปี 1969 Jim Storer นักเรียนมัธยมปลายได้พัฒนาเกม Lunar Landing เกมแรก
- ภายในปี 1973 เกมนี้ได้กลายเป็นเกมคอมพิวเตอร์ที่ได้รับความนิยมมากที่สุด
- เกมเป็นแบบข้อความล้วน ผู้เล่นต้องบังคับยานลงจอดบนดวงจันทร์ ใช้เชื้อเพลิงไปพร้อมกับพยายามลงจอดให้สำเร็จ
กลยุทธ์การใช้เชื้อเพลิงที่เหมาะสมที่สุด
- หากต้องการลงจอดโดยใช้เชื้อเพลิงให้น้อยที่สุด ต้องลงจอดให้เร็วที่สุดเท่าที่จะทำได้
- ในช่วงแรกให้ปิดเครื่องยนต์และปล่อยให้ยานร่วงลงด้วยความเร็วสูงสุด จากนั้นในวินาทีสุดท้ายค่อยเร่งกำลังเต็มที่เพื่อเผาเชื้อเพลิงและลดความเร็วให้เป็น 0
- กลยุทธ์นี้เรียกว่า "suicide burn" และจับจังหวะได้ยาก
การจำลองฟิสิกส์
- แม้ Jim Storer จะยังเป็นนักเรียนมัธยมปลาย แต่เขาใช้การจำลองฟิสิกส์ที่ละเอียดมาก
- เขาใช้สมการจรวดของ Tsiolkovsky และอาศัยอนุกรมเทย์เลอร์ของฟังก์ชันลอการิทึมเพื่อเพิ่มความแม่นยำ
- พ่อของเขาเป็นนักฟิสิกส์ และช่วยในการอนุมานสมการ
ปัญหาขณะลงจอด
- สมการจรวดทำงานได้ดีจนกระทั่งก่อนแตะพื้น
- ความยากอยู่ที่การคำนวณการชนอย่างแม่นยำในจังหวะที่ยานแตะพื้นพอดี
- ในโค้ดของ Jim มีสมการที่ผิดพลาด โดยมีรากที่สองอยู่ในตัวส่วน
การพบบั๊ก
- ในโค้ดของ Jim มีเลข 2 ที่ควรอยู่ในตัวส่วนหายไป
- ด้วยเหตุนี้ เวลาที่ใช้คำนวณจุดลงจอดจึงผิด และระบบรับรู้ว่ายานยังไม่ได้แตะพื้น
- เมื่อแก้บั๊กนี้แล้ว ความเร็วขณะลงจอดดีขึ้นอย่างมาก
บทสรุป
- สำหรับเกมที่สร้างโดยนักเรียนมัธยมปลายในปี 1969 นี่ถือเป็นผลงานที่น่าประทับใจมาก
- บั๊กนี้แทบไม่มีใครค้นพบเลยตลอดเกือบ 55 ปี
- ถึงอย่างนั้น เกมก็ยังสนุกและมีคนจำนวนมากชื่นชอบมัน
ความเห็นของ GN⁺
- คุณค่าทางประวัติศาสตร์: เกมนี้มีคุณค่าในฐานะส่วนหนึ่งของประวัติศาสตร์เกมคอมพิวเตอร์ยุคแรก และสะท้อนข้อจำกัดทางเทคนิคในเวลานั้น
- คุณค่าด้านการศึกษา: แม้จะเป็นเกมที่สร้างโดยนักเรียนมัธยมปลาย แต่ก็มีแนวคิดด้านฟิสิกส์และคณิตศาสตร์ที่ซับซ้อน จึงมีคุณค่าทางการศึกษาสูง
- ความสำคัญของบั๊ก: เรื่องนี้ตอกย้ำว่าความผิดพลาดเล็ก ๆ ในโค้ดสามารถส่งผลกระทบใหญ่ได้ และชี้ให้เห็นความสำคัญของการพัฒนาซอฟต์แวร์
- การเปรียบเทียบกับเกมสมัยใหม่: เมื่อเทียบกับเกมสมัยใหม่ เรื่องนี้ช่วยให้เข้าใจทั้งข้อจำกัดทางเทคนิคและความคิดสร้างสรรค์ของยุคนั้นได้ดีขึ้น
- ความก้าวหน้าทางเทคโนโลยี: เกมนี้เปิดโอกาสให้เปรียบเทียบพัฒนาการทางเทคโนโลยีในอดีตกับปัจจุบัน และสำรวจความเป็นไปได้ในอนาคต
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News