Разработчики игр не нужны
Еще совсем недавно разработка игр казалась уделом профессиональных программистов, художников и целых студий с внушительным бюджетом. Чтобы создать даже простую игру, нужно было разбираться в языках программирования, игровых движках, графике и десятках технических нюансов. Сегодня ситуация стремительно меняется.
С появлением больших языковых моделей, таких как ChatGPT, и инструментов на базе ИИ процесс создания игр стал доступен практически каждому. Для разработки игр достаточно иметь VS Code и установленное расширение Codex. Не требуются навыки ни в программировании, ни в создании графики. В эпоху развития LLM достаточно уметь использовать естественный язык — и смело называть себя промт-инженером.
В качестве практического примера мы возьмём за основу настольную игру "За бортом!" и адаптируем её правила для одиночного прохождения. Нам предстоит переосмыслить механику скрытых ролей и взаимодействия между игроками, превратив их в систему событий, решений и вероятностей, управляемую чётко описанными правилами. Такой подход позволит сохранить драму выживания и атмосферу оригинала, но сделать игровой процесс доступным для соло-игрока в цифровом формате.
Разберёмся, как шаг за шагом создать собственную игру с помощью ИИ, используя только умение правильно формулировать запросы.
Подготовка
Для начала убедимся, что у нас уже установлен необходимый текстовый процессор (он же редактор, а для кого-то — IDE) и установлено соответствующее расширение.
При желании, можно воспользоваться и десктопной/веб-версией ChatGPT, но Codex больше подходит для нашей задачи.
После выполнения этих действий мы получим доступ к ИИ-агенту прямо из редактора.
Стоит отметить, что ввиду ограничений для полноценного доступа может потребоваться VPN.
Получив необходимые инструменты, можно смело приступать к разработке игры.
Первые шаги в роли разработчика игр
Тут предстоит немного напрячь извилины и словно Нео, воспользоваться базовыми функциями вашей операционной системы, а именно создать директорию(если вы сирота, то создать папку) и несколько текстовых файлов.
Вся логика, составляющая нашу игру, будет расположена в файле game.html. Рассматривать его содержимое мы не будем, пусть этим занимается ИИ.
Кроме самой игры, нам необходимо составить текст описывающий правила нашей игры(в моём случае это solo-game-rules.md), а также описать, что мы хотим получить в результате (для себя Я также вынес это в отдельный файл ui.md, но вы можете сразу описывать это в чате ИИ).
Правила игры
Исходно игра "За бортом!" предлагает группе игроков добраться до берега, параллельно строя козни своим внутриигровым врагам, стараясь при этом не отправиться на корм акулам.
В виду того, что первая версия нашей игры будет рассчитана на одного игрока, нам требуется обновить некоторые игровые механики. Чтобы не ломать голову над тем, как подстроить игровой процесс под синглплеер, смело поручаем эту задачу нашему всезнающему ИИ. Возьмём предложенный ИИ вариант и сохраним его в solo-game-rules.md, попутно дополнив или исправив его на свой вкус. В моём случае, было предложено для персонажей не управляемых игроком, перед стартом новой игровой сессии, случайным образом выбирать один из четырёх характеров(Агрессивный, Эгоистичный, Защитник, Хаотичный) и в процессе пользоваться предлагаемыми приоритетами действий:
Кроме этого, для упрощения и более быстрой реализации мной было решено оставить только наиболее критичные предметы и немного изменить порядок действий для достижения финальной цели:
Также несколько изменил исходную игровую механику с грабежом, убрал возможность просить помощь и победы игрок только получает предмет цели:
Невозможно получить завершённый игровой процесс без финальной цели. Но здесь всё достаточно тривиально: мы добираемся до берега, если смогли приблизиться к нему на 4 единицы (в оригинале используются карты с символом чаек).
Этого достаточно, чтобы ИИ понял какой результат мы будем ожидать увидеть. Конечно что же здесь представлена не полная версия правил. Чтобы не копировать их целиком, Я выложил правила в общий доступ.
Игровой интерфейс
Имея описание правил игры, нам стоит создать визуальный интерфейс, который нам позволит насладиться игрой и который будет результатом проделанной нами работы.
Для этого нам необходимо объяснить ИИ (составить промт) с описанием того, каким мы хотим видеть нашу игру. Заполним ранее созданный файл ui.md.Так как мной было выбрано решение в виде браузерной версии, описывать интерфейс буду в соответствующем стиле:
Финальный шаг
По итогу мы имеем описание правил игры solo-game-rules.md, описание игрового интерфейса ui.md и пока что пустой файл game.html.Всё что нам осталось сделать отправить в чат ИИ всю собранную нами информацию и указать куда сохранить результат. В этом есть некоторое преимущество того, что пользуемся VSCode. Чтобы не копировать содержимое каждого файла с нашими запросами и после не копировать результат из чата, достаточно прямо в чате указать желаемые файлы напрямую:
После некоторых раздумий, наш незаменимый ИИ помощник выдаст готовое решение, обновив содержимое game.html, а нам останется только открыть этот файл в любом современном браузере.
Готовый результат можно увидеть по ссылке.
Вместо заключения
А теперь — неудобный вопрос: если игру можно собрать, не зная ни HTML, ни CSS, ни JavaScript, то что вообще сегодня значит «быть программистом»?
Мы только что прошли путь от идеи до рабочего прототипа, не написав код вручную. Мы не гуглили синтаксис, не читали документацию, не спорили с компилятором. Мы формулировали мысли — и получали результат.
Это не означает, что разработчики больше не нужны. Это означает, что порог входа рухнул. Что теперь ценится не умение помнить методы API, а умение мыслить системно, проектировать механику и задавать правильные вопросы.
ИИ не отнимает профессию — он отнимает рутину. И если раньше создание игры требовало команды из программиста, дизайнера и тестировщика, то сегодня на старте достаточно одного человека с идеей и доступом к модели.
Если вам было интересно — давайте пойдём дальше и сделаем то, что уже нельзя назвать «игрушкой»: полноценную мультиплеерную версию с игрой через интернет. С сервером, синхронизацией, комнатами и реальными соперниками.
И вот там станет по-настоящему интересно: потому что ИИ поможет и в этом. Вопрос только в одном — готовы ли вы перестать наблюдать за технологической революцией и начать пользоваться ею?
P.S. Формулирование запросов на естественном языке — это тоже программирование, просто на другом уровне абстракции. Мы по-прежнему задаём логику, определяем входные данные, описываем ограничения и ожидаемый результат — только вместо строгого синтаксиса используем человеческий язык. Хороший промт так же требует структурного мышления, декомпозиции задачи и понимания системы, как и любой код. Разница лишь в том, что теперь компилятором выступает ИИ. Но стоит заметить, что в случае использования языковых программирования, результат зависит от уровня ваших знаний, а в случае использования ИИ - вам нужно доказать ему, что вы знаете лучше.