علی صالحی، رهبر رندرینگ ایرانی کرایتک، از توسعه Hunt: Showdown میگوید
علی صالحی، رهبر رندرینگ ایرانی کرایتک، از توسعه Hunt: Showdown میگوید
کرایتک در نسخهی پیسی هانت، به کاربران اجازه میدهد میزان استفاده از VRAM سیستم را مطابق ترجیحات خود تنظیم کنند، درحالیکه این ویژگی را در اغلب بازیهای دیگر مشاهده نمیکنیم. حتی بعضی بازیها یکونیم گیگابایت از حافظهی ۸ گیگابایتی سیستم را برای ویندوز نگه میدارند و باز هم با مشکلات تصویری یا عملیاتی مواجه میشوند. صالحی میگوید:
ما روی پیسی باید به میزان منابعی که سیستم عامل در اختیارمان میگذارد توجه کنیم. طبیعتاً این موضوع به تعداد برنامههایی که در پسزمینهی سیستم اجرا میشوند، اینکه OS بازی را تا چه حد مهم میداند و عواملی ازایندست بستگی دارد. اما علاوه بر این، باید مقداری فضای اضافی در VRAM برای درایور و موارد دیگر در نظر بگیریم تا بتوانند اطلاعات را جابهجا و مدیریت کنند. برای ما در اختیار داشتن ۸۰ تا ۸۵ درصد VRAM ایدئال بود و به بهترین شکل ممکن بین کیفیت تکسچرها و جلوگیری از لگها تعادل برقرار میکرد.
فکر کردیم که شاید بهتر باشد حق انتخاب را به خود کاربران بدهیم: اگر دوست داشته باشند بافتهای باکیفیتتر را با برخی لگها تجربه کنند، یا اینکه ترجیح بدهند بازی بدون لگ باشد و در عوض جزئیات کمتری را مشاهده کنند. بگذاریم خود گیمرها تصمیم بگیرند.
هنگامیکه بحث گیم و حافظه پیش میآید، سؤالی که ذهن بسیاری از کاربران را مشغول میکند بحث DirectStorage است. در جدیدترین نسخهی هانت این قابلیت هنوز فعال نشده، اما به گفتهی شرکت بهزودی در یک بهروزرسانی به بازی اضافه خواهد شد.
Direct Storage در بهروزرسانیهای جدید بازی فعال میشود
مسئلهی مهم در مورد DirectStorage و بهطورکلی استفاده از SSDها و APIهای جدید، این است که برای کارکرد بهینهی آنها باید معماری موتور را تغییر داد. باتوجهبه افزایش پهنای باند، احتمال دارد حجم دادههایی که از موتور عبور میکند ۱۰ تا ۱۰۰ برابر شود. در این صورت تمام هستههای سیپییو مشغول بارگذاری دادهها میشوند و کار دیگری انجام نمیدهند.
به همین دلیل انطباق با این قابلیتهای جدید زمانبر خواهد بود. به گفتهی صالحی، شرکت کرایتک تاکنون بیشتر راه را تا رسیدن به این هدف طی کرده است:
ما نحوهی ذخیرهسازی و همچنین پردازش تکسچرها را تغییر دادیم و اکنون آنها را دقیقاً به همان فرمتی ذخیره میکنیم که در زمان اجرا نیاز داریم. بنابراین میتوانیم همهی تکسچرها و دادهها را بهطور مستقیم بارگذاری کنیم و با استفاده از DirectStorage آنها را به حافظهی مقصد کپی کنیم. بااینحال فرصت نداشتیم این قابلیت را در نسخهی جدید فعال کنیم و باید منتظر بهروزرسانیهای بعدی بازی بمانیم.
سیستمها و تکنیکهای نورپردازی
در بحث الگوریتمهای نورپردازی، بین سالهای ۲۰۱۰ تا ۲۰۱۳ موتور کرایانجین به سمت نورپردازی غیرمستقیم بلادرنگ (Realtime Indirect Lighting) رفت، درحالیکه سایر رقبا از نقشههای نوری استفاده میکردند. بازخوردهای انتقادی طرفداران قدیمی کرایتک شرکت را بر آن داشت تا از الگوریتمهای نورپردازی سراسری (Global Illumination) استفاده کند.
اما در نسخهی جدید شو داون نهتنها نورپردازی GI اعمال شده است؛ بلکه شاهد تغییرات مثبتی در آن هستیم:
الگوریتم اصلی و معماری پایهای GI تغییر زیادی نکرده است، اما سعی کردیم تا جای ممکن چیزهای جدیدی به آن اضافه کنیم. برای مثال حالا میتوانیم پرتوهای بازتابی (specular rays) را هم برای سطوح ناهموار رهگیری کنیم. البته این سیستم برای سطوح صاف مثل شیشه یا آب خوب کار نمیکند. در چنین مواقعی از روشهای کارآمدتری SSR یا نقشههای مکعبی استفاده میکنیم.
به گفتهی صالحی، یکی دیگر از تغییراتی که به بهبود تصاویر کمک میکند، از بهبود روشهای نمونهگیری دادهها ناشی میشود. نسخهی جدید هانت از تاریخچهی پرتوها در فریمهای قبلی استفاده میکند تا نمونهگیری دقیقتری انجام دهد و بهترین جهتهای نورپردازی را انتخاب کند.
سیستم GI Cache نتیجهی نورپردازی سراسری (GI) را برای نتایج بهتر بعدی در نقاط مختلف فضا ذخیره میکند
همچنین با بهرهگیری از سیستم GI Cache نتیجهی نورپردازی سراسری (GI) در نقاط مختلف فضا ذخیره میشود و بعداً در زمان نیاز مورد استفاده قرار میگیرد تا بدون کاهش عملکرد، نورپردازی غیرمستقیم بیشتری انجام شود.
البته این سیستم مستلزم پیشمحاسباتی برای تعیین دیدپذیری نواحی مختلف است، اما تمام فرایند نورپردازی بهصورت لحظهای انجام میشود.