変更履歴
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 ゲート — エンジンアセンブリが
DOTWEENdefine でゲートされるようになり、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-prodsimcompose ノード)では、付与 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を使用し、エディタコードがプレイヤービルドでコンパイルされるのを防ぎます。エディタ専用参照によるビルドエラーを排除します。