موتور بازی چیست؟
توسط Ali Raghimi
معرفی
موتور بازی یک چارچوب نرمافزاری است که عمدتاً برای توسعه بازیهای ویدیویی طراحی شده است و عموماً شامل کتابخانههای مرتبط و برنامههای پشتیبانی مانند ویرایشگر سطح است. توسعه دهندگان می توانند از موتورهای بازی در ساخت بازی برای کنسول های بازی ویدیویی و انواع دیگر رایانه ها استفاده کنند. عملکرد اصلی که معمولا توسط یک موتور بازی ارائه می شود ممکن است شامل یک موتور رندر (renderer) برای گرافیک های دو بعدی یا سه بعدی، یک موتور فیزیک یا تشخیص برخورد (و پاسخ برخورد)، صدا، اسکریپت، انیمیشن، هوش مصنوعی، شبکه، جریان، مدیریت حافظه، threading، پشتیبانی محلی سازی، نمودار صحنه و پشتیبانی از ویدئو برای سینماتیک باشد. پیادهکنندههای موتور بازی معمولاً با استفاده مجدد یا تطبیق مجدد از یک موتور بازی برای تولید بازیهای مختلف، یا برای کمک به انتقال بازیها به پلتفرمهای متعدد در فرآیند توسعه بازی صرفهجویی میکنند.
چرا موتورهای بازی؟
توسعهدهندگان موتور بازی اغلب سعی میکنند با توسعه مجموعههای نرمافزاری قوی که شامل بسیاری از عناصری است که یک توسعهدهنده بازی برای ساختن بازی به آن نیاز داشته باشد، نیازهای پیادهکنندهها را برطرف کنند. اکثر مجموعههای موتور بازی امکاناتی را فراهم میکنند که توسعه را آسان میکند، مانند گرافیک، صدا، فیزیک و عملکردهای هوش مصنوعی (AI). این موتورهای بازی گاهی اوقات "Middleware" نامیده می شوند زیرا، مانند مفهوم تجاری این اصطلاح، یک پلت فرم نرم افزاری انعطاف پذیر و قابل استفاده مجدد را ارائه می دهند که تمام عملکردهای اصلی مورد نیاز را برای توسعه یک برنامه بازی و در عین حال کاهش هزینه ها فراهم می کند. پیچیدگی ها و زمان عرضه به بازار، همه عوامل حیاتی در صنعت بسیار رقابتی بازی های ویدیویی هستند.
تاریخچه
قبل از موتورهای بازی، بازیها معمولاً بهعنوان موجودیتهای منفرد نوشته میشدند: برای مثال، یک بازی برای Atari 2600 باید از پایین به بالا طراحی میشد تا از سختافزار نمایشگر استفاده بهینه شود. بازی برای سیستم های قدیمی تر پلتفرمهای دیگر آزادی عمل بیشتری داشتند، اما حتی زمانی که نمایشگر نگرانکننده نبود، محدودیتهای حافظه معمولاً تلاشها برای ایجاد طراحی سنگین دادهای که یک موتور به آن نیاز دارد را خراب میکرد. پیشرفت سریع سخت افزار آرکید، که در آن زمان لبه اول بازار بود، به این معنی بود که بیشتر کدها باید پس از آن حذف شوند، زیرا نسل های بعدی بازی ها از طراحی های کاملاً متفاوت بازی استفاده می کردند که از مزایای اضافی استفاده می کردند. بنابراین اکثر طراحی های بازی در دهه ۱۹۸۰ از طریق یک مجموعه قوانین سخت کد شده با تعداد کمی از سطوح و داده های گرافیکی طراحی می شدند.
یک نمونه قابل توجه از موتور بازی داخلی در کنسول های خانگی در اواسط دهه ۱۹۸۰، موتور اسکرول جانبی صاف بود که توسط تیم شیگرو میاموتو در نینتندو برای سیستم سرگرمی نینتندو (NES) توسعه یافت. موتوری که آنها برای بازی مسابقه ای اسکرول جانبی Excitebike (1984) توسعه داده بودند، بعداً برای پلتفرم اسکرول Super Mario Bros (1985) استفاده شد. این اثر باعث شد که ماریو بهجای حرکت با سرعت ثابت مانند پلتفرمرهای قبلی، به آرامی از پیادهروی به دویدن شتاب دهد.
اصطلاح "موتور بازی" در اواسط دهه ۱۹۹۰ به وجود آمد، به ویژه در رابطه با بازی های سه بعدی مانند تیراندازی اول شخص با موتور تیراندازی اول شخص. بازیهای حماسی که توسط توسعهدهنده تیم سوئینی تأسیس شد، در سال ۱۹۹۸ موتور Unreal Engine را معرفی کرد.
محبوبیت بازیهای Doom و Quake متعلق به Id Software به حدی بود که توسعهدهندگان دیگر به جای کار از ابتدا مجوز بخشهای اصلی نرمافزار را صادر کردند و گرافیک، شخصیتها، سلاحها و سطوح خود را طراحی کردند.
بازیهای بعدی مانند Quake III Arena از id Software و Unreal 1998 Epic Games با این رویکرد طراحی شدند و موتور و محتوا به طور جداگانه توسعه یافتند. عمل به مجوز چنین فناوری ثابت کرده است که یک جریان درآمد کمکی مفید برای برخی از توسعه دهندگان بازی است، زیرا یک مجوز برای یک موتور بازی تجاری پیشرفته می تواند از ۱۰۰۰۰ دلار آمریکا تا میلیون ها دلار متغیر باشد. حداقل موتورهای قابل استفاده مجدد، توسعه دنبالههای بازی را سریعتر و آسانتر میکنند، که یک مزیت ارزشمند در صنعت رقابتی بازیهای ویدیویی است. در حالی که رقابت شدیدی بین Epic و id در حدود سال ۲۰۰۰ وجود داشت، از آن زمان موتور Unreal Epic بسیار محبوبتر از id Tech 4 و جانشین آن id Tech 5 بوده است.
موتورهای بازی به عنوان یک صنعت
تولیدکنندگان موتورهای بازی تصمیم می گیرند که چگونه به کاربران اجازه استفاده از محصولاتشان را بدهند. همانطور که بازی یک صنعت است، موتورهایی که از آنها ساخته شده اند نیز جروی از این صنعت هستند. موتورهای اصلی بازی با قیمتهای متفاوتی عرضه میشوند. موتور Unity و موتور Unreal در حال حاضر دو انتخاب محبوب برای توسعه دهندگان بازی هستند. اگرچه تفاوتهای بین موتورهای بازی مختلف با ایجاد ابزارهای خود در بالای آنها محو میشود، توسعهدهندگان مختلف بازی ممکن است به اندازهای به یک سیستم عادت کرده باشند که نمیتوانند تغییر کنند، یا جذب مزایای عظیم چنین موتورهایی بدون توجه به دیوارهای پرداخت شوند.
پست های توصیه شده
کلان داده
14 مهر, 1402
تحول دیجیتال
14 مهر, 1402
تجزیه و تحلیل داده ها
14 مهر, 1402