मैं किसी प्रकार के व्यवहार के पेड़ के समाधान के साथ ऐसा करूंगा - आप लक्ष्य के लिए रास्ता बनाते हैं, और उन सभी बाधाओं पर ध्यान दें जो आपके ए * को अवरुद्ध कर रहे हैं। यदि आप विफल होते हैं, तो आप जांचते हैं कि क्या ऐसी वस्तुएं हैं जो उन बाधाओं को दूर करने में मदद कर सकती हैं, उस स्थिति में, उस वस्तु का पथ। दोहराएँ। इसका मतलब यह है कि एजेंट को लक्ष्य के लिए रास्ता बनाने की आवश्यकता है और हालांकि उपकरणों का उपयोग करने का विचार प्राप्त करने से पहले असफल हो जाना चाहिए, जिसमें समय लग सकता है, खासकर अगर टाइलों की एक विशाल दुनिया है जिसे सभी को जांचने की आवश्यकता है। हालांकि इस समस्या के समाधान के बारे में सोचने के लिए एजेंट को कुछ समय नहीं लगता है।
मैं हालांकि एक वास्तविक, कट्टर समाधान की कल्पना कर सकता हूं। ग्रिड खोजने के लिए अपने रास्ते में एक और आयाम जोड़ें। तो एक 2 डी मानचित्र के मामले में, आप पाथफाइंग ग्रिड 3 डी बनाते हैं। इस सरल उदाहरण में इस नए आयाम में केवल दो की गहराई होगी, लेकिन एक वास्तविक गेम में यह जल्दी से बड़ी हो जाएगी।
Z = 0 पर आप सामान्य परिस्थितियों में इलाके का नक्शा बनाते हैं, जिसका अर्थ है कि पानी की टाइलें अगम्य मानी जाती हैं।
Z = 1 पर आप भूभाग का नक्शा बनाते हैं क्योंकि यह रेक होने के दौरान है, जिसका अर्थ है कि पानी की टाइल को चलने योग्य माना जाता है (लेकिन यदि आपके पास उदाहरण के लिए दीवार टाइलें हैं, तो वे ठोस रह सकते हैं)।
पथ खोज एक्स और वाई आयामों में एक साधारण ए * है, जिसका अर्थ है कि प्रत्येक ग्रिड सेल को अपने पड़ोसियों तक पहुंच माना जाता है। हालांकि z आयाम में, A * को फैलने की अनुमति नहीं है।
सिवाय रेक कहाँ है। रेक ऑब्जेक्ट पाथ फाइंडिंग ग्रिड में z = 0 और z = 1 के बीच एक उद्घाटन के रूप में कार्य करता है।
इसका मतलब यह है कि A * z = 0 में बाढ़ का पानी भर देगा, पानी से टकराएगा, और विकल्पों से बाहर चला जाएगा - फिर यह रेक टाइल के माध्यम से z = 1 तक फैल जाएगा, और z = 1 पर (जहां पानी चलने योग्य है) लक्ष्य के लिए अपना रास्ता खोजें। इसका प्रभाव यह है कि NPC व्हिटआउट झिझक को रेक पर ले जाता है, और फिर लक्ष्य के लिए सबसे छोटा रास्ता बनाता है।