3D top-down roguelike arena shooter на Bevy 0.18. Gothic Slavic dark fantasy, вдохновлённый Vampire Survivors, но в полном 3D.
Портал в пекло треснул. Упыри ломятся в мир живых. Ты — богатырь с рунным мечом. Режь нечисть, прокачивайся, заливай арену кровью.
- 3D графика с top-down видом камеры
- Управление персонажем (WASD + Shift для бега)
- Анимации персонажа (idle / walk / run / attack)
- Враги (упыри) с AI: патрулирование, преследование, атака
- Автоматическая атака ближайшего врага
- Боевая система: урон, смерть, VFX (slash, частицы, тряска камеры)
- Физика через Avian3D (коллизии, слои)
- Gothic арена 50x50м со стенами и факелами
- WASD + тач-управление
- Rust 1.82+ (установить)
- macOS, Linux или Windows
# Клонировать репозиторий
git clone https://github.com/litury/chertogon.git
cd chertogon
# Запуск (первая компиляция займёт несколько минут)
cargo run| Клавиша | Действие |
|---|---|
| W/A/S/D | Движение персонажа |
| Shift | Бег (удерживать вместе с WASD) |
| Esc | Закрыть игру |
chertogon/
├── Cargo.toml
├── src/
│ ├── main.rs # Точка входа
│ ├── lib.rs # Экспорт модулей
│ ├── config/
│ │ └── game_config.rs # Настройка App, плагинов
│ ├── modules/
│ │ ├── player/ # Игрок: спавн, движение, анимации
│ │ ├── camera/ # Камера: setup, следование за игроком
│ │ ├── input/ # Ввод: клавиатура, тач
│ │ ├── world/ # Мир: арена, стены, факелы
│ │ ├── enemies/ # Враги: спавн, AI, анимации
│ │ └── combat/ # Бой: автоатака, урон, VFX
│ ├── shared/
│ │ └── constants.rs # Общие константы
│ └── toolkit/
│ └── asset_paths.rs # Пути к ассетам
└── assets/
├── models/ # 3D модели (GLB)
└── textures/ # PBR текстуры
Каждый модуль — это Bevy Plugin. Модули независимы и могут быть:
- Изменены без затрагивания других модулей
- Отключены (закомментировать в
main.rs) - Расширены новыми системами и компонентами
Внутренняя реализация каждого модуля находится в папке parts/ и скрыта от внешнего кода.
- Game Design Document — полное описание механик, врагов, апгрейдов и роадмапа
# Debug-сборка с hot reload
cargo run
# Release-сборка
cargo build --release
./target/release/chertogon
# Логи
RUST_LOG=debug cargo run
# Форматирование и линтер
cargo fmt
cargo clippy- Bevy 0.18 — игровой движок
- Avian3D — физический движок
- bevy-inspector-egui — инспектор для отладки
Код проекта распространяется под двойной лицензией:
По вашему выбору.