سفارش تبلیغ
صبا ویژن
ای مردم! بدانید آنکه از سخن نادرست درباره خود، بی تاب می شود، [امام علی علیه السلام]
 
موتور بازی / Game Engine

Game  Engine

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

در این نوشته قصد دارم شما را با هسته ی اصلی بازی سازی آشنا کنم. هسته مذکور همان موتوربازی (game engine) است. موتور بازی، یک سیستم نرم افزاری است که برای خلق و توسعه ی بازی های ویدئویی طراحی شده است. تا به حال تعداد زیادی موتور بازی ساخته شده است که اگر بخواهیم از دید ساختاری آنها را دسته بندی کنیم؛ می توانیم به دو دسته تقسیم کنیم: ?? موتور بازی کنسول، ?? موتور بازی رایانه. در زمینه کنسول می توان به موتورهای بازی سازی Play Station اشاره کرد، یعنی نرم افزاری که برای تولید بازی های Play Station استفاده می شود. در زمینه رایانه، از سیستم عامل های گوناگون نام می بریم. مثلا موتور بازی سازی برای Windows (که در ایران رایج تر است). یک موتور بازی سازی مجموعه ی نرم افزارهای طراحی بازی است که نرم افزارهای کوچکتری را شامل می شود. به طور کلی، یک موتور بازی سازی از زیر مجموعه های زیادی تشکیل شده است که در اینجا به بعضی از آن ها اشاره می کنم.

موتور دو بعدی: یکی از زیرمجموعه های موتوربازی است. این سیستم برای طراحی بخش های دوبعدی یک game استفاده می شود. برخی بازی ها ابتدا به صورت ?D پیاده سازی می شوند، سپس به ?D بدل می شوند. از جمله این بازی ها می توان به game های جاوا در گوشی های موبایل اشاره کرد، مانند Bounce Tail برای نوکیا.

 

موتور سه بعدی: مرحله ی دوم سیستم است. در این بخش عناصر سه بعدی و شخصیت ها پردازش می شوند. این قسمت در تمام موتورهای بازی سازی مشترک است.

کارگزار فیزیکی: بخش دیگر نرم افزار، موتور فیزیکی است که در آن حرکت شخصیت ها، عناصر متحرک در بازی، حرکات سایه ها و چیزهای دیگر شبیه سازی می شوند. مثلا در Fifa 09، طراحی استایل های شوت، گل زنی، اخطارهای داور، سایه ی بازیکن و تشویق های تماشاگران توسط کارگزار فیزیکی شبیه سازی می شوند. شاید بتوان گفت که بدون کارگزار فیزیکی، ساختن یک بازی غیرممکن است. از آنجایی که این مسئله در شرکتهای game سازی در دنیا اهمیت به سزایی دارد؛ physics’s engine به صورت جداگانه نیز عرضه می شود.

حساسیت برخورد: یا colision detection، پاره ی دیگر موتور بازی سازی است. این بخش، مسئول مشخص کردن برخوردهاست. مثلا در بازی کامپیوتری بیلیارد، اینکه توپ با چه شدتی و با چه سرعتی به گوشه های میز برخورد کند، یا اینکه توپ پس از برخورد با چه سرعتی برگشت داده شود، از وظایف این قسمت است. حساسیت برخورد، تنها در بازی ها کاربرد ندارد، بلکه در تعاریف علم فیزیک و در نقشه برداری کامپیوتری کاربرد مهمی دارد.

موتور بازی سازی از قسمت های دیگری نیز تشکیل شده که به آنها به صورت گذرا نگاهی می اندازیم: موتور صدا، کارگزار شبکه، کارگزار انیمیشن، هوش هنری، کدنویسی بازی و … . شخصی که بازی می سازد، از موتور بازی استفاده می کند. وی در محیط اولیه، محدوده ی فضا را مشخص می کند و متناسب با آن به طراحی شخصیت ها (characters) می پردازد. سپس به موتور سه بعدی می آید و عناصر سه بعدی را می نویسد و در کارگزار فیزیکی، حرکات تمام بازی را طراحی می کند. در بخش بعد به بازی احساس واقعی بودن را می دهد؛ یعنی در واحد حساسیت برخورد، تمامی برخوردها را خلق می کند تا بازی طبیعی جلوه کند. صداگذاری، انیمیشن های متفرقه، شبکه کردن و سایر کدنویسی ها از مراحل بعدی هستند. توجه دارید که تمامی این ها توسط یک تیم انجام می گردد و هرکس وظیفه خود را دنبال می کند. از جمله موتورهای بازی می توان به Cipher و یا C4 Engine اشاره کرد. در این صفحه می توانید لیست کامل موتور های بازی سازی را مشاهده کنید.