В эпоху быстро развивающихся технологий и искусственного интеллекта мы стоим на пороге новой эры творчества. Инструменты, такие как Midjourney, DALL•E 3 и GPT-4, предоставляют уникальные возможности для творцов различных направлений. Было решено исследовать этот потенциал, создав игру "Angry Pumpkins" в качестве эксперимента. Весь код был написан с помощью GPT-4, в то время как для графической части были использованы Midjourney и DALLE.

Итак, давайте рассмотрим промты, которые использовались:

Графика

Заглавный экран (DALL·E 3 от GPT-4)

  • "Photo of a horizontal vibrant home screen for a video game titled 'Angry Pumpkins'. The design is inspired by the 'Angry Birds' game aesthetic but different. Halloween elements like haunted houses, gravestones, and bats dominate the background. The game logo is prominently displayed at the center-top, with stylized pumpkin characters looking angry and ready for action on either side. A 'Play' button is located at the bottom center, surrounded by eerie mist."

Фоны (Midjourney)

Было использовано одно изображение для фона (с несколькими корректировками):

  • "Angry birds skyline in iPhone screenshot, Halloween Edition, graveyard, in the style of light aquamarine and orange, neo-traditionalist, kerem beyit, earthworks, wood, Xbox 360 graphics, light pink and navy --ar 8:5"

И другое:

  • "2d platform, stone bricks, Halloween, 2d video game terrain, 2d platformer, Halloween scenario, similar to angry birds, metal slug Halloween, screenshot, in-game asset --ar 8:5"

Персонажи (Midjourney)

  • "Halloween pumpkin, in-game sprite but Halloween edition, simple sprite, 2d, white background"

  • "Green Halloween monster, silly, amusing, in-game sprite but Halloween edition, simple sprite, 2d, white background"

Объекты (Midjourney)

Созданы различные "таблицы стилей спрайтов", а затем обрезан и удалён фон с помощью Photoshop/Photopea. Для мелких деталей были использованы корректировки Midjourney.

  • "Wooden box. Item assets sprites. White background. In-game sprites"

  • "Skeleton bone. Large skeleton bone. Item assets sprites. White background. In-game sprites"

  • "Rectangular stone. Item assets sprites. White background. In-game sprites"

  • "Wooden box. Large skeleton bone. Item assets sprites. White background. In-game sprites"

  • "Item assets sprites. Wooden planks. White background. In-game sprites. Similar to Angry Birds style"

Программирование (GPT-4)

Полный исходный код здесь

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

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

Вот несколько примеров::

  • "Can we now create a simple game using matter.js and p5.js in the style of "Angry Birds"? Just launch a ball with angle and force using the mouse and hit some stacked boxes with 2D physics.

И далее продолжайте запрашивать все больше и больше. И каждый раз, когда что-то идет не так, четко объясните ошибку и позвольте ей это исправить:

  • "Now, I ask you: do you know how the birds are launched in Angry Birds? What the finger does on the screen? Exactly. Add this to the game, using the mouse."

  • "I have this error, please, fix it: Uncaught ReferenceError: Constraint is not defined"

  • "I would like to make a torch with particle effects. Can it be done with p5.js? Make one, please."

  • "Now, make the monsters circular, and be very careful: apply the same technique that already exists for the rectangular ones regarding scaling and collision area, and don't mess it up like before."

Следующая часть заняла больше всего времени:

  • "There's something off with the logic that calculates when there's a strong impact on a bug. If the impact is direct, it works well, but not if it's indirect. For example, if I place a rectangle over two bugs and drop a box on the rectangle, even though the bugs should be affected by the impact, they don't notice it. What can we do to ensure they also get affected when things fall on top of a body they are under?"

Итог:

Игра была создана за 10-13 часов и насчитывает 600 строк кода. Целью было поставить эксперимент и проверить как пользователь, который не обладает серьезными знаниями программирования, сможет справиться с подобной задачей. А также насколько хорошо справятся с этим нейросети.

Ссылка на игру

Комментарии (13)


  1. max-daniels
    04.11.2023 23:57

    А через Stable Diffusion можно так графику делать?


    1. SadOcean
      04.11.2023 23:57
      +1

      Да, midjorney использует несколько сеток и sd - одна из них


  1. Zara6502
    04.11.2023 23:57
    +6

    как пользователь, который не обладает серьезными знаниями программирования, сможет справиться с подобной задачей

    Такой человек в случае всего одной ошибки полностью завязнет в её устранении. Я - как простой пример. Я могу читать и конвертировать код на C#, Python, C/C++, Java и т.п. поэтому часто ищу реализации чего-либо на разных языках, чаще всего сначала на C#/Java, потом питон, потом Си, потом всё остальное. И чем серьёзнее код, тем выше шансы что даже в случае опечатки я не смогу восстановить правильную работу кода. Почему? Потому что если бы я был "пользователь, который обладает серьезными знаниями программирования", то я бы сам всё написал, а не искал решение в гугле.

    Обычно если вязну в перекодировании кода, то пользуюсь AI сервисами для конвертации, но и они делают всё правильно только в 50-60% ситуаций. Часто решение AI о замене какого-то участка кода настолько нестандартное для моего глаза, что я даже не понимаю как и что там можно починить.

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


    1. eugenk
      04.11.2023 23:57
      +2

      Тут ниже коммент практически о том, о чём Вы пишете. На телефонах игра не работает. Но меня например код вообще не интересует. Я сам всё напишу в лучшем виде. А вот рисовать я не умею от слова никак... Ещё интересно было бы так делать 3D-модели и музыку, и я был бы просто счастлив.


      1. feodosia_mia Автор
        04.11.2023 23:57

        Для музыки существует множество нейросетей. Например, Stable Audio даже вошёл в топ-список журнала Time. Есть также сервис Envato. Недавно один парень выпустил тизер к своему будущему фильму, созданного полностью с помощью ИИ, и использовал этот сервис для музыки в своём проекте.

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


  1. RigelGL
    04.11.2023 23:57
    +5

    Визуал приятный, генерация контента-заглушки для прототипа - это отличная ниша, которую заняли сетки.
    На телефоне игра не работает. Выдаёт 1 кадр раз в 1-1.5 секунд, задержка на клик по экрану секунд 5 на флагмане прошлого года.


    1. eugenk
      04.11.2023 23:57
      -4

      И чего ??? Арт нормальный, смотрится. Ну а код писать с помощью сетей это уже уже чистой воды извращение.


  1. java_prog
    04.11.2023 23:57

    Переходя на статью я думал на следующим вопросом. Можно ли возможностями современного текстового ИИ сделать его гейммастером какой-нибудь классической D&D


    1. nellle
      04.11.2023 23:57

      Мне кажется можно, но велик шанс в какой-то момент получить большое отклонение от вашей темы игры, т.к стабильность гпт оставляет желать лучшего


  1. arTk_ev
    04.11.2023 23:57
    +4

    Крутой результат за 10ч. Единый стиль, рутины минимум. Интересно посмотреть что будут делать с этим на gamejam.


  1. Tempest23
    04.11.2023 23:57

    Интересно, за промты к артам и спрайтам тоже спасибо. Я так понимаю Midjourney может генерировать только статичные картинки, но не разбитую по кадрам полноценная генерация спрайтов с анимациямианимацию? Не уверен, как это правильно называется.


  1. Argentum4k
    04.11.2023 23:57

    У вас на сайте протухший сертификат, а ссылка с игрой вовсе не открывается


    1. feodosia_mia Автор
      04.11.2023 23:57

      Перепроверила, всё открывается