درباره سفارشی‌سازی یا انتقال موتورهای بازی

ابزار، ستاره، سیاره اگر از C یا C++ برای توسعه یا سفارشی‌سازی موتور بازی استفاده می‌کنید، پیش‌نیازهای زیر برای یکپارچه‌سازی پشتیبانی Android در موتور بازی شما حیاتی است.

  • از ابزارهای توسعه Android بهره ببرید
  • ساختن فعالیت
  • کشیدن روی صفحه‌نمایش
  • پردازش رویدادهای ورودی
  • برونداد صدا
  • مدیریت خاطرات
  • آزمایش و بهبود دادن
  • انتشار در Google Play

الزامات شرح‌داده‌شده در این صفحه به شما نحوه توسعه موتور بازی از صفر را آموزش نمی‌دهد، بلکه زمینه‌هایی را که Android در مقایسه با پلاتفرم‌های دیگر نسبتاً منحصربه‌فرد است مشخص می‌کند.

از ابزارهای توسعه Android بهره ببرید

استودیو Android شامل ابزارهایی است که می‌توانید برای موارد زیر استفاده کنید:

  • پیکربندی پروژه
  • ساختن، اشکال‌زدایی، و بسته‌بندی کردن بازی
  • عملکرد بازی‌تان را بااستفاده از نمایه‌سازهای سیستم، واحد پردازش مرکزی، و حافظه بررسی کنید
  • محتوای بسته بازی یا دسته برنامه را بازرسی کنید
  • ادغام ویژگی‌های اضافی کیت توسعه نرم‌افزار Android و NDK

بازرس گرافیک Android می‌تواند عملکرد پردازش بازی شما را مشخص کند و بااستفاده از نمایه‌سازی قاب به شما کمک کند جزئیات قاب‌های پردازش‌شده را بررسی کنید.

اگر عمدتاً از Microsoft Visual Studio استفاده می‌کنید، می‌توانید از افزونه توسعه بازی Android (AGDE) برای افزودن هدف Android به پروژه‌های موجود استفاده کنید. ‫AGDE از اشکال‌زدایی بومی در Visual Studio پشتیبانی می‌کند و شامل نسخه‌های مستقل بسیاری از ابزارهای نمایه‌سازی Android Studio است.

ساختن فعالیت

بازی شما باید با Activity بسازد و با آن تعامل داشته باشد. برای اینکه بدانید «فعالیت» چه زمانی ایجاد، شروع، ازسر گرفته، موقتاً متوقف، متوقف، و نابود می‌شود، با چرخه حیات فعالیت در Android آشنا شوید.

درباره کتابخانه GameActivity بخوانید، که نیازهای مرتبط با Activity (پنجره بازی، چرخه حیات، پردازش، مدیریت رویدادها) موتورهای بازی بومی C یا C++ را برآورده می‌کند و با آن‌ها یکپارچه می‌شود.

کشیدن روی صفحه‌نمایش

بازی شما باید اشیا و تصاویر کوچک را روی صفحه بکشد. درباره Android SurfaceView و نحوه پیکربندی گرافیک در موتور بازی‌تان بیشتر بدانید.

دستگاه‌های Android از نرخ‌های بازآوری نمایشگر مختلفی پشتیبانی می‌کنند. برای جلوگیری از افت نرخ فریم و اشکالات بافر فریم، درباره پردازش در حلقه‌های بازی بیشتر بدانید.

درباره نحوه دستیابی به گام‌بندی قاب برای پردازش روان در OpenGL و Vulkan بخوانید. با «بهینه‌ساز عملکرد»، نرخ فریم را بهینه‌سازی کنید.

از «ضدعلی‌گرایی چندنمونه‌ای» (MSAA) برای بهبود کیفیت رندرینگ استفاده کنید. MSAA را می‌توان با سربار بسیار کم استفاده کرد. برای کسب اطلاعات بیشتر، پست وبلاگ Multisampled Anti-aliasing For Almost Free — On Tile-Based Rendering Hardware را ببینید.

پردازش رویدادهای ورودی

موتور بازی رویدادهای ورودی را از منابع مختلفی دریافت می‌کند. برای تجربه بازی فراگیر، با پشتیبانی از منابع ورودی مختلف Android آشنا شوید:

برونداد صدا

موتور بازی شما باید صدا را در دستگاه‌ها و نسخه‌های مختلف Android خروجی دهد. با Oboe، کتابخانه صوتی C++ منبع باز ما برای ادغام صدای با عملکرد بالا در بازی‌تان آشنا شوید.

از Oboe برای دستیابی به کمترین تأخیر، اجتناب از اشکالات صوتی خاص، و انتخاب خودکار بهترین کتابخانه بومی دردسترس (مانند AAudio یا OpenSL ES) استفاده کنید.

مدیریت خاطرات

در دستگاه‌های Android، سیستم سعی می‌کند تا حد امکان از حافظه سیستم (RAM) استفاده کند و بهینه‌سازی‌های مختلف حافظه را برای آزاد کردن فضا درصورت نیاز انجام می‌دهد. برای جلوگیری از کند شدن یا خروج از بازی، مدیریت استفاده از حافظه را یاد بگیرید.

آزمایش و بهبود دادن

هرگاه خروج غیرمنتظره‌ای به‌دلیل استثنا یا سیگنال مدیریت‌نشده در برنامه Android رخ دهد، برنامه ازکار می‌افتد. با نحوه تشخیص و تشخیص خرابی‌ها، خواندن ردیابی پشته‌ای، استثناهای حافظه و شبکه، نحوه استفاده از logcat، و نحوه درک خطاهای مختص Java و Kotlin آشنا شوید.

انتشار در Google Play

بازیکنان بازی شما را با دستگاه‌های Android مختلف در کشورهای مختلف، شرایط شبکه، و طرح‌های داده متفاوت بارگیری می‌کنند. با نحوه استفاده از Google Play برای ارائه بسته‌های برنامه و بسته‌های دارایی برای بازی‌های بزرگ با مزایای شبکه توزیع محتوا آشنا شوید.