Геолокационная RPG. Игрок ходит по реальному миру, встречает монстров на карте, сражается в реальном времени, получает лут и опыт, прокачивает персонажа.
- Backend: NestJS + Nx monorepo, PostgreSQL + PostGIS, Redis, NATS
- Client: Flutter (iOS/Android)
- Realtime: Socket.IO (WebSocket)
Открыл карту → Увидел моба → Подошёл физически → Начал бой →
→ Использовал скиллы → Победил → Получил XP + лут →
→ Прокачался → Экипировал шмот → Повторил
- User — аккаунт (email, пароль, авторизация)
- Character — игровой персонаж с классом, уровнем, статами. У одного User может быть несколько Character, но активный на карте — один
На старте доступны 2 класса:
| Класс | Роль | Основные атрибуты |
|---|---|---|
| Warrior | Ближний бой, танк | Strength, Stamina |
| Mage | Магический урон, стекло | Intelligence, Agility |
Планируется: Rogue (Agility, крит, яды, быстрые атаки).
- Реалтайм с кулдаунами — не пошаговая
- Между скиллами персонаж бьёт автоатакой (Warrior — физ. удар, Mage — магическая стрела)
- Warrior использует Rage (ярость) — накапливается в бою от автоатак и получения урона, тратится на скиллы
- Mage использует Mana — тратится на скиллы, регенерирует со временем
- Spirit влияет на генерацию ярости (Warrior) и регенерацию маны (Mage)
- Agility влияет на скорость атаки, время каста, кулдауны и крит
- Защита через Armor (физ. урон) и Magic Resist (маг. урон)
- Формула снижения урона:
reduction = defense / (defense + 100) - 5 атрибутов: Strength, Intelligence, Stamina, Agility, Spirit
- Кап уровня текущего этапа: 10 (изначальная цель — 30, поднимем после MVP; кривые в
leveling.mdрассчитаны до 10) - Каждый уровень: авто-рост статов по классу + 2 свободных очка атрибутов
- Скиллы открываются по уровням: 1 → 3 → 6 → 10 (всего 4 скилла). Карточки классов:
classes/
- Как устроено сейчас — system/README.md: карта сервисов, core loop по страницам, подсистемы, сверенные с кодом (источник правды — код, не roadmap).
- Контракты — technical/: WS/NATS-протоколы, схема БД — детали, не уместившиеся в
system/. - Геймдизайн — game-design/: формулы, прогрессия, замысел; где расходится с кодом —
раздел «Отличия от геймдизайна» на соответствующей странице
system/. - Контент и арт — classes/ (карточки классов), mobs/ (карточки мобов), generation/ (гайды генерации класс/моб), design/ (референсы, прототипы), assets/ (сгенерированный арт).
- Планы и история — roadmap/README.md: цикл MVP, статус фаз, сквозные темы, промты для сессий.