2 पॉइंट द्वारा GN⁺ 2024-09-12 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 2024 में नया Palm OS मिनीगोल्फ गेम Captain's MiniGolf v0.6 जारी किया गया, जिसे लगभग दो महीने से कम की रुक-रुक कर की गई coding में पूरा किया गया
  • इसकी मुख्य बात यह है कि खिलाड़ी खुद level pack database बना सकते हैं, उन्हें export कर सकते हैं और दूसरे users के साथ share कर सकते हैं
  • असली Palm OS device न होने पर भी इसे cloudpilot emulator के जरिए browser में सीधे चलाया जा सकता है
  • C और पुराने Palm OS environment ने memory leaks, polygon और trajectory debugging, तथा कम documentation जैसी development constraints को फिर सामने ला दिया
  • source code GPL3 license के तहत जारी किया गया है और इसे Palm OS games बनाने वाले दूसरे लोगों के लिए reference material के रूप में इस्तेमाल किया जा सकता है

Captain's MiniGolf v0.6 जारी

  • Captain's MiniGolf v0.6 2024 में नया बनाया गया Palm OS के लिए मिनीगोल्फ गेम है
  • यह summer side project के रूप में शुरू हुआ और दो महीने से कम की रुक-रुक कर की गई coding के बाद जारी किया गया
  • इसकी सबसे बड़ी खासियत यह है कि users खुद level pack database बना सकते हैं
    • बनाए गए level packs को export और share किया जा सकता है
    • दूसरे users कौन-से courses बनाएंगे, यह देखना आगे की दिलचस्पी का हिस्सा है
  • Palm OS device न होने पर भी इसे cloudpilot emulator के जरिए browser में चलाया जा सकता है

Palm OS development experience और सार्वजनिक resources

  • C में Palm OS के लिए game बनाते समय फिर यह स्पष्ट हुआ कि modern languages की सुरक्षा सुविधाएं न होने पर छोटी गलतियां भी बड़े issues में बदल सकती हैं
  • Memory leaks उम्मीद से ज्यादा बार हुए, और polygon shapes व ball trajectory की debugging भी आसान नहीं थी
    • internal logic को visualize करने वाला debug build issues समझने में बहुत मददगार रहा
  • Palm OS में documentation कम है, जिससे development difficulty बढ़ी, और ये resources reference material के रूप में उपयोग हुए
  • ज्ञात bugs में ball का wall में फंस जाना, और main play field के अंदर closed wall polygon बनाने पर background या course color का सही तरह से handle न होना शामिल है
  • planned improvements में level delete/move करना, level pack delete/share करना, और screen size के अनुसार dynamic resolution support शामिल हैं
    • फिलहाल resolution 160x160 पर fixed है
    • Palm OS 5 high-resolution devices पर यह 320x320 में चलता है
  • पूरा source code GPL3 license के तहत जारी किया गया है
  • draft Palm Zire 72 पर लिखा गया था

1 टिप्पणियां

 
GN⁺ 2024-09-12
Hacker News की राय
  • 1990 के दशक में Macintosh के लिए मिनी गोल्फ गेम बनाने की दो बार शुरुआत की थी, लेकिन कभी पूरा या रिलीज़ नहीं कर पाया।
    हाल ही में लगभग 35 साल पुराने source code को रिकवर कर रहा हूँ और emulator में इस्तेमाल के लिए disk image बना रहा हूँ। पहला black-and-white MiniGolf प्रयास यहाँ है: https://github.com/EngineersNeedArt/SoftDorothy-UnfinishedTa...
    दूसरा प्रयास तब बनाया गया color version है जब मेरी programming skills बेहतर हो गई थीं, और यह Volume 2 में जाएगा। अभी उस disk image को assemble कर रहा हूँ

    • Glider 68k Mac दौर की एक iconic franchise थी। इसे फिर से काम होते देखना वाकई भावुक कर देने वाला है
    • Graphics सच में शानदार हैं। style पसंद आया
    • बचपन में Glider बहुत खेला था। शायद यह कहने का मौका फिर न मिले, इसलिए games बनाने के लिए बहुत-बहुत धन्यवाद
    • John, धन्यवाद। इस repository में मेरी पसंदीदा चीज़ों—कला, engineering, इतिहास—की थोड़ी-थोड़ी झलक है, और सबसे बढ़कर कला है। सच में प्रेरणादायक
  • बढ़िया!
    सोच रहा हूँ कि क्या आपने गेंद के hole में गिरने की animation जोड़ने पर विचार किया है। video में ऐसा लगता है कि जैसे ही गेंद और hole पर्याप्त overlap करते हैं, नया level load हो जाता है
    user के नज़रिए से गेंद को सचमुच अंदर जाते देखना कहीं ज़्यादा satisfying होगा। अगला level load होने से पहले achievement का एहसास भी ज़्यादा होगा

    • अब इस पर विचार करूँगा, धन्यवाद
  • शानदार काम, और धन्यवाद!
    इन दिनों मुझे लगने लगा है कि Palm OS या दूसरे retro homebrew executable formats का nostalgia से आगे भी वास्तविक उपयोग हो सकता है
    Palm OS .prc, itch.io के .gb homebrew ROM जैसी चीज़ें desktop, iOS, Android और असली gaming devices पर चल सकती हैं; offline में efficient हैं, distractions नहीं हैं, और in-app purchase की संभावना भी नहीं है
    उदाहरण के लिए Apotris को देखें: मैंने सालों में Tetris के कई official versions खरीदे हैं और शायद आगे भी खरीदूँगा, लेकिन यह एक बेहद polished implementation है जो सभी consoles पर चल सकता है। RetroArch Web जैसे WASM-based GBA emulators और modern browsers के native gamepad support की वजह से इसे लगभग किसी भी computer पर बिना install किए खेला जा सकता है
    ऊपर से, आपके पास एक standalone executable file होती है, और यह भरोसा भी कि 1 साल, 10 साल, 20 साल बाद भी इसके चलने की संभावना काफ़ी अधिक है। मुझे लगता है कि मेरे पसंदीदा कई iOS games या web indie games के साथ शायद ऐसा नहीं होगा

    • अगर कोई modern Palm OS phone हो जो original UI philosophy को बनाए रखे और सभी पुराने titles चला सके, तो सच में अच्छा होगा। emulation के ज़रिए भी हो सके तो बढ़िया
  • 1999 के आसपास PalmOS के लिए code लिखा था। खास तौर पर application testing का तरीका याद है
    शायद यह emulator feature था, जो software पर लगातार events फेंकता रहता था। details भूल गया हूँ, लेकिन उदाहरण के लिए अगर 1,000 events झेल ले तो pass, 10,000 तो अच्छा, और 100,000 तो शानदार level माना जाता था
    मैं खुद को काफ़ी ठीक-ठाक C++ programmer मानता था, लेकिन उस tool का इस्तेमाल करते ही application कितनी जल्दी crash हो जाती थी, यह देखकर shock लगा। काफ़ी विनम्र बना देने वाला और आँखें खोल देने वाला अनुभव था
    अक्सर सोचता हूँ कि इतना simple tool bugs उजागर करने में कितना effective था, हालांकि आज के multitasking और internet-connected devices पर शायद वही तरीका जस का तस लागू नहीं होगा
    एक और बात याद है कि CodeWarrior पहला IDE था जिसमें current source file के सभी functions दिखाने वाला drop-down box था। productivity के लिहाज़ से यह काफ़ी बड़ा कदम था
    साथ ही, 2010 में Japan में रहते हुए भी मैं Palm Tungsten इस्तेमाल कर रहा था। Palm के लिए एक बहुत simple Japanese dictionary app था; अगर stroke order और direction के basic rules सीख लें, तो stylus से दिख रहे character की नकल करके matching kanji खोज सकते थे। signs पर अज्ञात kanji की नकल करते हुए मैंने रास्ता ढूँढने की काफी समस्याएँ हल की थीं

    • > drop-down box with all the functions
      functions को अलग करने वाला #pragma - याद है। अब ऐसी चीज़ नहीं मिलती। विकल्प के तौर पर code blocks fold करने वाला #pragma region है, लेकिन वह अलग है
    • किसी के Rust को PalmOS पर port करने की कोशिश की तस्वीर दिमाग में आ गई। उम्मीद है ऐसा न हो
  • सोच रहा था कि क्या इसे real hardware पर चलाया जा सकता है, तभी एहसास हुआ कि BlackBerry पर switch करते समय मेरा Palm LifeDrive कहाँ गया, यह मुझे बिल्कुल पता नहीं
    वह छोटा, मोटा PDA याद आता है। उस समय के हिसाब से सच में कमाल था
    https://en.wikipedia.org/wiki/LifeDrive

    • पिछले हफ़्ते सफ़ाई करते हुए पुराना Palm Tungsten E2 मिला। charger भी मिल गया तो इसे चलाकर बताऊँगा
    • LifeDrive सच में अजीब Palm था
      एक तरफ़, पुराने devices की तुलना में परेशान कर देने वाले loading times के कारण मुझे यह पसंद नहीं था। वजह यह थी कि OS मूल रूप से सब कुछ RAM/ROM में रखने के लिए design किया गया था और शुरुआत में file/block-based memory का concept था ही नहीं; ऐसे में लगभग हर unexpected memory access hard disk को जगा देता था। size भी अपेक्षाकृत बड़ा था
      दूसरी तरफ़, यह 4GB था। इसमें दो से ज़्यादा पूरी movies रखी जा सकती थीं। यह Wi-Fi वाला पहला Palm भी था, जो अच्छी बात थी
      कुल मिलाकर, मेरे लिए यह इस बात का प्रतीक लगने लगा था कि Palm आधुनिक trend को तेज़ी से miss कर रहा है। उदाहरण के लिए, usability में Symbian की Palm OS से तुलना नहीं थी, लेकिन OS के नज़रिए से वह काफी आगे था, और बाद में तो ज़ाहिर है iPhone और Android आ गए
  • मुझे यह सच में पसंद आया, खासकर art design। शानदार काम
    व्यक्तिगत रूप से मैं एक चीज़ बदलना चाहूँगा: aim करते समय mouse को उल्टी दिशा में हिलाना ज़्यादा natural लगता है। पुराने Miniclip के कई mini golf games ऐसा ही करते थे
    अगर आपको free open-source games पसंद हैं, तो Neverball और Neverput सुझाऊँगा। Neverput अच्छे graphics वाला 3D golf simulator है

    • मूल Palm stylus का इस्तेमाल करता था, इसलिए finger touchscreen phone के विपरीत aim point नहीं ढकता था। साथ ही, shot की दिशा वाली तरफ़ ज्यादा जगह छोड़ने का कारण भी रहा होगा
  • खूबसूरत! इसकी वजह से मुझे अपना IIIxe याद आ गया
    यादों के गलत गुलाबी फिल्टर से देखें, तो शायद portable devices पर productivity के शिखर के करीब की चीज़ रही होगी। उसमें इतनी functionality थी कि हमेशा साथ रखते हुए जिन चीज़ों की चिंता रहती थी उन्हें याद दिला सके, लेकिन ध्यान भटकाने वाले notifications पूरी तरह नदारद थे
    iPhone को मुझे लगातार परेशान न करने के लिए शांत बनाने में थोड़ा समय लगा, लेकिन Palm में default ही opt-in था। जब तक आप खुद उसे किसी चीज़ के बारे में बताने को न कहें, वह शांत रहता था
    सच में वापस लौटना पड़े तो नहीं लौटूंगा, लेकिन एक तरफ उसकी याद भी आती है

    • मुझे भी ऐसा ही लगता है। मुझे अपना IIIxe वाकई बहुत पसंद था
      आज वापस जाकर देखूं तो शायद user experience देखकर चौंक जाऊं, लेकिन उस समय उसने productivity बहुत बढ़ा दी थी। हैंडराइटिंग इनपुट भाषा भी सच में बहुत अच्छी थी। मैंने उससे सचमुच reports भी लिखी थीं
      laptop साथ लिए बिना bus या सफर में लिख पाना शानदार था। वे कमाल के devices थे
    • Notification control उन सबसे शक्तिशाली user experience features में से एक है जिनका इस्तेमाल किया जा सकता है। जिन थोड़े-से notifications को मैं allow करता हूं, उनके लिए location/time-based focus modes का सक्रिय रूप से उपयोग करता हूं
  • पसंद आया! एक छोटा-सा सुझाव है: अगला level load करने से पहले गेंद के hole में जाने का क्षण दिखाने के लिए थोड़ा समय मिल जाए तो अच्छा होगा। वह संतुष्टि player से छीन लेना निराशाजनक हो सकता है

  • दिलचस्प project है। memory leaks या debugging जैसी समस्याएं, जितना लोग सोचते हैं उससे कहीं ज्यादा game development में आम हैं
    इन समस्याओं में से काफी को Unreal, Unity, Godot जैसे game engines ने abstract कर दिया है, लेकिन अगर C, OpenGL और memory limits के साथ game development कर रहे हों, खासकर जब hardware खुद limitations लागू करता हो, तो वैसी ही शुरुआती trial-and-error से गुजरना पड़ सकता है
    level editor एक अच्छा element है। implementation जानने की उत्सुकता है; Tony Hawk series में भी इसी तरह की category का feature था और वह Tony Hawks Pro StrCpy तक गया: https://icode4.coffee/?p=954
    हालांकि jailbreak या arbitrary code execution, mini golf side project की तुलना में PalmOS पर कहीं ज्यादा आसानी से हासिल हो सकता है

  • browser-based emulator में आज़माया तो game सच में मजेदार है। practice mode में तो लगभग खिंच ही गया था
    Android, iOS और browser के लिए ported या inspired versions हों तो अच्छा होगा। वाकई मजेदार है