پلی استیشن یا ایکس باکس، ماریو یا سونیک، آنریل یا یونیتی؟ چه کنسول بازی باشد، چه کاراکترهای بازی و چه موتور بازی سازی؛ گیمرها و افراد علاقهمند به بازی، برای دفاع از آیتمهای محبوبشان در صنعت بازی اشتیاق نشان میدهند.
یونیتی (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 Technologies | Epic 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 استفاده می کند |