🥲 Обещала про вайбкодинг.
На прошлой неделе у меня много времени улетело под нож Джемини и попытки добиться толка от ИИ, чтоб простейшие вроде бы функции работали🤦♂️
Возможно, дело не только лишь во мне😮💨
😫 Забегая вперёд, скажу, что Годо мне НЕ нравится. Может быть прогер и почувствует разницу между ним и тем же Фазером (Л. чувствует вполне), но для меня эти инструменты в удобстве не отличаются совсем. Хотя отличаются по сути.
😥 Фазер - неповоротливый, сцену невозможно воспроизвести в движке, посмотреть, как оно вообще садится или нет там. Само визуальное редактирование тугое. Типа, там удобнее просто вручную вводить координаты элементов, чем руками их расставлять на сцене😫
По ощущениям, будто ты расставляешь элементы UI с помощью клешни из автомата с игрушками.
🏃♂️Да, в Годо можно сразу воспроизвести сцену. Но они там все болеют другим раком. ВЛОЖЕННОСТИ. Годо - это такой швейцарский нож Фибоначчи. Всё в одном. Любое меню отваливается в бездонную яму каких-то дополнительных настроек, настроечек, конфигураций и хуилион прочих неизвестных и неочевидных функций.
Мне как человеку, привычному к графическим 2д редакторам, нравится, когда мухи отдельно и котлеты отдельно. Годо - это котета, в которую уже входит комплекс мух, любая из которых содержит свои котлеты, в которых свои мухи, а в них свои котлеты, и свои мухи, а в них...😥
В итоге для меня как для члена слишком маленькой команды работа в движках - необходимое зло. 🙂 И я соглашаюсь. Главное - чтобы было сделано. Мы не в том положении, чтоб делать только то, что нравится и хочется😎
Так вот, хотела пару слов сказать о том, как заставить проклятую машину всё же делать рабочий код.
🟡 ТОЛЬКО что-то одно за раз. Одна функция. Предельно чётко описанная. Например, все мои ситуации были связаны с тем, чтобы у выбранного компонента появлялись дополнительные изменяемые свойства (цвет, надпись, иконка) в меню Inspector при выборе этого компонента в любой сцене.
🔵ПРЕДЕЛЬНО ТОЧНО описывать в промте структуру компонента. К примеру "у меня есть компонент, состоящий из корневого узла с типом Control, в него вложен узел Control 1, в который вложен узел Sprite2D; в этот же корневой узел вложен узел типа MarginContainer, в который вложен узел NinePatchRect..."
➡️ если какие-то из узлов как-то вами названы, обязательно пишем тип узла и его название.
➡️ можно дополнить, содержимое каких именно узлов компонента изменяется. Например, переменный цвет содержится только в компоненте NinePatchRect.
🟣ОБЯЗАТЕЛЬНО описать то поведение, которое требуется от компонента ИЛИ от его части. Например, у меня была задача, в которой в компоненте в разных узлах содержались две переменные, которые должны были ОДНОВРЕМЕННО реагировать при наведении мышки.
➡️ неправильно: "мне надо, чтоб при наведении мышкой загорелся вот этот узел и тот узел"
➡️ правильно: " мне надо, чтоб при наведении мышки это и тот узел загорались ОДНОВРЕМЕННО, несмотря на то, что их содержимое перекрывает друг друга"
🟢 Наконец, обязательно проверяем, что получилось, после того, как вы прицепили созданный скрипт в указанное место. Оно должно как-то проявляться. Либо вы можете проигрывать сцену, либо выбирать компонент в Инстпекторе и смотреть, появились ли там нужные поля и переменные. Спросите у Джемини, где посмотреть, если не понимаете, где именно (да, я так и делала🥲).
➡️ если нихера не работает, ПОДРОБНО пишем в промт, что именно вы делаете, и что оно НЕ работает так, как вы просили.😮💨
Например, "в инспекторе появилось нужное выпадающее меню, но при попытке выбрать в нём другой цвет, значение в списке меняется, а цвет кнопки остаётся прежним. Проверь, почему не работает и перепиши рабочий код"
Такие вот пироги. Выматывает, злит 💀. У меня редко уходило меньше двух промтов на один такой скрипт.
А на пример из видоса я потратила больше 15 запросов🤦♂️ Но главное - оно работает. А я прогулялась по граблям плохо написанного промта (неоднократно) и принесла вам немножко откровений в этот пост✨
#TeZeeArt_indiegames #DevLog #concept_artist #game_artist #indiegames #геймдев #godot #vibecoding
Post #2680
166
- ❤ 2