Menu

Разработка игр без единой строчки кода (2D-games)

Меня достаточно часто отправляют от университета на различные мероприятия - читать лекции по машинному обучению и ИИшечке. Для этих встреч приходится готовиться специальным образом :)

На этой странице я специально собираю иллюстративный материал в хронологическом порядке, который в основном был разработан для встреч со школьниками, на которые меня направлял университет, например такая встреча была. Цель - продемонстрировать современный подход zero-code. Интересно, что изначально (до 2025 года) я пытался применять ChatGPT для написания программ, но дело шло с переменным успехом; последней каплей стал случай, когда ChatGPT "оптимизировал" мой код из 160 строк до 50 и на моё изумление ответил, что ампутированные функции мне не нужны. А вот в 2025 году прекрасно себя показал Qwen, а затем прямо-таки открытием стали GLM-4.5 и Claude: вот с этими ребятами стало реально интересно программировать.

2025 год. GLM-4.5 - Начало

Если до моего знакомства с GLM я весьма скептически относился к подходу zero-code, то теперь уже как минимум пришлось задуматься и пересмотьреть свои взгляды. Ого, оказывается, жизнеспособные проекты можно получать... но всё равно пока надо очень много вкладывать в модель на входе. Да и на выходе получается не сильно длинный листинг.

Тут собраны законченные проекты: игры и сайты, которые созданы полностью в GLM без написания и без правок кода. Так всё начиналось. Опытным путём было выяснено, что модель на выходе может выдать около 20 кб осмысленного кода.

  • Написан сайт на HTML+JS, без PHP, использован один запрос
  • Исправлен тот самый сайт, удалён ошибочный PHP, добавлена динамика (много динамики), получился реально потешный сайт
  • Разработана игра Теннис - 3 запроса подряд - играть! Объем 17 Кб.
  • Разработана игра Betty - 3 запроса подряд - играть! Объем 23 Кб.
  • Попытка создать псевдо-3D-игру "Гонки" - 5 запросов подряд, использование сторонних библиотек - играть! Объем 40 Кб. Выглядит ну очень топорно.

2026 год. Эра GLM-5

Китайская модель принесла мне много положительных эмоций. Теперь уже можно разрабатывать игры для браузера достаточно фривольно. Впечатляет, что контекстное окно ощутимо расширено: на выходе можно получить 50 Кб кода (вау!) и даже больше.

Игра "Защитник Земли"

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

Вот какие итерации получились в GLM-5:3 запроса подряд - играть! Объем 33 Кб.

  • 4 запроса подряд - играть! Объем 42 Кб.
  • 5 запросов подряд - играть! Объем 51 Кб.
  • 6 запросов подряд - играть! Объем 53 Кб.

Пример цепочки запросов для разработки игры "Защитник Земли от космического мусора":

1) Создай двумерную браузерную игру, использую классический стек HTML + CSS + JS, то есть вся игра будет состоять из 3 взаимосвязанных файлов. За одну сторону играет человек, за другую сторону играет компьютер, имитируя искусственный интеллект. Игра должна вести счёт. Визуально игра должна быть очень привлекательная, с многочисленными эффектами, цепляющими глаз. Обязательно предусмотреть возможность играть одновременно на компьютере с мышью и телефоне с сенсорным экраном.
Пусть распределение ролей будет такое:
- человек управляет лазерной пушкой (которая жестко прикреплена к середине нижнего края экрана), строго поворот вокруг оси: по часовой или против часовой стрелки, либо выстрел.
- компьютер управляет космическим мусором, который сыпется с верхней части экрана (бывает мелкий, требующий одного выстрела и попадания, либо крупный - там 2-3 попадания)

2) Всё хорошо, но сейчас какая-то путаница с лазерной пушкой:
а) вылетающие пули не соответствуют направлению ствола, разница в углах примерно 90 градусов
б) пушка может стрелять примерно на 180 градусов, но она стреляет от направления "строго вниз" (там нет ничего, там нет игрового поля) до направления "строго вверх"

3) Великолепно! Давай только усложним логику игры. При каждом сбитом объекте увеличиваем скорость выпуска пуль на 10%, а при каждом пропуске (когда объект падает на землю) уменьшаем скорость выпуска пуль на 50%. Максимальная скорость 1000%.

4) Отлично! И давай ещё усложним логику игры: пусть в очень редких случаях выпадает гигантский объект (с очень медленной скоростью падения), который требует 5 попаданий для разрушения, но при разрушении он оставляет после себя несколько уже известных нам объектов, но летящих не строго вниз, а под небольшими углами в разные стороны.

5) Сейчас игра работает. Нужны 3 доработки:
а) Сейчас есть обычные падающие камни, а есть "усиленные", на которые тратится более 1 попадания - вот для таких объектов давай уберём шкалу здоровья. Предлагаю обычные падающие камни изображать маленькими и тёмно-красным цветом, а "усиленные" - пусть будут большего размера и оранжевые. После попадания в "усиленный" объект пусть он превращается в обычный по размеру и по цвету.
б) При достижении каждой тысячи очков давай предлагать игроку бой с супер-боссом - это гигантский бесформенный объект, который напоминает зелёную радиоактивную слизь, на него не действует гравитация, и он летает беспорядочно вверху экрана. Чтобы его убить, нужно 100 попаданий. Каждое попадание уменьшает его размер, и из места попадания выпадают два обычных объекта, которые летят не строго вниз, а откланяются под небольшим углом.
Пока супер-босс жив, другие объекты не падают, а начинают снова падать с маленькой но всё нарастающей интенсивностью после смерти супер-босса. Пока супер-босс не показался на экране целиком - у него иммунитет к пушке, он просто мигает, но здоровье не уменьшается. К супер-боссу надо добавить чисто визуальный эффект: постоянные полупрозрачные пузыри или пар, улетающие вверх.
в) Когда игра закончена, давай спрашивать имя игрока, чтобы затем отображать таблицу рекордов (можно смело хранить в ОЗУ и сбрасывать при перезапуске игры)

6) В конце игры давай спрашивать имя игрока, а таблицу рекордов будем сохранять в файл в формате JSON.

Забавно сравнить с Claude: кажется, он делает красивше, более фантазийно (сам придумал опцию "Комбо"!), но с серьёзными ляпами - вплоть до зависаний игры:

1) Версия 1 - платный профиль. Играть.

2) Версия 5 - после 5 итераций на бесплатном профиле. Играть.

3) Версия 6 - после 6 итераций на бесплатном профиле. Играть. Теперь ведём таблицу рекордов!

Игра "Люди против зомби"

Это весьма выдающийся проект, потому что основным идеологом выступил ребёнок 6 лет. В данном случае крайне интересно подчеркнуть, что в современном мире маленький ребёнок, не знающий программирование вообще, может попробовать себя в роли разработчика игры, да к тому же получить закоченный более-менее жизнеспособный результат. Но тут требуется оговорка: запрос к нейросети был очень большой и подробный, и первая половина (техническая часть, включающая архитектуру и выбор стека технологий) была написана специалистом - автором сайта drach.pro. Тем не менее, ребёнок повёл себя ответственно и даже составил ТЗ в виде эскиза основного экрана.

  • Итерация 1 - играть! Объем 48 Кб.
  • Итерация 2 - играть! Объем 62 Кб.
  • Итерация 3 - играть! Объем 50 Кб - уменьшился!? оО. В целом, уже весьма законченная игра, с минимальными огрехами.

Интересно отметить, что в данной игре идеолог с одной стороны хотел получить крутую и увлекательную игру, но с другой стороный он очень не любит проигрывать, поэтому соломку достелил дважды: если первый зомби подходит к дому, то с вероятностью 1,0 его атакует "одноразовая" летучая мышь, а затем всех последующих зомби может нейтрализовывать "мужик с лопатой", который выходит из дома с вероятностью 1/2. Увы, мужик бессилен, если зомби подходят парой.

Игра "Гонки"

Ну тут очень интересно! Переписана игра прошлого года, использованы две нейронки одновременно: GLM + Claude. Эффекты и украшательства в основном пришли от Claude, а вот общая логика и исправление грубых ошибок - справилась только GLM-5.

Получилось создать интересную псевдо-3D-игру "Гонки" - Х запросов подряд, использование сторонних библиотек - играть! Объем 64 Кб. Выглядит весьма круто. Игровой процесс затягивает, а таблица рекордов заставляет буквально биться за результат.

Игра "Танки"

Игра во многом похожа на старую добрую игру на приставке Dendy. Только теперь для браузера, с современными эффектами, и с более смешными перками.

  • Версия 1 - игра Танки как результат 1 запроса. Всего 1 файл на 43,2 Кб.
  • Версия 4 - игра Танки как результат 4 запросов. Всего 2 файл на 58,6 Кб.

В данном случае, это единоличная работа Claude, бесплатный тариф, модель Sonnet 4.6.

Оставить комментарий

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Удалите из списка все объекты, которые не являются животными:

🐶
🐱
🐭
🐹
🗑️ Перетащите сюда

Другие материалы в этой категории:

Go to top