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

یونیتی (unity) و آنریل (unreal یا UE4) دو مورد از معروف‌ترین موتورهای بازی سازی در بازار امروزه هستند. آنها برای اکثر توسعه دهندگان مستقل ابزارهای پیشرو هستند. در حالی که بسیاری از استودیوهای ساخت بازی، از موتور بازی سازی اختصاصی خودشان استفاده می‌کنند، بعضی از آنها هم از یونیتی یا آنریل استفاده می‌کنند.

بنابراین کدام موتور بازی سازی بهتر است؟ جواب این سوال نتیجه تحقیق از حدود 500هزار طراح و توسعه دهنده در طی 5 سال اخیر است.

موتور بازی سازی یونیتی یا آنریل: تاریخچه

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

انجین آنریل (Unreal Engine) توسط “تیم سوئینی”، بنیانگذار Epic Games در سال 1998 توسعه یافت. این موتور بازی سازی به بازیکنان اجازه می‌داد برای اولین بار بازی را اصلاح کنند. امروزه Unreal با “گرافیک بهتری” همراه است و یک استودیوی بزرگ با کیفیت بسیار بالا را به بازی‌هایی که از آن استفاده می‌کنند، ارائه می‌دهد.

اپیک گیمز، شرکت سازنده Unreal Engine، با بازی Fortnite که 200 میلیون کاربر دارد و تا ژانویه 2019 درآمدی بالغ بر 1 میلیارد دلار داشته، موفقیت‌های زیادی کسب کرده است. خود Unreal Engine هفت میلیون کاربر دارد.

یونیتی در سال 2004 در کپنهاگ ایجاد شد و توسعه‌دهندگان آن می‌خواستند که دسترسی به توسعه بازی را در سرتاسر جهان فراهم کنند. امروزه یونیتی به موتور بازی سازی‌ای معروف شده که هر نوع بازی‌ را می‌تواند بسازد و برای توسعه دهندگان مستقل بسیار ایده‌آل است. بیش از 50% بازی‌ها در تمام پلتفرم‌ها از یونیتی استقاده می‌کنند و 60 درصد از کل محتوای VR/AR توسط Unity پشتیبانی می‌شود.

با این حال، در واقعیت، هر دو موتور بازی سازی قادر به ساخت تقریباً هر نوع بازی و استقرار آن بازی در اکثر پلتفرم‌های بازی هستند.

اما این به تصمیم‌گیری شما کمکی نمی‌کند، درست است؟ برای پاسخ به اینکه کدام یک از این موتورهای بازی برای شما بهتر است، ابتدا باید به این پنج سوال پاسخ دهید:

  • چقدر تجربه ساخت بازی دارید؟
  • کجا می‌خواهید بازی‌های خود را منتشر کنید؟
  • چه نوع بازی را می‌خواهید منتشر کنید؟
  • آیا این یک سرگرمی‌ست یا به دنبال کسب درآمد هستید؟
  • آیا برای استخدام در یک استودیو بازی مهارت دارید؟

چقدر تجربه ساخت و توسعه بازی دارید؟

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

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

پس از اینکه یک دوره کوتاه آموزش یونیتی گذراندید، دور از ذهن نیست که بگوییم می‌توانید اولین بازی ساده خود را ساخته و با دوستانتان به اشتراک بگذارید.

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

برای یک مبتدی کامل، Unreal Engine مثل یک آش شله قلمکار است. دو روش وجود دارد که بتوانید بازی‌های خود را در Unreal برنامه‌نویسی کنید، یا با Blueprint Visual Scripting یا ++C.

اگر با برنامه نویسی آشنایی ندارید، Blueprint Visual Scripting  به شما کمک می‌کند تا راحت‌تر و سریع‌تر کار کنید (و بازی‌هایتان را کامل کنید). با این حال، اگر می‌خواهید تمام قدرت Unreal  را کشف کنید، باید ++C را یاد بگیرید، که یادگیری آن برای بسیاری از افراد دشوارتر از زبان برنامه‌نویسی #C است که توسط Unity استفاده می‌شود.

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

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

نکته کلیدی: طراحی بصری و استفاده از سی شارپ، Unity را برای مبتدیان ایده‌آل می‌کند.

بازی‌های خود را کجا می‌خواهید منتشر کنید؟

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

همپیوندی پلتفرم یونیتی:   iOS, Android, Windows Phone 8, Tizen, Android TV, Samsung SMART TV, Xbox One & 360, Windows PC, Mac OS X, Linux, Web Player, WebGL, HoloLens, SteamOS, PS4, Playstation Vita,  و  Wii U

همپیوندی پلتفرم آنریل: iOS, Android, VR, Linux, Windows PC, Mac OS X, SteamOS, HTML5, Xbox One, and PS4

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

اگر به دنبال دستگاه‌های سطح بالا هستید – مانند Xbox One – پس هر دو موتور Unity و Unreal  کار خواهند کرد.

نکته کلیدی: یونیتی پیوند بین پلتفرمی بیشتری را ارائه می‌دهد.

 چه نوع بازی را می‌خواهید منتشر کنید؟

هم Unreal و هم Unity از ساخت بازی‌های رندر شده دو بعدی و کاملاً سه بعدی پشتیبانی می‌کنند. اینجاست که باید در نظر بگیرید که کدام فرمت ارزش زمان و هزینه‌ای که به عنوان یک توسعه دهنده صرف می‌شود دارد.

اگر محتوای دوبعدی می‌سازید، Unity برای شما مناسب است. زیرا رابط کاربری ساده‌تر و ابزارهای دوبعدی توسعه‌یافته‌تری دارد. Unreal را می‌توان برای توسعه بازی‌های دو بعدی استفاده کرد، اما Epic Games به اندازه Unity این ویژگی را در اولویت قرار نمی‌دهد.

اگر در حال ساخت یک بازی تیراندازی اول شخص اکشن سنتی هستید، Unreal Engine را انتخاب کنید. این نوع بازی‌ها همان چیزی هستند که موتور آنریل برای آن ساخته شده است – به عنوان مثال، مسابقات Unreal Borderlands و Fortnite.

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

شایان ذکر است که Unreal به ساختار بازی خود بیشتر از Unity توجه دارد. به طور پیش فرض، توسعه دهندگان از چارچوب گیم پلی Unreal Engine برای ساختار بازی‌ها استفاده می‌کنند.

نکته کلیدی: اگر هدف نهایی شما یک بازی با گرافیک چشمگیر است، Unreal Engine را انتخاب کنید.

آیا این یک سرگرمی است یا به دنبال کسب درآمد هستید؟

هر دو موتور Unreal و Unity رایگان هستند. با این حال، زمانی که شروع به کسب درآمد از بازی کنید، برخی شرایط اعمال می‌شود.

یونیتی در سه طرح – Personal، Plus و Pro در دسترس است:

  • استفاده از طرح Personal رایگان است و توسعه دهندگان می‌توانند از طریق این طرح تا 100,000 دلار در سال درآمد کسب کنند. یکی از ملزومات این استفاده رایگان شامل صفحه نمایش «Made in Unity» در بازی است.
  • طرح Plus با اشتراک یک ساله ماهانه 40 دلار هزینه دارد. توسعه دهندگان می‌توانند تا 200,000 دلار در سال درآمد داشته باشند و همچنین از مزایای اضافی مانند سفارشی سازی صفحه نمایش اسپلش و ادغام با ابزارهای همکاری بهره‌مند شوند.
  • برنامه‌های طرح pro صد و پنجاه دلار در ماه است و محدودیت درآمد سالانه ندارند.

Unreal به توسعه دهندگان اجازه می‌دهد از موتور کامل – با تمام ویژگی های آن – به صورت رایگان استفاده کنند. اگر تصمیم به کسب درآمد از بازی خود دارید، در صورت افزایش بیش از 3000 دلار در هر بازی، به ازای هر سه ماهه تقویم، 5٪ از درآمد به Unreal پرداخت می‌شود.

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

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


اگر در حال یادگیری Unreal یا Unity هستید تا به هدف شغلی خود یعنی کار به عنوان توسعه‌دهنده بازی در یک استودیوی بازی‌سازی برسید، با بررسی موتور و زبان‌های برنامه‌نویسی استودیوهای مورد علاقه‌تان شروع کنید. بسیاری از استودیوها از موتور بازی سازی اختصاصی خود استفاده می‌کنند. در این مورد، زبان مهمترین عامل برای مسیر شغلی شما است. بسیاری از استودیوها به دانش ++C اهمیت می‌دهند، بنابراین یادگیری Unreal و ++C می‌تواند به شما مزیتی بدهد.

Unity و Unreal Engine: تفاوت اصلی

تفاوت اصلی Unity و Unreal در زبان برنامه نویسی است که به صورت بومی استفاده می‌کنند. Unreal Engine از ++C استفاده می‌کند، اما زمانی که بازی خود را با آن می‌سازید، از یکی از زبان‌های اختصاصی Unreal به نام Blueprint به همراه ++C نیز استفاده خواهید کرد. یونیتی هم برای ویرایشگر اصلی یونیتی و هم برای هر پلاگینی از سی شارپ استفاده می‌کند. همچنین از زبان‌های اختصاصی خود، Prefab و Bolt استفاده می‌کند.

Unity و Unreal Engine: خلاصه

امیدواریم به شما کمک کرده باشیم تا تصمیم بگیرید کدام یک از این موتورهای بازی برای پروژه شما بهترین کارایی را دارند. در اینجا جدولی وجود دارد که تفاوت‌ها را با جزئیات شرح می‌دهد:

مقایسهیونیتیآنریل
توسعه دهندهUnity TechnologiesEpic Games
مخاطب هدفبیشتر توسعه دهندگان مستقل و سرگرمیتوسعه دهندگان بازی AAA و همچنین توسعه دهندگان مستقل
راحتی استفادهیونیتی دارای ویژگی هایی است که استفاده از آن را آسان می کندUnreal Engine منحنی یادگیری تندتری دارد
اپن سورسیونیتی منبع باز نیست  Unreal منبع باز است  
قیمتنسخه اصلی رایگان است، اما مجوزهای تجاری قیمت دارند  Unreal رایگان است، اما توسعه دهندگان بازی های تجاری باید درصدی از فروش را به Unreal بپردازند  
عملکردبه خوبی موتور Unreal مقیاس نمی شود  از اجرای توزیع شده برای عملکرد بیشتر پشتیبانی می کند  
پشتیبانی سه بعدییونیتی از سه بعدی پشتیبانی می کند  Unreal از سه بعدی پشتیبانی می کند  
پشتیبانی دو بعدیUnity از 2D پشتیبانی می کند  Unreal از دو بعدی محدود پشتیبانی می کند  
پشتیبانی زبانC#, Prefab, Bolt  C++, Blueprint
پشتیبانی هوش مصنوعیپشتیبانی Ai محدود  پشتیبانی پیشرفته هوش مصنوعی
پشتیبانی VRویژگی های بسیاری برای VR  ویژگی های VR داخلی محدود  
پشتیبانی ARبسیاری از ویژگی های AR  ویژگی‌های AR داخلی محدود  
پشتیبانی چندنفرهپشتیبانی یکپارچه چند نفره در حال توسعه است و افزونه های شخص ثالث در دسترس هستند  دارای پشتیبانی چند نفره یکپارچه  
پشتیبانی موبایلدارای ویژگی های قدرتمند موبایل  نه به اندازه یونیتی  
قابلیت‌های گرافیکیگرافیک مناسب، اگرچه نه به خوبی Unreal، با رندر مبتنی بر فیزیکی، روشنایی سراسری، پردازش پس از پردازش و نورهای حجمی اختیاری از طریق یک افزونه  گرافیک پیشرفته با رندر مبتنی بر فیزیکی، روشنایی جهانی، نورهای حجمی، پس پردازش و ویرایشگر مواد  
همپیوندی پلتفرم‎Windows، MAC، Linux، Android، iOS، PlayStation، Xbox و Nintendo Switch  Windows,  MAC, Linux, Android, iOS, PlayStation, Xbox, Nintendo Switch, and Google Stadia
جوایز برای توسعه دهندگانThe Unity Awards  
The Rookie Awards  
بازی‌های معروفCuphead, Pillars of Eternity, Fe  Fortnite, Street Fighter 5, Borderlands 3
انجمن‌های ردیت294k عضو162k  عضو

UNITY را انتخاب کنید اگر:  UNREAL را انتخاب کنید اگر:  
– در زمینه کدنویسی تازه کار هستید – آماده چالش هستید
– ساخت بازی موبایل دو بعدی  – ساخت تیراندازی اول شخص  
– به دنبال انتشار در بسیاری از سیستم عامل ها  – تصاویر با کیفیت بالا برایتان مهم است
– به دنبال یک کار در توسعه بازی هستید، یا یک استودیویی که از Unity استفاده می کند  – به دنبال یک کار در توسعه بازی هستید، و یا یک استودیویی که از C یا Unreal استفاده می کند  

از همین نویسنده: