অ্যালগোরিদম সন্ধানের পথ দ্বারা সন্ধান করা অঞ্চলটির জন্য কোনও বর্গক্ষেত্র বা ষড়ভুজ গ্রিড ব্যবহারের মধ্যে কোনও উল্লেখযোগ্য পার্থক্য রয়েছে কি? অন্য কথায়, বর্গক্ষেত্র বা ষড়ভুজ ভাল, এবং যদি তাই হয় কেন।
অ্যালগোরিদম সন্ধানের পথ দ্বারা সন্ধান করা অঞ্চলটির জন্য কোনও বর্গক্ষেত্র বা ষড়ভুজ গ্রিড ব্যবহারের মধ্যে কোনও উল্লেখযোগ্য পার্থক্য রয়েছে কি? অন্য কথায়, বর্গক্ষেত্র বা ষড়ভুজ ভাল, এবং যদি তাই হয় কেন।
উত্তর:
বর্গ বনাম হেক্স গ্রিড ব্যবহার করার সিদ্ধান্ত নেওয়ার জন্য প্রধান বিবেচনাটি এআই বাস্তবায়নের সহজ হওয়া উচিত নয় - প্রস্থ-প্রথম এবং গভীরতা-প্রথম অনুসন্ধান অ্যালগরিদমগুলি আপনার গ্রাফের ধরণের কি তা বিবেচনা না করেই বেশ সমান।
বরং এটি গেমপ্লে সমস্যা যা গেম ডিজাইনারদের বিবেচনা করা উচিত। স্কয়ার গ্রিডগুলি ভর বাজারে আরও অ্যাক্সেসযোগ্য (হেক্স বোর্ডগুলি "গিকি" দেখায়) এবং উপরে / নীচে / বাম / ডান নিয়ন্ত্রণের বিশ্বে এটি কোনও ইউআই স্ট্যান্ডপয়েন্ট থেকে হেক্সের চেয়ে স্কোয়ারের চারদিকে নেভিগেট করা অনেক বেশি স্বজ্ঞাত। স্কয়ার গ্রিডগুলি আরও কিছুটা চলাচলে বাধা দেয়; অরথোগোনাল গতিবিধি (এবং তির্যক নয়) ধরে নেওয়া, এটি একটি হেক্স গ্রিডে 3 টি চালের তুলনায় এক বর্গাকার অন্তরায় ঘুরে দেখতে 4 টি পদক্ষেপ নেয়। প্রোগ্রামিং দৃষ্টিকোণ থেকে, হেক্সস প্রয়োগ করাও কিছুটা সহজ তবে এটি অনুসন্ধান অ্যালগরিদম সম্পর্কে নয় যতটা স্কোয়ার গ্রিড দ্বি-মাত্রিক অ্যারের সমান হয় না, তবে একটি হেক্স গ্রিড সত্যই কোনও স্ট্যান্ডার্ড ডেটা স্ট্রাকচারের মানচিত্র দেয় না।
বর্গাকার গ্রিডগুলির নীচের দিকটি হ'ল আন্দোলনটি কখনই ঠিক মনে হয় না। তির্যকভাবে চলতে স্কয়ার্ট (২) গতিবিধির পয়েন্ট নেওয়া উচিত, তবে বাস্তবে এটি হয় 1 টি আন্দোলন (যা এটিকে তির্যক পথে হাঁটা দ্রুত বলে মনে করে এবং অরথোগোনালি হাঁটার খুব কমই কারণ আছে) বা এটি 2 গতিবিধি (যা তির্যক আন্দোলনকে খুব ধীর মনে করে )। হেক্স গ্রিডের সাথে চলাফেরার দূরত্ব অনেক বেশি স্বজ্ঞাত, কারণ আপনি সর্ব্বত্র একটি হেক্স থেকে অন্য দূরত্বে সর্বদা একই দূরত্ব হোন না কেন আপনি কোন পথেই যান।
আমি কোনও উপায়ে এআই বিশেষজ্ঞ নই, তবে পার্থক্যটি নগণ্য হওয়া উচিত। স্কোয়ার গ্রিডগুলি কিছুটা দ্রুত (6 টির পরিবর্তে নোডের 4 সংযোগ), তবে এটি আসলে অ্যালগরিদমিক রানটাইমের সীমাবদ্ধ ফ্যাক্টর নয়। আপনি কোন অ্যালগরিদমটি ব্যবহার করার পরিকল্পনা করছেন তার উপর নির্ভর করে কোডটি হেক্স গ্রিডের জন্য কিছুটা জটিল হতে পারে, কারণ স্থানাঙ্কগুলি গণনা করা আরও জটিল এবং আমার বিশ্বাস যে কোয়াড্রি / অষ্ট্রি শর্টকাটগুলি রয়েছে তা ব্যবহার করা আরও শক্ত er প্যাথফাইন্ডিংয়ে প্রায়শই ব্যবহৃত হয়।
তবে টার্ন-বেসড-স্ট্র্যাটেজি গেম লেভেলের মতো সরল বিশ্বের জন্য দুটি লেআউটের মধ্যে পার্থক্য খুব বেশি গুরুত্ব পাবে না; একটি বর্গ গ্রিড কিছুটা সহজ এবং দ্রুত হবে।
হেক্সাগন সম্পর্কিত এই গাইডটি দুর্দান্ত। পাথফাইন্ডিংয়ের অংশটির একটি ইন্টারেক্টিভ উদাহরণ এবং বর্গক্ষেত্রের পথনির্দেশকে কীভাবে মানিয়ে নেওয়া যায় সে সম্পর্কে কিছু তথ্য রয়েছে।
আপনি যদি গ্রাফিক-ভিত্তিক পাথফাইন্ডিং ব্যবহার করছেন যেমন এ * বা ডিজকস্ট্রার অ্যালগরিদম বা ফ্লয়েড-ওয়ারশাল, হেক্স গ্রিডে পাথ ফাইন্ডিং স্কোয়ার গ্রিডে পাথ ফাইন্ডিংয়ের চেয়ে আলাদা নয়।
- প্রতিবেশী. আমি প্যাথফাইন্ডিং টিউটোরিয়ালে যে নমুনা কোডটি সরবরাহ করি তা কোনও অবস্থানের প্রতিবেশীদের পেতে গ্রাফকে কল করে igh এর জন্য প্রতিবেশী বিভাগে ফাংশনটি ব্যবহার করুন। দুর্ভেদ্য যে প্রতিবেশীদের ফিল্টার।
- অনুসন্ধানমূলক। এ * এর নমুনা কোডটি একটি হিউরিস্টিক ফাংশন ব্যবহার করে যা দুটি অবস্থানের মধ্যে একটি দূরত্ব দেয়। চলাচলের ব্যয় মেলাতে স্কেল করা দূরত্বের সূত্রটি ব্যবহার করুন। উদাহরণস্বরূপ, যদি আপনার চলাচলের ব্যয় হেক্স প্রতি 5 হয়, তবে দূরত্বটি 5 দিয়ে গুণ করুন।