আমি কীভাবে * এপ্লান করব?


10

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

এর স্বাভাবিক সমাধান কী? পুরো অনুসন্ধানটি আবার না করে এ * কে * পুনরায় প্রতিস্থাপনের কোনও উপায় আছে? আমি কি কেবল একটু কম ঘন ঘন অনুসন্ধান করতে পারি (প্রতি অর্ধেক বা দ্বিতীয় সেকেন্ডে) এবং স্বীকার করতে পারি যে পথটিতে কিছুটা ভুল আছে?

উত্তর:


13

আপনাকে পুরো ফ্রেমটি একটি ফ্রেমে সন্ধান করতে হবে না, আমি অনুসন্ধান লুপটিতে সীমাবদ্ধতা দিয়ে এটি করেছি, এআই তার পরে থাকা সামান্য তথ্য অনুসরণ করা শুরু করবে এবং পরবর্তী ফ্রেমে আমি আরও কিছু অনুসন্ধান করব , পথটি না পাওয়া পর্যন্ত এটি 3 ফ্রেম লাগতে পারে। এটি বেশ দৃ conv়প্রত্যয়ী দেখতে পারে, যেমন মনে হচ্ছে এআই আসলে অনুসন্ধান করছে।


+1 টি। ম্যাট বাকল্যান্ড তাঁর এআই বইতে এটি বর্ণনা করেছেন। তিনি এটিকে "সময় কাটা পথ পরিকল্পনা" ( book.google.ch/… ) বলেছেন। ভাল জিনিস.
বামমজ্যাক

8

দূরত্ব খুব দুর্দান্ত হলে প্রতি কয়েকটি ফ্রেমে অ্যালগরিদম চালানোর জন্য আপনি প্রক্সিমিটি সনাক্তকরণ ব্যবহার করতে পারেন (কারণ বেশিরভাগ ক্ষেত্রে যদি দূরত্ব বড় হয় তবে লক্ষ্যের পথটি ফ্রেম-ফ্রেম থেকে খুব দ্রুত পরিবর্তন হয়)। উদাহরণ স্বরূপ:

      Distance > 100, run A* every 2 seconds
100 > Distance >  50, run A* every 1 second
50  > Distance >  25, run A* every 10 frames
25  > Distance <  25, run A* every frame

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


8

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

যদি বস কোনও ধরণের গন্ধযুক্ত ধারণাযুক্ত প্রাণী হয় তবে এটি কাজ করবে। এটি প্লেয়ারের ঘ্রাণ অনুসরণ করার মতো কাজ করবে :)


5

আপনার কেসটি হ'ল এইচপিএ * ঠিকানার জন্য আবিষ্কার করা হয়েছিল। যদি এটি ওভারকিলের মতো মনে হয় তবে আমি ভাবতে চাই যে প্রতি অর্ধেক সেকেন্ড বা তারপথটি বেশ ভালভাবে কাজ করা উচিত path


4

যদি এটি স্থির পরিবেশ থাকে তবে আপনি সমস্ত-সংক্ষিপ্ততম পথটিকে প্রাক্কলিত করতে পারেন।


2
এটি যদি একটি ছোট অচল পরিবেশ থাকে।

উপলব্ধ প্ল্যাটফর্ম এবং মেমরির উপর নির্ভর করে।
Nate

@ জো, @ নেটে, সত্য
পিটার টেলর

2

আমি 48 গেমের প্রতিযোগিতার জন্য একটি গেম তৈরি করেছি যেখানে একটি * অক্ষর খেলোয়াড়কে একটি স্তরকে অনুসরণ করে। কারণ আমার এ * বাস্তবায়নটি ধীর ছিল (এটি প্রতিটি ফ্রেম চালাতে পারছিল না) আমি বিরতি তিন সেকেন্ডের বিলম্বকে রেখেছি। এটির খেলোয়াড়কে কয়েক মুহুর্তের জন্য এআইকে "কৌতুক" করার অনুমতি দেওয়ার অযৌক্তিক ফলাফল ছিল। এটি খেলাটিকে আরও মজাদার করে তুলেছে।

পরে, আমি এ * বাস্তবায়নের কর্মক্ষমতা উন্নত করেছি এবং এটি প্রতিটি ফ্রেমে চালানোর চেষ্টা করেছি। গেমটি মজা করা বন্ধ করে দিয়েছে কারণ শত্রু সর্বদা প্লেয়ারটিকে পুরোপুরি সন্ধান করবে।

এটি ছিল অপ্রত্যাশিত এবং একটি ভাল শেখার অভিজ্ঞতা।


1
এটা একটা ভাল দিক. আমার মনে আছে প্যাক-ম্যানের পথে খোঁজ সম্পর্কে পড়া যেখানে তারা ইচ্ছাকৃতভাবে একটি অসম্পূর্ণ অ্যালগরিদম ব্যবহার করেছিল, যাতে প্লেয়ারকে ভূতকে ছাড়িয়ে যায়। প্রতিটি ভূতের কিছুটা আলাদা অপূর্ণতা তাদের আরও চরিত্র দেয়। গেমস, মজাদার> সমস্ত কিছুর এখানে চলে যাওয়া।
নিক ভ্যান ব্রান্ট

0

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


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