Добавил горячую перезагрузку для карт LDTK

Добавил начальный хот-релоад в движок для карт созданных в LDTK (такой универсальный 2D редактор уровней для спрайтовых игр). Я долго тянул с этой фичей, но она оказалась реализуема за 30 минут. Уровень загружается в свою иерархию в ECS которую мы потом подменяем на новую когда обновляется ресурс файла карты. До этого приходилось перезагружать приложение :)

Слева – LDTK, справа – движок игры.

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

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

У Bevy есть базовый плагин для работы с LDTK если кому нужно. У меня же полностью свой загрузчик который работает с моей кастомной структурой уровня.

3636
2 комментария

Вопрос не по теме. А почему выбрали LDtk, а не Tiled?

Ответить
Автор

Если честно уже и не помню. Но не думаю была какая-то существенная причина.

1
Ответить