اشتباهات رایج در استفاده از ایونت‌های کانستراکت 2

Pathfinding افراطی

رفتار pathfinding می‌تواند بسیار مفید باشد، ولی یکی از رفتارهایی است که به شدّت از CPU کار می‌کشد.[1] یافتن یک مسیر، عملیّات بسیار پیچیده‌ای است که اغلب در آن هزاران راه مختلف برای پیدا کردن یک مسیر خوب بررسی می‌شود، و هر بار که از اکشن Find path استفاده می‌کنید این عملیّات برای هر کدام از اینستنس‌ها تکرار می‌شود! خوشبختانه عملیّات جستجوی مسیر به طور موازی با اجرای خود بازی انجام می‌شود، این باعث می‌شود که در حین این عملیّات، بازی هنگ نکند. ولی شما می‌توانید یافتن مسیر را بسیار سخت کنید: بعضی از کابران بی‌تجربه، اندازه‌ی سلّول‌ها (cell size) را فقط چند پیکسل، یا حتّی 1 پیکسل قرار می‌دهند. این کار مثل این است که در دنیای واقعی بخواهیم برای یافتن یک مسیر، اتم به اتم، راه را بررسی کنیم تا یک مسیر مناسب برای رسیدن به مقصد پیدا کنیم، ولی متأسفانه قدرت پردازش کامپیوتر شما نامحدود نیست. تلاش برای انجام این کار باعث می‌شود که به طرز غیر منطقی استفاده از CPU خیلی زیاد شود، و پیدا شدن مسیر خیلی به طول بینجامد، یا حتّی متوقّف شود، مخصوصاً در موبایل.

راه حل ساده است: تا حدّ امکان اندازه‌ی سلّول‌ها را بزرگ قرار دهید. وقتی اندازه ی سلّول‌ها بزرگ باشد، گام‌های کمتری برای پیدا کردن مسیر لازم است، در نتیجه مسیر سریع‌تر پیدا می‌شود. به همین دلیل به طور پیش‌فرض از یک شبکه‌ی 30×30 پیکسلی استفاده می‌شود، این کار برای بهینه‌سازی بازی است، برای این است که مسیر، سریع‌تر از زمانی پیدا شود که بخواهیم نگران تک‌تک پیکسل‌ها باشیم.

بازسازی نقشه‌ی موانع (obstacle map) نیز به خاطر این‌که تمام لیوت را در بر دارد برای CPU سخت است، و تا حدّ امکان باید از آن کم استفاده کنید. با کوچک کردن بیش از حدّ اندازه‌ی سلول‌ها، تلاش برای یافتن مسیر در هر تیک، یا بعد از پیدا شدن مسیر قبلی، بار شدیدی به CPU تحمیل می‌شود که شاید نتواند از پسش بر آید. سعی کنید چنین کارهایی را انجام ندهید.

حرف آخر

امیدوارم این مقاله به شما کمک کرده‌باشد تا این اشتباهات را در سیستم ایونت مرتکب نشوید. اشتباه رایج دیگری که وجود دارد این است که عده‌ای فکر می‌کنند حافظه‌ی کامپیوتر نامحدود است، انشاءالله در این مورد در آینده بیشتر توضیح می‌دهیم.

[1] رفتار دیگری که خیلی از CPU کار می‌کشد، فیزیک است.

سؤالات فنی خود را فقط در انجمن بپرسید. در غیر این صورت پاسخ داده نخواهد شد.
۴ نظر

افزودن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمامی حقوق برای مرجع تخصصی کانستراکت محفوظ است.