Gemini помог собрать ассеты для инди-RPG, но без правил всё разваливается
Разработчик инди-игры Morveyn рассказал, почему генерация игровых изображений через ИИ быстро превращается в хаос, если не задать жёсткие правила. На примере Gemini он показал, как пытался добиться единого стиля для портретов, юнитов, зданий и объектов карты.
Когда одной красивой картинки мало
Автор начал делать Morveyn — пошаговую RPG для Telegram, вдохновлённую классическими фэнтезийными стратегиями вроде King's Bounty. С кодом всё шло ожидаемо: фронтенд на Next.js, бэкенд на Java, серверная логика и генерация карты были понятной частью работы.
С графикой оказалось сложнее. Для игры нужны десятки, а дальше и сотни ассетов: герои, враги, постройки, элементы окружения, иконки и интерфейс. Заказывать художника под каждый эксперимент на стадии MVP было слишком дорого, поэтому разработчик решил использовать генеративный ИИ и в итоге остановился на Gemini.
Главная проблема — не качество, а единый стиль
Сделать отдельную фэнтезийную картинку сегодня несложно: модель может выдать эффектного рыцаря или другого персонажа по короткому описанию. Но когда рядом оказываются гоблин-шаман, скелет-воин, эльфийский лучник и башня, выясняется, что каждый ассет выглядит так, будто взят из другой игры.
По словам автора, именно в этом и есть ключевая сложность: важно не только получить красивое изображение, но и удержать вариативность под контролем. Ассеты должны занимать примерно одинаковую площадь, не иметь лишних декоративных деталей и в целом выглядеть как часть одной визуальной системы.
Промпт пришлось собирать как техническую спецификацию
Сначала разработчик пытался описывать каждый объект отдельно, но быстро понял, что одинаковые формулировки не гарантируют одинаковый результат. Тогда он разделил запрос на постоянную и переменную части: базовый блок описывал стиль, а отдельная часть менялась под конкретный объект.
В общие правила он заложил эстетику фэнтезийных стратегий 1990-х, тёмно-коричневые оттенки дерева, старое золото, единую стилистику мира, а также запрет на надписи, логотипы и водяные знаки. Для портретов и объектов глобальной карты он сделал разные шаблоны: у портретов важны ракурс, композиция и фон, а у карты — единый угол обзора, одинаковый масштаб и ортографическая проекция без искажений.
Нужно не только просить, но и запрещать
Отдельная часть работы — отрицательные ограничения. Генеративные модели часто добавляют красивый свет, дымку, тени и декор, но для игровых объектов это может стать проблемой: после уменьшения изображения персонаж превращается в нечитаемое пятно.
Автор использовал подход, похожий на Negative Prompt в Stable Diffusion, только в Gemini ограничения пришлось прописывать прямо в тексте. Смысл был в том, чтобы ассет оставался узнаваемым даже на маленьком размере. Такой подход не сделал все картинки одинаковыми, но заметно улучшил управляемость стилем и сделал генерацию ближе к обычной инженерной задаче, а не к творческой лотерее.