۰ تا صد ۱۰۰ موتور بازی سازی
موتورهای بازی سازی در این صنعت غول آسای بینالمللی و پر سود چنان جایگاهی دارد که میتوان به سادگی گفت اگر موتور بازی سازیای ساخته نمیشد بازیای هم در کار نبود، دقیقا مانند خودرویی که بدون پیشرانه قادر به حرکت نیست.
یعنی یک بازی ویدیویی بهطور کامل به موتور بازی سازی خود وابسته است و یک موتور مناسب میتواند نهتنها باعث خلق جلوههای بصری زیبا شود، بلکه به شکلگیری گیمپلی بهتر هم کمک کند و از طرف دیگر یک موتور بیکیفیت یا بیش از حد پیچیده، ممکن است حتی به ساختار گیمپلی هم آسیب بزند.
به طور مشابه، توسعه دهندگان بازی برای طراحی، توسعه و دمیدن زندگی در دنیای مجازی بازی خود به یک موتور بازی نیاز دارند.
موتور بازی سازی دقیقا چیست؟
این موتور یک برنامه یا فریمورک است که بازی سازان با کمک آن، بازی سازان میتوانند بخشهای مختلف بازی خود را سریعتر توسعه دهند و همزمان بازی را تست کنند. موتورهای بازی سازی قدرت گرافیکی بالایی دارند و در واقع ترکیب چند نرم افزار با یکدیگر هستند.
تاریخچه موتور های بازی سازی
در گذشته، یک بازی پس از طراحی روی کاغذ با زبان اسمبلی نوشته میشد. با این حال، با پیچیدهتر شدن بازیها، توسعهدهندگان بازی متوجه شدند که باید قبل از ایجاد بازیهای واقعی خود، ابزارهای توسعه بازی ایجاد کنند. این ابزارها و اجزای اصلی بازی تبدیل به چیزی شدند که امروزه به عنوان موتورهای بازی می شناسیم.
پیشنهاد می کنیم با “گوگل پلی استور” بیشتر آشنا شوید.
موتور های بازی سازی اولیه
هرچند این روزها تعداد موتورهای بازی به اندازهای رسیده است که تهیه فهرستی از تمام آنها سخت خواهد بود، ولی چند دهه قبل خبری از چنین تنوعی در دنیای موتورهای بازی نبود و حتی تا اواسط دهه ۱۹۸۰، مفهوم موتور بازی به شکل امروزی وجود نداشت. آن روزها بازیها از ابتدا طراحی می شدند و بر اساس سختافزاری ساخته می شدند که برای کار روی آن طراحی شدهاند. به عنوان مثال، اگر یک بازی در دهه ۷۰ می خواست بر روی Atari 2600 و Magnavox Odyssey منتشر شود، عنوان باید دو بار طراحی می شد. یک بار برای آتاری و یک بار برای دیگر پلتفرم ها.
بهدلیل سادگی بیش از حد بازیها در آن دوران (نسبت به امروز)، کمتر نیازی به طراحی موتور احساس میشد و طراحان بازیها، هر بار از پایه شروع به کدنویسی پروژه میکردند و بعد از مدت کوتاهی به محصول نهایی میرسیدند. ولی کمکم پای موتورهای بازی هم به این صنعت باز شد و نینتندو مثل خیلی موارد دیگر، در اینجا هم جزو شرکتهای پیشرو بود؛ به طوری که آنها یک موتور داخلی مناسب طراحی کرده بودند که امکان حرکت سریع تصاویر را در بازیهای دوبعدی فراهم میکرد. این موتور برای تولید بازی Excitebike در سال ۱۹۸۴ به کارگردانی شیگرو میاموتو به کار رفت و سپس این کارگردان افسانهای در آثار دیگری از جمله Super Mario Bros در سال ۱۹۸۵ نیز از آن استفاده کرد.
شما می توانید آیتم های درون بازی های موبایلی خود را با بهترین قمیت در موجوجم خریداری کنید.
گام اول در ایجاد موتور های بازی سازی
در همان دوران، نرمافزاری که شاید بتوان آن را یکی از اولین موتورهای بازی یا بهطور دقیقتر محیط توسعه یکپارچه (IDE) دانست هم از راه رسید که Garry Kitchen’s GameMaker نام داشت و همانطور که از نام آن نیز مشخص است، برنامهنویس و بازیسازی به نام گری کیچن آن را برای شرکت اکتیویژن تدارک دیده بود.
گیم میکر که در سال ۱۹۸۵ با قابلیت پشتیبانی از کمودور ۶۴، اپل ۲ و کامپیوترهای IBM طراحی شده بود، با ابزار متنوع خود امکان طراحی پسزمینه، اشیا، موسیقی، صداهای مختلف و درنهایت برنامهنویسی یک بازی را به مخاطبان میداد و البته محدودیتهای زیادی نسبت به موتورهای سالهای بعد داشت و نمیشد آن را یک موتور کامل و واقعی باتوجهبه استانداردهای آینده دانست.
هرچند گیم میکر یکی از اولین تلاشها در این ابعاد بود، ولی قبل از آن هم نمونههایی مثل The Arcade Machine و Adventure Construction Set وارد بازار شده بودند که البته بیشتر از اینکه حکم موتور بازی را به مفهوم واقعی داشته باشند، نوعی محیط طراحی بازی با استفاده از المانهای موجود در برنامه بودند؛ شاید بتوان گفت چیزی شبیه Dreams، اثر استودیو مدیا مولکول (Media Molecule)، ولی با امکانات و تکنولوژی دهه ۱۹۸۰.
موتور های بازی سازی امروزی
بعدها با از راه رسیدن دهه ۱۹۹۰ و ظهور استودیوهایی مثل اید سافتور (id Software)، مفهوم موتورهای بازی پررنگتر شد و کمکم تنوع و کیفیت آنها بالاتر رفت. با فرا رسیدن سال ۱۹۹۸، اپیک گیمز اولین نسخه موتور معروف Unreal Engine را منتشر کرد. این نقطه عطفی برای توسعه بازی است، جایی که اکثریت قریب به اتفاق طراحان شروع به استفاده از موتورهای شخص ثالث برای ساخت بازی های خود کردند، با مزایای این ابزارها در نهایت هزینه بالای آنها را جبران کرد.
امروزه با افزایش تعداد و قابلیت های موتور های بازی سازی کمتر شرکتی به سراغ ایجاد موتور های جدید می رود. آنها عموما کمبود خود را با ایجاد میان افزار ها یا ساخت موتور تخصصی برطرف می کنند. مانند Havok که به طور تخصصی روی فیزیک بازی تمرکز کرده است.
نقش موتور بازی سازی در توسعه بازی
موتورهای بازی نقشی حیاتی در ساده سازی روند ساخت بازی دارند. آنها به توسعه دهندگان این امکان را میدهند که به جای ساختن تمام فناوری های اساسی از ابتدا، روی تولید محتوای منحصر به فرد و مکانیکهای گیم پلی تمرکز کنند. موتورهای بازی با ارائه یک چارچوب از پیش ساخته شده، در زمان و منابع صرفه جویی میکنند و به توسعه دهندگان این امکان را میدهند که بازیهای خود را به طور موثرتری اصلاح کنند.
علاوه بر این، موتورهای بازی اغلب با ابزارها و ویرایشگرهای داخلی برای طراحی سطح، انیمیشن، اسکریپت و موارد دیگر همراه هستند. این ابزارها تجسم ایدهها را برای توسعهدهندگان آسانتر میکنند و دنیای بازی خود را زنده میکنند.
این موتور بازیسازها اجازه میدهد بهجای هر بار کدنویسی بازی از ابتدا، به شکل بسیار راحتتری کار را در فضایی نیمهآماده شروع کنند. البته این قضیه به معنای سادگی تولید بازی با یک موتور آماده یا دست نزدن به ساختار موتور توسط بازیسازها نیست، بلکه خیلی اوقات شاهد اعمال تغییرات ریز و درشتی در موتورها توسط طراحان بازیها هستیم.
این تغییرات به اندازهای است که منجر به خلق موتور جدیدی از دل موتور قبلی میشود؛ که به آن فورک می گویند.
اجزای یک موتور بازی سازی
موتورهای بازی سازی از چندین جز تشکیل شده اند که با هم کار میکنند تا تجربه نهایی خوبی از بازی را ایجاد کنند. برخی از اجزای کلیدی عبارتند از:
Graphics Engine
وظیفه این موتور تولید اجزای بصری بازی مانند گرافیک های دو بعدی یا سه بعدی، بافت ها و انیمیشن ها است. هر چیزی که در بازی دیده میشود نتیجه عملکرد موتور رندر یا همان موتور گرافیکی است. رندر فرآیند نهایی ایجاد یک تصویر یا انیمیشن از یک مدل کامپیوتری است. هنگام رندر کردن اشیا یا شخصیت ها در یک صحنه، شکل هندسی مدل، نماها، بافت ها، سایه ها و نور و هریچزی که به چشم می آید، را در نظر می گیرند. که سپس توسط موتور به یک تصویر دیجیتال یا گرافیک شطرنجی پردازش می شود. بسته به اینکه موتور شما چقدر قدرتمند است، سرعت ارائه تصاویر متفاوت است.
با پیشرفت روز افزون موتور های بازی سازی، تنور بازی های مستقل داغ تر شده!
در همین راستا پیشنهاد می کنیم با “بازی های مستقل” بیشتر آشنا شوید.
Physics Engine
این موتور دنیای فیزیکی بازی را شبیه سازی میکند. از فیزیک برای دادن نوعی حس واقعیت بازی به بازیکن استفاده می شود. برخوردها، گرانش و دیگر موارد فیزیکی دنیای واقعی یا غیر واقعی را مدیریت میکند. اما در هر صورت، برای بازی سازی شما به چیزی نیاز دارید که ریاضیات و فیزیک را در بازی پیادهسازی کند.
بسته به بازی، برخی به فیزیک دقیق تری نیاز دارند. به عنوان مثال، یک بازی شبیه سازی جت جنگنده در مقایسه با یک بازی تفننی از فیزیک دقیق تری استفاده می کند. Havok یک موتور تخصصی فیزیک است که ممکن است نتایج بهتری نسبت به ساختن فیزیک در یک موتور بازی سازی معمولی و غیرتخصصی را به شما بدهد.
Audio Engine
این قسمت طراحی صدای بازی از جمله موسیقی، جلوه های صوتی و صداگذاری را انجام میدهد. هدف از صدا این است که با داشتن صداهای محیطی، حس و حال محیط بازی را باورپذیرتر شود. به عنوان مثال، اگر صحنه در یک اردوگاه ارتش باشد، میتوانید صدای رژه، تیراندازی، شعار، ناله سربازان مجروح و غیره را بشنوید. در فضای مرده بازی از موسیقی استفاده می کنند تا در عرض چند ثانیه احساسات شما را از حالت آرامش به ترس، استرس یا هر حس دیگری تغییر دهند.
بازیهایی مانند Returnal دارای موتورهای صوتی سه بعدی پیچیدهای هستند که حس غوطهور شدن را به سطح جدیدی میرسانند.
AI engine
سیستم هوش مصنوعی شخصیتهایی به غیر از پلیر بازی (NPC) و دیگر عناصر دنیای بازی را کنترل میکند. بخش هوش مصنوعی، از موتور بازی سازی هیجانانگیزترین حوزه برای توسعه بازی در سالهای آینده است، زیرا فناوری هوش مصنوعی آماده انفجار است!
این اصطلاحی است که برای توصیف هوش داده شده به یک NPC برای ایجاد توهم واقع گرایی در اعمال خود استفاده می شود. «مسیر یاب» روشی از هوش مصنوعی است که معمولاً مورد استفاده قرار میگیرد، به این معنی که مسیرهای برنامهریزی شده خودکار را به NPC های درون بازی با در نظر گرفتن هرگونه مانع و نوع زمینی که در آن قرار دارد، اختصاص داده می شود.
این مسیرها به صورت مجموعه ای از نقاط متصل بهم نشان داده می شوند. نوع مشابه دیگری از استفاده از هوش مصنوعی «ناوبری» است که مجموعه ای از چند ضلعی های متصل است. مشابه با Pathfinding، NPC این چند ضلعی های متصل را فقط در داخل فضا دنبال می کند. اما به یک مسیر محدود نمی شوند. بنابراین داشتن فضا و هوش برای دانستن اینکه از چه اجسامی یا NPC های دیگر برای جلوگیری از آن می توان مسیرهای مختلفی را بسته به شرایط طی کرد. یک روش نسبتاً جدید هوش مصنوعی Emergent است که به NPC اجازه می دهد از بازیکن یاد بگیرد و واکنش ها یا پاسخ هایی را به این اقدامات انجام شده ایجاد کند. حتی اگر این پاسخها یا واکنشها محدود باشد، اغلب این تصور را ایجاد میکند که شما با شخصیتی شبیه به انسان در تعامل هستید.
NPC چیست؟
شخصیت غیرقابلبازی non-player character یا NPC، شخصیتی در یک بازی است که توسط بازیکن کنترل نمیشود. در بازیهای ویدئویی، این عبارت معمولاً بهمعنای شخصیتی است که توسط رایانه و با استفاده از الگوریتم ها و رفتارهای از پیشتعیینشده کنترل میشود.
Networking
بسیاری از بازیها به گونهای طراحی میشوند تا بتوانید با دوستان خود به صورت گروهی و آنلاین بازی کنید. در این بازیها به یک بستر قدرتمند شبکه سازی (Networking) و یک سرور قدرتمند نیاز است که اتصالات را پردازش کرده و حوادث بازی را در بستر شبکه با سرعت و دقت بالایی منتقل کند. بازیهای تحت شبکه یکی از دستههای پرطرفدار در بین انواع ژانرهای مختلف بازی هستند؛ به همین دلیل، اغلب موتورهای بازی سازی دارای سیستم شبکه سازی، کامپوننتهای قابل تنظیم و APIهای داخلی هستند که این امکان را به بازی ساز میدهند تا برای بهینهسازی بازیهای آنلاین و چندنفره از آنها استفاده کنند.
Entrance management
این مؤلفه بر ورودیهای کاربر، مانند عملکردهای صفحه کلید، ماوس، تاچ و کنترلر نظارت میکند. این ورودیها را به اقدامات درون بازی تبدیل می کند. هر بازی ای که کنترل ضعیفی داشته باشد، مهم نیست که چقدر خوب به نظر می رسد و صدا میکند، انجام آن سرگرم کننده نیست.
پیشنهاد می کنیم با “هدست واقعیت مجازی و خطرات ناشی از استفاده از آن“بیشتر آشنا شوید.
Cross-platform
این سازگاری در موتورهای بازی به توانایی یک موتور بازی برای اجرای بازی ها بر روی پلتفرم های مختلف مانند سیستم عامل های مختلف ویندوز، macOS، لینوکس کنسول های بازی (پلی استیشن، ایکس باکس، نینتندو) و حتی دستگاه های تلفن همراه اشاره دارد.
این سازگاری بین پلتفرمها یک ویژگی ضروری برای موتورهای بازی است. زیرا به توسعهدهندگان اجازه میدهد تا به مخاطبان بیشتری دست یابند و پلیرهای بالقوه بازیهای خود را به حداکثر برسانند.
Script
الگوریتم ها، علم منطق در بازی های ویدیویی. آیا تا به حال به این فکر کرده اید که چگونه می توان گرافیک ها، صداها، دستورات، رویدادها را به هم پیوند داد؟ نوشتن اسکریپت ها یا انتخاب آنها از لیستی از پیش ساخته های ارائه شده توسط موتور بازی، پاسخی برای افزودن منطق به بازی شما و تعریف رفتار شخصیت ها و اشیاء شماست.
انواع موتور های بازی سازی
دو بعدی
اصطلاح دوبعدی در ریاضی و بازی یک تصویر مسطح است که فقط دو بعد دارد. بیشتر بازی های این دسته side scroller هستند، مانند سونیک. موتورهای سه بعدی و دو بعدی از نظر عملکرد بسیار مشابه هستند، جدا از این تفاوت آشکار که موتورهای دو بعدی فقط می توانند گرافیک های دو بعدی را ارائه دهند اما موتور های سه بعدی اینگونه نیستند. برای ایجاد تصور درست از ارتفاع، عرض و عمق یک جسم جامد در یک سطح دو بعدی قطعا احتیاج به یک محور ایجاد عمق احتیاج داریم. یکی از مهارتهای بصری مورد استفاده در بازیهای دوبعدی Isometric Perspective است که زاویه دید ۳۸ درجهای برای ایجاد حس یک محیط سهبعدی است.
سه بعدی
موتورهای سه بعدی، نمایش سه بعدی هندسه های مختلف را ارائه می دهند. که در درجه اول برای محاسبات و همچنین ارائه تصاویر دو بعدی استفاده می شود. در مقایسه با موتورهای دوبعدی، از این نظر پیچیدهتر هستند. که نه تنها باید مدلهای سهبعدی را ارائه دهند، بلکه بافتهای دو بعدی را نیز اعمال میکنند. در نهایت موتورهای سه بعدی موتور فیزیک مخصوص به خود را خواهند داشت. همچنین پیدا کردن موتور بازی سازی سه بعدی که نیاز به برنامه نویسی نداشته باشند بسیار سخت است. در حالی که اکثر موتورهای دو بعدی از قابلیت های drag and drop استفاده می کنند.
موبایل
در گذشته، بازی های موبایل به صورت جداگانه کدگذاری و طراحی می شدند. اما امروزه بازی های موبایل بر روی موتورهایی که بهطور خاص برای موبایل طراحی شده اند، توسعه می یابند. با توجه به افزایش تعداد موبایل گیمر ها و همچنین پیشرفت در فناوری، بازیهای موبایل روی موتورهای کراس پلتفرم مانند Unreal و Marmalade در حال توسعه هستند.
تحت وب
موتورهای بازی وب ایجاد بازی هایی را امکان پذیر می کنند. که می توانند مستقیماً در مرورگرهای وب بدون نیاز به دانلود یا نصب اضافی بازی کنند. آنها از فناوری هایی مانند HTML5، WebGL و جاوا اسکریپت برای ارائه سازگاری و دسترسی بین پلتفرم استفاده می کنند.
مادیفیکیشن
برخی موتور های بازی سازی در دسته مادیفیکیشن قرار می گیرند و وظیفه ایجاد تغییرات در بازی هایی که قبلا ساخته شده اند را دارند. در این تغییر ویژگیهای بازی را مطابق با سلیقه کاربر دستکاری میشود. مودها عمدتاً توسط گیمرها یا توسعه دهندگان ساخته می شوند و در بازی های کامپیوتری و موبایلی بسیار محبوب هستند.
حالا که بیشتر با موتور های بازی سازی آشنا شدید. شاید برای شما هم سوال باشد “چگونه در رشته بازی سازی تحصیل کنیم؟“
اساساً همه مسئولیت سنگین ساخت بازی بر عهده موتور بازی سازی است. حداقل در مورد جنبه های فنی کار! گرافیک، فیزیک، صدا، هوش مصنوعی، ورودی کاربر و موارد دیگر را مدیریت می کند. شاید تا کنون نمی دانستیم چقدر این موتور ها مهم هستند و خدمت همه جانبه ای به دنیای گیم کرده اند.
سوالات متداول
وظایف یک موتور بازی سازی چیست؟
اساساً همه مسئولیت سنگین ساخت بازی بر عهده موتور بازی سازی است. گرافیک، فیزیک، صدا، هوش مصنوعی، ورودی کاربر و موارد دیگر را مدیریت می کند.
کاربرد هوش مصنوعی موتور بازی سازی چیست؟
سیستم هوش مصنوعی شخصیتهایی به غیر از پلیر بازی (NPC) و دیگر عناصر دنیای بازی را کنترل میکند.
چرا موتور های بازی سازی ابداع شدند؟
موتورهای بازی نقشی حیاتی در ساده سازی روند ساخت بازی دارند. در واقع به توسعه دهندگان این امکان را میدهند که به جای ساختن تمام فناوری های اساسی از ابتدا، روی تولید محتوای منحصر به فرد و مکانیکهای گیم پلی تمرکز کنند.
هر هفته میتوانید جدیدترین مقالات موجوجم را در بخش مجلات اینترنتی سایت دنبال کنید.