Как сделать игру с помощью нейросетей

Создаём арканоид с нуля: от кода до графики.

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

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

Содержание:

Шаг №1: написать код для игры

Писать игру будем на Python с использованием библиотеки Pygame. Для начала создадим папку проекта «Arkanoid Game» — так работать будет удобнее. Затем запускаем Cursor AI — нейросеть, которая помогает писать и редактировать код. Начнём с промпта:

Напиши код для простого арканоида на Python с использованием Pygame. Игра должна включать платформу, мяч и блоки. Пусть мяч отскакивает от платформы и блоков, а блоки исчезают при ударе.

Cursor AI создал три файла, в каждом прописана своя часть:

  • Список необходимых библиотек.
  • Основной код игры.
  • Инструкция по запуску.

Затем нейросеть закодила каждый файл и добавила в игру:

  • Платформу, которой можно управлять стрелками влево и вправо.
  • Мяч, отскакивающий от платформы, стен и блоков.
  • Блоки разных цветов, которые исчезают при ударе.
  • Систему подсчёта очков.
  • Функцию перезапуска после проигрыша нажатием клавиши «R».

Чтобы запустить игру, нужно:

  • Открыть командную строку. Нажать комбинацию клавиш «Win» + «R» и написать в поле «cmd».
Как сделать игру с помощью нейросетей
  • Перейти в папку проекта командой
    «cd C:\Users\thech\Desktop\Code Projects\Acranoid Game», путь будет отличаться в зависимости от того, где создана папка с проектом.
  • Установить нужную библиотеку командой «pip install -r requirements.txt».
  • Запустить игру командой «python arkanoid.py». Название файла будет отличаться в зависимости от того, как назван файл с кодом игр.

Теперь добавим игровое меню. Новый промпт для Cursor AI:

Давай сделаем игровое меню, которое будет высвечиваться перед запуском игры. В игровом меню должно быть три кнопки:
1) «Играть»
2) «Настройки»
3) «Выйти»
В «Настройках» должна быть функция полноэкранного режима, которую можно включить и отключить. Также тут должна быть функция регулировки звуков и музыки, которые мы добавим потом. Пока это будут пустые ползунки-заглушки, которые можно регулировать, но влиять они ни на что не будут. Меню должно открываться не только при запуске, но и во время игры нажатием клавиши «Esc».

Cursor AI сразу начал дополнять код по промпту.

Теперь игра запускается через главное меню, на нём есть три кнопки: «Играть», «Настройки» и «Выйти».

Для организации кода Cursor AI создал вспомогательные классы: «Button», «Slider» и «Checkbox». Классы помогают упростить работу с элементами интерфейса: кнопками, настройками громкости и переключателями. Например, класс «Button» отвечает за отрисовку кнопок и обработку нажатий, а «Slider» — за создание и управление ползунками для регулировки громкости.

Стартовое меню
Стартовое меню

Шаг №2: добавить в игру музыку и звуки

Играть в тишине — скучно. Попросим Cursor AI написать функции, которые добавят в игру музыку и звуковые эффекты. Вот промпт:

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

Cursor AI подключил для работы со звуками модуль pygame.mixer. Затем нейросеть создала папку «sounds», куда нужно загрузить звуковые файлы в форматах WAV, MP3 или OGG. Вот какой код написал Cursor AI:

Папка для звуков готова, функции воспроизведения — тоже. Теперь для генерации звуков обратимся к сервису ElevenLabs, а для фоновой музыки — к Riffusion.

Чтобы сгенерировать песню в Riffusion, переходим на сайт riffusion.com и используем учётную запись Gmail, Discord или номер телефона. Вбиваем промпт и получаем несколько вариантов. Один из них скачиваем и кидаем в папку игры.

Источник: riffusion.com
Источник: riffusion.com

Cо звуковыми эффектами сложнее — ElevenLabs не работает у пользователей с российскими IP-адресами. Региональные ограничения придётся обходить.

Генерируем несколько звуков:

  • Удар шарика.
  • Разрушение блока.
  • Нажатие на кнопку.
  • Звук проигрыша.
  • Звук победы.
Источник: elevenlabs.io
Источник: elevenlabs.io

Все звуки сохраняем в папку «sounds», которую создал Cursor AI. Файлы называем так, как попросил их назвать Cursor AI:

  • hit_block,
  • hit_paddle,
  • game_over,
  • level_complete,
  • menu_select,
  • background_music.

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

Без нюансов не обошлось: ElevenLabs генерировал звуковые эффекты длительностью в 8 секунд, из-за чего они порой запаздывают и перекрывают друг друга. Чтобы всё было идеально, придётся обрезать звуки вручную.

Шаг №3: создать игровой фон

Без заднего плана игра выглядит пусто. Добавим в арканоид два фона: для меню и игрового уровня. Даём Cursor AI такой промпт:

Давай добавим в игру две фоновые картинки: одну для меню и одну для игрового уровня. Картинки должны быть в формате .png или .jpg и загружены в папку «images». Напиши код, который будет отображать эти картинки в нужных местах: фон меню — при запуске игры, фон уровня — во время игрового процесса.

Cursor AI создал папку «images» и написал код для загрузки и отображения фоновых картинок:

Чтобы получить фоновые картинки, воспользуемся DALL-E. Промпт для фона меню:

«Pixel art background for retro game menu, dark purple and blue colors, glowing neon borders»
(«Пиксельный фон для меню ретро-игры, тёмно-фиолетовые и синие цвета, светящиеся неоновые границы»)

Промпт для фона уровня:

«Pixel art background for a retro game level, dark green and black colors, subtle grid pattern»
(«Пиксельный фон для уровня ретро-игры, тёмно-зелёные и чёрные цвета, тонкий рисунок сетки»)

Сохраняем картинки в папку «images», которую создал Cursor AI. Называем их так, как попросила нейросеть: «menu_background» и «game_background».

В арканоиде появились фоновые изображения

Шаг №4: усложнить игру

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

Промпт для Cursor AI:

Давай создадим ИИ-оппонента, который будет управлять второй платформой (например, в верхней части экрана), чтобы усложнить игру. Это будет один из режимов. Можно будет выбрать обычную игру и выбивать блоки, а можно будет играть с ИИ-оппонентом, где каждый будет пытаться отбить мячик. Со временем мячик будет ускоряться.

Выбор режима появится после нажатия кнопки «Играть».

Cursor AI добавил экран выбора режима, который появляется после нажатия кнопки «Играть». Здесь доступны два варианта: классический арканоид с блоками или соревнование с ИИ-оппонентом.

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

В режиме с ИИ мяч ускоряется каждые 10 секунд, а игра идёт до семи очков. После каждого гола есть короткая пауза перед началом нового раунда. На экране отображается счёт. Управление осталось прежним: стрелки влево и вправо для платформы, клавиша «R» для перезапуска, «Esc» для возврата в меню.

Вот какой код написал Cursor AI:

Сначала ИИ-оппонент играл слишком слабо. Просим Cursor AI сделать его сильнее, но не настолько, чтобы он всегда выигрывал. Теперь ИИ учитывает отскоки от стен и даже адаптируется к оппоненту: если игрок опережает компьютер на три очка, то ИИ начинает играть лучше, а если проигрывает — немного снижает сложность.

Также Cursor AI добавил «человеческое поведение»: ИИ иногда делает короткие задержки и двигается плавно, чтобы не казаться слишком идеальным. Когда мяч движется от ИИ, его платформа возвращается ближе к центру, чтобы быть готовой к следующему раунду.

Вот какой код написал Cursor AI:

Нейросети для крупных игровых проектов

Если хочется сделать что-то посложнее — например, 3D-игру со сложной механикой, — нейросети могут помочь и здесь.

Meshy — для создания 3D-моделей

Meshy — это инструмент, который генерирует 3D-модели из текстовых описаний и 2D-изображений. Это особенно полезно для разработчиков, которые хотят добавить в свои игры уникальные объекты, но не умеют работать в 3D.

Meshy работает через веб-интерфейс, поэтому не требует установки. При этом у него есть бесплатный тариф на 10–20 генераций. После — от $16 в месяц. Meshy можно интегрировать в игровой движок Unity и 3D-редактор Blender.

Попробуем сгенерировать меч. Промпт:

«A fantasy style sword with a blue glow and gem-studded hilt»
(«Меч в стиле фэнтези с голубым сиянием и рукоятью, украшенной драгоценными камнями»)

Источник: meshy.ai

Ludus AI — для гейм-дизайна и левел-дизайна.

Нейросеть Ludus AI — это плагин для игрового движка Unreal Engine, который помогает на всех этапах разработки игры: от генерации идей до написания кода.

С помощью нейросети можно написать рабочую систему инвентаря, создать систему ветвящихся диалогов и прописать поведение персонажей в игровой сцене.

Ludus AI — это не отдельный инструмент. Его можно найти только в магазине плагинов Unreal Engine. Он напрямую связан именно с этим игровым движком.

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

Похожие инструменты предлагает и ChatGPT: чат-бот помогает генерировать диалоги для второстепенных персонажей и создавать 3D-модели для Unity, Unreal, Godot, Blender.

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

12
1
1
1 комментарий