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