vanilla chromosome
vanilla chromosome
خواندن ۱۳ دقیقه·۱ سال پیش

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

اگر گیمر حرفه‌ای باشید یا حتی فقط گاهی اوقات اخبار مربوط‌به دنیای بازی‌های ویدیویی را دنبال می‌کنید، مطمئناً بارها با عبارت «موتور بازی» روبه‌رو شده‌اید. اگر بخواهیم این مفهوم را به ساده‌ترین شکل ممکن توضیح دهیم، کافی است به همان کلمه موتور اشاره کنیم؛ چیزی که قلب تپنده انواع و اقسام وسایل (از ماشین تا یخچال) محسوب می‌شود و در صنعت بازی نیز به همین میزان اهمیت دارد. یعنی یک بازی ویدیویی به‌طور کامل به موتور خود وابسته است و موتور مناسب می‌تواند نه‌تنها باعث خلق جلوه‌های بصری زیبا شود، بلکه به شکل‌گیری گیم‌پلی بهتر هم کمک کند و از طرف دیگر یک موتور بی‌کیفیت یا بیش از حد پیچیده، ممکن است حتی به ساختار گیم‌پلی هم آسیب بزند.

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



این روزها با تنوع فوق‌العاده‌ای از انواع و اقسام موتورهای بازی مواجه هستیم که بعضی از آن‌ها حالت عمومی و همگانی دارند و شرکت‌های مختلف می‌توانند با پرداخت مبالغی به سراغ استفاده از آن‌ها بروند و بعضی دیگر هم موتورهای داخلی استودیوها هستند که تنها خود این شرکت‌ها یا حداکثر استودیوهای نزدیک به آن‌ها از این موتورها استفاده می‌کنند؛ موتورهایی که استفاده از آن‌ها باعث کاهش هزینه و وقت در مسیر تولید پروژه‌ها می‌شود و با زبان‌های برنامه‌نویسی متنوعی طراحی می‌شوند، از ++C و #C تا جاوا و موارد مخصوصی مثل GDScript.


هرچند این روزها تعداد موتورهای بازی به اندازه‌ای رسیده است که تهیه فهرستی از تمام آن‌ها زمان‌بر خواهد بود، ولی چند دهه قبل خبری از چنین تنوعی در دنیای موتورهای بازی نبود و حتی تا اواسط دهه ۱۹۸۰، مفهوم موتور بازی به شکل امروزی وجود نداشت.

به‌دلیل سادگی بیش از حد بازی‌ها در آن دوران (نسبت به امروز)، کمتر نیازی به طراحی موتور احساس می‌شد و طراحان بازی‌ها، هر بار از پایه شروع به کدنویسی پروژه می‌کردند و بعد از مدتی (که در مقایسه با امروز، به‌شدت زمان کمتری بود) به محصول نهایی می‌رسیدند. ولی کم‌کم پای موتورهای بازی هم به این صنعت باز شد و نینتندو مثل خیلی موارد دیگر، در اینجا هم جزو شرکت‌های پیشرو بود؛ به طوری که آن‌ها یک موتور داخلی مناسب طراحی کرده بودند که امکان حرکت سریع تصاویر را در بازی‌های دوبعدی فراهم می‌کرد، برخلاف خیلی از بازی‌ها که در آن دوران حالت کُندی داشتند و حتی حرکت ساده شخصیت اصلی از محیطی به محیط دیگر هم با قطع شدن تصویر و رفتن به صحنه بعدی همراه بود. این موتور برای تولید بازی Excitebike (محصول ۱۹۸۴) به کارگردانی شیگرو میاموتو به کار رفت و سپس این کارگردان افسانه‌ای در آثار دیگری از جمله Super Mario Bros (محصول ۱۹۸۵) نیز از آن استفاده کرد.


در همان دوران، نرم‌افزاری که شاید بتوان آن را یکی از اولین موتورهای بازی یا به‌طور دقیق‌تر محیط توسعه یکپارچه (IDE) دانست هم از راه رسید که Garry Kitchen's GameMaker نام داشت و همان‌طور که از نام آن نیز مشخص است، برنامه‌نویس و بازی‌سازی به نام گری کیچن آن را برای شرکت اکتیویژن تدارک دیده بود.


گیم میکر که در سال ۱۹۸۵ با قابلیت پشتیبانی از کمودور 64، اپل 2 و کامپیوترهای IBM طراحی شده بود، با ابزار متنوع خود امکان طراحی پس‌زمینه، اشیا، موسیقی، صداهای مختلف و درنهایت برنامه‌نویسی یک بازی را به مخاطبان می‌داد و البته محدودیت‌های زیادی نسبت به موتورهای سال‌های بعد داشت و نمی‌شد آن را یک موتور کامل و واقعی باتوجه‌به استانداردهای آینده دانست.

هرچند گیم میکر یکی از اولین تلاش‌ها در این ابعاد بود، ولی قبل از آن هم نمونه‌هایی مثل The Arcade Machine و Adventure Construction Set وارد بازار شده بودند که البته بیشتر از اینکه حکم موتور بازی را به مفهوم واقعی داشته باشند، نوعی محیط طراحی بازی با استفاده از المان‌های موجود در برنامه بودند؛ شاید بتوان گفت چیزی شبیه Dreams، اثر استودیو مدیا مولکول (Media Molecule)، ولی با امکانات و تکنولوژی دهه ۱۹۸۰.

بعدها با از راه رسیدن دهه ۱۹۹۰ و ظهور استودیوهایی مثل اید سافتور (id Software)، مفهوم موتورهای بازی پررنگ‌تر شد و کم‌کم تنوع و کیفیت آن‌ها بالاتر رفت. از آنریل انجین (Unreal Engine) و سورس (Source) تا موتورهای اختصاصی دیگری که شرکت‌های کوچک و بزرگ می‌ساختند، کار را به جایی رساند که قابل مقایسه با چند سال پیش از آن نبود.

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

در اینجا بد نیست به مفهوم دیگری به‌عنوان Middleware یا میان‌افزار هم اشاره کنیم. میان‌افزارها، نرم‌افزارهای مخصوصی هستند که ویژگی جدیدی را به موتورهای بازی اضافه می‌کنند و باعث می‌شوند موتورها قابلیت‌های بیشتری به‌دست آورند.

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

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

در ادامه به سراغ تعدادی از معروف‌ترین موتورهای بازی می‌رویم که بعضی از آن‌ها عمری طولانی در حد سه دهه دارند و بعضی دیگر هم در همین سال‌های اخیر عرضه شده‌اند؛ موتورهایی که البته تنها بخش خیلی کوچکی از دنیای بازی‌های ویدیویی را تشکیل می‌دهند.


موتور id Tech/اید تک

بیش از سه دهه از تأسیس استودیو اید سافتور می‌گذرد و آن‌ها درکنار عرضه تعدادی از بزرگ‌ترین شوترهای اول شخص تاریخ، طراحی یکی از معروف‌ترین موتورهای بازی را هم در کارنامه دارند. اید سافتور از همان سال‌های اول فعالیت خود به‌لطف هوش و نبوغ افرادی مثل جان کارمک و جان رومرو، حرف‌های زیادی برای گفتن در بخش‌های فنی و تکنیکی بازی‌ها داشت و در زمینه گیم‌پلی هم دست به نوآوری‌های جالبی می‌زد که نتیجه آن را در بازی Wolfenstein 3D دیده بودیم و پیش از آن هم در آثاری مثل Hovertank 3D و Catacomb 3-D با جلوه‌های بصری جالبی (البته نسبت به سال ۱۹۹۱) روبه‌رو شده بودیم.

اید تک 3 به قدری برای بازی‌سازها جذابیت داشت که بعدها خیلی از استودیوها به سراغ استفاده از آن رفتند و برای مثال بازی کال آو دیوتی (Call of Duty) هم کار خود را با همین موتور آغاز کرد و بعدها استودیو اینفینیتی وارد (Infinity Ward) با اعمال تغییرات گسترده در آن، موتور مخصوص خود را با نام IW Engine خلق کرد.

در سال‌های بعد هم اید سافتور پشت سر هم ویرایش‌های جدیدتری از موتور بازی خود را ارائه داد و برای مثال اید تک 4 با بازی Doom 3 طوفان به پا کرد و اید تک 5 هم در تولید بازی Rage به کار رفت که هرچند از جهاتی در حد انتظارات نسبت به یک بازی اید سافتور نبود، ولی گرافیکی جذاب را به‌صورت ۶۰ فریم بر ثانیه روی کنسول‌های پلی استیشن 3 و ایکس باکس 360 ارائه می‌داد که دستاورد کمی نبود.

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


موتور Unreal Engine/آنریل انجین

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

شرکت اپیک گیمز (Epic Games) در سال‌های اول تأسیس خود با نام Potomac Computer Systems (و بعدها Epic MegaGames) شناخته می‌شد و در آثار ابتدایی خود مثل ZZT یا بازی معروف Jazz Jackrabbit از موتورهای مختلفی استفاده می‌کرد، تا اینکه مؤسس استودیو یعنی تیم سوئینی به فکر طراحی یک موتور بازی مخصوص افتاد و بعد از چند سال آن را با نام آنریل انجین و ازطریق بازی آنریل به نمایش گذاشت؛ یک شوتر اول شخص که به خوبی قدرت بالای این موتور را نشان می‌داد و درکنار گیم‌پلی باکیفیت خود باعث شد نام اپیک گیمز بیش‌ازپیش بر سر زبان‌ها بیفتد.

موفقیت بازی آنریل باعث شد اپیک گیمز تولید نسخه جدیدی از آن را شروع کند که این بار با نام آنریل تورنمنت (Unreal Tournament)، تمرکز اصلی خود را رقابت‌های چندنفره گذاشته بود و یک بار دیگر کیفیت بالای آنریل انجین را به رخ رقبا کشید. بعد از آن هم نوبت به ویرایش دوم این موتور رسید تا با قدرتی به مراتب بالاتر، در آثاری مثل آنریل تورنمنت‌های بعدی، آنریل 2 و دو نسخه انحصاری ایکس باکس به نام Unreal Championship به کار رود.

ولی انقلاب اساسی اپیک گیمز از آنریل انجین 3 شروع شد؛ یکی از قوی‌ترین موتورهایی که پیش از شروع نسل هفتم معرفی شد و اولین اخبار و تصاویر آن را در سال ۲۰۰۴ دیدیم و کم‌کم با تماشای دموهای تکنیکی این موتور و البته معرفی بازی Gears of War، مشخص شد که با پدیده‌ای جذاب طرف هستیم.

اپیک گیمز با آنریل انجین 3 تصمیم گرفت بیش‌ازپیش به فکر سودآوری از موتور خود بیفتد و درکنار بازی‌های تولید شده توسط این شرکت مثل مجموعه Gears of War و آنریل تورنمنت، تعداد پُرشماری استودیوی دیگر هم به سراغ استفاده از این موتور رفتند و کار به جایی رسید که درصد زیادی از بازی‌های نسل هفتم، با عطر و طعم آنریل انجین 3 همراه بودند و این قضیه در حدی پررنگ شده بود که حتی انتقاد خیلی‌ها را نسبت به شبیه شدن حال و هوای گرافیکی بازی‌ها به یکدیگر به‌دنبال داشت.

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

این روزها هم بعد از موفقیت‌های آنریل انجین 4، نوبت به آنریل انجین 5 رسیده است تا با ویژگی‌های منحصربه‌فردی مثل Nanite و Lumen به یکی از اولین انتخاب‌های استودیوها تبدیل شود و هرچند هنوز بازی‌های زیادی به جز فورتنایت (Fortnite) و مواردی مثل دموی The Matrix Awakens با کمک آن عرضه نشده‌اند، ولی به‌زودی شاهد از راه رسیدن موج عظیمی از آثار متنوع خواهیم بود؛ از جمله بازی Senua's Saga: Hellblade 2 که مایکروسافت حساب ویژه‌ای روی آن باز کرده است.


موتور Unity/یونیتی

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


شرکت سازنده این موتور با نام Unity Technologies که در ابتدا Over the Edge Entertainment نام داشت، از همان سال ۲۰۰۵ که موتور خود را معرفی کرد، خیلی زود به یکی از بزرگان این بخش از صنعت بازی تبدیل شد و این روزها تعداد بی‌شماری بازی کوچک و بزرگ براساس یونیتی ساخته شده‌اند یا در دست تولید هستند. ساختار یونیتی به شکلی است که می‌توان از آن هم در تولید بازی‌های پی سی و کنسول استفاده کرد و هم قابلیت‌های بالایی برای طراحی بازی‌های موبایل دارد و در زمینه واقعیت مجازی هم جزو بهترین‌ها محسوب می‌شود.

به این ترتیب از طرفی بازی Cuphead را با آن سبک گرافیکی منحصربه‌فرد داریم که با یونیتی طراحی شده است و از طرف دیگر اثری مثل Call of Duty: Mobile و همین‌طور یکی از بهترین بازی‌های واقعیت مجازی یعنی Beat Saber. میزان محبوبیت یونیتی در حدی است که چند سال قبل اعلام شد حدود نیمی از بازی‌های موبایل با کمک این موتور طراحی می‌شوند و ۶۰٪ از بازی‌های واقعیت مجازی نیز با یونیتی ساخته شده‌اند و همین قضیه نشان‌دهنده اهمیت بالای این موتور در بازارهای مختلف است.


موتور Frostbite/فراست بایت

الکترونیک آرتز تا پیش از سال ۲۰۰۸ از موتورهای مختلفی برای تولید بازی‌های خود استفاده می‌کرد، ولی بعد از عرضه بازی Battlefield: Bad Company با موتور جدیدی مواجه شدیم که از همان ابتدا قدرت بالای خود را روی کنسول‌ها و بعدها پی سی نشان داد؛ موتور فراست بایت که محصولی بود از استودیو دایس (DICE).


فراست‌بایت نه‌تنها در زمینه گرافیکی قدرت بالایی داشت، بلکه کیفیت صوتی فوق‌العاده‌ای را هم به مخاطبان ارائه می‌کرد و از نظر فیزیک نیز رقبای اندکی داشت. این موارد هم درنهایت دست به‌دست یکدیگر دادند تا بعد از استفاده از این موتور در نسخه‌های مختلف بتلفیلد، کم‌کم نوبت به سایر بازی‌های الکترونیک آرتز هم برسد و شاهد استفاده از آن در نسخه‌های مختلف Need for Speed، بازی‌های ورزشی پرطرفدار این شرکت مثل سری فیفا (FIFA) و مدن (Madden NFL) و آثاری مثل Plants vs Zombies باشیم.

دراین‌میان استودیو بایوور (BioWare) هم که تا پیش از آن از موتورهای مختلفی بهره می‌برد، از Dragon Age: Inquisition شروع به استفاده از فراست‌بایت کرد و بعدها در Mass Effect: Andromeda و Anthem هم به این کار ادامه داد. البته چنین استفاده گسترده‌ای از فراست‌بایت توسط استودیوهای الکترونیک آرتز، با حواشی زیادی همراه بوده است و از سال‌ها قبل صحبت‌هایی به گوش می‌رسد که حکایت از پیچیدگی این موتور و مشکلات مختلف آن دارد.

موضوعی که باعث شده است با وجود جلوه‌های بصری زیبایی که از فراست‌بایت شاهد هستیم، ناکامی بعضی از پروژه‌های الکترونیک آرتز هم تا حدودی به این موتور نسبت داده شود؛ از اثری مثل Anthem که سازندگان آن مشکلات زیادی با فراست‌بایت داشتند تا پروژه شکست‌خورده جنگ ستارگان (Star Wars) با اسم رمز Project Ragtag که قرار بود به کارگردانی امی هنیگ، خالق آنچارتد (Uncharted) به سرانجام برسد ولی مشکلات مختلف از جمله فراست‌بایت باعث شدند هرگز شاهد انتشار آن نباشیم.

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