Эксперимент с ИИ в разработке игры: сложности анимации и выводы

Андрей Макар-Уваров, Head of Frontend в Surf, в начале 2024 года проверил гипотезу — насколько ИИ поможет создать игру с нуля, имея минимальные знания в геймдеве. Основой стал проект микро-игры с рыжим котом, который освещает тёмный лабиринт и передаёт свет другим персонажам.

  • Использовались модели Grok и Kimi, движок Godot, текстуры чеОпыт создания игры с ИИ: от генерации до анимации

    Как ИИ помог создать игру с котом в лабиринте: опыт разработчика Surf

    Андрей Макар-Уваров из Surf рассказывает о создании мини-игры с ИИ, сложностях анимации и выборе технологий для разработки.

    Андрей Макар-Уваров, Head of Frontend в компании Surf, поделился опытом создания микро-игры с использованием искусственного интеллекта. Проект, в котором рыжий кот с фонарём исследует тёмный лабиринт, был реализован с помощью модели Grok и движка Godot в 2024 году.

    • Использовались ИИ-модели Grok, Minimax, Codex, DeepSeek, GLM и Kimi.
    • Движок Godot и текстуры, созданные через fal.ai.
    • Основная задача — создать игру с передачей света и ограниченным ресурсом.
    • Проблемы с анимацией спрайтов из-за несогласованности кадров.
    • Использование видео и скелетной анимации для решения задач движения.
    • Вывод: ИИ ускоряет рутинные задачи, но не заменяет опыт и навыки в сложных процессах.

    Начало разработки и выбор технологий

    Идея игры проста: кот с фонарём освещает путь и передаёт свет другим животным. Для создания игры Андрей выбрал движок Godot и модель Grok. На начальном этапе казалось, что ИИ быстро справится с генерацией логики, интерфейса и лабиринта. Однако при работе возникли сложности — например, некорректное отображение спрайтов и проблемы с освещением.

    Первая сложность оказалась связана не с ИИ, а с незнанием GDScript — языка программирования Godot. В итоге проект был переписан на C#, что снизило уровень хаоса и упростило отладку.

    Тестирование ИИ-моделей и сложности с анимацией

    Для генерации персонажей и элементов игры были опробованы разные ИИ-модели: Minimax, Codex, DeepSeek, GLM и Kimi. Из всех лучше всего показал себя Kimi, с помощью которого удалось создать базового персонажа — кота. Однако генерация нескольких кадров с единым стилем оказалась проблемной: кот менял внешний вид, фонарь превращался в странные предметы, а прозрачный фон требовал дополнительной обработки через Python-скрипты.

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

    Почему анимация — это отдельное ремесло

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

    Альтернативные подходы к анимации

    После неудач с традиционными спрайтами автор изучил современные методы анимации для инди-игр. Были рассмотрены два варианта:

    1. Генерация коротких видео с последующим извлечением кадров.
    2. Использование 3D-моделирования и риггинга в Blender для создания 2D-анимации.

    Выбор пал на первый метод с видео-моделями Runway и Pika. Этот подход обеспечил плавность и консистентность движения, но не позволил сохранить желаемый стиль из-за отсутствия поддержки LoRA — технологии стилистической адаптации. В итоге акварельные котики превратились в пластилиновых персонажей, что не соответствовало первоначальной задумке.

    Другой вариант — встроенная в Godot 2D скелетная анимация, где персонаж разбивается на части, которые двигаются независимо. Этот метод сохраняет стиль и стабильность, но требует ручной настройки и понимания анимационных принципов, что оказалось непросто для Андрея.

    Итоги и выводы

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

    Этап Основные события
    1-й Первые попытки генерации кода и контента, сложности с GDScript, переход на C#
    2-й Тестирование моделей ИИ, выбор Kimi, проблемы с прозрачностью текстур
    3-й Попытки создать анимацию: спрайты, видео-анимация, скелетная анимация Godot
    Итог Статичные, стилизованные персонажи, работающая механика игры без анимации

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

    В будущем Андрей рассматривает три варианта: освоить Blender для 3D-анимации, привлечь специалиста или оставить игру в текущем виде с статичными персонажами. По его мнению, последний вариант вполне жизнеспособен, поскольку атмосфера и геймплей не зависят исключительно от анимации.

    Больше полезных идей и практических советов от лидеров разработки можно найти в Телеграм-канале «Директорат Surf обсуждает».

Понравилась статья? Поделиться с друзьями: