Об этом проекте

MoBaGEn (Module Based Game Engine) — это образовательный проект с открытым исходным кодом, направленный на обучение концепциям игрового программирования. Он построен вокруг философии, которая делает акцент на WebAssembly, небольшое заменяемое ядро и модульный дизайн. Ядро движка написано на C++ и использует Data-Oriented Design с архитектурой Entity-Component-System (ECS), включая безстековые корутинные задачи, реактивные сигналы, неблокирующий планировщик с перехватом работы и рендеринг WebGPU/Dawn. В качестве хоста приложения используется SDL3 с опциональными слоями GUI ImGui/RmlUi, а также поддерживаются headless-сборки для тестирования. Модули представляют собой портативные WASM-пакеты (`.plugin`), запускаемые менеджером модулей, с нативным бэкендом WAMR на настольных и мобильных платформах и бэкендом браузерного движка в вебе. Проект предоставляет документацию по архитектуре и созданию модулей. Он включает онлайн-демонстрации, такие как демо стайного поведения и просмотрщик DICOM, и поощряет вклад сообщества. Дорожная карта включает основные модули, такие как core, job/task и resource manager, а также опциональные модули для графики, физики, звука, сетевого взаимодействия, скриптинга, GUI, ввода, игровых компонентов, сцены и логгера. Проект также планирует приложения для редактирования изображений и игр. Поддерживаются CI-сборки для Windows, Web, Linux и OSX.