Перейти к содержимому

Платформер нейросетью: как собрать 2D-игру текстом

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

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

Какой платформер реально собрать одним описанием?

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

Хорошо ложатся и вертикальные варианты, где герой прыгает по платформам вверх, а экран едет за ним. Такой платформер даже проще: уровень генерируется сам, и вам не нужно рисовать его вручную.

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

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

Что написать в промпте?

Назовите шесть вещей. Всё остальное можно оставить генерации, и она угадает разумно.

Элемент Слабая формулировка Сильная формулировка
Управление «управление стрелками» «стрелки влево и вправо, пробел прыжок»
Прыжок «герой прыгает» «прыжок примерно на две своих высоты, гравитация быстрая»
Уровень «платформы» «платформы разной длины с промежутками, есть движущиеся»
Опасность не сказано «шипы внизу и падение в пропасть означают проигрыш»
Цель не сказано «флаг справа завершает уровень»
Счёт не сказано «монеты на платформах, счётчик сверху»

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

Формулируйте прыжок через сравнение, а не числами. «На две своих высоты» модель переводит в параметры сама, а попытка задать пиксели и ускорение вслепую обычно даёт героя, который либо липнет к земле, либо улетает за экран.

Стоит назвать и темп. «Герой бежит быстро, уровень проходится примерно за минуту» задаёт масштаб платформ и промежутков между ними лучше, чем перечисление их размеров, потому что скорость и расстояния в платформере связаны напрямую.

Как это выглядит по шагам?

  1. Опишите игру двумя предложениями. Например: «2D-платформер с видом сбоку: герой бежит стрелками, прыгает пробелом на две свои высоты, внизу пропасть, справа флаг, на платформах монеты со счётчиком».
  2. Дождитесь проверенной сборки. Простая игра появляется примерно за минуту. Перед выдачей она загружается и запускается в песочнице, и сборка, которая не открылась, помечается неудачной.
  3. Пройдите уровень до конца. Именно до конца: экран победы забывают чаще всего, и обнаруживается это на последнем прыжке.
  4. Правьте по одному ощущению за сообщение. «Прыжок слишком плавающий, сделай падение быстрее», «добавь двойной прыжок», «двигай вторую платформу вверх и вниз».
  5. Опубликуйте в один клик на адрес вида имя-игры.zugo.run и отправьте ссылку кому угодно, ничего устанавливать не нужно.

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

Есть один порядок, который экономит кредиты. Сначала доведите управление, потом уровень, потом оформление. Красивый уровень с плохим прыжком всё равно придётся переделывать, а хороший прыжок переживает любую смену палитры.

Почему прыжок ощущается неправильно?

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

Просите это прямо: «пусть герой поднимается быстро, а падает ещё быстрее». Это одна фраза, и она чинит примерно половину жалоб на управление в первой сборке.

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

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

Отдельно попросите управляемую высоту прыжка: короткое нажатие подбрасывает невысоко, удержание вытягивает прыжок до максимума. Это одна фраза в чате, и она даёт игроку контроль, ради которого жанр вообще существует.

Стоит ли начать с шаблона Hop Quest?

Да, если чистый лист мешает. Hop Quest это готовый вертикальный платформер из галереи Zugo, и он открывается сразу играбельным, так что вы видите цель ещё до того, как что-то описали.

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

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

Сколько кредитов уйдёт?

Платформер это сборка плюс несколько кругов доводки управления.

Действие Кредитов
Сборка игры 6
Одна правка 3
Сборка в режиме Hi-Fi 12
Правка в режиме Hi-Fi 6

Типичный маршрут: сборка, две правки на прыжок, одна на уровень, одна на счёт и экран победы. Это около 21 кредита. Pro стоит $25 в месяц и даёт 200 кредитов, то есть 33 сборки или 66 правок, Business стоит $99 в месяц.

Про Free честно: он даёт 5 кредитов, а сборка стоит 6, поэтому собрать платформер с нуля на нём нельзя. Открыть шаблон и посмотреть, как устроена готовая игра, можно бесплатно.

Как сделать его играбельным на телефоне?

Клавиатуры на телефоне нет, а платформер без прыжка не платформер. Скажите про сенсорное управление в самом промпте: «на телефоне слева зоны движения, справа кнопка прыжка».

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

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

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

Где границы у такой сборки?

Игры двумерные и браузерные. Трёхмерный платформер с камерой за спиной это другой класс проекта, и одним описанием он не собирается.

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

Длинная игра со множеством уровней собирается не одним промптом, а серией правок, где каждый уровень добавляется отдельно. И общее правило: сложный продукт Zugo не заменяет команду разработки, он даёт рабочую первую версию, код которой ваш и выгружается в GitHub.

Рекорды по умолчанию живут в браузере игрока. Общая таблица лидеров для всех это база данных, то есть подключение Supabase и отдельная работа поверх игры, а не строчка в промпте.

С чего начать?

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

Начните с чистого описания или с клона Hop Quest, разница только в стартовой точке. Открыть билдер и собрать первый уровень можно на zugo.dev.

← Все статьи