মসৃণ ফ্যাশনে একটি পথ অনুসরণ করা


9

আমি বর্তমানে একটি স্থিতিশীল, পূর্ব নির্ধারিত গলি দিয়ে একটি 2 ডি টাওয়ার প্রতিরক্ষা গেমটি তৈরি করছি যা শত্রুরা অনুসরণ করে (অর্থাত টাওয়ারগুলি পথটি অবরুদ্ধ করতে পারে না এবং পথ অনুসন্ধান করা সমস্যাটি আমি সমাধান করার চেষ্টা করছি না )।

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

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

বেজিয়ার কার্ভস: আমি দ্বিতীয় সমাধানটি বিবেচনা করেছি তা হল বেজিয়ার বক্ররেখার সাথে পথটি সংজ্ঞায়িত করা এবং প্রতিটি সময় ধাপে ইউনিটের বর্তমান অবস্থান থেকে দূরে (ডিটি * স্পিড) এর সাথে বক্ররেখার বিন্দু গণনা করা। আমি সন্দেহ করি যে এই কৌশলটি ইউনিটগুলি অনুসরণ করবে সেই পথটি সঠিকভাবে নির্ধারণ করা আরও সহজ করে তুলবে, তবে কীভাবে এটি বাস্তবায়ন করতে হবে তা আমি জানি না। কোন পরামর্শ?

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

যদি প্রশ্ন সম্পর্কে কিছু অস্পষ্ট থাকে তবে দয়া করে আমাকে জানান।

সম্পাদনা: এছাড়াও এটি যে কোনও মূল্যের জন্য, আমি কিংডম রাশে শত্রুদের চলাচল আচরণের প্রতিরূপ দেওয়ার চেষ্টা করছি ।


প্রাসঙ্গিক: gamsutra.com/view/feature/131505/… আপনি টাইলসের সাথে কী ধরনের ইউনিট ঘনত্ব / আকার ব্যবহার করছেন?
বানর

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

আমিও পেয়েছি। গেমদেব.স্ট্যাকেক্সেঞ্জার / প্রশ্নগুলি / ২6565৩৩/২ এ * গ্রিডবিহীন মানচিত্রে কাজ করে। এটি কিংডমের নোড পাথ হতে পারে যা একইভাবে বাঁকা হয়ে যায়।
বানর

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

উত্তর:


8

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

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

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

পদ্ধতির সৌন্দর্য হ'ল আপনি বেশ কয়েকটি আচরণ এক সাথে একত্রিত করতে পারেন। সুতরাং, উদাহরণস্বরূপ, আপনার চরিত্রগুলির মধ্যে উভয়ই পথ সন্ধানের আচরণের পাশাপাশি পৃথকীকরণের আচরণ (তাদের অত্যধিক ঝাঁকুনির হাত থেকে বাঁচানোর জন্য) উভয় থাকতে পারে, যা ওজনযুক্ত যোগফল হিসাবে মিলিত হতে পারে।

স্টিয়ারিং আচরণগুলি ব্যবহার করার আরেকটি সুবিধা হ'ল বিভিন্ন ভাষায় প্রচুর বিদ্যমান ওপেন সোর্স বাস্তবায়ন (যেমন, ওপেনস্টিয়ার )।


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


2

এই গামসূত্র নিবন্ধের সমাধান আপনি যা খুঁজছেন তা হতে পারে। মূল ধারণাটি এমন একটি পয়েন্টে রশ্মিকে নিক্ষেপ করা হয় যা আপনার বর্তমান পয়েন্ট পয়েন্টের "পদক্ষেপ" রশ্মি একটি কোষের দৈর্ঘ্যের একটি ভগ্নাংশের আগে এবং রশ্মির প্রতিটি "পদক্ষেপ" এ আপনার প্লেয়ারের সংঘর্ষের পরিমাণের সাথে সংঘর্ষ হয় কিনা তা পরীক্ষা করে দেখুন রশ্মির পদক্ষেপে। যদি রশ্মিটি সমস্ত ধাপে ওয়ে পয়েন্টে যায় যা দুই ধাপ এগিয়ে, তবে আপনি মধ্যস্থতাকারী পথ বিন্দু থেকে মুক্তি পেতে পারেন। তারপরে আপনি এই একই প্রক্রিয়াটি "লক্ষ্য" ওয়েপয়েন্টে পুরো পথে চালিয়ে যেতে পারেন ... এইভাবে যদি আপনার পথটি লক্ষ্যের একটি সরল রেখার দ্বারা সম্পাদন করা যায় তবে লক্ষ্যটির একটি সরল রেখা আপনার চরিত্রটি যে পথটি নিয়ে যাবে সেটিই। নিবন্ধটি এখানে: http://www.gamasutra.com/view/feature/131505/toward_more_realistic_pathfinding।

এটিতে টার্ন ব্যাসার্ধ এবং আরও প্রাকৃতিক বাঁক আচরণ এবং এরকম দুর্দান্ত জিনিস রয়েছে ...

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