[Add] Task
This commit is contained in:
@@ -66,3 +66,4 @@
|
|||||||
| TASK-0024 | ToDo | Highest | art | unassigned | 2d | docs/tasks/items/TASK-0024.md | Заменить Minecraft-placeholder арт на легальные ассеты для продакшена и зафиксировать источник/лицензии. |
|
| 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-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-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,8 +13,10 @@ depends_on:
|
|||||||
- TASK-0008
|
- TASK-0008
|
||||||
- TASK-0009
|
- TASK-0009
|
||||||
- TASK-0010
|
- TASK-0010
|
||||||
|
- TASK-0027
|
||||||
canonical_docs:
|
canonical_docs:
|
||||||
- docs/tasks/Index.md
|
- docs/tasks/Index.md
|
||||||
|
- docs/gameplay/attribute-system-gdd.md
|
||||||
related_files:
|
related_files:
|
||||||
- Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity
|
- Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity
|
||||||
---
|
---
|
||||||
@@ -43,7 +45,7 @@ related_files:
|
|||||||
|
|
||||||
## Current Context
|
## Current Context
|
||||||
|
|
||||||
Пока нет классового слоя. Конкретные умения по классам вынесены в отдельные задачи ниже.
|
Пока нет классового слоя. Система атрибутов отдельно зафиксирована в `docs/gameplay/attribute-system-gdd.md`, а ее runtime-интеграция выделена в `docs/tasks/items/TASK-0027.md`. Конкретные умения по классам вынесены в отдельные задачи ниже.
|
||||||
|
|
||||||
## Source Of Truth
|
## Source Of Truth
|
||||||
|
|
||||||
@@ -51,6 +53,8 @@ related_files:
|
|||||||
- `docs/tasks/items/TASK-0008.md`
|
- `docs/tasks/items/TASK-0008.md`
|
||||||
- `docs/tasks/items/TASK-0009.md`
|
- `docs/tasks/items/TASK-0009.md`
|
||||||
- `docs/tasks/items/TASK-0010.md`
|
- `docs/tasks/items/TASK-0010.md`
|
||||||
|
- `docs/gameplay/attribute-system-gdd.md`
|
||||||
|
- `docs/tasks/items/TASK-0027.md`
|
||||||
|
|
||||||
## Read First
|
## Read First
|
||||||
|
|
||||||
@@ -58,10 +62,13 @@ related_files:
|
|||||||
- `docs/tasks/items/TASK-0008.md`
|
- `docs/tasks/items/TASK-0008.md`
|
||||||
- `docs/tasks/items/TASK-0009.md`
|
- `docs/tasks/items/TASK-0009.md`
|
||||||
- `docs/tasks/items/TASK-0010.md`
|
- `docs/tasks/items/TASK-0010.md`
|
||||||
|
- `docs/gameplay/attribute-system-gdd.md`
|
||||||
|
- `docs/tasks/items/TASK-0027.md`
|
||||||
|
|
||||||
## Scope In
|
## Scope In
|
||||||
|
|
||||||
- базовая class definition для персонажа
|
- базовая class definition для персонажа
|
||||||
|
- интеграция class definition с каноническими атрибутами и их приоритетами
|
||||||
- стартовые параметры и ограничения экипировки
|
- стартовые параметры и ограничения экипировки
|
||||||
- выбор класса в рамках player profile
|
- выбор класса в рамках player profile
|
||||||
- точки расширения для классовых навыков MVP
|
- точки расширения для классовых навыков MVP
|
||||||
@@ -75,6 +82,7 @@ related_files:
|
|||||||
|
|
||||||
- различия классов должны строиться поверх общих систем, а не через форки кода
|
- различия классов должны строиться поверх общих систем, а не через форки кода
|
||||||
- выбор класса должен сохраняться в player save
|
- выбор класса должен сохраняться в player save
|
||||||
|
- классовые стартовые параметры и identity должны опираться на общую систему атрибутов
|
||||||
|
|
||||||
## If You Find Drift
|
## If You Find Drift
|
||||||
|
|
||||||
@@ -83,12 +91,13 @@ related_files:
|
|||||||
## Suggested Approach
|
## Suggested Approach
|
||||||
|
|
||||||
1. Определить базовую class definition модель.
|
1. Определить базовую class definition модель.
|
||||||
2. Связать класс со стартовыми характеристиками и стартовым loadout.
|
2. Связать класс с системой атрибутов, стартовыми характеристиками и стартовым loadout.
|
||||||
3. Подготовить интеграцию с character selection menu и отдельными skill tasks.
|
3. Подготовить интеграцию с character selection menu и отдельными skill tasks.
|
||||||
|
|
||||||
## Acceptance Criteria
|
## Acceptance Criteria
|
||||||
|
|
||||||
- в системе существуют Воин, Маг и Лучник как валидные классы персонажа
|
- в системе существуют Воин, Маг и Лучник как валидные классы персонажа
|
||||||
|
- каждый класс имеет явную связь с канонической системой атрибутов
|
||||||
- класс влияет на стартовую конфигурацию без дублирования core systems
|
- класс влияет на стартовую конфигурацию без дублирования core systems
|
||||||
- класс можно выбрать и сохранить в player profile
|
- класс можно выбрать и сохранить в player profile
|
||||||
|
|
||||||
@@ -100,6 +109,7 @@ related_files:
|
|||||||
## Risks / Open Questions
|
## Risks / Open Questions
|
||||||
|
|
||||||
- нужно определить, насколько жестко класс ограничивает тип оружия в MVP
|
- нужно определить, насколько жестко класс ограничивает тип оружия в MVP
|
||||||
|
- нужно определить, где именно хранить class affinity к атрибутам: в class definition, стартовом профиле или в обоих слоях
|
||||||
|
|
||||||
## Human Decisions Needed
|
## Human Decisions Needed
|
||||||
|
|
||||||
@@ -108,6 +118,7 @@ related_files:
|
|||||||
## Decision Log
|
## Decision Log
|
||||||
|
|
||||||
- `2026-03-30` - общий классовый каркас выделен до конкретных отдельных навыков Воина, Мага и Лучника.
|
- `2026-03-30` - общий классовый каркас выделен до конкретных отдельных навыков Воина, Мага и Лучника.
|
||||||
|
- `2026-04-09` - классовая модель явно привязана к канонической системе атрибутов и отдельной задаче на ее runtime-внедрение.
|
||||||
|
|
||||||
## Handoff Notes
|
## Handoff Notes
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
Reference in New Issue
Block a user