Эссе о разработке игр, мышлении и книгах

Больше новостей о процедурной генерации

Примеры генерации 3D модели по запросу "A capybara made of voxels sitting in a field"

Примеры генерации 3D модели по запросу "A capybara made of voxels sitting in a field"

На этот раз Open AI рассказали о новой нейронке (на русском) а-ля GPT-3, но для изображений. Пример её работы можно видеть на заглавной картинке. Изображения сформированы для фразы «A capybara made of voxels sitting in a field» (капибара из вокселей, которая сидит в поле).

На странице с анонсом можно посмотреть другие примеры работ, включая разные способы изображения (3D рендер, изометрию, низкополигональные модели, etc).

Результаты, конечно, кривоваты. Но, надо учесть два нюанса:

  • Это первый подход к подобной архитектуре с подобными деньгами.
  • Это сеть общего назначения, не натасканная на геймдев.

А вот если бы её допилить, специализировать на фэнтези, да подключить к Сказке… Но у меня столько денег нет :-) А у кого-нибудь обязательно найдутся.

Постепенно вырисовывается новый пайплайн для арта:

  • нейронка для постановки задания;
  • нейронка для генерации контента;
  • нейронка для устранения неточностей на картинке;
  • нейронка для стилизации;
  • нейронка для вылизывания;
  • нейронка для выделения 3D меша;
  • нейронка для оптимизации меша;
  • нейронка для анимации;

Интеграция контента, позиционирование камер, цвет, свет, звук и прочее — тоже нейронки. Ну вы поняли :-D

Товарищи, которые научатся делать эти лопаты, сорвут большой куш.

Процедурную генерацию в массы!

Пример процедурной генерации.

Пример процедурной генерации.

Google выпустил экспериментальную нейронку, которая создаёт изображения новых существ «по чертежу». «Пример чертежа» на заглавной картинке.

То есть на генерации аватарок развитие нейронок не остановилось и даже не запнулось. Грядут большие перемены, как минимум, на рынке мультимедиа.

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

Далее

Русскоязычная GPT-2+ от Сбера vs «Сказка»

Сбер выпусти свой генератор текста, основанный на GPT-2. Я попробовал скормить ему сказочные описания действий героев. Проверял на jupiter note, опубликованной в вебе, так что вы тоже можете с ней поиграть.

Обновлено: говорят, использовали на GPT-3, а GPT-2 с доработками.

Получилось средненько — не на тех текстах всё-таки нейронка обучалась. Вот если бы ей фэнтези скормили… Текст получается осмысленный, но чувствуется явная нехватка контекста.

Самые интересные примеры под катом.

Далее

Процедурная генерация и прочая математика

Открыл для себя доклады, которые Squirrel Eiserloh делал для математической секции GDC. Очень наглядно и доступно рассказывает о процедурной генерации, случайности и прочей математике.

Доклады:

Доклады о процедурной генерации особенно интересны.

Генерация подземелий — от простого к сложному

Что у нас должно получиться.

Что у нас должно получиться.

В этом уроке рассказывается, как запрограммировать подземелье. Если вы не программист, вам будет интересно почитать как придумать подземелье.

Несколько вечеров проверял идею генерации космических баз. Космическая база в итоге не получилась, а вот на добротное подземелье результат похож. Поскольку шёл от простого к сложному и никакой суровой магии не делал, то решил переработать код в урок по генерации подземелий на Python.

В итоге у нас получится генератор подземелий со следующими свойствами:

  • Комнаты будут соединены коридорами.
  • Топологически подземелье будет иметь форму дерева. Добавить циклы будет элементарно, но уже в качестве домашнего задания.
  • Будет настраиваться количество комнат, их размер, «уровень ветвления».
  • Подземелье будет располагаться на клеточной сетке (состоять из квадратных клеток).

Весь код можно найти на github.

Кода в посте не будет — все используемые подходы легко описываются словами.

Для каждого этапа разработки в репозитории будет создан отдельный тэг, содержащий код на момент завершения этапа.

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

Далее