Skip to content

NikYak228/game_genii

Repository files navigation

Наследие Школы Клинка

Прототип гибридной игры, совмещающей 2D-SPA-хаб управления школой и 3D-боевую арену на Three.js. Вы строите школу, нанимаете учеников и отправляете их на тренировки и турниры, переключаясь между интерфейсом управления и интерактивными боями.

Скриншоты

Главное меню Экран персонажа/персона Боевая арена HUD и лог боя

Возможности

  • Новый 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.

Запуск

  1. Установите зависимости для локального сервера на ваш выбор (npm не обязателен, так как проект без сборки).
  2. Из корня репозитория запустите, например:
    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). Для правок:

  1. Редактируйте файлы в src/.
  2. Обновляйте HTML/CSS в game.html.
  3. При необходимости добавляйте ассеты в assets/ или анимации в Pro Sword and Shield Pack/, корректируя пути в src/main.js или src/ArenaEngine.js.

В проекте нет сборщика или тестов — после изменений просто перезапустите/обновите страницу на локальном сервере.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors