8

Relict Engine: Первая бинарная сборка 0.0.1 и DevLog 20250409⁠⁠

Серия Relict Engine

Перед началом работы с графикой решил поиграться с правилами CMake и попробовать собрать все в релизной конфигурации.

Что из этого получилось:

Движок собирается в пакет CMake, подключается стандартным образом через директиву find_package.
Поставляется в виде набора заголовочников, внешних библиотек (ThirdParty) и объектных (obj) библиотек самого движка. Почему именно объектных: Задумка следующая - программист сам выбирает как ему использовать движок (в виде DLL/so или собирать все в единый EXE/bin), и с какими конкретно модулями. Модули собраны в пространство имен CMake и подключаются довольно просто (потом напишу библиотеку для CMake чтобы еще больше это упростить), ну а пока это выглядит вот так:

Пример сборки приложения(игры) с dll движком

Пример сборки приложения(игры) с dll движком

Пока, конечно, все сыровато, есть вещи которые я в дальнейшем еще пересмотрю, но в целом работает.

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

  • Добавлен typedef TRelictClass на RelictClass

Теперь, вместо public RelictClass<Class, BaseClass, ClassFlags>::Type можно писать public TRelictClass<Class, BaseClass,ClassFlags> при оглашении игровых классов

  • Классы подсистемы вынесены на уровень выше в пространство имен Subsystems

  • Переработана работа SubsystemManager для удобства доступа к классу подсистемы

Теперь, для обращения к подсистеме нужно обращаться к менеджеру, а не к самому классу подсистемы: auto SS = SubsystemManager::Get<Subsystems::ScriptSubsystem>("ScriptSubsystem");

  • Исправлена работа функции FindObject со стороны Lua

После изменения регистранта Lua на UserData функция не была переписана. Упс.

  • Часть функций Виртуальной Машины Lua вынесены в глобальное пространство имен и больше не доступны для прямого вызова из вне.

  • Отключены стандартные библиотеки Lua за ислючением необходимого минимума.

  • Класс Application перенесен из модуля GameFramework в модуль Engine

Это было сделано, т.к. в бинарной сборке нарушался принцип наследования зависимостей.

  • Добавлены правила CMake для цели install

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

ЗАПРЕЩЕНО:

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

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

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


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

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

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

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

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

0
Автор поста оценил этот комментарий

> (в виде DLL/so или собирать все в единый EXE/bin)
Для этого же используют .so .a файлы

раскрыть ветку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества