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