Как я с помощью ChatGPT предотвратил убийство

Как я с помощью ChatGPT предотвратил убийство

Все живы! Это главное! Никто не пострадал а виновник получил по заслугам. Я думаю что это должно стать уроком для всех в мире геймдева, интернета и знакомств. За технологиями несомненно будущее, но они должны стоять только на страже добра, берегите себя, Unity и Playmaker!

Время кликбейтных заголовков, мои маленькие наивные бездельники. Самое время рассказать вам, как искусственный интеллект в виде ChatGPT помог мне в создании игры на юнити с помощью визуального скриптинга. Пруфов не будет. Точнее будут не те, которых вы ждете.

Убийца - дворецкий

Давайте быстренько снизим градус ожиданий и охладим траханье тех, кто еще не все. ChatGPT действительно стал соучастником геймдев процесса, чем предотвратил преждевременное убийство очередного шедевра отечественного и не очень индирынка. Без помощи ИИ натурально стоял вопрос "а не зря ли я это все вообще столько времени делал и не пошло бы оно уже с такими проблемами всё нафик" (пошло бы конечно же).

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

Ситуация

N-ое время назад мною был начат в рамках рехаб-процедур проект на Юнити. Те кто в курсе, знают что я не программист и использую испокон веков визуальный сквиртинг для создания игр. В Юнити я использую богоподобный Playmaker.

Произвольный скрин с проекта на котором изображена ВСЯ система save-load, масштабируемая на любое количество объектов в игре
Произвольный скрин с проекта на котором изображена ВСЯ система save-load, масштабируемая на любое количество объектов в игре

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

Процесс разработки игр всем известен - месяц разработки, неделя тестов, неделя паблиша, и дальше маркетинг и состригание миллионов шекелей. Также, всем успешным разработчикам хорошо известно как быстро маленький проектик обрастает крутыми фичами и решениями и вдруг становится трипл/б/ проектом, в котором разработка занимает уже не один месяц а недель пять. За время своего инди-рехаба я углубился достаточно глубоко - в какой-то момент контроллер оброс покупными моделями, появились крутые спецэффекты не за бесплатно, на один только игровой UI тысяч 30 выложилось художнику. В общем внезапно проект стал теплым и ценным, дойдя до стадии "пора пилить уровни".

И тут возникает проблема которая чуть не заруинила всё нажитое непосильным трудом.

Проблема

Используя в творчестве на юнити плеймейкер я привык что снимаю с себя необходимость заниматься всякой скучной ерундой для нищуков типа написания кода. Ну то есть все идеи решаются и воплощаются быстро и просто. Это аксиома работы с визуальным программированием.

Однако, как оказалось, не все проблемы можно решить нахрапом. К примеру, всем юнитистам известный TextMeshPro для UI оказалось что не имеет возможности из коробки на лету менять количество опций внутри выпадающих списков.

Теперь представьте кошмар инди-девелопера. Задумана простая механика - игрок поднял предмет впервые за игру, в его условной записной книжке добавилась запись о том, что это за предмет. Предметов может быть произвольное количество (это ж рпг), и собирать их игрок может в произвольном порядке (это ж рпг!). Вместо страниц было выбрано решение с выпадающим списком, в который в произвольном порядке должны были добавляться заголовки, при выборе которых показывался бы описательный текст. Ну элементарное в общем.

Решенная в итоге проблема
Решенная в итоге проблема

И тут я выясняю, что Playmaker не позволяет на лету добавлять в Text Mesh Pro дропдаун новые элементы. То есть только фиксированный список дропдауна. Или же использовать низменный ушлепский легаси дропдаун для немощных. Или вообще переделывать отображение, но в этом не было необходимости, потому что я начал думать что а не бросить ли тогда вообще это всё и дальше заняться алкоголизацией здравого смысла.

Мне потребовалась неделя чтобы перепробовать разные варианты решения, подумать над архитектурой альтернативных решений, найти описание того, что Text Mesh Pro действительно не так широко адаптирован в Playmaker и убедиться, что кастомных решений нет. Горело в общем знатно.

Пока я думал, не бросить ли проект на полпути как это принято на дтф и вообще в индигейдев среде, я вспомнил одну важную вещь. Для понимания - Плеймейкер это стейт машина, в которой пользователь описывает события(экшены) на каждый отдельный стейт. И вот эти самые события-экшены никто не запрещает добавлять свои. Если раньше я занимался этим скучным собираем кастомных событий-гомункулов из нескольких, то теперь я решил, что это не барское дело и для таких целей есть уже искусственный интеллект.

Решение

Я вспомнил про своего хорошего приятеля ChatGPT с которым уже имел ранее беседы и который великолепно пишет seo-тексты, рассуждает о пользе идей платона в быту и подсказывает как кадрить девочек с помощью юнити и плеймейкера.

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

Для этого я скормил ему существующий экшен из Playmaker, который решал такую задачу но для легаси компонента - для старого дропдауна. Показав оный моему товарищу и теперь уже, видимо, соучастнику разработки, я описал требования. "ХОЧУ ЧТОБЫ РАБОТАЛО С TEXTMESHPRO В ПЛЕЙМЕЙКЕРЕ".

осталось еще N желаний
осталось еще N желаний

Около 10 секунд ChatGPT писал код. Дальше всё как в тумане - искра буря безумие. 10 тысяч лет человеческого развития наконец-то привели к тому, что машина смогла создать реальную пользу для обывателя. Это была феерия. Фурор. Карнавал интеллекта. Взрыв серотонина. Разрыв. Прорыв. Отвал башки.

Добавленный в плеймейкер экшен от ChatGPT мало того что скомпилился юнити без ошибок, так он еще и сработал как надо. С первого раза.

Разница между оригинальным экшеном и тем что написал CHATGPT
Разница между оригинальным экшеном и тем что написал CHATGPT

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

Обнялприподнял вас бездельники.

1212
4 комментария

Блять с такими кликбейтами только в одно место

2
Ответить

ну да, поэтому я здесь

2
Ответить