- 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 टिप्पणियां
Hacker News टिप्पणियाँ
कोड इस ट्वीट को आइडिया के स्रोत के रूप में लिंक करता है: https://twitter.com/nicolasdnl/status/1749715070928433161 [nitter: https://nitter.net/nicolasdnl/status/1749715070928433161]
उद्धरण कुछ ऐसा है: “अनंत लड़ाई #genuary23 #genuary #genuary2024. यह मूल आइडिया नहीं है, मैंने इसे पहले कहीं देखा है लेकिन कहाँ देखा था यह नहीं मिल रहा।”
यहाँ इसे अनंत लड़ाई कहा गया है, तो सोचता हूँ क्या इसे गणितीय रूप से सिद्ध करने का कोई तरीका है
मैंने मूल रूप से https://twitter.com/CasualEffects/status/1390290306206216196 देखा था, और लेखक ने कहा था कि यह pico8 की मूल रचना से आया है। उससे भी पहले के वर्ज़न में Pong bats भी थे, लेकिन जब मैंने BASIC demake बनाया, तब bbcmicrobot से चलवाने के लिए ट्वीट में कोड डालना पड़ता था, इसलिए bats हटा दिए
मेरा वर्ज़न थोड़ा धीमा और भद्दा था, फिर शायद @rheolism नाम के किसी व्यक्ति ने dots की जगह custom characters का इस्तेमाल करके बहुत तेज़ और smooth वर्ज़न पोस्ट किया, और बाद में मैंने Processing में demake का फिर से बनाया गया रूप भी देखा। ऐसी चीज़ें अपनी अलग ज़िंदगी ले लेती हैं
मैंने Twitter अकाउंट बहुत पहले हटा दिया था, लेकिन इसे archive में ढूँढ लिया
इसलिए किसी एक बॉल का बहुत ही बुरी तरह फँस जाना बहुत लंबे समय तक टिकना मुश्किल है
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?
इस पर Wikipedia का एक छोटा-सा लेख भी है: https://en.wikipedia.org/wiki/Zero-player_game
संपादन: कोड थोड़ा देखने पर लगा कि bounce dynamics में थोड़ी randomness भी है। इसलिए जब तक pseudorandom number generator के seed को initial conditions का हिस्सा न माना जाए, इसे “पूरी तरह deterministic” कहना मुश्किल है
इसमें समय है, नियम हैं, और मुख्य बात यह है कि नतीजा पहले से पता नहीं होता
वही आख़िरी बात इस तरह के प्रोग्राम लिखने और चलाने को दिलचस्प बनाती है
मेरे 12 साल के बेटे ने अभी Scratch में यह बना दिया:
https://scratch.mit.edu/projects/957461584/
यह वाकई शानदार है
अभी होता यह है कि जैसे-जैसे बॉल का स्वामित्व वाला क्षेत्र छोटा होता जाता है, उसी speed पर ज़्यादा collisions होने लगते हैं; अगर speed को मालिकाना cells की संख्या या उसके square root के अनुपात में कर दिया जाए, तो दिलचस्प हो सकता है
मुझे नहीं लगता कि अंत में कोई एक सचमुच जीत पाएगा
कई स्तरों पर सचमुच सुंदर
सौंदर्य की दृष्टि से इसे बस बैठकर देखते रहना अच्छा लगता है, और दार्शनिक रूप से यह लगातार संघर्ष का एक digital रूपक होने के कारण रोचक है
और अंत में, सबसे दिलचस्प बात यह है कि इसने दो बेहद सरल, पुराने विचारों को मिलाकर कुछ नया बनाया है। ऐसा अच्छे से कर पाना बहुत दुर्लभ है
बहुत प्रशंसा, सच में बहुत
3 रंगों के साथ यह दिलचस्प हो सकता है
अगर बाकी दो मिलकर एक को कोने में धकेल दें, तो कम जगह होने की वजह से वह तेज़ी से blocks वापस छीनकर हार के कगार से जल्दी लौट सकता है
जिन लोगों में धैर्य कम है, उनके लिए 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