Используем DALL-E для геймдева
Получил доступ к DALL-E и попробовал применить его к чему-нибудь полезному — геймдеву. В конце-концов, к чему ещё прикручивать процедурную генерацию.
Сначала тезисно расскажу об общих впечатлениях, а потом посмотрим для чего в геймдеве можно использовать этот инстрмент прямо сейчас. А для чего пока не получится.
Осторожно, много трафика — DALL-E отдаёт png файлы размером 1-2 мегабайта. Я немного пожал их, но качество старался сохранить на максимуме, поэтому картинки всё-равно тяжёлые.
DALL-E
DALL-E - это SOTA нейронная сеть для генерации изображений.
Она может:
- Создать несколько изображений по текстовому описанию.
- Создать вариации конкретного изображения, из п.1
- Дополнить/изменить изображение из п.1. Пользователь стирает часть картинки, пишет новое описание и сеть заново заполняет убраные части.
Доступ дают всем, кто хочет, но есть задержка (дни/недели после регистрации). Изображения создаются за кредиты, которые можно докупать. Каждому пользователю даётся достаточно бесплатных кредитов, чтобы поэкспериментировать, плюс каждый месяц немного будут досыпать.
На мой взгляд, доступ к инструменту довольно дешёвый.
Есть цензура. Если захотите сгенерировать порнушку, увидите что-то вроде этого:
It looks like this request may not follow our content policy.
Further policy violations may lead to an automatic suspension of your account.
Цензура, конечно, тоже на каком-то ML построена, поэтому есть способы обходить :-) Одно из направлений атаки опишу в этом посте, но я им не злоупотреблял, поэтому не знаю на сколько оно будет эффективным.
Общие впечатления
У меня больше не будет проблем с поиском интересных заглавных изображений для постов.
По ощущениям, инструмент находится близко к тому, что я описывал как Feature Programming.
Работает DALL-E не идеально — это не полноценная замена профессиональным художникам. Но это крутой способ быстро и дёшево получать изображения достаточного качества для многих задач.
Проблемы, которые я обнаружил:
- Не умеет выполнять детальные запросы. Чем больше слов в описании, чем оно конкретнее, тем хуже будет результат.
- Сильно тяготеет к мемичным оптимумам. Сеть училась на контенте из наших интернетов, который сильно перекошен в сторону популярных мемов. Чем ближе запрос к мемам, тем лучше будет результат. Чем дальше от популярной темы, тем хуже. Например, сеть на раз генерирует котиков, но эльдар или Слаанеш из W40K сходу получить сложнее.
- Плохо справляется с мелкими деталями, частными случаями, etc.
DALL-E - это не волшебная палочка и, с большой вероятность, не станет ей в обозримом будущем.
Это новый тип инструмента, которым надо учиться пользоваться. Он безусловно изменит многие отрасли, но не более того.
Де-факто, это что-то вроде компаса для навигации в коллективном инфополе — океане идей, где острова — это мемы (устоявшиеся и возможные), а воды между ними — terra incognita. С помощью DALL-E мы можем целенаправленно исследовать этот океан в поисках новых мемом.
Поэтому взаимодействие с сетью ближе всего к работе исследователя. А исследователям нужны вспомогательные инструменты.
Поэтому предполагаю, что скоро начнут появляться надстройки над DALL-E, которые будут давать больше инструментов для точной навигации. Например:
- Ввод текста заменят или дополнят кучей ползунков и флажков для более точного выбора направления. Самый простой вариант: выбор стиля картинки кликом по иконке с типичным для него изображением.
- «Умная» автоматическая генерация бОльшего количества вариантов изображений с помощью автоматических преобразований оригинальной фразы.
Если бы у меня было время и деньги, я бы, пожалуй, даже занялся разработкой такой штуки.
Используем DALL-E для задач геймдева
Я пробовал несколько направлений использования, буду рассказывать о них по-порядку. То есть начну с самых наивных попыток :-)
В примерах картинок обычно будет 4 изначальных варианта плюс три детализации лучшей версии.
Скриншот игры по концепт-документу
Я люблю писать концепты игр, поэтому первое и самое наивное, что пришло мне в голову: а не нагенерить ли скриншотов гипотетических игр. Было бы круто концепты сопровождать сразу скринами.
Экспериментировал, конечно, на своих концептах.
Screenshot of an indie game for PC: a simulator of the universe — multiplayer socio-political sandbox on the scale of Space Opera.
Stylistics is minimalist. Basic information is presented in text, pictograms, and icons. For images, low-detailed vector drawings are used.
Indie game "NoCraft" — like StarCraft but without micromanagement. Less reflexes, more strategy. RTS with indirect control, mutations of units and their behaviour. The setting is space, captured by zergs. The graphics style is simplified, cartoonish, frivolous, and vector.
Как можно видеть, DALL-E хорошо схватил тему инди игр и космоса, но в остальном получился откровенный трешак. Поэтому я отложил концепты игр и вспомнил об идее Write Your Own Adventure.
Детальное описание сцены
Тексты, которые может воспринимать DALL-E сильно ограничены по размеру. И далее вы увидите, что, чем меньше размер, тем лучше результат. В нюансы сеть пока не умеет.
Concept art of an old dwarf-necromancer who stands on the top of a hill. The dwarf has a magically enchanted leg prosthesis, one eye is replaced with a glowing ruby. The hill is surrounded by the inquisition. There are spirits flying in the sky.
Concept art of an old dwarf-necromancer who stands on the top of a hill. The dwarf has a magically enchanted leg prosthesis, one eye is replaced with a glowing ruby.
Обратите внимание, что персонаж не имеет протеза ноги, а рубиновый глаз нашёл отражение только в цветовой гамме.
Концепт-арт
Если убрать уточнения, то концепт-арт какой-то получается.
Concept art of an old dwarf-necromancer who stands on the top of a hill.
Digital art of an old dwarf-necromancer who stands on the top of a hill.
Scary old dwarf-necromancer who stands on the top of a hill.
Scary old dwarf-necromancer fighting inquisition
Как видите, самое короткое описание дало самый лучший результат. Но всё равно не точный — битвой с инквизицией и не пахнет.
Детальное отображение сцены всё-ещё невозможно, но концепт-арт определённо получается, каким-то. Для низкобюджетного инди должен подойти.
Низкобюджетный pixel art
Тогда давайте посмотрим на самую дешманскую графику, которую мы можем получить.
Pixel art image of an scary old dwarf-necromancer fighting inquisition
Ну, вы сами всё видите. Готовые спрайты для рогалика без анимации. Сколько их можно нагенерить? Миллионы.
High-resolution pixel art image of an scary old dwarf-necromancer fighting inquisition
Можно даже с детализацией!
А если про космос? И сразу sprite sheet.
Pixel art sprite sheet with monsters for a roguelike in cosmos
Sprite sheets пока сложно делать, а если по отдельности?
Pixel art sprite of a monster from outer space for a roguelike game
Графика посложнее тоже получается, но это уже ближе к концепт-арту.
2D image of a monster from outer space for a PC game
А вот и обещанный чит для кастомизации картинок. DALL-E умён, если затереть часть тела, специфичную для гендера и попросить его сдвинуть картинку в сторону выраженности гендера, то он это сделает. Например, можно затереть монстрику грудную клетку.
More womanly image
Если попросить нарисовать профессиональнее, DALL-E нарисует.
Professional 2D image of a monster from outer space for a PC game
Тематический pixel art тоже получается, если тема известная.
Pixel art image of star trek crew
Попытался создать спрайты для карты, но не особо получилось, всё-таки много нюансов.
Tiled pixel art map of fantasy kingdom
DALL-E почти умеет делать покадровую анимацию. Кадры умеет, анимацию пока нет :-)
Pixel art sprite sheet with an animation of running warrior
Прочие интересные штуки
Сеть очень плохо работает на редких пересечениях мемов. Например, для кучи вариаций запроса получилась только одна интересная картинка.
Zerg queen in Japanese school uniform
Но некоторые страннае запросы отрисовывает довольно интересно. Например, для трёх запросов
1. epic battle diorama of MMORPG game
2. realistic epic battle diorama of MMORPG game
3. epic battle diorama of pixel art MMORPG game
Most beautiful image of a divine steampunk dwarf hamster.
1. Vrubel-style painting of an indie game developer working on her game.
2. Vrubel-style painting of an indie game developer working on her game, like The Demon Seated.
3. Vrubel-style painting of an indie game developer working on his game, like The Demon Seated.
4. Vrubel-style painting of an indie game developer working on his game
Выводы
В общем-то по примерам всё видно. Уже сейчас DALLE-E это:
- Быстрые дешёвые наброски концепт-арта.
- Быстрый дешёвый пиксель-арт.
- Быстрые уникальные картинки для блогов.
- Инструмент навигации в пространстве мемов.
Что стоит ждать от следующих версий:
- Анимации.
- Более точного исполнения запросов.
- Поддержания концептуальной и стилистической целостности между множеством изображений.
- Итеративного конструктора сцен, в стиле github copilot.
Читать далее
- Используем DALL-E-3 для геймдева
- OpenAI Chat для геймдева
- Генерация подземелий — от простого к сложному
- Автоматический генератор квестов
- Концепт-документ игры NoCraft
- Концепт-документ игры Space Opera Engine
- Делаем простой ИИ тамагочи на ChatGPT
- Будущее контента в геймдеве
- Глупые прогнозы об Искусственном Интеллекте
- Процедурную генерацию в массы!