Байки старпёров девелоперов - 5
Продолжаем сеанс самобичевания.
Вы не поверите, но это тоже сделал я!
Итак, краткое содержание предыдущих серий: Я разработчик со стажем. Делал всякое и Мафию 3 тоже.
В Мафии 3 я делал систему отражений. При кажущейся простоте, на текущем поколении железа - это довольно нетривиальная задача. Когда ray tracing наконец победит, то проблема исчезнет навсегда.
Но пока что, 99% игр решают эту проблему просто, используя технику под названием SSR (screen space reflections). Если не вдаваться глубоко в детали, то техника очень простая. Если исходить из простого предположения, что большая часть того, что будет в отражении, рисуется в основном кадре игры, то довольно дешево и быстро можно оттрассировать основную картинку и получить отражение. Но как только результат не может быть получен из основного кадра, то встает вопрос откуда брать информацию. 99% игр поступают просто, либо выводят черный цвет, либо берут информацию из некого усреденнного пространства окружения. Обычно это некий кубмап.
Это очень легко проверить в любой игре, в которой есть отражения, достаточно покрутить камерой вверх-вниз, чтобы увидеть, как в отражении, что-то похожее на правду подменяется какой-то размазней.
1% игр заморачивается с этой проблемой и есть много способов, как ее решить. Первый и самый честный - это честно рисовать все, что должно отражаться. Это делал, например Unreal, тот, что самый первый. Проблема состоит в том, что это очень дорого. В смысле сильно влияет на производительность.
Второй способ - это использовать тот же самый кубмап, но более интеллектуально. Например, учитывать его относительное смещение. Так, например, делают в Uncharted 4. Парни молодцы, сделали так мастерски, что это буквально заметно всего в паре мест. Это очень дешево и почти идеально, но, к сожалению не работает в общем случае.
У нас в Мафии 3 использовался совершенно другой способ. Если SSR не находил нужного результата, то мы динамически строили еще несколько кубмапов, позиции которых были либо расставлены художниками ( например в помещениях), либо автоматически генерировались движком. Так вот, если SSR не находил результата, мы трассировали еще и кубмапы. Честно трассировали, чтобы найти необходимую информацию. Посмотрите в игре и покрутите камерой - у нас везде честные отражения!
Теперь же собственно байка.
В самом конце проекта ко мне пришли художники и спросили про зеркала. Так как игра была и на консолях, никакого бюджета для настоящих зеркал (помните про первый путь) у нас не было. Мы с трудом скребли производительность для основного кадра, какой там еще проход для зеркал. И я предложил попробовать сделать зеркала через общую систему отражений. Довольно быстро сделал прототип, который показывал на тестовом уровне приемлимую картинку.
А потом художники стали вставлять это в игру. И тут, как обычно, полезла Нарния.
Времени чинить не было, поэтому было принято решение все убрать к чертям собачьим. Что и было сделано в 90% случаев, если обратите внимание, в игре в основном зеркала либо поломаны, либо замутнены. Кроме тех самых 10%, про которые либо забыли, либо недоглядели и не убрали соотвествующие настройки.
Зато вам радость!
Собрали множество отличных материалов, написанных пользователями сайта.
Хоррор «Обезьяна» от автора «Собирателя душ» тем временем получил 14 миллионов долларов, окупив свой производственный бюджет.
Локация красивая конечно. Но эти скакания... Я шо, человек паук?
Из-за того, что он был недоволен трудами дизайнеров, прибегших к использованию ИИ для тестирования некоторых элементов RPG.
Далее ответ китайской нейронки. Спрошу сразу, что думаете? По мне так ответ вполне неплох. Да и генерил запрос не шутки ради, действительное долгое время уже опустошение внутри и все тяжелее быть опорой.
Казуализация – главный враг глубины
А то как-то даже печально, что во многих играх с разветвленным сюжетом гг является личным психологом, а незя по этому поводу высказаться.
Комментарий недоступен
Про это было в предыдущей части, но в более глобальном масштабе!
О, привет, Слартибартфаст!
2004
Там даже в Codename 47 (2000) были честные отражения.
Хорошая традиция, прошедшая через года
2016 тогда уж
И уж если честно, из последнего, мордой по полу меня может поволозить только Detroit. Чуваки мой респект к вам без меры. Вы круче всех.