আমার বয়স দ্বিতীয় এম্পায়ার্সটি এলোমেলো মানচিত্রের উত্থাপিত পদ্ধতিটি পছন্দ করেছে (ভাল জাত, শালীন বায়োম ট্রানজিশন, মানচিত্র বিশৃঙ্খলা বোধ না করে এলোমেলো অনুভূত হয়েছিল) তবে শৈলীর প্রতিরূপে সংগ্রাম করছি। আমি উদাহরণস্বরূপ, পার্লিন শব্দের ব্যবহার করার চেষ্টা করেছি, তবে সবকিছুই খুব একজাতীয়, বা যদি না হয় তবে পার্লিন মান -> ভূখণ্ডের হিউরিস্টিক বিভিন্ন ধরণের বিশ্বব্যাপী তৈরি করতে খুব সংবেদনশীল এবং ভঙ্গুর।
আমার মনে আছে AoE2 মানচিত্রের ধরণের "অজানা" বিজ্ঞাপন দেওয়া "100,000 সম্ভাব্য মানচিত্র", কিছু বীজ সংখ্যা ব্যবহারের পরামর্শ দিয়েছিল, তবে আমি যে জাতকটি দেখেছি তা উত্পাদন করতে বীজ সংখ্যা কীভাবে ব্যবহার করতে হয় তা নিশ্চিত নই।
AoE2 এলোমেলো মানচিত্রের মতো মনে হয় এমন র্যান্ডম মানচিত্র তৈরি করতে আমি কোন অ্যালগরিদম এবং হিউরিস্টিক ব্যবহার করতে পারি?
আরও নির্দিষ্ট হতে সম্পাদনা করুন:
আমার সমস্যা সম্পর্কে আরও চিন্তা করা, এবং এওই 2-র র্যান্ডম ম্যাপ ইঞ্জিন সম্পর্কে আমি কী পছন্দ করি তা অধ্যয়নরত, আমি বিশ্বাস করি যে আমার বৃহত্তম সমস্যাটি মানচিত্রে জল এবং উদ্ভিদের জীবন বন্টন পরিচালনা করা । আমি এখন দেখছি যে আমি এটি "বায়োম ট্রানজিশনগুলি বোঝায়" তার সাথেও এটি বেঁধে রেখেছি, তবে এটি একটি ভিন্ন সমস্যা (যদিও আমি আশা করি পার্লিনের শব্দদাহের আমার ক্রমাগত ব্যবহার সমাধানের পক্ষে জটিল হয়ে উঠবে))
আমি বেশ কয়েকটি এওই 2 র্যান্ডম মানচিত্র যুক্ত করেছি যা তাদের ম্যাপিং ইঞ্জিন সম্পর্কে আমার কী পছন্দ তা হাইলাইট করে, যা আমার নিজের প্রচেষ্টা পুনরুত্পাদন করতে ব্যর্থ হচ্ছে। সমস্ত স্ক্রিনশটগুলি এলোমেলো মানচিত্রের প্রকার, "কাস্টম" -> "অজানা" থেকে নেওয়া হয়েছে। আমি আর্কিপেলাগোসের মতো নির্দিষ্ট ভৌগলিক ব্যবহারের জন্য গেমটি নির্দেশ করিনি।
নীচে আমার নিজস্ব মানচিত্র ইঞ্জিনের চিত্রগুলি রয়েছে। প্রতিটি পিক্সেল একটি AoE2 মানচিত্র টাইল অনুরূপ।
আমার প্রকল্পের জন্য একটি জটিলতা হ'ল আমি চাই মানচিত্রটি AoE2 মানচিত্রের চেয়ে অনেক বেশি, বহুগুণ বড় হোক। সুতরাং, আমি যে কোনও ইঞ্জিন ব্যবহার করি তা অবশ্যই প্রতিটি মানচিত্রে বায়োমগুলির সম্পূর্ণ পরিসীমা তৈরি করতে সক্ষম হতে হবে, এবং মানচিত্র প্রতি বায়োমগুলির একটি সংকীর্ণ সেট নয়, যেমন এওই 2 ব্যবহার করে।
দ্বিতীয় সাম্রাজ্যের বয়স maps
এখানে একটি উদাহরণ রয়েছে যা অভ্যন্তরীণ হ্রদ এবং কিছু ধরণের নদীদৃষ্টির বৈশিষ্ট্যযুক্ত। আমি পছন্দ করি যে কীভাবে মানচিত্রে প্রচুর পরিমাণে ছড়িয়ে ছিটিয়ে থাকা জল রয়েছে, কিন্তু সেই জলটি কিছুটা কেন্দ্রীভূত রয়েছে - এমন অনেক বড় জমি রয়েছে যা আপনার সাম্রাজ্য তৈরির জন্য উপলব্ধ। আপনার শহরটিকে জলের আশেপাশে পুরো পরিকল্পনাটি ব্যয় করতে হবে না।
এখানে অনুরূপ উদাহরণ যেখানে গেমটি ট্র্যাভারেবল জলাভূমির সাথে দ্বীপগুলি সংযুক্ত করতে যথেষ্ট স্মার্ট ছিল। আমি কল্পনা করতে পারি না যে একটি শব্দ-ভিত্তিক অ্যালগরিদম কীভাবে সেখানে মার্শ তৈরি করবে এবং কেবল সেই জায়গাগুলি। এছাড়াও, খেয়াল করুন কীভাবে গেমটি জমিটি এমনভাবে তৈরি করেছিল যাতে প্রতিটি খেলোয়াড়ের নিজস্ব ব্যক্তিগত, বৃহত্তর জমির সমস্ত শুরু হয়। এটি স্থলভাগের এলোমেলো প্যাচগুলি তৈরি করে নি, তারপরে একটি সেরা অনুমান করে নিন যে প্রতিটি খেলোয়াড়ের পক্ষে আর কোনওটি শুরু হওয়া সবচেয়ে কম ভয়ঙ্কর।
আমি পছন্দ করি যে এই মানচিত্রটি জলের প্রচুর ব্যবহার করে তবে অনেক অভ্যন্তরীণ হ্রদ অন্তর্ভুক্ত করে না । এটি প্রথম চিত্রের সাথে বৈসাদৃশ্য করুন। AoE2 একই বিল্ডিং ব্লকগুলি ব্যবহার করে সম্পূর্ণ ভিন্ন ভৌগলিক তৈরি করার উপায়টি আমার পছন্দ হয়। পার্লিন শব্দটি ব্যবহার করার আমার প্রচেষ্টা এখানে ব্যর্থ হয়েছে - আমি হয় প্রচুর বিস্তীর্ণ মহাসাগরগুলি পাই যা ভূমির ভরকে বামন করে, অথবা 10,000 টি হ্রদের ভূমি। দ্বীপপুঞ্জ এবং সংযুক্ত মহাদেশগুলি (উত্তর / দক্ষিণ আমেরিকা মনে করুন) পাওয়া আমার পক্ষেও কঠিন ছিল ।
এই চিত্রটির উপরের চিত্রের সাথে বৈকল্পিক করুন। তারা দেখায় যে কোনও মানচিত্রের জলবায়ু পানির স্তরের উপর নির্ভর করে না। প্রথম চিত্রটিতে এমন একটি মানচিত্র রয়েছে যা প্রায় জল বিহীন, তবুও বন এবং ঘাস রয়েছে। দ্বিতীয় চিত্রটিতে মাঝারি পরিমাণে জল রয়েছে, তবুও মরুভূমি। আমি এটি সম্ভব বলে মনে করি (আপনার বিশ্বে নিউ মেক্সিকো বা সাহারা এবং কোস্টারিকা উভয়ই থাকার কথা ভাবেন)।
আমার নিজস্ব মানচিত্র
আমি একগুচ্ছ জায়গাগুলিতে পড়েছি যে মানচিত্র তৈরির একটি ভাল উপায় হ'ল পার্লিন শব্দের একাধিক স্তরের স্তর স্থাপন করা, যা প্রতিটি তথ্যের ভিন্ন মাত্রা উপস্থাপন করে। জনপ্রিয় সুপারিশ অনুসরণ করে, আমি এখানে হুইটকার টেবিল থেকে ভূখণ্ডের প্রকারগুলি নির্বাচন করে উচ্চতা এবং আর্দ্রতার সাথে চলেছি ।
আমি দুটি পার্লিন মানচিত্র নিয়েছি, প্রতিটি থেকে মানকে একটি সাধারণের মাধ্যমে সংখ্যায়িত করে if perlin_val < x { i=some_int } else if perlin_val < y...
, তারপরে (উচ্চতা, আর্দ্রতা) পূর্ণসংখ্যার জোড়কে টেরিটের ধরণের (যেমন, [1,0] -> গ্রীষ্মমন্ডলীয় মরুভূমিতে ম্যাপ করেছিলাম, [1,1 ] -> তৃণভূমি)। মহাসাগরগুলি এই সিস্টেমে অন্তর্ভুক্ত ছিল - উচ্চতা = 0 সংজ্ঞায়িত সমুদ্র।
এখানে ভাল পার্থক্য রয়েছে এবং বিভিন্ন দিক থেকে এটি বাস্তব বিশ্বের মতো অনুভূত হয় তবে কয়েকটি সমস্যা রয়েছে:
প্রথমত, সমুদ্রের গভীরতায় কোনও প্যাটার্ন নেই। আপনি উপকূলের কাছাকাছি অগভীর জল এবং আরও গভীর জলের প্রত্যাশা করতেন, কোন ছড়া বা কারণ নেই তা কোথায় where
দ্বিতীয়ত, সমস্ত জল সমুদ্রগুলিতে কেন্দ্রীভূত হয়; কোনও হ্রদ বা নদী নেই, কারণ পার্লিনের শব্দটি হঠাত্ কোনও মহাদেশের মাঝখানে নিম্ন মানের কাছে ডুব দেয় না।
প্রতিটি বায়োমের পরিমাণের মধ্যে ভারসাম্য তৈরি করা খুব, খুব কঠিন। আমি এটিকে দায়ী করি:
পার্লিন গোলমাল একটি সাধারণ বিতরণ অনুসরণ করে, সুতরাং প্রতিটি মাত্রার ম্যাপিংয়ের সম্ভাব্যতা কীভাবে সমন্বয় করা যায় তা অনুমান করা কঠিন
একাধিক মাত্রার ভারসাম্য বজায় রাখার চেষ্টা করা শক্ত - সম্ভবত আমি আরও (2,3) চাই তাই আমি (এন, 3) পাওয়ার অসুবিধাগুলি বাড়িয়ে তুলি। ঠিক আছে, এখন আমার কাছে খুব বেশি (3,3) আছে এবং সমস্ত কিছুই ভুল দেখাচ্ছে।
মসৃণ ডেটা রাখার জন্য আমি যখন শব্দটি ঘনিষ্ঠভাবে জুম করেছিলাম তখন আমি পার্লিন মানগুলির খুব সম্পূর্ণ নমুনা পাচ্ছিলাম না। সুতরাং আমি আমার সামনে মানচিত্রের জন্য আমার বিতরণগুলি সাম্প্রতিক করব, একটি নতুন এলোমেলো মানচিত্র পুনরায় লোড করব এবং খুব আলাদা ফলাফল পাব।
আমি পার্লিন মানগুলির তৃতীয় সেট থেকে জল তৈরি করে নদী / হ্রদগুলির সমস্যা সমাধানের চেষ্টা করেছি। একটি বাইনারি জল / জমির সিদ্ধান্ত, তারপরে উপরের সমস্ত জিনিস জমিতে প্রয়োগ করুন। এটি পানির বিতরণ নিয়ন্ত্রণ করতে মারাত্মকভাবে সহজ করে তোলে (এখনও নিখুঁত নয়, তবে আরও ভাল), তবে এই সমস্যার পরিচয় দেয় যে প্রচুর পরিমাণে বায়োম ট্রানজিশন রয়েছে যা বোঝায় না। উদাহরণস্বরূপ, উজ্জ্বল তৃণভূমি, সমুদ্র সৈকতে তুষার ইত্যাদির মাঝে মরুভূমির অবর্ণনীয় প্যাচগুলি উপরে বর্ণিত কারণে ল্যান্ড বায়োমগুলির অনুপাত নিয়ন্ত্রণ করা এখনও শক্ত।
উপরের সমস্যাগুলি দেখে, আমি একটি সহজ অ্যালগরিদম চেষ্টা করেছি যা কেবল পার্লিন শব্দকে এক মাত্রায় ম্যাপ করে। আমার কাছে এখন 0 = গভীর মহাসাগর -> 1 = অগভীর সমুদ্র -> 2 = সৈকত ... -> এন = তুষারপাত থেকে প্রসারিত অঞ্চলগুলির ধরণের একটি অ্যারে রয়েছে। যদিও এই দ্বীপগুলি এবং মহাদেশগুলি ফলন করে এবং প্রতিটি ভূখণ্ডের অনুপাতে ভারসাম্য বজায় রাখা আরও সহজ করে তোলে, ভূখণ্ডের প্রকারগুলি খুব বেশি ক্লাস্টারযুক্ত। প্রতিটি স্থলভাগ একটি উত্থানের মানচিত্রের মতো দেখায়, সাধারণত ভূখণ্ডের প্রকারগুলি তার পৃষ্ঠতল জুড়ে ছড়িয়ে ছিটিয়ে থাকে। প্রতিটি স্থলভাগের প্রায় একই বৈশিষ্ট্য থাকে, সর্বদা একই ক্রমে এবং সর্বদা একই রিং-জাতীয় আকারে।