Files
h-school/docs/design/near-term.md
T

4.5 KiB

Ближайший горизонт: что видит игрок

Это не текущее состояние кода, а договорённости на ближайшее планирование. Как устроено сейчас — в architecture.md.

Решение: не PixiJS, а менеджер на DOM

Внутри школы нет 2D-сцены, камеры и спрайтов. Интерфейс ближе к менеджеру, чем к классическому QSP: не «полотно текста + список действий», а панели.

Ориентир по экрану школы (после часов и паузы, которые уже есть):

  • Карта — дерево локаций (tree view).
  • Общие события — то, что происходит в школе целиком, не привязано к выбранному узлу.
  • Выбранная локация — что происходит именно там.

Картинок локаций и портретов в этом горизонте нет; позже можно добавить, не ломая панели. Анимация пока только переходы панелей/списков и живые цифры (часы, счётчики). Графики — когда появятся числа, которые ими стоит показывать, не раньше.

Клиент остаётся plain DOM + CSS. pixi.js для этого не нужен и в этом горизонте его стоит убрать из зависимостей.

Симуляция по-прежнему на сервере: ученики и комнаты могут существовать как данные в Arch ECS, даже если клиент рисует строки списка, а не человечков.

Типы комнат, предметов и действий описываются defs (JSONC), конкретная школа — картой-инстансом. Подробности: defs.md. Дерево в UI — это территория → здания → этажи → помещения.

Что уже зафиксировано

Тема Решение
Вид внутри школы Менеджер: дерево + общие события + содержимое локации
Рендер DOM, не WebGL/Pixi
Картинки Нет в этом горизонте
Анимация Переходы и живые цифры
Часы, пауза, скорость Остаются; это не отменяется панелями
Логика игры Только сервер; клиент шлёт намерения и рисует то, что сказали
Данные игры Defs (типы) + карта (инстанс), см. defs.md
Дерево карты Территория → здание → этаж → помещение; рёбра проходов — граф инстанса
Редактор карты Только при создании школы
Моды Папки на сервере, выбор в диалоге создания
Поток школы Цель: один поток и один ECS world на школу, см. runtime.md

Ещё не решено

Эти вопросы закрывают игровой срез. Карту и моды больше не блокируют.

  1. Что такое «общее событие»: лог за смену, только текущие процессы, или новости («урок начался»)?
  2. Что видно на выбранной локации сначала: предметы (в т.ч. пусто), заготовки действий, вакансии?
  3. Выбор узла в дереве — только фильтр на клиенте или намерение на сервер?

Открытые вопросы по core-моду, двору и коллизиям имён — в конце defs.md.

Заведомо не сейчас

  • Портреты, арт локаций, схема этажа в пикселях.
  • Управление персонажем от первого/третьего лица.
  • Победа/кампания, пока нет даже наблюдаемого мира.