Днём я аналитик, вечером собираю заклинания: полгода делаю свою первую игру

Всем привет! Это мой первый пост на DTF. Я работаю дата-аналитиком, а в свободное время делаю Magic Survivors — игру, в которой нужно выживать среди толп врагов и собирать собственные комбинации заклинаний. Уже есть версия, которую можно попробовать, и короткий трейлер. С него и начну.

Трейлер Magic Survivors

Мне всегда хотелось сделать свою игру. Но когда работаешь полный день, мысль о соло-разработке быстро превращается в подсчёт: сколько вечеров уйдёт на код, сколько на графику, сколько на всё остальное? Я долго откладывал, а примерно полгода назад решил попробовать с помощью ИИ. Движок выбрал Unity.

По ходу разработки менялись и инструменты: начинал с GPT-5.5, потом использовал GPT-5.6 Sol, сейчас — GPT-6 Astra. Нейросети стали большой частью работы над проектом. На скриншоте ниже — статистика уже со второго аккаунта в сервисе ИИ: первый аккаунт там мне заблокировали. Здесь набралось 4,7 миллиарда токенов — это общая статистика использования аккаунта.

Ради интереса прикинул, сколько такой объём мог бы стоить через API. Если условно пересчитать всё по стандартным тарифам GPT-6 Astra для короткого контекста — 90% входящих токенов и 10% ответов, без кэширования, — получится около 65 800 долларов. Это только пример для понимания масштаба, не мои реальные расходы: я использовал разные модели, а соотношение входа, ответов и повторно используемого контекста сильно влияет на цену. Точные затраты по одному этому счётчику не восстановить. Тарифы API для расчёта.

4,7 млрд токенов в общей статистике. Это счётчик использования, а не стоимость разработки игры.
4,7 млрд токенов в общей статистике. Это счётчик использования, а не стоимость разработки игры.

Хотелось не просто получить ещё один огненный шар

В основе — две игры, которые мне нравятся: Vampire Survivors и Magicraft. От первой взял идею выживания против орд, от второй — возможность повозиться с магией. Хотелось, чтобы между «нашёл заклинание» и «пошёл убивать врагов» было место для вопроса: а что будет, если собрать вот так?

Когда врагов становится много, результат сборки проверяется довольно быстро.
Когда врагов становится много, результат сборки проверяется довольно быстро.

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

Само заклинание задаёт атаку, а модификатор меняет её поведение. Например, подходящий снаряд можно заставить пробивать врагов или рикошетить. Поэтому интересно не только найти что-то посильнее, но и понять, что хорошо работает вместе.

Палочки тоже со своими странностями

В игре много разных палочек, и у каждой свои характеристики и уникальные эффекты. Отличаются запас и восстановление маны, скорость стрельбы, количество слотов и то, как палочка ведёт себя в бою. Например, Посох Маны помогает восстанавливать ману всем твоим жезлам, Посох Резонанса снижает её расход, а Жезл Хаоса при получении заполняется случайными картами.

Есть даже палочка-миниган. Она очень быстро стреляет, с отдачей и большим разбросом, но у неё всего два слота — и расширить их нельзя. Так что вместо длинной цепочки заклинаний приходится выбирать, какие две карты туда поставить. Мне нравится, что смена палочки может заставить заново обдумать всю сборку.

Несколько палочек из игры. Справа внизу — тот самый миниган.
Несколько палочек из игры. Справа внизу — тот самый миниган.

Есть и ограничения: количество слотов, расход маны, её восстановление и перезарядка. Забить палочку всем, что понравилось, — ещё не значит получить удобную сборку. Нужно смотреть, как она ведёт себя в бою и хватает ли ей ресурсов.

Один из вариантов того, во что постепенно превращается магия на экране.
Один из вариантов того, во что постепенно превращается магия на экране.

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

Выбор улучшения во время забега.
Выбор улучшения во время забега.

Между забегами — Звёздный атлас

Ещё в игре есть большое дерево постоянной прокачки — Звёздный атлас. Оно выглядит как карта созвездий: выбираешь, куда двигаться по связанным узлам, и постепенно вкладываешь ресурсы в нужные улучшения.

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

Общий вид части дерева. Здесь выбран узел максимальной маны.
Общий вид части дерева. Здесь выбран узел максимальной маны.
Улучшения можно поднимать по рангам. На скриншоте — регенерация маны.
Улучшения можно поднимать по рангам. На скриншоте — регенерация маны.

С графикой всё оказалось сложнее, чем я думал

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

На практике генераторы картинок и ассетов, которые я пробовал, не дали подходящего результата для моей игры. Отдельная картинка могла нравиться, но собрать из таких картинок цельный набор игровых спрайтов у меня не получалось: качество и стиль слишком различались. Я тратил на попытки и исправления больше времени, чем рассчитывал. В какой-то момент устал и пошёл искать готовые ассеты на itch.io.

Каталог ассетов на itch.io. Здесь я искал графику для проекта; не все наборы на скриншоте использованы в игре.
Каталог ассетов на itch.io. Здесь я искал графику для проекта; не все наборы на скриншоте использованы в игре.

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

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

Уже можно попробовать

Magic Survivors сейчас в стадии активной разработки. Многое ещё может измениться: от отдельных механик и характеристик палочек до полного ребаланса игры. Но уже сейчас на itch.io доступны бесплатные сборки для Windows и macOS. Если вам нравится возиться с билдами и проверять их на толпе противников — буду рад, если заглянете.

Особенно интересно узнать, понятна ли сборка палочки при первом знакомстве, какие сочетания вам понравились и в какой момент стало скучно или непонятно. Я уже слишком долго смотрю на игру изнутри, поэтому свежий взгляд очень нужен.

И если интересно, как всё это делается по вечерам и в выходные с помощью ИИ, — спрашивайте. Могу рассказать, где он помог, где пришлось долго возиться и что сейчас сделал бы иначе.

55
11