2 पॉइंट द्वारा GN⁺ 2024-06-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें

55 साल पुराने पहले Lunar Lander गेम में बग मिला

गेम का इतिहास

  • 1969 में, Jim Storer नाम के एक हाई स्कूल छात्र ने पहला Lunar Landing गेम विकसित किया।
  • 1973 तक यह गेम सबसे लोकप्रिय कंप्यूटर गेम बन गया था।
  • यह गेम सरल टेक्स्ट-आधारित था, जिसमें खिलाड़ी ईंधन खर्च करते हुए Lunar Lander को नियंत्रित कर लैंडिंग की कोशिश करता था।

ईंधन की खपत की सर्वोत्तम रणनीति

  • न्यूनतम ईंधन में लैंड करने के लिए जितना संभव हो उतने कम समय में लैंड करना चाहिए।
  • शुरुआत में इंजन बंद रखकर अधिकतम गति से नीचे उतरना, फिर आखिरी क्षण में पूरी शक्ति से ईंधन जलाकर गति को 0 करना सबसे उपयुक्त है।
  • इस रणनीति को "suicide burn" कहा जाता है, और इसका सही टाइमिंग पकड़ना कठिन होता है।

भौतिकी सिमुलेशन

  • Jim Storer ने हाई स्कूल छात्र होने के बावजूद बहुत परिष्कृत भौतिकी सिमुलेशन का उपयोग किया।
  • उन्होंने Tsiolkovsky rocket equation का उपयोग किया और सटीकता बढ़ाने के लिए logarithm function की Taylor series का सहारा लिया।
  • उनके पिता भौतिक विज्ञानी थे और उन्होंने equation निकालने में मदद की।

लैंडिंग के समय की समस्या

  • rocket equation जमीन को छूने से पहले तक अच्छी तरह काम करती है।
  • Lander के जमीन को छूने वाले सटीक टक्कर-क्षण की गणना करना कठिन है।
  • Jim के कोड में हर में square root शामिल करने वाली एक गलत equation थी।

बग की खोज

  • Jim के कोड में हर में होना चाहिए था वह 2 गायब था।
  • इसके कारण लैंडिंग का समय गलत गणना हुआ और सिस्टम ने माना कि Lander ने जमीन को छुआ ही नहीं।
  • इस बग को ठीक करने पर लैंडिंग की गति में काफी सुधार होता है।

निष्कर्ष

  • 1969 में एक हाई school छात्र द्वारा बनाया गया यह गेम अपने समय के हिसाब से बेहद प्रभावशाली काम था।
  • यह बग लगभग 55 साल तक पकड़ में नहीं आया।
  • गेम फिर भी मजेदार था और बहुत से लोगों ने इसका आनंद लिया।

GN⁺ की राय

  • ऐतिहासिक महत्व: यह गेम शुरुआती कंप्यूटर गेम इतिहास में महत्वपूर्ण स्थान रखता है और उस दौर की तकनीकी सीमाएँ दिखाता है।
  • शैक्षिक महत्व: भले ही यह गेम एक हाई school छात्र ने बनाया था, इसमें जटिल भौतिकी और गणित की अवधारणाएँ शामिल हैं, इसलिए इसका शैक्षिक मूल्य भी ऊँचा है।
  • बग का महत्व: यह दिखाता है कि कोड की एक छोटी-सी गलती भी बड़ा प्रभाव डाल सकती है, और यही सॉफ़्टवेयर डेवलपमेंट के महत्व को रेखांकित करता है।
  • आधुनिक गेम्स से तुलना: आधुनिक गेम्स की तुलना में यह उस समय की तकनीकी सीमाओं और रचनात्मकता को समझने में मदद करता है।
  • तकनीकी प्रगति: इस गेम के ज़रिए तब और अब की तकनीकी प्रगति की तुलना की जा सकती है और भविष्य की संभावनाओं को देखा जा सकता है।

1 टिप्पणियां

 
GN⁺ 2024-06-15
Hacker News राय
  • यह पता लगाया गया और इंटरव्यू किया गया कि Jim Storer मूल Lunar Lander गेम के लेखक थे। बाद में उनसे source code मिला, जो बहुत दिलचस्प था।
  • Storer हाई स्कूल से ग्रेजुएट होने के बाद इस गेम को भूल चुके थे। कुछ महीने पहले ईमेल मिलने के बाद ही उन्हें पता चला कि उनके बनाए गेम के अलावा भी दूसरे Lunar Lander गेम मौजूद हैं।
  • यह प्रभावशाली है कि यह 1969 में एक हाई स्कूल छात्र द्वारा बनाया गया गेम था। स्पेस एज में बड़े हुए तकनीक-रुचि वाले लोगों पर इसका बड़ा असर पड़ा होगा।
  • इंटरव्यू में उल्लेख है कि Storer calculus में निपुण थे। अगर किसी की स्पेस और रॉकेट में रुचि हो, तो Lunar Lander गेम प्रोग्राम करना स्वाभाविक लगता है।
  • 1970 के दशक के मध्य में 2D vector graphics आधारित Moon Lander गेम लिखा गया था। ईंधन कम होने पर या बहुत तेज़ होने पर crash होता था, नहीं तो अमेरिकी झंडा दिखाई देता था।
  • Source code फेंक देने का अफसोस है। ऐतिहासिक रूप से यह शुरुआती graphics गेम था, और एक साधारण emulation से फिर जीवित किया जा सकता था।
  • 1973 तक Lunar Lander सबसे लोकप्रिय computer game बन गया था। पहली programming किताब में इस गेम को बनाने की कोशिश की थी, लेकिन कई bug और जटिल logic की वजह से असफल रहा।
  • ईंधन-optimized landing strategy का सुझाव दिया गया। समझाया गया कि किस तरह एक खास समय पर low thrust का उपयोग करके smooth landing की जा सकती है।
  • 1976 में HP-25 calculator पर यह गेम पहली बार खेला गया था। उसी formula का उपयोग किया गया था।
  • 1960 के दशक में PDP-1 पर Spacewar खेला गया था, लेकिन Lunar Lander गेम नहीं था। Storer ही पहले थे।
  • किसी खास formula का उपयोग किए बिना हर frame पर mass और acceleration को फिर से गणना करने का तरीका सुझाया गया। Frame rate कम होने पर accuracy घट सकती है।
  • 1970 के दशक के मध्य में Wang 2200 BASIC में port किए गए गेम को खेला गया था। maximum thrust लागू करने की तकनीक सीखी गई।
  • PDP11 के लिए punch tape अब भी संभालकर रखी हुई है। पता नहीं किसे दी जाए।