اکثر افراد معتقد هستند که صنعت سینما پولسازترین صنعتِ تولید محتوا بوده و در جایگاه بعد صنعت موسیقی قرار میگیرد. درحالی که بازی سازی بسیار بزرگتر از دو صنعت قبلی است؛ برای سود صنعت بازی سازی در سال ۲۰۲۱، بیش از ۱۸۰ میلیارد دلار برآورد شده است. بسیاری از افراد با وجود علاقه به این حوزه، به دلیل سختی زبانهای برنامه نویسی از آن دست میکشند. اما در سالهای اخیر با ظهر موتورهای بازی سازی، امکان ساختن بازی بدون دانش برنامه نویسی را دراختیار افراد قرار میدهد. یکی از این موتورهای بازی سازی یونیتی (unity) نام دارد.
در ادامهی این مقاله به بررسی کامل ساخت بازی اندروید با unity میپردازیم. همچنین برای اطلاعات بیشتر میتوانید مقالهی “ آموزش طراحی اپلیکیشن بازی و سرگرمی با آنریل انجین ” را مطالعه کنید.
بهتر است قبل از وارد شدن به مبحث ساخت بازی اندروید با unity، این نرم افزار محبوب را به صورت اجمالی بررسی کنیم.
Unity (یونیتی) چیست؟
Unity یک موتور بازی سازی دو و سه بعدی و یک محیط توسعه یکپارچهی قدرتمندِ میان-پلتفرمی برای توسعه دهندگان است. میان-پلتفرمی بودن آن به این معناست که میتوان محصول نهایی را برای چند پلتفرم مختلف (اندروید، iOS و…) عرضه کرد؛ به عبارت دیگر، ساخت بازی برای سیستم عاملهای مختلف با unity امکان پذیر است.
همانطور که در ابتدا نیز مطرح شد، ساخت بازی اندروید با unity بدون نیاز به دانش برنامه نویسی امکان پذیر است. چراکه این موتور بازی سازی از ویژگیِ کشیدن و رها کردن (Drag and drop) برخوردار است اما انعطاف پذیری این قابلیت به اندازهی برنامه نویسی نیست. به عبارت دیگر برای ساخت بازیهای پیشرفته ( به ویژه برای کامپیوتر یا کنسولها) به برنامه نویسی نیاز خواهید داشت.
چنانچه میخواهید از برنامه نویسی در ساخت بازی اندروید با unity استفاده کنید، این موتور از چند زبان مختلف پشتیبانی میکند که در ادامه به چند مورد از آنها اشاره خواهد شد:
- C#: بهترین زبان برنامه نویسی برای unity
- C++: بهترین زبان برنامه نویسی برای افزونهها
- Rust: بهترین زبان برنامه نویسی جایگزینی برای unity
- جاوا اسکریپت
ساخت بازی اندروید با unity
چنانچه قصد ساخت بازی اندروید با unity را دارید، آخرین نسخهی unity را به همراه Android Studio دانلود و نصب کنید. بهتر است که از آخرین نسخهی این موتور بازی ساز استفاده شود؛ چرا که توسعه دهندگان آن، پیوسته باگهای آن را برطرف کرده و قابلیتهای موجود را بهبود میبخشند. در زمان ساخت بازی اندروید با unity چنانچه از آخرین ورژن استفاده نکنید، به سبب وجود برخی باگها ممکن است که در ساخت بازی با خطا موجه شوید.
معرفی مراحل ساخت بازی اندروید با unity
پس از نصب نرم افزارها باید به وسیلهی اجرای نرم افزار Android Studio اقدام به نصب «راه اندازها» (drivers) نمایید؛ برای اینکار بر روی SDK Manager در بخش Configure کلیک و سپس برروی Launch Standalone SDK Manager کلیک کنید.
یک پنجرهی جدید باز خواهد شد. به انتهای آن بروید و مطمئن شوید که Google USB و Web Drivers هر دو انتخاب شدهاند. سپس بر روی Install Packages در پایین سمت راست کلیک کنید.
پس از اینکه این کار را انجام دادید، به بخش Software Information (اطلاعات نرم افزار) در گوشیِ خود مراجعه و هدر Build Number را پیدا کنید. با چندبار کلیک بر روی Build Number منتظر شوید تا پیغام « Congratulations, you are now a developer» ظاهر شود. سپس به صفحهی Main Settings بروید و Developer Options را پیدا کنید. با کلیک بر روی آن، کادر انتخابیِ USB Debugging را پیدا کنید. آن را تیک زده و گوشی خود را به کامپیوتر وصل کنید. باید پیغام USB Debugging Enabled ظاهر شود.
فارغ از اینکه بخواهید راه اندازها را در گوشی برای استفاده در unity نصب کنید یا نه، همچنان باید برای ساخت بازی اندروید با unity، نرم افزار Android Studio را نصب کنید؛ چراکه بدون آن نمیتوانید برای گوشی خود بازی بسازید. البته برای سیستم عامل iOS از نرم افزار دیگری باید استفاده شود. ارزش اینکار در مرحلهی «امتحان کردن بازی» مشخص میشود.
برنامه ریزی؛ مهمترین گام در ساخت بازی اندروید با unity
یکی از مراحل مهم در ساخت بازی اندروید با unity (یا سایر موتورها) نوشتن برنامه و پلن خود برای بازی و سپس نیازهای گیم است. به عبارت سادهتر، در ابتدا باید نوع بازی، محیط مورد نیاز، طرحهای گرافیکی، موسیقی و همهی مواردی که برای ساخت بازی به آن نیاز دارید را مشخص کنید.
بعد از ساخت پروژه و بازیتان، پوشههای زیر را در assets folder خود قرار دهید:
- Fonts
- Materials
- Menu
- Prefabs
- Scenes
- Scripts
- Textures
اگر بازی ساده باشد معمولاً به پوشههای بالا در ساخت بازی اندروید در unity نیاز خواهید داشت. اما چنانچه قصد افزودن پیچیدگی به بازی را دارید، میتوانید پوشههایی نظیر صداها (sounds)، انیمیشن (animation) را به آن اضافه کنید.
پس از ایجاد پوشههای بالا به Build Settings در بخش File بروید. در این پنجره برروی Android option در زیر سربرگِ Platforms کلیک کنید و سپس برروی Switch Platform در پایین سمت چپ بروید. این گام برای ساخت بازی اندروید با unity مهم است؛ چراکه برای موتور بازی سازی مشخص کنندهی اندروید بودن پروژه میباشد. برای نتیجهبخش بودن این کار، نرم افزار Android Studio را باید نصب کرده باشید. سپس زمینه را به عنوان زمینهی اصلی با فشار دادن ctrl+s یا انتخاب Save Scene در پوشهی Scenes خود انتخاب نمایید.
در مرحلهی بعدیِ ساخت بازی اندروید با unity برروی ساخت ذرات پریفب (Particle Prefabs) متمرکز شویم. یک تصویر را انتخاب کرده و آن را در پوشهی Textures ذخیره کنید. از آن برای سامانهی ذره (Particle system) استفاده خواهید کرد.
به پوشهی Textures بروید و با کلیک برروی تصویر و انتخاب میزان رنگ مناسب در بخش Inspector و سپس کلیک برروی Apply، نوع تکسچر را انتخاب نمایید. تیکِ جعبهی Alpha Is Transparency باید زده شده باشد. سپس یک سامانه ذره بسازید و آن را با استفاده از میزان پررنگیای که در تصویر بالا نشان داده شده است، فعال کنید.
در ادامه باید متناسب با بازیِ خود پریفبهای مختلف نظیر پریفبِ دنباله بسازید. دو راه برای ساختِ پریفبها وجود دارد: با کدنویسی و بدون کدنویسی؛ برای اینکار Create Prefab را از بخش Asset انتخاب کنید و سپس شیء مدنظرتان را از زمینه به درونِ پریفبِ empty (خالی) بکشید. شما خیلی راحت میتوانید برای ساختِ پریفبِ مدنظرتان برای ساخت بازی اندروید با unity، کدهای مربوط به آن را با یک سرچ ساده پیدا کنید.
اضافه کردن اسکریپت مرحلهی دیگر ساخت بازی اندروید با unity
گام بعدی در ساخت بازی اندروید با unity، ساختن و اضافه کردنِ تاثیرات اسکریپت است. بعد از ساخت تمامِ پریفبهای مورد نیاز نوبت به برنامه نویسی میرسد. یک اسکریپتِ C# در پوشهی اسکریپتها (Scripts folder) بسازید (برروی پوشهی اسکریپتها کلیک کنید و سپس برروی Project Window راست کلیک کنید و از قسمت Create، C# Script را انتخاب نمایید.
همانطوری که میدانید ساخت بازی اندروید با unity بدون استفاده از کدنویسی نیز امکانپذیر است. اما فراموش نکنید که برنامه نویسی انعطاف پذیری بیشتری به شما در ساخت بازی میدهد؛ پس یادگیری آن خالی از لطف نیست.
آن را در محیط توسعه یکپارچهی مدنظرتان باز کنید و کدهای مربوطه را بنویسید. چنانچه قصد ساخت یک بازی بسیار سادهی اندرویدی را دارید ولی برنامه نویسی بلد نیستید، احتمالاً میتوانید کدهای مربوطه را در اینترنت پیدا کنید. بهتر است که به جای کپی/پیست کدها، آنها را کلمه به کلمه تایپ کنید تا درک بهتری از برنامه نویسی پیدا کنید.
در نظر داشته باشید برای مشاوره و طراحی انواع اپلیکیشن میتوانید با ما تماس بگیرید.
بعد از آماده کردن اسکریپت، باید آن را به زمینه اضافه کنید. یک Empty Game Object (شیء بازیِ خالیِ) جدید درست کنید و اسرکیپت خود را از درون پوشهی اسکریپتها به درون Scripts Game Object بکشید. الآن باید هرکدام از متغیرها (Variables) را به پریفبهای خود پیوند دهید.
گام بعدی ساخت بازی اندروید با unity ساختن و اضافه کردنِ اسکریپتِ کنترلهای لمسی (Touch Controls) است. اما منظور از کنترلهای لمسی چیست؟ بازی Fruit Ninja را به یاد دارید؟ در این بازی از بالای صفحه میوه میبارید و شما باید میوهها را با شمشیرتان از وسط نصف میکردید که انجام این کار به واسطهی تاچِ گوشی انجام میگرفت که این کار یک مثال از کنترل لمسی میباشد.
در این گام برای تنظیم کنترل میتوانید از فرمانهایی نظیر ضربه به صفحه، ضربه به نقطهی خاصی از صفحه، ضربهی پشت سرهم، کشیدن انگشت و … استفاده کنید. کدهای مربوط به این مسئله را نیز میتوانید با یک جستجوی ساده در گوگل پیدا کنید. البته unity از یک «زیرکلاس» به نام Input.touches برخوردار است که شامل رویدادهای مختلف برای انواع مختلف تاچ (لمس کردن) میشود که نیاز شما را به برنامه نویسی برطرف میکند. بعد از ساخت این اسکریپت نیز باید آن را به صحنه اضافه کنید.
گام بعدیِ ساخت بازی اندروید با unity شامل ساخت منوی اصلی و تنظیم فرمانهای مربوط به آن است. این گام شامل اضافه کردن یک تصویر پس زمینه و اضافه کردن گزینههایی نظیر Play (بازی کردن)، Exit (خروج از بازی)، Options (تنظیمات) و … وفرمانهای مربوط به آن است. تعداد و نوع گزینهها به نوع بازی شما بستگی دارد؛ به عنوان مثال شاید در بازی مدنظرتان به اضافه کردن بازی تک نفره و چندنفره نیاز باشد.
همچنین برای آشنایی با مشخصات بهترین شرکتهای طراحی اپلیکیشن، مقالهی ” چگونه میتوان بهترین شرکت طراحی اپلیکیشن را پیدا کرد؟ ” نوشته شده در بلاگ وستا را مطالعه کنید.
آخرین مرحلهی ساخت بازی اندروید با unity
یکی از مهمترین گامها در ساخت بازی اندروید با unity امتحان کردن چیزی است که ساختهاید. شما که نمیخواهید یک بازی پر از باگ را عرضه کنید!؟ در این گام بازی را امتحان میکنید تا ببینید که آیا مطابق با آن چیزی است که مدنظر شما بوده یا خیر و از طرف دیگر در این مرحله باید باگها را تا حدامکان شناسایی کنید.
گام آخر ساخت بازی اندروید با unity برطرف کردن باگها و ایرادات تا قبل از عرضه است. پس از برطرف کردن باگها مجددا برای برطرف کردن کامل مشکلات چندین بار مرحلهی امتحان کردن را تکرار کنید. البته یک نوع امتحان کردن دیگر نیز وجود دارد که تقریباً تمام بازیسازهای بزرگ انجام میدهند و آن هم عرضهی نسخهی بتای بازی است. با این روش احتمال پیدا کردن باگهایی که شما موفق به کشف آن نشدهاید، بیشتر است.
اگر توانستهاید که گامهای اشاره شده در بالا را بردارید، تبریک میگویم؛ شما موفق به ساخت بازی اندروید با unity شدهاید. لازم به ذکر است که شما باید در گام اول یعنی طراحی نقشه و برنامه به راههای کسب درآمد از طریق بازیتان فکر کنید.
آیا ساخت بازی اندروید با unity بهتر از سایر موتورهای بازی سازی است؟
Unity یک موتور بازی سازیِ معروف و محبوب است که نتنها تازه کارها از آن استفاده میکنند بلکه برخی از شرکتهای بزرگ نیز استفاده از این موتور را به استفاده از سایر موتورها ترجیح میدهند.
اما جواب این سوال تاحدی سلیقهای است. به عبارت دیگر شاید شما ترجیح دهید که از یک موتور بازی سازی دیگر نظیر Unreal Engine استفاده کنید اما این به معنای بهتر بودن این موتور نیست.