115 lines
3.9 KiB
Markdown
115 lines
3.9 KiB
Markdown
---
|
||
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.
|