प्रक्रियात्मक रूप से उत्पन्न 2 डी मानचित्र पर घुमावदार सड़कें


9

मैं उस गेम के लिए स्वचालित रूप से रोड मैप बनाने के लिए एल्गोरिदम के साथ प्रयोग कर रहा हूं, जिस पर मैं काम कर रहा हूं।

मैं " किंगडम रश " गेम को संदर्भ बिंदु के रूप में उपयोग कर रहा हूं क्योंकि उनके पास कुछ शानदार दिखने वाले नक्शे हैं।

खेल "किंगडम रश" से रोड मैप्स के उदाहरण

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

सड़क लेआउट के लिए फ्रूचरमैन-रीडिंग एल्गोरिथ्म का उपयोग करने का एक उदाहरण यहां दिया गया है :

PCG- जनरेटेड मैप 1

ब्लू ग्राफ किनारों को कम सीधा दिखने के लिए कुछ बेतरतीब ढंग से उत्पन्न बेज़ियर नियंत्रण बिंदुओं का उपयोग करता है।

यहां एक ही एल्गोरिदम का उपयोग करके उत्पन्न एक और उदाहरण है, लेकिन विभिन्न यादृच्छिक संख्याएं हैं:

PCG- जनरेटेड मैप 2

परेशानी के अधिकांश परिणाम काफी हद तक समान दिखते हैं, और मुझे यकीन नहीं है कि मैं प्रक्रियात्मक रूप से उत्पन्न नक्शों की नियंत्रणीयता और विविधता को बेहतर बनाने के लिए किन नियमों को जोड़ सकता हूं।

किसी भी सलाह की सराहना की।


बहुत बढ़िया सवाल। संदर्भ चित्र आपके द्वारा अब तक किए गए सामान को शामिल करने में बहुत मदद करते हैं। क्या आप 'नियंत्रणीयता' से जो मतलब रखते हैं, उस पर थोड़ा और विस्तार कर सकते हैं? बहुत सी चीजें हैं जिन्हें आप नियंत्रित कर सकते हैं; कुछ उदाहरणों से मदद मिलेगी।
पिकालेक

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

जवाबों:


2

आपके उदाहरण सड़कों में चौराहों के बीच के खंडों पर वक्र होते हैं जहां आपके उत्पन्न नहीं होते हैं। क्या आपने अपनी सड़कों पर अधिक "निरर्थक" नियंत्रण बिंदुओं को जोड़ने की कोशिश की है?

कैसे होने के बारे में छोरों की संख्या एक पीढ़ी पैरामीटर हो? इसके अलावा "वक्रता" (निरर्थक नियंत्रण बिंदुओं की संख्या) निकास की संख्या एक और होगी।

मुझे लगता है कि आप सड़कों को भी समाप्त कर सकते हैं जब वे चौराहों को दोहरे नियंत्रण बिंदु देकर मारते हैं। इससे चौराहों को बेहतर बनाना चाहिए।


मुझे लगता है कि मध्यवर्ती नियंत्रण अंक सुझाव अच्छा है! इस समय मैं जिस ग्राफ-लेआउट एल्गोरिथ्म का उपयोग कर रहा हूं, वह केवल सीधी रेखाएं पैदा करता है, लेकिन मैं एक "घुमावदार मोड़" नोड को दो अन्य नोड्स के बीच कहीं रख सकता हूं और पास के नियंत्रण बिंदुओं को रखने के लिए एक अनुमानी का उपयोग कर सकता हूं जिससे यह सुंदर दिखाई देगा। मुझे निश्चित रूप से इस पर और अधिक गौर करने की जरूरत है, क्योंकि यह बेहतर दिखने वाले चौराहों को बनाने के साथ भी जुड़ा हुआ है।
सिक्सटोवेन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.