8

Relict Engine: DevLog 20250825

Список изменений на сегодня:

  • Перенесена и обновлена дорожная карта с Trello на yougile

    Ссылка для ознакомления: https://yougile.com/board/8o3quozyj1in

  • Добавлен механизм синхронизации асинхронной задачи с родительским потоком.

    Метод Await() у класса AsyncTask

  • Добавлен механизм LoadOnDemand для StaticMesh ассета

При обращении к BulkData ассета, если задача на загрузку не запускалась или была сброшена, то ставит задачу на исполнение, и возвращает nullptr указатель, если задача не исполнена.

  • Добавлен механизм "Сброса" асинхронной задачи

Сбрасывает состояние задачи на Created, возвращает возможность вызова метода Run(), и, по необходимости, очищает связанные с задачей данные.

  • Исправлено удаление объекта из глобального тикера, в случае, если объект удален.


Небольшие новости по Linux сборке:

Посмотрел я на выходных еще раз в сторону SDL и GLFW, и, все-таки пришел к выводу, что придется писать все самостоятельно. Что SDL, что GLFW создает около 5-6 внутренних потоков на стадии инициализации (для обмена данными; чтения ввода, итд). Это автоматически ломает суть ThreadManager с его max_concurrent_tasks. В итоге буду писать сам. С Windows то все просто - там не так много кода, а вот с Linux придется посидеть. Посмотрел я, как работает Wayland, и мне, откровенно не понравилось. Нет, оно конечно очень гибко, но там даже для самого простого окна получается достаточно много кода. Есть, правда, libwaylandpp, который это дело упрощает... Посмотрю, может через него удастся.

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"