メインコンテンツまでスキップ

変更履歴

Monster Capture Engine のすべての注目すべき変更点をここに記録します。

v1.1.0 (2026-07-13)​

このリリースでは、プレイヤーが構築するスペース(シークレットベースとプレイヤー所有のジム)、一時的なバトルタワー、ベース内でのライブな共存プレゼンス、そして Essentials Importer の大幅な進化を追加しました。後者は実際のフルプロジェクト v21.1 インポートで実証済みです。あわせて、リリース前の堅牢化とパフォーマンス改善も多数投入しています。

ゲームプレイ​

  • バトルタワー — 新しいポーズメニュー項目から、一時的なバトルタワーの挑戦(EphemeralTowerLauncher)を起動します。これは自己完結型のチャレンジラダーで、一時的な対戦相手を生成し、獲得賞金をプレイヤーのウォレットに直接支払います。匿名/トレーナー不在の相手にもバトルフローが対応できるよう堅牢化され、タワー戦がクリーンに解決されます。
  • シークレットベース(「My Base」) — プレイヤーは自分専用のインスタンス化された内部空間を配置し、入り、装飾できます。内部はランタイムに構築されるシーンテンプレートから生成され、装飾レイヤー(追加/削除/移動操作を備えた DecorCatalog)はセーブファイル内に永続化されます。
  • プレイヤージム(「My Gym」) — プレイヤーは完全にカスタムなジムを構築します:リーダーのチーム、装飾された部屋、カスタムダイアログ、独自のバッジ。他のプレイヤーはそれに挑戦できます。
  • ポーズメニュー — 上記をゲーム内メニューに接続する3つの新規項目:バトルタワー、My Base、My Gym。

オンライン(Nakama)​

  • シークレットベースのマルチプレイヤー — サーバー RPC secret_base_save / secret_base_get / secret_base_list / secret_base_invite が、楽観的並行性制御による書き込みとフェイルクローズなサーバー検証を備えた永続的なベースコレクションを支えます。所有者がオフラインでも、訪問者はスナップショットを見られます。敵対的なペンテストで検証済み — 偽造された書き込みは拒否されます。
  • ベース内でのライブ共存プレゼンス — BaseSyncService はリレーマッチ(base:<ownerId>)を使用し、訪問者の位置と装飾変更(OP_DECOR_CHANGED)をリアルタイムに同期します。Nakama に対するライブな2クライアントテストでエンドツーエンドに検証済みです。
  • プレイヤージムへの挑戦 — gym_save / gym_get / gym_list によるサーバー側のジムスナップショット(フェイルクローズ)。挑戦者は所有者が実際に設定したチームと戦います。
  • サーバー権威のテレポート検証 — mce_validate_teleport は、目的地シーンをシーングラフに対して検証し、サーバー側でレート制限を適用するようになりました。クライアント側のアンチテレポート移動ガードと組み合わせて動作します。

インポーター(Pokemon Essentials v20 / v21 / v21.1)​

  • フルプロジェクト v21.1 インポートを実証 — 完全な Essentials v21.1 プロジェクトに対する実際のヘッドレスフル実行で、898種のうち898種をエラーゼロで変換しました(335件のフォームオーバーライド、397件の進化リンク)。150個の新規技を作成しつつ既存の590個を再利用し、72個の特性、315個のアイテムを作成/378個をマッチング、20人のトレーナーにロスターを設定しました。Docs/audit/2026-07-12-importer-v21.1-partial-run.md を参照してください。
  • バトルスプライトのマテリアル — SpriteLinker がインポートされたモンスター用のバトルマテリアルを生成するようになりました。この修正以前は、インポートされたモンスターはバトルで不可視でした。スプライトは内部名でマッチングされ、フォームごとのアートと性別バリアントに対応します。
  • より広範な技効果のカバレッジ — FunctionCode から効果へのマッピングを3回のパスで拡張しました。マッピングされていないコードは、無言で失敗する代わりに正直な警告とともにグレースフルに劣化します。
  • 具体的なアイテム生成 — ItemConverter が、名前一致のスタブではなく実際の MCE Item ScriptableObject を生成するようになりました。
  • ヘッドレスインポートハーネス — EssentialsHeadlessImport.Run() が CLI / バッチモードからフルパイプラインを駆動します。
  • DB 再構築の整合性修正 — 再構築中に Moves を消去しかねなかったアセット探索、およびリブランド後の古いパスを修正。v21.1 向けにフォームオーバーライドと15個の新しい進化メソッドを追加しました。

セットアップとパッケージング​

  • DOTween ゲート — エンジンアセンブリが DOTWEEN define でゲートされるようになり、DOTween なしの新規インポートでも約200個のコンパイルエラーで失敗しなくなりました。
  • Lite と Basic のエクスポート — 2つのティアが明確に区別してエクスポートされるようになりました。必須の OpenMon スプラッシュは Lite にのみ同梱されます。

品質とパフォーマンス​

  • リリース前の堅牢化(ウェーブ1〜4) — AudioListener のリーク、重複した BGM、上限のない AudioSourcePool、テレポートのラッチ、InputManager の状態スクラビング、MenuSelector のガードを修正しました。
  • ホットパスの脱 LINQ — キャラクターコントローラーのフレームごとの LINQ アロケーションを削除しました。
  • 仕上げ — よりクリーンな MonsterEntry インスペクター。MajorVersion のタイプミスをシリアライズシムの背後で修正し、既存のセーブが引き続き読み込めるようにしました。
  • テスト — 実際にインポートされたモンスターでの技効果検証と、Nakama に対するライブな2クライアント PlayMode テストを追加しました。

このバージョンに含まれるその他の変更 — 2026-07-02 に記載、v1.0.0 以降に公開:

このリリースは、v1.0.0 の後に投入されたものの変更履歴にまだ記載されていなかったオンライン機能とツール機能を記録します。すべての項目はコードベースに存在します。このエントリは、変更履歴を Assets/OpenMon/Online/Server~/nakama/ 配下のサーバーモジュールとエディタツールに一致させます。

オンライン — 経済​

  • グローバルトレードステーション(GTS) — 非同期の「求む/提供」トレードボード(economy/gts.ts)。プレイヤーは提供するモンスターと引き換えに欲しい種族を投稿し、サーバーがマッチングしてトレードを決済します。
  • グローバルトレードリンク(GTL) — 専用のマッチングエンジンを備えたオークションハウス形式の出品/入札システム(economy/gtl.ts + economy/gtl-engine.ts)。
  • 開発者ゲート付きの経済 — 通貨/アイテム付与 RPC は MCE_DEV_MODE の背後でゲートされます(economy/shop.ts + data/shop.ts)。本番シミュレーション(nakama-prodsim compose ノード)では、付与 RPC は dev_mode_disabled で拒否され、専用の E2E テストで検証されています。

オンライン — バトル​

  • サーバー権威の捕獲 — 捕獲は、クライアント報告の結果ではなく RPC コントラクトを介してサーバー上で解決されるようになり、野生捕獲におけるアンチチートのギャップを塞ぎました。
  • サーバー権威の PvP — マッチのオーケストレーションとターン解決がサーバー側で実行されます(battle/pvp-engine.ts)。マッチメイキングと完全な E2E カバレッジを備えます。
  • バトルタワー / レイド — マルチバトルの進行と協力レイドエンカウント(battle/raid-engine.ts)。

オンライン — ワールドとソーシャル​

  • シークレットベース / ハウジング — 永続的な CRUD を備えたプレイヤー所有のインスタンス化スペース(world/housing.ts)。
  • プレゼンスと AOI — ワールド同期のためのリアルタイムプレゼンスと関心領域(Area of Interest)フィルタリング(world/presence.ts)。
  • 直接トレード — プレイヤー間の直接トレードフロー(social/trade.ts)。

オンライン — セキュリティ​

  • アンチチートのバトル ACL — バトル RPC へのアクセス制御の適用により、認可された参加者のみがマッチを駆動できます。速度/インベントリ検証で裏付けられます。

エディタツール​

  • HD オリジナル図鑑(151)のインポート — Hub の Cartridge セクション(Studio エディション)が HDDexImporter を実行し、151体のオリジナル HD クリーチャー(表、裏、透過、ピクセルフォロワー)を取り込みます。

備考​

  • 完全なオンライン RPC コントラクトは Assets/OpenMon/Online/Server~/nakama/CONTRACT.md に文書化されています。
  • すべてのエディタメニュー項目は Tools > MCE > … メニューの下に移動しました(以前は MCE > …)。

v1.0.0 (2026-03-29)​

プラグアンドプレイの Unity パッケージとしての MCE の最初の公開リリース。

新機能​

  • マップエディタ(シーンビュー) -- RPG Maker XP にインスパイアされたタイルペイントオーバーレイを Unity のシーンビューに統合。マップシーンで自動的にアクティブ化されます。オートタイル(アニメーションプレビュー付き)、通常タイル、レイヤータブ、鉛筆/消しゴムツール、グリッドオーバーレイ、キーボードショートカットに対応します。
  • ワンクリックセットアップボタン -- Hub の Welcome タブに、TMP Essentials の自動インポートを含め、プロジェクトをワンクリックで自動設定する緑/赤のセットアップボタンが表示されるようになりました。
  • コマンドパレット -- Ctrl+Shift+M を押すと、すべてのツールと機能に素早くアクセスできる MCE コマンドパレットが開きます。
  • Tri-Inspector(物理パッケージ) -- Tri-Inspector が物理パッケージとして同梱されるようになりました(UPM 依存なし)。バージョン競合を排除し、エクスポートされた .unitypackage ファイルでそのまま動作します。
  • PackageExportValidator -- .unitypackage エクスポートのための徹底的な検証。エクスポート前に、必要なすべてのアセット、アセンブリ定義、依存関係、フォルダ構造を検証します。
  • アセンブリの defineConstraints -- すべてのエディタアセンブリ定義が defineConstraints を使用し、エディタコードがプレイヤービルドでコンパイルされるのを防ぎます。エディタ専用参照によるビルドエラーを排除します。

アーキテクチャ​

  • 4ティア SKU システム -- Lite、Basic、Pro、Source の各ティア。適切なアセンブリ分離と defineConstraints を備えます。
  • アセンブリ定義のクリーンアップ -- すべての .asmdef ファイルが正しい参照を持ち、循環依存がなく、適切なプラットフォーム制約を備えます。
  • Zenject GUID の再バインド -- Zenject の名前空間移行による200件以上のスクリプト欠落エラーを解決。すべてのシーンとプレハブの参照を復元しました。

テスト​

  • 全テストアセンブリで 2,169以上のテストが成功(EditMode NUnit + Jest Unit + Jest E2E)。
  • プッシュ前検証のための テストゲート手順 を文書化し、強制しています。

インポーター​

  • Essentials Importer -- マップ、タイルセット、イベント、オートタイル、キャラクター、フォロワースプライトのための Pokemon Essentials v20/v21/v21.1 インポートパイプライン。
  • AutotileBaker -- RPG Maker のオートタイル形式を Unity の Rule Tile に変換します。
  • TileDataPopulator -- Essentials マップファイルからタイルの衝突とエンカウントデータを設定します。

オンライン(オプション)​

  • Nakama MMORPG レイヤー -- 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 バインドエラーを修正。
  • PackageManager のロック問題を避けるため、PackageDependencyInstaller が manifest.json をテキストとしてパッチする問題を修正。
  • エクスポートティアで Zenject、Resources、csc.rsp ファイルが欠落していた問題を修正。