[Add] New Tasks (The tasks have not been verified)
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
---
|
||||
id: TASK-0002
|
||||
title: Реализовать сетевой bootstrap, лобби и выбор мира
|
||||
summary: Поднять базовую сетевую инфраструктуру FishNet для хоста и клиента, лобби, выбора мира и подготовки игрока к входу в сессию.
|
||||
priority: Highest
|
||||
area: networking
|
||||
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/Player/SimplePlayerInputMover.cs
|
||||
---
|
||||
|
||||
# TASK-0002 - Реализовать сетевой bootstrap, лобби и выбор мира
|
||||
|
||||
## Status
|
||||
|
||||
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
|
||||
|
||||
Допустимые значения статуса:
|
||||
|
||||
- `BackLog`
|
||||
- `ToDo`
|
||||
- `InProgress`
|
||||
- `Review`
|
||||
- `Done`
|
||||
|
||||
## Why
|
||||
|
||||
Без минимального сетевого bootstrap нельзя проверить ни совместную генерацию мира, ни синхронизацию персонажей, ни join flow из меню.
|
||||
|
||||
## Expected Outcome
|
||||
|
||||
Игрок может запустить host/server, подключиться клиентом в лобби, выбрать мир и перейти в игровую сессию через FishNet по фиксированному сценарию подключения.
|
||||
|
||||
## Current Context
|
||||
|
||||
В проекте пока нет видимого сетевого кода FishNet. Есть только локальные worldgen и player prototype скрипты.
|
||||
|
||||
## Source Of Truth
|
||||
|
||||
- `docs/tasks/Index.md`
|
||||
- решения из `TASK-0001`
|
||||
- реальный runtime-код FishNet после внедрения
|
||||
|
||||
## Read First
|
||||
|
||||
- `docs/tasks/items/TASK-0001.md`
|
||||
- `Assets/Scenes/SampleScene.unity`
|
||||
- `Assets/Scripts/Player/SimplePlayerInputMover.cs`
|
||||
|
||||
## Scope In
|
||||
|
||||
- интеграция базового startup flow FishNet
|
||||
- host/client connect flow
|
||||
- переход через лобби к выбору мира
|
||||
- серверное создание player session после выбора мира
|
||||
|
||||
## Scope Out
|
||||
|
||||
- reconnect/resume после дисконнекта
|
||||
- матчмейкинг, dedicated fleet и внешний backend
|
||||
|
||||
## Constraints
|
||||
|
||||
- сервер должен быть источником истины для подключения к миру
|
||||
- flow должен быть совместим с моделью Terraria-style: любой персонаж может зайти в любой мир
|
||||
|
||||
## If You Find Drift
|
||||
|
||||
- если текущая сцена прототипа мешает лобби flow, зафиксируйте это и вынесите сценовую декомпозицию в подзадачи реализации
|
||||
|
||||
## Suggested Approach
|
||||
|
||||
1. Внедрить FishNet и описать базовый boot pipeline.
|
||||
2. Сделать простое лобби с переходом к выбору мира.
|
||||
3. Добавить создание сетевой player session и вход в выбранную world session.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- host может поднять сессию и принять клиента
|
||||
- клиент может выбрать мир и корректно появиться в нем
|
||||
- сетевой flow не привязывает персонажа к одному сохранению мира
|
||||
|
||||
## Verification
|
||||
|
||||
- ручная проверка host/client connect flow
|
||||
- проверка, что выбранный мир доступен в runtime join pipeline
|
||||
|
||||
## Risks / Open Questions
|
||||
|
||||
- потребуется раннее решение, использовать ли single-scene или multi-scene world session flow
|
||||
|
||||
## Human Decisions Needed
|
||||
|
||||
- none currently
|
||||
|
||||
## Decision Log
|
||||
|
||||
- `2026-03-30` - лобби и выбор мира зафиксированы как часть сетевого bootstrap, а не отдельный поздний UI task.
|
||||
|
||||
## Handoff Notes
|
||||
|
||||
Дальнейшие UI-задачи должны использовать этот network flow как канонический сценарий подключения.
|
||||
Reference in New Issue
Block a user