واقعیت این است که پس از عملی سازی سیاستهای رایگان شدن موتورهای بزرگ بازیسازی، عرصه برای فعالیتهای موتورهای کوچک بازیسازی بسیار کمتر شد. خب بالاخره هر چه باشد یک موتور کوچک با پشتیبانی حداکثر چند نفر و با فعالیتهای معمولا داوطلبانه در مقابل یک موتور حرفهای با پشتیبانی مالی قوی و چند ده نفر متخصص حقوق بگیر نمیتواند حرف چندانی هم داشته باشد. البته در صنعت حرفهای امروز نرمافزارها و ابزارهایی را داریم که گرچه رایگان هستند و به صورت متن باز (Open Source) و توسط افراد داوطلب توسعه پیدا میکنند ولی در زمینهی موتورهای بازیسازی و به خصوص پس از رایگان شدن موتورهای بزرگ دلیلی برای وجود یک موتور متن باز بزرگ وجود ندارد. مثلا ما در زمینههای مدلسازی و انیمیشن، نرمافزار پرقدرت Blender را داریم که کمی از بزرگان این صنعت ندارد و این در حالی است که این نرمافزار کاملا رایگان است و در مقابل آن دیگر نرمافزارهای هم سطح پولی و بعضا با هزینه اشتراکهای بالایی در دسترس قرار دارند.
برای همین اولین سیاستی که یکسری از موتورهای کوچک بازیسازی پیاده کردند، تمرکز شدید روی بازیهای دو بعدی و راحتتر شدن فرآیند تولید بود. این نقطه همان جایی بود که موتورهای بزرگ به دلایل مشخص نمیتوانستند تا حدودی به آن وارد شوند. برای همین امروزه تعداد کمی از موتورهای بازیسازی کوچک چند سال پیش همچنان در حال بروزرسانی است و سعی میشود ویژگیهای جدید به آنها اضافه شود که البته همانگونه که گفتیم تمرکز این موتورها نیز در زمینهی بازیهای دو بعدی و گهگاه دو و نیم بعدی است.
با این حال گزینههای پیش رو همچنان کم نبودند و برای همین سعی کردیم با مبنا قرار دادن یکسری مشخصات، تعدادی را از این بین گلچین کرده و به شما معرفی کنیم. شاخصهای ما سادگی در روند تولید، پشتیبانی از پلتفرمهای مختلف، تمرکز بر بازیهای دو بعدی (چرا که در زمینهی سه بعدی موتورهای بسیار توانمندی در اختیار ما قرار دارند) و همچنین دارا بودن نمونههای بازیهای موفق ساخته شده بودند. به هر حال یک بازی موفق تا حدودی تواناییهای موتور مورد استفاده را هم به ما نشان میدهد.
از میان تمامی مواردی که بررسی شد در نهایت تصمیم به معرفی سه موتور در این قسمت از مقالات آموزش بازی سازی گرفتیم. موتور بسیار معروف Game Maker Studio 2، موتور کوچک و جمع و جور Construct 3 و موتور یا بهتر بگویم فریمورک MonoGame که بر پایه نسخه ۴ فریمورک XNA توسعه داده شده است.
Game Maker Studio 2
کافی است مقداری به بازیسازی علاقه داشته باشید تا نام موتور محبوب گیممیکر را شنیده باشید. ساده، سریع و کارآمد واژههایی هستند که همواره دنبالهروی اسم این موتور محبوب بودهاند. با توجه به امکاناتی که در نسخهی دوم این موتور به آن اضافه شده است واقعا میتوانیم به خصوص در بین موتورهای کوچک بازیسازی این موتور را برترین موتور در زمینهی ساخت بازیهای دوبعدی قلمداد کنیم. قابلیتهای کاربردی از قبیل کشیدن و رها کردن اجزا درون بازی، ویرایشگر مراحل ساده و کارآمد، ویرایشگر تصویر قوی و پشتیبانی از فیزیک دو بعدی از مواردی است که به خوبی هر چه تمامتر درون این موتور قرار داده شده است. به راستی که این موتور در نسخهی دوم خود پیشرفت فراوانی را تجربه کرده است. به عنوان مثال ویژگی Nodal Layout که در نسخهی دوم به این موتور اضافه شد، قابلیتی است که بعضی از موتورهای بزرگ امروزی همچنان از داشتن پیشفرض آن محروم هستند. شما میتوانید گوشهای از ویژگیهای نسخهی شمارهی ۲ این موتور را در ویدئوی زیر مشاهده کنید.
سازندگان این موتور به بهانه درگیر نشدن مخاطب با زبانهای پیچیدهی رایج امروزی، زبان اختصاصی را برای این موتور توسعه دادهاند که به GameMaker Language مشهور است. البته با اضافه شدن حالت Nodal Layout به نسخهی جدید این موتور فرآیند برنامهنویسی برای بازیها بسیار راحتتر میشود.
البته تنها جایی که شاید مقداری از تمامی این جذابیتها کم کند، مسئلهی قیمت این موتور برای پلتفرمهای مختلف است. با اینکه نمیتوانیم از قابلیتهای روزافزون این موتور دوبعدی ساز چشمپوشی کنیم اما بعضا در کاملتری نسخهی آن باید تنها برای ۱۲ ماه رقمی معادل ۱۵۰۰ دلار برای این موتور هزینه کنیم. در دیگر موارد تنها با انتخاب یک پلتفرم میتوانیم از هزینههای خرید این موتور کم کنیم. گفتنی است که موتوری همانند یونیتی در گرانترین حالت خود دارای پلن ماهیانه ۱۲۵ دلار بود که در بازهی یکساله با پلن گیممیکر برابری میکند. اینکه کدام را انتخاب میکنید به خودتان بستگی دارد.
در انتها نیز شما را به دیدن ویدئویی از بازیهای ساخته شده با این موتور دعوت میکنم. این ویدئو بازیهای ساخته شده با این موتور در سال ۲۰۱۶ را نشان میدهد.
همانطوری که بعدا هم اشاره خواهیم کرد، این گونه موتورها به خصوص برای کسانی که در زمینهی برنامهنویسی و کار بار موتورهای بازیسازی مشکل دارند، گزینههای بسیار خوبی هستند.
Construct 3
شاید اگر کسی از من بپرسد که سادهترین راه برای ساخت یک بازی جمع و جور چگونه است و با چه موتوری میتوانیم چنین کاری را انجام دهم، من در جواب او موتور بازیسازی کانستراکت را پیشنهاد دهم. بزرگترین دلیل وجود نام این موتور در فهرست ما سادگی بیش از حد کار با این موتور کوچک است. البته در کنار این سادگی، چند پلتفرمه بودن و عدم نیاز به برنامهنویسی هم از قابلیتهای دیگر آن است. این موتور با انتشار نسخهی سوم خود یک تغییر اساسی را تجربه کرد و آن تبدیل شدن موتور از یک نرمافزار دانلودی به یک نرمافزار تحت وب بود. در حال حاضر شما میتوانید بتای عمومی نسخهی سوم این موتور را از لینک مشاهده کنید. البته با اینکه قرار است نسخهی سوم این موتور تحت وب باشد اما همچنان نسخهی دوم این موتور در دسترس است و میتوانید به راحتی نسخهی محدود آن را از این لینک دریافت کنید.
تقریبا در این موتور هیچ سخنی از برنامهنویسی نیست و شما تنها باید با Eventها کار کرده و بازی خود را بسازید. البته در شرایط خاص و در صورت علاقه میتوانید با استفاده از Javascript SDK برای این موتور Plugin یا Behavior بنویسید که البته نیاز هم به آن پیدا نخواهید کرد و تنها میتوانید از پلاگینها و رفتارهای از قبل نوشته شدهی کاربران قبلی استفاده کنید.
این موتور از فیزیکی همانند سیستم فیزیک گیممیکر بهره میبرد و تنها محدودیت موجود در آن را باید سادگی بیش از حد آن دانست. برای دستیابی به این سادگی خبری از برنامهنویسی نیست و در مواردی باید با استفاده امکانات موجود و کمی چاشنی خلاقیت، نیازهای خود را برطرف کنید. البته یکی از ویژگیهای کاربردی و جالب این موتور، نمونه کارهای آمادهی این موتور است. به عناون مثال به راحتی میتوانید در هنگام تعریف یک پروژهی جدید، نمونهی بازی دوندهی بینهایت را انتخاب کنید تا پروژهی شما با حداقل موارد مورد نیاز برای این نوع از بازیها به وجود بیاید و بعد از آن شما میتوانید تغییرات خود را اعمال کنید یا با طرز کار سیستم چنین بازیهایی آشنا شوید.
وقتی صحبت از قیمت این موتور به میان میآید حداقل جای خوشحالی است که به دلیل سادگی موتور قیمت آن نیز بسیار مناسب است. براساس پلنی که برای نسخهی سوم این موتور در نظر گرفته شده است، شما در حالت تجاری باید سالیانه مبلغ ۱۴۹ دلار را پرداخت کنید.
در انتها نیز بد نیست نگاهی به بازیهای ساخته شده با این موتور بیاندازید.
بر حسب تجربه به کسانی که از تواناییهای هنری کافی برخوردارند و هیچ سر رشتهای در برنامهنویسی ندارند پیشنهاد میدهم که این موتور را امتحان کنند و ببینند که چگونه میتوانند به راحتی یک بازی دوبعدی و آن هم بدون هیچگونه پیچیدگی خاصی تولید کنند. البته سطح توقع خود را در سطح وسعت موتور مورد نظر نگه دارید.
MonoGame
اگر دو موتور قبلی به ترتیب بر اساس توانمندی و سادگی خود توانستند درون فهرست ما قرار بگیرند، گزینهی سوم ما بیشتر به خاطر بازیهای شاخصی که با آن ساخته شده به این فهرست وارد شده است. البته در کنار این ویژگی، انتشار بروزرسانیهای مدام و چند پلتفرمه بودن نیز از قابلیتهای دیگر این موتور یا به نوعی فریمورک است.
این موتور که بر پایه نسخهی ۴ فریمورک XNA توسعه داده شده است، با هدف افزایش پلتفرمهای هدف این فریمورک، کار خود را شروع کرد. امروزه تقریبا با استفاده از این موتور میتوانید بازی خود را برای تمامی پلتفرمهای معروف منتشر کنید. البته برای انتشار بازی خود برای کنسولهای موجود (پلیاستیشن، ایکسباکس و سوییچ) باید در ابتدا نام شما به عنوان توسعهدهنده ثبت شده باشد.
این موتور به نسبت دو موتور دیگر دارای رابط کاربری تصویری بسیار محدودی است و اگر مقداری جست و جو کرده باشید مشاهده کردهاید که بیشتر کارها در محیط برنامهنویسی و در میان کدها صورت میگیرد. برای همین کار کردن با آن به نسبت دو موتور دیگر واقعا سختتر است. اما نکتهی جالبی که این موتور دارد، پشتیبانی از تمامی زبانهای .NET (داتنت) است و محدود به یک زبان برنامهنویسی نیست. شما به راحتی میتوانید از کتابخانههای موجود در فریمورک XNA و بعضا کتابخانههای دیگر در این زمینه استفاده کرده و نیازهای خود برای بازیسازی را به سرعت برطرف کنید.
اما یکی از مهمترین نقاط قوت این موتور در مقابل دو گزینهی دیگر متن باز بودن آن است. یعنی خبری از پرداختهای ماهیانه و سالیانه نیست و شما آزادید که از قابلیتهای این موتور به طور کامل استفاده کنید. شما برای آشنایی بیشتر با این موتور و دریافت آن میتوانید به این لینک بروید. شما میتوانید تعدادی از بازیهای ساخته شده با این موتور را در ویدئوی زیر مشاهده کنید. البته برای جذابیت بیشتر موضوع، ویدئوی بازیهای سال ۲۰۱۴ این موتور برای شما قرار داده شده است.
برخلاف ظاهر نه چندان جالب این موتور در مقابل موتورهای دیگر مشاهده میکنید که چه بازیهای باکیفیتی با آن ساخته شده و برای پلتفرمهای مختلف منتشر شده است و به نظرم همین برای نشان دادن ظرفیتهای این موتور کافی است.
در انتهای مقاله باید بیان کنم که گرچه میتوان موارد دیگری را هم در این زمینه نام برد ولی بدانید که هر یک از موارد گفته شده با هدف مشخصی در این فهرست آمدهاند و سعی شده از موتورهایی نام برده شود که همچنان در حال دریافت بروزرسانیهای جدید هستند و فراموش نشدهاند.