এলোমেলো মানচিত্র প্রজন্ম


63

আমি জাভাতে একটি 2D টাইলম্যাপ আরপিজি গেমটি শুরু / শুরু করেছি এবং আমি এলোমেলো মানচিত্র প্রজন্মটি বাস্তবায়ন করতে চাই। আমার কাছে পানির টাইলস এবং পাথ টাইলসের সাথে বিভিন্ন টাইলসের (ময়লা / বালু / পাথর / ঘাস / নুড়ি ইত্যাদি) একটি তালিকা রয়েছে, আমার সমস্যাটি হ'ল এলোমেলোভাবে কোনও মানচিত্র তৈরি করা শুরু করার কোন ধারণা আমার নেই।

এটি ভূখণ্ডের বিভাগগুলি থাকা দরকার (এর একটি অংশের মতো বালি, অংশ ময়লা ইত্যাদি হবে) মাইনক্রাফ্টের মতো যেখানে আপনার বিভিন্ন বায়োম রয়েছে এবং সেগুলি নির্বিঘ্নে একে অপরের সাথে রূপান্তরিত হয়। সবশেষে আমার এটিকে এলোমেলো পাথ যোগ করার পাশাপাশি সমস্ত মানচিত্রের বিভিন্ন দিকে যেতে হবে।

আমি কাউকে আমাকে সমস্ত কোড বা কিছু লিখতে বলছি না, দয়া করে আমাকে সঠিক দিকে ডেকে দিন please

tl; dr - বায়োম, পাথ সহ একটি টাইল মানচিত্র তৈরি করুন এবং নিশ্চিত করুন যে বায়োমগুলি নির্বিঘ্নে একে অপরের মধ্যে চলে গেছে।

উত্তর:


68

সাইটে থাকা সম্পর্কিত অন্যান্য অনেক প্রশ্নের মধ্যে ম্যাপ জেনারেশনের জন্য প্রায়শই লিঙ্কিত একটি নিবন্ধ রয়েছে: গেমসের জন্য বহুভুজ ম্যাপ জেনারেশন আপনি সেই নিবন্ধটি থেকে কিছু ভাল কৌশল সংগ্রহ করতে পারেন, তবে এটি বাস্তবে যেমন ব্যবহার করা যায় না।

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

এখানে চিত্র বর্ণনা লিখুন

অথবা এটা

এখানে চিত্র বর্ণনা লিখুন

আপনি পূর্বে উত্পাদিত শব্দ স্তরগুলির উপর ভিত্তি করে বায়োমগুলি উত্পন্ন করতে to সাধারণত এটি বায়োমস এবং ট্রানজিশনগুলির মধ্যে মোটামুটি মসৃণ রূপান্তর দেয় যৌক্তিক। আমি উচ্চতার উপর ভিত্তি করে আর্দ্রতা এবং তাপমাত্রার মানচিত্রগুলিও সংশোধন করি। এটি প্রাকৃতিকভাবে একটি "কাঠের লাইন" উত্পন্ন করে এবং তুষার ক্যাপযুক্ত পাথুরে পাহাড়ের উত্পাদন করে।

আমি এই কৌশলটি আমার গেমটি ব্যবহার করছি এবং এটি খুব দ্রুত এই জাতীয় মানচিত্র তৈরি করে:

এখানে চিত্র বর্ণনা লিখুন

অতিরিক্তভাবে, আপনি এই ভিডিওর শুরুতে আমাকে আরও কয়েকটি মানচিত্রের মাধ্যমে স্ক্রোল করতে দেখতে পান ।

আপনাকে শুরু করার জন্য এখানে আরও কিছু রয়েছে:

আমি কীভাবে একটি টাইল ইঞ্জিনে এলোমেলো "বিশ্ব" তৈরি করতে পারি?

পদ্ধতিগতভাবে উত্পাদিত বিশ্বে আমি কীভাবে বৈশিষ্ট্য অঞ্চলগুলি সনাক্ত করতে পারি?

আমি কীভাবে মানচিত্র তৈরির জন্য টাইলিবল কঠিন শব্দ তৈরি করব?


যদিও গেমস লিঙ্কের জন্য বহুভুজীয় মানচিত্র জেনারেশনটি খুব সুন্দর নিবন্ধ, তবে আমি মনে করি না যে এটি এই প্রশ্নের পক্ষে খুব উপযুক্ত because উচ্চতার উপর ভিত্তি করে।
তাপিও

@ টেপিও আপনি ঠিক বলেছেন, আমি আরও তথ্যের সাথে আপডেট করেছি।
মাইকেলহাউস

@ বাইট 6 Thank আপনাকে ধন্যবাদ, এগুলি সবই আমাকে একটি সূচনা পয়েন্ট দেয়! :)
টম হে

@ বাইট 56 আমি লক্ষ্য করেছি আপনি কয়েক বছর আগে থেকে আমার প্রশ্নের উল্লেখ করেছেন, তাই আমি এটি ওয়ার্কিং কোড দিয়ে আপডেট করেছি!
নিক বাদল

1
বিটিডব্লিউ বহুভুজ ম্যাপ জেনারেশন প্রকল্পটি এমন একটি গেমের জন্য তৈরি করা হয়েছিল যাতে টাইল মানচিত্র ছিল যা উচ্চতাগুলি প্রদর্শন করে না। উচ্চতা এবং বহুভুজগুলি বায়োমগুলি উত্পন্ন করার জন্য রয়েছে তবে সেগুলিকে আসলে গেমটিতে দেখানো হয় না।
amitp

29

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

অন্যান্য উত্তরগুলির মতো নয় আপনি পুরো শূন্য মানচিত্র দিয়ে এটি শুরু করেন। আপনি সমুদ্রপৃষ্ঠ যা বিবেচনা করবেন তা দিয়ে শুরু করুন। খুব সামান্য প্রকরণ যোগ করতে পার্লিন নয়েজটি ব্যবহার করুন , যদি আপনার 256 সম্ভাব্য উচ্চতা থাকে তবে কোনও দিকে 3-5-এর বেশি পরিবর্তিত হবে না। এটি আসলে দীর্ঘ সময়ের জন্য কোনও সিমুলেশন না চালিয়ে আপনার ল্যান্ডস্কেপের প্রথম কয়েক বিলিয়ন বছর তৈরি করে।

প্লেট টেকটোনিক্স

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

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

  • যেখানে একটি মনোনীত প্লেট একটি অনির্ধারিত প্লেট অতিক্রম করে সেখানে অনির্ধারিত প্লেট বিপরীত প্রকারে পরিণত হয়। (সুতরাং ওভার পারাপারের সময় ইউডি প্লেটগুলি অধীনে চলে যায়))
  • ওভার প্লেট যেখানে আন্ডার প্লেটের উপরে বসে আছে, সেই সমস্ত টাইলস 0-1 উচ্চতার ধাপে উপরে চলে যায় এবং টাইলগুলি ওভার প্লেটের পথ অনুসরণ করে।
  • ওভার প্লেট যেখানে ওভার প্লেটটি অতিক্রম করে, সেই সমস্ত টাইলস 1-2 ধাপ উপরে উঠে যায় এবং ক্রস ওভার অঞ্চলে টাইলগুলি আর প্রবাহিত হয় না।
  • যেখানে আন্ডার প্লেট একটি আন্ডার প্লেটটি অতিক্রম করবে সেখানে ক্রস ওভার অঞ্চলে উভয় প্লেটের জন্য% 66% চিহ্নের চেয়ে বেশি উচ্চতার সমেত অঞ্চলে যে কোনও টাইলগুলি ১-২ ধাপ এগিয়ে চলেছে (যেন আগ্নেয়গিরির ক্রিয়াকলাপ দ্বারা, এটি পর্যাপ্ত সময়ের সাথে দ্বীপগুলি উত্পাদন করবে) ) এবং এই অঞ্চলে টাইলগুলি বয়ে যাওয়া বন্ধ করে দেয়।

সমস্ত প্লেট যা প্রতিটি ধাপে তাদের বর্তমান গতির 20% দ্বারা ধীরে ধীরে অতিক্রম করে। যুক্ত হওয়া বাস্তবতার জন্য, প্রতিটি পদক্ষেপের দিকনির্দেশে একটি এলোমেলো -10% থেকে 10% পরিবর্তন যুক্ত করুন।

কাঙ্ক্ষিত সংখ্যক পদক্ষেপগুলি সম্পাদন করার পরে। সম্ভবত 5-10 প্রচুর পরিমাণে। যে কোনও টাইলস যেখানে কোনও প্লেটই বাসিন্দা নেই, সর্বনিম্ন বিদ্যমান স্তরে ফেলে দেওয়া উচিত।

বড় বা ছোট?

এই মানচিত্রটি যেমন রয়েছে তেমনি ব্যবহার করা যেতে পারে বা 4X4 টাইল (সেল) খণ্ডে বিভক্ত হয়ে এবং পৃথক উচ্চতার ভিত্তিতে sections বিভাগগুলি প্রসারিত করে আরও বৃহত্তর মানচিত্র তৈরি করতে এটি প্রসারিত করা যেতে পারে। প্রতিটি কক্ষের উচ্চতাটিকে বিন্দু হিসাবে বিবেচনা করুন এবং এই পয়েন্টগুলির মধ্যে বৃহত্তর মানচিত্রে একটি মসৃণ গ্রেডেশন তৈরি করুন। সুতরাং, যদি বৃহত্তর মানচিত্র 4X4 এর পরিবর্তে 40X40 হয় এবং বিন্দু (0,0) 10 হয় এবং বিন্দু (0,1) হয় 1, তাদের মধ্যে বৃহত্তর মানচিত্রের টাইলগুলি 10,9,8,7,6 হবে 5 5,4,3,2,1 উচ্চতা। আরও Perালুগুলি মসৃণ করতে পার্লিন নয়েজ যুক্ত করা যেতে পারে। এই সমস্ত স্কেলিং কৌশলটি ডায়মন্ড স্কোয়ার অ্যালগরিদমের সাথে সমান ।

পানি

নদী এবং হ্রদ, মহাসাগর এবং জলের টেবিলগুলি অনুকরণ করতে। আমি সেলুলার অটোমেটা ব্যবহার করতে পছন্দ করি ।

সূক্ষ্ম দানযুক্ত ট্র্যাকিংয়ের অনুমতি দেওয়ার জন্য উচ্চতাগুলি ফ্লোট বা প্রসারিত আন্ত রেঞ্জগুলিতে পরিণত হয়। জলের কোষগুলির স্যাচুরেশন মান রয়েছে, 1-256 এর পরিসরে বলুন। মানচিত্রগুলি সমানভাবে শুরু করা উচিত। আপনার নিজের পৃথক মানচিত্রের আকারগুলির জন্য সংখ্যাগুলি নিয়ে খেলতে হবে তবে সাধারণভাবে আপনি নিয়মগুলি এই জাতীয় কিছু অনুসরণ করবেন:

  • প্রতিবেশী কক্ষটি যদি বেশি স্যাচুরেটেড হয় তবে স্যাচুরেশন বৃদ্ধি করুন এবং উচ্চতা অর্জন করুন।
  • যদি প্রতিবেশী কক্ষ কম স্যাচুরেটেড হয় তবে স্যাচুরেশন হ্রাস করুন এবং উচ্চতা হারাবেন।

প্রতি প্রতিবেশী কক্ষের জন্য এই চেক করুন। পর্যাপ্ত সংখ্যক পদক্ষেপের মধ্য দিয়ে চলুন। আপনি যদি চান, আপনি সেই তাপমাত্রার দ্বারা হারিয়ে যাওয়া / অর্জিত স্যাচুরেশনের পরিমাণ পরিবর্তন করে এই সিমুলেশনে তাপমাত্রা যুক্ত করতে পারেন। আপনি এটি উন্নয়নের ভিত্তিতেও পরিবর্তন করতে পারেন। প্রাকৃতিক হ্রদ এবং নদীগুলি গঠন করা উচিত। কেউ কেউ সাগরে পড়বে। (সমুদ্র সম্ভবত কোনও মেট্রিক দ্বারা পূরণ করবে না, তবে আপনি সমুদ্র-স্তরের নীচে যে কোনও উপায়ে যাই হোক না কেন শেষে জল ভরাট করতে পারবেন))

বায়োমগুলি তৈরি করতে আপনি অন্যান্য উত্তরের মতো ব্যবহার করতে তাপমাত্রা এবং স্যাচুরেশন ডেটা রাখতে পারেন। এগুলি আরও সঠিক এবং আকর্ষণীয় হওয়া উচিত। মেরুতে বরফের বায়োমগুলি এবং মাঝখানে গরমগুলি সহ (যদি আপনি তাপমাত্রার একটি স্নাতক স্নাতক তালিকা ব্যবহার করেন))

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

বিবর্তিত ল্যান্ডস্কেপ

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

উপসংহার

এই ধরণের কৌশলগুলি আরও জড়িত থাকার পরেও তারা অনেক বেশি বাস্তববাদী এবং বিকশিত প্রভাব তৈরি করে। এটি কি মূল্য জন্য এটি নিতে?


15

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

মাইনক্রাফ্ট থেকে বায়োমস

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