نویسنده: مرتضی کارگر
// سه شنبه, ۷ شهریور ۱۳۹۶ ساعت ۱۷:۰۳

آموزش بازی سازی: معرفی موتورهای قدرتمند بازی سازی

موتورهای بازی‌سازی یکی از ارکان مهم ساخت بازی‌های ویدیویی به حساب می‌آیند. برای آشنایی بهتر با این موتورهای قدرتمند با ما همراه شوید.

در مسیر آموزش بازی سازی سرانجام پس از بیان توضیحات لازم در مورد مسیر بازی‌سازی و نحوه‌ی مدیریت هر چه بهتر آن، به نقطه‌ای رسیده‌ایم که می‌خواهیم در مورد ابزارهای مورد استفاده در بازی‌سازی صحبت کنیم. ناگفته پیداست که مهم‌ترین ابزار موجود در صنعت بازی‌سازی را موتورهای بازی‌سازی تشکیل می‌دهند. ابزارهای که بحث و گفت‌و‌گو در مورد آن‌ها بسیار است و هر کدام طرفدارهای خاص خودشان را دارند.

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

البته در همین ابتدا بیان نکته‌ای را هم خالی از لطف نمی‌دانم. یکی از بزرگترین مواردی که همواره تعجب بنده را در پی داشته، تعصب بعضی از دوستان روی نرم‌افزارها و ابزارهایی است که معمولا مورد استفاده قرار می‌دهند. این ابزار می‌تواند یک موتور بازی‌سازی یا یک نرم‌افزار طراحی و مدل‌سازی باشد اما هر چه هست تنها ابزاری در میان دیگر ابزارها است. ابزارها روز به روز تغییر کرده و پیشرفت می‌کنند. در این چرخه بسته به سیاست‌های سازندگان این ابزارها در انتها هر کدام از این ابزارها ویژگی‌هایی را در خود خواهد داشت که ابزارهای دیگر از داشتن آن محروم هستند اما باید بدانیم که به هیچ وجه این مهم دلیل برتری یکی بر دیگری نخواهد بود،‌ بلکه تنها می‌تواند منجر به این شود که در فلان زمینه‌ی مشخص فلان ابزار کارایی بهتری از خود نشان دهد و در فلان زمینه آن یکی عملکرد بهتری را به ثبت رساند و مقایسه‌ها نیز باید در همین زمینه‌ها صورت پذیرد. برای همین به شما پیشنهاد می‌دهم که تنها به هدف خود نگاه کرده و سعی کنید متناسب با آن بهترین ابزار ممکن را انتخاب کنید و هرگز خودتان را درگیر مسائل بیهوده‌ای همچون اینکه فلان ابزار از فلان ابزار بهتر است نکنید.

اما در این مقاله می‌خواهیم موتورهای بازی‌سازی معروف Unity، Unreal، CryEngine و موتور تازه از راه رسیده Stingray را با هم بررسی کنیم. البته برای تحقق هر چه بهتر این موضوع سعی می‌کنیم از نقاط قوتی که خود سازنده‌ها روی آن تاکید داشته‌اند استفاده کنیم و به این روش هر گونه احتمال جانبداری از هر موتوری را هم از بین ببریم. البته بخشی از مطالب هم مربوط به محصولاتی می‌شود که با این موتورها تولید شده که قضاوت در مورد آن‌ها به خود شما بازمی‌گردد.

unity

Unity

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

ویژگی‌هایی که سازندگان یونیتی بیش از دیگر ویژگی‌ها روی آن‌ها مانور داده‌اند عبارتند از:‌ ویرایشگر غنی و توسعه‌پذیر، قدرت رندر گرافیکی، بهینه بودن، پشتیبانی از پلتفرم‌های مختلف، فروشگاه Asset Store و پیاده‌سازی بسیار راحت حالت چند نفره بازی‌ها و پشتیانی از این ویژگی‌ است. البته که این‌ها تنها ویژگی‌های این موتور نیستند اما مواردی هستند که سازنده روی آن‌ها بیشتر تاکید داشته است. بدون شک یونیتی همواره یکی از ساده‌ترین ویرایشگر‌های موجود در بین موتورهای بازی‌سازی را دارا بوده است و برای همین معمولا اولین گزینه‌ی توصیه شده برای بازی‌سازان تازه‌کار بوده است. در کنار این سادگی ویرایشگر، سازندگان یونیتی مدعی هستند که ویرایشگر موتور آن‌ها برای تمامی اعضای یک تیم‌ بازی‌سازی بهینه شده و انعطاف پذیر است و مهم نیست شما یک آرتیست هستید یا یک طراح مرحله، همه‌ی شما به راحتی می‌توانید با ویرایشگر یونیتی ارتباط برقرار کرده و از آن استفاده کنید. در کنار این ویژگی‌ سازندگان بیان کرده‌اند که شما می‌توانید با استفاده از قدرت گرافیکی موتور هر نوع اتمسفری را که در نظر دارید پیاده‌سازی کنید و مشکلی از این بابت نخواهید داشت. همچنین پشتیبانی از بیش از ۲۵ پلتفرم مختلف پیشگام بودن این موتور در موضوع چندپلتفرمی بودن را کاملا تایید می‌کند. شما تنها کافی است وصله‌های مربوطه برای هر پلتفرم را روی موتور خود نصب کنید و برای آن پلتفرم خروجی بگیرید. در صورتی که علاقه‌مندید می‌توانید از این لینک اطلاعات بیشتری در مورد این موتور کسب کنید.

برای برنامه‌نویسی در یونیتی می‌توانید یکی از زبان‌های C# یا JavaScript را انتخاب کنید و در صورت انتخاب هر کدام مطمئن باشید که آموزش‌های مربوط به آن وجود خواهد داشت اگرچه تعداد آموزش‌های زبان C# بیشتر از JavaScript است.

در کل موتور یونیتی پیشرفت بسیار خوبی را در چند ساله‌ی اخیر تجربه کرده‌ است و با سیاست‌های خود توانسته جنب و جوش بسیاری را در بین سازندگان مستقل به وجود بیاورد. یونیتی در حال حاضر از سیاست رایگان بودن موتور خود پیروی نمی‌کند و این موضوع را تنها برای استفادهای شخصی مجاز می‌داند. شما می‌توانید با پرداخت ماهیانه ۳۵ دلار برای حالت Plus یا ۱۲۵ دلار برای حالت Pro  بدون هیچ مشکلی از این موتور دوست داشتنی استفاده کنید. از بازی‌هایی که تا الان با این موتور ساخته شده است می‌توانیم به مواردی از قبیل Inside، Syberia 3، Hollow Knight ،Ori and The Blind Forest ، Super Mario Run، Superhot ،ReCore ، Pokémon Go، Shadow Tactics: Blades of the Shogun، Hearthstone: Heroes of Warcraft و Firewatch اشاره کنیم.  در انتها شما را به دیدن کلیپ بازی‌هایی که در سال ۲۰۱۶ با این موتور ساخته شده‌اند دعوت می‌کنم. این کلیپ در رویداد GDC 2016 توسط خود یونیتی به نمایش درآمده است. شما می‌توانید موتور یونیتی را در حالت استفاده‌ی شخصی از این لینک دریافت کنید.

بدون شک یونیتی یکی از قدرتمند‌ترین و انعطاف‌پذیرترین موتورهای بازی‌سازی حال حاضر صنعت بازی‌سازی دنیاست و امروزه به خاطر پورت بهینه‌ی آن برای دستگاه‌ها موبایل بسیار مورد توجه توسعه‌دهندگان بازی‌های موبایلی قرار گرفته است.

unreal engineUnreal

هر چقدر موتور یونیتی در بین توسعه‌دهندگان مستقل محبوب است، بدون شک موتور آنریل در بین حرفه‌ای‌های این صنعت بسیار محبوب‌تر است. آنریل همواره سعی کرده از بروز‌ترین تکنولوژی‌ها در موتور خود استفاده کند و برای همین هم استودیو‌های معروف بسیاری به سمت این موتور قدرتمند جذب شده‌اند. تنها کافی است نگاهی به بازی‌های که با این موتور ساخته شده‌اند بیاندازید تا بتوانید چشم‌اندازی از توانایی‌های این موتور را به راحتی درک کنید. از سری بازی‌های Mass Effect گرفته (به جز نسخه‌ی آخر) تا سری بازی‌های BioShock همگی با این موتور ساخته شده‌اند. از نام‌های دیگر در زمینه می‌توانیم به بازی‌های Injustice 2، PlayerUnknown's Battlegrounds، سری بازی‌های Gears of War، Batman Arkham Knight، Mortal Kombat X، سری بازی‌های Unreal Tournament، Street Fighter V و Borderlands اشاره کنیم. تنها تعداد کمی از بازی‌های گفته شده برای نشان دادن قدرت این موتور کافی است گرچه این نام‌ها تنها گوشه‌ای از بازی‌های ساخته شده با این موتور است. همان گونه که در ویدئوی مربوط به موتور خواهید دید بازی‌هایی همانند Days Gone، Sea of Thieves و حتی Crackdown 3 (که البته درون ویدئو نیست) هم با این موتور در حال ساخته شدن هستند.

ابزار متنوع و کارآمد در کنار آزادی کامل در مورد نوع و کیفیت گرافیک مورد نیاز از بزرگ‌ترین ویژگی‌های این موتور است. با اینکه صحبت در مورد آنریل بسیار است اما ما تنها به چند نکته در مورد آن بسنده می‌کنیم. آنریل اعتقاد دارد که اندازه و نوع پروژه شما مهم نیست، شما می‌توانید هر چه در ذهن دارید با آنریل عملیاتی کنید. آنریل همانند یونیتی از تمامی پلتفرم‌های محبوب امروزه پشتیبانی می‌کند و حتی به نوعی در زمینه‌های پلتفرم‌های جدید نیز همواره پیشرو بوده است. به یاد دارم که به محض معرفی کنسول سوییچ، آنریل اولین موتور بزرگی بود که قابلیت خروجی گرفتن برای این کنسول را به موتورش اضافه کرد. امروزه آنریل روی تکنولوژی واقعیت مجازی بسیار سرمایه‌گذاری کرده است و همواره این مهم را در بروزرسانی‌های اخیرش مدنظر قرار داده است. برای همین شاید گزینه‌ی مناسبی برای طرفداران این زمینه  باشد. شما می‌توانید در این موتور با استفاده از هدست‌های واقعیت مجازی به ساختن برنامه‌ها و بازی‌های واقعیت مجازی بپردازید.

آنریل از زبان برنامه‌نویسی C++ بهره می‌برد و شما برای برنامه‌نویسی در این موتور باید با این زیان آشنایی داشته باشید. اما یکی از جالب‌ترین قابلیت‌های این موتور مربوط به قابلیت‌ Blueprint آن است که می‌تواند شما را به خصوص در پروژه‌های کوچک تا متوسط تا حد زیادی از برنامه‌نویسی بی‌نیاز کند. به گفته‌ی سازندگان این موتور چند ده هزار کد خط برنامه‌نویسی از پیش نوشته شده درون موتور قرار گرفته است که شما می‌توانید صرفا با استفاده از قابلیت بلوپرینت این موتور و با استفاده از کشیدن و رها کردن از آن‌ها استفاده کنید. شما می‌توانید شمایی از این ويژگی را درون عکس زیر مشاهده کنید.

unreal blueprint

آنریل همواره سعی کرده است دستی هم در بازی‌های موبایلی داشته باشد و برای همین پشتیبانی از APIهای قدرتمند گرافیکی همانند Vulkan را هم به موتور خود اضافه کرده و گفته است که شما می‌توانید روی دستگاه‌های موبایل به گرافیکی هم‌سطح بازی‌های بازی‌های کنسولی دست بیابید. در انتها باید بیان کنیم که موتور آنریل کاملا رایگان است و تنها زمانی که درآمد شما از ۳۰۰۰ دلار برای هر بازی عبور کرد، ۵ درصد درآمد شما به آن‌ها تعلق خواهد گرفت. در انتها شما را به دیدن کلیپ بازی‌هایی که در سال ۲۰۱۶ با این موتور ساخته شده‌اند دعوت می‌کنم. این کلیپ در رویداد GDC 2016 توسط سازندگان آنریل به نمایش درآمده است.

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

cruEngine

CryEngine

اینکه امروزه مشاهده می‌کنیم بسیاری از موتورهای معروف بازی‌سازی رایگان در اختیار ما و دیگر توسعه‌دهندگان قرار دارند، به خاطر سیاست‌هایی بود که سازندگان موتور یونیتی آن را پیاده کردند و به عنوان اولین نفر موتور خود را رایگان در اختیار توسعه‌دهندگان قرار دادند و شعار «موفقیت شما موفقیت ماست» را سرلوحه کارشان قرار دادند. سرانجام پس از همکاری کرایتک با آمازون این موتور بازی‌سازی هم به این روند پیوست. امروزه در حالی باید دوباره برای یونیتی مبلغ ماهیانه پرداخت کنیم که سازندگان کرای‌انجین حتی تمامی منابع کد‌های موتور خود را هم به رایگان در اختیار توسعه دهندگان قرار می‌دهند و آن‌ها آزادند که هر مبلغی که می‌خواهند به مجموعه کرایتک اهدا کنند، حتی صحبت از درصدی از فروش محصول نهایی هم وجود ندارد. این موتور که امروزه نسخه پنجم آن در دسترس عموم است از قابلیت پردازش قدرتمند نور و پشتیبانی از بازی‌های جهان باز و عناصر آن همانند تغییرات آب و هوایی و ساختن محیط‌های بزرگ بهره می‌برد. این موتور دوست داشتنی که بیشتر ما نامش را با سری Crysis می‌شناسیم تقریبا از تمامی پلتفرم‌های ویندوز، لینوکس و کنسول‌های پلی‌استیشن و ایکس‌باکس به همراه هدست آکیولس‌ریفت پشتیبانی می‌کند.

به نسبت دو موتور قبلی آموزش‌های کمتری از این موتور وجود دارد و همان‌طوری هم که از پلتفرم‌های هدف آن مشخص است این موتور به هیچ وجه برای بازی‌سازان غیرحرفه‌ای بهینه نشده است  و برای همین اگر تازه‌کارید به شما این موتور را پیشنهاد نمی‌دهیم. این موتور همانند آنریل از زبان برنامه‌نویسی خانواده C بهره‌ می‌برد و به راحتی می‌توانید آن را از این لینک دریافت کنید.

از بازی‌هایی که با این موتور ساخته شده‌اند می‌توانیم به بازی تازه منتشر شده‌ی Prey اشاره کنیم که به خوبی توانسته بود قدرت گرافیکی این موتور را به ما نشان دهد. از بازی‌های دیگر می‌توانیم به Ryse: Son of Rome، سری Crysis، Sniper:Ghost Warrior 2-3، Everybody's Gone to the Rapture، Homefront: The Revolution و بازی Evolve اشاره کنیم. در ضمن بازی محبوب Far Cry هم به نوعی با این موتور ساخته شده و می‌شود. نسخه‌ی یک بازی کاملا با موتور کرای‌انجین ساخته شد ولی نسخه‌های بعدی از موتوری به نام Dunia استفاده می‌کردند که نسخه‌ای اصلاح شده از موتور کرای‌انجین بود. در انتها شما را به دیدن کلیپ نمونه بازی‌های ساخته شده با این موتور دعوت می‌کنم. این ویدئو در سایت سازنده موتور منتشر شده است.

 

stingray engine

Stingray

حدودا ۲ سال پیش در همین روزها بود که کمپانی صاحب نام Autodesk موتور بازی‌سازی خودش به نام Stingray را به صورت عمومی منتشر کرد. اگر چه این اولین تجربه آن‌ها در زمینه‌ی موتورهای بازی‌سازی است اما از همان اول سعی کردند قدم خود را محکم بردارند. البته هنوز برای قضاوت در مورد این موتور بازی‌سازی زود است و باید یکی دو سال دیگر هم برای این موضوع صبر کنیم اما چیزی که باعث می‌شود آن را هم در نظر بگیریم، قابلیت‌های بسیار جالبی است که درون این موتور قرار دارد. شاید بزرگترین مزیت این موتور یکپارچه بودن آن با دیگر نرم‌افزارهای کمپانی اتودسک همانند Maya، Maya LT و 3Ds Max مکس است. شما به راحتی با چند کلیک می‌توانید تمامی صحنه‌ی ساخته شده‌ی خود را از درون نرم‌افزاری همانند 3Ds Max به درون موتور بازی‌سازی خود منتقل کنید. یا در لحظه تغییرات روی یک مدل درون نرم‌افزار مدل‌سازی را درون موتور بازی‌سازی خود مشاهده کنید.

این موتور از قدرت نورپردازی واقع‌گرایانه‌ی بسیار خوبی برخودار است و دارای قابلیت‌های جالب دیگری همانند HumanIK برای شبیه‌سازی حرکات انسانی و سیستم مسیریابی برای شخصیت‌های درون بازی است. اگر با کمپانی اتودسک و محصولات آن آشنایی داشته باشید باید بدانید که به دلیل یکپارچکی این محصول با دیگر محصولات مرتبط این کمپانی، این موتور بازی‌سازی از پشتوانه‌ی بسیار خوبی برای یکپارچه شدن تیم بازی‌سازی برخودار است.

زبان برنامه‌نویسی که برای این موتور در نظر گرفته شده است، زبان برنامه‌نویسی Lua است که یادگیری و فهم آن بسیار راحت است. البته در کنار این ویژگی همانند دیگر نرم‌افزارهای این کمپانی این موتور بازی‌سازی از یک زبان برنامه‌نویسی تصویری هم بهره می‌برد که بر پایه گره‌ها و اتصال آن‌ها فعالیت می‌کند. دقیقا شبیه همان قابلیت بلوپرینت موتور آنریل که در این جا می‌توانید با آن بیشتر آشنا بشوید. برای همین به شما توصیه می‌کنم ویدئوی زیر را مشاهده کنید.

اگر درآمد شما کم‌تر از ۱۰۰ هزار دلار است هم اکنون شما می‌توانید به مدت یک سال رایگان از این موتور استفاده کنید. بعد از آن می‌توانید یکی از روش‌های پرداخت ماهانه (۳۰دلار)، سالیانه (۲۴۰دلار) و ۳ ساله (۷۲۰دلار) را انتخاب کنید.  این موتور از پلتفرم‌های ایکس‌باکس وان، پلی‌استیشن 4، آی‌او‌اس، اندروید و ویندوز پیشتیبانی می‌کند. همچنین این موتور در زمینه‌ی واقعیت مجازی از هدست‌های HTC Vive و Oculus پشتیبانی می‌کند. شما می‌توانید آموزش‌های این موتور را این لینک مشاهده کنید. این آموزش‌ها توسط خود سازنده آماده شده است. در انتها شما را به دیدن ویدئوی این موتور تازه‌کار دعوت می‌کنیم.

برای دریافت این موتور هم می‌توانید از این لینک اقدام کنید.

در مقاله‌ی بعدی با معرفی موتورهای بازی‌سازی کوچک در خدمت شما خواهیم بود.


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