# KengaAI Engine
Современный 3D-игровой движок на Rust и wgpu, созданный для высокой производительности и безопасности.

## Основные возможности
- **Графика:** рендеринг на wgpu (Vulkan/Metal/DX12/OpenGL), динамическое освещение, PBR-материалы, динамические тени, Skybox с IBL поддержкой.
- **Физика:** интеграция с rapier3d, полноценная физическая симуляция.
- **Звук:** пространственный звук через rodio (модуль kengaai-audio).
- **ECS:** полноценная Entity-Component-System архитектура (модуль kengaai-ecs).
- **Постобработка:** система эффектов Bloom и постобработки (модуль kengaai-postprocess).
- **Частицы:** система частиц для визуальных эффектов (модуль kengaai-particles).
- **Анимация:** система скелетной анимации (модуль kengaai-animation).
- **UI:** система пользовательского интерфейса (модуль kengaai-ui).
- **Сохранения:** система сохранения и загрузки игрового состояния (модуль kengaai-save).
- **Скрипты:** система скриптинга на Lua (модуль kengaai-scripting).
- **Кроссплатформенность:** поддержка Windows, Linux, macOS.
- **Безопасность:** безопасность памяти благодаря Rust.
## Состав проекта
- crates/: исходный код движка, разделенный на модули (крейты).
- fps/: основной модуль рендеринга.
- scene_fps/: загрузка и управление сценами в формате JSON.
- model_loader/: загрузчик 3D-моделей (glTF).
- ecs/: Entity-Component-System для управления объектами.
- postprocess/: система постобработки (Bloom, HDR).
- particles/: система частиц для визуальных эффектов.
- audio/: аудио система с пространственным звуком.
- procedural_mesh/: процедурная генерация мешей.
- demos/: примеры использования движка.
- kengaai-demo-fps: демонстрация FPS-механик.
- kengaquest: небольшая демо-игра.
- studio/: нативное приложение-редактор уровней на Rust + egui.
- assets/: игровые ресурсы (3D-модели, текстуры, уровни).
## Системные требования
### Минимальные:
- ОС: ALT Linux 11+, Ubuntu 22.04+, Windows 10/11
- Процессор: x86-64 с поддержкой SSE4.2
- Память: 8GB RAM
- Графика: GPU с поддержкой Vulkan 1.1+ или OpenGL 4.3+ (NVIDIA GTX 1050 / AMD RX 550)
### Рекомендуемые:
- Графика: NVIDIA RTX 3060 / AMD RX 6600 или лучше
- Память: 16GB+ RAM
## Установка и запуск (ALT Linux)
### 1. Установка системных зависимостей
```bash
# Для движка (wgpu, winit, rodio)
sudo apt-get install -y libX11-devel libXcursor-devel libXi-devel libXrandr-devel libxkbcommon-devel libalsa-devel vulkan-loader-devel
# Для нативной студии (Rust + egui)
sudo apt-get install -y pkg-config gcc make libssl-devel libalsa-devel libX11-devel libGL-devel
```
### 2. Установка Rust
Рекомендуется использовать rustup:
```bash
rustup component add rust-src # для rust-analyzer
```
Если rustup недоступен, установите из репозитория: sudo apt-get install rust rust-cargo rust-src.
### 3. Сборка и запуск
```bash
# Клонирование репозитория
git clone https://github.com/your-repo/kengaai-engine.git
cd kengaai-engine
# Сборка проекта
cargo build --release
# Запуск FPS-демо
cargo run --release -p kengaai-demo-fps
```
## Studio: Нативный редактор уровней
Студия — это отдельное десктоп-приложение для создания и редактирования JSON-файлов уровней.
### Запуск в режиме разработки
```bash
# Переход в директорию studio
cd studio
# Сборка и запуск нативного приложения
cargo run
```
### Создание пакетов
```bash
# ALT Linux (RPM пакет)
../build_alt_linux.sh --package
# Windows (NSIS установщик)
../build_windows.bat --package
```
## Вклад в проект
Мы приветствуем любой вклад! Пожалуйста, ознакомьтесь с DEVELOPER_GUIDE.md и создавайте Pull Request'ы.
---
© 2025 KengaAI Team