Minecraft जैसे खेल एक बीज संख्या से पूरे विश्व को कैसे उत्पन्न करते हैं?


32

मैं बायोम के साथ एक पूरी तरह से अनोखी दुनिया उत्पन्न करना चाहता हूं (जैसे कि Minecraft और इसी तरह के गेम क्या करते हैं)। मुझे समझ में नहीं आता है कि वे एक "बीज" संख्या से ये पूरी दुनिया कैसे उत्पन्न करते हैं। क्या कोई तकनीक का एक मूल अवलोकन प्रदान कर सकता है?


13
Notch ने वास्तव में इलाके की पीढ़ी के बारे में एक ब्लॉग पोस्ट लिखा था , जो अब नए कोड के बायोम और FRACTALS और इस तरह के अन्य विज़ार्ड के बाद से पूरी तरह से अप्रचलित है। कभी भाग 2 नहीं था, या तो।
एक बिल्ली

जवाबों:


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

    // C example
    srand(1);
    for(i=0; i<3; i++)
        printf("%d\n", rand());
    srand(1);
    for(i=0; i<3; i++)
        printf("%d\n", rand());
    
    1270216262 
    1085377743 
    1481765933
    1270216262 
    1085377743 
    1481765933

    जैसा कि आप देख सकते हैं, जब भी आप एक निश्चित मूल्य के साथ बीज देते हैं (मैंने 1 को बीज के रूप में इस्तेमाल किया), परिणामी यादृच्छिक संख्याएं समान हैं।

  2. आप यादृच्छिक संख्याओं के आधार पर एक न्यूनतम-जीवन दुनिया कैसे बनाते हैं? Notch के पास इस बारे में एक पोस्ट है। इसके अलावा, आप "मिनीक्राफ्ट जैसी दुनिया" पर अन्य लोगों के ट्यूटोरियल देख सकते हैं। मुझे यह पसंद आया, उदाहरण के लिए: ओपनजीएल 4 में माइनक्राफ्ट जैसा प्रतिपादन । मूल विचार पेरलिन शोर (या सिंप्लेक्स शोर) का उपयोग करना है। यहां शोर कार्यों के बारे में एक अच्छा सवाल है: अंडरस्टैंडिंग पेर्लिन शोर


1
वास्तव में, आप पेरलिन शोर का उपयोग करने में सक्षम नहीं होंगे मुझे डर है कि मिनीक्राफ्ट में चट्टानों, गुफाओं और इतने पर लटके हुए हैं, और पीएन में नहीं हो सकता।
जकोरा

6
पेर्लिन शोर सिर्फ एक शोर प्रणाली है जिसे आप एक बड़े भू-भाग निर्माण विधि के हिस्से के रूप में उपयोग कर सकते हैं। जैसे। आप चट्टानों, गुफाओं आदि को उत्पन्न करने के लिए एक ऊँचाई पर निर्भर थ्रेशोल्ड मान के साथ 3 डी पेर्लिन शोर का उपयोग कर सकते हैं (संपादित करें - वास्तव में, मैं उस उत्तर में लिंक से देखता हूं जो बिल्कुल एक बिंदु पर
नॉटच

1
+1 कियलोतन। यहाँ Notch के ब्लॉग का उद्धरण है: "विशेष रूप से, ओवरहैंग उत्पन्न करने के लिए [2D Perlin ऊँचाई] के लिए कोई रास्ता नहीं है। इसलिए मैंने 3D Perlin शोर के आधार पर सिस्टम को एक समान प्रणाली में बदल दिया।" ग्राउंड हाइट "के नमूने के बजाय, मैंने"। शोर मूल्य को "घनत्व" के रूप में माना जाता है, जहां 0 से कम कुछ भी हवा होगी, और 0 के बराबर या उससे अधिक कुछ भी जमीन होगी। "
जिमी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.