4

Переход с браузерной RPG на Godot: мой опыт

Доброго времени суток!
Смотрю, многим зашли мои прошлые дев-влоги, так что продолжу делиться историей разработки. Сегодня — о первом знакомстве с движком Godot и о том, как я переносил туда всю функциональность своей браузерной RPG.


После пары месяцев с HTML, CSS и JavaScript

Я решил: хватит мучиться — пора переходить на движок. Перейти на Godot было непросто. Увидел, как один разработчик делает там свою игру, и подумал: «Почему бы не попробовать самому?»

На старте я почти ничего не понимал.
Узлы, инспектор, дочерние сцены, инстанцирование — всё это было для меня тёмным лесом. И это я ещё про интерфейс молчу. Сам язык GDScript до сих пор знаю лишь на уровне, достаточном для ориентации и исправления ошибок.


Перенос из браузерки

Перекинуть весь функционал напрямую из JavaScript в GDScript было невозможно. CSS-стили и HTML-верстку тоже не скопируешь. Всё пришлось делать с нуля. Каждый элемент интерфейса, каждый кусок логики я собирал при помощи ChatGPT — вместе с его багами и потерями контекста.
Со временем научился сам размещать элементы на сцене, выстраивать структуру и править код.


План перехода

Без плана было бы нереально. Я составил список шагов:

  1. Перенести все скрипты и функционал.

  2. Перетащить стили и интерфейс (CSS → сцены, HTML → структура).

  3. Перерисовать визуал под новый формат.

  4. Проверить, чтобы игра запускалась.

Пока не перенесены все скрипты, игру не проверить — один файл проект не запустит.


Первый запуск

Когда я наконец собрал всё и запустил игру — получил тонну ошибок. ChatGPT адаптировал 18 JS-файлов (каждый по 300–800 строк), но допустил множество ошибок.
Перенос шёл постепенно, по одному файлу. Процесс поиска и исправления багов выглядел так:

  1. Копировал ошибку из консоли.

  2. Отправлял её в GPT вместе с контекстом.

  3. Получал исправленный вариант.

  4. Если не работало — откатывался и повторял.

Если код умещался в 100 строк — чат справлялся. Если больше, он терял нить, создавал новые баги, и приходилось возвращаться к прошлым версиям.
Так продолжалось почти месяц.


Немного цифр

Для понимания масштаба работы:

  • 18 JS-файлов (300–800 строк каждый) → GDScript

  • 15 CSS-файлов (gamestyle.css — 600 строк) остальные поменьше

  • 6 HTML-страниц

  • 74 картинки

Это было только начало. Сейчас проект вырос до:

  • 56 скриптов

  • 40 сцен

  • 291 картинки


Визуал — вечная стройка

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


Что дальше

После переноса я начал улучшать старые механики и внедрять новые.
Дальнейшие посты будут уже не такими сумбурными: каждый будет посвящён конкретной системе или механике — инвентарю, карте, боевой системе, оптимизации.

А пока — несколько скриншотов версии после полного переноса из браузера.


Итог

Переход с браузерной игры на Godot стал серьёзным вызовом. Каждый день я сталкивался с ошибками, уставал, откатывался, но шаг за шагом собирал свой мир.

Игру нельзя просто переписать с одного языка на другой. Её нужно написать заново.


Баги не исчезают. Они просто переходят в следующую версию🐺

Подписывайтесь на мой телеграм канал, там помимо дев-влогов я выкладываю арты из игры, и просто по фану рисую с нейронками, залетай если тебе интересный нейросети и контент сделанный с помощью них: t.me/neirosea

Переход с браузерной RPG на Godot: мой опыт Gamedev, Stable Diffusion, 2D, ChatGPT, Godot, Контент нейросетей, Нейронные сети, Истории из жизни, Инди игра, Компьютерные игры, Telegram, Длиннопост

Самый первый запукск годота, тут я думал сделать игру платформером, но быстро ушел от этой идеи:)

Переход с браузерной RPG на Godot: мой опыт Gamedev, Stable Diffusion, 2D, ChatGPT, Godot, Контент нейросетей, Нейронные сети, Истории из жизни, Инди игра, Компьютерные игры, Telegram, Длиннопост

Следующие 5 скринов уже на движке годот после переноса большинства механик и визуала из браузерки(система инвентаря с драг энд дроп)

Переход с браузерной RPG на Godot: мой опыт Gamedev, Stable Diffusion, 2D, ChatGPT, Godot, Контент нейросетей, Нейронные сети, Истории из жизни, Инди игра, Компьютерные игры, Telegram, Длиннопост

Просто деревня, основной хаб игры

Переход с браузерной RPG на Godot: мой опыт Gamedev, Stable Diffusion, 2D, ChatGPT, Godot, Контент нейросетей, Нейронные сети, Истории из жизни, Инди игра, Компьютерные игры, Telegram, Длиннопост

Карта, с локациями, тут их 4 если кто не понял, в каждой есть свой моб

Но что было в карте тогда и сейчас, совершенно разный вид игры, сейчас я полностью переработал карту и локации, в будущих постах увидите:)

Переход с браузерной RPG на Godot: мой опыт Gamedev, Stable Diffusion, 2D, ChatGPT, Godot, Контент нейросетей, Нейронные сети, Истории из жизни, Инди игра, Компьютерные игры, Telegram, Длиннопост

Система прокачки героя, простенькая, но даже такую было сложно создать а потом еще и перенести на годот

Переход с браузерной RPG на Godot: мой опыт Gamedev, Stable Diffusion, 2D, ChatGPT, Godot, Контент нейросетей, Нейронные сети, Истории из жизни, Инди игра, Компьютерные игры, Telegram, Длиннопост

Таверна, сейчас кажется уже странной что в окошке целое помещение, так что от этого дизайна я тоже уйду к полноценной локации, с кайфушной музыкой и атмосферой:)

Хочется поделиться еще скринами из создания, но многие затерялись, да и пост будет слишком уж длинной простыней:)