Files
TheDeclineOfWarriors/docs/tasks/items/TASK-0012.md
T

115 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: TASK-0012
title: Построить систему врагов на NavMesh с использованием скиллов
summary: Реализовать врагов, которые перемещаются по NavMesh, выбирают цели и применяют общую систему навыков, совместимую с игроком.
priority: Highest
area: ai
owner: unassigned
created: 2026-03-30
updated: 2026-03-30
execution_time: 1d6h
depends_on:
- TASK-0005
- TASK-0007
- TASK-0010
- TASK-0023
canonical_docs:
- docs/tasks/Index.md
related_files:
- Assets/Scripts/VoxelWorld/Runtime/VoxelWorldGenerator.cs
- Assets/Scenes/SampleScene.unity
---
# TASK-0012 - Построить систему врагов на NavMesh с использованием скиллов
## Status
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
Допустимые значения статуса:
- `BackLog`
- `ToDo`
- `InProgress`
- `Review`
- `Done`
## Why
Пользователь требует врагов на NavMesh, которые могут применять те же скиллы, что и игрок. Это одна из ключевых MVP-механик боя.
## Expected Outcome
Враги умеют находить путь, выбирать цель, входить в боевой радиус и применять навыки через общую skill system под server authority.
## Current Context
Ни AI, ни вражеский runtime слой пока не оформлены. Детеминированный spawn и skill system должны быть готовы раньше.
## Source Of Truth
- `docs/tasks/items/TASK-0005.md`
- `docs/tasks/items/TASK-0007.md`
- `docs/tasks/items/TASK-0010.md`
## Read First
- `docs/tasks/items/TASK-0005.md`
- `docs/tasks/items/TASK-0007.md`
- `docs/tasks/items/TASK-0010.md`
- `Assets/Scenes/SampleScene.unity`
## Scope In
- базовый enemy actor runtime
- NavMesh-based перемещение и target selection
- использование общих skills и cooldown logic
- интеграция с spawn и death state
## Scope Out
- сложные behavior trees
- продвинутые boss mechanics
## Constraints
- AI должен работать под server authority
- враг должен использовать ту же skill contract систему, что и игрок
## If You Find Drift
- если для врагов появится отдельная несовместимая ability system, это drift
## Suggested Approach
1. Определить базовый enemy actor и state machine.
2. Связать его с NavMesh movement и target rules.
3. Подключить общую skill execution model и обработку смерти.
## Acceptance Criteria
- враг способен найти цель и двигаться к ней через NavMesh
- враг способен применять навык из общей ability system
- убийство врага корректно уходит в chunk kill-state
## Verification
- ручной тест с врагом, преследующим игрока и применяющим навык
- проверка интеграции смерти врага с persistence state чанка
## Risks / Open Questions
- на voxel-мире нужно заранее определить, как обновлять NavMesh в рантайме при загрузке/изменении чанков (см. `TASK-0023`)
## Human Decisions Needed
- none currently
## Decision Log
- `2026-03-30` - enemy AI и reuse skill system объединены в один highest-priority task.
## Handoff Notes
В MVP достаточно простого AI loop, если он не ломает server authority и reuse ability contract.