অসুস্থ-মত 2D অন্ধকার জেনারেশনের জন্য কয়েকটি আদর্শ অ্যালগরিদম কী কী? [বন্ধ]


47

অন্ধকার জেনারেশনের প্রসঙ্গে পদ্ধতিগত সামগ্রী তৈরি সম্পর্কে কিছু ভাল সংস্থানগুলি কী কী?

নিকটতম নিবন্ধটি আমি 2 ডি ধাঁধা তৈরির জন্য অ্যালগরিদম খুঁজে পেতে পারি , যা আমি খুঁজছি ঠিক তা নয়। কক্ষ এবং সংযুক্ত হলওয়ের মতো বৈশিষ্ট্যগুলি আদর্শ।

ধন্যবাদ!


1
এছাড়াও, গোলকধাঁধা প্রজন্মের দিকে একবার নজর দিন ।
অ্যান্টনি

1
এই বিষয় উপর কিছু নিবন্ধ আছে RogueBasin
Patry Guillaume,

উত্তর:


27

এর আগে কমবেশি উত্তর দেওয়া হয়েছে। আপনার প্রথম স্টপ প্লেসটি http://pcg.wikidot.com/ হওয়া উচিত কারণ

যেহেতু আমার বিরুদ্ধে অভিযোগ করা হয়েছিল যে এটি মোটেও সহায়ক উত্তর নয় (সত্যিই? কেউ কি কোনও সংস্থান জিজ্ঞাসা করে এবং আমি বিষয়টির সাথে সম্পর্কিত উইকির লিঙ্ক পোস্ট করি? ), উইকির এই পৃষ্ঠায় বিশেষত ডানজিয়ন জেনারেটরগুলির সাথে আলোচনা করা হয়েছে এবং বিষয়টির বিভিন্ন নিবন্ধের লিঙ্ক রয়েছে।
http://pcg.wikidot.com/pcg-algorithm:dungeon-generation

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


"সমস্ত ধারণাগুলি বৈধ" এর জন্য +1, তবে আমি সে সম্পর্কে স্পষ্ট করে বলতে চাই: সমস্ত ধারণা বৈধ, তবে কিছু অন্যের চেয়ে ভাল কাজ করবে work আপনার <অস্পষ্ট কম্পিউটার অপভাষা এখানে> ধারণা হবে কাজ এবং সম্ভবত হতে কি আপনি চান, কিন্তু যদি না আপনি হয় যে উহার, আরও দক্ষ আরো র্যান্ডম, আরো সংযোজক, আরো স্বনির্ধারিত, অথবা কোনো সমন্বয় হবে, এটা করতে অন্যান্য উপায় আছে সত্যিই ভাল বা সত্যিই ভাগ্যবান।
নিক হার্টলি

20

স্কোয়ার গ্রিডের উপর ভিত্তি করে আমি নিম্নলিখিত অ্যালগরিদম ব্যবহার করে যুক্তিসঙ্গতভাবে সুদর্শনীয় স্তরগুলি পেতে সক্ষম হয়েছি:

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

তারপরে, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে সমস্ত কক্ষগুলি একে অপরের সাথে সংযুক্ত রয়েছে। এর জন্য, প্রতিটি জোড় কক্ষের মাঝে করিডোরগুলি খনন করার জন্য একটি পথচালক চালান (এখনও বলা যাক, এ *), এখনও খালি না হওয়া (দেয়াল) স্থানের তুলনায় বিদ্যমান স্থানগুলিতে (ঘর বা অন্যান্য করিডোর) এলোমেলোভাবে ওজন দেওয়া। ওজনের মধ্যে পার্থক্যটি যদি কম হয় তবে নতুন করিডোরগুলি খনন করা যুক্তিসঙ্গতভাবে সস্তা হবে এবং অ্যালগরিদম কক্ষগুলির মাঝে অনেকগুলি করিডোর তৈরি করবে, যেখানে অনেক জায়গা থেকে অন্য জায়গায় যাওয়ার সম্ভাবনা রয়েছে। ওজনের মধ্যে পার্থক্য যদি উচ্চতর হয়, তবে অ্যালগরিদম বিদ্যমান কক্ষ এবং করিডোরগুলির মধ্য দিয়ে যাওয়ার পথগুলিকে আরও মারাত্মক করে তুলবে এবং নির্দিষ্ট গন্তব্যে পৌঁছানোর জন্য কম পছন্দ সহ পছন্দ করবে।

এটি আপনাকে সংক্ষিপ্ত সংখ্যক প্যারামিটার থেকে খুব আলাদা আলাদা লেভেল তৈরি করতে, ছোট ছোট করিডোরগুলির সাথে বিচ্ছিন্ন বিশাল হলগুলি থেকে ঘনিষ্ঠভাবে পরস্পরের সাথে সংযুক্ত চেম্বারের মধুচক্র দেখার ধাঁধার সাথে সংযুক্ত করে from

উত্পন্ন স্তরের উদাহরণ এখানে is

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

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


10

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

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


1
আমি কয়েক মাস আগে মনে হচ্ছিল অমরান্থ জুড়ে ছুটে এসেছি, তবে আমি নিজেই অন্ধকার জেনারেশনে নামার সময়টির নামটি ভুলে গিয়েছি। লিঙ্কের জন্য ধন্যবাদ!
গ্যাব্রিয়েল আইসেনবার্গ

2
এ তোমার নিবন্ধ journal.stuffwithstuff.com/2014/12/21/rooms-and-mazes খুব সত্যিই ভাল, আমি বিভিন্ন দালান জনক ইঞ্জিন ইত্যাদি কিছু অতিরিক্ত বৈশিষ্ট্য সঙ্গে যে একটি পরিবর্তিত সংস্করণ ব্যবহার
Tobsta

3

এই সমস্ত দুর্দান্ত ধারণা। আমি RogueBasin এবং pcg.wikidot.com থেকে কিছুটা নিয়েছি এবং সি # তে আমার নিজের প্রয়োগটি লিখেছি।

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

আপনি আমার মানচিত্র হ্যান্ডলার শ্রেণীর কোড এবং এখানে যে কোনও উন্নতি করতে পারেন তা দেখতে পারেন

বা এখানে একটি সংরক্ষণাগারিত সংস্করণ ।


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

1
লিঙ্কটি আসলে মারা গেল।
htmlcoderexe

2

আমি মনে করি এটির সর্বাধিক প্রত্যক্ষ জায়গা হ'ল প্রকৃত উত্স কোডটি। মাঠের দুই বড় খেলোয়াড় অ্যাংব্যান্ড এবং নেটহ্যাক দু'জনেই ওপেন সোর্স।


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

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

নেট হ্যাক উত্সটি বুঝতে অসুবিধাজনক। অন্ধকূপ জেনারেটর (তার মধ্যে একটি) তিনটি সি ফাইলের চেয়ে কম ছড়িয়ে পড়ে এবং প্রায় 15 টি ফাংশন
--লেক্ট্রা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.