48 lines
5.1 KiB
Markdown
48 lines
5.1 KiB
Markdown
# Faset Engine
|
|
|
|
Faset — проект независимого движка для десктопных 2D- и 3D-игр под **Linux и Windows**. В центре — удобный собственный редактор, его управление через MCP, работа с Blender и развитие современных графических технологий.
|
|
|
|
**Текущий статус: базовая архитектура согласована; реализация движка ещё не начата.** Здесь находятся принятые решения, план, исследования других движков и работающая браузерная карта документации. Наличие технологии в плане не означает, что она реализована или измерена.
|
|
|
|
## Начать здесь
|
|
|
|
- [PLAN.md](PLAN.md) — этапы до MVP, критерии готовности и развитие после него.
|
|
- [Архитектура](docs/ARCHITECTURE.md) — принятые решения и границы подсистем.
|
|
- [Документация](docs/README.md) — навигация и правила актуализации.
|
|
- [Исследования](docs/studies/README.md) — Unreal Engine, Godot, Unity, Blender, ECS, графика, импорт и сборка.
|
|
- [Зависимости и независимость](docs/DEPENDENCIES.md) — библиотеки, инструменты и происхождение материалов.
|
|
|
|
## Принятый фундамент
|
|
|
|
- **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. Из корня репозитория:
|
|
|
|
```sh
|
|
cd docs/studies/map
|
|
npm ci
|
|
npm test
|
|
npm run build
|
|
npm start
|
|
```
|
|
|
|
Карта доступна на [localhost:4178](http://localhost:4178). Это просмотрщик документации, а не веб-редактор Faset. Подробности — в [README карты](docs/studies/map/README.md).
|
|
|
|
## Публичное содержимое
|
|
|
|
Документация, исследования, манифест источников и код карты хранятся в Git. Сторонние движки, установленные зависимости, результаты сборки и кэши в репозиторий не включены. Ссылки на изученный код закреплены на research commits; Unreal может требовать доступа Epic.
|
|
|
|
Состав публикации и статус лицензии собственного содержимого описаны в [публикационных заметках](docs/PUBLICATION.md). У сторонних проектов сохраняются их собственные условия.
|