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