همشهری آنلاین - سجاد میرزامهدی تهرانی: موتور بازی (game engine) یک چهارچوب نرم افزاری است که برای خلق و توسعه بازی‌های ویدیویی طراحی شده است.

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

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

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

بعضی وقت‌ها به این موتورهای بازی میان‌افزار هم گفته می‌شود به این دلیل که ارتباط زیادی بین نرم‌افزار و سخت‌افزار در ساخت موتور بازی وجود دارد.  موتور بازی معمولا برای دیگر کنسول‌ها هم وجود دارد و یک بازی‌ برای یک کنسول را می‌توان با همان جزئیات برای کنسول دیگر به کار برد.

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

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

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

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

اجزاء تشکیل دهنده موتورهای بازی با گذشت زمان از رده خارج می شود و دیگر پاسخگوی ساختار کد نویسی بازی‌ها نمی‌شود. و نکته‌ای که بسیار قابل اهمیت است این می‌باشد که هر سبک از بازی از موتور خاصی استفاده می‌کند که در بحث اساسی مفاهیم موتور بازی به طور دقیق به این موضوع پرداخته نمی‌شود.

  • اجزاء تشکیل دهنده یک موتور بازی

از مهمترین اجزاء پیش نیاز یک موتور بازی می‌توان طراحی الگوریتم ابتدایی آن را نام برد که با توجه به این الگوریتم ار موتورهای بازی استفاده می‌شود.

  •  موتور تفسیر و ارائه الگوریتم

موتور تفسیر الگوریتم(Rendering engine) موتوری است که با استفاده از آن میتوان الگوریتم و کد های اصلی یک بازی را تفسیر کرد. به جای آن که الگوریتمی برای هریک از قسمت‌های سخت افزار کامپیوتر مانند cpu و gpu طراحی شود از موتور تفسیر استفاده می‌گردد. این موتور ابتدا الگریتم طراحی شده را با استفاده از ساخت یک رابط برنامه نویسی برای هر یک از قسمت های کامپیوتر الگوریتم مورد نظر را می‌سازد. از موتور های تفسیر معروف می‌توان به Direct3D اشاره کرد.

  • موتور صدا

 از این موتور همانگونه که مشخص است در تفسیر و ارائه الگوریتم‌های مربوط به صدا است.

  • موتور فیزیکی

 یکی از موتورهای مهم در بازی سازی است به این گونه که قوانین فیزیکی که در شبیه سازی وجود دارد را اعمال می‌کند.

  •  هوش مصنوعی

 هوش‌مصنوعی اغلب خارج از برنامه اصلی بازی طراحی می شود. و نیاز به دانش مربوط به زبان هوش مصنوعی است.

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

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

بازی ساخته شده

CryEngine

far cry

Frostbite

battlefield

Fox Engine

Metal Gear Solid V: The Phantom Pain

Havok

the last of us

RAGE

Grand Theft Auto V

Unreal

Gears of War