1 पॉइंट द्वारा GN⁺ 2024-11-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • TIGSource फ़ोरम

    • TIGSource ने आधिकारिक Discord server शुरू किया है.
    • फ़ोरम में विभिन्न विषय और चर्चाएँ हैं, और कई सदस्य इसमें भाग ले रहे हैं.
  • Return of the Obra Dinn

    • गेम की graphic style और dithering समस्या पर चर्चा चल रही है.
    • उच्च resolution में render करने के बाद downscale करके flickering समस्या को हल करने की कोशिश की जा रही है.
    • dithering pattern को स्थिर करके movement में stability देने के तरीकों पर चर्चा हो रही है.
  • dithering process

    • Obra Dinn पहले 8-bit grayscale में render होता है, फिर 1-bit में convert किया जाता है.
    • दो dithering pattern इस्तेमाल करके विभिन्न visual effects दिए जाते हैं.
    • चलती हुई image में dithering pattern समस्या पैदा कर सकता है.
  • dithering stabilization

    • stability बढ़ाने के लिए dithering pattern को geometry पर स्थिर करने के तरीकों का अध्ययन किया गया.
    • सर्वोत्तम परिणाम पाने के लिए कई mapping methods आज़माने की कोशिश की गई.
  • निष्कर्ष

    • dithering समस्या को हल करने में काफी समय लगा, लेकिन अंततः गेम की visual style बनाए रखते हुए समस्या हल कर ली गई.
    • अंतिम गेम में दो display modes दिए जाने की योजना है.

1 टिप्पणियां

 
GN⁺ 2024-11-09
Hacker News टिप्पणियाँ
  • 10 साल से ज़्यादा समय तक graphics programming करने के बावजूद, गेम खेलते समय मैंने इसे नोटिस नहीं किया। गेम की पूरी visual language को देखते हुए, लगता है कि वे 100 घंटे वाकई बहुत अच्छे से खर्च हुए
    इस स्तर पर तो non-photorealistic rendering में temporal consistency के विषय पर इसे SIGGRAPH में भी भेजा जा सकता था

    • सीन में इधर-उधर देखते समय dithering stability जरूर नजर आई थी, लेकिन इसके लिए इतना काम लगा होगा, यह बिल्कुल अंदाज़ा नहीं था। यह लेख पढ़ने के बाद अब मैं इसकी और भी ज़्यादा सराहना करूँगा
  • जिन्हें पता नहीं है, उनके लिए: Return of the Obra Dinn और Papers, Please दोनों Lucas Pope के गेम हैं, और कई पुरस्कार जीत चुके पक्के classic माने जाते हैं
    अगर आप आम तौर पर गेम नहीं खेलते, तब भी इन्हें देखना वाकई worthwhile है। दोनों ही typical गेम नहीं हैं

    • Papers, Please एक masterpiece है। Obra Dinn में शायद मैंने कुछ गलती कर दी; कुछ बहुत कम कहानी सामने आने के बाद और दूसरे clues से मिलान करने लायक पर्याप्त चीज़ें मिलने से पहले ही उसने मुझे कोई और clue देना बंद कर दिया
    • Papers, Please मेरे all-time favorite games में से एक है। core जानकारी याद रखने के लिए मैंने flashcards तक बनाए, और inspection skill सुधारने के लिए बार-बार practice की
      बहुत कम गेम मुझे इतना करने पर मजबूर कर पाए हैं। Obra Dinn मैंने नहीं खेला क्योंकि उसका art style मुझे आकर्षित नहीं कर पाया, लेकिन अगर आपको deduction games पसंद हैं तो Curse of the Golden Idol भी देखने लायक है। creativity के मामले में यह उन गेम्स के करीब है और काफी मज़ेदार है
    • उसकी वेबसाइट पर game jams में बनाए गए कई शानदार projects हैं। सचमुच मज़ेदार और creative ideas हैं, और उनमें से कुछ full games बन गए
    • Wolfenstein 3D के समय से first-person shooters खेलता आ रहा हूँ, लेकिन Return of the Obra Dinn ही अकेला गेम था जिससे मुझे motion sickness हुई
      फिर भी मैंने इसे पूरा खत्म किया
  • मजबूत 1-bit dithering वाकई दिलचस्प विषय है। 2D में भी इसके कई तरीके हैं, और हर एक के अपने फायदे-नुकसान और trade-offs हैं
    80s के computing experience का core रही चीज़ आधुनिक hardware पर उल्टे काफी पेचीदा है, यह हैरान करता है। मेरे project[0] में मुझे पता चला कि offscreen pixels और browser द्वारा दिए गए canvas को 1:1 map करना लगभग नामुमकिन है
    [0] https://sheep.horse/2023/1/improved_web_component_for_pixel-...

    • यह अभी भी मज़ेदार लगता है कि काफी modern nVidia card resolution बदलने में कई सेकंड लेता है, जबकि 35 साल पुराना Atari एक ही screen refresh के भीतर कई बार resolution बदल सकता था
      मैंने पहले जो एक simple game बनाया था, उसमें screen का 3/4 हिस्सा low-resolution color display इस्तेमाल करता था, और नीचे का हिस्सा अधिक text फिट करने के लिए 4 colors के साथ 2x horizontal resolution इस्तेमाल करता था। इसलिए वह प्रति सेकंड 120 बार resolution switch करता था, फिर भी CPU खास धीमा नहीं होता था
  • सुझाए गए approaches में से कोई भी ठीक से काम करता नहीं दिखता, और यह समस्या दिखने से कहीं ज्यादा जटिल लगती है
    जो चीज़ ठीक से काम कर सकती है, वह शायद “fractal” dither pattern होगा, ताकि zoom in/out smooth और scale-invariant रहे; camera movement और object movement दोनों सही रहें, इसके लिए texel space में process करना; और bilinear filtering या dither pattern की supersampled rendering के बाद screen space में compute shader से किसी तरह का error-diffusion pass चलाना
    हालांकि असल में यह अच्छा काम करेगा या नहीं, इसका भरोसा नहीं। अगर यह काफी न हो, तो एक alternative यह हो सकता है कि screen space में simple processing करके result को resolution preserve करते हुए texel space में back-map किया जाए, अगले frame में texel space जानकारी से compatible screen-space solution बनाया जाए, और फिर उसे दोबारा texel space में map किया जाए—इस तरह runtime पर हर texel के लिए fractal pattern धीरे-धीरे build किया जाए। यह best हो सकता है, लेकिन memory, computation और complexity के लिहाज से बहुत महँगा दिखता है

    • पिछले हफ्ते तक fractal approach को काफी अच्छी तरह काम करने लायक बना लिया था
      https://x.com/dgant/status/1851840125065453894
      https://x.com/dgant/status/1851835968342446576?t=kCUSWCtJEc_...
      इसका तरीका यह है कि world-space dithering इस्तेमाल होती है, triplanar-mapped surfaces पर 2D dithering apply की जाती है, depth के हिसाब से coordinate scale चुना जाता है ताकि dither pattern [1px, 2px) range में रहे, और जो surfaces काफी दूर हैं उन्हें spherical coordinates से paint किया जाता है। depth thresholds पर कुछ repainting होती है, लेकिन व्यवहार में यह खास परेशान नहीं करती
  • जिनकी रुचि हो, उनके लिए थोड़ा और digging करने पर मुझे इसी विषय पर उसके पहले के dev logs मिले [1] [2]
    खास तौर पर Scale2X नाम के upscaling algorithm वाला हिस्सा ध्यान खींचता है और काफी शानदार है [3]
    [1] https://forums.tigsource.com/index.php?topic=40832.260
    [2] https://forums.tigsource.com/index.php?topic=40832.msg121719...
    [3] https://www.scale2x.it

  • मुझे यह बात बहुत पसंद है कि यह व्यक्ति forum पर सब कुछ share करता है
    मुझे Papers, Please के शुरुआती काम को देखने की याद है; काम की process share करने और उसे feedback के लिए खोल देने में कुछ खास बात है

    • काम करते समय किसी हद तक audience होना शायद जरूरी है। नहीं तो ऐसा लगता है जैसे खाली हवा में चिल्ला रहे हों
    • Tigsource जानकारी और design documents का खज़ाना है। Spelunky और Dead Cells जैसे कई मशहूर games भी वहीं से निकले
  • उस समय की चर्चा: https://news.ycombinator.com/item?id=15766249

  • मैंने अब तक dithering पर जितने लेख देखे हैं, उनमें यह सबसे बेहतरीन स्तर का है। मैंने Return to Dark Castle के black-and-white dithering पर काम किया था
    Atkinson dithering इस्तेमाल करना चाहता था, लेकिन adjacent pixel values के एक-दूसरे में फैलने के तरीके की वजह से shader में implement करना मुश्किल था, और उस समय stress और fatigue भी बहुत था। pattern को scene के offset से lock करने का विचार शायद मेरे दिमाग में नहीं आया था, इसलिए catacombs या helicopter pack जैसे scrolling levels में shimmer रहा होगा। शायद मैंने किया भी हो, लेकिन याद नहीं। जो भी हो, शानदार है

  • हाल ही में GOG से लेकर 5K Studio Display पर खेलने की कोशिश की, लेकिन खूबसूरत pixels को blur हुए बिना दिखाने वाला result नहीं मिल सका। बहुत अफसोस हुआ
    settings menu में सब कुछ आज़मा लिया था

    • आपको ऐसा resolution खोजने की जरूरत है जो game resolution का integer multiple हो, और display को letterbox करके दिखाए
  • मज़े की बात के तौर पर, इस game का soundtrack यहाँ है
    https://www.youtube.com/watch?v=8qvdAWLcPyU