feature/attrubute-system-gdd #8

Merged
horooko merged 7 commits from feature/attrubute-system-gdd into master 2026-04-09 12:15:40 +03:00
3 changed files with 137 additions and 2 deletions
Showing only changes of commit c027b7b911 - Show all commits
+1
View File
@@ -66,3 +66,4 @@
| TASK-0024 | ToDo | Highest | art | unassigned | 2d | docs/tasks/items/TASK-0024.md | Заменить Minecraft-placeholder арт на легальные ассеты для продакшена и зафиксировать источник/лицензии. |
| TASK-0025 | ToDo | Highest | build | unassigned | 1d | docs/tasks/items/TASK-0025.md | Описать и зафиксировать flow локального теста билда: сборка, запуск, host/client сценарий и обязательный smoke checklist. |
| TASK-0026 | BackLog | High | ui | unassigned | 2d | docs/tasks/items/TASK-0026.md | Реализовать миникарту и механизм сохранения открытой карты у хоста так, чтобы состояние миникарты было общим для всех игроков мира. |
| TASK-0027 | ToDo | Highest | gameplay-core | unassigned | 1d | docs/tasks/items/TASK-0027.md | Реализовать пять канонических атрибутов, их derived combat scaling и интеграцию с классами Воина, Мага и Лучника. |
+13 -2
View File
@@ -13,8 +13,10 @@ depends_on:
- TASK-0008
- TASK-0009
- TASK-0010
- TASK-0027
canonical_docs:
- docs/tasks/Index.md
- docs/gameplay/attribute-system-gdd.md
related_files:
- Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity
---
@@ -43,7 +45,7 @@ related_files:
## Current Context
Пока нет классового слоя. Конкретные умения по классам вынесены в отдельные задачи ниже.
Пока нет классового слоя. Система атрибутов отдельно зафиксирована в `docs/gameplay/attribute-system-gdd.md`, а ее runtime-интеграция выделена в `docs/tasks/items/TASK-0027.md`. Конкретные умения по классам вынесены в отдельные задачи ниже.
## Source Of Truth
@@ -51,6 +53,8 @@ related_files:
- `docs/tasks/items/TASK-0008.md`
- `docs/tasks/items/TASK-0009.md`
- `docs/tasks/items/TASK-0010.md`
- `docs/gameplay/attribute-system-gdd.md`
- `docs/tasks/items/TASK-0027.md`
## Read First
@@ -58,10 +62,13 @@ related_files:
- `docs/tasks/items/TASK-0008.md`
- `docs/tasks/items/TASK-0009.md`
- `docs/tasks/items/TASK-0010.md`
- `docs/gameplay/attribute-system-gdd.md`
- `docs/tasks/items/TASK-0027.md`
## Scope In
- базовая class definition для персонажа
- интеграция class definition с каноническими атрибутами и их приоритетами
- стартовые параметры и ограничения экипировки
- выбор класса в рамках player profile
- точки расширения для классовых навыков MVP
@@ -75,6 +82,7 @@ related_files:
- различия классов должны строиться поверх общих систем, а не через форки кода
- выбор класса должен сохраняться в player save
- классовые стартовые параметры и identity должны опираться на общую систему атрибутов
## If You Find Drift
@@ -83,12 +91,13 @@ related_files:
## Suggested Approach
1. Определить базовую class definition модель.
2. Связать класс со стартовыми характеристиками и стартовым loadout.
2. Связать класс с системой атрибутов, стартовыми характеристиками и стартовым loadout.
3. Подготовить интеграцию с character selection menu и отдельными skill tasks.
## Acceptance Criteria
- в системе существуют Воин, Маг и Лучник как валидные классы персонажа
- каждый класс имеет явную связь с канонической системой атрибутов
- класс влияет на стартовую конфигурацию без дублирования core systems
- класс можно выбрать и сохранить в player profile
@@ -100,6 +109,7 @@ related_files:
## Risks / Open Questions
- нужно определить, насколько жестко класс ограничивает тип оружия в MVP
- нужно определить, где именно хранить class affinity к атрибутам: в class definition, стартовом профиле или в обоих слоях
## Human Decisions Needed
@@ -108,6 +118,7 @@ related_files:
## Decision Log
- `2026-03-30` - общий классовый каркас выделен до конкретных отдельных навыков Воина, Мага и Лучника.
- `2026-04-09` - классовая модель явно привязана к канонической системе атрибутов и отдельной задаче на ее runtime-внедрение.
## Handoff Notes
+123
View File
@@ -0,0 +1,123 @@
---
id: TASK-0027
title: Реализовать систему атрибутов и интеграцию с классами
summary: Ввести пять канонических атрибутов персонажа, их derived combat scaling и привязать классы Воина, Мага и Лучника к своим стартовым и приоритетным статам.
priority: Highest
area: gameplay-core
owner: unassigned
created: 2026-04-09
updated: 2026-04-09
execution_time: 1d
depends_on:
- TASK-0007
canonical_docs:
- docs/tasks/Index.md
- docs/gameplay/attribute-system-gdd.md
related_files:
- Assets/Features/
- Assets/Scripts/
---
# TASK-0027 - Реализовать систему атрибутов и интеграцию с классами
## Status
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
Допустимые значения статуса:
- `BackLog`
- `ToDo`
- `InProgress`
- `Review`
- `Done`
## Why
Combat core и классовая система пока не имеют канонической runtime-модели атрибутов. Без этого классы останутся набором стартовых исключений, а боевые формулы не получат устойчивую точку расширения для билдов, оружия и навыков.
## Expected Outcome
В проекте существует единая система пяти атрибутов: `Мощь`, `Ловкость`, `Фокус`, `Стойкость`, `Мастерство`. Атрибуты конвертируются в понятные боевые эффекты, а классы Воин, Маг и Лучник используют их как часть стартовой конфигурации и class identity.
## Current Context
Канонический GDD по атрибутам уже зафиксирован в `docs/gameplay/attribute-system-gdd.md`, но отдельной реализации и явной интеграции с class model пока нет. Эта задача закрывает разрыв между design intent и runtime-моделью.
## Source Of Truth
- `docs/gameplay/attribute-system-gdd.md`
- `docs/tasks/items/TASK-0007.md`
- `docs/tasks/items/TASK-0011.md`
- runtime реализация combat stats и class definitions
## Read First
- `docs/gameplay/attribute-system-gdd.md`
- `docs/tasks/items/TASK-0007.md`
- `docs/tasks/items/TASK-0009.md`
- `docs/tasks/items/TASK-0010.md`
- `docs/tasks/items/TASK-0011.md`
## Scope In
- базовая runtime-модель пяти атрибутов персонажа
- конвертация атрибутов в derived combat stats по каноническим направлениям
- стартовые или базовые классовые приоритеты атрибутов для Воина, Мага и Лучника
- интеграция атрибутов в class definition и стартовую конфигурацию персонажа
- точки расширения для weapon scaling, skill scaling и будущих гибридных классов
## Scope Out
- глубокая UI-визуализация всех статов и их breakdown на каждом экране
- полноценная talent tree или perk-система
- тонкая финальная балансировка числовых коэффициентов для late game
## Constraints
- реализовывать только пять канонических атрибутов из `docs/gameplay/attribute-system-gdd.md`
- не сливать offensive pressure и survivability в один стат
- `Мастерство` должно усиливать class-specific специализацию, а не заменять основной стат класса
- классы должны использовать общую систему атрибутов, а не отдельные class-only формулы
## If You Find Drift
- если код урона, оружия или навыков начинает обходить общую attribute-конвертацию, это drift
- если классы получают уникальные скрытые статы вместо работы через общую модель атрибутов, это drift
## Suggested Approach
1. Ввести каноническую runtime-структуру для пяти атрибутов персонажа.
2. Зафиксировать derived combat stats и правила конверсии без избыточного усложнения формул.
3. Добавить в class definitions стартовые значения, приоритеты или affinity по атрибутам для Воина, Мага и Лучника.
4. Проверить, что оружие и навыки могут опираться на эти атрибуты без class-specific обходов.
## Acceptance Criteria
- в системе существуют `Мощь`, `Ловкость`, `Фокус`, `Стойкость`, `Мастерство` как канонические runtime-атрибуты
- атрибуты влияют на боевые параметры по правилам, совместимым с GDD
- классы Воин, Маг и Лучник имеют явную интеграцию с системой атрибутов
- downstream системы могут использовать атрибуты без дублирования class-specific формул
## Verification
- вычитка runtime-модели против `docs/gameplay/attribute-system-gdd.md`
- ручная проверка, что классы получают разные стартовые stat priorities
- ручная проверка, что derived stats меняются от изменения атрибутов по ожидаемым направлениям
## Risks / Open Questions
- нужно решить, какие именно конверсии будут обязательными уже в MVP, а какие можно оставить extension points
- нужно не перегрузить class model слишком ранней детализацией формул
## Human Decisions Needed
- none currently
## Decision Log
- `2026-04-09` - задача добавлена после фиксации канонического GDD по атрибутам.
## Handoff Notes
Если позже появятся формульные документы по MVP-коэффициентам, они должны уточнять эту задачу, но не подменять канонический смысл атрибутов из GDD.