[Add] New Tasks (The tasks have not been verified)
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
---
|
||||
id: TASK-0004
|
||||
title: Спроектировать раздельные сохранения мира и персонажей
|
||||
summary: Зафиксировать и реализовать модель сохранений по аналогии с Terraria: отдельно данные мира, отдельно профиль игрока, с возможностью входить любым персонажем в любой мир.
|
||||
priority: High
|
||||
area: persistence
|
||||
owner: unassigned
|
||||
created: 2026-03-30
|
||||
updated: 2026-03-30
|
||||
execution_time: 1d
|
||||
depends_on:
|
||||
- TASK-0001
|
||||
canonical_docs:
|
||||
- docs/tasks/Index.md
|
||||
related_files:
|
||||
- Assets/Scenes/SampleScene.unity
|
||||
- Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs
|
||||
---
|
||||
|
||||
# TASK-0004 - Спроектировать раздельные сохранения мира и персонажей
|
||||
|
||||
## Status
|
||||
|
||||
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
|
||||
|
||||
Допустимые значения статуса:
|
||||
|
||||
- `BackLog`
|
||||
- `ToDo`
|
||||
- `InProgress`
|
||||
- `Review`
|
||||
- `Done`
|
||||
|
||||
## Why
|
||||
|
||||
Пользователь явно хочет модель Terraria-style. Без этого раннее проектирование инвентаря, прогрессии, выбора мира и сетевого join flow будет хрупким.
|
||||
|
||||
## Expected Outcome
|
||||
|
||||
Есть документированная и реализуемая структура world save и player save, описаны поля, границы владения данными и точка их загрузки/сохранения.
|
||||
|
||||
## Current Context
|
||||
|
||||
Системы сохранения мира, игрока и их версионирования пока не оформлены. Эта задача создает основу для enemy bitmask, инвентаря и прогрессии.
|
||||
|
||||
## Source Of Truth
|
||||
|
||||
- `docs/tasks/items/TASK-0001.md`
|
||||
- `docs/tasks/items/TASK-0002.md`
|
||||
- последующая реализация persistence layer
|
||||
|
||||
## Read First
|
||||
|
||||
- `docs/tasks/items/TASK-0001.md`
|
||||
- `docs/tasks/items/TASK-0002.md`
|
||||
- `Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs`
|
||||
|
||||
## Scope In
|
||||
|
||||
- определить world save schema
|
||||
- определить player profile schema
|
||||
- описать lifecycle load/save в singleplayer и multiplayer host flow
|
||||
- определить ownership и conflict rules
|
||||
|
||||
## Scope Out
|
||||
|
||||
- миграции между версиями save format
|
||||
- reconnect/resume после дисконнекта
|
||||
|
||||
## Constraints
|
||||
|
||||
- world save и player save должны быть независимыми файлами/сущностями
|
||||
- world save хранит world-state, player save хранит прогрессию и инвентарь персонажа
|
||||
|
||||
## If You Find Drift
|
||||
|
||||
- если в коде появится смешение player и world state, это нужно фиксировать как архитектурный drift
|
||||
|
||||
## Suggested Approach
|
||||
|
||||
1. Зафиксировать schema и ownership для мира и персонажа.
|
||||
2. Описать момент чтения и записи для host/server.
|
||||
3. Подготовить точку интеграции для inventory, progression и chunk kill state.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- игрок может существовать отдельно от мира
|
||||
- мир хранит собственное состояние независимо от конкретного персонажа
|
||||
- схема не мешает любому игроку зайти в любой мир
|
||||
|
||||
## Verification
|
||||
|
||||
- вычитка схемы сохранений на отсутствие циклических зависимостей
|
||||
- ручная проверка сценария выбора персонажа и выбора мира как независимых шагов
|
||||
|
||||
## Risks / Open Questions
|
||||
|
||||
- потребуется заранее решить идентификаторы игроков и персонажей для мультиплеерного join flow
|
||||
|
||||
## Human Decisions Needed
|
||||
|
||||
- none currently
|
||||
|
||||
## Decision Log
|
||||
|
||||
- `2026-03-30` - Terraria-style сохранения выделены в отдельную задачу перед инвентарем и enemy save state.
|
||||
|
||||
## Handoff Notes
|
||||
|
||||
Все persistence-задачи ниже должны ссылаться на эту схему как на базовую.
|
||||
Reference in New Issue
Block a user