本文へスキップ
コイカツ技術置き場

コイカツにMCPを導入していると言う話

この記事をシェア X はてブ

コイカツのプラグイン設定画面。KKMCP 1.0.0のバインドアドレスやポートなどの設定項目が並んでいる

コイカツには異常なまでのMOD文化があり、それによって異常なまでの拡張性を誇っています。 その勢いは衰えを知らず、発売元のillusionが解散した今でも積極的なキャラ/シーンのクリエイト活動が活発に行われています。 スタジオの「妄想を現実にする」というコンセプト通り、圧倒的な表現力を持つ一方で導入や操作の観点でのハードルが非常に高いという難点も抱えています。

とっつきにくいツール群

ゲーム本編とは別にある「キャラスタジオ」ですが、ツールとしての側面があるので少々とっつきにくいです。 特に3Dモデリングに関する知識も求められる場面もあるので、軽い気持ちで 動かすと思いっきり沼にハマります。

加えてそれを拡張するMOD群もあり、用途を知らないと余計に困惑してしまいます。 またお世辞にもUIが良いとはいえず、操作する上でも煩わしさを感じる場面もあります。

じゃあテクノロジーでどうにかしてしまおう

じゃあそんな煩わしさやとっつきにくさをテクノロジーで解決してしまいましょう。 このゲームMOD拡張ができるので、MODを作ってしまいましょう。

どうするのかというと、AIにある程度任せられる環境を作ってしまえばいいのです。

コイカツ専用のMCPサーバー

そもそもMCPサーバーって何?って人も向けに解説します。

MCP(Model Context Protocol)というのは生成AIが外部のデータやツールとの連携をとる際に使う規格のことを指します。 2024年11月にClaudeで知られるAnthropicが公開した規格です。

例えばGoogle DriveのMCPサーバーを用意すると、AIに指示をするだけでDriveのファイルのアップロードやフォルダ移動、削除というのを全てAIがやってくれるようになります。 コイカツの操作をAIができるようにすれば、ある程度指示をするだけでタスクを任せられるようになります。

やったこと

まずそのMCPサーバーを作らせます。 コイカツのMODはBepInEx 5で動いているので、.NETを使って開発を進めます。 以下のテンプレートを拡張して作成します。

やってることは単純で、KKAPIに生えてる各種操作用のAPIをhttp形式でのリクエストで応対できるようにしただけです。 わからない人向けに言うと、キャラカードの保存やパーツの操作をゲームを通さずに行うことができるということです。

やらせてること

  • timelineの音声操作

timelien上では音のオブジェクトは有効/無効にすることによって音を鳴らします。 声や効果音であれば1~2キー打つだけですが、ピストン運動に音をつけるとなると数十にも及ぶキーを打たなければなりません。手動でやるだけで単純に疲れます。 じゃあAIに計算させてやらせちゃいましょう。

まずtimeline全体を読み取り、その中から運動量の激しい部分を見つけます。 人間の体の部位であればそれを起点として、どのようにキーを打つか計算します。 決まった後AIがMCPを通してキーを自動で打ってくれます。

  • マテリアルエディターでの画像操作

キャラクターを再現するうえで欠かせないのが衣装とアクセサリー。 都合よくそういうアクセサリーのmodがあればよいのですがそううまくはいきません。 そういったとき、マテリアルエディターを使って切り抜きやテクスチャの上書きといったものを使うのですが、ぶっちゃけ全然直感的じゃないです。

例としてメイドチョーカーのアクセサリーを見てみましょう。

キャラメイクのアクセサリー選択画面。首アクセサリーとしてメイドチョーカーを選んでいるところ

テクスチャに起こすとこんな感じになります。

メイド服テクスチャのDetailMaskのUV展開図。全面が緑一色で、どのパーツが衣装のどこに当たるのか判別しづらい

慣れてる人であれば何とも思いませんが、どこがどれに当たるのかぱっと見わかりません。 手探りでやろうにも手間がかかります。

じゃあこれもAIにやってもらいましょう。

claudeには画像生成機能がありませんが、pythonやnodejsを使って画像操作を行うことが可能です。 MCP経由でテクスチャを持ってきて、画像を認識してもらって大まかに方針を決めて画像操作を行います。

  • KKS→KKへのシーンデータダウンコンバート

※実験段階です。 サンシャインで作ったシーンデータは無印では対応しておらず、読み取りに失敗します。 シーンデータの構造は結構複雑で、直接操作をすると場合によってはそのシーン自体が破損します。

スタジオでの操作では破損しないので、AIに一から作らせましょう。

KKSを起動して該当シーンを読み取ります。 オブジェクト位置や親子関係、timelineなどを読み込み一時的に記憶します。 次にKKを起動して記憶したシーンをもとに疑似的にコンバートを行います。

所感

今のところまあまあ使えてます。 特にスタジオは単純作業が多く、その辺自動化できるとめっちゃ楽です。

一方で歯がゆい点もあります。 1つ目はClaudeの画像認識能力がそこまで高くないという点です。

キャラクリエイトもある程度代用できるのでは?と考え試行錯誤したのですが、ただのお嬢様分けをM字分けと判断したりと細部で惜しい場面がちょこちょこ見られました。 精度の向上を待つべきなのか、LLMOpsでも作るべきなのか...

2つ目は性的コンテンツの取り扱いです。 Claudeに限らず、他社のモデルでも性的コンテンツの取り扱いについて拒絶反応を起こします。 ぶっちゃけそれだけならまだよくて、GPTやGeminiは最悪垢BANされます。 今回の取り組みはあくまでも3Dモデリングツールとしての側面を強く出しているのである程度回避はできていますが、今後どうなるかはわかりません。 実際Fableに性的コンテンツと認識され、タスクの実行を拒否されたこともあります。

なんというか、AI関連はエロに関して寛容になってほしいなという気持ちです。 最近だと無検閲モデルのqwen 3.5とかも話題だし、ローカルLLMというのも考えるべきなのかも...

終わりに

現状KKMCPは配布していませんが、将来的には配布する予定です。 完全に実装が終わっていないのと、MCPとして機能を充実させすぎてしまっているので、それをそぎ落としてからとなります。 気長に待っていただけると幸いです。