DevLog #1 — Первые механики в моей РПГ игре
Ну что, первый настоящий девлог подъехал. До этого я просто разгонял мысли, а теперь уже конкретика по механикам. Начну с самого первого, что я делал после интеграции игры в Godot — инвентаря. Бой у меня уже работал, про него расскажу в следующих постах.
Первые шаги
С самого начала я был уверен: drag & drop в инвентаре должен быть. Хотелось, как в ММО, — вручную перетаскивать предметы, раскладывать их по ячейкам. Тогда это казалось очень крутой механикой.
В браузере у меня эта система уже работала, хоть и криво, но работала. А вот в Godot начался полный хаос: предметы выпадали за сетку, не цеплялись мышкой, плохо собирались в стаки. Плюс приходилось бороться с тем, чтобы инвентарь нормально общался с другими скриптами — например, чтобы после боя дроп корректно попадал в сумку. Казалось бы, простая вещь, но ошибок я ловил массу.
Работа с GPT
Каждую проблему я скармливал GPT. Он правил код, я проверял → снова баг → снова кидаю код. Классический цикл вайб-кодинга.
Главная проблема — размер скрипта. 400 строк. GPT не понимал контекст, приходилось дробить его на куски, отдельно подкидывать функции и связанные скрипты. Я ещё и сам не умел правильно формулировать задачи, опыта мало. Сейчас понимаю: если давать точные запросы, GPT справляется лучше. Но тогда я реально перегорел от постоянных ошибок.
Добавим к этому то, что у меня Godot 4.3, а GPT стабильно писал под старую версию. Половина функций просто не работала. В итоге фикс одной строчки рождал три новых бага.
Вайб-кодинг
Я всё ещё новичок, сам с нуля код не напишу. Сейчас это модно называть вайб-кодингом: не пишешь код, а собираешь рабочее из того, что даёт GPT. Зато постепенно я начал понимать, как устроены функции, как скрипты связаны друг с другом. Опыт растёт, хотя ошибок по-прежнему много.
Отказ от drag & drop
В какой-то момент я понял: да ну его, этот drag & drop. Зачем он нужен, если через пару часов игры ручная сортировка надоедает всем?
В итоге я сократил скрипт с 400 до 200 строк и перешёл к системе вкладок:
— оружие
— броня
— разное
В будущем добавлю сортировку по цене и редкости. Экипировка будет через обычный или двойной клик — посмотрю, что удобнее.
Торговля
Я также прикрутил продажу предметов — поштучно и кнопкой «продать всё». Это оказалось сложнее, чем ожидал, багов наловил кучу. До конца не уверен, стоит ли оставлять торговлю прямо в инвентаре, или вынести её в маркет. Пока оставил как есть.
Итог
Инвентарь пока лежит «на полке доработки». Но именно с него началось формирование всей системы. И я сделал главный вывод: иногда проще отказаться от красивой идеи, чем бесконечно её латать.
Главный вывод этого девлога: drag & drop — как бывшая. Сначала кажется, что без неё жизнь невозможна, а потом понимаешь, что и без неё заебись.
Следующий девлог будет коротким, про маркет. Спасибо, что двигаетесь вместе со мной — это только начало.
Ниже прикрепил развитие UI инвентаря в моей игре, от самого первого до нынешнего, еще предстоит много работы по нему:)
Подписывайтесь на мой телеграм канал, там помимо дев-влогов я выкладываю арты из игры, и просто по фану рисую с нейронками, залетай если тебе интересный нейросети и контент сделанный с помощью них: t.me/neirosea