টাইল ভিত্তিক 2 ডি প্ল্যাটফর্মার জন্য টেরিন জেনারেশন


15

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

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

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

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

ঠিক আছে মানচিত্রের উদাহরণ, যদিও আরও কিছু উন্নতি করা ভাল better (কালো শক্ত, সাদা বায়ু):

ভাল মানচিত্র

এবং একটি ভয়ানক মানচিত্রের একটি উদাহরণ। (কালো শক্ত, সাদা বায়ু):

ভয়াবহ মানচিত্র

মূলত, আমি যা জিজ্ঞাসা করছি তা হল, ভূখণ্ডটি উত্পন্ন করার সর্বোত্তম উপায় কী হবে বা প্রজন্মের যত তাড়াতাড়ি সম্ভব ততটুকু পরিমাণের পৃষ্ঠতল ক্ষেত্র রয়েছে কিনা তা নিশ্চিত করতে বাধ্য করা to অথবা, বিকল্পভাবে, আমি কীভাবে দুর্ঘটনা শোরগোলের লাইব্রেরির মতো ফলাফল অর্জন করতে সক্ষম হব, তবে সি # তে।

কোন উদাহরণ খুব প্রশংসা করা হবে।


হাই, আমি ভাবছিলাম যে আপনি এটি কীভাবে তৈরি করেছেন। আমি এটির মতো পৃথিবী কীভাবে তৈরি করতে পারি তার একটি বোঝার চেষ্টা করছি এবং আপনি যে ফলাফল পাচ্ছেন তা আমার পছন্দ হয়। আপনি কোন অ্যালগরিদম ব্যবহার করছেন কারণ এটি পার্লিন শব্দ 2D এর মতো দেখাচ্ছে না এবং এটি অবশ্যই পার্লিন শোর 1D নয়।
G3tinmybelly

উত্তর:


8

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

সুতরাং আমি থ্রিডি পার্লিন শব্দের উপর ভিত্তি করে সিস্টেমটিকে একই ধরণের সিস্টেমে স্যুইচ করেছি। "স্থল উচ্চতা" নমুনা দেওয়ার পরিবর্তে, আমি শব্দের মানটিকে "ঘনত্ব" হিসাবে বিবেচনা করেছি, যেখানে 0 এর চেয়ে কম কিছু বায়ু হবে এবং 0 এর চেয়ে বড় বা সমান কিছু স্থল হবে। নীচের স্তরটি শক্ত এবং শীর্ষটি নয় তা নিশ্চিত করার জন্য, আমি নমুনাযুক্ত ফলাফলের সাথে উচ্চতা (জলের স্তর দ্বারা অফসেট) যুক্ত করছি।

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

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


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

@ ছায়াঙ্কিত মাত্রা - আপনার পার্লিন নয়েজ প্যারামিটারগুলির টুইট করা দরকার। আপনার খুব ভেরিয়েবল শোরগোল রয়েছে, আপনি যখন যা চান তা খুব মসৃণ, বিস্তৃত নিদর্শন। পরীক্ষা করে দেখুন freespace.virgin.net/hugo.elias/models/m_perlin.htm এবং আপনার পরামিতি কিছু নিয়ে তালগোল পাকানো চেষ্টা করুন। অল্প অধ্যবসায় এবং কম অষ্টক চেষ্টা করুন। (এই পদগুলি পৃথক হতে পারে, সুতরাং সেই নিবন্ধটি পড়ুন))
dlras2

ঠিক আছে, লিঙ্কটির জন্য ধন্যবাদ। আমি আরও জানতে পেরেছিলাম যে কয়েকটি পরামিতি পরিবর্তন করার পরে ওজন যেমন ইচ্ছা তেমন কাজ করে না।
শেড ডাইমেনশনগুলি

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

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