2 पॉइंट द्वारा GN⁺ 2024-01-28 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Pong Wars एक वेब डेमो है जो दिन और रात, तथा अच्छाई और बुराई के मुकाबले को Pong की तरह विज़ुअलाइज़ करता है
  • स्क्रीन पर day 288 | night 288 की तरह day/night मान दिखते हैं, जिससे मौजूदा स्थिति तुरंत देखी जा सकती है
  • इम्प्लीमेंटेशन JavaScript और कुछ HTML/CSS से बना है, और सब कुछ एक ही index.html में शामिल है
  • बताया गया है कि कोड पुन: उपयोग किया जा सकता है, और उपयोगकर्ता इसका अपना संस्करण बना सकते हैं
  • पेज पर Koen van Gilst का क्रेडिट और GitHub source लिंक है

Pong के ज़रिए दिन और रात की टक्कर

  • Pong Wars एक वेब पेज है जो “day” और “night” की टक्कर को विज़ुअली दिखाता है
  • मौजूदा स्थिति day 288 | night 288 फ़ॉर्मेट में दिखाई जाती है

एकल फ़ाइल इम्प्लीमेंटेशन और पुन: उपयोग

  • इम्प्लीमेंटेशन JavaScript और HTML/CSS का उपयोग करता है, और एक ही index.html फ़ाइल में शामिल है
  • कोड को पुन: उपयोग किया जा सकता है, और उपयोगकर्ता इसका अपना संस्करण बना सकते हैं
  • पेज पर Koen van Gilst का क्रेडिट और GitHub source लिंक है

1 टिप्पणियां

 
GN⁺ 2024-01-28
Hacker News टिप्पणियाँ
  • कोड इस ट्वीट को आइडिया के स्रोत के रूप में लिंक करता है: https://twitter.com/nicolasdnl/status/1749715070928433161 [nitter: https://nitter.net/nicolasdnl/status/1749715070928433161]
    उद्धरण कुछ ऐसा है: “अनंत लड़ाई #genuary23 #genuary #genuary2024. यह मूल आइडिया नहीं है, मैंने इसे पहले कहीं देखा है लेकिन कहाँ देखा था यह नहीं मिल रहा।”
    यहाँ इसे अनंत लड़ाई कहा गया है, तो सोचता हूँ क्या इसे गणितीय रूप से सिद्ध करने का कोई तरीका है

    • और पीछे जाएँ तो हो सकता है इस आइडिया का एक हिस्सा मेरा हो: https://hachyderm.io/deck/@bazzargh/111829275276749971
      मैंने मूल रूप से https://twitter.com/CasualEffects/status/1390290306206216196 देखा था, और लेखक ने कहा था कि यह pico8 की मूल रचना से आया है। उससे भी पहले के वर्ज़न में Pong bats भी थे, लेकिन जब मैंने BASIC demake बनाया, तब bbcmicrobot से चलवाने के लिए ट्वीट में कोड डालना पड़ता था, इसलिए bats हटा दिए
      मेरा वर्ज़न थोड़ा धीमा और भद्दा था, फिर शायद @rheolism नाम के किसी व्यक्ति ने dots की जगह custom characters का इस्तेमाल करके बहुत तेज़ और smooth वर्ज़न पोस्ट किया, और बाद में मैंने Processing में demake का फिर से बनाया गया रूप भी देखा। ऐसी चीज़ें अपनी अलग ज़िंदगी ले लेती हैं
      मैंने Twitter अकाउंट बहुत पहले हटा दिया था, लेकिन इसे archive में ढूँढ लिया
    • हर बॉल कम-से-कम 1x1 क्षेत्र तो घेरती ही है, इसलिए दूसरी बॉल 100% पर कब्ज़ा नहीं कर सकती
    • क्षेत्र जितना छोटा होगा, वह बॉल दूसरी की तुलना में प्रति इकाई समय ज़्यादा बार उछलेगी, और उसे अपना क्षेत्र बढ़ाने के मौके भी ज़्यादा मिलेंगे
      इसलिए किसी एक बॉल का बहुत ही बुरी तरह फँस जाना बहुत लंबे समय तक टिकना मुश्किल है
    • आप देख सकते हैं कि क्या होता है जब बाईं बॉल के पास सिर्फ़ एक tile हो और दाईं बॉल के पास बाकी सब कुछ हो:
      x1 = y1 = y3 = squareSize, x2 = canvas.width - squareSize
      squares = Array.from({ length: numSquaresX }, (, i) =>
      Array.from({ length: numSquaresY }, (
      , j) =>
      i === 0 && j === 0 ? TEAM1 : TEAM2))
    • लगता है कोई काफ़ी स्थिर संतुलन मौजूद होगा
      क्योंकि जैसे-जैसे स्वामित्व वाला क्षेत्र घटता है, merge होने की दर बढ़ जाती है
  • मैं इस तरह की चीज़ों से बहुत आकर्षित होता हूँ, लेकिन इन्हें वर्गीकृत और विश्लेषित करने के लिए कोई शैलीगत शब्द है भी या नहीं, यह नहीं जानता, इसलिए इन्हें बस “इस तरह की चीज़” ही कह पाता हूँ
    यह game algorithms से प्रेरित है, लेकिन खुद game नहीं है, और Conway का “Game of Life” भी एक तरह से गलत नाम ही है। इसमें movement है, लेकिन सामान्य animation की तरह scripted भी नहीं है
    वास्तविक दुनिया में David C. Roy जैसे लोग अपने काम को kinetic sculpture कहते हैं
    algorithmic video? game simulator? autonomous automaton?

    • मैंने इनके लिए zero-player game शब्द का इस्तेमाल होते देखा है
      इस पर Wikipedia का एक छोटा-सा लेख भी है: https://en.wikipedia.org/wiki/Zero-player_game
    • “executive toy” जैसी सोच से देखें तो toy शब्द मुझे पसंद है
    • क्या इसे chaotic system माना जा सकता है? इस अर्थ में कि यह पूरी तरह deterministic system है, लेकिन initial conditions के प्रति बहुत sensitive है
      संपादन: कोड थोड़ा देखने पर लगा कि bounce dynamics में थोड़ी randomness भी है। इसलिए जब तक pseudorandom number generator के seed को initial conditions का हिस्सा न माना जाए, इसे “पूरी तरह deterministic” कहना मुश्किल है
    • simulation शायद ज़्यादातर मामलों में इसे समेट लेगा
    • मेरे दिमाग़ में तो मैं इसे simulation ही कहता हूँ
      इसमें समय है, नियम हैं, और मुख्य बात यह है कि नतीजा पहले से पता नहीं होता
      वही आख़िरी बात इस तरह के प्रोग्राम लिखने और चलाने को दिलचस्प बनाती है
  • मेरे 12 साल के बेटे ने अभी Scratch में यह बना दिया:
    https://scratch.mit.edu/projects/957461584/

  • यह वाकई शानदार है
    अभी होता यह है कि जैसे-जैसे बॉल का स्वामित्व वाला क्षेत्र छोटा होता जाता है, उसी speed पर ज़्यादा collisions होने लगते हैं; अगर speed को मालिकाना cells की संख्या या उसके square root के अनुपात में कर दिया जाए, तो दिलचस्प हो सकता है

    • card game “War” की तरह, यह शायद इस तरह self-regulating लगता है
      मुझे नहीं लगता कि अंत में कोई एक सचमुच जीत पाएगा
  • कई स्तरों पर सचमुच सुंदर
    सौंदर्य की दृष्टि से इसे बस बैठकर देखते रहना अच्छा लगता है, और दार्शनिक रूप से यह लगातार संघर्ष का एक digital रूपक होने के कारण रोचक है
    और अंत में, सबसे दिलचस्प बात यह है कि इसने दो बेहद सरल, पुराने विचारों को मिलाकर कुछ नया बनाया है। ऐसा अच्छे से कर पाना बहुत दुर्लभ है
    बहुत प्रशंसा, सच में बहुत

    • ऐसा भी लगता है कि यह game जिस चीज़ का simulation कर रहा है और जो दृश्य रूप में दिखा रहा है, दोनों ही अर्थों में किसी हद तक yin-yang को model करता है
  • 3 रंगों के साथ यह दिलचस्प हो सकता है
    अगर बाकी दो मिलकर एक को कोने में धकेल दें, तो कम जगह होने की वजह से वह तेज़ी से blocks वापस छीनकर हार के कगार से जल्दी लौट सकता है

    • 4-player: https://codyebberson.github.io/pong-wars/
    • इसे देखकर प्रेरित होकर मैंने एक ऐसा वर्ज़न बनाया जिसमें balls की संख्या user-defined हो सकती है और code भी accessible है
      जिन लोगों में धैर्य कम है, उनके लिए speed slider भी जोड़ा है
      https://explorers.toxicode.fr/?remoteWorkspace=pong-war
  • मूल लेखक की Mastodon पोस्ट भी है: https://hachyderm.io/@vnglst/111828811496422610

  • सीखने के लिए मैंने इसे C++ और Qt Scene Graph में implement करके देखा
    सोचा शायद किसी की दिलचस्पी हो, इसलिए साझा कर रहा हूँ: https://invent.kde.org/carlschwan/warpong/-/blob/master/src/...

  • मिलता-जुलता उदाहरण: https://contranoid.com/

  • Pong का एक और variant भी है, हालांकि यह केवल desktop के लिए है: https://www.obfusco.com/pn0gjs/index.html