Какие нейронки НАМ на самом деле нужны в Gamedev

Какие нейронки НАМ на самом деле нужны в Gamedev

В последнее время расплодилось много хайпа на теме нейросеток и как они могут помочь в геймдеве.
Особый ажиотаж выдают нейросетки которые дербанят картинки со всего света и потом сшивают их воедино и пытаются всем показать что время художников ушло: Артбридер, wombo. art disco diffusion, Midjourney, Nvidia gaugan… да тысячи их.

Но вот парадокс ситуации в том что нейронки хоть и могут выдавать визуально приятный глазу результат, но он как правило не пригоден для геймдева.

Нейросети создают без учета их сильных и слабых сторон выбранного механизма. Без оценки насколько нужен это инструмент и где его лучше применить. И именно об этом я хочу поговорить. И какие нейронки для автоматизации нам были бы жизненно необходимы, что бы упростить работу и Make gamedev Great Again! И уменьшить трату времени.

Что такое Нейросети?

Прежде чем перейти к сути совсем кратко расcкажу что такое нейросеть. Максимально просто и на пальцах:
(Если вы все знаете — пропускайте это)

Какие нейронки НАМ на самом деле нужны в Gamedev

Нейросетка — это в своей сути виртуальный ящик с соединенными между собой узлами внутри через которую проходит и обрабатывается информация. Все узлы делятся на входящие и выходящие и промежуточные.
Входящие узлы подают исходную информацию(картинка, музыка, слова, рандомные числа)

Выходящие узлы выдают — нам результат в нужном нам формате.

Все самое интересное происходит на промежуточных узлах где поступающая информация обрабатывается по определенным алгоритмам… каким алгоритмам? А вот они как раз задаются в ходе обучения нейронки.

Что такое обучение нейросетки? Опишу максимально кратко: это когда наш черный ящик с узлами внутри задают псевдорандомные значения показателей у алгоритмов(уже по своим алгоритмам) — трясут и тасуют эти значения в ящике пока нейронка не начнет выдавать в ответ на сигнал идущий на входящие нейроны результат похожий на тот который мы хотим получить c ± нужной точностью.

Сегодня каждый второй погроммист стремится написать свое уникальное детище — которое станет самым умным и талантливым из инструментов и оставит миллионы художников голодать без работы.

если бы нейронки работали так как задумали их создатели

Нейронки это инструмент который позволят неявно для человека вывести Алгоритм (который будет реализован в нейронки) для любого действия, где из информации А получаем нужную на выходе информацию Б, путем перебора разных вариаций весов на узлах.

Через них можно попытаться реализовать и те алгоритмы которые сложно без пол литра выразить в виде четкой последовательности действий и алгоритмизировать в виде чистого кода. По сути нейронка — это вариаций неявно заданной (для пользователя и разработчика) экспертной системы.

Если Алгоритмы ушли не туда — придется делать все обучение оной с нуля, дообучение нейронки при изменение стартовых условий не самый тривиальный процесс.

В качестве примера что из из себя представляет собой нейронка типа disco diffusion или Midjourney? Это инструмент которому скормили коллекцию работ уже существующих художников: в ходе обучения нейронка раздербанила их на на кусочки которые осели на узлах, а при подачи текстового/визуального запроса — узлы сшивают из сотен тысяч исходных шаблонов и кусочков итоговую картинку. Узнаваемых кусочков. Которые нейронка позаимствовала из уже существующих картинок.

Как правильно использовать?

Правильное использование нейронок — это тренировка оных для автоматизации и оптимизации самой скучной работы, где не надо думать — но нужно долго сидеть и возиться.

Используйте инструмент правильно!
Используйте инструмент правильно!

Чем проще локализовать алгоритм — но сложнее реализовать в человекочасах — тем больше у нас будет выигрыш, и проще натренировать нейронку правильно.

Итак применим свои знания gamedev’a что бы понять где можно использовать нейронки максимально эффективно — максимально оптимизировать самую скучную, сложную в нашей индустрии работу которая требует от человеков усидчивости, но никакой креативности. Где можно максимально удобно и эффективно срезать углы за счет нейросеток? Что же держите мое мнение, как художника немного понимающего весь процесс разработки контента для игр.
Давайте пройдемся по всему списку задач в геймдеве которые весьма муторны для человека но не содержат в себе «творчества» и

2D

Мы самые обиженные нейронками работники геймдева.

Какие нейронки НАМ на самом деле нужны в Gamedev

И это самая творческая — создавая весь контент который будет влиять на итоговый внешний вид игры. Почти каждый программист хочет от нас избавиться и заменить. Почти все самые известные нейросети рассчитаны на генерирование 2д изображений. Хватит делать нейронки по генерации 2д, займитесь лучше другими более важными задачами:

3D

Самый недооцененный для нейронок сегмент. Но есть два момента вселяют в работников вселенскую грусть — но которую нужно выполнять.
UV

В работе 3дшника самый скучный элемент работы — это UV развертка. И хоть существуют автоматические генераторы UV — не существует способа эффективно избежать раскладывания островов c полигонами с помошью одной кнопки.
Данная работа может занимать от нескольких часов до нескольких дней подготовки модели к последующему текстурированию.

Как обучать такую нейронку?
На вход — 3д модель со случайно авторазверткой.
На выход — 3д модель с правильной разверткой UV. Для обучения можно вытащить кучу моделек из уже существующих игр.
Ретопотология

Второй вариант где можно применять — это создания лоуполи из хайполи. Причем правильное создание оптимизированных моделей. Это не самая сложная работа — но современные способы автоматического уменьшения полигонажа увы не способны дать чистый результат на всем что сложнее куба.

Как обучать такую нейронку?
На вход — 3д модель хайполи/мидполи- на выход LOD0.
На вход — 3д модель LOD0. На выход — LOD1.
На вход — 3д модель LOD1. На выход — LOD2.
Как и в случае с UV — материал брать из игр.

Анимация

Скининг

В работе Аниматора тоже есть скушная часть подготовки модели к работе — это скиннинг модели, привязка весов зависимостей изменений при деформации к скелету модели.
Как обучать такую нейронку?
Вы еще не догадались? - брать модели и скелеты из игры и обучать.
На вход — 3д модель со скелетом и обнулённым скинингом. На выход — модель с настроенным скинингом.

Послесловие

Данная заметка создана с целью заставить программистов задуматься над тем какие инструменты на основе нейронок нужны в геймдеве на самом деле.
Если вы сделаете инструмент который будет на раз-два разворачивать UV, лоуполи,

Какие нейронки НАМ на самом деле нужны в Gamedev

А не по генерации 2д картинок из чужих 2д картинок. Этого добра уже навалом. Авторматизация дает максимальный выигрыш именно там где есть достаточно простой, но муторный процесс НЕ творческой работы. Тем самым дав нам всем инструмент для увеличения наполнения игр контентом.

Поделитесь и вы самой скучной работой в геймдеве — которая простая и не самая приятная. Но которую нужно делать, и делать аккуратною. И своими предложениями как нейронки могут помочь ее оптимизироавать.
И поделитесь своими необычными инструментами по оптимизации скучной работы.
Ps: Make Gamedev Great Again!

57
1
29 комментариев