سجاد احمدی نیت
سجاد احمدی نیت
خواندن ۱۴ دقیقه·۳ سال پیش

موتورهای بازی انحصاری

چرا شرکت های بزرگ گیم انجین شخصی میسازند؟
چرا شرکت های بزرگ گیم انجین شخصی میسازند؟

این مطلب قبل تر در اینجا درج شده است .

در این مطلب ، یک تیتر بسیار مهم مطرح میشود :

چرا برخی شرکت ها گیم انجین شخصی دارند

فرآیندهای ساخت و توسعه بازیهای ویدئویی ، معمولا زمانبر و نیاز به ظرافتی بالاست اما در عین حال برای توسعه دهندگان ، بسیار شیرین است .

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

بسیاری از انجین ها تجاری هستند و در عین حال که با انواع Build هایی که به مشتریان خود عرضه میکنند ( در بین این خروجی ها معمولا نسخه های رایگان وجود دارد مانند Personal یونیتی ) ، منحصر به یک شرکت بازیسازی نیستند و عموم به راحتی میتوانند از آنها استفاده کنند . برای مثال میتوان گزینه هایی همچون :

1 - یونیتی Unity

2 - آنریل انجین Unreal Engine

3 - اتودسک استینگری Autodesk Stingray

4 - آمازون لامبریارد Amazon Lumberyard

5 - ( مرحوم ) کرای انجین CryEngine

را نام برد . شرکت های سازنده اینگونه انجین ها ، معمولا یک نسخه را رایگان در اختیار عموم قرار میدهند و نسخه ها و لایسنس های دیگری را همچون :

1 - لایسنس حرفه ای Professional

2 - لایسنس تجاری و شرکتی Enterprise

3 - لایسنس آموزشی و آموزشگاهی Education

4 - لایسنس سفارشی Custom

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

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

1 - گودو Godot

2 - فریز Phrase

3 - سولار 2دی Solar 2D

4 - گیم گورو Game Guru

5 - پاندا 3دی Panda 3D

6 - استارلینگ Starling

و بسیاری از گیم انجین های دیگر اشاره کنیم ( البته گیم گورو رو اصلا بعنوان گیم انجین قبول ندارم ) . برخی از این گیم انجین ها دارای رابطهای گرافیکی هستند و برخی مانند Phrase و Starling یک کتابخانه Library هستند .

نکته : استارلینگ توسط Adobe و استینگری توسط Autodesk برنامه نویسی شده است .

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

آشنایی با گیم انجین های انحصاری
آشنایی با گیم انجین های انحصاری

آشنایی با موتورهای بازیسازی انحصاری

موتورهای بازی اختصاصی یا ( Exclusive Game Engines ) ، ابزارهای توسعه دهندگی بازیهای ویدئویی هستند که صفرتاصد فرآیند آنها توسط ارگانی خاص تولید میشود . یا توسط یک شرکت مهندسی متخصص و آشنا به صنعت گیم کدنویسی میشود و شرکتهای بزرگ آنرا خریداری میکنند .

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

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

اما با برخی انجین های انحصاری کمپانی های بزرگ بازیسازی دنیا آشنا شوید :

آیدی تک ID Tech

ID Tech انجین بازی
ID Tech انجین بازی


آیدی تک از انجین های قدیمی ای است که قدمت بالایی در صنعت گیم دارد . نسخه کوچک شده و متفاوت این گیم انجین در سری تغییرات دوم با نام Quake II Engine در دسترس عموم قرار گرفته بود که میتوانستیم بازیهای شخص اول را با آن تولید کنیم . البته نسخه اول این انجین به Doom Engine هم معروف و بود سری بازیهای DOOM با این گیم انجین ساخته شد . شرکت نرم افزاری آیدی ( id Software ) ، این گیم انجین را 7 بار تغییرات اساسی داد . این گیم انجین را میتوانیم از دسته موتورهایی بدانیم که خروجی موفق و دلخواه خود شرکت را تولید کرده اند .

استودیوهای زیرمجموعه آیدی تک ، با استفاده از این ابزار بازیهای :

Wolfenstein 3D , Commander Keen , Rage , Quake

را به لیست خروجی های این شرکت اضافه کردند .

ریج انجین RAGE Engine

RAGE Engine انجین بازی
RAGE Engine انجین بازی


گیمرهای زیادی با انجین ریج آشنا هستند و با سری بازیهای GTA آشنایی دارند . راکستار Rockstar ، برای تولید این سری و همچنین سری Red Dead و Max Payne از این انجین بهره گرفته است . Rage اختصار Rockstar Advanced Game Engine بمعنای موتور بازی پیشرفته راکستار است .

این گیم انجین در سال 2006 و به قصد ساخت بازیهای شرکت راکستار سن دیه گو تولید شد ( البته باید این را هم گوشزد کرد که یک انجین در یک سال تولید نمیشود و شرکت سازنده از سالهای پیش آن هم درگیر توسعه موتور بازی هستند ) . این گیم انجین در هرسال مورد توسعه همین شرکت قرار میگیرد تا جایی که راکستار قادر به خروجی بر PlayStation 5 را هم دارد .

قابلیت بارزی که در این انجین مشاهده میشود ، Modular Addons هست که اجازه میدهد کاربران امکانات دلخواه خودرا [ بصورت محدود ] به بازی اضافه کنند .

تصاویر زیادی از این گیم انجین منتشر نشده است .

انویل نکست Anvil Next

Anvil Next انجین بازی
Anvil Next انجین بازی


شاید بسیاری در تباهی باشند که فکرکنند سری Assassin's Creed با انجین یونیتی ساخته شده باشد ! شرکت یوبیسافت که سابقه دهه های متوالی حضور در صنعت گیم های موبایلی ، کنسولی و رایانه ای را دارد ، یک انجین اختصاصی را به نام Anvil طراحی کرده است ( انویل Anvil به معنای استخوان سندانی است ) .
این ابزار در سال 2007 توسط Ubisoft Montral با نام Scimitar تولید شد و در سال 2009 به انویل تغییر نام داده شد .
غیر از سری اساسنیز کرید ، نباید بازی شاهزاده ایرانی را هم از یاد برد که از خروجی های بسیار پرطرفدار ubisoft است . البته بنظر میرسد که یوبیسافت قصد ول کردن این گیم انجین را ندارد! چون اکثر بازیهای این شرکت و گیم های اخیر آن با این گیم انجین است .

بازی هایی همچون :

Steep , Hyper Scape , Immortals Fenyx Rising , Tom Clancy's Rainbow Six Extraction , Prince of Persia: The Sands of Time Remake and ...

این انجین هم اکنون به Ubisoft Anvil تغییر نام پیدا کرده است و آنطور که پیداست توانسته هدف خودرا در گیم انجین اختصاصی خود بیابد .

کریستال تولز Crystal Tools

Crystal Tools انجین بازی
Crystal Tools انجین بازی


موتور بازی قدیمی کریستال تولز که توسط شرکت ژاپنی Square Enix توسعه یافته است ، محیطی ساده با GUI قدیمی و با بهره وری از کتابخانه های استاندارد برای ایجاد موتور فیزیک ، رندر و سایر موتورها ، برای ساخت بازی هایی همچون سری Final Fantasy و Dragon Quest و Lighting Returns به کار برده شده است .

این گیم انجین آینده درخشانی داشت که متاسفانه با مشکلات زیادی که در بازی Final Fantasy XIII مشاهده شد ، تصمیم به توسعه بیشتر آن گرفته نشد و چندسال بعد از این ماجرا ، توسط این شرکت به کنار گذاشته شد.

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

استفاده همزمان از layout ها ، و کار با نوارهای ریاضیاتی و تب های مختلف ، از قابلیاتی بود که این انجین را در زمان خود قدرتمند کرد .

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


یخ زده Frostbite

انجین بازی Frostbite
انجین بازی Frostbite


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

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

گیم های معروفی همچون سری FIFA ، Need for speed , MADDEN , Squadrons , Anthem , Battlefront و بسیاری از گیم هایی که توسط شرکت Electronic Arts ساخته شده اند حاصل زحمات بی دریغ در این گیم انجین هستند .

فاکس انجین FOX Engine

انجین بازی Fox Engine
انجین بازی Fox Engine


کوجیما پروداکشنز ( Koujima Productions ) سازنده این گیم انجین است که این استودیو ، مینی استودیوی توسعه دهندگی زیرنظر شرکت کونامی ( Konami ) است که به سری بازیهای Pro Evolation Soccer و Efootball مشهور است و اخیرا روی به بازیهای سبک نقش آفرینی و اکشن هم آورده است .

کونامی بعد از ساخت بازی Metal Gear Solid 4 به فکر تولید یک ابزار حرفه ای برای بازیهای خود افتاد که بتواند منحصرا از آن استفاده کند . از سال 2008 به بعد تولید این انجین آغاز شد و اولین بازی ای که با این انجین به دست عموم رسید ، PES 2014 بود . بازیهای دیگری همچون Metal Gear Survive ، Metal Gear Solid 5 و Metal Gear Phantom Pain از عناوینی بودند که در لیست خروجی های این گیم انجین میتوان یافت . البته این گیم انجین با اینکه قدرت بالایی دارد اما به دلیل ضعف های زیاد ، کونامی نتوانست از این گیم انجین بهره وری زیادی داشته باشد و سپس در اواخر سال 2020 اقدام به توسعه Efootball 2021 با آنریل انجین 5 کرد که البته موفق نشد و خروجی کار بسیار ضعیف تر از آنچه بود که توقع داشتیم .


سورس انجین Source Engine

انجین بازی Source Engine
انجین بازی Source Engine


کمپانی معروف وَلو که آنرا با بازیهای معروفی همچون TF2 و کانتر استریک ( سری Source و CS:GO و 1.6 ) و Portal و Half-Life و همینطور پلتفرم قوی استیم Steam میشناسیم ، دو گیم انجین معروف به نام سورس انجین و گلد سورس انجین ( Gold src ) را برای توسعه بازیهای خود ایجاد کرد . مدیر پروژه توسعه این دو گیم انجین دو مهندس مایکروسافت به نام های گیب نیوئل و مایک هرینگتون هستند که به موسسین شرکت Valve شناخته میشوند بوده اند . از این موتور در ساخت بازیهای CounterStrike ، Left 4 Dead ، Team Fortress و نیمه جان ( Half Life ) استفاده شده است و هنوز هم این شرکت نیم نگاهی به گیم انجین خودساخته خویش برای توسعه بازیهای خود دارد ! کماکان میبینیم که در سورس کدهای این چندبازی معروف اشتراکات بسیاری وجود دارد و در بسیاری مواقع منابع سرورهای گیم آنها یکسان است !

این گیم انجین توسط زبان قدرتمند ++C ایجاد شده است . شنیده میشد که این گیم انجین چندباری توسط خود ولو منتشر شده است و این ادعا تا حدودی درست بود ! ( من توانسته بودم نسخه 2011 آنرا امتحان کنم )

موتور خالق Creation Engine

انجین بازی Creation Engine
انجین بازی Creation Engine


فالوت 4 ( fallout 4 ) که معروفترین گیم شرکت بتزدا سافت ورکز میباشد ، مثال مناسبی است که قدرت این انجین را اثبات کنیم .

این انجین توسط Bethesda Game Studios ( همان سازنده فالوت 4 ) در سال 2014 منتشر شد که این شرکت اعلام کرد پایه ( base ) این انجین همان Gameybro است که تخصص بالایی در تولید بازیهای سه بعدی نقش آفرینی دارد .

بیشترین قابلیتهایی که توانست فال اوت 4 را به کیفیت خوبی برساند ، رندر ریلتایم گرافیکی قوی و ابزار ایجاد انیمیشن های واقع گرایانه بود که از ویژگی های برتر این گیم انجین به حساب می آید . خروجی های این گیم انجین معمولا Open world و جهان باز هستند و یکی از قابلیتهای هدف این انجین ، همین است .

چرا ساخت گیم انجین؟

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

همه ما میدانیم که فرآیند ساخت game engine بسیار هزینه بر و نیازمند زمانی بالا و افرادی متخصص است . افرادی که به زبانهای برنامه نویسی قدرتمندی همچون ++C و java آشنایی داشته و تسلط خوبی به OpenGL و فریمورک ها و کیت های توسعه دهندگی گوناگون و همچنین کتابخانه هایی همچون physx و NVIDIA باشند و ... تخصص های بسیاری که هماهنگی آنها کار یک شرکت ساده نیست .

با این شرایط ، میبینیم که برخی شرکت ها دست به ساخت موتور بازی انحصاری میزنند . آیا این کار درست است؟ این کار به چه منظوری صورت میگیرد؟

دلایلی که مطرح میشود صرفا یک ادله ساده ست و میتوان برای هرکدام نقیض یا استثناء آورد :

✔️ تسلط بالاتر : تسلط به گیم انجینی که توسط نیروهای خود شرکت تولید شده است بسیار بالاتر است . قدرت یادگیری نیروهای شرکت با اینگونه انجین ها بالاتر است و میتوان کمی راحت تر از مشکلات گیم انجین سردر آورد ( که البته سرعت فهم آن تاحدی پایین است و گاهی باعث ایجاد صحنه هایی مانند نوشدارو بعد از مرگ سهراب )

✔️ سرعت بیشتر : تسلط بالاتر میتواند باعث سرعت بیشتر هم شود! سرعت در روند توسعه بازی ...

✔️ عضو گیری : برخی شرکت ها گیم انجین اختصاصی خودرا بصورت رایگان به نیروها آموزش میدهند و این افراد زیرمجموعه این شرکت میشوند و بعنوان گروه تحت نظر این شرکت و یا یک نیروی انسانی عادی به فعالیت خود ادامه میدهند .

✔️ امکان شخصی سازی بیشتر و دلخواه : برنامه نویس دم دست و کاملا هم آشنا! تغییراتی که نیاز است انجام شود با سرعتی بالاتر صورت میگیرد . اگر اشکالی در روند ساخت بازی بود میتوان از همان توسعه دهندگان هم کمک گرفت! در کل میتوان گفت ساخت انجین شخصی ، باعث میشود که امکانات موردنظر آن شرکت برحسب نوع استفاده و خروجی کار ، در انجین قرارداده شود .

✔️ امکان درآمدزایی از طریق فروش مجوز : معدود مواردی است که انجین ها از حالت صددرصد اختصاصی خارج شده و به حالت نیمه انحصاری در می آیند . مانند انجین اتودسک استینگری که به شرکت های معماری و توسعه بازیهای VR فروخته میشود ( که البته ما با crack از بار پرداخت هزینه شانه خالی میکنیم : )

و بسیاری از دلایلی دیگر . این چند دلیل دلایل اصلی ای بودند که میتوان برای ساخت یک گیم انجین مطرح کرد .

نتیجه

گیم انجین های قدرتمندی همچون یونیتی و آنریل و سایر انجین های کراس پلتفرم ، مسیر بازیسازی را نه تنها برای عام ، بلکه برای شرکت های حرفه ای دنیا هموار کرده اند و شرکت های مطرح دنیا همچون Ketchapp از گیم انجین هایی همچون unity و gdevelop برای ساخت بازی بهره میبرند . تنها با خریدن یک لایسنس و مجوز شرکتی ( یونیتی ) ! شرکت هایی مثل یوبیسافت و کونامی و راکستار ، با گیم انجین انحصاری خود سعی دارند تا قدرت خود را به نمایش بگذارند و صدالبته گاهی با شکست یا خطاهای وحشتناک مواجه شدند ! در کل انجین هایی که بیشتر در معرض عام و توسعه دهندگان غیرمحلی قرارداده شده است ، با گزارش های قویتری مواجه است و برای همین میتوان از میزان خطاها و باگ های خود انجین و خروجی آن مطلع شد . مانند گودو که میبینیم میزان باگ های آن نسبت به سایر انجین های دیگر بسیار کمتر است زیرا فضای همگانی ای برای توسعه بازی و تغییرات در انجین فراهم گشته است .

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

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

امیدوارم که از این مقاله لذت برده باشید . میتوانید برای مقاله های بیشتر به سایت گیم دلوپا و کانال تلگرامی بنده هم سر بزنید . منتظر نظرات خوبتون هستم دوستان و امیدوارم که موفق و موید باشید ?☕️ .

برنامه نویس و توسعه دهنده بازی های رایانه ای
شاید از این پست‌ها خوشتان بیاید