موتورهای بازی سازی

موتور بازی سازی چیست؟ معرفی معروف ترین موتورهای بازی سازی

موتور بازی سازی چیست؟

یک موتور بازی سازی نرم‌افزاری است که مجموعه‌ای از امکانات و ویژگی‌های مورد نیاز برای ساخت یک بازی به صورت سریع و کارآمد را فراهم می‌کند. یک موتور بازی‌سازی فریم‌ورکی (Framework) است برای توسعه بازی که از چندین هسته اصلی تشکیل شده است. توسعه‌ دهنده می‌تواند آرت و دارایی دو بعدی و سه بعدی را از دیگر نرم‌افزارها نظیر Maya یا ۳D Max یا فوتوشاپ وارد موتور کند و با آن‌ها مرحله‌ها و محیط‌های بازی را بسازد. همچنین نور، صدا، افکت‌های خاص، فیزیک، انیمیشن، تعامل و منطق گیم‌پلی (Gameplay) اضافه کند. همین‌طور می‌تواند آن‌ها را ویرایش کند، عیب‌یابی یا دیباگ (Debug) انجام بدهد و بازی خود را برای پلتفرم‌های مختلف بهینه‌سازی کند.

موتور بازی سازی چیست
گرافیک

موتورهای بازی‌سازی مدرن قدرت گرافیکی خیره‌کننده‌ای دارند و به سهولت فرایند تولید کمک می‌کنند. همانند فرآیند وارد کردن دارایی‌ها از پلتفرم‌های مختلف، اصلا نیازی به صرف وقت زیاد برای ایمپورت کردن (Import) نیست. برای ساخت بیشتر بازی‌ها، موتورهای بازی‌سازی قابلیت‌های رندر با عملکرد بالایی را فراهم می‌کنند. با دسترسی به API گرافیکی سریع می‌توان از نظر بصری بسیار به بازی خود رسید.

 

صدا

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

 

شبکه‌سازی

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

 

فیزیک

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

 

رابط کاربری گرافیکی

بسیاری از بازی‌ها رابط کاربری گرافیکی (Graphical User Interface: GUI) خود را دارند که متناسب با تم (Theme)، آرت استایل (Art Sryle) و روایت (Narration) بازی است. به همین دلیل است که بیشتر موتورهای بازی‌سازی ابزارهایی را برای طراحی رابط کاربری در اختیار توسعه‌دهندگان قرار می‌دهند؛ عناصری مثل دکمه‌ها، منوهای کشویی، اسلایدرها و ترکیبی از عناصر تعاملی مختلف.

 

اسکریپت‌نویسی

یکی از مهم‌ترین قسمت‌های هر موتور بازی سازی اسکریپت‌نویسی (Scripting) در آن است. توسعه‌دهنده، منطق قسمت‌های مختلف بازی را در فایل‌هایی تحت عنوان اسکریپت می‌نویسد. یک امکان که توسط بعضی از موتورهای بازی‌سازی فراهم شده با استفاده از اسکریپت‌های پیش‌ساخته (Pre-build Script)  از اختیار ما قرار می‌گیرد. توسعه‌دهنده به راحتی و بدون درگیر شدن با کدنویسی اضافه می‌تواند دوربین، رفتار بین عناصر، سیستم انیمیشن بازی و موارد دیگر را با استفاده از آن کنترل کند.

معروف‌ترین موتورهای بازی ‌سازی

در این بخش از مقاله قصد داریم به بررسی تعدادی از موتور‌های بازی‌سازی معروف بپردازیم.

 

 
۱٫ Unreal Engine

یکی از پرطرفدارترین و پراستفاده‌ترین موتورهای بازی‌ سازی ساخته شرکت اپیک گیمز (Epic Game) یعنی آنریل انجین (Unreal Engine) است. اولین نسخه از این موتور در سال ۱۹۹۸ عرضه شد و اکنون بعد از گذشت ۱۷ سال بازی‌های بزرگی با این موتور ساخته شده است.

از معروف آثار ساخته شده با آنریل می‌توان به سری Gears of War، Mass Effect، Bioshock و Batman: Arkham اشاره کرد. قدرت آنریل در توانایی آن برای پرداخت کافی یک بازی است تا آن بازی یک تجربه منحصر به فرد به بازیکن ارائه کند.

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

موتور بازی سازی Unreal

قدرت گرافیکی فوق‌العاده آنریل

۲٫ Unity

یکی از محبوب‌ترین موتورهای بازی ‌سازی برای تازه‌کارها یونیتی (Unity) است. یک موتور چند پلتفرمی که به کاربر اجازه می‌دهد به راحتی با محتواهای سه‌بعدی تعامل داشته باشد. به دلیل عملکرد بسیار خوب، قابلیت ساخت محتوای باکیفیت و قابلیت‌هایی که در بسیاری از انواع بازی‌ها می‌توان استفاده کرد، بسیاری از بازی‌سازان مستقل از یونیتی استفاده می‌کنند. معروف‌ترین ساخته‌های بازی‌سازان مستقل با یونیتی می‌توان Inside، Ori and the Blind Forest، Cuphead و Firewatch را نام برد. بازی ایرانی و تحسین شده فرزندان کوه مورتا (Children of Morta) نیز با این موتور ساخته شده است.

مزیت بعدی یونیتی رایگان بودن آن است. شما می‌توانید این موتور را با تمام امکاناتی که برای ساخت بازی برای پلتفرم‌های مختلف نیاز است دانلود کنید. نسخه دیگری نیز تحت نام Professional ارائه شده که یک سری امکانات اضافه‌تری نظیر گزارش‌دهنده کارایی (Performance) بازی، قابلیت شخصی سازی Splash Screen و … را شامل می‌شود.

اگر شما به یک میانبر برای تأمین دارایی‌های بازی خود نیاز دارید فروشگاه دارایی یونیتی (Asset Store) بهترین گزینه است. در این فروشگاه کاربران پکیج‌های ساخته شده خود را با دیگران به صورت رایگان یا پولی به اشتراک می‌گذارند و شما می‌توانید هر چیزی که برای پروژه خود نیاز دارید را در این فروشگاه بیابید.

تایم لاین

ساخت کات‌سین به راحتی در یونیتی انجام می‌شود

۳٫ CryEngine

کرای اینجین (CryEngine) هم از دسته موتورهای رایگان برای استفاده است. بدون پرداخت پولی می‌توان به نسخه کامل این موتور دسترسی پیدا کرد. این موتور توسط شرکت آلمانی کرای‌تک (Crytek) ساخته و قدرت گرافیکی آن اثبات شده است. سری بازی‌های معروف فارکرای (FarCry) و کرایسیس (Crysis) این ادعا را تایید می‌کنند. این موتور برای ساخت بازی روی کامپیوترهای شخصی و کنسول‌های بازی که توان گرافیکی بالایی دارند از بهترین گزینه‌هاست. همچنین کرای انجین از عینک واقعیت مجازی Oculus Rift پشتیبانی می‌کند و برای ساخت بازی‌های VR نیز گزینه مناسبی است.

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

همانند یونیتی، کرای انجین نیز یک فروشگاه برای اشتراک‌گذاری انواع پکیج‌ها و دارایی‌های رایگان و پولی به نام Cryengine Marketplace دارد.

موتور بازی سازی cryengine

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

۴٫ Game Maker

برخلاف موتورهای دیگر محبوبیت گیم‌میکر (Game Maker) به این دلیل است که برای بازی‌سازی با آن نیازی به دانش برنامه‌نویسی نیست. کاربر به جای کدنویسی از سیستم ایونت و اکشن گیم‌میکر استفاده می‌کند که به مراتب از برنامه‌نویسی با زبان‌های مختلف راحت‌تر و سریع‌تر است. به همین دلیل گیم‌میکر نیز گزینه مناسبی برای بازی‌سازان تازه‌کار است. ایراد این سیستم و همین‌طور دیگر موتورهایی که از سیستم مشابهی برای بازی‌سازی استفاده می‌کنند این است که توسعه‌دهنده برای پیاده کردن برخی از مکانیک‌های موردنظر خود با محدودیت روبه‌رو می‌شود. به جز سیستم ایونت و اکشن، گیم‌میکر قابلیت اسکریپت‌نویسی نیز دارد و از زبان مخصوص خود یعنی GML (Game Maker Language) استفاده می‌کند که زبان نسبتا ساده‌ای برای یادگیری است. افراد آشنا با اسکریپت‌نویسی می‌توانند از آن برای بهتر کردن بازی خود استفاده کنند.

بازی‌های Spelunky، Hotline Miami، Super Crate Box و بازی ایرانی مِموراندا همگی با گیم‌میکر ساخته شده‌اند. با نگاهی به عناوین گفته شده متوجه می‌شویم که گیم‌میکر موتور بازی‌های دوبعدی است.

نسخه رایگانی برای گیم‌میکر وجود دارد اما برای استفاده از امکانات بیشتر نیاز به خریداری یکی از نسخه‌های Professional یا Master است.

موتور بازی سازی game maker

Game Maker موتور بازی‌های دوبعدی. (Game Maker Studio 2 جدید نسخه گیم‌میکر)

۵٫ Godot

موتور گودو (Godot Engine) در سال‌های اخیر و به تدریج جای خود را در بین بازی‌سازان پیدا کرده است. این موتور که برای ساخت بازی‌های دوبعدی و سه‌بعدی مناسب است، با فراهم کردن مجموعه بزرگی از ابزارهای رایج برای بازی‌سازی، “نیاز به اختراع مجدد چرخ” را از بین برده است. موتور گودو تحت لایسنس MIT، رایگان و متن‌باز است. بدون نیاز به خرید لایسنس یا حق اشتراک، هرچیزی که در گودو توسعه‌دهید، از جمله توسعه خود موتور، متعلق به خود شماست. در گودو همانند گیم‌میکر یک سیستم Visual Scripting نیز وجود دارد.

وجود یک کامیونیتی که به رفع باگ‌ها و ایرادات و توسعه ویژگی‌های جدید می‌پردازد از دیگر مزایای این موتور است. این بدین معناست که جامعه گودو به خاص‌ترین سوالات شما پاسخ می‌دهد. همچنین این جامعه به دیگر فروم‌ها و گروه‌ها نظیر فروم‌های Reddit، گروه‌های فیسبوک، جامعه استیم و… متصل است.

موتور بازی سازی godot

توان گرافیکی Godot یکی از دلایل محبوبیت اخیر آن

موتورهایی که کمتر شناخته شده‌اند

در ادامه موتورهایی که در بین بازی‌سازان کمتر شناخته شده‌اند را بررسی می‌کنیم.  هر کدام از این موتورها ویژگی‌های خاص خود را دارند که حتی باعث ‌می‌شوند در مواردی به سراغشان برویم.

 

7 پکیج پرکاربرد یونیتی پکیج منیجر
۱٫ Spring Engine

Spring Engine مخصوص استراتژی‌بازها ساخته شده است. این موتور مخصوص ساخت بازی‌های استراتژی و به طور خاص‌تر استراتژی سه‌بعدی است. اگر از فن‌های بازی‌های استراتژی نظیر Age of Empires و Halo Wars هستید و دوست دارید بازی خود را نیز در این سبک بسازید، اسپرینگ انجین بهترین گزینه است. امکانات و ابزارهای فراهم شده در این موتور دقیقا همان چیزی‌هایی است که برای ساخت یک بازی استراتژی نیاز دارید. زبان برنامه‌نویسی این موتور Lua است که برای تازه‌کارها نیز مناسب است.

قدرت این موتور تنها با توان سیستم شما محدود می‌شود و شما برای ساخت بازی خود دچار مشکل نخواهید شد. برای ساخت اسپرینگ انجین از زبان C++، OpenGL و FreeType 2 استفاده شده است. این انجین کاملا رایگان و متن‌باز است.

موتور بازی سازی spring engine

Spring Engine مخصوص هواداران بازی‌های RTS

۲٫ Cocos Creator

یکی دیگر از گیم‌انجین‌های رایگان و متن‌باز Cocos Creator است که تحت لیسانس MIT است. نسخه قدیمی‌تر این موتور به نام Cocos2d همان‌طور که از اسمش پیداست مخصوص ساخت بازی‌های دوبعدی است. اما Cocos Creator قابلیت ساخت بازی به صورت دوبعدی و سه‌بعدی را داراست. با توانایی گرفتن خروجی برای پلتفرم‌های مختلف. برای برنامه‌نویسی در Cocos می‌توان هم از جاوااسکریپت استفاده کرد هم از تایپ اسکریپت. تایپ اسکریپت (Typescript) زبانی ست که توسط مایکروسافت توسعه داده شده و نسخه پیشرفته جاوااسکریپت است. ادیتور جدید Cocos تا حد خیلی زیادی شبیه به ادیتور یونیتی شده و سرعت اجرایی بالایی دارد بدین معنا که یک بازی را در این انجین نسبت به موتورهای دیگر بسیار سریع‌تر می‌توانید به اتمام برسانید.

موتور بازی سازی cocos2d

ویرایشگر جدید Cocos Creator تا حدی شبیه به ویرایشگر یونیتی است

۳٫ Panda 3D

Panda3D نیز از دسته موتورهای رایگان متن‌باز است که شعار سازندگان آن انعطاف‌پذیری است. این ادعا با قابلیت پشتیبانی دارایی‌ها از دیگر موتورهای بازی‌ سازی اثبات می‌شود. چند پلتفرمی بودن نیز از دیگر قابلیت‌های پاندا است.

۴٫ jMonkeyEngine

موتور jMonkeyEngine با جاوا ساخته شده است و به دلیل متن‌باز بودن آن از بهترین گزینه‌ها برای توسعه‌دهندگان اندروید است. با اینکه این موتور تمرکز خود را بر روی جاوا قرار داده است اما برای خروجیiOS  نیز می‌توانید روی آن حساب کنید. اخیرا نیز تیم سازنده از برخی برنامه‌های خود برای واقعیت مجازی رونمایی کرده‌اند.

موتور بازی سازی jMonkeyEngine
۵٫ AppGameKit

اپ گیم کیت (AppGameKit) یکی از همان موتورهای آسان برای یادگیری است. مناسب برای تازه‌کارها و بازی‌سازان مستقل. این موتور تمرکز خود را بر روی سرعت بخشیدن به روند کدنویسی، ساخت بازی و اشتراک‌گذاری آن روی پلتفرم‌های مختلف گذاشته است. این روند سریع تکرار و اشتراک‌گذاری روی پلتفرم‌ها با نگاهی ویژه به بازی‌های موبایلی است اما پلتفرم‌های دیگری نیز پشتیبانی می‌شوند. پلتفرم‌هایی نظیر لینوکس، HTML5، رزبری‌پای، مک، ویندوز و سیستم‌عامل‌های تلفن‌های هوشمند مثل اندروید و iOS. استفاده از اپ گیم کیت رایگان نیست.

موتور بازی سازی AppGameKit
۶٫ Lumberyard

انجینی که توسط شرکت آمازون ساخته شده است. در توصیف این موتور در سایت آمده است “رایگان، قدرتمند، کاملا قابل شخصی‌سازی”. Lumberyard قابلیت یکپارچه‌سازی با شبکه‌های Twitch و AWS (شبکه خدمات اینترنتی آمازون) را دارد. AWS یک پلتفرم ابری امن است که توسط آمازون طراحی شده. یکپارچگی (Integration) این پلتفرم با لامبریارد به این معنی است که ساخت بازی آنلاین با آن راحت است اما باید هزینه استفاده از سرویس AWS را بپردازید. اگر قصد ساخت بازی چندنفره را دارید لامبریارد به همین دلیل گزینه مناسبی است. مجموعه ویدیوهای راهنمای شروع لامبریارد می‌تواند برای ساخت اولین بازی شما با این موتور مفید باشد.

موتور بازی سازی lumberyard

در آینده بیشتر در مورد این موتور خواهیم شنید

۷٫ RPG Maker

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

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

موتور بازی سازی RPG Maker

RPGبازها وقت آن است که RPG خود را بسازید

۸٫ LibGDX

LibGDX یک فریم‌ورک بازی‌سازی مبتنی بر جاوا است که از یک API یکپارچه برای تمام پلتفرم‌های تحت پشتیبانی خود استفاده می‌کند. API مخفف عبارت Application Programming Interface است. داشتن یک تک API این موتور را گزینه مناسبی برای ساخت بازی بر روی‌ چند پلتفرم کرده است.

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

برای شروع یادگیری، فروم‌های LibGDX با تاپیک‌های آموزشی و همچنین راهنمایی با دموها و مثال‌هایی به همراه سورس‌کد آن‌ها گزینه‌های مناسبی هستند.

موتور بازی سازی libGDX
۹٫ Urho3D

Urho3D یک موتور رایگان و کم حجم چند پلتفرمی است با قابلیت ساخت بازی‌های دوبعدی و سه‌بعدی که با C++ ساخته شده و تحت لایسنس MIT قرار دارد. بهترین جا برای شروع کار با این موتور ویکی آن یعنی Urho3D Wiki است. در این ویکی آموزش‌های قدم به قدم برای ساخت اولین پروژه با Urho وجود دارد. جامعه استفاده‌کننده این موتور نیز قابل قبول است و در فروم‌هایی با تاپیک‌های مختلف فعالیت می‌کنند.

شاید Urho زیاد برای تازه‌کاران مناسب نباشد زیرا برای کار با آن و بهبود و گسترش زیرسیستم‌هایی نظیر فیزیک، شبکه‌سازی و انیمیشن، به دانش زبان C++ نیاز است.

موتور بازی سازی Urho3D
در نهایت

موتورهای بازی سازی زیادی وجود دارند که می‌توانند نیازهای شما را برای ساخت بازی تأمین کنند. در نهایت شما هستید که با توجه به معیارهایی مثل سبک بازی، ۲بعدی یا ۳بعدی بودن آن، واقعیت مجازی (Virtual Reality) یا واقعیت افزوده (Augmented Reality)، مخصوص پلتفرم مشخص یا چند پلتفرم بود آن، باید یکی از موتورهای موجود را انتخاب کنید.

 

منبع

https://unity3d.com/what-is-a-game-engine

https://www.gamedesigning.org/career/video-game-engines/

4 دیدگاه برای “موتور بازی سازی چیست؟ معرفی معروف ترین موتورهای بازی سازی

  1. سامان گفته:

    واقعا سایت خوبی دارید ممنون.
    فقط اگه میشه اموزش از موتور های دیگه بجز یونیتی هم بزارید

    • امیر نظری گفته:

      سلام سامان عزیز

      مطلب از انجین ها و مطالب دیگه که حتما می گذاریم تا باهاشون آشنا بشیم اما برای آموزش تمرکز ما فعلا در یونیتی هست و هنوز خیلی مطلب برای گفتن باقی مونده. در این رابطه که چرا تمرکز ما برای آموزش در یونیتی هست پیشنهاد می کنم که سری به مقاله “چرا برای بازی سازی یونیتی را انتخاب می کنیم؟” بزنید.

      ممنون از شما بابت نظر دادن و همراهی کردن.
      موفق باشید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *