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

5.4 KiB

id, title, summary, priority, area, owner, created, updated, execution_time, depends_on, canonical_docs, related_files
id title summary priority area owner created updated execution_time depends_on canonical_docs related_files
TASK-0001 Зафиксировать MVP-архитектуру диаблоида на FishNet Описать каноническую архитектуру MVP, включая разделение player/world, authority, сетевые границы, детерминизм и связи между подсистемами. Highest architecture unassigned 2026-03-30 2026-03-30 1d
docs/tasks/Index.md
docs/tasks/_template.md
Assets/Scripts/VoxelWorld/Runtime/VoxelWorldGenerator.cs
Assets/Scripts/VoxelWorld/Runtime/VoxelWorldAtlas.cs
Assets/Scripts/Player/SimplePlayerInputMover.cs

TASK-0001 - Зафиксировать MVP-архитектуру диаблоида на FishNet

Status

Статус задачи ведется в docs/tasks/Index.md и является каноническим там.

Допустимые значения статуса:

  • BackLog
  • ToDo
  • InProgress
  • Review
  • Done

Why

Без общей архитектуры легко получить несовместимые решения между генерацией мира, сетевым кодом, сохранениями, персонажами, инвентарем и AI. Эта задача должна зафиксировать правила MVP до начала активной реализации.

Expected Outcome

Появляется документ или набор canonical notes, где определены: модель мира и игрока, границы ответственности сервера и клиента, правила детерминизма по seed, формат идентификаторов чанков и сущностей, а также зависимости между будущими системами.

Current Context

В проекте есть воксельный генератор мира в Assets/Scripts/VoxelWorld/* и легаси код в Assets/Scripts/WorldGen/*. Фокус проекта смещен на воксельный генератор, поэтому архитектурные решения должны опираться на него.

Source Of Truth

  • docs/tasks/Index.md
  • код в Assets/Scripts/VoxelWorld/*
  • явные решения человека по MVP после создания этой задачи

Read First

  • docs/tasks/Index.md
  • Assets/Scripts/VoxelWorld/Runtime/VoxelWorldGenerator.cs
  • Assets/Scripts/VoxelWorld/Runtime/VoxelWorldAtlas.cs
  • Assets/Scripts/Player/SimplePlayerInputMover.cs

Scope In

  • зафиксировать high-level архитектуру MVP
  • описать authority model для FishNet
  • определить канонические идентификаторы игрока, мира, чанка, врага и предмета
  • определить границы между runtime world data, player save data и session state

Scope Out

  • полноценная реализация подсистем
  • контентная балансировка

Constraints

  • сохраняйте воксельный worldgen как стартовую точку, если человек явно не меняет направление
  • предпочитайте минимальную архитектуру, достаточную для MVP
  • все последующие задачи должны опираться на решения из этой задачи

If You Find Drift

  • если текущий код worldgen конфликтует с новой сетевой моделью, фиксируйте конфликт отдельно
  • не ломайте существующий editor tooling без отдельного решения

Suggested Approach

  1. Описать целевой gameplay loop MVP и обязательные подсистемы.
  2. Зафиксировать границы server authority, client prediction и persistence.
  3. Связать решения с конкретными task-файлами и артефактами кода.

Acceptance Criteria

  • есть каноническое описание архитектуры MVP с понятными границами подсистем
  • определено, где живут данные мира, игрока, сессии и чанка
  • определено, какие части обязаны быть детерминированными по seed

Verification

  • вычитка документа на непротиворечивость с Index.md
  • проверка, что все downstream task-файлы опираются на решения из этой задачи

Risks / Open Questions

  • без раннего решения по authority возможно придется переписывать боевую систему и AI

Human Decisions Needed

  • none currently

Decision Log

  • 2026-03-30 - архитектурную задачу вынесли в отдельный highest-priority task перед реализацией сетевых и боевых систем.

Handoff Notes

После фиксации архитектуры обновить canonical_docs в downstream task-файлах, если появится новый канонический документ.