विवाद सॉफ्टवेयर, गेम डेफकॉन, अपलिंक और डार्विनिया (दूसरों के बीच) के निर्माताओं ने एक गेम पर काम करना शुरू कर दिया है एक साल पहले जो शहर पीढ़ी, here is a video of their work के लिए पीसीजी का व्यापक रूप से उपयोग करता है, और आप इसके बारे में the development diary of the game (पृष्ठ के निचले हिस्से में पहले भाग से शुरू करें) पर और अधिक पढ़ सकते हैं।
यह तुरंत मुझे बहुत रूचि मिला, और गेम के लिए संभावित क्षमता को देखते हुए मैंने तुरंत तकनीक का शोध करना शुरू कर दिया। मैंने इस विषय के बारे में 18 पीडीएफ के एक फ़ोल्डर को एकत्रित किया है (शोध पत्र, सिग ग्राफ प्रस्तुतियां, आदि)। Here, I uploaded it for you।
मुख्य दृष्टिकोण एल-सिस्टम का उपयोग करना है, हालांकि, मैं इससे कुछ कम करने के लिए पर्याप्त समझने के लिए कभी नहीं मिला। मैंने Voronois का उपयोग करने जैसे अन्य सफल प्रयासों की कोशिश की, एक आयताकार क्षेत्र को अधिक छोटे क्षेत्रों में विभाजित कर दिया और सीमाओं को थोड़ी-थोड़ी यादृच्छिकता और बहुभुज विभाजन प्राप्त करने के लिए स्थानांतरित किया।
माइक के कोड ब्लॉग की पोस्ट (here और here) से मिली अंतिम विधि। अपने ब्लॉग पर दिखाए गए स्क्रीनशॉट मुझे डोलोल बनाते हैं, यह मेरा सबसे बड़ा प्रोग्रामर का सपना है जो ऐसा कुछ ऐसा दिखता है। मैंने उनसे यह पूछने के लिए ईमेल किया कि उन्होंने यह कैसे किया, और यहां उनके जवाब का प्रासंगिक हिस्सा है, मुझे यकीन है कि वह मुझे यहां पोस्ट करने में कोई दिक्कत नहीं करेंगे:
एल-सिस्टम निश्चित रूप से जाने का एक तरीका है, लेकिन यह वह नहीं है जो मैं कर रहा हूं। मेरी विधि का आधार बहुभुज उपखंड है। मैं एक साधारण बहुभुज से शुरू करता हूं जो शहर के पूरे क्षेत्र का प्रतिनिधित्व करता है। फिर, मैंने इसे (लगभग) आधा में विभाजित किया, और फिर उन दो बहुभुजों को विभाजित कर दिया, आदि जब तक कि मैं शहर-ब्लॉक आकार तक नहीं पहुंच जाता। उस बिंदु पर, मेरे सभी बहुभुज के किनारे सड़कों का प्रतिनिधित्व करते हैं। मैं बिल्डिंग आकार के लॉक में ब्लॉक को तोड़ने के लिए उसी उपविभाजन विधि का उपयोग करता हूं।
शैतान विवरण में है, लेकिन यह मूल तरीका है।
मैं एक अभी भी पूरी तरह एक समाधान जिनमें से मैं संतुष्ट हूँ के लागू करने में कामयाब नहीं है, लेकिन यह में से एक है, नहीं तो मेरी एक सबसे बड़ा प्रोग्रामर का सपना कभी कुछ इस तरह प्राप्त करने के लिए।
क्या आप प्रक्रियात्मक पीढ़ी के बारे में बात कर रहे हैं उदा। खेल और सिमुलेशन के लिए इलाके? –
हाँ क्षमा करें, शायद मैं पर्याप्त विशिष्ट नहीं हो सकता था, लेकिन मेरा मतलब है टेरेन, ग्रह, पेड़, संगीत, आग, फॉरेस्ट, शहर, भवन इत्यादि। प्रक्रियात्मक सामग्री का एक बहुत बड़ा क्षेत्र है जिसे विकसित किया जा सकता है और मैं सोच रहा हूं यहां लोगों ने क्या किया है। – Craig