Китайская нейросеть за 46 минут повторила игру, которая уже приносит деньги. «Всё работает», - сказала она. Не работало...
Инди-разработчик Николай из BN Games прислал мне описание своей игры, а я скормил его Kimi K3.1 Pro (подписку на которую недавно оплатил картой «Мир») и не сказал, что такая игра уже есть. Рассказываю, сколько ушло времени и токенов на повторение игры и можно ли с нейронками залететь в геймдев, если ты в нём ноль?
Сразу признаюсь: в игры я не играю. Вообще. Но за последние 5 лет разработал более 50 проектов - от сайта спортшколы до интеграции с «Цифровым рублём». Поэтому, когда от Николая пришло предложение сделать коллаб, я подумал, что это будет интересно.
Николай - инди-разработчик, делает браузерные игры с Claude Code и пишет про это здесь, на vc, как BN Games. Первая его игра - переливайка «Идеальный разлив»: переливаешь газировку из бутылки в бутылку, пока в каждой не останется один вкус. Игра уже живёт на Яндекс Играх и зарабатывает на рекламе. Договорились так: Николай присылает документацию своей игры, где подробно описаны механики, я повторяю её на Kimi K3.1 Pro.
По этой документации я написал ТЗ. Kimi не должен знать, что игра уже существует, иначе найдёт и спишет. Все действия в игре, надписи и её название были обезличены. Картинки тоже Kimi рисует сам, референса не было.
46 минут на игру
ТЗ ушло в Kimi Code. Игру он назвал "Бар «Шипучка»". Первая версия собралась за 46 минут: кампания, пять режимов, препятствия, подсказки, 32 награды, восемь оформлений бара, русский и английский.
Открываю. Интерфейс будто Kimi попросили собрать корпоративный лендос: шрифты похожи на Arial, ассеты обрезаны, в некоторых ассетах торчит кусок другого изображения.
Бутылки всегда вело вправо, куда бы ты ни тыкал. После одной правки все бутылки стали пустыми. Пятый слой в логике был, а на экране его не было. Добавили пятислойную бутылку - сломались четырёхслойные. Звук переливания был как удары по металлу. Подарки за ежедневный вход были сначала были нулевые, а затем их можно было фармить бесконечно через «Начать заново».
Я подключал ему скиллы для дизайна с GitHub, расписывал по шагам, как должен выглядеть стартовый расклад в «Рецепте», объяснял, что горлышко должно подлетать к горлышку, а победному экрану не хватает воздуха. Так долго и упорно с нейродизайном я ещё не боролся.Kimi работал над этим проектом 3 часа 20 минут, и 2,5 часа из них ушло на исправления. 45 итераций, 565 вызовов модели, почти 197 тысяч токенов на выходе и 72,5 миллиона на входе, большая часть из кеша. В конце он написал выводы по проекту о том, что я «фактически выполнил роль дизайн-директора и QA одновременно». Человек, который в игры не играет. Спасибо, конечно.
Ещё поправка к прошлой статье. По прайсу на сайте Kimi выходило, что в самом дешёвом Plus нет goal mode, режима, где модель работает, пока сама не решит, что закончила. На деле он в Plus есть, но лимиты на максимальном уровне размышлений в Kimi Code улетают моментально.
Принимаем работу
Kimi отчитался: тесты проходят, сборка работает. Верить на слово я не стал. Позвал Claude в судьи: пусть сравнит оригинал на Яндекс Играх с «Шипучкой».
Проверял он через agent-desktop от Vercel Labs. Это бесплатная утилита, которая видит окна через дерево доступности Windows и умеет в них кликать. Claude открыл обе игры в чистом браузере и прошёл их как новый игрок.
Первый уровень работает в обеих: бутылка закрывается крышкой, три звезды. Лимит ходов Kimi посчитал строго по формуле из ТЗ.
А дальше режим «Наоборот». Там на старте чистые бутылки, а собрать нужно смесь по образцу. В оригинале так и есть. У Kimi образец - те же чистые бутылки, просто переставленные. Сверху написано «Идеал: 6», а проходится за 2 хода. Впервые в жизни я лучше идеала.
В «Рецепте» по правилам можно лить любой вкус на любой и собирать коктейль слоями. Kimi оставил обычное правило «только на тот же цвет», и первый же заказ собрать невозможно. При этом в отчёте «невозможные расклады в режиме «Рецепт»» стоят в списке исправленного.
С цветами отдельная песня. В ТЗ было требование, чтобы двенадцать вкусов различали даже дальтоники. Я не дальтоник и не различаю: всё в пастели. Выбираешь в редакторе насыщенную вишню, а в бутылку наливается розовая. Персиковый от розового, по-моему, отличает только сам Kimi.
Но кое в чём Kimi оригинал уделал: оформление первой локации бара - оригинал рядом выглядит скромно. Ещё он нашёл chillout-музыку с free лицензией, и она мне реально зашла. Английская версия работает целиком.
Итого: в оригинал можно играть, а «Шипучка» - красивый прототип, у которого сломаны два режима из пяти. 5 из 5 за обои, 2 из 5 за игру.
Сам agent-desktop помог меньше, чем я ждал. Кнопки и тексты Claude читал через него без скриншотов, и это дешевле. Но поле в оригинале нарисовано на canvas, и там всё равно пришлось кликать по координатам, а цвета оценивать глазами по скриншотам.
После всех итераций, нервов потрачено больше, чем получено результата и ты буквально выгораешь. Горит 🍑 от очередного бага, а не от кайфа от процесса.
Слово Николаю
Я задал Николаю несколько вопросов. Отвечает почти дословно.
Сколько ушло на «Идеальный разлив» до первой публикации?
Около недели. Три больших прогона по ТЗ: решатель и прогрессия, платформа Яндекса, механики. Потом несколько десятков коротких итераций, и почти каждая начиналась с моего скриншота с реального телефона. Всё, что можно проверить без браузера, Claude Code проверял тестами. Остальное находили я и чек-лист модерации. Игра обновляется и после выхода, сейчас уже готова версия для Android под Google Play и RuStore.
Что бросилось в глаза в «Шипучке»?
У меня в игре нет музыки, только короткие синтезированные звуки перелива, победы и ошибки. А оформление бара у Kimi сделано картинкой, у меня оно написано кодом. Над этим я бы подумал.
Какой баг на старте было сложнее всего победить?
Бутылки пропадали после рекламы: тени на месте, бутылок нет. Цикл отрисовки планировал следующий кадр в самом конце, и любая ошибка обрывала его навсегда. Воспроизвести баг не получалось: Claude Opus 5 не мог открыть игру в окружении Яндекса и на реальном телефоне, поэтому чинил по симптому и рассуждению.
Ещё был режим, где три звезды давали за любую партию. Эталон ходов считался по длине случайного блуждания, а оно ходит кругами: заявленные 14 ходов на деле стоили три. Общее у таких багов одно: автотесты их не ловили, а появлялись они после недавних правок.
Если завтра Claude забанят, перейдёшь на Kimi?
Kimi сейчас тёмная лошадка: ехать на ней можно, но времени будет уходить больше. Я бы сначала посмотрел альтернативы, тем более новые модели выходят каждый месяц.
---
Мой итог: так можно залететь в геймдев с двух ног?
Прототип - да. 46 минут, и у тебя игра с меню, звёздами и музыкой, даже если ты, как я, ни разу не проходил уровень в переливайке. С игрой сложнее, но код тут не главное. Главное - понимать, как игра устроена, и самому тыкать её на телефоне, пока она не станет нормальной.
---
Я веду Telegram-канал «Это Барулин сделал» — пишу про свои проекты и эксперименты с ИИ и агентами, без пересказа пресс-релизов. Там же выложу, что получится с локальным Kimi: t.me/barulin_sdelal