5

Relict Engine: DevLog 20250317

На достаточно длительное время отваливался от проекта, поэтому снова коротенький ченджлог, более подробнее будет позже, после окончания основного массива работ над lua

Короткий список изменений:

  • Адресована ошибка контекста создания подсистемы Script

    Проблема связана с использованием шаблона для создания объекта подсистемы. Будет исправлено чуть позднее.

  • Заменен Атом Scriptable на связку классов ScriptClass и ScriptField

    Это необходимо для того, чтобы структура классов регистрировалось сразу при запуске движка. В противном случае шаблон класса объекта не успевает полностью раскрыться, что приводит к ошибкам исполнения. Плюс это дает более гибкий механизм управления скрипт сущностями

  • Добавлен отдельный функционал для классов с флагом NoInstantiate

    Если флаг установлен, то Lua сразу создаст userdata для этого объекта и не будет пытаться создавать отдельные экземпляры таблицы в случае вызова спецметода lua


Работы с Lua еще достаточно много. Как минимум нужно еще связать сборщики мусора и создания экземпляров таблиц с таковыми же сущностями движка, а так-же решить вопрос с наследованием. Тем не менее работа над функционалом уверено движется к финалу и как только доведу все до презентабельного состояния обязательно сделаю пост на эту тему. А паралельно с этим смотрю, что было сделано в недавнем релизе SDL3, на предмет возможности использовать его в качестве прослойки к еще не существующей графической подсистеме.

Думаю, заняться ей паралельно с фреймворком сцен сразу после Lua. Да и вам будет интереснее посмотреть уже на картинки, а не на пустой текст в перемешку с кодом, как сейчас )

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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