Прототип гибридной игры, совмещающей 2D-SPA-хаб управления школой и 3D-боевую арену на Three.js. Вы строите школу, нанимаете учеников и отправляете их на тренировки и турниры, переключаясь между интерфейсом управления и интерактивными боями.
- Новый UI/UX: полноэкранный SPA-хаб с главным меню, настройками, HUD-ом, боевым журналом и подсказками.
- Система сохранений: отдельный backend (
saveBackend) с поддержкойlocalStorageи мостов к нативному сохранению (например, в Electron). Settings сохраняются отдельно. - Боевой HUD: полосы HP/Stamina/Focus/Guard, индикаторы спецприёмов, баффов/дебаффов и боевых событий.
- Туториал и контекстные подсказки: пошаговый тренинг и динамические советы в зависимости от состояния боя.
- Боевая «сочная» обратная связь: камера-шэйк, hit-stop, VFX-пул с шоквейвами, щитом, искрами, эффекты Guard Break и спецприёмов.
- Асинхронная подготовка арены: загрузочные оверлеи,
ensureArenaReady()с кэшированием и повторным использованием арены.
- Современный браузер с поддержкой ES modules и WebGL.
- Локальный HTTP-сервер (рекомендуется) для корректной загрузки FBX/GLB ассетов. Можно использовать
npx serve,python3 -m http.serverили любой аналог. - Каталоги
Pro Sword and Shield Pack/,assets/иlibs/должны лежать рядом сgame.html.
- Установите зависимости для локального сервера на ваш выбор (npm не обязателен, так как проект без сборки).
- Из корня репозитория запустите, например:
npx serve . # или python3 -m http.server
- Движение:
WASD - Лёгкая атака:
J(или ЛКМ) - Тяжёлая атака:
K(или ПКМ) - Блок / перекат:
Shift - Переключение Practice Mode, сброс и «Фокус MAX» доступны из HUD.
game.html,persona.html— входные HTML.src/— логика SPA, движок арены, контроллеры, AI, VFX и боевые константы.libs/— локальные копии Three.js (r125 для FBXLoader и вспомогательные модули, r149 для некоторых утилит).assets/— дополнительные модели (например,assets/models/RobotExpressive.glb).Pro Sword and Shield Pack/— набор FBX-анимаций и моделей бойцов.debug_movement 2.js— вспомогательные скрипты для отладки.
- Игровые сохранения (
App.school) лежат вlocalStorageпод ключомblade_school_save_v1, либо передаются в нативный bridge (window.__bladeSave) при наличии. - Настройки (
cameraShake,combatHints,lowFX) записываются отдельно (ключblade_school_settings_v1). - Кнопка «Сбросить» на верхней панели удаляет сохранение и создаёт дефолтную школу.
- Low FX: снижает плотность VFX и выставляет пиксельный коэффициент рендера в 1. Управляется через меню настроек и применяется сразу в SPA и арене.
- Camera Shake / Combat Hints: можно включать/выключать независимо.
Код написан на чистом ES-модульном JavaScript, импортирует Three.js через CDN (см. importmap в game.html). Для правок:
- Редактируйте файлы в
src/. - Обновляйте HTML/CSS в
game.html. - При необходимости добавляйте ассеты в
assets/или анимации вPro Sword and Shield Pack/, корректируя пути вsrc/main.jsилиsrc/ArenaEngine.js.
В проекте нет сборщика или тестов — после изменений просто перезапустите/обновите страницу на локальном сервере.



