Как я два месяца пытаюсь сделать игру с ИИ

За два месяца я успел оставить два прототипа и несколько раз переделать третий. Сейчас у меня есть — выживание с толпами зомби и забегами на 15 минут. Делаю его с помощью ИИ и по дороге учусь вещам, о существовании которых раньше почти не задумывался.

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

Первая попытка и быстрый восторг

Для начала купил набор моделей от Wildenza за $5 и одним запросом попросил Claude сделать что-то похожее на Warcraft III. Проект назвал Claudecraft. Для работы над кодом выбрал Claude — мне с ним оказалось удобнее.

Минут через двадцать уже был прототип: можно строить, сражаться, есть противник. Первое впечатление — просто вау. А дальше что?

Потом решил что мне нужно на что-то ориентироваться и купил Warcraft III: Reforged, зашёл, поиграл и понял, что сам почти ничего не понимаю в стратегиях. Прототип появился быстро, а понимания, какую игру я хочу из него сделать, не появилось. На этом Claudecraft закончился.

Claudecraft — первая попытка сделать стратегию.
Claudecraft — первая попытка сделать стратегию.

Передвижной город и трёхмерный тетрис

Следующей попыткой стал Survival Car Builder. Тут хотя бы жанр был мне знаком: я много играл в bullet heaven — игры, где отбиваешься от толп врагов и постепенно собираешь набор оружия и усилений.

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

Концепт передвижного города, сгенерированный в ChatGPT.
Концепт передвижного города, сгенерированный в ChatGPT.

Оставалось перенести это в игру. Попробовал Tripo, рекламу которого постоянно видел в Google. Взял подписку за $20 и начал генерировать модели. На первый взгляд результат выглядел неплохо. Но готового решения для своей игры я из него так и не получил, так как такая модель совсем не подходил для игры.

Как я два месяца пытаюсь сделать игру с ИИ

Пришлось знакомиться с Blender. Нашёл у VideoSmile часовое видео, где делают домик с пальмами, и повторил урок. После него уже мог собирать самые простые модели. Например, гусеницу для этого проекта сделал сам. Позже большую часть моделирования я поручал ИИ, но эти первые навыки ещё пригодились.

Как я два месяца пытаюсь сделать игру с ИИ
Как я два месяца пытаюсь сделать игру с ИИ

Через какое-то время в игре появились враги, опыт, раунды, монетки и расстановка модулей. Но всё оставалось недоделанным. Я то строил боевой город, то переделывал его в танк с модулями, параллельно мучился с Tripo, Blender и самой игрой.

Сейчас думаю, что это было время экспериментов. Я искал способ получить нужный результат и постоянно менял саму задумку. В какой-то момент устал и перестал понимать, как её закончить. Решил начать заново, теперь-то уже как надо. По крайней мере, мне так казалось.

Cubocalypse и готовые ассеты

Так я начал нынешнюю игру. Хотел всё тот же survival, но с уворотами и опасными ударами. Подсмотрел у Megabonk вид от третьего лица, а по ощущениям от боя представлял что-то в духе Dark Souls: вокруг толпа, и каждый пропущенный удар может стать последним.

Сделать всю графику самому, даже с ИИ, у меня пока не получалось. Нашёл Synty и взял подписку примерно за $120. Уже ощутимо, было больно. Скачал наборы, дал Claude доступ к папке, объяснил идею — и снова получил прототип, которому обрадовался.

Как я два месяца пытаюсь сделать игру с ИИ

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

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

Кубы и своя фабрика картинок

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

Тут я ещё решил сэкономить на генерации картинок для будущих моделей. Спросил у нескольких ИИ, как это лучше устроить, и все советовали подписку Google. Купил её за $20. На практике для моей задачи она оказалась бесполезной: по ощущениям, половина запросов заканчивалась ошибкой, а вторая выдавала какой-то бред вместо того, что я просил.

Мне ведь нужны были конкретные персонажи и предметы в одном кубическом стиле, которые потом можно собрать в Blender. Если на выходе получается совсем не то, использовать это некуда. С готовыми ассетами я уже попал в ситуацию, когда графика диктует, какую игру делать. Повторять это ещё и с генерацией не хотелось. В итоге $20 ушли ещё на один эксперимент, который мою задачу не решил.

Вернулся к ChatGPT и попросил его помочь организовать маленькую фабрику картинок. Он подготовил общие правила для генерации и папку проекта, куда сохранял результаты. Так стало удобнее работать с вариантами и постепенно собирать свой набор ассетов. Дальше всё равно шло по кругу: придумал, сгенерировал, посмотрел, что не так, попробовал снова.

Как я два месяца пытаюсь сделать игру с ИИ

Поиск персонажей и вариантов внешности в фабрике картинок.

Потом подключил ChatGPT к Blender через Blender MCP, чтобы он мог собирать модели по этим картинкам. Получалось уже ближе к тому, что хотелось. Для этой работы оформил подписку за $100.

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

Постепенно игра начала выглядеть так:

Одна из промежуточных версий с городом и кубическими персонажами.
Одна из промежуточных версий с городом и кубическими персонажами.

Переделок было много. На карте появились задания и разные взаимодействия. Был даже джип, на котором можно было ездить и сбивать всё, что плохо прикреплено к земле.

Джип из промежуточной версии. Сейчас поездок на нём в игре нет.
Джип из промежуточной версии. Сейчас поездок на нём в игре нет.

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

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

Как игра дошла до нынешнего вида

После небольшого перерыва продолжил. За это время камера переехала наверх, город сменился пустошью, поменялись интерфейс, персонажи и набор умений. Первую версию нового ковбоя я замоделил сам. Остальных персонажей и дальнейшие переделки делал уже с помощью ИИ.

Часть механик убрал: из игры ушли поездки на машинах, эвакуация на вертолёте и сундуки, которые открывались за деньги. Модели и эффекты Synty постепенно заменил своими. Для движений оставил готовую основу — Universal Animation Library 2 от Quaternius за $15. С помощью ChatGPT адаптировал анимации под своих персонажей.

С геймплеем оказалось сложнее, чем с добавлением очередной модели или способности. Сначала надо понять, что вообще делать и почему это будет интересно. Потом — как это реализовать. А после реализации ещё может выясниться, что сама идея тебе не нравится.

Были дни, когда я почти только разговаривал с Claude: обсуждали умения, врагов, развитие персонажа и то, что из этого стоит оставить. После одного такого разбора получилось то, что я назвал мегаобновлением. Claude вносил изменения примерно шесть часов. К этому моменту у меня уже была подписка Max за $100. Потом всё равно пришлось играть, проверять и переделывать. С балансом я до сих пор разбираюсь.

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

С цветами была отдельная возня. В Blender модель выглядела нормально, а в игре одни цвета бледнели, другие проваливались в темноту. Пришлось разбираться со светом и тем, как игра показывает цвет, потом приводить модели и эффекты к общей палитре. В итоге появился ещё и редактор, где можно менять цвета прямо во время игры.

Как всё это проверять

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

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

Отдельная история — то, что ИИ всегда недоделывает. В старых описаниях улучшений у 15 новых умений были надписи «+25% урона», за которыми вообще ничего не стояло. Заглушки пришлось убрать. А враг со щитом наносил урон ещё до того, как добирался до игрока. Исправляли, чтобы попадание совпадало с движением.

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

С тормозами на Windows тоже долго разбирались, успели поработать над оптимизацией. В итоге выяснилось, что у человека, который тестировал игру, было выключено аппаратное ускорение браузера. Игра обсчитывала графику на процессоре. После включения ускорения проблема решилась.

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

Что получилось сейчас

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

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

Нынешняя пустошь и толпа врагов. Кадр из игрового трейлера.
Нынешняя пустошь и толпа врагов. Кадр из игрового трейлера.
Один из боссов. Кадр из игрового трейлера.
Один из боссов. Кадр из игрового трейлера.
Умения в бою. Кадр из игрового трейлера.
Умения в бою. Кадр из игрового трейлера.

За время работы над одной только Cubocalypse накопилось 119 влитых PR — запросов на включение изменений — и 425 коммитов без учёта слияний. Сюда вошли новые механики, исправления, переделки и удаление того, что я раньше успел добавить.

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

Персонажи, противники и боссы.
Персонажи, противники и боссы.
Оружие и предметы. Здесь есть и то, что осталось только в библиотеке проекта.
Оружие и предметы. Здесь есть и то, что осталось только в библиотеке проекта.
Объекты окружения из библиотеки проекта.
Объекты окружения из библиотеки проекта.

Отдельно накопилось 118 иконок для оружия, умений, предметов, улучшений и интерфейса.

Как я два месяца пытаюсь сделать игру с ИИ

Во что обошлись эти попытки

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

  • Подписка Synty — около $120.
  • Claude Max — $100.
  • ChatGPT / Codex — $100.
  • Tripo — $20.
  • Подписка Google — $20.
  • Warcraft III: Reforged — $20.
  • Анимации Quaternius — $15.
  • Первые ассеты Wildenza — $5.

Всего — около $400.

Все позиции из списка оплатил по одному разу. Это расходы за все попытки, включая эксперименты, которые мне в итоге не подошли. Стоимость своего времени здесь не считаю.

Что я из этого вынес

Для себя я понял, что ИИ сам по себе не сделает мне классную игру ни за два дня, ни за год. Он помогает сделать то, чего я пока не умею, но мне всё равно приходится решать, что именно делать, и учиться проверять результат.

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

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

Я использую ИИ потому, что сам многого не умею. Без него я бы до этого состояния не дошёл. При этом за каждым удачным скриншотом были попытки, ошибки и переделки. Именно этим опытом и хотелось поделиться. Надеюсь, многое понял за это время. Что-то, возможно, ещё даже не осознал.

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

Текущая версия есть на itch.io, запускается в браузере.

Буду рад если сможете уделить немного времени и тем более если дадите какой-то фидбек!

Всем спасибо.

2200
55
22