Faset Engine

Faset — проект независимого движка для десктопных 2D- и 3D-игр под Linux и Windows. В центре — удобный собственный редактор, его управление через MCP, работа с Blender и развитие современных графических технологий.

Текущий статус: базовая архитектура согласована; реализация движка ещё не начата. Здесь находятся принятые решения, план, исследования других движков и работающая браузерная карта документации. Наличие технологии в плане не означает, что она реализована или измерена.

Начать здесь

Принятый фундамент

  • C++ для ядра и первой версии gameplay. Lua добавляется после C++ отдельным модулем и необязателен для конкретной игры.
  • Объекты, компоненты и вложенные сцены для авторинга; EnTT для runtime ECS. JSON, устойчивые ID и подготовленные бинарные данные для экспорта.
  • Собственные Vulkan 1.3 backend, Render Graph и renderer; Slang для SPIR-V и совместимого HLSL-кода. RT не требуется базовому режиму.
  • SDL3 за платформенным интерфейсом Faset; Box2D и Box3D для физики.
  • Собственный retained-mode UI редактора: C++-поведение, декларативная компоновка, отдельные стили, основная тёмная тема. Dear ImGui — для отладки.
  • CMake + Ninja + Clang; Windows использует clang-cl, Windows SDK и библиотеки MSVC. Первые сборки проверяются на целевой ОС.
  • Отдельный Player, статически связанный с gameplay. Рабочий цикл C++ — остановка, инкрементальная сборка, повторный запуск.
  • MCP только в редакторе: авторинг, ресурсы, импорт, сборка, экспорт, Play/Stop и диагностика редактора. В Player и экспортируемой игре MCP отсутствует.
  • Обычный Blender без изменения исходников, glTF/GLB-импорт и дополнительный плагин для экспорта и устойчивых ID.

MVP заканчивается двумя небольшими 2D/3D-проектами, которые можно создать, сохранить, запустить и экспортировать под обе ОС. GPU-driven rendering, HZB, расширенные тени, temporal reconstruction и динамическая GI развиваются после базового результата.

Открыть карту исследований

Нужен Node.js с npm. Из корня репозитория:

cd docs/studies/map
npm ci
npm test
npm run build
npm start

Карта доступна на localhost:4178. Это просмотрщик документации, а не веб-редактор Faset. Подробности — в README карты.

Публичное содержимое

Документация, исследования, манифест источников и код карты хранятся в Git. Сторонние движки, установленные зависимости, результаты сборки и кэши в репозиторий не включены. Ссылки на изученный код закреплены на research commits; Unreal может требовать доступа Epic.

Состав публикации и статус лицензии собственного содержимого описаны в публикационных заметках. У сторонних проектов сохраняются их собственные условия.

S
Description
Faset Engine: architecture, MVP roadmap and source studies for a C++ 2D/3D engine for Linux and Windows.
Readme
4.8 MiB
Languages
C++ 88.7%
Python 7.8%
CMake 2.8%
Lua 0.4%
Slang 0.2%
Other 0.1%