После обсуждения концепта в ChatGPT я передал работу Codex: с ним занимался сюжетом и изображениями игры. Для иллюстраций сохранилось больше следов, чем для многих разговоров о коде: конкретные запросы к встроенному image_gen, инструкция убрать выдуманную подпись и два варианта мельницы.
Открыть игру «Осквернённый Грааль: Ненаписанная легенда».
Разберём этот процесс от задания до принятого файла. Набор локаций датирован 20 сентября. Здесь можно показать реальную работу генератора и конкретное исправление, не придумывая модель, число попыток или обещание получить подходящую картинку с первого раза.
Передать генератору состояние сцены
В задании для иллюстраций зафиксировано скромное обжитое поселение. В сохранённых запросах это выражено предметно: небольшие дома, мокрый камень, трактир с супом и хлебом, комната лекаря с перевязочным материалом. Общая основа — гуашь и масло, заметный мазок, холодные серые оттенки и сдержанное тепло огня.
Запрос должен учитывать сценарий, над которым шла работа с Codex. Лодка на фоне останется в кадре и после отплытия по тексту. Поэтому в запросе мельницы отдельно запрещены лодки и заметные люди: одна иллюстрация должна подходить к нескольким состояниям места. Это продуктовая граница, которую я должен передать инструменту до генерации.
В первом сохранённом пакете проекта есть frontend-design и visual-qa. Они предписывают начинать с решения игрока, не прятать цену за декором, проверять длинный текст и мобильный экран. Эти процедуры объясняют способ приёмки изображения в интерфейсе; исторический вызов каждого skill при генерации не подтверждён. Сам image_gen назван в документе прямо.
Какая часть запроса управляет результатом
Фрагмент сохранённого запроса мельницы:
No boats and no prominent people; the same place must remain plausible
before and after a supply boat departs.
Здесь нет абстрактного «сделай атмосферно». Указано, что исключить и почему. В том же запросе есть композиция для мобильной обрезки, фактура, палитра и запрет надписей. Последний не сработал полностью — именно поэтому сохранён следующий этап коррекции.
Генератор создаёт вариант по этому контексту. Принятие остаётся за человеком: совпадает ли масштаб поселения, не появились ли лишние персонажи, не спорит ли кадр с будущим состоянием сцены. Красивый рисунок можно отклонить по одному из этих оснований.
Реальная правка: выдуманная подпись
Документ с промптами сохраняет отдельную редакцию мельницы и трактира: убрать похожую на подпись надпись в нижнем левом углу, восстановив естественную живописную фактуру. Остальную композицию, свет, цвет и размеры требовалось сохранить.
Для мельницы понадобилось дополнительное уточнение. В запросе названа оставшаяся белая закорючка и область у нижнего края. Итоговый файл получил имя mill-v2, предыдущий mill-v1 сохранён. Это наблюдаемая цепочка изменения, а не предположение о том, сколько вариантов обычно требуется генератору.
Узкая правка имеет практический смысл: когда сцена уже подходит, полная перегенерация снова ставит под вопрос берег, колесо, архитектуру и настроение. Но даже локальное редактирование требует просмотра результата — просьба сохранить остальное ещё не доказывает, что оно сохранилось.
В этом случае не понадобилось менять концепт целиком. Правка была ограничена областью дефекта: восстановить естественную живописную фактуру и сохранить остальные объекты. Это содержательная коррекция результата ИИ, зафиксированная в документе, а не универсальная история о том, что агент всё исправляет сам.
От исходника до файла в браузере
Исходные локации имели размер 1536 × 1024 и сохранялись в PNG. Для доставки использовались JPEG с качеством 78, без изменения геометрии. Файлы размещались локально в проекте; экран загружал одно изображение текущего места.
Число качества относится к подготовке именно этого набора. Оно не гарантирует подходящий вес или отсутствие артефактов у любого другого изображения. Для следующей партии нужно снова посмотреть мелкие детали, тёмные градиенты и фактический размер файла.
В запросах заранее учитывался мобильный кадр: центральный объект должен оставаться узнаваемым после обрезки. Проверять это нужно в реальном контейнере интерфейса. Полный пейзаж может выглядеть хорошо в просмотрщике и потерять весь смысл в узкой карточке.
Проверить артефакт в том месте, где его увидит игрок

Visual-qa требует реальный браузер и контрольные ширины 360, 768 и 1280, а при недоступном приложении — честно назвать статический просмотр. Это хороший критерий отчёта от помощника: не «картинка готова», а где её проверили и какой дефект искали. Сам текст инструкции не доказывает, что все эти просмотры произошли именно при первом наборе.
Отдельно создавались портреты охотника, лекаря и солдата. Внешний вид не должен становиться незаявленным правилом героя: стартовые ресурсы задаются контентом, а не рисунком. Проверить это соответствие — ещё одна задача человека между генерацией и включением изображения в игру.
Исторические промпты сохраняют прежнее имя The Last Circle; нынешнее описание проекта — неофициальная фанатская игра. Смена названия не требует переписывать историю запросов. Для следующей партии я сохранял бы исходный промпт, выбранный вариант, причину правки и итоговый файл: тогда обсуждать качество можно по артефактам, а не по памяти о диалоге.