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

Holy smokes, I just released a MiniGolf game for Palm OS in 2024

नया Palm OS MiniGolf गेम जारी

  • इस गर्मी, मैंने एक नया Palm OS गेम बनाने का प्रोजेक्ट शुरू किया
  • दो महीने से भी कम की रुक-रुक कर की गई coding के बाद, "Captain's MiniGolf (v0.6)" जारी करते हुए खुशी हो रही है
  • गेम की मुख्य विशेषता यह है कि उपयोगकर्ता खुद level बना सकते हैं
  • level pack database बनाकर उसे दूसरे उपयोगकर्ताओं के साथ साझा किया जा सकता है

गेम कैसे खेलें

  • Palm OS डिवाइस न होने पर भी, cloudpilot emulator की बदौलत इसे सीधे browser में खेला जा सकता है
  • गेम download और browser के अंदर emulator उपलब्ध है

Palm OS coding की कठिनाइयाँ

  • C भाषा में coding करते समय कुछ बातें समझ में आईं:
    • modern programming languages में मिलने वाली convenience features नहीं होतीं, इसलिए गलती करना आसान है
    • memory leak अक्सर हो जाते हैं
    • polygon shapes और trajectories को debug करना मुश्किल है, इसलिए debug build बहुत मददगार है
  • Palm OS के लिए documentation की कमी के कारण coding कठिन है
  • नीचे दिए गए दो reference materials का उपयोग किया गया:
    • The Palm OS Programmer Companion (Palm OS SDK का हिस्सा)
    • Palm OS Programming Bible
  • GitHub पर दूसरे developers द्वारा साझा किया गया Palm OS गेम code भी संदर्भ के लिए देखा गया

Palm OS ही क्यों?

  • Palm OS डिवाइस अपनी सादगी और elegance के साथ बहुत कुछ कर सकते हैं
  • ऐसी constraints रचनात्मक सोच और वैकल्पिक समाधान खोजने के लिए प्रेरित करती हैं
  • आज के high-performance phones पर code optimization की ज़्यादा चिंता नहीं की जाती

ज्ञात bugs

  • गेंद दीवार में फँस सकती है
  • अगर main field wall के भीतर बंद polygon wall वाला level बनाया जाए, तो background/course सही तरह से रंगा नहीं जाता

सुधार के बिंदु

  • level delete/move options जोड़ना
  • level pack delete और share options जोड़ना (फिलहाल FileZ जैसी external application का उपयोग करना पड़ता है)
  • resolution 160x160 पर fixed है (या Palm OS 5 high-resolution devices पर 320x320), इसे screen size के अनुसार dynamically बदलने की ज़रूरत है

साझा करना ही परवाह है

  • इस गेम का पूरा source code GPL3 license के तहत सार्वजनिक किया गया है
  • उम्मीद है कि इससे दूसरे लोगों को और Palm OS गेम बनाने की प्रेरणा या मदद मिलेगी
  • Captain's MiniGolf source code उपलब्ध है

GN⁺ का सार

  • यह लेख Palm OS के प्रति nostalgia जगाता है और सीमित संसाधनों में रचनात्मक समाधान खोजने के आनंद पर ज़ोर देता है
  • आज के शक्तिशाली devices के विपरीत, Palm OS की constraints developers से चुनौती और रचनात्मकता दोनों की मांग करती हैं
  • Palm OS गेम development में रुचि रखने वालों के लिए उपयोगी reference materials और source code प्रदान करता है
  • समान प्रकृति के प्रोजेक्ट के रूप में RetroArch जैसे emulator projects की सिफारिश की गई है

1 टिप्पणियां

 
GN⁺ 2024-09-12
Hacker News की राय
  • "गेंद के छेद में गिरने" वाला animation जोड़ने का सुझाव

    • गेंद को छेद में जाते देखना उपलब्धि का एहसास दे सकता है
  • अगले level के load होने से पहले छोटा बधाई animation जोड़ने का सुझाव

    • "Loading" टेक्स्ट अचानक आता है, जिससे लगता है जैसे कुछ गलत हो गया हो
    • "Nice!" जैसा टेक्स्ट दिखाएँ, और गेंद को छेद में गायब होते हुए दिखाएँ
    • loading dialog को थोड़ी देर दिखाया जा सकता है या छोड़ा भी जा सकता है
  • 1990 के दशक के Macintosh के लिए miniature golf game विकसित करने का अनुभव साझा किया

    • 35 साल पुराने source को restore कर रहे हैं और emulator के लिए disk image बना रहे हैं
    • पहला black-and-white प्रयास GitHub पर है
    • दूसरा color प्रयास Volume 2 में शामिल होने वाला है
  • Palm OS जैसे retro homebrew executable की व्यावहारिकता पर राय

    • कई platforms पर चल सकता है, offline, efficient, और बिना किसी distraction के
    • Apotris जैसे game कई consoles और computers पर installation के बिना खेले जा सकते हैं
    • single executable का फ़ायदा: बहुत लंबे समय बाद भी चलाया जा सकता है
  • Palm IIIxe के लिए nostalgia

    • notifications कम थे और सिर्फ ज़रूरी features मिलते थे
    • iPhone की notifications को शांत करने में समय लगता है
    • Palm तब तक notifications नहीं भेजता था जब तक उपयोगकर्ता न चाहे
    • वापस जाना नहीं चाहेंगे, लेकिन कुछ चीज़ों की कमी महसूस होती है
  • गेंद को छेद में गिरते हुए दिखाने का सुझाव

    • इससे खिलाड़ी की संतुष्टि बढ़ सकती है
  • Palm LifeDrive के लिए nostalgia

    • Blackberries पर switch करते समय वह खो गया
    • उस समय यह एक शानदार device था
  • game development की आम समस्याओं पर राय

    • memory leak, debugging आदि आम समस्याएँ हैं
    • Unreal, Unity, Godot जैसे game engines कई समस्याओं को abstract कर देते हैं
    • C, OpenGL, और memory limits के साथ game development करते समय ऐसी ही समस्याएँ आ सकती हैं
    • level editor लागू करने में रुचि
  • miniature golf game के art design की प्रशंसा

    • mouse control की दिशा उलट देना ज़्यादा स्वाभाविक लग सकता है
    • FOSS game fans के लिए Neverball और Neverput की सिफारिश
  • browser-based emulator में game मज़ेदार लगा

    • Android, iOS, और browser ports का सुझाव
    • बहुत मज़ेदार है