Пишем игру эволюция с помощью ChatGPT на Processing и публикуем в GoodModsLab
Появилась значит у меня идея, создать простенькую игру про эволюцию и опубликовать её в GoodModsLab.
Использовать для разработки мы будет всеми известный и порой не любимый ChatGPT. Я его буду использовать в телеграмме, так как это единственный способ использовать его без каких-либо ограничений.
Кстати, у меня есть свой канал: https://t.me/+S38FnYkCOmo4Mzky
За основу, где будем писать игру выбор был большим, но ради интереса, я захотел использовать Processing, это оптимальный язык для простых и сложных игр, однако надо будет писать всё с нуля. Хотя и с нуля скоро уже не нужно будет писать, мой друг разрабатывает редактор для упрощения процесса разработки игр и приложений.
Вместо введения
Начнём с того, чтобы сформировать стандартные правила, которые мы будем придерживаться при разработке игры. Ну, одно из них - что мы не будем мешать ChatGPT в его задаче, будем только фиксить некоторые баги, которые он не в состоянии исправить.
Игра, как мы уже говорили, будет про эволюцию, суть такая, что будут красные - хищники, зелённые - травоядные, а все остальные - всеядные. Также сделаем спавн ограниченной еды по миру, которая будет расти в определенное время.
Так-с, с механикой мы определились, а что с дизайном? Будем просто рисовать фигуры. Ачё)
Ну, и на десерт, игра будет с видом сверху, в ограниченной комнате, сделаем так, чтобы плоскоземельщики порадовались, если выйдем за край - то моб просто перейдёт на другую сторону.
Начало разработки
Для начала установим сам Proccessing с официального сайта.
После установки, мы можем уже открыть наш проект, а точнее создать его.
Мы открыли новый скетч, теперь бежим в чат GPT и говорим, что мы хотим создать агарио, которое будет играть саму себя, поедая других мобов и размножаясь.
Получается такой промт:
привет. напиши код на Processing для следующей игры:
в мире, размером с экран, будет спавн 3-х мобов (фигура: кружок),
1. красные - хищники, поедают 2-х, но боятся 3-х и редко на них нападают. Размножаются, если сыты.
2. зеленые - травоядные, поедают траву в мире, убегают от 1-х и 3-х, очень боятся быть съеденными. Размножаются если сыты.
3. синие - всеядные. поедают и траву, и мобов 1-х и 2-х. Размножаются когда сыты.
также есть следующий предмет: трава - спавнится в начале, если съедят, то спавнится другая.
механика мира: если моб выйдет за границу мира (т.е экрана), то появляется на другой стороне. Сделай счётчик по центру, какие мобы есть сейчас. Каждый моб имеет свою графу голода, если она опускается до 0, то моб умирает.
Теперь время тестить код, что он написал...
Была ошибка, что он не мог правильно задать размеры экрану, это size() метод, пришлось поправить. Но мы получили мир, в котором спавнится трава, мобы, однако они не двигаются, попросим ChatGPT исправить это
Опять лстит нам ChatGPT, говоря что он ошибся, ладно... Попробуем теперь его новый код.
Да, мобы стали бегать, но друг за другом, сейчас попросим нашего подсобного программиста исправить, добавив перемещение моба, если выйдет за край.
Очередная лесть и проверка кода. Посмотрим.
Всё идеально, мобы бегают, бегают... бегают...
и умирают
Теперь попробуем добавить больше интеллекта им, чтобы они не бегали линейно друг от друга и за другом, а затем запустим королевскую битву
Добавили интеллект, примитивный, но работающий по механике: Бьют - беги, дают - бери. Умно)
Ну, и заключительная часть это создать побольше мобов и пустить королевскую битву, что мы сейчас и сделаем
Под крутые треки круто наблюдать над королевской битвой, которая ввиде эволюции. По итогам всегда побеждают всеядные и хищники. Можно ещё добавить больше травы, чтобы было честно между всеми мобами.
Если добавлять больше травы, это даёт хороший такой буст для травоядных.
Травоядные побеждают, если еда спавнится свыше 100 в начале, но что будет, если её будет 800?
Печально видеть то, что мобы, когда съедят всё, мучаясь бродят по миру и умирают от голода. Этакая вот жизнь получилась. Исходный код я оставлю в своём телеграмм канале
Теперь пришло время публикации игры в GoodModsLab
Публикация игры в GoodModsLab
Для начала нужно экспортировать игру, для этого переходим в File > Export
И настраиваем тестовый билд
Потом ждём некоторое время и у нас открывается проводнить с игрой, вот так выглядит всё это дело. Можно поэкспериментировать, но я думаю, это пока не обязательно (хотя желательно)
Давайте запустим проект, а именно файл exe.
Всё успешно работает, это победа. Теперь переходим в GoodModsLab:
Проходим авторизацию, если не проходили - регистрируемся, делается это просто
Вот так выглядит регистрация
Но у нас есть уже регистрация, нам остаётся просто войти в аккаунт
Теперь переходим в Консоль разработчиков
Далее жмём на кнопку создания нового проекта и вводим название
После того, как мы ввели название и нажали повторно на кнопку, у нас в списке всех наших проектов отобразится игра, перейдём в неё
Нас встречает такое вот окно, давайте заполним его, делается это очень легко, также есть подробный гайд для быстрого старта:
Загрузим лого игры, баннер, напишем текст, делается это быстро, всё удобно. Вот пример заполненой карточки игры
Чтобы загрузить наш exe файл, его нужно предварительно закинуть в zip архив со всем содержимым. Поэтому возвращаемся в папку с экспортированым проектом и делаем архив
Для удобства можно закинуть в другую папку, теперь загружаем, и нашему файлу даётся новое название внутри платформы
Ну, получается всё. Карточку игры мы заполнили, игру можно отправлять на модерацию. Хотя даже мы можем указать стоимость игры и уже получать первые покупки нашей игры, но делать это с нынешней игрой, пока что мало. Если хотите продолжение разработки такой игры, пишите в комментариях, но сам процесс установки цены игры выглядит следующим образом
Вот такие вот дела
Буду рад услышать комментарии по поводу игры)
в целом, игру можно развить очень уж так хорошо, добавить взаимодействие с миром, добавить возможность мобам строить, добавить больше мобов и мир побольше
Лан
а почему именно чат, сейчас же вроде есть ИИшки которые полностью весь цикл разработки воспроизводят
ChatGPT 4o хотелось запрячь в основном. Как мы видим - справляется хорошо
а зачем привет) Хотя ладно, роботы же уже почти как люди, потом тебе зачтется
Я, будучи программистом, боюсь их оскорблять. Они меня пощадят)
Смх