GameDev+Ai
5 постов
5 постов
234 поста
Всем привет! Если кто не знал, я нейрохудожник с четырехлетним стажем. Это моя основная работа, которая кормит семью, рисую красивые 2D-арты (в основном 18+) и не только.
Но сегодня пост о другом. Уже больше года я в одиночку пилю свою игру. Это 2D RPG в сеттинге средневекового фэнтези. Процесс идет так долго и бурно, что за это время я сменил больше пяти визуальных стилей и несколько раз с нуля переписал кодовую базу. Всего и не вспомнить за раз, но я хочу начать делиться рабочими процессами. Сейчас разработка занимает всё мое свободное время. Это уже давно не просто хобби, это цель получить хотя бы альфу в Steam. И мечта детства, создать собственный мир, который я полностью придумал сам. Да, с помощью нейросетей, но руками и головой.
В будущем планирую делать больше постов о том, как именно нейронки помогают в разработке. Сейчас мой основной стек для кода, это VS Code со встроенным Codex агентом плюс их отдельное полноценное приложение. Лучшего сочетания для себя я не нашел. Тот же Клод выходит слишком дорогим, даже слышать о нем не хочется, я сторонник решений побюджетнее, а еще лучше, бесплатных.
ИИ-агенты вообще раскрылись для меня с новой стороны, когда получили полный контекст проекта. Раньше как было? Копируешь кусок кода (или огромную простыню) в чат к той же Gemini или ChatGPT и просишь что-то исправить. Нейронка без контекста путалась, выдавала кучу ошибок. Сейчас, когда агент видит весь проект целиком внутри редактора, работать с кодом стало в десятки раз проще. Ошибки всплывают дай бог раз на десять запусков.
Связка получается идеальная: агент пишет код, а я отвечаю за весь визуал с помощью локальных нейросетей. Полноценного опыта в графике мне хватает, поэтому я много чего дорабатываю и дорабатываю руками, чтобы получить финальный результат. Но сразу прошу не кидаться камнями. То, что вы видите сейчас, это еще сырой рабочий вариант. Я сам прекрасно знаю, где и что нужно докрутить.
Собственно, к делу. Сейчас встал острый вопрос: что делать с инвентарем? Нынешнее расположение предметов и общее визуальное оформление меня не устраивают. Решил выкатить текущий вариант на общее обозрение, чтобы услышать фидбек.
Мне не нравятся сами иконки предметов. Они выглядят какими-то съеденными, и в игре тяжело с ходу разобрать, что именно нарисовано внутри ячейки. Градация по редкости считывается нормально, а вот сами объекты смазанно.
Что думаете по этому поводу? Буду рад любым советам и конструктивной критике. Но если кто-то пришел просто ради срача, пройдите, пожалуйста, мимо.
Еще больше артов можно найти в моем телеграмм канале,там я публикую каждый день арты
Оставляй комментарий:)
Еще больше артов можно найти в моем телеграмм канале,там я публикую каждый день арты
Оставляй комментарий:)
Еще больше артов можно найти в моем телеграмм канале,там я публикую каждый день арты
Оставляй комментарий:)
Еще больше артов можно найти в моем телеграмм канале,там я публикую каждый день арты
Оставляй комментарий:)
Ну что, первый настоящий девлог подъехал. До этого я просто разгонял мысли, а теперь уже конкретика по механикам. Начну с самого первого, что я делал после интеграции игры в Godot — инвентаря. Бой у меня уже работал, про него расскажу в следующих постах.
С самого начала я был уверен: drag & drop в инвентаре должен быть. Хотелось, как в ММО, — вручную перетаскивать предметы, раскладывать их по ячейкам. Тогда это казалось очень крутой механикой.
В браузере у меня эта система уже работала, хоть и криво, но работала. А вот в Godot начался полный хаос: предметы выпадали за сетку, не цеплялись мышкой, плохо собирались в стаки. Плюс приходилось бороться с тем, чтобы инвентарь нормально общался с другими скриптами — например, чтобы после боя дроп корректно попадал в сумку. Казалось бы, простая вещь, но ошибок я ловил массу.
Каждую проблему я скармливал GPT. Он правил код, я проверял → снова баг → снова кидаю код. Классический цикл вайб-кодинга.
Главная проблема — размер скрипта. 400 строк. GPT не понимал контекст, приходилось дробить его на куски, отдельно подкидывать функции и связанные скрипты. Я ещё и сам не умел правильно формулировать задачи, опыта мало. Сейчас понимаю: если давать точные запросы, GPT справляется лучше. Но тогда я реально перегорел от постоянных ошибок.
Добавим к этому то, что у меня Godot 4.3, а GPT стабильно писал под старую версию. Половина функций просто не работала. В итоге фикс одной строчки рождал три новых бага.
Я всё ещё новичок, сам с нуля код не напишу. Сейчас это модно называть вайб-кодингом: не пишешь код, а собираешь рабочее из того, что даёт GPT. Зато постепенно я начал понимать, как устроены функции, как скрипты связаны друг с другом. Опыт растёт, хотя ошибок по-прежнему много.
В какой-то момент я понял: да ну его, этот drag & drop. Зачем он нужен, если через пару часов игры ручная сортировка надоедает всем?
В итоге я сократил скрипт с 400 до 200 строк и перешёл к системе вкладок:
— оружие
— броня
— разное
В будущем добавлю сортировку по цене и редкости. Экипировка будет через обычный или двойной клик — посмотрю, что удобнее.
Я также прикрутил продажу предметов — поштучно и кнопкой «продать всё». Это оказалось сложнее, чем ожидал, багов наловил кучу. До конца не уверен, стоит ли оставлять торговлю прямо в инвентаре, или вынести её в маркет. Пока оставил как есть.
Инвентарь пока лежит «на полке доработки». Но именно с него началось формирование всей системы. И я сделал главный вывод: иногда проще отказаться от красивой идеи, чем бесконечно её латать.
Главный вывод этого девлога: drag & drop — как бывшая. Сначала кажется, что без неё жизнь невозможна, а потом понимаешь, что и без неё заебись.
Следующий девлог будет коротким, про маркет. Спасибо, что двигаетесь вместе со мной — это только начало.
Ниже прикрепил развитие UI инвентаря в моей игре, от самого первого до нынешнего, еще предстоит много работы по нему:)
Подписывайтесь на мой телеграм канал, там помимо дев-влогов я выкладываю арты из игры, и просто по фану рисую с нейронками, залетай если тебе интересный нейросети и контент сделанный с помощью них: t.me/neirosea
Доброго времени суток!
Смотрю, многим зашли мои прошлые дев-влоги, так что продолжу делиться историей разработки. Сегодня — о первом знакомстве с движком Godot и о том, как я переносил туда всю функциональность своей браузерной RPG.
Я решил: хватит мучиться — пора переходить на движок. Перейти на Godot было непросто. Увидел, как один разработчик делает там свою игру, и подумал: «Почему бы не попробовать самому?»
На старте я почти ничего не понимал.
Узлы, инспектор, дочерние сцены, инстанцирование — всё это было для меня тёмным лесом. И это я ещё про интерфейс молчу. Сам язык GDScript до сих пор знаю лишь на уровне, достаточном для ориентации и исправления ошибок.
Перекинуть весь функционал напрямую из JavaScript в GDScript было невозможно. CSS-стили и HTML-верстку тоже не скопируешь. Всё пришлось делать с нуля. Каждый элемент интерфейса, каждый кусок логики я собирал при помощи ChatGPT — вместе с его багами и потерями контекста.
Со временем научился сам размещать элементы на сцене, выстраивать структуру и править код.
Без плана было бы нереально. Я составил список шагов:
Перенести все скрипты и функционал.
Перетащить стили и интерфейс (CSS → сцены, HTML → структура).
Перерисовать визуал под новый формат.
Проверить, чтобы игра запускалась.
Пока не перенесены все скрипты, игру не проверить — один файл проект не запустит.
Когда я наконец собрал всё и запустил игру — получил тонну ошибок. ChatGPT адаптировал 18 JS-файлов (каждый по 300–800 строк), но допустил множество ошибок.
Перенос шёл постепенно, по одному файлу. Процесс поиска и исправления багов выглядел так:
Копировал ошибку из консоли.
Отправлял её в GPT вместе с контекстом.
Получал исправленный вариант.
Если не работало — откатывался и повторял.
Если код умещался в 100 строк — чат справлялся. Если больше, он терял нить, создавал новые баги, и приходилось возвращаться к прошлым версиям.
Так продолжалось почти месяц.
Для понимания масштаба работы:
18 JS-файлов (300–800 строк каждый) → GDScript
15 CSS-файлов (gamestyle.css — 600 строк) остальные поменьше
6 HTML-страниц
74 картинки
Это было только начало. Сейчас проект вырос до:
56 скриптов
40 сцен
291 картинки
Параллельно с кодом шла постоянная переработка визуала.
Где-то переносил интерфейс из браузерки, где-то перерисовывал элементы, потому что старый стиль переставал нравиться. Иногда делал заглушки, чтобы хотя бы протестировать функционал.
Перерисовка визуала — процесс бесконечный, думаю, многие разработчики игр это понимают.
После переноса я начал улучшать старые механики и внедрять новые.
Дальнейшие посты будут уже не такими сумбурными: каждый будет посвящён конкретной системе или механике — инвентарю, карте, боевой системе, оптимизации.
А пока — несколько скриншотов версии после полного переноса из браузера.
Переход с браузерной игры на Godot стал серьёзным вызовом. Каждый день я сталкивался с ошибками, уставал, откатывался, но шаг за шагом собирал свой мир.
Игру нельзя просто переписать с одного языка на другой. Её нужно написать заново.
Баги не исчезают. Они просто переходят в следующую версию🐺
Подписывайтесь на мой телеграм канал, там помимо дев-влогов я выкладываю арты из игры, и просто по фану рисую с нейронками, залетай если тебе интересный нейросети и контент сделанный с помощью них: t.me/neirosea
Следующие 5 скринов уже на движке годот после переноса большинства механик и визуала из браузерки(система инвентаря с драг энд дроп)
Но что было в карте тогда и сейчас, совершенно разный вид игры, сейчас я полностью переработал карту и локации, в будущих постах увидите:)
Система прокачки героя, простенькая, но даже такую было сложно создать а потом еще и перенести на годот
Таверна, сейчас кажется уже странной что в окошке целое помещение, так что от этого дизайна я тоже уйду к полноценной локации, с кайфушной музыкой и атмосферой:)
Хочется поделиться еще скринами из создания, но многие затерялись, да и пост будет слишком уж длинной простыней:)
В Telegram-канале как-то наткнулся на пост про создание игр с нейросетями. Уже не помню, в каком именно, но у меня щёлкнуло: я тоже хочу! Думал об этом уже лет пять, но раньше всё казалось невозможным — нужно учить языки, разбираться в движках и т.п. А тут — ChatGPT. Интересно же.
Я зашёл, спросил: «Мы можем создать игру?» Он, конечно, согласился. И всё закрутилось.
Сначала я прикидывал, что вообще хочу. Тогда был хайп на кликалки вроде хомяка и Notcoin. Захотел сделать свою, но с RPG-элементами: прокачка, клики, монетки, и, в идеале — хоть как-то монетизировать.
Я описал идею, и мы начали вместе думать. Знаний — ноль. Не понимал, где писать код, как собираются игры... На все вопросы отвечал чат.
Оказалось, Telegram-игра — это по сути браузерка на HTML/CSS/JS. HTML — структура, CSS — стили, JS — логика. Если где-то ошибаюсь в терминологии — не судите строго, я только начал учиться.
На старте всё было в новинку. ChatGPT не всегда держал контекст, скрипты получались громоздкими, каждая механика — в отдельном .js-файле по 400+ строк. Всё писал в Блокноте, сохранял, открывал в браузере, правил — и так по кругу.
Потом нашёл Notepad++, стало немного легче. Потом открыл для себя Visual Studio Code — и вот тогда реально почувствовал кайф от нормальной работы с кодом.
Чуть позже случайно открыл DevTools (F12) в Chrome и понял, что можно прямо в браузере менять элементы, а потом копировать результат в VS Code. Удивительно, но таких фишек мне ни одна инструкция не подсказывала — сам нашёл, сам удивился.
Стили — отдельная история. Всё выглядело как одна гигантская простыня, где изменение одного блока ломало всё вокруг. Понемногу разобрался, но осознал: адаптировать игру под Telegram внутри браузера — не мой путь. Слишком сложно для текущего уровня.
В итоге решил: временно отказываюсь от Telegram-бота. Перехожу на полноценную браузерную игру. Там хотя бы контроль больше.
Подумал: ну 2D-RPG — что может пойти не так? На деле — почти всё старое перекочевало: верстка, стили, адаптивность. Но теперь я уже ориентировался лучше, поэтому работал системнее.
Проект занял около двух месяцев. Он не стал финальной версией, но именно он лёг в основу моей текущей игры на Godot. Скрипты не переносил — язык другой — но визуал, логика, структура перешли почти целиком.
Была мысль переделать всю игру на движке, но быстрее оказалось начать с нуля и использовать старую игру как черновик и референс.
4 локации (в каждой — свой моб)
Инвентарь с drag & drop
Магазин, таверна, прокачка
Режимы боя: ручной и авто
Система дропа, карта с хабом
Эффекты при наведении
Плюс мелочи: продажа предметов, логика мобов, перемещение вещей
Для первой игры — это был мощный апгрейд. Я реально понял, насколько сложна масштабная браузерка. Много кода, много взаимосвязей. Это не просто “написал скрипт и игра готова”.
Однажды открыл DevTools у одной крутой браузерной игры — в HTML было 3000+ строк. И это только одна вкладка. А их там десятки. В тот момент я чётко понял: я туда больше не полезу.
После RPG я сделал сайт для своей игры. Опыт с браузерной версией помог — знал, куда лезть, где искать решения, и всё вышло.
Сейчас весь фокус — на Godot. Новый движок, новые механики, свои баги и свои грабли. Следующие посты будут уже про мою основную игру, над которой я работаю каждый день.
Дополнительные материалы и скрины — оставлю в комментариях под этим постом. Заглядывайте.
Не важен тот, кто не падал. Важен тот, кто встал.
