Logo for Parsclick
توجه: سایت برای مدت چند روز از تاریخ ۱۸ نوامبر از کار خواهد افتاد...

مقایسه ای بین آنریل انجین (۴)، کرای انجین (۳) و یونیتی (۵)

  میلاد جعفری میلاد جعفری
  January 6, 2016 at 4:10 PM
  ۱۶ دی، ۱۳۹۴ ساعت ۱۶:۱۰

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


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

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

کوچک،بزرگ،آسان


موتور بازی سازی یونیتی مجموعه گسترده‌ای از ویژگی‌ها را به همراه یک واسط قابل فهم و بسیار ساده عرضه می‌کند. مزیت اصلی این موتور Cross Platform بودن آن است، به این معنی که می‌توان بازی‌های ساخته شده با یونیتی را به سادگی بر روی آندروید، iOS، ویندوز فون ۸ و بلک بری پورت کرد. همچنین این موتور قابلیت توسعه بازی برای کنسول های پلی استیشن، ایکس باکس، Wii U و همچنین مرورگرها را دارد. یونیتی از جامعه استفاده کنندگان بزرگی بهره می برد. این گیم انجین Assetهای بسیاری از برنامه‌های سه بعدی مانند 3ds Max، Maya، Softimage، Cinema4D و Blender را پشتیبانی می‌کند، به این معنی که هیچ محدودیتی در نوع فرمت اشیا و مدل‌های بازی وجود ندارد. با عرضه یونیتی نسخه ۴.۳ که دارای قابلیت Native 2D برای پشتیبانی از اسپریت‌ها و فیزیک دو بعدی است، یونیتی به یک موتور بازی عالی برای توسعه بازی‌های دو بعدی تبدیل شد.و همچنین پک های آماده ی این موتور بازی سازی برای گروه های کوچک بسیار مفید است.در ساخت کارکترر و دادن صفت های مختلف به کارکتر دست سازندگان بازی کاملا باز است این در حالی است که برای ایجاد تغییرات در محیط شما با موانعی روبه رو می شوید،برای کار بر روی محیط باید از نرم افزار های سه بعدی کمک بگیرید.البته در نسخه ۵ این موتور بازی سازی امکانات بی نظیری اضافه شده که می توان به:

  • اضافه شدن قابلیت WEB GL برای هماهنگی با بازی های آنلاین
  • اضافه شدن امکان Physically Based Sharing برای حرکات فیزیکی
  • اضافه شدن تنظیمات صدای جدید برای تفیک بهتر محیط بازی
  • بهینه سازی موتور ۲ بعدی
  • قابلیت Physically Based Sharing برای موشن کپچر

همچنین در نسخه ۵ این موتور از ۵ زبان برنامه نویسی پشتیبانی می شود،این زبان ها عبارتند از Boo ، Java و #C می باشند . قابلیت دیگر و بسیار مهم خروجی های مختلفی است که می توانید از نرم افزار یونیتی دریافت نمایید از جمله خروجی های کنسول های بازی مثل پلی استیشن و ایکس باکس و یا دیوایس های موبایل مثل اندروید ، آی او اس و ویندوز موبایل . در نسخه ۵ این موتور قدرتمند امکانات بسیاری افزوده شده و می توان گفت رشد بسیاری در اکثر قسمت ها داشته است .
بخش گرافیک برای سازندگان گیم انجین یونیتی همیشه از جایگاه ویژه ای برخوردار بوده و در این نسخه نیز شاهد پیشرفت های چشمگیری در این بخش خواهیم بود. امکان پردازش GI بصورت ریل تایم در نورپردازی یکی از بخش هایی بود که کمبودش در گیم انجین یونیتی بشدت احساس میشد و حالا با ادغام تکنولوژی Geomerics Enlighten در این نسخه شاهد افزوده شدن Global Illumination بصورت Real Time در یونیتی ۵ خواهیم بود که این امر باعث بهبود گرافیک بازیهای ساخته شده با این گیم انجین خواهد شد. از تکنولوژی Geomerics Enlighten تاکنون در بسیاری از بازی ها بزرگ استفاده کرده اند.

زیبا، بزرگ، پیشگام


موتور بازی سازی کرای انجین ۳ در اواسط عمر کنسول های نسل هفتم وارد بازار شد.ورود این موتور بازی سازی همزمان با انتشار بازی کرایسیس بود.انتشار این موتور یک تغییر بزرگ در گرافیک بازی ها به وجود آورد به عقیده بسیاری از بازی بازان بازی کرایسیس از نظر گرافیکی نقطه ی عطفی در بازی های بود. موتور کرای انجین رندر فراهم می کند پشتیبانی بدون درز را برای هر ۲ سیستم عامل های قابل استفاده در محیطهای خارجی و داخلی و چند هسته ای و فن آوری های آینده فعلی فراهم می کند آماده است. موتور کرای انجین یکی از سریعترین، high-end رندر در جهان است، با ویژگی های جدید به طور خاص برای سیستم عامل کنسول طراحی شده است. تعیین معیار عملکرد گرافیکی، از قبیل خلق تصاویر واقی در محیط های قابل استفاده در محیط داخلی و فضای باز و گسترده ای باز جلوه های ویژه فوق العاده در زمان واقعی برخی از نشانه های تکنولوژی موتور کرای انجین می باشد.موتور کرای انجین سیستم در حال ویرایش ساده بصری به طراحان رابط بصری برای ایجاد و کنترل رویدادها بازی رو فراهم کرده است. این اجازه می دهد تا طراحان برای ساخت سطوح پیچیده بدون نیاز به نوشتن یک اسکریپت ساده نمودار خود را طراحی کنند. موتور کرای انجین قادر می باشد پوشش رفتار گیاهی با توجه به قوانین طبیعی در مورد دلایل مطلوب و مجاز شیب، ارتفاع سطح و تراکم بوته مجاز، در زمان اجرا برای شما فراهم آورد. ابزار قرار دادن پوشش گیاهی به طور خودکار واقع گرایانه است، سیستم ایجاد محیط های طبیعی در کسری از زمان های قرار می گیرد، و باعث اعطای آزادی به سمت عناصر فردی نگاه برای رسیدن به ایده آل می باشد.

سیستم ذرات نرم و مجتمع ویرایشگر FX در زمان واقعی:


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

پشتیبانی چند هسته ای:


موتور کرای انجین برای به دست آوردن بیشتر معماری پردازنده های چند هسته ای مدرن، CPU از زیر سیستم های فشرده مانند گرافیک، فیزیک، هوش مصنوعی، شبکه های صدا و بهینه سازی شده اند برای پشتیبانی از پردازنده های چند گانه می باشد.

روشنایی طبیعی, پویا و سایه های نرم:


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

نقشه های طبیعی و پارالاکس اکلوژن نقشه:


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

سیستم AI پیشرفته ماژولار:


در واقع رندر و انیمیشن از شخصیت های دولتی از سیستم AI هنری به واکنش هوشمندانه به محیط بازی و حفظ این توهم رئالیسم (واقع گرایانه) می باشد. موتور کرای انجین ویژگی های قدرتمند، مقیاس پذیر و قابل انعطاف فن آوری AI که مسئولیت رسیدگی به رفتارهای شخصیت با سیستم های ماژولار حسی (مانند بینایی و شنوایی) و به طور کامل پشتیبانی می کند و از نیازهای پیچیده ای سیستم نقل و انتقال شخصیت را تحتپوشش دارد. AI در هماهنگی موتور کرای انجین بدون نیاز به میان اضافی و به طور کامل برای بازی خود را در درون موتور CryENGINE 3 Sandbox یکپارچه، با قابلیت های WYSIWYP بر روی تمام سیستم عامل قابل پشتیبانی می باشد.

عوارض طبیعی جهان


موتور کرای انجین ویژگی طبیعی, به دنبال محیط های در دسترس در زمان واقعی اضافه کردن روشنایی طبیعی به افزایش مقیاس بزرگ موجود ما تضمینی برای جهان طبیعی است.
با استفاده از این موتور شما می توانید به راحتی یک محیط sandbox بسازید.کار با محیط در این موتور بازی سازی راحتر از آن چیزی است که فکرش را می کنید.درواقع شما با استفاده از سیستم flowgraph موجود در این موتور نیاز چندانی به برنامه نویسی های پیچیده برای خلق یک بازی متوسط ندارید ،کاربرد flowgraph همانند کلاس آماده برنامه نویسی می باشد و شما فقط نیاز به تغییر برخی متغییر ها دارید و با اتصال این flowgraph به یکدیگر توانایی دادن صفحت به کارکتر ها و یا محیط را دارا خواهید بود.کرای انجین توانایی خروجی دادن به کنسول ها و رایانه ی شخصی را دارد.زبان برنامه نویسی استفاده شده در این انجین LUA scripts می باشد.
با سیاست های که در طی چند سال گذشته از سوی شرکت کرایتک اخذ شده و ارائه رایگان SDK این موتور و برگزای مسابقات رندرگیری از صحنه ها و حمایت از بازی های مستقل و کیک استار آینده خوبی برای این موتور به شرط نوآوری های بیشتر می توان متصور بود.مهم ترین گلایه ی کاربرن این موتور بهینه نبودن SDK این موتور می باشد(بازی های ساخته شده توسط SDK قدرت پردازشی زیادی را از سیستم می گیرند).البته در طول یک سال اخیر این مشکل هم در حال بهبود می باشد.

یکتا، بهینه، قدرتمند


نسخه ی سوم آنریل انجین انقلاب گسترده ای در بازی های ایجاد کرد به خصوص این که این موتور از نظر گرافیکی بازی های کنسولی(نسل هفتم) به رایانه های شخصی نزدیکتر کرد.
با عرضه نسخه ی چهارم موتور بازی سازی آنریل انجین ،باز هم شاهد نوآوری های از سوی شرکت Epic بودیم.از جمله این نوآوری ها ایجاد بخش Blueprints در هسته موتور می باشد.با استفاده از این قابلیت بازی ساز می تواند ویژگی ها و صفات خاصی را به محیط و یا کارکتر اعمال کند،همانند flowgraph با این تفاوت که در Blueprints حجم وسیعی از اطلاعات و همچنین ترکیبی از محیط برنامه نویسی و Blueprints را می توان داشت.امکان استفاده از پارتیکلها که توسط GPU مدیریت میشوند؛ GPU ها بعلت داشتن هسته هایی با تعداد بالا بسیار بهتر و سریعتر پارتیکلها را مدیریت میکنند و این امکان میدهند که شما پارتیکلهایی با تعداد فوق العاده زیاد در صحنه ایجاد کنید !
یکی دیگر از امکانات عالی آنریل مالتی پلتفرم بودن هست که شما بسادگی میتوانید پروژه را برای پلتفرم های مختلف پکیج کنید و بسازید. البته در خیلی از موتورهای دیگر هم این امکان هست ولی در آنریل بسیار و بسیار ساده و عالی این امکان فراهم شده.
اگر شما با توسعه بازی آشنا باشید یکی از سخت ترین قسمتها بحث کدنویسی های سنگین و پیچیده میباشد؛ بنظر شخصی یکی از عوامل عدم جذب شدن اکثر اهالی سی جی به توسعه گیم همین قسمت سنگین و سخت است اما آنریل انجین برای این قسمت هم نسخه ای کارا نوشته؛ بلوپرینت ! شما در بلوپرینت حتی یک خط کد نمی نویسید؛ فقط بصورت گراف ارتباط ها را برقرار میکنید و از API های آنریل به سهولت استفاده میکنید و به خود میبالید ! توصیه اکید من به کسانی که قصد بازیساز شدن را دارند آنریل هست و دلیلش هم دقیقا همین قسمت ! اما اگر شما نیاز به توسعه بیشتر هم داشتید بسادگی میتونید از توسعه به زبان C++ در آنریل استفاده کنید و حتی بین این 2 قسمت ارتباط ایجاد کنید. یکی از تفییرات قابل توجه درون زبان اسکریپ نویسی برای UE4 می باشد. همانطور که احتمالا شما اطلاع دارید، Unreal engine همیشه با فعال شدن UnrealScript اجرا می شده است. ولی هم اکنون UnrealScript بطور کامل با زبان برنامه نویسی ++C جایگزین شده است و قسمت سرنوشت ساز Kismet هم اکنون با سیستم طرح بصری intuitive Blueprint system بیشتری جایگزین شده است.

این هم نمونه ای از کد ساده Hello world! در موتور آنریل انجین ۴:

// Single-line comment
class Foo extends Object;
/* Multi-line
comment */
var Object Foo;
....................
class HelloWorld extends GameInfo;
event InitGame( string Options, out string Error ) {
`log( "Hello, world!" );
}

زبان پایه موتور اپیک مبتنی بر رابط C++ و C# است و از زبان های سایه زنی بسیار قدرتمندی همچون UnrealScript, GLSL و HLSL هم پشتیبانی میکند. به علاوه اینکه تمامی دستورات کودا CUDA به صورت کامل در این موتور پشتیبانی میشوند. کودا CUDA پردازش موازی دستورات به صورت همزمان بر روی چند پردازنده به منظور دستیابی به سرعت بیشتر است که در کنسول های بازی بسیار رایج است و استفاده گسترده ای دارد.کودا CUDA مخفف عبارت انگلیسی Compute Unified Device Architecture و یک مدل برنامه نویسی بسیار پیشرفته ای است که توسط انویدیا به وجود آمده و فقط در کارت های همین کمپانی پشتیبانی میشود. کودا به توسعه‌دهندگان امکان دسترسی مستقیم به حافظه و مجموعه دستورالعمل در واحد پردازش گرافیکی را می‌دهد.
آنریل انجین به یک موتور بازی سازی بهینه می باشد.کار با آنریل انجین ۴ هم آسان است و هم دشوار بستگی ه خودتان دارد که چه راهی را انتخاب می کنید.خلق محیط و کار با آن به سادگی کرای انجین نیست اما با امکانات بی نظیری که در اخیار شما قرار می دهد می توانید تصورات خود را با کمی صبر به صورت دقیق پیاده سازی کنید.گردش روز و شب و همچنین نحوه ی نورپردازی به صورت خودکار در این موتور وجود دارد.البته بازی ساز می تواند خود کنترل نور پردازی را در دست بگیرد.
موتور بازی سازی آنریل انجین به طور کامل رایگان بوده و همچنین مانند موتور بازی سازی یونیتی این موتور هم دارای پک های کمک کننده می باشد.

اما مقایسه بین این سه موتور بازی سازی تا حدود زیادی دشوار است البته بنا به درخواست هر فرد و نیاز های او می توان یکی از این سه موتور را به او توصیه کرد.
اما مهم ترین گام برای ساخت یک بازی آشنایی با زبان های برنامه نویسی مورد پشتیبانی موتوربازی سازی مورد نظر می باشد و دومین گام ایجاد گروه برای تقسیم کار و تخصصی تر شدن وظایف است.
و در نهایت انتخاب موتور بنا به نیاز می باشد.برای مثال اگر گروه کوچکی دارید (یا تنها) قصد ساخت بازی بر روی دستگاه های همراه را دارید موتور بازی سازی یونیتی می تواند انتخاب مناسبی باشد.دقت کنید که این موتور با وجود پک بازی سازی کمک بزرگی در صرفه جویی در وقت و هزینه شما خواهد کرد.
در حالی که برای ساخت یک بازی بزرگ AAA موتور بازی سازی آنریل ۴ هم از نظر فنی و هم از نظر اقتصادی انتخاب بسیار مناسبی می باشد.