[Add] New Tasks (The tasks have not been verified)
This commit is contained in:
@@ -0,0 +1,112 @@
|
||||
---
|
||||
id: TASK-0003
|
||||
title: Построить детерминированную генерацию мира с биомами
|
||||
summary: Развить существующий worldgen до детерминированной генерации мира по seed с поддержкой биомов и стабильной структуры чанков.
|
||||
priority: Highest
|
||||
area: worldgen
|
||||
owner: unassigned
|
||||
created: 2026-03-30
|
||||
updated: 2026-03-30
|
||||
execution_time: 1d6h
|
||||
depends_on:
|
||||
- TASK-0001
|
||||
canonical_docs:
|
||||
- docs/tasks/Index.md
|
||||
related_files:
|
||||
- Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs
|
||||
- Assets/Scripts/WorldGen/ChunkTemplate.cs
|
||||
- Assets/Scripts/WorldGen/WorldAutotileProfile.cs
|
||||
---
|
||||
|
||||
# TASK-0003 - Построить детерминированную генерацию мира с биомами
|
||||
|
||||
## Status
|
||||
|
||||
Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там.
|
||||
|
||||
Допустимые значения статуса:
|
||||
|
||||
- `BackLog`
|
||||
- `ToDo`
|
||||
- `InProgress`
|
||||
- `Review`
|
||||
- `Done`
|
||||
|
||||
## Why
|
||||
|
||||
Диаблоид с процедурным миром требует воспроизводимого результата по seed. Биомы влияют не только на визуал, но и на правила спавна, лута и будущих данжей.
|
||||
|
||||
## Expected Outcome
|
||||
|
||||
Один и тот же seed всегда строит одинаковый набор чанков, тайлов и биомных зон. У мира есть понятный API для запроса biome data и chunk data.
|
||||
|
||||
## Current Context
|
||||
|
||||
В проекте уже есть `InfiniteWorldGenerator`, `ChunkTemplate` и `WorldAutotileProfile`, что дает стартовую основу под генерацию 2D-мира.
|
||||
|
||||
## Source Of Truth
|
||||
|
||||
- `Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs`
|
||||
- `Assets/Scripts/WorldGen/ChunkTemplate.cs`
|
||||
- решения из `TASK-0001`
|
||||
|
||||
## Read First
|
||||
|
||||
- `docs/tasks/items/TASK-0001.md`
|
||||
- `Assets/Scripts/WorldGen/InfiniteWorldGenerator.cs`
|
||||
- `Assets/Scripts/WorldGen/ChunkTemplate.cs`
|
||||
- `Assets/Scripts/WorldGen/WorldAutotileProfile.cs`
|
||||
|
||||
## Scope In
|
||||
|
||||
- нормализовать seed-driven worldgen
|
||||
- определить модель биома на уровне чанка и под-областей
|
||||
- выделить стабильные world coordinates и chunk coordinates
|
||||
- подготовить world query API для спавна и данжей
|
||||
|
||||
## Scope Out
|
||||
|
||||
- логика врагов и битовые маски убийств
|
||||
- размещение готовых данж prefab
|
||||
|
||||
## Constraints
|
||||
|
||||
- генерация должна быть одинаковой для всех клиентов и сервера
|
||||
- нельзя строить ключевые правила мира только на клиенте
|
||||
|
||||
## If You Find Drift
|
||||
|
||||
- если существующий worldgen зависит от недетерминированных источников, это нужно исправлять или явно документировать
|
||||
|
||||
## Suggested Approach
|
||||
|
||||
1. Зафиксировать структуру seed, biome sampling и координатную систему.
|
||||
2. Вынести deterministic chunk generation API.
|
||||
3. Подготовить точки интеграции для spawn, saves и dungeon placement.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- одинаковый seed порождает одинаковые чанки и биомы
|
||||
- есть способ получить biome/chunk data без прямой привязки к визуальному рендеру
|
||||
- downstream systems могут использовать мир как deterministic source of truth
|
||||
|
||||
## Verification
|
||||
|
||||
- прогон нескольких одинаковых seed и сравнение результатов
|
||||
- ручная проверка стабильности при повторной загрузке мира
|
||||
|
||||
## Risks / Open Questions
|
||||
|
||||
- потребуется решить, хранится ли биом целиком как функция seed или частично кэшируется в save
|
||||
|
||||
## Human Decisions Needed
|
||||
|
||||
- none currently
|
||||
|
||||
## Decision Log
|
||||
|
||||
- `2026-03-30` - поддержка биомов зафиксирована как часть ядра worldgen, а не как декоративное расширение.
|
||||
|
||||
## Handoff Notes
|
||||
|
||||
Задачи по спавну, сохранениям и данжам должны ссылаться на deterministic world query API из этой задачи.
|
||||
Reference in New Issue
Block a user