Как через ChatGPT создать игру и чем он полезен в этом деле?
Вероятно, ты слышал, читал забавные и пугающие новости о ChatGPT, и наверно, уже устал от этого. Думаешь, это очередной хайп и ChatGPT это аналог Алисы на стероидах? А что если он может помочь тебе во многих задачах в разработке твоих инди-игр? !
Теперь ты не один, у тебя есть оно!
В статье разберем примеры с chatgpt на примере разработки игры в одиночку или очень маленькой командой. Посмотрим, как chatgpt помогает в программировании, новых идеях, локализации, маркетинге, генерации контента.
Для программирования я буду использовать Unity и C#. Создать игру от и до chatgpt не сможет, для этого ему нужен кожаный мешок, т.е. ты, который соберет плоды его работы в одно целое — в игру!
Разработка игры в одиночку — это как попытаться сделать уникальное блюдо, но при этом вы даже не знаете, как включить духовку.
А что он умеет-то?
Перечислю спектр задач, которые вы сможете на него скинуть. В результате стоит ожидать либо ускорение разработки, либо улучшение качества игры. В редких случаях можно добиться и того и другого.
- Локализация на разные языки.
- Программирование, вплоть до сложных вещей.
- Тестирование, написание тестов.
- Документирование.
- Маркетинг.
- Генерация идей и контента для игры.
В каждой категории я приведу примеры запросов, покажу как правильно его использовать. Не забуду рассказать и про слабые стороны.
Вы говорить по-русски?
Локализация терминов.
Многие игры не содержат текстов вне интерфейса, в них нет сложных диалогов, а значит, достаточно перевести лишь интерфейс. ChatGPT прекрасно поможет перевести сложные термины на разные языки разом. Вы можете очень подробно ему объяснить в каком контексте в игре используется слово или термин, и попросить перевести сразу на несколько языков.
Рассмотрим пример со словом «Back", которое часто переводят в играх как "Спина», ибо на английском это также спина:
Неплохо да? Но что, если нам нужно получить этот перевод сразу в каком-то удобном формате, например для CSV файла, чтобы вставить в файлы перевода. Это не проблема, не выходим из чата и делаем еще запрос.
Я художник, программировать не умею
Написание кода для C#, Unity.
Насколько он хорош? Лучше чем вы думаете, намного лучше! Я программист с 13+ стажем, chatgpt пишет код на уровне middle программиста, если хорошо формировать ему запрос и поправлять его.
Многие программисты до знакомства с ChatGPT считают что это игрушка, но когда начинают с ним экспериментировать, крайне офигевают от его возможностей как программиста. Я это покажу на примерах.
Попрошу его написать систему тултипов для игры. Tooltip — это подсказка, которая отображается при наведении курсора на объект.
В целом, неплохой стартовый код. Неиспользование всяких [SerializableField] и т. п. не проблема, cможете напрямую попросить его исправить это. Я пойду дальше и попрошу добавить некоторые фичи:
Теперь мы каждому tooltip можем задавать настройку в виде задержки, а по умолчанию она равна 0.5 секунд. Пойдем дальше, и представим, что вы не программист и хотите разобраться в каких-то нюансах того, что он вам выдал:
Теперь я плавно подхожу к другой сфере применения ChatGPT — это тестирование, автоматическое, через юнит-тесты. Непрограммисты не знают, что это такое, вкратце, это код, который проверяет работоспособность основного кода игры. И? Читаем далее...
А что с качеством игры?
Автоматическое тестирование.
Как писал выше, ChatGPT можно использовать для написания авто-тестов, которые будут проверять скрипты игры на работоспособность. Многие инди игры могут жить и без этого, проверяться только людьми вручную. Однако, давайте взглянем, что сможет предложить нам бот.
Просим написать его юнит-тест на предыдущий класс, который он сгенерировал. Запрос следующий: "напиши юнит тест для Tooltip на Unity".
А что, если у меня уже есть свой код и я хочу для него написать юнит тест? Легко! ChatGPT прекрасно умеет понимать чужой код и делать с ним что угодно, в том числе писать юнит-тесты. Давайте попробуем.
Я откопал у себя в игре простой компонент для уничтожения объектов по таймеру и событиям:
Вот что выдал ChatGPT:
Конечно, лучше иметь навыки написания кода, но если у вас их нет, вы можете просить рассказать ChatGPT что делает тот или иной кусок его кода, или даже чужого кода.
Сделай мне хорошо!
А знаете что, про чужой код, попробуем найти что-то на просторах интернета для Unity и попросим как ChatGPT улучшит этот код.
Я нашел на stackoverflow код для прыжка персонажа, в целом, он нормальный, но в нем есть ряд недостатков. Как перепишет его chatgpt? Код следующий, а просьба такая: "улучши этот код: …здесь код…"
Результаты поражают. Улучшения кода от ChatGPT:
Посмотрим что он сделал:
- Переместил все поля в [SerializeField] как делают хорошие программисты.
- Вынес значение по умолчанию свойства jump,чтобы его можно было настраивать через инспектор. В предыдущем коде была ошибка — мы могли менять направление прыжка в инспекторе, но это бы не работало.
- Расширил метод OnCollisionStay, чтобы более точно определять, находится ли игрок на земле. Это позволяет исправить сразу группу багов с логиком прыжков в платформерах.
- Сделал красивое форматирование и добавил private полю rb, что не влияет на логику, но делает код безопаснее и понятнее.
Мы видим, что ChatGPT верно исправил код, исправил несколько багов и улучшил качество. А это, между прочим, ответ со stackoverflow с хорошим рейтингом. Людям лень писать и объяснять, а еще они ошибаются.
И конечно же, вы можете попросить его объяснить, что он исправил и спросить любые детали как у человека. Это можно использовать для самообучения.
Человек учил, учил и учил нейросеть, теперь она учит его!
Мой отдел маркетинга это я и мой кот
У маленьких начинающих инди-команд или инди-авторов нет денег и возможностей проводить грамотный маркетинг своей игры. Конечно, вы можете очень много и подробно спрашивать у chatgpt как раскручивать игру и следовать этим советам, и это будет неплохо. Однако, есть ряд задач, где эта нейронка может быть особенно полезна!
У вас есть Твиттер игры?
Многие инди-авторы пиарят свои игры в twitter, но многие не знают, как добиться хорошего результата от своих твитов. В этом нам будет помогать ChatGPT.
Допустим, вы разрабатываете игру и у вас вышла недавно демо-версия игры, вы хотите об этом сообщить в своём twitter. Хороший текст уже половина успеха. Давайте попросим chatgpt сделать красиво:
Вы можете добавлять больше контекста, информацию об игре, вашу ситуацию и просить в разных стилях генерировать текст. Не будет страха, что вы что-то неграмотно написали на английском языке.
Давайте выберем 4 вариант и попросим сделать его немного иным, добавим красок:
Явно не хватает контекста, кому интересна абстрактная игра? Давайте представим, что это какая-то игра про пришельцев, где строишь поселение для инопланетян:
Это мы пока балуемся с twitter, но можно проделывать всё то же самое и для Reddit, YouTube и др. У каждой социальной сети своя аудитория и свои порядки, где-то работают одни заголовки, где-то другие и ChatGPT это учитывает. Обязательно указывайте для какой социальной сети вы хотите сгенерировать контент.
Хочу, чтобы Куплинов поиграл в мою игру!
Если ChatGPT умеет генерировать тексты, то почему бы ему не генерировать уникальные письма для каждого ютубера и стримера с просьбами поиграть в вашу игру. Это особенно полезно, когда вы пишете письма не на своём родном языке. Письмо будет грамотным, будет использованы естественные выражения для языка. Это сможет повысить шансы на успех.
Да, рассылка ключей и писем блогерам нормальная практика и чуть ли не самый эффективный способ распиарить свою игру без вложения денег.
Давайте попробуем:
Давайте попробуем улучшить текст.
Лучше объяснять ChatGPT про характер блогера, во что он играет, чем увлекается, чтобы он смог сгенерировать текст более личный и подходящий. Нужно строить более подробный запрос и тогда он будет подстраиваться.
Где идеи, Лебовски! ?
ChatGPT умеет генерировать всякие идеи и для игр, но я расскажу про более интересные варианты использования, которые помогут вам найти вдохновение и новые идеи.
Ролевые игры
Возможно вы уже видели новости, про то как ломают ChatGPT и что-то заставляют его делать. Обычно, это происходит через навязывание роли боту, а он прекрасно умеет это делать. С ним можно играть в ролевые игры даже в интерактивном виде.
Давайте сразу начнем с чего-то очень сложного:
Для чего это можно использовать? Неплохой генератор сценариев или кусков сценариев, где важны диалоги. Думаю, можно заставить его генерировать сценарии в паре, вы ему строчку, он вам 2 строчки в ответ и так далее. Словно теперь у вас есть живой напарник.
Хотите продолжения?
- Поставьте лайк, не скачивание!
- Есть вопрос или мнение? Напишите в комментариях.
Если будет большой отклик, я напишу еще одну статью на эту тему. Могу рассмотреть какой-то пункт более подробно или вы можете предложить свои идеи в комментариях.
Как же вы заебали
Статья про геймдев. Статья про новое в геймдеве. Хорошо, грамотно написана. Нет ошибок, есть уважение у читателю. Удобная структура. Приведены примеры. Автор просит задавать вопросы.
И тут появляешься ты и высираешь какую-то фигню. Тебе лень даже парой строк объяснить, что не так. Нет. Ты тупо проскролливаешь до комментов, оставляя жирные следы на экране. Ты плямкаешь гунявыми губешками и пишешь вот это своё, которое не искра мысли в твоём мозгу, а просто бесполезный доеб. Ну, спасибо! Удружил! В следующий раз в ленте будет только то, что твоё величество хочет видеть - жопы там, коты, не знаю что.
Иди ты на хрен, короче.
Без негатива.
засунь своё мнение себе в одно место
Не заёбывайтесь, изи же. А статья полезная.
ну ты и додик, конечно
как же вы заебали ныть что вас ебут
Вообще выглядит прикольно, но рекомендовать использовать чатгпт тем кто не умеет в программирование я бы не стал. Скорее наоборот, чтобы контролировать и понимать результат выдаваемый гптшкой желательно быть программистом который умеет читать и понимать чужой код + умеет хорошо формулировать ТЗ. Я пробовал обучать человека который вообще 0 в программировании. Лучшее что он сможет - безыдейно копипастить код и не понимать почему он не работает.
Также можно сказать про генерацию картинок теми, кто не знает как рисовать. Они постоянно не видят того, что видит каждый художник, но тем не менее AI картинки выстреливают. То же самое ждёт и программирование. Только я лично считаю, что подобные ChatGPT будут максимально эффективны если его прикрутят к какому-нибудь визуальному программированию, где он не должен будет контроллировать прям всё до мелочей, но будет знать тысячи необходимых правил в конкретной оболочке визуального программирования.
Я написал в статье, что chatgpt прекрасно умеет объяснять код и свой и чужой, привёл примеры. Я бы стал рекомендовать писать код, даже если ты не умеешь, научишься постепенно.
конечно, ты должен уметь контроллировать.
Я пока не начал его спрашивать темы, в которых хорошо разбираюсь тоже был в восторге, сейчас восторги смыло, достоверность ответов очень низкая
ChatGPT, хотел бы чтобы вы сделали игру, 3Д-экшон суть такова...
Сделал ерунду в итоге :(
Если будет продолжение, то неплохо бы технически расписать установку и настройку самого ChatGPT (с этого можно было тут начать), а так, весьма любопытно даже, я б хотел ради интереса свои скрипты стравить ей на посмотреть
Просто регаешься и всё. Если в РФ, то вот гайд https://vc.ru/life/584440-kak-zaregistrirovatsya-v-openai-chatgpt-iz-rossii-v-2023-godu
Устанавливать его не надо, достаточно регистрации через мобильный телефон любой страны вне РФ (получить лишь смс код) + иметь vpn этой страны. Один раз зарегистрируешься и всё. Сервис бесплатный, купить номер телефона можно за 20 руб. для принятия смс-кода, есть сервисы по продаже номеров где принимают и карты мир.
Вот это кстати да, особенно для РФ где доступ к ней обрезан.
надо было попросить, что бы он статью за тебя написал.
:]
как и с другими нейронками человек должен разбираться лучше робота, чтобы добиться от него приличного результата. Если человек не в курсе, то легко пропустит мимо ложь, косяки, ужасную производительность. Потому что робот опирается на популярные мнения и приёмы.
Например вот у меня по работе задачка. Обсуждалась она на ютубе 10 раз и никто её не решил так кратко и удобно для пользователя, как я с 4го или 5го захода.
Тут не совсем согласен, что ты прям должен разбираться лучше чем робот. Просто ты не можешь помнить всё на свете, у chatgpt намного больше информации чем у тебя в голове. У тебя должна быть хорошая база основных знаний и этого достаточно, чтобы chatgpt смог сгенерить что-то сложнее, чем ты сейчас можешь.
Но если ты подсаживаешься на нейронки твой скилл падает. Если нейронка за тебя делает композицию или дизайн, то как художник ты не развиваешься. Точно так же и с кодом. Если робот тебе дает уже готовые куски, ты их используешь как есть не задумываясь как они работают внутри.
так он не для замены твоих мозгов, а для поручения ему рутины. Конечно ты должен разбираться лучше него, лол. Ты директор, а он рабочий. А многие пытаются делать наборот
Уже работаю с ChatGPT в процессе разработки игры и вот мой итог.
1. В код он не может. Реализовать простые фичи без проблем, но такие фичи ты можешь без труда нагуглить и сделать по туторам. Если тебе нужно что-то более комплексное, он просто не может это сделать. Как пример я его нагенерированный код давал глянуть прогерам с опытом и они сказали цитата - "Этот код напишет 3х летний ребенок.". В контексте одного скрипта не страшно, но если у тебя весь проект будет с такими скриптами, это будет ужас.
2. В генерацию идей, сценариев, механик или фич он не может. Ибо я очень долго старался и разными способами, но он просто в конце сам выдал от безысходности: "Извините, но я не способен мыслить творчески и беру просто готовые решения из интернета", соответственно возлагать на него творческие задачи бесполезно.
3. Касаемо перевода, тоже об этом недавно думал. А что если вместо Google Translate использовать его. Хочу проверить конечно эту теорию, но у меня так-же есть мысль, что слова и предложения которые я ему буду говорить переводить будут использоваться в разных контекстах игры и соответственно ему нужно описать их. Да, долго, но бесплатно. О качестве увы пока не знаю. Но я уже нашел дешевых переводчиков на аутсорсе и думаю лучше воспользоваться ими.
4. Про рекламу. Если ты вообще 0 в маркетинге = картошка, то безусловно он тебе поможет. Но если ты обладаешь базовыми принципами, он тебе не чего нового не скажет.
Как итог: Он полезен, но если всю работу после него править жирной ручкой. Он может подтолкнуть на какое-то решение, и дальше лучше делать самому.
1. По поводу первого пункта, я знаю еще как минимум 3х программистов с богатым опытом, которые не согласятся с этим. Вероятно нужно учится работать с ним и правильно формировать запросы. Буквально на днях, один мой коллега сформировал запрос технического толка на несколько абзацев, чтобы сгенерировать код, для создания сервиса отправки смс в рамках нашей архитектуры. Он справился на 90%, то что раньше мы делали за 2-3 дня, он сделал за час.
2. Плохо старались. Нейронку нужно пробовать по разному и если она говорит что не может, это еще не значит что это так.
Как итог, могу сказать что нужно учится ей пользоваться, это может занят 1-2 недели плотного общения с ней и пробывания разных штук.
следующие пункты твоего пути, возможно уже через полгода-год: 1. пойти и научиться промт-инжинирингу 2. быть в восторге от возможностей
потому что ты очевидно не очень хорошо работаешь с промтами
для тестов, генерации моделей данных, всяких клиентов для бд (зависит от контекста) - супер топ, для сложной логики - пока слабо
создать каркас элемента изолированного, как в случае тса (движки хороши, конечн, там сразу норм архитектура, создал что-то в вакууме и работает, не всегда так) или вычитать что-то из файла/бд/кеша/инета по структуре (которую может сам и сгенерить) или сваггеру - легко напишет на многих яп.
топ тема, плюс купил даже, надеюсь можно будет лить через годик целые папки с проектами или репы, энивей все норм в опенсорс идут (привет яндекс, шутка) или ентерпрайз хост сделают для таки целей
иногда жестко, конечно, тупит, придумывает методы у либ (хотя многие и неплохо!), контекст теряет достаточно скоро, если много генерить, не может нормально вернуться к поза-n-ому контексту, даже если прямо умолять её (вроде там 4к токенов) но, к gpt-5, думаю, я переквалифицируюсь в оператора (эх, кайф, мечты, сколько же прекрасного появится, если убрать порог вхождения в прогу) ну или в госуху за чашку риса, там прогресс до пенсии не дойдет)
для обучения безусловно епик вин, персональный учитель с нулевым временем ожидания, да, иногда фигню говорит, но можно ведь уточнить, она, в отличии от людей, легко переобувается)
кто хочет в игре сделать себе квесты или бота, то есть селф хостед gpt-6b, можно попробовать нагенерить там, не уверен, что там с рантаймом и пингом
https://medium.com/@hirak99/conversations-with-gpt-j-6b-46c4d8f86625
Очень интересно написано. Действительно, возможности поражают уже сейчас, а что будет уже через год? Пять?
Скоро реально будет создать простую игру без всяких навыков, тупо на одном энтузиазме.
Он делает банальные ошибки при вычитание дробей, я бы не доверял ему полностью, незнающий человек может не подозревать подвоха
Я думаю это чем-то похоже на то, как раньше нужны были большие студии и команды, чтобы делать большие игры, а сейчас появилось множество удобных движков и инструментов, теперь инди-разработчик может делать в одиночку многие вещи. Такие нейронки, вероятно, станут такой же революцией со временем, и один человек сможет сделать намного больше и качественнее, чем ранее.
Мне кажется ChatGPT очень хорош для сценаристов, часто вижу как люди ведут с ними диалоги и бывает круто получается, по сути если писать сценарий или книгу, эта нейросеть очень может помочь.
Ну вот как помощник (а не замена!) он очень хорош. Я часто с ним просто перекидываясь идеями, просто чтоб растормошить мозг — в реальной жизни можно было бы вести диалог с другими людьми, но поскольку я у себя дома такой один, то чатгпт идеально справляется с ролью собеседника.
Гм, если у вас именно с программированием проблемы, то думаю игры вообще делать не стоит - там не то что оптимизация, там математика(которая геймплей) тоже будет никакая. Лучшие игры пишут те, у кого с технической частью точно никаких проблем нет, иначе, даже если очень повезет, то через много лет все равно придется все переписывать с нуля, если проект будет жив вообще.
Что за тупая хуйня? Только долбаебы так делают, по таким признаком можно понять, что код писал или идиот, или теперь еще получается нейросеть, да возле каждой переменной давайте хуярить приват и сериализацию ведь это совсем не засоряет код...
Только долбаёбы пишут такие комментарии.
а где репит ?
:/
репит в моём сердце!
А где вы этот чатгтп нашли? Его качать надо? Или сайт какой? А то гугл не выдаёт чего-то конкретного. Ща чаракетер.аи пользуюсь, он мне полезные книги советует по психологии и отвечает на тупые вопросы касательного моего состояния.
https://chat.openai.com/ - вот он.
Неделю открывает самая глупая цитата.
За статью спасибо, все сос смыслом
Многие так и считают, пока не попробуют.
Отличная вводная статья, спасибо.
Интересно посмотреть на ваш опыт написания сценария\квестов для игры с использовонием чатГопоты
Крутая тема нужно уже запарится и сделать себе аккаунт, а то так весь хайп пропущу.
Настоящий хайп ещё даже не начался.
Вдохновляющая статья! Я уже пару дней играюсь с генерацией картинок. И хочу попробовать сделать простенькую новеллу. До чата этого ещё не добрался. Но вы меня вдохновили на изучение сегодня вечером.
Возможности нейросетей восхищают и пугают. Но всё же это инструмент. Он просто появился и мы с этим ничего уже не сделаем. Дух времени. И всё зависит от того, умеет ли человек пользоваться инстурментом. Те кто освоят нейросети, будут на коне. С другой стороны я думаю, что настоящий человеческий труд в искусстве по-прежнему будет ценен в силу того, что творец вкладывает свою индивидуальность, в то время как программа просто анализирует кучу данных в сети и выдает усредненный резуотиаию
Интересная статья! Хотелось бы больше примеров написания им кода.
все еще сложно) подождем) надо чтобы на мой запрос сразу получать exe игры)
Звучит занятно. Есть способ как попробовать из РФ? Желательно без регистрации левых номеров на сомнительные аккаунты.
Другого варианта нет, есть всякие Телеграм боты типа "ChatGPT", это совершенно не то. И еще есть всякие мобильные приложения, которые тоже не ChatGPT, хоть и заявляют об этом, они там старую модель используют вроде как 2.0 или вообще другую, в общем та тупее намного.
Пикча вначале повеселила, но на SerializableField я сломался (и в произношении тоже) и дальше скролил в поисках знакомых буков)
Было весело, но осознав насколько я тупее вас обоих (тебя и чата) я вышел из беседы
Лонг скорее всего полезен и прекрасен, строго лайк! Вернусь через полгодика постараюсь перепройти до следующего абзаца
Спасибо большое за статью! Наконец-то увидел пару примеров практического применения и решил таки потестить... Охренеть конечно. Много всякого полезного за годы видел, но этот инструмент точно изменит инди сцену. Есть нюансы конечно, с творческим подходом и фантазией проблемы, но по мне так это плюс, иначе был бы натуральный коллапс. А так это очень крутой инструмент помощник.
Это супер полезно! До статьи относился к этим ботам негативно, не хотел разбираться, теперь понятнее как его использовать и зачем, thx
Конечно жаль когда технологии забирают у людей рабочие места, но что поделать надо подстраиваться (
Жду ещё статью с тонкостями
Также очень интересно как можно использовать других ботов, особенно по картинками, а то они обычно что-то неработающее делают, только для вдохновения подходят как концепт
я пока только для идей и подобия мозгового штурма его пробовал использовать, надо попробовать с кодом )
для начала гуд