Немного про DLSS X и будущее игр
Визуально DLSS ведет игровую индустрию именно в этом направлении, где игровой движок будет выполнять роль хранения состояния игры и исполнения механик без рендера.
Сначала закину пару мыслей про DLSS 5. Мое мнение, что такая бурная реакция и похвала только по причине новья технологии, всем просто небычно такое видеть. Уверен, что большинство людей будут держать технологию выключенной, после того как "наиграются".
Вообще DLSS 5 идеально демонстрирует, что гиперреализм убивает самую главную идею игр - отвлечения от реальности. То есть буквально технология всеми силами пытается навязать вам визуал из реальности от которой игрок хотел отдохнуть и возможно даже убежать, погружаясь в виртуальные миры.
Условный Unreal Engine уже давно достиг неидеала, но весьма высокого уровня графика, достаточного. И что мы видим, разработчики игр специально художественно "ухудшают" графику своих игр, искажая пространство, вершины и грани. Они тратят десятки часов на поиски оригинального визуала, который сможет рассказать историю, раскрыть их идею на все 100%.
DLSS можно сравнить с мобильной фотографией. Многие телефоны (например google pixel) имеют возможность получать доступ к снимку в RAW качестве, без какой-либо пост обработки. Вот с опытом фотографирования и насмотренностью у некоторых приходит понимание, что часто RAW снимки хранят больше атмосферности и уникальности, чем резкое и якобы качественное HDR + нейро обработанное фото.
На самом деле NVIDIA реально ведет мир, к тому, что игры формально в будущем будут выглядеть вот так:
И после обработки превращаться во что-то осмысленное. Причем моя идея такая, что не нужно будет даже рендерить сам мир. Нужно хранить только сами координаты мира и заниматься игровой логикой вроде механик, перемещения и изменения состояния игры. Все это можно хранить в коде даже без необходимости рендера игры со стороны самой игры. Потому что пока, да и в ближайшем будущем на промежутке до 5 лет программный код не перебить по стабильности исполнения, по качеству идентичного повтора одного и того же действия, где модель может начать галлюцинировать и сходить с ума.
Когда конечный игрок нажимает на кнопки управления происходит примерно следующее:
- Мы нажали W и повернули мышь
- Движок игры обновил позицию объекта
- Далее движок высчитывает тот срез координат и объектов, которые нужно отрисовать, то есть то, что попало в область видимости нашей воображаемой камеры
- Передаем координаты, состояние и самое главное описание сущностей. Например, ГГ: координаты x,y,z, ступень анимации такая-то, визуальные описания персонажа с референсами с разных сторон и т.д.
- Примерно тоже самое передается про каждый объект на видимой сцене
- На основе этих данных модель просто рисует слепок игры, учитывая все мельчайшие нюансы.
- Это работает хорошо из-за того, что модель кеширует объекты игрового мира, поэтому не происходит перерисовки одного и того-же объекта по-разному.
Что даёт такой подход? Ну, например можно выбирать любой визуал и сеттинг. Игра это просто стабильный скелет, а нарастить мясо предложено самому игроку. Он может сделать одну и ту же игру в сеттинге средневековья, киберпанка и т.д.
Что-то подобное делает Genie 3, это те самые интерактивные миры, которые пытаются хранить память. Но пока это работает плохо. Мне кажется, гугол не совсем правильно сделал архитектуру своего решения, если бы он отдал скелет мира более стабильному программному коду у них бы все получилось немного получше, а они пытаются все сделать через архитектуру модели, в то числе хранение состояния. Нужно было сделать гибрид.
Кому интересно, я писал давно вот такой пост. Сверхактуально, как никогда. Там можно сказать продолжение моей мысли из этого поста.