PC دیگه گفتن این که FB2 بهینه هست و ... بحث پوچیه.
بعد این FB هم مسخره ای شده. تا همین 4 سال پیش خود DICE با UE3 بازی میساخت، توی 4 سال دو نسخه از موتورش رو داد (Epic توی 14 سال 3 نسخه داده بیرون اینا توی 4 سال 2تا!). سال آینده هم FB3 رو میبینیم.
درسته موتور رِنج وسیعی از ژانر های بازی ها رو پوشش میده ولی اول از همه موتور باید بهترین استفاده از سخت افزار رو بکنه نه این که روی سیستمی با Core i7-950 و با 8 گیگ رم و 580GTX نشه روی Medium ازش 60 فریم گرفت. (کلا تنها چیزی که این FB داره فیزیک نسبتا خوبشه که اون هم روی کنسول همچین مالی نیست)
ببین چند جا اومدی اسم یه سیستم پر قدرت رو اوردی و مقایسه و مثال اشتباه کردی .
یه چیزی هست به اسم بهینه بود موتور X بر روی سخت افزار های مختلف . میدونی مثل چیه ؟ مثل موتور ماشینه ! وقتی که موتور رو بهینه نکنی اصلا نمیتونی تو مسابقات ( مثلا ) شرکت کنی . اما وقتی موتور رو تیون کنی و تنظیمش کنی ، بدون سر و صدا کار میکنه و روغن بی خود نمیسوزونه و سرعت بیشتری رو میتونه در مسافت کمتری طی کنه .
=======================
خوب حالا طبق مثال بتالا موتور بازی هم دارای یکسری کد مخصوص برای سخت افزار های مختلفه . مثلا هر کد مجموعه ای از توابع و دستورات رو شامل میشه و هر کدوم از این کد ها شامل الگوریتم و فلوچارت ها خودشون هستن !
خوب حالا فرض کن DICE اومده با موتور FROSTBIT 2 یه بازی ساخته ! کد های این بازی
( یا همون الگوریتم و فلوچارت هاش ) بهینه نیستن ! یعنی اینکه میزان سرعت در این موتور 1000 خط الگوریتم در هر فریم هست ! خوب چون این شرکت تازه داره رو موتور خودش و کنسولها بازی میسازه ، نمیتونه
( الگوریتم و فلوچارت ها رو ) کمتر از 1000 تا در بیاره و در نتیجه میشه 2000 تا خط !!
به این میگن بهینه نبودن موتور بازی ! پس سرعت به MEDIUM کاهش پیدا میکنه و موتور فریم بالا میده !
>>>> مثلا میخواد بنویسه :
" شلیک "
بهنیه >>>> فشردن دکمهRT = است با تی اندازی !
غیر بهینه >>>> اگر بازیکن روی دکمه LT کلیک کرد ، درنیتجه از لوله تفنگ X گلوله Y خارج شده و سپس مقدار صدمات به صورت Z به نمایش در میاید !
خوب فکر کنم فرق بهینه بودن و نبودن رو تو مثال بالا متوجه شدید !
===============
حالا باید بگم بازی CRYSIS زمانی که برای PC اومد ، گرافیک بسیار بالایی داشت ، اما چون بهینه نبود ، بالطبع هیچ سیستمی هم نمیتونست از پس بازی بیاد و همه جا هایپ کردن که بازی از بس گرافیکش بالاست ، برای همین سیستم ها نمیتونن بازی رو اجرا کنن !!!
که این جمله دوم غلطه ! درواقع میزان گرافیک تو اون بازی یه حد مشخص مثلا 3000 پیکسل رو داشت و خوب این 3000 تا پیکسل خیلی گرافیک بالایی محسوب میشه و خوب سیستمی که نتونه اجراش کنه دلیل نمیشه که ضعیفه ! به دلیل بهینه نبودن برنامه نویسی و بافت های بازی است بازی است .
===============
مثلا جان کارمک اومد با تکنیک MEGA TEXTURE بافت هایی با کیفیت بسیار بالا رو به اندازه یه ICON و حتی کوچکتر از اون در اورد و به عنوان بافت در سراسر بازی RAGE قرارشون داد و دیدیم که بافت های بازی چه کیفیت بینظیری داشتن .
==============
حالا بازم برمیگردیم سراغ DICE : خوب این شرکت یه موتور جدید ساخته با کدهایی پیش فرض برای کنسولها . حالا بهینه بودن به 2 عامل بستگی داره :
1- برنامه نویس
2- شرکت سازنده
1>>>>> برنامه نویس میتونه با ساختن یه الگوریتم
( به زبون خودمون میشه توضیح کلی مثلا یه جمله به جای ورود در جزئیات و توضیح اضافی ) خیلی کم نظیر و کلی بار پردازشی رو بیاره پایین تا بازی فریم ریت بالا بده . این مورد در صورتیه که سازنده هم کد های مختلف و توابع کتابخونه ای بازی و رابط های API رو با اپدیت های منظم و به روزش بهینه کنه .
2 >>>>> که در خط دوم بالا توضیحش رو دادم .
=================================
اگر میبینید که CRYSIS رو کنسول در حال حاضر گرافیک بی نظیری رو ارائه میده فقط و فقط به خاطر بهینه بودن بازی و کدهای اونه و اگر میبینید که BF3 رو قویترین PC امروزی حتی نمیتونه فریم 30 بده هم به دلیل بهینه نبودن اونه . ممکنه با پتچ های مختلف از طرف INTEL و بازی ساز این مشکل به خوبی حل بشه . اما معمول این کار رو نمیکنن چون میتنن به جای اصلاح کد های بازی قبلی ، بازی جدید با کدهای بهینه تر درست کنن . بادتون باشه که حد سرعت و فریم دهی هر موتوری یه استانداردی داره که مثلا 2000 تا کد در هر ثانیه برای مثلا سرعت فریم 30 هست که اگر از اون تجاوز کنه خوب افت فریم به وجود میاد !
برای درک بهتر موضوع میشه زیر نویس فیلم رو مثال زد که تو هر ثانیه فقط موتور پردازشی زیر نویس و خود فیلم میتونه یک تا 3 خط زیر نویس رو ساپورت کنه و اگر بیشتر بشه فیلم هنگ میکنه و همه چی نامعلوم میشه .
=================
زیاد بود اما لازم بود .