Постмортем: как мы сэкономили $15000 с помощью ИИ и создали roguelite мечты

Расскажем, как мы выпустили свою первую видеоигру и чего нам это стоило: от первых концепций до финального результатов и ИИ-скандалов. Если вам интересно, за что разработчикам видеоигр могут желать смерти (даже если разработчики делают игру 3+), то добро пожаловать в наше увлекательное путешествие длиною почти в восемь лет, посвященное разработке нашей игры — Cardara!

Постмортем: как мы сэкономили $15000 с помощью ИИ и создали roguelite мечты

Робкие попытки что-то сделать

Зимой аж 2016 года мы впервые поиграли в Reigns. Она захватила нас, мы проводили в ней вечера напролёт. В голове появилась навязчивая идея: что если свайпать события можно не только влево и вправо… но и вверх и вниз? Можно ли заполнить все игровое поле бесконечными случайными событиями, влияющими на игрока? Что, если случайных событий сделать так много, что сами собой появятся непредсказуемые увлекательные исходы? Получался настоящий rogue-like, чего мы, честно говоря, вообще не ожидали.

Первые скетчи. Справа дизайн карты с первыми UI элементами
Первые скетчи. Справа дизайн карты с первыми UI элементами

Идея мариновалась и бодро обсуждалась внутри коллектива (тогда ещё из двух человек). Рисовались первые игровые флоу тогда ещё в программе Sketch. app на macOS. Появилось понимание: чтобы игра была интересной, нужно очень много разных игровых событий — «карт». Для каждой из таких карт нужен уникальный арт. Для уникальных артов нужен художник. Для художника нужны деньги. «Некого + не на что» — такова была наша ситуация на тот момент, поэтому мы начали рисовать сами.

Помидорка - наш фаворит, даже не смотря на то, что он не смог попасть в финальную версию.
Помидорка - наш фаворит, даже не смотря на то, что он не смог попасть в финальную версию.

Мы выстроили пайплайн следующим образом: а) придумывали то, что может делать карта, б) придумывали её внешний облик, в) рисовали в Sketch. app векторный арт. Постепенно артов накопилось очень много. Это были первые пробы художественного пера, иногда неряшливые, а иногда вполне себе жизнеспособные.

Маленькие и большие игры

Время шло, приоритеты студии менялись: вместо разработки мобильной видеоигры мы занялись другими проектами. Вначале мы сняли независимое кино (не спрашивайте), а затем взялись за написание большого сценария для сюжетной видеоигры LOCUS equation, о которой всегда мечтал один из основателей студии.

Все же сюжетные игры — это то, что интересно нам больше всего остального. Это целая платформа для выражения собственных идей и мыслительных концептов. В сюжетные игры вмещается столько содержимого, сколько никогда не поместится в мобильные.

<p>В студии мы называли сюжетную игру LOCUS EQUATION большой игрой, а Cardara! — маленькой. </p>

В студии мы называли сюжетную игру LOCUS EQUATION большой игрой, а Cardara! — маленькой.

Кто бы мог подумать, но большой проект со временем стал требовать больше ресурсов. Мы как команда не хотели прибегать к краундфандингу, потому что хорошая краудфандинговая компания — очень дорогое мероприятие, и при этом не факт, что успешное. У нас был выбор: потратить очень много сил, времени и денег на обертку для наших обещаний или придумать что-то другое. Мы выбрали что-то другое. С глубокой надеждой в сердце мы выбрали разработку Cardara!, ведь именно она должна протаранить дорогу для разработки нашей большой психологической RPG.

После этого мы стали оценивать объем работы, необходимый для завершения разработки Cardara!

Процесс, AI-арты и заморозка разработки

Примерно в марте-апреле 2022 года на свет появился первый дизайн-документ Cardara!, в котором были описаны актуальные на тот момент механики. Уже в мае 2022 года в нашей студии появился Junior Unity-программист, который приступил к разработке.

Постмортем: как мы сэкономили $15000 с помощью ИИ и создали roguelite мечты

Пока Unity-программист изучал дизайн-документ и планировал архитектуру кода, мы решили поискать художников, чтобы нарисовать нужные нам арты. Нарисованные нами в Sketch. app арты мы не стали использовать, потому что нас не устраивало их качество и количество.

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

1) 500 качественных артов будут обойдутся в $15000-25000 USD;

2) Художник «выдаст» нам бессрочную лицензию на использование артов — они не будут принадлежать нам, но мы сможем их использовать в игре;

3) Рисование всех 500 артов со всем back and forth займёт минимум два года;

4) Нужно будет поддерживать на протяжении двух лет активное человеческое общение с художником, а мы интроверты и нам тяжело это даётся.

Разумеется, данный вариант нас не устраивал. Мы начали изучать альтернативные решения. В тот момент Hugging Face выпустили img2img модель Stable Diffusion. Мы очень много и упорно экспериментировали с локальной настройкой Stable Diffusion, однако поняли, что она не способна выдать необходимый для нас результат.

В июле 2022 года, однако, на свет появился Midjourney. Мы сразу заинтересовались проектом: зарегистрировались и начали проверять на что она способна. Это было лучший подарок нашей студии! Мы были в полном восторге от того, что за $60 USD мы получали результат, устраивающий нас по соотношению время-цена-качество (иногда картинки и вовсе были лучше артов художников, к которым мы обращались).

Midjourney открыл нам дорогу к тому, чтобы наша игра таки вышла в свет.

Первые "пробы пера"
Первые "пробы пера"

В первую очередь мы ознакомились с условиями сервиса Midjourney. Узнали следующее:

1) ~500 качественных артов, по нашим подсчётам, обойдутся нам в ~$600 USD по подписке на протяжении нескольких месяцев;

2) Все сгенерированные арты будут находиться в собственности… никого! Midjourney классифицирует все сгенерированные изображения как Public Domain. Это буквально значит, что все арты — достояние общественности. Отлично! Для нас арты не самоцель существования Cardara!, а способ иллюстрации происходящих событий на игровом поле;

3) Рисование всех артов можно завершить за три-пять месяцев. Можно конечно и раньше, если есть желание и время (но у нас шла параллельная разработка большой игры).

4) Не нужно будет на протяжении всего времени работы над артами поддерживать активное человеческое общение ни с кем, ведь Midjourney — это машина, нейронная сеть… она спит и видит сны… мы используем её сны, чтобы иллюстрировать происходящие в нашей мобильной игре события. В этот момент чувствуется то самое «будущее, которое уже наступило»…

В итоге процесс разработки мы организовали следующим образом:

1) Гейм-дизайнер придумывает механики и сущности — карты, которые могут обладать данными механиками (мы решили, что в Cardara! будут события и монстры);

2) Арт-лид (и по совместительству нейрокуратор) генерирует арты в Midjourney;

3) Гейм-дизайнер и арт-лид вместе делают в Airtable таблицу, в которой описаны все игровые карты и их метаданные: название карты, художественное описание карты, арт, механики, теги и статус интеграции в Unity;

4) Unity-программист обращается к таблице Airtable, чтобы увидеть готовые к интеграции карты. Он добавляет их в игру и обновляет статус карты в таблице.

5) Процесс повторяется пока все карты и механики не окажутся в игре на движке.

Airtable для централизации процесса
Airtable для централизации процесса

Процесс шёл более менее плавно с мая по декабрь 2022 года. Но, как иногда случается по закону Мерфи, не по плану буквально пошло все: в конце 2022 года наша студия лишилась важного инвестора. Мы вынуждены были заморозить разработку мобильной игры.

К большому удивлению и радости, наш Junior Unity-разработчик решил остаться с нами, потому что ему очень нравилась идея игры. Мы оплачивали его работу как могли из личных средств, однако все прекрасно понимали, что так долго продолжаться не могло. Разработчик все же покинул нашу компанию, а мы остались думать — что же нам делать дальше.

Одна из очень ранних версий 
Одна из очень ранних версий 

Вторая версия игры на Unity за 5 месяцев

После глубоких и долгих обсуждений судьбы проекта внутри студии, мы пошли на радикальные меры. Мы — основатели студии — решили дописать её сами: один Unity-программист, который до этого не работал никогда в Unity и один арт-лид, который нейрокурировал арты из Midjourney. Все происходило параллельно разработке большой сюжетной игре и другой рутине.

Обновленный UI/UX игры в Figma на момент разработки 
Обновленный UI/UX игры в Figma на момент разработки 

В августе 2023 года мы стали переписывать игру с нуля на Unity. Процесс шёл бодро: сначала была спланирована архитектура карт, которые взаимодействовали с игровым полем на основе событийной модели: свайпы в любую из сторон вызывали обработчики событий на самих картах, которые меняли характеристики игрока, поля и вообще всего, чего только можно. Событийная модель с хуками (hooks) позволила нам добиться максимальной независимости каждой карты в коде. При этом все сущности в игре могли влиять друг на друга, чего мы и пытались все это время добиться.

Код одной из игровых карт
Код одной из игровых карт

К сентябрю 2023 года у нас уже было интегрировано 250 карт. Про изначальный план в 500 карт пришлось забыть из-за громадной нагрузки со всех сторон: такое количество работы вынести мы уже не могли, поэтому решили остановиться где-то посередине.

В октябре 2023 года уже можно было играть в Cardara! Получилась полноценная мобильная игра с интерактивным игровым полем: можно свайпать куда угодно, делать что угодно, все работает, здоровье в битвах падает, лайфстил лафстилит, дамадж редукшн редуктит, ходы считаются, уровень хаоса растёт и вообще! В этом же месяце мы написали музыку и сделали саунд-дизайн. Игра наконец-то стала «настоящей».

Актуальные арты
Актуальные арты

Но… к сожалению, мы поняли, что игре чего-то не хватало. Не цепляло. Мы уже было хотели релизить игру в октябре, но… сквозь серию острых дискуссий (срачей) пришли к выводу, что в игре нужна мета-прогрессия. Последние два месяца (ноябрь и декабрь 2023 года) ушли на реализацию встроенного батлпасса и мета-прогрессии.

Одновременно перед нами встал вопрос монетизации: как заработать на игре? В начале мы хотели делать игру «как все», то есть с рекламой и внутриигровыми покупками. Планировали дать возможность покупать в игре быстрый прогресс и доступ к батлпассу, покупать, покупать, деньги, деньги, подсаживать на рекламную иглу, смотреть рекламу во время смерти игрока, чтобы получить возможность играть дальше… рекламу, рекламу, размазать её повсюду… ммм…

Нас не устроил вышеописанный подход к монетизации. Мы решили просто сделать игру платной по нормальной цене. Как в старые добрые времена: один раз купил и играешь когда угодно и сколько угодно. Без рекламы — мы её ненавидим. Без внутренних покупок pay2progress — мы хотим, чтобы у всех были равные шансы пройти игру. Мы так устали от всех подписок в условно-бесплатных играх, что решили дать поиграть в Cardara! без всей этой дряни. Даже если это (потенциально, хотя не факт) может приносить меньше прибыли. Рисковать нам не впервой.

Баланс игры с GPT 4 Data Analyst

Параллельно с этим решался вопрос с балансом игры. Например, нормой была смерть на третьем игровом ходу! Так быть не должно, поэтому стали исправлять.

Представьте себе, что у вас 8 характеристик и 250+ сущностей. Всё влияет на всё. Нам нужно было добиться определенной «стабильности» геймплея. Для этого мы написали скрипт, который автоматически играет в игру и записывают всю статистику (характеристики игрока и игрового мира на каждом ходу игры) с каждой сессии в JSON-файл.

Бот, который играл за нас
Бот, который играл за нас

Мы включали нашего бота на несколько часов в день. Он играл по 100-200 сессий с разными характеристиками игрока (в интервалах HP 60-200, ATK 3-25 и с вариацией всех остальных характеристик CRC, CRD…). Полученные результаты мы «скармливали» GPT 4 Data Analyst, который строил нам графики прогрессии. По данным графикам мы подыскивали оптимальный баланс: искали выбивающиеся карты, «нерфили» слабые и «бафали» сильные. После 20 подобных итераций играть стало в разы приятнее.

Результаты ИИ аналитики 
Результаты ИИ аналитики 

Разумеется, этого было недостаточно для того, чтобы назвать игру полностью сбалансированной. В игре так много сущностей, что сбалансировать её полностью невозможно (передаем пламенный привет дотерам). Все оставшиеся проблемы мы решили исправлять уже после релиза с помощью патчей: игра преображалась на глазах у игроков.

Содержимое одного из патчей
Содержимое одного из патчей

Реакция игроков и пожелания смерти разработчикам

8 января 2024 мы выпустили игру в App Store, 20 января 2024 в Google Play Store. Очень неожиданно для нас игра была тепло принята сообществом Reddit и в AppRaven, где особенно хвалили арты, необычность геймплея и в целом «ненавязчивую» ценовую политику.

В категории "Игры" Cardara почти везде топ-100
В категории "Игры" Cardara почти везде топ-100

Мы пор получаем в основном конструктивные отзывы с полезной для нас критикой. Каждый отзыв трепетно читаем вслух, ведь это первая готовая игра нашей студии! Люди пишут о том, что им нравится игра, что они хотели бы видеть в ней. Мы тщательно все фиксируем и планируем следующие обновления на основе фидбека.

Постмортем: как мы сэкономили $15000 с помощью ИИ и создали roguelite мечты

Тем не менее, не всем понравилось наше решение использовать в игре AI-арты даже не смотря на то, что это позволило нам довести игру до конца и даже продавать её по привлекательной цене. Мы уже несколько раз получали сообщения на почту о том, что мы «AI thieves» и что мы должны «unl*fe yourself».

Постмортем: как мы сэкономили $15000 с помощью ИИ и создали roguelite мечты

Такие письма и отзывы мы воспринимаем скорее философски, чем близко к сердцу. Благодаря возможности создать столько красивых артов с помощью Midjourney, мы смогли довести наш проект до конца и выпустить его в свет. Каждый цент, заработанный нашей мобильной игрой, идёт на разработку LOCUS EQUATION (и мы этим гордимся).

Подведение итогов

С момента релиза прошел месяц: мы успели выпустить целых три обновления, в которых довели до ума баланс и интерфейс. Наш самый главный план на будущее — это довести количество карт в игре до 500 штук (а может и больше, кто знает).

Мы можем с уверенностью сказать, что наш первый блин получился не комом, а очень даже ням-ням-ням! Присоединяйтесь порадоваться вместе с нами и попробовать Cardara! бесплатно c помощью следующих промокодов:

App Store: RJ93L3AK6LF9, WHX6NLF7HK4M, TTLTMNEHR6FN

Google Play Store: HUFQ0QMZ0R72329FQ5EA15S, U2FRL1T0H524AMQ3WAC7Y5V, NNV07DCJYU4R1X1PZDYRBL5

Если вы взяли промокод, напишите об этом в комментариях вместе с вашими впечатлениями.

Если же вы решили купить Cardara!, то обязательно делитесь впечатлениями и, пожалуйста, пишите отзывы в сторах (или прямо сюда в комы).

Спасибо за внимание и подписывайтесь на Telegram-канал LOCUS EQUATION — нашей БОЛЬШОЙ игры.

14K14K показов
3.4K3.4K открытий
113 комментария

Комментарий недоступен

Ответить

Очень душный комментарий………

Ответить

Я глубоко не согласен, что Cardara «очередная убивалка». Могу поспорить вы не приведете ни одного примера кроме Reigns

Геймплей Cardara без преувеличения уникален и мы действительно очень гордимся проделанной работой. Ведь именно такие маленькие проекты для «непритязательной аудитории» и позволяют нашему коллективу создавать нашу большую игру Locus Equation в которую мы вложили годы надежд и кропотливой работы (ну и создать больше рабочих мест в индустрии, но это уже мелочи :)

Ответить

Ох тыж блядь. Ты то небось не за деньги работаешь. Если люди заплатили деньги и получили удовольствие, то парни проделали хорошую работу

Ответить

1. В чем заключалась ваша работа, если вы взяли готовый концепт, рисовала одна нейронка, а балансом занималась другая нейронка? Нет, я не в плане критики, что так делать нельзя. Просто выглядит так, будто вам сама игра по себе не интересна, и вы не занимались ей. Будто генератор за вас сгенерировал игру, а вы такие: "пойдет, вроде норм".

2. Нет информации о самой игре - про что, какой геймплей, чем интересна.

Ответить

1. Мы придумали 250 механик и спрограммировали их так, чтобы любая комбинация карт сочеталась уникальным образом (примерно как спелы в доте). Все эффекты, штрафы и прочие рпгшные штуки создают прикольные исходы. Кардара сложная игра, каждый ход в ней может быть буквально решающим, особенно на первых порах.
2. Рекомендуем заглянуть в магазин и сайт игры. Мы не хотели дублировать тут рекламные тексты и решили раскрыть историю именно создания этого проекта.

Ответить

Комментарий недоступен

Ответить