मान लें कि आपके पास एक गेम है जिसमें कुछ कार्यों की सेवा देने वाली कई (कई) इकाइयां हैं, जिनमें से सभी को लगातार जरूरत नहीं है या हर फ्रेम में विचार करने की आवश्यकता है। मैं जिस ठोस समस्या पर काम कर रहा हूं, उसमें यह मुद्दा मौजूद है, जिसमें शरीर का एक विस्तृत अनुकरण है, जिसमें उसके अंग भी शामिल हैं।
खेल में प्रत्येक प्राणी का अपना शरीर होता है जिसे छोटे भागों (धड़, पैर आदि) में विभाजित किया जाता है और कभी-कभी इन भागों में अंग होते हैं, जो शरीर के भीतर एक विशिष्ट कार्य करते हैं। वर्तमान में कोई अंग किसी उद्देश्य से कार्य करता है या नहीं या वास्तव में सक्रिय है या नहीं यह स्पष्ट नहीं है। आखिरकार, एक जानवर के पास एक खाली पेट हो सकता है, इसलिए उसे कुछ भी पचाने की आवश्यकता नहीं है। यह बहुत ही हास्यास्पद होगा कि प्रत्येक फ्रेम में प्रत्येक वस्तु की जांच करें या अनुकरण करें और जैसे ही आपके पास दुनिया के कई जीव हैं। इसलिए मैं उन वस्तुओं के बीच चालाकी से अंतर करने के तरीके के बारे में सोच रहा था जिन्हें अद्यतन करने की आवश्यकता है और जो नहीं करते हैं।
मैं जो लेकर आया था वह कम से कम ठीक समाधान जैसा लगता है। यह एक सरल कतार / स्टैक बनाता है (आवश्यक यह है कि प्रत्येक तत्व को पढ़ते ही हटा दिया जाता है; आदेश अप्रासंगिक है) "ध्यान स्टैक" कहा जाता है जहां वस्तुओं को सिम्युलेटेड रहने की आवश्यकता होती है। जिन वस्तुओं पर ध्यान देने की आवश्यकता होती है, वे बस खुद को स्टैक पर रख देती हैं या अन्य वस्तुओं द्वारा वहां डाल दी जाती हैं। ये वस्तुएं शायद एक सरल इंटरफ़ेस को अनुकरण () - फ़ंक्शन के साथ कार्यान्वित करेंगी।
मेरे पिछले पाचन उदाहरण पर लागू इसका मतलब यह होगा:
खिलाड़ी इन्वेंट्री से खाने के लिए कुछ चुनता है (यह रोटी है) और इसे अपने चरित्र के मुंह में डालता है और मुंह को ध्यान स्टैक पर रखा जाता है। अगले फ्रेम में मुंह को स्टैक से लिया जाता है और इसके अनुकरण () - फ़ंक्शन को कहा जाता है। चूंकि यह एक मुंह है इसलिए यहां चबाना अनुकरण करना उचित होगा। यह कुछ फ़्रेमों के लिए चल सकता है जिसमें मुंह खुद को ढेर पर रखता है जब तक कि यह तय नहीं हो जाता है कि भोजन निगलने के लिए तैयार है। इस मामले में मुंह चबाने वाली रोटी को पेट में डाल देता है (मुझे पता है कि यह सीधे वहां नहीं जाता है, लेकिन घेघा को सरलीकरण के लिए छोड़ दिया जाता है), जिसे बाद में ध्यान-ढेर पर भी रखा जाता है। अगले फ्रेम में पाचन-प्रक्रिया का अनुकरण शुरू किया जाता है। और इतने पर बाकी जरूरी अंगों के लिए।
इसके साथ एक समस्या यह है कि वस्तुएं बेकार हैं। एक सोया हुआ जानवर इसका एक अच्छा उदाहरण है। यह पहले के रूप में वर्णित किया जा सकता है कि सोते हुए जानवर को ढेर पर रखकर और हर बार जांचने के लिए कि क्या उसे जागने की आवश्यकता है, लेकिन यह बेकार लगता है क्योंकि केवल यही काम किया जा रहा है। निष्क्रिय वस्तुओं को और अधिक कुशल बनाने के लिए मैं एक प्रकार का शेड्यूल जोड़ने की योजना बना रहा था जो एक विशिष्ट समय में प्रदर्शन की जाने वाली नौकरियों को संग्रहीत करता है। अगर कोई जानवर सो जाता है, तो वह उस समय पर एक नौकरी लगाएगा, जो कि जानवरों के सोने के बाद निश्चित समय के लिए निर्धारित की जाएगी। यह काम फिर से सोते हुए जानवर को ध्यान के ढेर पर फिर से रखने का ख्याल रखेगा। अब, आप कह सकते हैं कि एक सोता हुआ जानवर जो ध्यान के ढेर पर नहीं है, वह किसी चीज से हमला करने से चूक सकता है क्योंकि उसका AI नकली नहीं है,
अब, मैं ईमानदारी से नहीं जानता कि क्या यह अनुभव की कमी के कारण इस समस्या के सुरुचिपूर्ण समाधान के करीब है। क्या मैं प्रयोग करने योग्य कुछ के करीब हूं? यह आमतौर पर कैसे किया जाता है या किसी के पास कोई सुझाव या बेहतर समाधान है?