آموزش ساخت بازی اندروید – به صورت ساده و گام به گام
میخواهید برای سیستمعامل اندروید بازی بسازید؟ فکر خیلی خوبی است. Android به عنوان بزرگترین سیستمعامل موبایل در دنیا، 70% از سهم کل بازار را تصاحب کرده است. در حال حاضر نزدیک به 500.000 عنوان بازی در Google play (بزرگترین مارکتِ اندروید) وجود دارد. همچنین تا انتهای سال 1398 نزدیک به 18.000 عنوان بازی در بازار ثبت شده است. (متاسفانه آمار جدیدتری در دسترس نیست.)
این اعداد و ارقام به شدت جذابند. یعنی ما با یک صنعت بزرگ با گردش مالی بالا طرفیم که روز به روز هم تقاضا برای آن بیشتر میشود. از طرفی پیشرفت تکنولوژی به توسعه صنعت بازی کمک بسیار زیادی کرده است. این اطلاعات به ما نشان میدهد که بازی سازی، میتواند آینده درخشانی داشته باشد و در این مقاله سراغ آموزش ساخت بازی اندروید (بررسی روشهای مختلف آن) رفتیم. همراهِ اون با مَن باشید 🙂
هر چند ما در این مقاله به نحوه ساختن بازی اندروید بدون کدنویسی هم میپردازیم، اما اکیدا توصیه میکنم که برنامه نویسی را یاد بگیرید. هر چقدر هم ابزارهای ساخت بازی پیشرفت کنند و نیاز به کدنویسی را کاهش دهند، باز هم برنامه نویسی لازم میشود. برنامه نویسی به شما قدرت و انعطاف میدهد.
برنامه نویسی موبایل (اندروید و آیفون) مهارت بسیار کاربردی و پولسازی به حساب میآید. همچنین شما را برای ورود حرفهایتر به دنیای بازی سازی آماده میکند. فرادرس آموزشهای مختلفی در حوزه توسعه اپلیکیشن های موبایل آماده کرده است. دیدن این آموزشها میتواند از شما یک برنامه نویس کاربلد بسازد. با کلیک روی لینک زیر، وارد این مجموعه آموزشها شوید:
چه روش هایی برای ساخت بازی اندروید وجود دارد؟
در این آموزش ما 3 شکل کلی ساخت بازی در اندروید را بررسی کردیم:
- Android Studio
- موتورهای بازی سازی مثل Unity و Unreal Engine
- بازی سازهایی مثل GameMaker و Construct
نکته مهم: روش دوم و سوم یکی هستند. یعنی تمام این نرمافزارها در دسته «موتورهای بازی سازی» قرار میگیرند. اما من برای سادگی کار آنها را به 2 روش جدا تقسیم کردم. روش سوم (یعنی بازی سازها) برای کسانی که هیچ تجربهای در برنامه نویسی ندارند، کاملا مناسب است.
روش 1: آموزش ساخت بازی اندروید با Android Studio
وقتی ایده اولیه یک بازی در ذهنتان شکل گرفت، باید به دنبال ابزارهای فنی طراحی و ساخت بازی بگردید. شاید اولین گزینهای که به ذهن خیلی از افراد میرسد، اندروید استودیو است. ابزار رسمی و مورد تایید گوگل که برای توسعه و برنامهنویسی طیف گستردهای پروژههای مرتبط با اندروید، استفاده میشود.
برای کار با اندروید استودیو (چه ساخت اپلیکیشن چه ساخت بازی)، باید از زبان های برنامه نویسی جاوا (Java) یا (kotlin) استفاده کنید. این 2 زبان برنامه نویسی به شکل رسمی در اندروید استودیو پشتیبانی میشوند. همچنین باید با JDK (مخفف Java Development Kit) و Android SDK کار کنید و کمی هم XML بلد باشید.
SDK چیست؟
SDK مجموعهای از ابزارها و کتابخانههای گوگل است که به زبان برنامه نویسی جاوا اجازه میدهد با سیستمعامل اندروید ارتباط برقرار کند. همچنین این قابلیت را ایجاد میکند که Android Studio کدهای نوشته شده توسط شما را به یک فایل APK (قابل نصب) تبدیل کند. Android Studio به عنوان یک IDE (مخفف integrated development environment) یا محیط توسعه یکپارچه، نقش یک رابط را در توسعه برنامه و بازیهای اندروید ایفا میکند.
ساخت بازی با Android Studio چالش های زیادی دارد
اگر این روش را برای ساخت بازی اندروید انتخاب کردید، باید چیزهای بسیار زیادی را در طول مسیر یاد بگیرید. مثلا برای ساخت بازی های سه بعدی (3D game)، میتوانید از API کتابخانههایی مثل OpenGL یا Vulkan برای ارتباط با سختافزار استفاده کنید.
به هیچ عنوان برای آموزش ساخت بازی اندروید محیط اندروید استودیو را توصیه نمیکنم. مخصوصا اگر مبتدی هستید و نمیخواهد درگیر مسائل فنی و پیچیده شوید. حتی برنامهنویسان حرفهای هم برای توسعه بازی از Android Studio استفاده نمیکنند. اگر میخواهید تجربه عمیقی از کار با این IDE داشته باشید، ساخت یک بازی ساده (مثلا پازل) فکر بدی نیست. اما برای ساخت بازیهای بزرگتر به هیچ عنوان این روش کارساز نیست.
روش 2: آموزش ساخت بازی اندروید با موتورهای بازی سازی
به عنوان یک توسعهدهنده (developer)، نباید وقتتان را برای توسعه یک موتور بازی سازی (game engine) جدید هدر بدهید. آن هم درست زمانی که چندین موتور با کیفیت و قدرتمند در دنیا وجود دارد. به این ترتیب شما به عنوان بازی ساز، به جای ساخت یک تکنولوژی جدید و درگیر شدن با مسائل بسیار پیچیده، روی تولید بازی خودتان و جزئیات آن تمرکز میکنید. در ادامه آموزش ساخت بازی اندروید بیشتر با موتورهای بازی سازی مطرح دنیا آشنا میشویم.
بررسی سازگاری موتور بازی سازی با اندروید
قبل از اینکه یک موتور بازی سازی را برای ساخت بازیهای جدید انتخاب کنیم، باید از سازگار بودن آن موتور با شرایط Google Play و پشتیبانی از ویژگیهای اندروید مطمئن شوید. هر کدام از این موارد را به شکل دقیق توضیح میدهم.
1. پیش نیازهای گوگل پلی
در آگوست 2021 بود که گوگل پلی از تمام توسعهدهندگان خواست برنامههای خود را به شکل Android App Bundles ثبت و از شماره API 30 به بالا استفاده کنند. موتور بازی سازی خود را بررسی کنید و ببینید که این شرایط را برایتان فراهم میکند یا خیر.
2. پرداخت درون برنامه ای
اگر بازی شما پرداخت درون برنامه ای (in-app purchases) دارد، مطمئن شوید که موتور بازی سازی موردنظرتان از Google Play Billing Library یا GPBL پشتیبانی میکند. با توجه به موتوری که استفاده میکنید، GPBL میتواند به شکل مستقیم یا به شکل افزونه و پلاگین، به موتور بازی سازی اضافه شود.
3. پشتیبانی از Google Play Core Library
کتابخانه گوگل پلی کور (Google Play Core Library) امکانات زیر را برایتان فراهم میکند:
- اطلاع دادن بهروزرسانیهای برنامه به کاربر
- دانلود و دسترسی به دادهها در asset packs
- درخواست بررسیهای درون برنامهای
اگر این قابلیتها برایتان جذاب است، باید موتور بازی سازی ای را انتخاب کنید که از Google Play Core Library به شکل مستقیم یا غیرمستقیم (افزونه) پشتیبانی کند.
4. دسترسی به مجوزهای برنامه (Application permissions)
بعضی از ویژگیهای اندروید، قبل از استفاده نیاز به مجوز کاربر دارند. سیستم کار با مجوزها در اندروید مسئولیت این موارد را بر عهده دارد. اگر بازی شما به مجوزهای اندروید نیاز دارد، مطمئن شوید که موتور بازی سازی، اجازه کار با مجوزها را میدهد. یا امکان ویرایش فایلِ manifest را در اختیارتان میگذارد. با دسترسی به فایل مانیفست، میتوانید اطلاعات مجوزها را نیز تغییر دهید.
5. اعلان ها (Notifications)
به کمک نوتیفکیشن، میتوانید زمانی که کاربر در بازی شما حضور ندارد، برایش اعلان بفرستید. اگر این قابلیت برایتان مهم است، حتما engine خود را از لحاظ پشتیبانی ارسال نوتیفیکشن بررسی کنید.
معرفی موتورهای بازی سازی قدرتمند برای ساخت بازی اندروید
موتور بازی سازی (game engine)، نرمافزاری برای ساخت بازیهای رایانهای است. به کمک ابزارها و امکانات موتورهای بازی سازی، مراحل تولید بازیهای رایانهای بسیار کوتاهتر و سادهتر از قبل شده است. با انتخاب یک موتور بازی سازی، شما دیگر درگیر جزئیاتی مثل پیادهسازی فیزیک بازی نخواهید شد. در ادامه به آموزش ساخت بازی اندروید با موتورهای بازی سازی مطرح دنیا میپردازیم.
1. ساخت بازی اندروید با Defold
Defold یک موتور بازی سازی متنباز (open-source) است که از زبان برنامه نویسی Lua برای نوشتن اسکریپتهای مختلف، استفاده میکند. Defold پشتیبانی بسیار مناسبی از بازیهای دوبعدی (2D games) و عناصر گرافیکی ارائه میدهد.
اگرچه Defold تمرکز زیادی روی ساخت بازیهای دو بعدی دارد، اما از یک موتور Render سهبعدی نیز استفاده میکند. این موتور بازی سازی قدرتمند، از رندر کردن مدلهای سهبعدی و سفارشیسازی مواد و عناصر موجود به خوبی پشتیبانی میکند.
2. ساخت بازی اندروید با Unity
اگر قبلا کوجکترین تجربهای در بازی سازی داشته باشید، حتما اسم یونیتی به گوشتان خورده است. Unity یک موتور بازی سازی بسیار قدرتمند است که توسط بازی سازهای مختلفی در سراسر جهان به کار گرفته میشود.
یونیتی برای ساخت بازیهای دوبعدی (2D) و سهبعدی (3D) استفاده میشود. مهم نیست میخواهید یک بازی دوبعدی ساده بسازید یا یک بازی سهبعدی بزرگ. در هر حالت Unity قابلیتهای فراوانی در اختیارتان میگذارد.
لیست بازی های ساخته شده با Unity
Unity یک پلتفرم بازی سازی بزرگ با قابلیت خروجی گرفتن برای سیستمعاملهای مختلف (ویندوز، مکاواِس، لینوکس، اندروید، iOS و…) است. در این لیست ما فقط به بازیهای معروف پلتفرم اندروید اشاره میکنیم.
- Alto’s Adventure
- Shadow Fight 3
- Monument Valley
- Monument Valley 2
- PAKO
- Orbit
- Crossy Road
- Parallyzed
- Reigns
- Hearthstone
- Hitman Sniper
- Ravensword: Shadowlands
3. ساخت بازی اندروید با Unreal Engine
Unreal Engine یا به اختصار UE، یک موتور بازی سازی قدرتمند است که توسط Epic Games توسعه داده میشود. اولین بار سال 1998 میلادی در یک بازی شوتر اول شخص، از این موتور استفاده شد.
آن زمان با آنریل فقط بازیهای اول شخصِ کامپیوتر (PC) میساختند. اما به مرور زمان، انواع ژانرهای بازی به آن اضافه شدند و کم کم Unreal راهش را به صنعت فیلم و سریال هم باز کرد.
Unreal Engine با زبان برنامه نویسی سی پلاس پلاس نوشته شده و برای ساخت بازی اندروید بسیار مناسب به نظر میرسد. در حال حاضر نسخه 4 این موتور بازی سازی قدرتمند در اختیار بازیسازان قرار دارد. (البته در زمان نگارشِ این مقاله، یعنی اسفند ماه 1400، نسخه 5 آنریل انجین به شکل آزمایشی منتشر شده است.)
لیست بازی های ساخته شده با Unreal Engine
- MORTAL KOMBAT: A Fighting Game – مورتال کمبات (بیشتر از 50 میلیون نصب در Google Play)
- Hello Neighbor (بیشتر از 10 میلیون نصب در Google Play)
- Injustice 2 (بیشتر از 10 میلیون نصب در Google Play)
- Darkness Rises (بیشتر از 10 میلیون نصب در Google Play)
- Life is Strange (بیشتر از 1 میلیون نصب در Google Play)
- B.o.T (بیشتر از 1 میلیون نصب در Google Play)
میلیونها نفر در سراسر دنیا از بازیهایی که با Unreal Engine توسعه داده شدهاند، استفاده میکنند.
روش 3: آموزش ساخت بازی اندروید با بازی سازها (Game builders)
اگر در ابتدای راه هستید و میخواهید به سادهترین شکل ممکن و بدون کدنویسی، بازی سازی را شروع کنید، استفاده از بازی سازها انتخاب بسیار خوبی خواهند بود.
این ابزارها با کشیدن و رها کردن (Drag and drop) اجازه میدهند اِلِمانهای مختلف بازی را سر جای خود قرار دهید و منطق آن را پیاده کنید. در این روش با کمترین میزان کدنویسی، میتوان بازی ساخت. در ادامه با چند ابزارِ آموزش ساخت بازی اندروید بدون کدنویسی آشنا میشویم.
1. GameMaker
GameMaker که تا سال 2011 میلادی به نام Animo شناخته میشد، یک پلتفرم بازی سازی جذاب است. از سال 2017 نسخه GameMaker Studio 2 در اختیار علاقهمندان به بازی سازی قرار گرفت.
به کمک GameMaker میتوان در سبکهای مختلف بازی ساخت. محیط بصری این نرمافزار، از کشیدن و رها کردن (drag-and-drop) پشتیبانی میکند. یعنی عناصر مختلف بازی را بدون نوشتن یک خط کد، طراحی میکنید.
اگر نیاز به برنامه نویسی داشتید، میتوانید از زبان برنامه نویسی GameMaker با نام Game Maker Language یا GML استفاده کنید. این مورد برای توسعهدهندگان حرفهای بسیار جذاب خواهد بود و میتوانند بازیهای پیشرفتهتری بسازند. اگر در بازی سازی کاملا مبتدی هستید، با GameMaker میتوانید به سرعت ایدههای خود را تبدیل به یک بازی کامپیوتری کنید.
البته GameMaker Studio مشکلاتی هم دارد. برخی از محدودیتهای آن ممکن است کاربران حرفهای را آزار دهد. مثلا گاهی مجبورید از گرافیکهای از پیش ساختهشده و عمومی استفاده کنید، یا به شدت محدود به یک سری الگوی تکراری شوید. اما در مجموع این نرمافزار بازیسازی برای کاربران مبتدی نقطه شروع بسیار مناسبی به حساب میآید.
GameMaker Studio رایگان نیست. اما در سایتهای دانلود ایرانی، میتوانید نسخه کرکشده و سالم آن را پیدا کنید.
2. Construct
Construct یک موتور بازیسازی دو بعدی مبتنی بر HTML5 است که برای ساخت بازیهای ساده استفاده میشود. جامعه هدف کانستراکت، افرادی هستند که میخواهند بدون کدنویسی، بازی بسازند.
کانستراکت از سال 2007 شروع به کار کرده و طی این سالها تغییرات بسیار گستردهای داشته است. در آخرین بهروزرسانی کانستراکت (یعنی Construct 3)، این پلتفرم تبدیل به یک وب اپلیکیشن شد. یعتی برای استفاده از آن باید اشتراک تهیه کنید و تحت وب به ساخت بازی بپردازید. موضوعی که کار با Construct 3 را در ایران بسیار مشکل میکند. از طرفی امکان خرید بسیاری از سرویسهای خارجی در ایران ممکن نیست. از آن طرف قیمت بسیار بالای دلار چنین خریدهایی را سخت و دشوار میکند. اما همچنان میتوانید از کانستراکت 2 استفاده کنید.
یک پیشنهاد جذاب:
اگر دوست دارید به درک کاملی از سیستمعامل Android برسید و برنامه نویسی با آن را یاد بگیرید، توصیه میکنم روی لینک زیر کلیک کنید. فرادرس در یک دوره جامع، زبان برنامه نویسی بیسیک فور اندروید (B4A) را به طور کامل آموزش میدهد. بعد از دیدن این آموزش، میتوانید انواع اپلیکیشنهای اندروید را توسعه دهید.
جمع بندی موضوع آموزش ساخت بازی اندروید
در این مقاله، به شکل مفصل راجع به آموزش ساخت بازی اندروید صحبت کردیم. اما میدانید که با خواندن یک مقاله آموزشی، نمیتوان بازی ساز شد. امیدوارم در این چند دقیقه، مسیر پیشِ رو برایتان شفافتر شده باشد و راحتتر بتوانید وارد دنیای جذاب بازی سازی شوید. اگر سوالی داشتید، حتما در بخشِ نظرات موضوع را با ما در میان بگذارید.
بیشتر بخوانید: 3 قدم برای یادگیری برنامه نویسی موبایل و پول درآوردن از آن