فناوری پنهانی که باعث میشه Assassin’s Creed Shadows زندهتر به نظر برسه (و ۲ ترابایت فضا نخواد)

بیشتر اتفاقاتی که توی بازیهای ویدیویی میافته جلوی چشم ما نیست. حتی چیزهایی که داریم مستقیم بهشون نگاه میکنیم، به خاطر اتفاقات پشتصحنه در حال اجرا هستن. اگر تا حالا ویدیوهای سازندگان بازی از پشتصحنهشون رو دیده باشی، احتمالا اون دنیاهای خاکستری صاف پر از خطوط، شبکهها و آیکونهای فنی رو دیدی. اونها در واقع نمای بصری سیستمهایی هستن که باعث میشن بازی صحیح اجرا بشه.
این موضوع مخصوصا وقتی میرسیم به نورپردازی در بازیهای سهبعدی با گرافیک بالا، جالبتر میشه. ما خود نور رو نمیبینیم، بلکه چیزهایی که نور بهشون برخورد کرده رو میبینیم. نور نامرئیه، اما اطلاعات زیادی از محیط رو باهاش دریافت میکنیم. این خیلی فراتر از اینه که مثلا “چراغ روشن بشه و اتاق روشن بشه”. بازتاب، جذب، پخش نور و حتی عبور نور از لایهها… همه اینها مفاهیمی هستن که فیزیکدانها قرنها روشون کار کردن و هنوزم دارن کار میکنن.
تو دل این ماجرا، سازندههای بازی باید این مفاهیم رو تبدیل کنن به تجربهای کاربردی و قابل اجرا، در حالی که با محدودیتهای کارت گرافیکها هم مواجه هستن. همه این کارا فقط برای اینه که ما گیمرها بیشتر لذت ببریم و دنیای بازی زندهتر به نظر برسه.
شاید دیدی که بعضی بازیها بیشتر شبیه پارک تفریحی میمونن تا دنیایی واقعی، انگار همهچیز توی بازی فریز شده یا بیجون به نظر میرسه. یکی از دلایل مهمش هم نورپردازیست. با اینحال، همین نورپردازی باعث شده دنیای بازیها زندهتر و واقعیتر بشه. شبیهسازی نور ثابت خوب شده، ولی نور متحرک همیشه سنگینه و نیاز به پردازش زیادی داره… و حالا داریم میبینیم که این مشکل داره حل میشه.
یکی از نمونههای واقعا جالب، بازی Assassin’s Creed Shadows و سخنان «نیکولاس لوپز»، معمار فنی یوبیساف، هست. اون امسال تو کنفرانس GDC صحبت کرد و حرفهاش واقعا جذاب بود. منم باهاش از طریق ایمیل صحبت کردم تا بدونم تکنولوژیهایی مثل Ray Tracing چطور دارن نورپردازی بازیها رو متحول میکنن.
یکی از چیزهایی که خیلی نظرم رو جلب کرد، اعدادی بود که لوپز توی ارائهش نشون داد. گفت اگر نورپردازی Shadows مثل Unity انجام میشد، بازی حدود دو سال طول میکشید تا نورها «پخته» بشن (یعنی نورها از قبل پردازش بشن و آماده اجرا باشن) و حدود دو ترابایت فضا برای ذخیرهشون لازم بود! اما Shadows روی کامپیوتر فقط حدود ۱۱۵ گیگ حجم داره.
تو Unity و Syndicate، شهرها خیلی کوچیک بودن، مثلا حدود چهار کیلومتر مربع. اون وقتها از نورسنجهای یکنواخت استفاده میکردن که تقریبا هر نیممتر اطلاعات نور میگرفت. اما از Origins به بعد، دنیاهای بازی خیلی بزرگ شدن، مثلا تا ۲۵۶ کیلومتر مربع. اگر بخوان همه نورها رو از قبل پردازش کنن، واقعا فضاش فاجعه میشه. به جای اون، یوبیسافت رفته سراغ سیستم نورپردازی پویا.
لوپز گفت که توی Shadows، تراکم نورسنجها بر اساس پیچیدگی محیط تنظیم میشه. توی محیطهای شهری تراکم نورسنجها زیادتره، ولی توی بیابون یا جنگلها کمتره. هنرمندها خودشون تعیین میکنن کجاها نورپردازی باید دقیقتر باشه. اینطوری هم کیفیت حفظ میشه، هم حجم دادهها کاهش پیدا میکنه.
البته Shadows فقط به اندازه نقشه بازی ربط نداره. این بازی یازده زمان مختلف روز، آبوهوای پویا، فصلهای تغییرپذیر و محیطهای تخریبپذیره؛ همه اینها باید توی نورپردازی لحاظ بشه.
سؤال اصلی اینه: چرا پختن نور اینقدر زمان و حجم میخواد؟ جوابش سادهست. سختافزار قبلی توانایی محاسبه نور زنده رو نداشت، بنابراین همهچی رو از قبل پردازش میکردن.
نورپردازی «پخته شده» یعنی همه نورهای محیط پیش از اجرا محاسبه میشن و تو بافتها ذخیره میشن. این روش برای بازیهای با محیط ثابت عالیه، اما برای بازی پویا جواب نمیده. مثلاً اگر نور از پنجره بتابه و کاراکتر حرکت کنه، باید برای هر موقعیت نور جداگانه محاسبه بشه که عملا قابل پیادهسازی نیست.
بهجاش اومدن سمت Ray Tracing. این تکنولوژی اجازه میده نور بصورت زنده محاسبه بشه با دقت بالا. یعنی وقتی چیزی تو محیط تغییر کنه، نور هم فورا واکنش نشون میده. لوپز گفته قبلا برای دریافت نور جدید باید صبر میکردن تا شب تا صبح پردازش بشه، اما حالا هنرمند میتونه تغییر بده و بلافاصله نتیجهش رو ببینه.
تو بازیهایی با محیط ثابت، شاید تفاوت Ray Tracing زیاد محسوس نباشه، اما تو Shadows که همه چیز پویاست، این تفاوت واقعا چشمگیره. ۱۱ حالت مختلف از زمان روز رو شبیهسازی میکنه، فصلهای مختلف، آبوهوا، محیط تخریبپذیر… همه اینها روی نور تأثیر میذارن. Ray Tracing کمک میکنه نور همیشه واقعی و واکنشی باشه.
مثلا وقتی در خونهای باز میشه، نور واقعا به داخل میتابه. یا اگر یه جسم تخریب بشه، نور دقیقا همونجوری رفتار میکنه. این چیزیه که بدون Ray Tracing فقط میشه وانمود کرد، نه اجراش کرد.
یوبیسافت همچنین از سیستم رنگبندی جدیدی به نام ACES استفاده کرده که تو صنعت سینما هم کاربرد داره. این سیستم کمک میکنه تا رنگها در بخشهای مختلف بازی هماهنگ باشن. علاوه بر این از LUT (جدولهای تنظیم رنگ) استفاده میکنن تا بسته به آبوهوا و حالوهوای داستان، جو محیط بازی تغییر کنه.
یکی از چالشهای بزرگ نورپردازی تو محیطهای تاریک و شب بود. HDR تقریبا همهگیر شده، ولی حتی بهترین نمایشگرها هم محدودیت دارن. تیم Shadows سیستم نور و پردازش محیطهای کمنور رو کاملا بازطراحی کرد. نتیجه این شد که شبهای بازی واقعا حسوحال خاصی دارن، بدون اینکه برای روشنایی مصنوعی زور زده باشن.
در نهایت، همه این تغییرات باعث شد Shadows تبدیل بشه به یک دنیای واقعگرا، پویا و منسجم که همهچیز به هم مرتبط هست. و در عین حال باعث پیشرفت موتور Anvil هم شد.
Assassin’s Creed Shadows نشون میده که تکنولوژی چطور داره به سازندهها کمک میکنه تا بازیهایی خلق کنن که هم واقعیتر هستن، هم توسعهشون راحتتره. نتیجه برای ما اینه که دنیاهای بازی زندهتر، متنوعتر و طبیعیتر به نظر میان.
منبع : gamespot