মাইনক্রাফ্টের অনুরূপ গুহাগুলি কীভাবে তৈরি করা যায়?


34

আমি কিছু সময়ের জন্য একটি 3 ডি পদ্ধতিগত বিশ্বে কাজ করছি এবং গুহা সিস্টেমগুলি যুক্ত করা শুরু করতে চাই। আমি বর্তমানে মসৃণ ভূখণ্ডের জন্য মার্চিং কিউবের সাথে মিশ্রণে ভূখণ্ডের প্রজন্মের জন্য 2D / 3D পার্লিন নয়েজটি ব্যবহার করছি। দীর্ঘ আন্তঃসংযোগকারী গুহাগুলির কথা আসলে আমি কেবল স্ট্যাম্পে আছি।

আমি মিনক্রাফ্টের গুহা সিস্টেমগুলির মতো আরও কিছু পাওয়ার আশা করছি। এগুলি খুব সংযুক্ত বলে মনে হচ্ছে, প্রায় যে কোনও দিকে এলোমেলোভাবে শাখা বন্ধ করে দিয়েছে এবং গুহার প্রায় কোনও বিন্দুতে মোটামুটি সমান ব্যাসার্ধের সাথে মোটামুটি বৃত্তাকার চেহারা থাকবে (সেরা শব্দ নয়, তবে কীভাবে এটি রাখা হবে তা নিশ্চিত নয়) ।

আমি চাই যেমন গুহা তৈরির পক্ষে সবচেয়ে বড় চ্যালেঞ্জ হ'ল আমি উড়তে পৃথিবী তৈরি করতে চাই। বর্তমানে খেলোয়াড় যেখান থেকে শুরু করে বিশ্ব সেখান থেকে ছড়িয়ে পড়েছে এবং সেখান থেকে বাহ্যিক দিকে উত্পন্ন হয়। আমি বিশ্বের কোনও জেনারেট করতে চাই না এবং তারপরে একটি ঘোরাঘুরির প্যাটার্ন, সেলুলার অটোমেটা ইত্যাদি ব্যবহার করে গুহাগুলি খনন করতে চাই

এই জন্য ব্যবহার করা যেতে পারে যে কোন সুপরিচিত অ্যালগরিদম আছে? যদি তা হয় তবে কি কেউ কীভাবে তারা অনুরূপ কিছু করে তা ভাগ করে নিতে চায়? আমি কোনও সাহায্যের প্রশংসা করি

একটি ভাল উদাহরন: এখানে চিত্র বর্ণনা লিখুন


5
এখানে একবার দেখুন , এবং নীচে স্ক্রোল।
উইলিয়াম মারিয়েরার

গত 24 মাসের মধ্যে একটি গেম ডেভেলপার ম্যাগাজিন ইস্যু রয়েছে যা আপনি কী করতে চেষ্টা করছেন তা কীভাবে করা যায় তার বিষয়ে গভীর আলোচনা রয়েছে। আমি তাদের সাইটে হিট হত।
জোয় গ্রিন

@ জোয়েগ্রিন ম্যাগাজিনের নাম কী? বা তাদের সাইটে আপনার কোনও লিঙ্ক আছে?
জাম্পনেট

1
একে গেম ডেভেলপার ম্যাগাজিন বলে। gdmag.com । আপনি সদস্যতা পেতে এবং গত 10+ বছর ধরে ম্যাগাজিনের পিডিএফ সংস্করণগুলি পেতে পারেন। আপনি যদি সাইন আপ করেন তবে পূর্ববর্তী সমস্যাগুলি অনুসন্ধান করার এবং আপনার ইস্যুটি খুঁজে পাওয়ার উপায় রয়েছে is
জো সবুজ

উত্তর:


30

মাইনক্রাফ্টের গুহাগুলি "পার্লিন ওয়ার্মস" পদ্ধতি দ্বারা উত্পন্ন হয়। জেনারেটরটি ভূখণ্ডের মধ্যে দিয়ে সাপ ফেলে একটি টানেল গুহায় ফেলে। মাইনক্রাফ্ট গুহা তৈরির জন্য 3 ডি পার্লিন শব্দ ব্যবহার করে না , কারণ এটি ভূখণ্ডে কোনও সংযুক্ত পকেট ছেড়ে যায়। মাইক্রাফ্ট গুহাগুলি খুব শীঘ্রই আলফা সংস্করণ থেকে 3 ডি পার্লিন শব্দের মাধ্যমে উত্পাদিত হয়নি।

এখানে "পার্লিন কৃমি" পদ্ধতি থেকে জিনোমস্ক্রোলের গুহা রয়েছে ।

জিনোমস্ক্রোল গুহা সিস্টেম প্রথম ব্যক্তি দর্শন 1

জিনোমস্ক্রোল গুহা সিস্টেমের প্রথম ব্যক্তি ভিউ 2

জিনোমস্ক্রোল গুহা সিস্টেম তৃতীয় ব্যক্তি ভিউ 2

এগুলি হল লাইবনাইজ টিউটোরিয়াল থেকে "পার্লিন ওয়ার্মস"। কৌশলটি মাইনক্রাফ্টে উত্পন্ন গুহাগুলি ঘনিষ্ঠভাবে পুনরুত্পাদন করে।

লিনয়েজ টিউটোরিয়াল পার্লিন কৃমি

স্নেকিং প্যারামিটারগুলি গুহা পদ্ধতির গুণমানকে প্রভাবিত করে এবং নির্ধারণ করে যে গুহাগুলি কতগুলি উল্লম্ব এবং তারা কত দ্রুত গতিবেগ পরিবর্তন করে। মাইনক্রাফ্ট শাখায় থাকা গুহা এবং গুহাটির সুড়ঙ্গের ব্যাসার্ধটি গুহাগুলির দৈর্ঘ্যের চেয়ে পৃথক।

মাইনক্রাফ্ট খণ্ড ভিত্তিতে গুঁড়ি গুঁড়ো তৈরি করে। প্রয়োজনীয় পদ্ধতির বিষয়টি জটিল এবং মাইক্রাফ্টের গুহা জেনারেটরটি এখনও সার্ভার মডডারদের আগ্রহের পরেও পুরোপুরি বিপরীত করতে পারেনি।

অসীম মানচিত্র তৈরি হওয়ার সাথে সাথে বহির্মুখী প্রসারিত হওয়ার কারণে সম্ভবত সম্ভাব্য পন্থাটি ছড়িয়ে পড়া ছদ্মবেশী গুহাগুলি তৈরি করে। বর্তমান খণ্ডের গুহাগুলি হ'ল কিছু এন এর নিকটবর্তী এন অংশগুলিতে গুহা বীজের কাজগুলি। সীমিত খণ্ড ব্যাসার্ধের মধ্যে খণ্ডগুলি কেবল মূল্যায়ন করার সময় অসীম মানচিত্র।


3
এই "পার্লিন ওয়ার্মস" জিনিসটি সম্পর্কে জানতে আপনি কিছু তথ্য বা সংস্থান যুক্ত করতে পারেন?
ডেভিড গাউভিয়া


প্রয়োজনীয় নয়, তবে আপনি যদি সেই শেষ অনুচ্ছেদে বিশদভাবে বর্ণনা করতে পারতেন তবে আমি এটির প্রশংসা করব। কৃমি তৈরির জন্য, আমি ধরে নিয়েছি আপনার প্রতি কৃমি প্রতি একটি প্রারম্ভিক বিন্দু প্রয়োজন, যা কোনও প্লেয়ারের এন অংশগুলির মধ্যে থাকা দরকার যেখানে এন একটি কীটের সর্বোচ্চ দৈর্ঘ্য।
পৌরাণিক কাহিনী

3
যথাযথভাবে। প্রতিটি কৃমির একটি প্রারম্ভিক বিন্দু থাকে এবং এটি নির্দিষ্ট অংশের ব্যাসার্ধের বাইরে ঘুরে বেড়ালে এটি সমাপ্ত হয়। এখানে একটি এলোমেলো সংখ্যা জেনারেটর রয়েছে যা নির্বিচারে একটি ছদ্ম র্যান্ডম সংখ্যা ক্রম উত্পন্ন করে যা খণ্ড স্থানাঙ্কের একটি ফাংশন। এই এলোমেলো সংখ্যাগুলি সেই নোডে কোথায় এবং কতগুলি কীট উত্পন্ন তা নির্ধারণ করে। কৃমিও শাখা করতে পারে। কীটগুলি বেশি "স্থানীয়" থাকে এবং একটি ছোট অংশের ব্যাসার্ধের চেয়ে বেশি উদ্যোগ নিতে না পারলে গুণগত বোঝা হ্রাস পায়।
হ্যালটিংস্টেট

আমি যা শুনতে চেয়েছিলাম ঠিক তা নয়, তবে আমি যা প্রত্যাশা করছিলাম। হ্যালটিংস্টেট আবার ধন্যবাদ। :)
পৌরাণিক কাহিনী

7

অঞ্চলগুলি যেখানে শক্তিশালী সেখানে আমি পয়েন্টগুলির মেঘ তৈরি করব - আপনি বিভিন্ন ঘনত্ব নিয়ে পরীক্ষা করতে পারেন। তারপরে আমি সমস্ত পয়েন্টের সাথে সংযোগ স্থাপনের জন্য ন্যূনতম বিস্তৃত গাছের মতো একটি অ্যালগরিদম ব্যবহার করব - এটি নিশ্চিত করবে যে প্রতিটি অঞ্চল পৌঁছনীয়। তারপরে নোড থেকে নোড পর্যন্ত (যেমন ভক্সেলের একটি ঘন রেখা) বড় বড় ফাঁকা (বায়ু দ্বারা গঠিত) অঞ্চলগুলি আঁকুন।


আপনি ঠিক এর অর্থ কী বুঝতে পেরেছেন তা আমি বুঝতে পারি না, তবে পৃথিবী উৎপন্ন হওয়ার সাথে সাথে আমি কীভাবে এই ফ্লাই শঙ্কে এটি করব?
পৌরাণিক কাহিনী

একটি সম্ভাব্য উপায় হ'ল পৃথকভাবে প্রতিটি অংশের মধ্যে ন্যূনতম বিস্তৃত গাছ উত্পন্ন করা, তারপরে দুটি খণ্ডের মধ্যে নিকটতম দুটি নোড সন্ধান করে প্রতিটি অংশকে সংযুক্ত করুন। আপনার ডিফল্ট ভূখণ্ডের অ্যালগরিদম দিয়ে কোনও অংশ পূরণ হওয়ার পরে, আপনি এটিকে ন্যূনতম বিস্তৃত গাছের চারপাশে ফাঁকা করে রাখতে পারেন।
গাভান উওলারি

1
আরেকটি (সহজ) সমাধান, যদিও কম দক্ষ এবং সম্ভবত "কোলকুল", একটি পথ তৈরির জন্য ব্রাউনিয়ান গতি ব্যবহার করা (এলোমেলোভাবে পিঁপড়া খননের মতো)।
গাভান উওলারি

2

গেম ডেভেলপার ম্যাগাজিনের এপ্রিল ২০১১ সংখ্যাটি পুনরাবৃত্ত পার্লিন শোর ফাংশনগুলির সাথে বিশদে এর মধ্যে যায় - 21 পৃষ্ঠায় শুরু হওয়া ওয়ার্ল্ডস এর নিবন্ধ দেখুন see


তারা প্রতিটি পদক্ষেপের জন্য স্ক্রিনশট দেখায় (ফাংশন) এবং
তারতম্যগুলি

1

প্রতিটি টুকরার টানেল রয়েছে কিনা তা নির্ধারণের জন্য একটি শব্দ ফাংশন ব্যবহার করুন এবং তারপরে গুহাগুলি কোথায় রাখবেন তা সিদ্ধান্ত নিতে তাদের ব্যবহার করুন। যদি আপনি টানেলগুলি চান তবে কেবল আরও শব্দের ক্রিয়া ব্যবহার করুন (বিভিন্ন বীজ সহ) এবং টানেল রয়েছে কিনা তা নির্ধারণ করার জন্য তাদের মানগুলি ব্যবহার করুন। এর পরে, টানেলগুলি তৈরি করতে সাধারণ "অঙ্কন" ফাংশন ব্যবহার করুন। সবকিছুকে আরও বাস্তবসম্মত করার জন্য, বলা গুহা / টানেলের মূল পয়েন্টগুলির জন্য এলোমেলো স্থানচ্যুতি করতে আরও শব্দ ব্যবহার করুন।

আপনি যদি একাধিক শোনার ফাংশন ব্যবহার করতে না চান তবে আপনি বড় দূরত্বে তদন্ত করতে পারেন - উদাহরণস্বরূপ, (২,২,২) শঙ্ক 3 ডি (২,২, ১)) এবং একটি মানের জন্য (২,২,১16), দ্বিতীয় মান ইত্যাদির জন্য (২,২,১17) ব্যবহার করুন .... তবে সমস্ত মানকে স্বতন্ত্র বা সংক্ষিপ্ত আকারে সম্পর্কিত করতে আপনার ফ্রিকোয়েন্সিটি অনুসারে ঠিক করুন une

গোটা ঘনত্বকে পুরো বিশ্বে পরিবর্তিত করতে, আরেকটি, কম ফ্রিকোয়েন্সি ফাংশন ব্যবহার করুন যা বলার মানগুলিকে প্রভাবিত করবে।

যদি অগোছালো গুহায় এর ফলস্বরূপ হয় তবে কেবল আন্তঃসংযুক্ত পয়েন্টগুলির দূরত্ব বৃদ্ধি করুন বা অন্যথায় অ্যালগরিদম টিউন করুন।

আমি নিশ্চিত নই মিনক্রাফ্ট এর মতো গুহাগুলি করে কিনা (যদিও আমি মনে করি এটি এটি করে) তবে এই সমাধানটির সন্তোষজনক ফলাফল পাওয়া উচিত।


-5

এখানে

যদিও উপরেরগুলির মতো বেশিরভাগ গুহাগুলি পার্লিন কীট ব্যবহার করে , কিছু লোকেরা বরং এটি নিজেই করেন do এইভাবে তারা এটিকে ব্লকের জন্য একেবারে অবরুদ্ধ করতে চায় make পার্লিন কীট ব্যবহার করে তৈরি একটি গুহাটি ভুল হতে পারে এবং এটি কেবল 5 ফুট উঁচু এবং 6 ফুট প্রস্থের গুহাটি তৈরি করতে পারে, আপনি এটি 10 ​​ফুট উঁচু এবং 15 ফুট প্রস্থের চাইলে এটি ভুল হতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.