# 07 — Lộ trình phát triển (Roadmap)

> Mỗi phase có **Definition of Done (DoD)** rõ ràng; không nhảy phase khi DoD chưa đạt.

## Phase 0 — Nền móng (≈ 1 tuần)
**Mục tiêu:** repo dựng khung, build được, bot "không làm gì" nhưng sống khỏe.

- [ ] Cấu trúc repo theo [02-tech-stack.md](02-tech-stack.md), CMake presets, vcpkg manifest.
- [ ] Core: logging (spdlog), config loader (JSON), lock-free queue, thread framework.
- [ ] Watchdog + trạng thái `Paused` an toàn.
- **DoD:** `cmake --preset msvc-release && ctest` xanh; binary chạy và log heartbeat.

## Phase 1 — Recon & thu thập kiến thức game (≈ 2–3 tuần)
**Mục tiêu:** hiểu client + hiểu game. Chi tiết công cụ ở [08-reversing-toolchain.md](08-reversing-toolchain.md).

- [ ] Xác định process/image của game qua Crossplay Launcher; kiểm tra mức bảo vệ (anti-cheat?).
- [ ] Cheat Engine: tìm HP/MP/pos/cooldown; x64dbg: "what writes" để dựng pointer chain; ReClass: dựng struct.
- [ ] Ghidra: xác nhận struct + tìm `state_id` của boss/animation cue.
- [ ] Xuất `configs/offsets.json` v1 + signature cho từng anchor.
- [ ] Chơi thử cả 4 class, ghi lại rotation + telegraph của 3–5 boss phổ biến → `encounter_db/`.
- **DoD:** bot attach được và đọc đúng HP/pos/cooldown liên tục 30 phút không lệch; offsets có signature tự kiểm tra.

## Phase 2 — Input qua KMBox (≈ 1 tuần)
**Mục tiêu:**bot bấm được máy như HID thật.

- [ ] `KMBoxNetTransport` (asio UDP) + `KMBoxSerialTransport`; chọn backend theo config.
- [ ] Humanizer v1: reaction delay gauss, mouse Bezier path, key jitter.
- [ ] Test bằng tool record/phát lại (play macro thu từ người chơi thật → bot phát lại, so sánh).
- **DoD:** từ lệnh logic đến game nhận input end-to-end; đo được độ trễ thực tế (< 5ms ngoài reaction delay).

## Phase 3 — Combat bot cơ bản (≈ 2–3 tuần)
**Mục tiêu:** tự đánh dungeon thường với 1 class (Hunter).

- [ ] MemoryReader → `GameState` snapshot đầy đủ (player + entity list + ui state).
- [ ] DecisionEngine: FSM 4 mode + BT Combat; rotation engine theo JSON.
- [ ] VisionModule v1 (dự phòng): Desktop Duplication capture + nhận diện dialog/loading/dead.
- [ ] Integration test `--dry-run` trên dungeon thật.
- **DoD:** tự clear 1 dungeon P0 10 lần liên tiếp, 0 lần kẹt > 30s, có telemetry.

## Phase 4 — Pro behaviors (≈ 3–4 tuần)
**Mục tiêu:** hành vi "pro-player" thật sự.

- [ ] Telegraph table cho ≥ 10 boss → dodge/block theo cue.
- [ ] Suit Change context-aware; targeting scoring; potion/safety profile.
- [ ] Humanizer v2: overshoot, micro-idle, fatigue model.
- [ ] Mở rộng class: Engineer → Warlock → Warlord.
- **DoD:** đạt KPI [00-overview.md](00-overview.md): uptime ≥ 85%, dodge ≥ 70%, chạy 4h không crash.

## Phase 5 — Tự động hóa vận hành (dài hạn)
**Mục tiêu:** sống sót qua các bản patch & chạy hằng ngày.

- [ ] Script `tools/diff_offsets.py`: so offsets 2 version, cảnh báo cái vỡ sau patch.
- [ ] Daily loop profile (dungeon farm theo kịch bản), tự restart game khi client treo.
- [ ] Telemetry dashboard (file JSONL + script phân tích đơn giản).
- [ ] Tùy chọn: Raid co-op bot vai trò DPS cơ bản.
- **DoD:** sau 1 bản patch game, thời gian khôi phục offsets ≤ 2h nhờ tooling.

## Rủi ro lộ trình

| Rủi ro | Tác động | Giảm thiểu |
|--------|----------|------------|
| Client có anti-cheat chặn ReadProcessMemory | Cả Phase 1 thgian recon tăng | Fallback Vision-first; đo sớm ở đầu Phase 1 |
| MMORPG update liên tục làm vỡ offsets | Bảo trì lặp lại | offsets.json + signature + diff tool (Phase 5) |
| Server-side detection theo behavior pattern | Bị flag tài khoản | Humanizer nghiêm ngặt; giờ chạy giới hạn; tài khoản thử nghiệm |
| Game engine khó debug (packed/obfuscated) | Recon chậm | Ưu tiên dynamic analysis (CE/x64dbg) thay vì tĩnh |
