آموزش بهینه سازی بازی(قسمت اول-منابع بازی و خروجی)


آموزش بهینه سازی بازی(قسمت اول-منابع بازی و خروجی)


با توجه به اینکه تعداد درخواست آموزش بهینه سازی بازی به 20 حمایت در بخش درخواستها رسید بهینه سازی بازی رو آموزش میدیم.

لازمه ذکر کنم بهینه سازی بازی مقوله خیلی ساده ای هست فقط کافیه به موارد کوچکی دقت کنید تا بازیتون از نظر حجم و برنامه نویسی بهینه بوده که باعث میشه بازیتون دانلود بیشتری داشته باشه و تو اکثر گوشیهای قدیمی و جدید بدون مشکل اجرا بشه.

بریم سر اصل مطلب 

اسپرایتها

دقیت کنید که اسپرایتها به همراه صدا و تصویر زمینه تعیین کننده اصلی حجم بازی شما هستند،

دیده شده برخی دوستان برای اینکه خروجی بازیشون کیفیت خوبی داشته باشه از اسپرایتهای بزرگ استفاده میکنن و در روم بازی اون اسپرایت رو به وسیله کد کوچیک میکنن یا برعکس روم بازیشون رو خیلی بزرگ در نظر میگیرن این کار بسیار کار اشتباهی هست که اولا باعث افزایش حجم بازیتون میشه (معمولا بازیهایی با حجم بالا دانلود نمیشن یا رغبت کمتری برای دانلودشون وجود داره) دوما این حجم زیاد منابع گرافیکی برای اجرای بدون افت فریم (با سرعت نرمال) نیازمند رم بالاتری هست که این مقوله مخصوصا در بازی های موبایلی مشکل بزرگی ایجاد میکنه.

پس تا جای ممکن از اسپرایتهای بزرگ استفاده نکنید اگه اسپرایت شما بزرگ هست سعی کنید اندازه اسپرایتتون رو در حداقل اندازه ممکن استفاده کنید.

اگه اسپرایت قرینه ای دارین که مجبورین ازش استفاده کنید سعی کنید بجای استفاده کامل از اسپرایت ، بخشی از اون اسپرایت رو استفاده کرده و مابقی اسپرایت رو با استفاده از کد رسم کنید (در استفاده از این روش افراط نکنید)

مثلا بجای استفاده از تصویر زیر

2

میتونیم از نصف یا حتی یک چهارم تصویر به عنوان اسپرایت استفاده کنیم و مابقی تصویر رو با کد رسم کنیم

3

با استفاده از این اسپرایت و دو خط کد زیر در ایونت .Draw-event. همون نتیجه رو خواهیم داشت

draw_sprite_ext(sprite0,0,x,y,1,1,0,noone,1)
draw_sprite_ext(sprite0,0,x,y,-1,1,0,noone,1)

باز هم تاکید میکنم از این روش به صورت افراطی استفاده نکنید (کلا استفاده از ایونت رسم رو زیاد توسیه نمیکنم در بخش کد توضیحات لازمه داده میشه)

صدا ها

صدا ها معمولا به صورت صحیح در بازی ها استفاده میشن ولی لازمه بگم از فرمت mp3 یا ogg به منظور کم حجم بودن و البته راحتی در پردازش برای پلتفرم اجرای بازی(کامپیوتر ، گوشی و یا ...) استفاده کنید.

اگه حجم صدای مورد نظرتون زیاده از نرم افزارهایی مانند فرمت فکتوری جهت کاهش حجم صدای بازیتون استفاده کنید.

خروجی بازی

این بخش رو به خروجی اندروید اختصاص میدم چونکه اکثرا مسائل این بخش در گوشی ها مشکل ایجاد میکنه

نکته اول اینکه دقت کنید دیگه تقریبا صد درصد گوشی ها Armv7 هستند پس شما وارد بخش گلوبال گیم ستینگ شده از برگه اندروید تیک گزینه Armv5 رو بردارین اگه قصد ندارین خروجی رو تو کامپیوتر در نرم افزارهای شبیه ساز اندروید تست کنید تیک دو گزینه X86 و Mips رو هم بردارین این سه تا تیک حدود 5 الی 10 مگابایت از حجم بازیتون رو کم میکنه.

4

بعد از انجام مرحله بالا به برگه گرافیک تو همین برید بخش کشوی size رو باز کنید متوجه میشید چهار مقدار 256 ، 512 ، 1024 ، 2048 در این بخش وجود داره این بخش به صورت پیش فرض 1024 هست اگه تغییرش دادین برشگردونین به همون 1024 البته میتونید از 512 هم استفاده کنید ولی 256 باعث افت کیفیت تصاویر زمینه شما خواهد شد و 2048 تقریبا ارزش چندانی نداره بجز اینکه ممکنه حجم بازیتون رو افزایش بده.

این اعداد در واقع مشخص کننده حداکثر ابعاد تصاویر وکیفیت اونها هست که 1024 مقادیر بسیار مناسبی برای تقریبا تمامی بازی ها هست.

5

اندازه روم بازی

دقت کنید توسیه من برای ابعاد view بازی 800*480 و یا بلعکس برای بازیهای عمودی هست.

 

تصاویر زمینه

دقت کنید اگه اندازه view بازیتون با اندازه روم بازیتون یکسانه (یعنی بازیتون نیازمند حرکت ویو نیست و ثابته) نیازی نیست اندازه تصویر زمینتون بزرگتر از ابعاد رومتون باشه در صورت متحرک بودن پلیرتون هم سعی کنید حدالمقدور عرض تصویر زمینه خودتون رو متناسب با ابعاد بازیتون در نظر بگیرین .

اگه نیازه چند تصویر زمینه استفاده کنید و اگه این تصاویر زمینه روی هم قرار میگیرن پس حدالمقدرو این تصاویر رو روی هم قرار بدین و دو تصویر زمینه رو تبدیل به یک تصویر زمینه نمایید.

کلام آخر

تمامی منابعی که لازم ندارین رو حتما قبل از خروجی گرفتن پاک کنید.

 








ارسال نظر




رفتن به بالا