Очередная статья из серии «Кейсы с ChatGPT» – мы поговорим об интересном случае, когда нейросеть создала полноценную 3D игру с нуля при нулевом навыке программирования человека. Детально рассмотрим каждый аспект создания и в конце вы сможете найти ссылку на игру.
Кейс: GPT4 написал компьютерную игру
Некий пользователь твиттера @ammaar решил узнать, сможет ли искусственный интеллект создать полноценную компьютерную игру и вот что из этого получилось. Для создания были использованы GPT-4, @Replit, MidJourney и Claude. Стоит уточнить, что у Аммара были нулевые знания геймдева и программирования в целом.
Далее Аммару стало интересно, сможет ли он с помощью GPT-4 сделать полноценную 3D игру. Любимой игрой его детства была игра для MS-DOS под названием SkyRoads — она давно забыта современниками. Но знает ли GPT-4 о ней?
Ответ нейросети: Да, я знаком с SkyRoads. SkyRoads — это видеоигра на платформе, разработанная компанией Bluemoon Interactive, эстонская компания-разработчик программного обеспечения. Она была выпущена в 1993 году для MS-DOS как условно-бесплатная игра, что означает, что изначально она распространялась бесплатно, но пользователи могли приобрести полную версию. В SkyRoads игроки управляют космическим кораблем, который перемещается по ряду футуристических трасс, подвешенных в космосе.
Цель состоит в том, чтобы дойти до конца каждого трека без заканчивается топливо или вы врезаетесь в препятствия. В игре есть несколько уровней различной сложности, которые становятся все сложнее по мере вашего продвижения. Игроки могут использовать способность космического корабля к прыжкам, чтобы избегать препятствий, а также контролировать его скорость для навигации по трассам.
SkyRoads получили высокую оценку за графику и звуковые эффекты, а также за простой, но увлекательный игровой процесс. Она стала классической игрой в жанре платформера и до сих пор имеет преданных поклонников, несмотря на свой возраст.
Создание 3D игры с помощью GPT-4
Навыков программирования Аммар не имел, поэтому попросил GPT-4 выбрать язык программирования и он предложил использовать BabylonJS, а также HTML и CSS. Затем Аммар описал, что именно будет взято из SkyRoads и чем эта версия будет отличаться.
Что взять из SkyRoads
Мы собираемся внести небольшие изменения в игру:
- В игре будет та же камера, что и в оригинальной Skyroads, где игрок видит трассу сзади космического корабля, и она появляется перед ним;
- будет только один уровень, и это будет бесконечно генерируемая трасса, пока
космический корабль либо не упадет в пропасть, либо не столкнется с препятствием, так что эта версия не столько о достижении цели, сколько о том, как долго вы сможете прожить; - элементы управления в игре следующие: пробел для прыжка, стрелки вправо и влево для перемещения вправо и влево по трассе, а также вверх для ускорения, вниз для замедления;
- помните оригинальную механику SkyRoads при создании;
- цветовая гамма нашей игры также должна быть похожа на SkyRoads.
Первый прототип
После получения кода Аммар вставил его в @Replit ровно как сказал GPT, и он сработал. Это был лишь начальный этап. Зеленый куб — наш будущий космический корабль, не мог поворачивать влево или вправо и не мог уклоняться от препятствий. GPT это исправил:
Первое, что бросалось в глаза — камера. Она находилась спереди от «космического корабля», а должна быть позади, чтобы игрок видел, куда двигаться. GPT также это исправил, оказалось, что изменить было нужно только одну строку. Но появилась новая проблема. Баг состоял в том, что при одновременном нажатии прыжка и стрелки управления корабль падал за пределы карты и игра крашилась. Аммар с Chat GPT пытались несколько часов найти причину, но ничего не выходило.
Тогда Аммар прибегнул к помощи программиста, который быстро исправил баг.
Визуал
После этого также были решены другие мелкие баги и мы приступили к дальнейшей разработке. Пришло время создать корабль, на котором мы будем летать. Аммар нашел модель корабля на @Sketchfab и попросил GPT заменить зелёный куб на 3D-модель:
Затем я использовал MidJourney для создания фона и текстур уровня, и увеличил их с помощью @pixelmator и сделал текстуры более плавными:
Затем Аммар попросил GPT внести условия по трассу. Препятствия должны были быть разной ширины, трасса должна была раздваиваться влево и вправо. Цель этих изменений была одна: увеличить сложность трассы для игроков и дать им возможность побивать свои результаты.
Музыка
В конце Аммар отправился в @epidemicsound чтобы добавить музыкальную составляющую в игру.
Далее он попросил GPT-4 с помощью кода добавить музыкальный плеер, звуки взрыва и завершения игры, когда корабль разбивается и классический синтезатор для музыкального сопровождения во время полёта на корабле:
Испытайте игру от ChatGPT
Так закончился очередной кейс с участием нашумевшей нейросети GPT-4. За 3 дня, с нулевыми знаниями программирования 3D игр, Аммар смог воссоздать адаптацию одной из любимых игр детства, используя нейросеть от Open AI и других ИИ-помощников.