Сделали с женой дополнение для настольной игры с помощью ChatGPT и Codex ☺️
Одна из наших любимых настолок — Codenames Pictures. Там есть 280 картинок с необычными изображениями. Например,
олень с гирляндой на рогах или
джин, появляющийся из огнетушителя. Смысл игры — в придумывании удачных ассоциаций к карточкам, чтобы другие игроки могли отгадать, какие именно карточки нужно выбрать.
Нам надоели стандартные карточки, поэтому мы решили
нагенерировать своих. Мы думали, что это будет просто. В итоге потребовалось
немало итераций, но зато по
качеству результат оказался лучше, чем мы представляли изначально! 😆
Результат можно посмотреть на видосе 👆
Делалось это всё итеративно, Но для удобства изложения я опишу всё по порядку. Поехали! 🍿
1) Генерация идей для карточекС помощью ChatGPT Pro мы сгенерировали около 500 идей для карточек. Это существенное упрощение работы, потому что самим придумать много креативных идей типа "гранат-глобус" и "цапля-циркуль" достаточно тяжело, проще выбирать из сгенерированных.
В промпт мы прописали, что идеи для карточек должны быть такими, чтобы на каждую из них сходу можно было придумать по 2-3 ассоциации, и чтобы карточки при этом не были визуально перегружены.
Ещё объекты не должны повторяться, иначе играть особо не получится (это следует из правил игры), поэтому мы за один запрос генерили сразу все идеи пачкой + потом фильтровали вручную.
2) Генерация самих картинокChatGPT умеет генерировать сразу по 10 картинок за раз, что вполне удобно. Даём ему промпт с подробным описанием стиля картинок и закидываем идеи пачками по 10 описаний (как же мне тут пригодилось знание vim с его командами типа "
d10d" для вырезания 10 строчек сразу в буфер обмена). Можно параллельно в нескольких вкладках это делать, кстати.
3) Ручной фильтрИз ~500 картинок мы оставили 112 хороших идей. Из них половину пришлось перегенерировать, чтобы убрать нейро-странности, см первую картинку 👆. Сколько же нейрослопа мы отфильтровали на этом шаге.. 😱
4) Формирование pdf для распечаткиНа этом шаге у нас уже есть 112 png-шек с изображениями на белом фоне, и из них надо сделать pdf, в котором на А4 они будут разложены как карточки нужного размера с нужными отступами.
Как же приятно, что сейчас это решается за один промпт. Я попросил Codex написать скрипт, который возьмет папку с картинками, добавит 5% белого фона по краям, сделает скругленную прямоугольную рамку везде одинаковую, расположит оптимальное количество карточек на A4-листе. Я указал ему, что карточки должны быть 7 на 7 сантиметров, а поля принтера около 0.5 см.
Никак не могу привыкнуть к этому
ощущению суперсилы, которая появляется при использовании ИИ для вещей, которые раньше делал бы вручную 🏄
5) Коробка для карточекВообще, это "дополнение" мы делали как совместный подарок на день рождения, поэтому мы заодно решили сделать и красивую коробку. Тут было много возни.
Если просто попросить ChatGPT сгенерировать раскройку, он выдаст слоп как на картинке 2 😁 (достаточно очевидно, но мы проверили)
Финальное решение выглядит так: я сделал пустую раскройку в
онлайн-генераторе, перевёл её в ЧБ, чтобы не было розовых линий на коробке, и попросил ChatGPT поверх наложить одну из картинок-карточек. Ооочень долго я в разных чатах пытался убедить его правильно расположить элементы картинки, чтобы при этом он не испортил пропорции оригинальной раскройки. Но в большинстве чатов он настойчиво менял раскройку так, как ему было удобнее :)
На глаз этого не видно, я проверял в фотошопе наложением получившейся картинки с полупрозрачностью на оригинальный контур (см. последнюю картинку 👆). После 20-30 итераций у меня получился ПОЧТИ правильный вариант! Я психанул и доделал чуть-чуть в фотошопе уже..
6) Печать и сборкаНа Авито набор таких карточек предлагают напечатать где-то за ~2500 рублей. Мне повезло, что у меня есть друг Егор, который на своём цветном принтере на уплотнённой бумаге уже печатал карточки для своей DnD-кампании, и здесь он нас выручил. Получились "картоновые" карточки, как я сказал в видео!
UPD: проверили карточки в игре, все круто 😎