Files

4.5 KiB
Raw Permalink Blame History

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-0003 Построить детерминированную voxel-генерацию мира с биомами Развить воксельный worldgen до детерминированной генерации мира по seed с поддержкой биомов и стабильной структуры чанков. Highest worldgen unassigned 2026-03-30 2026-03-30 1d6h
TASK-0001
docs/tasks/Index.md
Assets/Features/VoxelWorld/Runtime/VoxelWorldGenerator.cs
Assets/Features/VoxelWorld/Runtime/VoxelWorldAtlas.cs

TASK-0003 - Построить детерминированную voxel-генерацию мира с биомами

Status

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

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

  • BackLog
  • ToDo
  • InProgress
  • Review
  • Done

Why

Диаблоид с процедурным миром требует воспроизводимого результата по seed. Биомы влияют не только на визуал, но и на правила спавна, лута и будущих данжей.

Expected Outcome

Один и тот же seed всегда строит одинаковый набор воксельных чанков и биомных зон. У мира есть понятный API для запроса biome data и chunk data.

Current Context

В проекте уже есть VoxelWorldGenerator, который строит чанки и управляет их lifecycle. Канонический код мира находится в Assets/Features/VoxelWorld/*.

Source Of Truth

  • Assets/Features/VoxelWorld/Runtime/VoxelWorldGenerator.cs
  • Assets/Features/VoxelWorld/Runtime/VoxelWorldAtlas.cs
  • решения из TASK-0001

Read First

  • docs/tasks/items/TASK-0001.md
  • Assets/Features/VoxelWorld/Runtime/VoxelWorldGenerator.cs
  • Assets/Features/VoxelWorld/Runtime/VoxelWorldAtlas.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 из этой задачи.