पाउडर गेम: वे कैसे काम करते हैं?


13

मुझे हाल ही में ये दो रत्न मिले हैं:

http://powdertoy.co.uk/

http://dan-ball.jp/en/javagame/dust/

मेरा सवाल यह है: इतने सारे तत्वों के साथ भौतिकी को कुशलता से कैसे नियंत्रित किया जाता है? क्या मैं केवल आधुनिक कंप्यूटिंग शक्ति को बहुत कम आंक रहा हूं या क्या यह संभव है कि 'बस' में द्वि-आयामी सरणी हो, जिनमें से प्रत्येक सेल का वर्णन है कि क्या स्थिति के अनुसार रखा गया है और प्रत्येक चरण में प्रत्येक सेल का अनुकरण करें। या फिर एक ही डेटा सेट में एक ही तरह के बड़े क्षेत्रों को सारांशित करने और जरूरत के अनुसार उक्त सेट को अलग करने जैसी और भी जटिल चीजें की जा रही हैं?

क्या इस तरह के कोई भी ओपन-सोर्स गेम हैं जिन्हें मैं देख सकता था?


मैं मूल Stackowerflow पर रेत सिमुलेशन के बारे में इसी तरह का सवाल पूछा है जवाब आपको मदद कर सकता है।
इवगेनी विनिक

जवाबों:


5

वहाँ निश्चित रूप से काफी कुछ है; मैं उन्हें मॉडिफाई करता था। ध्यान दें कि लिंक फोरम थ्रेड्स और सोर्स डाउनलोड के लिए हैं। दो सबसे अच्छी यादें हैं:

EngimaSand by xavierenigma ( C ++ | Java ) जावा एक नया है।

BurningSand by sieben ( C ++ ) यह एक बहुत तेज़ भौतिकी-वार है।

यह साइट दुर्भाग्य से मृत्यु के करीब है, लेकिन भौतिकी के बारे में यहां कई सूत्र हैं

संपादित करें: रुचि रखने वाले किसी भी व्यक्ति के लिए, मेरे पास यहां EnigmaSand के लिए जावा स्रोत Mediafire'd है


बहुत सराहना की। लिंक फिलहाल नीचे हैं, हालांकि। मैं कुछ घंटों में फिर से कोशिश करूँगा।
मार्क मूलर

वो हैं? वे सब मेरे लिए ठीक काम कर रहे हैं।
कम्युनिस्ट डक

1
मीडियाफेयर ने अपलोड किया और जवाब में संपादित किया।
कम्युनिस्ट डक

5

इन खेलों में भौतिकी एक जटिल सेलुलर ऑटोमेटन पर आधारित प्रणाली के उपयोग द्वारा सिम्युलेटेड है । यह, खेल के जीवन का उपयोग करने वाले की तुलना में काफी अधिक जटिल है, और इसमें ऐसी विशेषताएं शामिल हैं जिनका मतलब है कि यह शायद एक उचित सीए नहीं है, लेकिन यह अभी भी गणना करने के लिए अपेक्षाकृत सरल है और वर्षों से है। बहुत अधिक विस्तार में नहीं जाने के लिए, लेकिन एल्गोरिथ्म की जटिलता काफी छोटी होने जा रही है, शायद ओ (क्षेत्र) भी।

ऐसा लगता है कि वहाँ भी कुछ झुंड खुफिया है, जो आश्चर्यजनक रूप से प्रभावशाली प्रभाव के लिए भी है जो इसे बना सकता है।


"और सुविधाओं को शामिल करता है, जिसका अर्थ है कि यह शायद एक उचित सीए नहीं है" ... इसका क्या मतलब है? क्या ये CA केवल अधिक नियम या कुछ और होने पर अलग हैं?
गैस्टन

2
एक कैनोनिकल सीए में प्रत्येक कोशिका की स्थिति पीढ़ी N + 1 में एक फ़ंक्शन द्वारा परिभाषित होती है जो पीढ़ी N में सेल के निकटतम पड़ोस की स्थिति पर निर्भर करती है, और फ़ंक्शन आमतौर पर प्रत्येक सेल के लिए समान होता है। कई "पाउडर" गेम में boids या constraint- आधारित भौतिकी वस्तुओं जैसी चीजें होती हैं, जो वास्तव में इस परिभाषा के अंतर्गत नहीं आती हैं। मुझे संदेह है कि वे पूरी तरह से एक सीए के रूप में कोडित हैं। यहां तक ​​कि अगर वे किसी बिंदु पर हैं, तो पड़ोस काफी बड़ा हो जाता है और संक्रमण फ़ंक्शन पर्याप्त जटिल हो जाता है कि आप वास्तव में सीए के साथ काम नहीं कर रहे हैं।
ग्रेगरी एवरी-वियर

अच्छा जवाब और टिप्पणी ग्रेगरी, आपकी अंतर्दृष्टि के लिए धन्यवाद।
इंजीनियर

1
हालांकि सेलुलर ऑटोमेटन इसका हिस्सा हो सकता है, यह निश्चित रूप से पूरे उत्तर नहीं है। वहाँ के रूप में अच्छी तरह से एक तरल पदार्थ है, जो यह इतना 'यथार्थवादी' लग रहा है
बॉब

@ बोबोबोबो: हाँ, यह निश्चित रूप से उचित सेलुलर ऑटोमेटा की सीमाओं से परे जाता है।
ग्रेगरी एवरी-वियर

3

कई साल पहले जोस स्टैम ने द्रव स्रोत के लिए अपना स्रोत कोड डालना शुरू किया। एक बहुत ही छोटा सा कोड है जो एक ग्रिड को सेट करता है और नवियर-स्टोक्स समीकरणों को बहुत तेजी से हल करता है। पूर्ण स्रोत उसके पेज पर भी उपलब्ध है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.