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 |
Ещё не решено
Эти вопросы закрывают игровой срез. Карту и моды больше не блокируют.
- Что такое «общее событие»: лог за смену, только текущие процессы, или новости («урок начался»)?
- Что видно на выбранной локации сначала: предметы (в т.ч. пусто), заготовки действий, вакансии?
- Выбор узла в дереве — только фильтр на клиенте или намерение на сервер?
Открытые вопросы по core-моду, двору и коллизиям имён — в конце defs.md.
Заведомо не сейчас
- Портреты, арт локаций, схема этажа в пикселях.
- Управление персонажем от первого/третьего лица.
- Победа/кампания, пока нет даже наблюдаемого мира.