113 lines
4.1 KiB
Markdown
113 lines
4.1 KiB
Markdown
---
|
|
id: TASK-0013
|
|
title: Реализовать меню лобби, выбор персонажа и выбор мира
|
|
summary: Сделать пользовательский flow входа: подключение в лобби, выбор или создание персонажа, выбор мира и запуск игровой сессии.
|
|
priority: High
|
|
area: ui
|
|
owner: unassigned
|
|
created: 2026-03-30
|
|
updated: 2026-03-30
|
|
execution_time: 1d
|
|
depends_on:
|
|
- TASK-0002
|
|
- TASK-0004
|
|
- TASK-0011
|
|
canonical_docs:
|
|
- docs/tasks/Index.md
|
|
related_files:
|
|
- Assets/Scenes/SampleScene.unity
|
|
---
|
|
|
|
# TASK-0013 - Реализовать меню лобби, выбор персонажа и выбор мира
|
|
|
|
## Status
|
|
|
|
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
|
|
|
|
Допустимые значения статуса:
|
|
|
|
- `BackLog`
|
|
- `ToDo`
|
|
- `InProgress`
|
|
- `Review`
|
|
- `Done`
|
|
|
|
## Why
|
|
|
|
Пользователь явно просит меню с подключением в лобби и выбором персонажа. Это пользовательский вход в систему раздельных сохранений и сетевого bootstrap.
|
|
|
|
## Expected Outcome
|
|
|
|
Есть рабочий UX flow: открыть игру, подключиться, выбрать или создать персонажа, выбрать мир и войти в сессию без ручной сцены/отладки.
|
|
|
|
## Current Context
|
|
|
|
Пока нет оформленного меню и экранов выбора. Network bootstrap и character model должны существовать раньше.
|
|
|
|
## Source Of Truth
|
|
|
|
- `docs/tasks/items/TASK-0002.md`
|
|
- `docs/tasks/items/TASK-0004.md`
|
|
- `docs/tasks/items/TASK-0011.md`
|
|
|
|
## Read First
|
|
|
|
- `docs/tasks/items/TASK-0002.md`
|
|
- `docs/tasks/items/TASK-0004.md`
|
|
- `docs/tasks/items/TASK-0011.md`
|
|
- `Assets/Scenes/SampleScene.unity`
|
|
|
|
## Scope In
|
|
|
|
- экран подключения и лобби
|
|
- выбор или создание персонажа
|
|
- выбор мира из доступных сохранений
|
|
- запуск игровой сессии из UI
|
|
|
|
## Scope Out
|
|
|
|
- social UI, чат, друзья и сложный браузер серверов
|
|
- детальный UI инвентаря и прогрессии в бою
|
|
|
|
## Constraints
|
|
|
|
- menu flow должен соответствовать модели player/world separation
|
|
- UI не должен брать на себя server-authoritative решения
|
|
|
|
## If You Find Drift
|
|
|
|
- если UI начнет напрямую менять данные мира или персонажа в обход доменной логики, это drift
|
|
|
|
## Suggested Approach
|
|
|
|
1. Описать последовательность экранов и входных данных.
|
|
2. Привязать UI к network bootstrap и save selection.
|
|
3. Проверить сценарий создания персонажа и входа в любой мир.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- пользователь может пройти путь от запуска игры до входа в мир через UI
|
|
- выбор персонажа и выбор мира являются независимыми шагами
|
|
- flow работает как для host, так и для клиента в рамках MVP
|
|
|
|
## Verification
|
|
|
|
- ручной проход всех экранов в happy-path сценарии
|
|
- проверка, что один и тот же персонаж может входить в разные миры
|
|
|
|
## Risks / Open Questions
|
|
|
|
- потребуется решить, нужен ли отдельный экран создания мира или достаточно списка и кнопки create
|
|
|
|
## Human Decisions Needed
|
|
|
|
- none currently
|
|
|
|
## Decision Log
|
|
|
|
- `2026-03-30` - menu flow зафиксирован как отдельная задача после network bootstrap и class model.
|
|
|
|
## Handoff Notes
|
|
|
|
Сначала нужен рабочий функциональный flow без избыточного UI-polish.
|