О нейросетях для генерации изображений, написания текста, создания и озвучки видео написано немало. Примеров создания игр с помощью ИИ практически нет.
Смотрите 3 практических примера применения для этого нейросети Claude 3.5 Sonnet от Anthropic. С разбором нюансов и подводных камней.
Оговорка. В приведённых ниже примерах показаны диалоги и на английском. Ниже объясняется почему.
Умеет ли Claude 3.5 Sonnet создавать игры?
Спросим об этом саму нейросеть Claude. Благо что, Sonnet прекрасно понимает и общается на русском.
Как мы видим, сам Клод утверждает, что игры создавать он умеет. И даже предлагает варианты. Проверим, как нейросеть справляется с задачей написания кода и генерации игр.
Создаём игру Тетрис с Клодом
Нейросеть Claude 3.5 Sonnet (Клод) при получении задания о написании кода и/или создания игры использует свою новую впечатляющую функциональность Artifacts.
В левой части экрана показывается диалог с нейросетью Claude, её объяснения и комментарии. А в правой — бежит генерируемый код, который на финише процесса визуализируется в игровой стакан.
Занимает это около минуты времени. Код пишется на языке JavaScript, с использованием HTML и библиотеки REACT.
Claude объясняет кнопки управления, её функциональность игры и особенности интерфейса. Справа появляется начальное поле для игры.
Итак, мы видим, что появилось игровое поле. Можно экспортировать и проанализировать сам код.
Далее я опишу, как шёл процесс создания игры, какие встретились препятствия и ограничения.
Всё началось с непонятки. Игра не стартовала до тех пор, пока я не кликнул мышкой по полю для игры.
Claude извинился, указал на причину (не был установлен фокус на поле), перегенерировал код и расписал, что он изменил в игре.
Первый вариант был самым простым и с недочётами: все тетрамино были одного цвета, правая граница стакана отсутствовала. Кроме того, счёт в игре не менялся.
Я попросил Клода добавить правую границу в игре, сделать тетрамино разноцветными и включить счётчик игровых очков. При каждом изменении кода Claude подробно объяснял, что он сделал. И даже предлагал конкретные модификации.
Затем мне захотелось переназначить функциональность кнопки Стрелка вниз: вместо ускорения движения сделать мгновенное падение.
Проблемы с генерацией кода
И вот тут начались проблемы. Тетрамино просто застывали на той линии, на которой находились в момент нажатия стрелки.
Я указал на ошибку, посоветовал покопаться в алгоритме, проверяющем уровень, до которого должна упасть фигура.
Claude сгенерировал код заново, но проблема оставалась.
Так повторилось несколько раз. Затем новых вариантов Клод уже не предлагал. Было видно, что он реагирует на мои сообщения, но ничего нового не делает.
Может, он плохо понимает русский? — подумалось мне. И перешёл на английский.
Не помогло.
Каждое свое сообщение Claude заканчивал каким-то конкретным предложением: создать/изменить то-то или то-то. Наверное, он ждёт от меня директиву, отвечающую на его варианты?
Тоже нет.
В конце концов, я обратил внимание, что при вводе моей команды справа вверху на несколько секунд появлялось написанное красным сообщение. С информацией о превышении максимальной длины промпта. Раскрыл его. Вот что было написано:
Итак, для тарифного плана Claude Pro максимальная длина контекста, принимаемого во внимание, составляет 200К+ токенов (около 500 страниц англоязычного текста или 100 изображений). А вот для бесплатного плана, на котором я находился, это ограничение меняется в зависимости от текущего спроса на генерацию.
В начальном красном сообщении было также указание на то, что ограничение касается текущего чата.
Ок, открыл новый чат. Если вы думаете, что создание игры можно было просто продолжить с того места, на котором остановились, то ошибаетесь. В каждом новом чате всё начинается с нуля. Информация о предыдущих чатах недоступна в текущем. Какие-то нестыковки или ошибки нейросеть повторяла. Появлялись новые.
Всё это продолжалось несколько раз. До тех пор, пока я не получил сообщение о превышении максимального количества токенов за сеанс. И об отлучении меня от нейросети на 10 часов.
На следующий день решил попробовать сгенерировать другую игру.
Попытка #2. Создаём с Клодом игру Doodle Jump
Этой игры не было в первоначальном перечне, который предлагал Claude. В ней смешной дурашка подпрыгивает на площадке, стараясь забраться выше и при этом не свалиться вниз. Платформы можно заказать разные: зафиксированные, движущиеся, ломающиеся, с ускорителями. Чем выше поднимаешься, тем больше появляется препятствий.
Решил сразу общаться на английском.
Здесь всё работало изначально. В простейшем варианте вместо дурашки был то куб, то круг. Платформы были только не движущиеся.
Заказал иконку игрока, ввёл событие окончания игры с выбором либо играть сначала, либо закончить.
Так как изначально платформы были только зафиксированные, при движении вверх появлялась ситуация, когда рядом отсутствовали площадки, до которых можно было допрыгнуть. Пришлось вводить кнопку ускорения прыжка. Но при этом дудл моментально улетал на несколько экранов вверх и также стремительно падал.
Т.к. в лимитированное количество токенов входят и токены диалога, и сгенерированного кода, быстро, за 3-4 попытки достигался максимальный лимит. Приходилось переходить в новый чат.
Для того, чтобы каждый раз не повторять диалог по желаемым изменениям, подготовил файл со своими требованиями, который загружал при открытии нового чата.
После ряда изменений игрушка стартовала с выбора кнопок Game Over и Play Again. Но независимо от выбора кнопки дурашка сразу начинал падать. "Не начинай игру с события Game Over", —потребовал я. Не помогло. Не сразу дошло. что игра начиналась правильно. Но игрок в момент старта не находился на платформе. Поэтому и падал!
Ещё были: целый лес платформ буквально друг над другом, пропадание скроллинга экрана вверх при прыжке выше верхней границы.
В этой попытке я доэкспериментировался до сообщения нейросети о переключении на режим Claude Haiku. В связи с текущим высоким спросом на Claude Sonnet. Haiku — менее приспособленная для создания игр версия. Да и терпению моему пришёл конец.
Попытка #3. Создаём с Клодом простейшую игру Змейка
Игрушка заработала сразу. И даже в версии Claude Haiku. Но улучшать ничего не стал. Полученного опыта хватало для формулирования выводов.
Создание игр в Claude 3.5 Sonnet (Клод). Выводы для бесплатного тарифа
- Можно легко создавать простейшие игры.
- При формулировании запросов лучше работать на английском языке. Русский потребляет в несколько раз больше токенов, быстрее упираешься в максимальный лимит.
- При переходе в новый чат лучше начинать с загрузки файла с перечнем желаемой функциональности игры. При этом максимально чётко (но лаконично) описывать требования.
- В идеале, после очередного успешного изменения следует проанализировать выдачу и внести поправки в постепенно собираемый код игры. И при создании нового чата загружать именно его, с требованиями к добавляемой желаемой функциональности. Но такое возможно только при наличии программистских знаний и навыков.
- Если заниматься созданием игр с Claude 3.5 Sonnet профессионально, то, в конце концов, придётся перейти на платный тариф. Иначе разросшийся собранный код, всё равно, будет быстро упираться в предел по токенам.
Резюме
Создание простейших игр в нейросети Claude 3.5 Sonnet (Клод) вполне по силам каждому.
Варианты посложнее потребуют квалификации программиста и больше усилий. И, возможно, платного тарифа. Но, тем не менее, работа с Claude очень сильно ускорит работу. Вместо продумывания алгоритмов, кодирования и отладки можно сосредоточиться на анализе создаваемого Клодом кода и сборе работающего варианта игры.
PS.
Если кликнуть по названию канала, то увидите другие статьи. Можно выбрать ещё что-то интересное для себя. А для просмотра будущих статей и поддержки автора — лучше вообще подписаться. Имеется также постоянно обновляемый гид-путеводитель по статьям канала.
#нейросеть #нейронныесети #ИИ #AI #Anthropic #Claude #Opus #Haiku #Sonnet #СозданиеИгр