クラウドLLMを使ったEU5解析

スポンサーリンク

クラウド上の生成AIを使った「Europa Universalis V」(EU5)解析を行う手順を記しておきます。※ローカルLLMを使った解析については別記事「ローカルLLMを使ったEU5解析」を参照のこと

下記内容は、多くが生成AIの回答結果をもとに構成されており、誤りを含む場合があります。またEU5は2026年1月時点の1.0.11を対象としています。特に生成AIやMCPは発展中の技術であり、時間経過により示している画面構成やスクリーンショット、解析内容などに大きな変化が出る可能性が高いため充分ご注意ください。

※またこの記事はEU5の攻略情報というよりも、「生成AIを使ったゲーム解析は現時点でどれくらいできるのか?、そのためのセットアップ作業は?」という内容を記したものとなっています。その解析素材としてテキストデータ主体で構成されているEU5を利用しているという建付けです。従来の”ファイルを直接読む”のと比べて”生成AIに任せるとどのように変化するのか?”を中心にまとめたいと思います。

 

  1. 概要
    1. 生成AIとMCP
      1. 補足資料:なぜ「Gemini」なのか? 主要AI比較(無料版)
  2. インストールと環境設定
    1. 手順1:Google AI StudioでAPIキーを取得
    2. 手順2:Claude Desktopをインストールする
    3. 手順3:Node.jsをインストールしとMCPを作成する
      1. MCP作成について
    4. 手順4:Claude Desktopの読み取り権限を設定する
      1. 参考)claude.exeを完全終了するためのバッチファイル
    5. 手順5:Claude DesktopのMCPの設定状況を確認する
      1. 参考)ローカルLLMでクラウドLLMエンジンを使う
  3. 試しに使ってみる
    1. 実例1)スペイン(SPA)国家変容条件を尋ねてみる
      1. まずは必要条件の解説
      2. さらに公式Wikiに載っていない条件などについて
      3. 参考)Sonnet4.5で得られた回答
      4. 参考)今回のMCP経由プロンプトの成果確認
    2. 実例2)陸上ユニットの戦力比較
      1. 🏆 総合効率ランキング TOP 10
        1. 1位: a_age_6_revolutions_infantry (革命時代 歩兵)
        2. 2位: a_age_6_revolutions_artillery (革命時代 砲兵)
        3. 3位: a_age_6_revolutions_cavalry (革命時代 騎兵)
        4. 4位: a_age_5_absolutism_infantry (絶対主義時代 歩兵)
        5. 5位: a_age_5_absolutism_artillery (絶対主義時代 砲兵)
        6. 6位: a_age_5_absolutism_cavalry (絶対主義時代 騎兵)
        7. 7位: a_age_4_reformation_artillery (宗教改革時代 砲兵)
        8. 8位: a_age_4_reformation_infantry (宗教改革時代 歩兵)
        9. 9位: a_age_4_reformation_cavalry (宗教改革時代 騎兵)
        10. 10位: a_age_3_discovery_cavalry (大航海時代 騎兵)
      2. 🎯 建造可能ユニット別 最強ランキング
        1. Age 6 (革命時代) – 最強ユニット
          1. 🥇 1位: a_cuirassiers (胸甲騎兵)
          2. 🥈 2位: a_fusiliers (フュージリア兵)
          3. 🥉 3位: a_flying_battery (飛行砲兵隊)
        2. Age 5 (絶対主義時代) – 最強ユニット
          1. 🥇 1位: a_gallop_cavalry (ギャロップ騎兵)
          2. 🥈 2位: a_musketeers (マスケット兵)
          3. 🥉 3位: a_royal_mortar (王室臼砲)
      3. ⚠️ 軽装ユニットの罠
        1. 軽装歩兵(Light Infantry)
        2. 軽装騎兵(Light Cavalry)
        3. 結論
スポンサーリンク

概要

生成AIとMCP

今さら言うまでもなく生成AIの発達は今や素晴らしいものがあります。

ただし一方で、学習した時点のデータに縛られて最新情報に疎かったり(2026年1月時点でも「EU5は未発売ですが~」などと平気で答える)、あるいはブログなどの公式情報ではない情報(過去バージョン情報も含む)をもとに回答するため、(質問時点では)誤情報になってしまっている回答も多いという欠点もあります。

これを「MCPアダプタ」を使うことで、ローカルファイルへのアクセスを行いながら生成AIの分析力を利用することで、最新ベースゲームファイルを元に確実な解析できるほか、同時に扱えるファイル量からもはや人間の解析力を遥かに超えた成果を得ることができるようになっています。つまり人力でファイルを片っ端から虱潰しに調べたり、あるいは職人技のようにその構成を解読したりといった作業が大きく軽減されるレベルにまで進化していると言えます。今回そのMCPの使い方を記事にまとめてみました。

※MCP(Model Context Protocol)とは、生成AIと外部のツールやデータベース(ファイル)などを接続するための標準プロトコルで、2024年11月にAnthropic社が発表した仕組みです。すでに様々なMCPサーバーが発表されており、設定することでGoogle Drive、GitHub、Slack、Windows 11などのデータ(ファイル)を利用できるようになっています。今回はローカルファイルアクセスのMCPを用います。

ここでは、多くがプレーンテキストで構成されている「Europa Universalis V」を対象として解析作業環境を整える手順を記しておきます。

私の個人的な好みにより下記の構成を取ります。お金をかけるつもりもないので基本的に無料プランで構成されています。

  • Google AI Studio(Gemini)でAPIキー取得
    ※ここでサイイン(グーグルアカウント経由が楽)が必要
  • Claude DesktopでそのAPIを登録してGeminiを利用する
    ※Gemini CLIでも良いがGUIの方が楽なので
  • ファイル参照先(ローカルのEU5インストールフォルダ)を登録する

 

補足資料:なぜ「Gemini」なのか? 主要AI比較(無料版)

無料で使用するという条件において、「URLを指定して読み込ませる」「ファイルを解析させる」といった作業において、Geminiは他のAIに比べて無料版の制限が圧倒的に緩いのが特徴です。

Gemini (Google)ChatGPT (OpenAI)Claude (Anthropic)
URLの読み込み◎ 得意
(制限が緩くスムーズ)
△ 制限あり
(高性能モデルの回数内のみ)
× 不可
(URLを直接読めない)
ファイル添付(D&D)◎ 制限なし
(1日中何度でも利用可)
▲ 厳しい
(1日2〜3回程度で制限)
〇 優秀
(精度は高いが回数制限あり)
Google連携◎ 非常に強力
(Gmail/Drive/YouTube等)
× ほぼなし
(手動アップロード中心)
× ほぼなし
(手動アップロード中心)

上表はブラウザ版(サイインイン状態・無料版)での比較ですが、この優位性が今回のようなMCP接続においても(扱えるトークンサイズ=ファイル量)存在します。2026年初時点において、Geminiはグーグルアカウントでログインすることさえ飲み込めば、特に今回のようなファイル解析をするというシチュエーションにおいては圧倒的な優位性を保持しています。これはGmailなど各種サービスで個人情報を抑えているがため提供できる優位性(基礎となる個人データを持っているから生成AI利用データが役立つ)だと捉えることもできますし、しょせん個人レベルでの生成AIの利用方法データなど再利用されたところで問題はないと思いますし、問題があると感じるのであれば発展途上段階の技術である生成AIを使わないほうが良いでしょう。

 

 

インストールと環境設定

今回は、GUIクライアントとしてClaude Desktopを、MCPは生成AIに頼って自作、肝心の解析作業にはAPIキー経由で(クラウドの)Geminiエンジンを利用します。

※「ブラウザ版Geminiを使うのと何が違うの?」と思うかも知れませんが、直にフォルダごとローカルファイルを解析対象にすることができます。これを(ローカルファイルさえアクセスできない)ブラウザ版生成AIでやろうと思えば、結局EU5のファイル構造と必要ファイルをすべて把握(特定)したうえでプロンプトを書く必要があり、さらに一度に投入できるファイルにも制限がありますので事実上不可能に近いのです。それをフォルダ単位で投入したうえでファイル構造やファイル同士の関係性認識までを任せることができるため、特に初期段階の解析作業においては人間をはるかに超える能力を発揮します。

 

手順1:Google AI StudioでAPIキーを取得

※すべてブラウザで完結。APIキーを取得する

  1. ブラウザでGoogle AI Studio(https://aistudio.google.com/)にアクセスする
  2. 左メニュー下の方にある「Get API key」をクリック
  3. 「APIキーを作成」をクリック
  4. 「+プロジェクトを作成」で新しいキーを作成
  5. 新しいキーがAPIキーの一覧に追加されるので、「キー」の欄をクリックしてAPIキーをコピーしておく。
    ※これはパスワード同様の重要なものなので公開場所には決して貼らないこと

手順2:Claude Desktopをインストールする

※クライアントアプリをダウンロードしてインストールする

  1. ブラウザで「Claude」(https://claude.com/ja-jp/download)にアクセスする
  2. 「Windows」をクリックしてWindows版(Claude Setup.exe )をダウンロード、インストールする
    ※まだ起動はしない

 

手順3:Node.jsをインストールしとMCPを作成する

  1. (インストールされていなければ)「Node.js」(https://nodejs.org/ja)をダウンロード、インストールする
  2. コマンドプロンプト(cmd.exe)を起動し、ローカルファイルアクセスのためのMCPを作成する

MCP作成について

※これはClaudeクライアントデフォルトでファイル解析作業などをさせると、あっというまにトークンを消費して使用上限に達してしまうため、それよりは許容上限の高いGeminiエンジンに投げることでそれを回避するやり方。ClaudeデフォルトのSonnetだと20万トークン → Geminiでは100万~200万トークン、ファイルサイズも150~300KB → 1.5~3.0MB以上へと広がります。これはファイル解析時には非常に大きなメリットとなります。
※保存場所はどこでも良いが、ここではClaudeクライアントでのみ使うため同じフォルダ内に設置することとする。
  1. Win+R「cmd」でコマンドプロンプト起動
  2. 「CD C:\Users\(ユーザー名)\AppData\Roaming\Claude\」に移動する
  3. フォルダ「mcp-servers」を作り、さらにその下にフォルダ「google-ai」を作り移動する
  4. 「npm install @modelcontextprotocol/sdk @google/generative-ai @modelcontextprotocol/server-filesystem」を実行する
    ※20MBほどのファイルをダウンロードする
  5. 続いてファイル操作用の標準ツール(npm)を、「npm install -g @modelcontextprotocol/server-filesystem」を実行してインストールする。
  6. テキストファイルを作成し、下記内容を記述して「index.js」として保存する
index.jsの内容を折りたたみます
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { ListToolsRequestSchema, CallToolRequestSchema } from "@modelcontextprotocol/sdk/types.js";
import { GoogleGenerativeAI } from "@google/generative-ai";
import fs from "fs/promises";

// APIキー取得
const genAI = new GoogleGenerativeAI(process.env.GOOGLE_AI_STUDIO_API_KEY);
// 【リストに基づいた修正】実在する最新モデル名を指定
const model = genAI.getGenerativeModel({ model: "models/gemini-3-flash-preview" });

const server = new Server(
  { name: "gemini-engine", version: "1.3.7" },
  { capabilities: { tools: {} } }
);

// ツール定義
server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [{
    name: "gemini_direct_analyze",
    description: "Geminiがファイルを読み込みます",
    inputSchema: {
      type: "object",
      properties: {
        file_path: { type: "string" },
        instruction: { type: "string" }
      },
      required: ["file_path", "instruction"]
    }
  }]
}));

// 実行処理
server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === "gemini_direct_analyze") {
    try {
      const { file_path, instruction } = request.params.arguments;
      const normalizedPath = file_path.replace(/\\/g, '/');
      const data = await fs.readFile(normalizedPath, 'utf-8');
      
      const result = await model.generateContent(`${instruction}\n\n内容:\n${data}`);
      const response = await result.response;
      
      return { content: [{ type: "text", text: response.text() }] };
    } catch (e) {
      return { 
        isError: true, 
        content: [{ type: "text", text: `Gemini API Error: ${e.message}` }] 
      };
    }
  }
  throw new Error("Tool not found");
});

async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
}

main().catch(console.error);

※生成AIのモデル名は「gemini-3-flash-preview」を使用していますが、Googleの最新状況により変わるため、エラーが出る場合は(もうすぐ出ると思われる)「gemini-3.0-flash」など安定版を試してください。

 

手順3が成功すると下記の状態になっている。index.js以外は勝手に作成される。

またコマンドプロンプトで「\Claude\mcp-servers\google-ai」フォルダで「npm list -g false」すると、下記のように表示される。

google-ai@ C:\Users\(ユーザー名)\AppData\Roaming\Claude\mcp-servers\google-ai
+-- @google/generative-ai@0.24.1
`-- @modelcontextprotocol/sdk@1.25.2

「npm list -g false」で何も出ない場合は、コマンド実行場所(フォルダ)が間違っているか、npm install が完了していません。また大元の Node.js があるか確認するには node -v を使います正常にインストールされていれば「v24.13.0」などとバージョンが返されるはず。

※MCP環境は2025年夏以降大きく変動しており、その関係で実行する時期によりエラーが起きる可能性があります。その場合には、生成AI(Geminiなど)にこの「index.js」の内容を貼り付けたうえで、「Claudeクライアント経由でGeminiエンジンに接続するMCPだが、どこを修正すれば動くか」と尋ねれば修正点のアドバイスがもらえるはずです。恐らくエンジンのバージョン指定部分が修正される
※またnpmが更新された際には「\Claude\mcp-servers\google-ai」フォルダで「npm update」を実行すると、「\Claude\mcp-servers\google-ai\node_modules」以下の内容が更新されます。※package.jsonのある場所でしか実行されない
※さらにNode.js自体が更新された場合にはNode.jsのインストーラーを上書きインストールすることで解決できます。

 

手順4:Claude Desktopの読み取り権限を設定する

※AIにすべてのファイルアクセスを与えるのは怖いため、一応制限しておく。ここではEU5インストールフォルダの読み取りと特定フォルダ(Europa Universalis V\mod)への書き込み許可を与え、最後に使用する生成AIエンジンを指定しておく。
※生成AIエンジンはデフォルトのAnthropic社の「Claude」モデルでファイル解析を行わせると速攻で上限に達してしまうため。Geminiエンジンを使う
  1. エクスプローラーで「%APPDATA%\Claude」を開く
  2. 「claude_desktop_config.json」がなければ作成し、下記の内容を書き込む
{
{
  "mcpServers": {
    "eu5-base": {
      "command": "node",
      "args": [
        "C:\\Users\\(ユーザー名)\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js",
        "(EU5インストールフォルダ)SteamLibrary\\steamapps\\common\\Europa Universalis V\\game"
      ]
    },
    "eu5-mod": {
      "command": "node",
      "args": [
        "C:\\Users\\(ユーザー名)\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js",
        "C:\\Users\\(ユーザー名)\\Documents\\Paradox Interactive\\Europa Universalis V\\mod"
      ]
    },
    "gemini-engine": {
      "command": "node",
      "args": [
        "C:\\Users\\(ユーザー名)\\AppData\\Roaming\\Claude\\mcp-servers\\google-ai\\index.js"
      ],
      "env": {
        "GOOGLE_AI_STUDIO_API_KEY": "(手順1で取得したAPIキー文字列)"
      }
    }
  }
}

※「Europa Universalis V\mod」はファイル書き出し用のフォルダ。どこでもよいがファイル破壊を防ぐため読み取りフォルダとは分けておく
※Macなどではファイルパスの記述方法が異なるため注意

これでClaude Desktopを起動するとMCP設定がされるはず。

※Claude起動時(チャット入力前)に何かエラーが出る場合は下記を確認

  1. コマンドプロンプトで「node -v」してNode.jsのインストール確認
  2. 「claude_desktop_config.json」を修正する際は、Claudeを完全終了させる必要がある。
    1. まずアプリの右肩×で終了
    2. タスクマネージャーを起動して「詳細」タブに移動し、「名前」でソート
    3. claude.exeを探して右クリックから「プロセスツリーの終了」ですべて終了させる

参考)claude.exeを完全終了するためのバッチファイル

ちなみにタスクとして残ってしまうclaude.exeを完全終了するためのバッチファイルも、生成AIで作成してくれます。以下を適当な場所にバッチファイル(例えばkill_claude.batなど)として保存しておくと、1クリックで完全終了してくれるようになります。

@echo off
taskkill /F /IM Claude.exe /T
echo Claude has been terminated.
pause

 

手順5:Claude DesktopのMCPの設定状況を確認する

エラーなく起動されれば、MCPの設定状況を確認する。下記画面の通り、「コネクタ」から追加した2つのMCP設定とGeminiエンジンがあることを確認する

あるいは「設定」メニューからでも確認が可能です。

  1. 左上のハンバーガーメニュー(≡)から「ファイル」-「設定」を開く
  2. メニュー一番下の「開発者」を選ぶ
  3. そこに「eu5-souece」および「eu5-mod」の2つおよび「gemini-engine」があることを確認する。「eu5-souece」には読み取り制限(READ_ONLY=true)がされていることを確認する

 

Claudeのチャットに戻り、「現在、あなたがアクセスを許可されているフォルダの一覧(Allowed Directories)を教えて」と尋ねると、「現在アクセスが許可されているフォルダは以下の2つです:」と表示されるはず。※エラーが出ていたり、MCPが出ない場合には手順4に戻ってエラー解決をしましょう。このときにも、エラー内容などを生成AIに貼り付けると適切な解決手順を教えてくれます。

これで準備は完了です。

 

参考)ローカルLLMでクラウドLLMエンジンを使う

別記事「ローカルLLMを使ったEU5解析」で書いているように、ローカルLLMを使うことで(完全に独り占めの生成AI環境が構築できる他)回数制限を取っ払うことができます。

しかもそのローカルLLMクライアントでクラウド生成AIのAPIキーを打ち込むことで、クライアント側の制限を解除したままクラウド生成AIの能力を使うという組み合わせも可能です。※ただしもちろん秘匿性の高いローカルLLM(生成AI)環境ではなくなる。クラウドLLMで回数制限などが気になる場合には検討してみることをお勧めします。

 

 

 

試しに使ってみる

実例1)スペイン(SPA)国家変容条件を尋ねてみる

例えば公式Wiki(Formable country – Europa Universalis 5 Wiki)で「スペイン(SPA)」の変容条件を調べると、下記のようなあっさりとした内容しか書かれていません。

しかしこれだと細かな条件の理解が(前作EU4をやり込んだ方でないと)少々難しいですね。

ではこれをClaude(経由でGemini)に尋ねてみましょう。下記はプロンプト(生成AIへの命令文)と呼ばれるものです。

gemini_direct_analyze を使用して、00_formable_countries.txt の「SPA」セクションを解析し、以下の**【厳密なフォーマット】**で回答してください。

1. ✅ 必須条件 (Essential Requirements) 「文化」「宗教」「領土(数値重視)」「政治状況」の4項目に分けて、コードから読み取れる絶対条件を箇条書きにしてください。

2. ❌ 不要な条件 (Non-Requirements) プレイヤーが「必要だと思い込みがちだが、コード上は指定されていないもの」を挙げてください(特定のプロヴィンス、安定度、政府形態など)。

3. 🔍 Wikiに載っていない重要な技術的ポイント コード内の custom_trigger(例: SPA_f_not_christian)や、allow セクションに隠された「代わりの達成手段(従属国化など)」、および「宗派や文化グループの許容範囲」をプロのゲームアナリストの視点で解説してください。

※指示: 表形式やチェックボックスを使い、一目で「何が必要で何が不要か」がわかるように整理すること。

  • ※この質問自体は、ブラウザ版Geminiに質問した結果です。今回Geminiには、「https://eu5.paradoxwikis.com/Formable_countryを見ても、条件の記述が少ない。例えばスペインなら、ロケーション数などの条件もあるはずだが書かれていない。こういう条件をすべて書き出すのはどうすればよいか?」と尋ねました。その回答で上記プロンプトが示されます(それ以前に同セッションでClaudeクライアントでローカルファイルを調査する質問をしているためこれだけの質問でプロンプトが出ている)。
  • gemini_direct_analyze」はGeminiエンジンへの丸投げ指定、「00_formable_countries.txt」は国家変容の条件が記されているベースゲームファイルの指定。特定することでSonnetエンジンでの解析作業を減らしている。
  • もっと簡単な文で尋ねても良いですが、今回はゲーム仕様を聞きたいので厳密なプロンプトの方が正解にたどり着きやすいでしょう。要するに生成AIへの調査命令文をブラウザ版Geminiに尋ね、それをClaudeクライアンに打ち込んでローカルファイルを調べてもらうという二段構えの手順です。二段構えにしているのはできるだけAPIキーの消費回数を節約するためで、簡単な質問や試行錯誤が必要なものはブラウザ版で尋ねています。
  • ※ファイルアクセス確認が出ますので、問題なければEnter、何度も出るようならCtrl+Enterで一括許可しましょう。

ソースコードからの抜粋

折りたたみます
SPA_f = {

	level = 3
	required_locations_fraction = 0.75
	rule = historical
	
	potential = {
		culture = { has_culture_group = culture_group:iberian_group }
		religion.group = religion_group:christian
	}

	allow = {
		custom_tooltip = {
			text = SPA_f_not_christian

			region:iberia_region = {
				NOT = {
					any_location_in_region = {
						owner ?= {
							religion.group != religion_group:christian
							NOT = { any_overlord_or_above = { this = root } }
						}
					}
				}
			}		
		}
	}
	
	name = SPA
	flag = SPA
	adjective = SPA_ADJ
	tag = SPA
	color = map_SPA

	regions = {
		iberia_region
	}
	form_effect = {
	}
}

ここまでならEU4の熟練プレイヤーなら生成AIを頼らずとも探し出せるかも知れません。

しかし内容はまさにゲームエンジンが解釈するための命令文であって、とても人間が読み下せるものではありません。potentialはまだなんとか理解できますが、その下のallowになるとどういうことなのかちんぷんかんぷんになってきます。※繰り返しますがEU4熟練プレイヤーを除く

しかし生成AIを使うと、このソースコードから読み取れる内容を噛み砕いてくれます。

まずは必要条件の解説

折りたたみます

📊 必要条件の詳細

1. 文化条件(Potential)

  • イベリア文化グループiberian_group)が必須
    • カスティーリャ、アラゴン、ポルトガルなど

2. 宗教条件(Potential & Allow)

  • 国教がキリスト教グループである必要がある
  • 重要:レコンキスタ完了が必須
    • イベリア地域内に非キリスト教の独立国が存在してはいけない
    • ただし、従属国であればOK

3. 領土条件

  • 対象地域: iberia_region(イベリア・リージョン全域)
  • 必要占有率: 75%required_locations_fraction = 0.75

4. 国家レベル

  • level = 3(王国級の形成国家)

さらに公式Wikiに載っていない条件などについて

折りたたみます

⚠️ Wikiに載っていない可能性がある重要な詳細

  1. レコンキスタ完了が絶対条件
    • 75%の領土を持っていても、グラナダなどのイスラム勢力が1箇所でも独立して残っていると形成不可
    • この条件は一見すると単なる領土条件に見えるが、実際には宗教的統一を要求している
  2. 従属国の扱い
    • 非キリスト教国でも自国の従属国であれば形成を妨げない
    • NOT = { any_overlord_or_above = { this = root } }により、無理に併合しなくてもよい
  3. アンダルス(ADU)との対比
    • 同じイベリア地域に、イスラム版の形成国家ADU_f(アンダルス)が存在
    • こちらは逆に「キリスト教徒の独立勢力の一掃」が条件
  4. 形成後の効果が空
    • form_effect = { }が空なので、特殊な補正やイベントは無し
    • 基本的には国名・国旗・色の変更のみ

参考)Sonnet4.5で得られた回答

Geminiに投げるより前にSoneetエンジンで得られた回答では下記のような物もありました。生成AIの興味深い偏りですので、参考までに一応引用しておきます。

折りたたみます

✅ 必須条件

  1. 文化要件
    • イベリア文化グループに属すること
  2. 宗教要件
    • キリスト教であること
  3. 領土要件
    • イベリア地域の75%以上のロケーションを支配
  4. レコンキスタ要件
    • イベリア地域内に独立した非キリスト教国家が存在しないこと
    • または、非キリスト教国家をすべて従属国化していること

❌ 不要な条件

  • 特定の首都ロケーションの所有 (マドリード、セビリアなど) – 不要
  • 特定の戦争状態 – 不要
  • 特定の政府改革 – 不要
  • 安定度やプレステージ – 不要

Wikiに記載されていない重要なポイント

  1. 従属国化による代替ルート
    • 非キリスト教国家を征服する代わりに従属国化することでも条件を満たせる
    • 例: グラナダを属国にすれば、グラナダが存在してもスペイン形成可能
  2. 75%という具体的な数値
    • イベリア地域の**正確に75%**のロケーション支配が必要
    • 全土征服は不要
  3. 文化グループの柔軟性
    • イベリア文化グループ内であればどの文化でもOK
    • カスティーリャ、アラゴン、ポルトガル、バスクなど全て可能
  4. 宗教の柔軟性
    • キリスト教グループ内であればどの宗派でもOK
    • カトリック、正教、プロテスタントすべて可能
  5. レコンキスタの完遂が事実上必須
    • SPA_f_not_christian というカスタムトリガーが示すとおり、イベリアからイスラム勢力を排除することが歴史的テーマとして組み込まれている

必要条件だけでなく、不要な条件や目的(開発の意図)まできちんと記述してくれていますね。このあたりは、Geminiに言わせれば生成AIの”癖”(偏り)だということです。

 

参考)今回のMCP経由プロンプトの成果確認

普通にブラウザなどで生成AIを使うのと何が違うのかと言うと、ブラウザ経由の場合には一般的なサイト情報(Wikiや公式フォーラムなどを含む)を元に分析結果を述べるため、必ずしも正解ではない回答を返す可能性が非常に高いため、いちいち(本当にEU5の情報なのか?最新情報なのか?公式情報なのか?などの)検証が必要になります。

しかしこのClaudeクライアント経由でローカルファイルを元に調査させた結果は、実際のEU5のベースゲームのファイルを確認して解析を行わせることができますので、非常に正確かつ現時点の実ファイルを解析するため常に最新版の情報で確認できます。

今回の構成だと、Sonetエンジン(Claudeクライアント)をプロンプトを処理する司令塔/ワークスペースとして用い、ファイルスキャナーと解析をGemini MCPで行うという役割分担をしていることになります。これによって、GUIクライアント環境でありながらGeminiエンジンを使ってファイル解析を行うという贅沢な環境が手に入ります。※仮にCLI環境で良ければGemini CLI環境を使えばセットアップがかなり楽になる。

これだけの情報をWiki記載情報から読み解くのはなかなか大変です。しかし先程のプロンプト(生成AIへの命令)を打ち込むだけで、(他の国家でも同様に)いつでも解説してくれるのです。

 

実例2)陸上ユニットの戦力比較

EU5では軍事ユニットに正面幅という概念が追加され、戦闘をより複雑なものにしています。しかし「じゃあどのユニットが良いの?」という単純な問いには結論が出しづらくなっています。

そこでこういう解析こそ生成AIの得意ジャンルでしょうから解析してもらいましょう。例によってGeminiにある程度情報を渡したうえで角度の高い回答を引き出すプロンプトを出力してもらいます。

eu5-base 内の common/unit_types フォルダにある全ファイルを読み込み、陸上ユニットの『正面幅(combat_width)』と『攻撃・防御ステータス』を網羅的に抽出してください。その上で、各ユニットの『正面幅1あたりの総合火力』を計算し、どのユニットが最も効率的な『最適解』であるか、ランキング形式で結論を出してください。

このcommon/unit_typesフォルダには29ファイル存在し、恐らく全陸上ユニットの情報が詰まっていると思われます。これを逐一開いて確認していたのでは日が暮れてしまいますのでさっそく生成AIに調べてもらいましょう。

その結果が以下です。

※時代別の分析などを頼んでいなかったため、どうも回答がぼんやりしていますし、そもそも兵種(騎兵や砲兵)も考慮していないちょっと甘い解析になっていますが、これは私のプロンプトの質が悪いせいです。参考のために結果を貼っておきます。
折りたたみます

総合効率 = (combat_power × max_strength) × (1 + strength_damage_done) × (1 – strength_damage_taken)

🏆 総合効率ランキング TOP 10

1位: a_age_6_revolutions_infantry (革命時代 歩兵)
  • 総合効率: 9.600
  • max_strength: 3.20
  • combat_power: 3.00
  • 特徴: 最終時代の標準歩兵。圧倒的な戦力値
2位: a_age_6_revolutions_artillery (革命時代 砲兵)
  • 総合効率: 9.600
  • max_strength: 1.20
  • combat_power: 8.00
  • 特徴: 最高の砲撃力。攻城戦でも活躍
3位: a_age_6_revolutions_cavalry (革命時代 騎兵)
  • 総合効率: 4.800
  • max_strength: 1.20
  • combat_power: 4.00
  • 特徴: 機動力と突破力を併せ持つ
4位: a_age_5_absolutism_infantry (絶対主義時代 歩兵)
  • 総合効率: 3.600
  • max_strength: 1.60
  • combat_power: 2.25
  • 特徴: Age 5の主力戦力
5位: a_age_5_absolutism_artillery (絶対主義時代 砲兵)
  • 総合効率: 3.600
  • max_strength: 0.60
  • combat_power: 6.00
  • 特徴: 強力な火力支援
6位: a_age_5_absolutism_cavalry (絶対主義時代 騎兵)
  • 総合効率: 2.400
  • max_strength: 0.60
  • combat_power: 4.00
7位: a_age_4_reformation_artillery (宗教改革時代 砲兵)
  • 総合効率: 1.500
  • max_strength: 0.30
  • combat_power: 5.00
8位: a_age_4_reformation_infantry (宗教改革時代 歩兵)
  • 総合効率: 1.200
  • max_strength: 0.80
  • combat_power: 1.50
9位: a_age_4_reformation_cavalry (宗教改革時代 騎兵)
  • 総合効率: 1.200
  • max_strength: 0.30
  • combat_power: 4.00
10位: a_age_3_discovery_cavalry (大航海時代 騎兵)
  • 総合効率: 0.800
  • max_strength: 0.20
  • combat_power: 4.00

 

🎯 建造可能ユニット別 最強ランキング

Age 6 (革命時代) – 最強ユニット
🥇 1位: a_cuirassiers (胸甲騎兵)
  • ベース: a_age_6_revolutions_cavalry
  • 実効効率: 4.800
  • 修正値: なし(デバフなし)
  • 評価: 全ユニット中最強の重騎兵。正面戦闘で無敵
🥈 2位: a_fusiliers (フュージリア兵)
  • ベース: a_age_6_revolutions_infantry
  • 実効効率: 9.600
  • 修正値: なし
  • 評価: 最高の歩兵ユニット。戦列の要
🥉 3位: a_flying_battery (飛行砲兵隊)
  • ベース: a_age_6_revolutions_artillery
  • 実効効率: 9.600
  • 評価: 最強の砲兵。攻城・野戦両用

 

Age 5 (絶対主義時代) – 最強ユニット
🥇 1位: a_gallop_cavalry (ギャロップ騎兵)
  • ベース: a_age_5_absolutism_cavalry
  • 実効効率: 2.400
  • 評価: Age 5の最強重騎兵
🥈 2位: a_musketeers (マスケット兵)
  • ベース: a_age_5_absolutism_infantry
  • 実効効率: 3.600
  • 評価: 標準戦列歩兵。安定した戦力
🥉 3位: a_royal_mortar (王室臼砲)
  • ベース: a_age_5_absolutism_artillery
  • 実効効率: 3.600

 

また参考として下記も出ていました。

⚠️ 軽装ユニットの罠

以下のユニットはlight = yes属性により、攻撃力-10% のデバフを受けます:

軽装歩兵(Light Infantry)
  • a_sharpshooters (狙撃兵)
  • a_hunters (猟兵)
  • a_arquebusiers (火縄銃兵)
  • a_early_arquebusiers (初期火縄銃兵)

修正値:

  • strength_damage_done = -0.1 (攻撃-10%)
  • morale_damage_taken = +0.20 (士気ダメージ+20%)
軽装騎兵(Light Cavalry)
  • a_light_dragoons (軽竜騎兵)
  • a_hussars (フッサー)
  • a_pistoleers (ピストル騎兵)

修正値: 同上

結論

軽装ユニットは機動力・イニシアチブに優れるが、正面戦闘では非軽装ユニットに劣る

生成AIの使い所は、こうしたざっくりした解析を行った後に、そこで気付いた点を指摘して解析をさらに深化させていけるところではないかと思います。仮説を立てその仮説を検証したり、あるいは別の視点で深堀りしてみたり。そうした細かな分析作業を文句一つ言わず黙々とこなしてくれます。これは素晴らしいことだと思います。

 

 

 

コメント

タイトルとURLをコピーしました