Перейти к основному содержимому

Журнал изменений

Все значимые изменения Monster Capture Engine документируются здесь.

v1.1.0 (2026-07-13)​

Этот выпуск добавляет застраиваемые игроком пространства (Секретные базы и залы, принадлежащие игроку), эфемерную Боевую башню, живое соприсутствие в базах и крупный шаг вперёд для Essentials Importer — подтверждённый реальным импортом полного проекта v21.1. Он также содержит волну предрелизного укрепления и работы над производительностью.

Игровой процесс​

  • Боевая башня — Новая запись в меню паузы запускает эфемерный забег Боевой башни (EphemeralTowerLauncher): самодостаточную лестницу испытаний, которая создаёт временных противников и выплачивает выигрыш прямо в кошелёк игрока. Поток боя был укреплён для анонимных/бестренерных противников, чтобы бои в башне разрешались чисто.
  • Секретная база («Моя База») — Игроки могут размещать, входить и украшать собственный инстансированный интерьер. Интерьер строится из шаблона сцены, заполняемого во время выполнения, а слой украшений (DecorCatalog с операциями добавления / удаления / перемещения) сохраняется внутри файла сохранения.
  • Залы игрока («Мой Зал») — Игроки строят полностью пользовательский зал: команду лидера, украшенную комнату, пользовательские диалоги и собственный значок. Другие игроки могут бросить ему вызов.
  • Меню паузы — Три новые записи подключают вышеперечисленное в игровое меню: Боевая башня, Моя База и Мой Зал.

Онлайн (Nakama)​

  • Мультиплеер Секретной базы — Серверные RPC secret_base_save / secret_base_get / secret_base_list / secret_base_invite поддерживают постоянную коллекцию баз с записями по оптимистичной конкурентности и fail-closed серверной валидацией. Посетители видят снимок, даже когда владелец офлайн. Проверено на состязательном пентесте — поддельные записи отклоняются.
  • Живое соприсутствие в базах — BaseSyncService использует релейный матч (base:<ownerId>) для синхронизации позиции посетителя и изменений украшений (OP_DECOR_CHANGED) в реальном времени. Проверено от начала до конца живым тестом с двумя клиентами против Nakama.
  • Вызов зала игрока — Серверные снимки залов через gym_save / gym_get / gym_list, fail-closed, так что претенденты сражаются с настоящей настроенной командой владельца.
  • Серверно-авторитетная валидация телепортации — mce_validate_teleport теперь проверяет сцену назначения по графу сцен и применяет ограничение частоты на стороне сервера в паре с клиентской защитой от телепортации при движении.

Импортер (Pokemon Essentials v20 / v21 / v21.1)​

  • Доказан импорт полного проекта v21.1 — Реальный полный запуск без интерфейса на полном проекте Essentials v21.1 конвертировал 898 из 898 видов без ошибок (335 переопределений форм, 422 связанных эволюций), создал 150 новых приёмов, повторно использовав 590 существующих, 72 способности, 315 предметов создано / 378 сопоставлено, и 20 тренеров с заполненными отрядами.
  • Боевые материалы спрайтов — SpriteLinker теперь генерирует боевые материалы для импортированных монстров. До этого исправления импортированные монстры были невидимы в бою. Спрайты сопоставляются по внутреннему имени, с графикой по форме и вариантами по полу.
  • Более широкое покрытие эффектов приёмов — Сопоставление FunctionCode к эффектам было расширено в три прохода; несопоставленные коды деградируют изящно с честным предупреждением вместо молчаливого сбоя.
  • Генерация конкретных предметов — ItemConverter теперь производит настоящие ScriptableObject'ы Item MCE, а не заглушки, сопоставленные по имени.
  • Оснастка импорта без интерфейса — EssentialsHeadlessImport.Run() управляет полным конвейером из CLI / пакетного режима.
  • Исправления целостности перестройки БД — Исправлено обнаружение ассетов, которое могло стирать Приёмы во время перестройки, плюс устаревший путь после ребрендинга; добавлены переопределения форм и 15 новых методов эволюции для v21.1.

Настройка и упаковка​

  • Гейт DOTween — Сборки движка теперь ограничены за определением DOTWEEN, так что свежий импорт без DOTween больше не падает с ~200 ошибками компиляции.
  • Экспорт Lite и Basic — Два уровня теперь экспортируются раздельно; обязательный сплэш OpenMon поставляется только в Lite.

Качество и производительность​

  • Предрелизное укрепление (Волны 1–4) — Исправлена утечка AudioListener, дублированный BGM, неограниченный AudioSourcePool, защёлка телепортации, очистка состояния InputManager и защиты MenuSelector.
  • De-LINQ горячих путей — Удалены покадровые аллокации LINQ в контроллере персонажа.
  • Полировка — Более чистый инспектор MonsterEntry; исправлена опечатка MajorVersion за сериализованным шимом, так что существующие сохранения продолжают загружаться.
  • Тесты — Добавлена проверка эффектов приёмов на реальных импортированных монстрах и живой PlayMode-тест с двумя клиентами против Nakama.

Также в этой версии — задокументировано 2026-07-02, выпущено после v1.0.0:

Этот выпуск документирует онлайн-функции и функции инструментов, которые вышли после v1.0.0, но ещё не были указаны в журнале изменений. Все элементы присутствуют в кодовой базе; данная запись приводит журнал изменений в соответствие с серверными модулями в Assets/OpenMon/Online/Server~/nakama/ и инструментарием редактора.

Онлайн — Экономика​

  • Global Trade Station (GTS) — Асинхронная торговая доска «хочу-за-предлагаю» (economy/gts.ts). Игроки выставляют предлагаемого монстра и вид, который хотят взамен; сервер сопоставляет и завершает сделки.
  • Global Trade Link (GTL) — Система листинга/ставок в стиле аукционного дома с выделенным движком сопоставления (economy/gtl.ts + economy/gtl-engine.ts).
  • Экономика с dev-гейтом — RPC выдачи валюты/предметов ограничены за MCE_DEV_MODE (economy/shop.ts + data/shop.ts). В симуляции продакшена (узел compose nakama-prodsim) RPC выдачи отклоняются с dev_mode_disabled, что проверено выделенными E2E-тестами.

Онлайн — Бой​

  • Серверно-авторитетный захват — Захват теперь разрешается на сервере через RPC-контракт, а не по исходам, сообщённым клиентом, закрывая брешь античита для диких захватов.
  • Серверно-авторитетный PvP — Оркестрация матчей и разрешение ходов выполняются на стороне сервера (battle/pvp-engine.ts), с матчмейкингом и полным E2E-покрытием.
  • Боевая башня / Рейды — Прогрессия с несколькими боями и кооперативные рейдовые встречи (battle/raid-engine.ts).

Онлайн — Мир и социальное​

  • Секретная база / Жильё — Инстансированные пространства, принадлежащие игроку, с постоянным CRUD (world/housing.ts).
  • Присутствие и AOI — Присутствие в реальном времени и фильтрация по области интереса для синхронизации мира (world/presence.ts).
  • Прямой обмен — Поток прямого обмена между игроками (social/trade.ts).

Онлайн — Безопасность​

  • Боевой ACL античита — Принудительное применение контроля доступа на боевых RPC, чтобы только авторизованные участники могли управлять матчем, подкреплённое валидацией скорости/инвентаря.

Инструменты редактора​

  • Import HD Original Dex (151) — раздел Cartridge в Hub (редакция Studio) запускает HDDexImporter, чтобы импортировать 151 оригинальное HD-существо (фронты, спины, прозрачные и пиксельные последователи).

Примечания​

  • Полный онлайн RPC-контракт задокументирован в Assets/OpenMon/Online/Server~/nakama/CONTRACT.md.
  • Все пункты меню редактора теперь находятся под меню Tools > MCE > … (ранее MCE > …).

v1.0.0 (2026-03-29)​

Первоначальный публичный выпуск MCE как plug-and-play пакета Unity.

Новые возможности​

  • Редактор карт (Scene View) -- Наложение для рисования тайлов в стиле RPG Maker XP, встроенное в Scene View Unity. Автоактивируется на сценах карт. Поддерживает автотайлы (с анимированными превью), обычные тайлы, вкладки слоёв, инструменты Карандаш/Ластик, наложение сетки и горячие клавиши.
  • Кнопка настройки в один клик -- Вкладка Welcome в Hub теперь показывает ЗЕЛЁНУЮ/КРАСНУЮ кнопку Setup, которая автоматически настраивает проект в один клик, включая автоимпорт TMP Essentials.
  • Палитра команд -- Нажмите Ctrl+Shift+M, чтобы открыть палитру команд MCE для быстрого доступа ко всем инструментам и функциям.
  • Tri-Inspector (физический) -- Tri-Inspector теперь включён как физический пакет (без зависимости UPM). Устраняет конфликты версий и работает из коробки в экспортированных файлах .unitypackage.
  • PackageExportValidator -- Строгая валидация для экспортов .unitypackage. Проверяет все необходимые ассеты, определения сборок, зависимости и структуры папок перед экспортом.
  • defineConstraints на сборках -- Все определения сборок редактора теперь используют defineConstraints, чтобы предотвратить компиляцию кода редактора в сборках плеера. Устраняет ошибки сборки от ссылок только для редактора.

Архитектура​

  • 4-уровневая система SKU -- Уровни Lite, Basic, Pro и Source с правильным разделением сборок и defineConstraints.
  • Очистка определений сборок -- Все файлы .asmdef имеют корректные ссылки, никаких циклических зависимостей и правильные ограничения платформ.
  • Перепривязка GUID Zenject -- Устранено 200+ ошибок отсутствующих скриптов от миграции пространств имён Zenject. Все ссылки сцен и префабов восстановлены.

Тестирование​

  • 2 169+ тестов проходят во всех сборках тестов (EditMode NUnit + Jest Unit + Jest E2E).
  • Процедура гейта тестов задокументирована и обеспечена для предпуш-валидации.

Импортер​

  • Essentials Importer -- Конвейер импорта Pokemon Essentials v20/v21/v21.1 для карт, тайлсетов, событий, автотайлов, персонажей и спрайтов последователей.
  • AutotileBaker -- Конвертирует формат автотайлов RPG Maker в Rule Tiles Unity.
  • TileDataPopulator -- Заполняет данные коллизий и встреч тайлов из файлов карт Essentials.

Онлайн (опционально)​

  • Слой MMORPG Nakama -- 18 сервисов: Auth, WorldSync, Battle, Social, Economy, LiveOps, AntiCheat, Persistence и другие.
  • PvP-матчмейкинг, обмен, гильдии, жильё -- Полный онлайн-набор функций для мультиплеерных игр про захват монстров.

Инструменты редактора​

  • OpenMon Hub -- Центральная панель с вкладками Welcome, Tools, Database Browser и Settings.
  • Type Chart Editor -- Визуальный редактор для таблиц эффективности типов.
  • Database Browser -- Просмотр и поиск всех баз данных монстров, приёмов, предметов и способностей.
  • SpriteSheet Slicer -- Автоматическая нарезка спрайт-листов персонажей и последователей.

Исправления ошибок​

  • Исправлено дрожание движения последователей на диагональных переходах сетки.
  • Исправлены ошибки привязки Zenject при импорте пакета в свежий проект.
  • Исправлено, что PackageDependencyInstaller патчит manifest.json как текст, чтобы избежать проблем с блокировкой PackageManager.
  • Исправлены уровни экспорта, в которых отсутствовали файлы Zenject, Resources и csc.rsp.