JAIST Repository
https://dspace.jaist.ac.jp/

Title

多様でかつ格差の小さいターン制RPGキャラクタ群のパラメータ調整法

Author(s)今井, 淳; 池田, 心Citation

情報処理学会第47回GI研究発表会, 2022‑3

Issue Date

2022‑03‑18

Type

Conference Paper

Text version

publisher

URL

http://hdl.handle.net/10119/18223

Rights社団法人 情報処理学会, 今井 淳, 池田 心, 情報処理学会第47回GI研究発表会, 2022‑3, 2022. ここに掲載した著作物の利用に関する注意 本著作物の著作権は情報処理学会に帰属します。本著作物
は著作権者である情報処理学会の許可のもとに掲載するものです。ご利用に当たっては「著作権法」ならびに「情報処理学会倫理綱領」に従うことをお願いいたします。Notice for the use ofthis material: The copyright of this material
is retained by the Information Processing
Society of Japan (IPSJ). This material ispublished on this web site with the agreementof the author (s) and the IPSJ. Please becomplied with Copyright Law of Japan and theCode of Ethics of the IPSJ if any users wish
to reproduce, make derivative work,
distribute or make available to the public
any part or whole thereof. All Rights
Reserved, Copyright (C) Information
Processing Society of Japan.

Description

情報処理学会第47回GI研究発表会, 2022‑3, オン
ライン開催

Japan Advanced Institute of Science and Technology

Vol.2022-GI-47 No.3
2022/3/18

情報処理学会研究報告
IPSJ SIG Technical Report

多様でかつ格差の小さい
ターン制 RPG キャラクタ群のパラメータ調整法
今井 淳1,a)池田 心1,b)

概要：近年の複雑かつ大型なゲームにおいては，ゲームバランス調整の困難さが課題となっている．ゲー
ムバランスはプレイヤの満足度に深く関わっているため，人間のデザイナの代わりに AI の活用によって自動調整を行うことが求められていると考える．我々は，ターン制ロールプレイングゲーム（RPG）を対象として，多様でかつバランスが取れており，キャラクタの組み合わせ（パーティ）を考えることが楽しくなるようなキャラクタ群パラメータの自動生成を試みた．パラメータの生成手法として，進化的アルゴリズムによる最適化を用いた．その評価には AI によるシミュレーションを用いて，多様さや強さに関する 4 つの評価関数を組み合わせた．本手法により生成したパラメータを評価した結果，様々な個性を持ったうえで平均勝率が同程度であり，かつ比較的高い勝率となる組み合わせが数割程度あって，そして強すぎるパーティがほぼ存在しないようなキャラクタ群が生成されることを確認した．
キーワード：ロールプレイングゲーム，コンテンツ生成，ゲームバランス，進化的アルゴリズム

1. はじめにる [3]．既存ゲームの QA に AI を用いる研究は盛んに行われているが，古典的かつ有名なターン制ロールプレイング

近年，人工知能技術の進歩によりゲームにおける AI プレ

ゲーム（ターン制 RPG）に対しては，ゲームバランスのイヤの性能の向上は著しく，人間よりも強い AI プレイヤ

調整と多様なコンテンツの生成を同時に達成するような研の生成に関して一定の成果が挙げられている．そのような究は，我々の知る限りでは行われていない．これらを踏ま人間の対戦相手や仲間としての AI の活用の一方で，ゲーえ，本研究では QA の中でも RPG を対象として “キャラムの開発現場での省力化に AI を用いる研究もまた取り組クタの能力を示すパラメータ”に注目し，ゲームバランス

まれている．

を自動調整することを試みる．

複雑かつ大型なゲームにおいては，不具合修正やゲーム

多くのターン制 RPG は，1 人または複数のプレイヤで遊

バランス調整といった品質保証（Quality Assurance, QA）

ばれるゲームであり，戦闘と探索を繰り返すことで「魔王の困難さが課題となっている．さらに，近年ではゲームのを倒す」といった大目的の達成を目指す．RPG では戦闘の発売後に更新を随時行い，新規キャラクタなどのコンテン場面において，プレイヤは攻撃力・防御力・素早さなどのツを追加する形式が主流であり，QA の自動化はコストのステータスを持つキャラクタ群から数体選択してパーティ削減や多様なコンテンツの提供といった観点において急務を編成することも多く，各キャラクタを操作して攻撃・防である [1][2]．特に，それら品質のうちゲームバランスは御・スキルといった行動を駆使しながら敵パーティと戦闘

プレイヤの満足度に深く関わっているため，人間のゲーム

する．

デザイナの代わりに AI の活用によって自動調整を行うことが求められる．

ゲーム開発においては，これらのステータス・行動へ
キャラクタごとに異なるパラメータを設定して個性を表現

ゲームバランスの自動調整に関する研究はいくつか行

することで，多様なキャラクタを選択可能とする．そうす

われており，ゲーム開発現場への導入事例も存在していることで，「攻撃力の高いこのキャラクタとそれを高める能力を持つこのキャラクタを組み合わせてみよう」
・
「この

1

a)
b)

北陸先端科学技術大学院大学
Japan Advanced Institute of Science and Technology, Nomi,
Ishikawa 923-1211, Japanjun imai@jaist.ac.jp
kokolo@jaist.ac.jp

c 2022 Information Processing Society of Japan⃝

キャラクタは防御力が低いから回復が得意なキャラクタを組み合わせよう」というような様々な戦略性をゲームへもたらし，面白さに繋げることができる．しかしながらキャ

1

Vol.2022-GI-47 No.3
2022/3/18

情報処理学会研究報告
IPSJ SIG Technical Report

ラクタ間の強さに偏りがある場合，特定のキャラクタのみ

くみかの循環関係（メタゲーム）をより改善するために，用いられる事態が生じる．その結果，「パーティ選択や戦

バランス変更の対象となるカードを見つけるような仕組み

略選択の自由度が減る」などといった面白さの低下につなを提案している [11]．

がり，プレイヤは不満を覚えることが考えられる．そのため，ゲームバランスを調整するうえでは個性を持ち多様で

3. アプローチ

ありつつも，強さについて格差が小さいようなパラメータ

RPG の戦闘シーンにおいて，パーティ内の各キャラクの作成・設定が必要であることが多いと考え，その方法論

タはそれぞれ得意な行動をとり，敵に大打撃を与えたり回を提案することを本研究の目的とする．

復を付与するなどして，補完的な関係を取りながら戦闘を

通常，ゲーム開発現場においてゲームバランスの調整は進行させる．これらの行動の能力を示すパラメータを様々

テストプレイのデータに基づいて行うが，それには膨大なに設定することで，キャラクタ群へ多様な性質を与えるこ量が必要であるうえ，上級者など一部プレイヤのデータしとが出来る．そのため，キャラクタ群のパラメータはゲーか反映されないといった問題がある．そのため本研究ではムバランスの調整や，多様なコンテンツの生成の対象とな『キャラクタのパラメータを生成および調整する機構』とるといえる．そこで，次節以降では，戦闘シーケンスの基『AI プレイヤによるシミュレーション』から成るシステム

本的な流れと，その中でのキャラクタのパラメータと役割を構築し，キャラクタ群パラメータの自動生成を目指す．

についての考察を行い，アプローチについて検討する．

2. 関連研究2.1 多様なゲームコンテンツの生成

3.1 RPG の戦闘におけるキャラクタについての考察
RPG では，各キャラクタが「攻撃力」
・
「防御力」
・
「素早

任意のアルゴリズムを用いてダンジョンやキャラクタとさ」・「回復力」といったパラメータを持ち，「敵を攻撃すいったようなゲームコンテンツの自動生成を試みることる」
・「味方を回復する」などの行動をとる．これらのパラ

を Procedural Content Generation（PCG）と呼ぶ．PCG

メータがキャラクタごとに異なることで，パーティ内に役

では，コンテンツに応じて生成手法や用いられる AI 技術

割分担や相性が発生し，その編成を楽しむことができる．

もまた様々に存在するが，これらについて頻繁に使われキャラクタのパラメータと，そのパラメータに最もふさるものに Search-based PCG[4][5] というグループがある．

わしいような行動に注目した際，おおむね次のような 5 種

Search-based PCG では，コンテンツの生成過程において，類の役割に分類することができる．

評価関数による選別と，何らかの手法に基づき評価を更新

アタッカー（Attacker）

するようなコンテンツを生成することで，より良いものへ攻撃の中心となる役割．主に攻撃力が高いキャラクタの入れ替えを繰り返し行う．その評価には AI プレイヤにがこの役割を担う．どのキャラクタも攻撃は可能であよるゲームのシミュレーションの結果を用いることが多い．

るが，短い間に高ダメージを稼ぎたい戦闘シチュエー

Search-based PCG の枠組みの中で，品質が高く，かションにおいて有効的である．また，攻撃に関するス

つ多様であるようなコンテンツを生成する研究はいく

キルによってこの役割を担う場合，スキルアタッカー

つか行われている．Gravina らは PCG の新たなコンセ（Skill Attacker）と呼称されることもある．

プトとして PCG Quality-Diversity を提示しており [1]，ディフェンダー（Defender）

この中で Multi-dimensional Archive of Phenotypic Elites

パーティの防御の中心となる役割．行動またはスキル（MAP-Elites）[6] や Covariance Matrix Adaptation Evo-

によって味方キャラクタを相手の攻撃から守る．体力

lution Strategy（CMA-ES）[7] といったアルゴリズムによや防御力が高いキャラクタがこの役割を担う．

る品質多様性を維持したゲームコンテンツ生成の研究をいバッファー（Buﬀer）

くつか挙げている．例えば，Alvarez らは Map-Elites を用

任意の対象を一時的に強化する「バフ」，その反対にいて，多様なインタラクティブデザインが可能であるよう弱体化させる「デバフ」といったスキルを駆使し，味なローグライクゲームのダンジョン生成を行っている [8]．

方をサポートする役割．例えばアタッカーに攻撃力バフをかけて大ダメージを狙う，といった戦略が可能．

2.2 ゲームバランスの調整

ヒーラー（Healer）

ゲームバランスの調整に関してはいくつかのアプローチ「回復」のスキルにより味方をサポートする役割．パーが存在する．眞鍋らは，『グリムノーツ』[9] を対象ゲーム

ティ全体の行動を安定的に持続させるためには重要なとして，不具合やゲームバランスが崩壊している部分を検役割である．

知するために，遺伝的アルゴリズムによって QA 作業の効率化を図っている [2]．また，de Mesentier Silva らは，

クラウドコントローラー（Crowd Controller）「眠り」
・「麻痺」といった状態異常のスキルを駆使し，『Hearthstone』[10] を対象ゲームとして，デッキ間の何すc 2022 Information Processing Society of Japan⃝2

Vol.2022-GI-47 No.3
2022/3/18

情報処理学会研究報告
IPSJ SIG Technical Report

相手を無力化することで味方をサポートする役割．
以上のような役割が機能することで戦闘は戦略性を帯びつつ進行する．なお，1 キャラクタにつき上記の役割のうち 1 つを担うというわけでもなく，複数を担うことが多い．
例えば自身に攻撃力バフをかけられるアタッカー，回復も(1) 集団の初期化

(4)

個体

個体

あるキャラクタの

個体

パラメータ

・
・
・

HP

評価関数

評価値

ATK DEF・・・(3)

状態異常も行うキャラクタ，などといったようにである．
キャラクタが持ちうる役割が多様であるほど，プレイヤが考えられるパーティの組み合わせもまた多様さを帯び，

最適化

(3)

全戦闘結果

AIプレイヤによるシミュレーション

キャラクタ群(2)

ゲームに面白さを与える．従って，このような役割を持ちキャラクタ群のパラメータ

うるキャラクタが生成されるべきである．

vs

図 1: キャラクタ群パラメータ生成・調整システムの概観

3.2 キャラクタ群パラメータ生成手法・パラメータ評価
手法についての検討

ラメータの生成および評価を行うこととした．そして，上

前節では，RPG の各キャラクタがもつ役割が多様であ記の項目を満たすような評価関数を設計し，これを生成しるべきであると述べた．本節では，キャラクタ “群”が持つたコンテンツの評価へ用いることにした．次節では，本研べき性質について考察する．

究における生成手法の概観について説明し，具体的な評価

望ましいキャラクタ群とは，プレイヤに楽しみを与え，関数については 5.3 節において詳述する．

ひいてはゲーム制作者に利益を与えるようなものであると考える．楽しみには様々なものがありえ，例えばキャラク

3.3 本研究における生成手法の概観

タの外見や設定，仕草などが重視されるゲームもある．本

本研究における Search-based PCG に依ったキャラクタ

研究では，いわゆる思考ゲームとしての側面のみを対象に，群パラメータ生成・調整システムの概観を図 1 に示す．図「複数のキャラクタ群から数体キャラクタを選択し，パー中の要素番号を用いて，本システムは以下のようなフロー

ティを編成して特定の敵パーティと戦闘する」状況に限定を持つ．

して検討を行う．このとき，考慮すべき項目は以下の通り(1) 任意の調整範囲内でキャラクタ群のパラメータをランとなる．

ダムに生成する(i) パラメータの格差によって，あるキャラクタが強すぎ(2) 生成したパラメータをキャラクタ群へ入力し，これら

る，あるいは弱すぎるという状況が生じることは望まキャラクタ群を用いて AI プレイヤによる RPG の戦

しくない．これらのような状況により，「ある特定の闘シミュレーションを一定回数行う

キャラクタのみをパーティに編成する」といった事態(3) プレイ結果を評価関数に代入する．なお，直接パラが発生し，パーティの組み合わせを考慮する自由度や，メータから導出される指標についてもここで評価関数採りうる戦略の幅が減少する可能性がある．

に代入する(ii) どのキャラクタも似たようなパラメータだとつまらな(4) 評価関数から出力される評価値に基づき最適化を行い．例えば 3.1 節で述べた役割が 1〜2 種類程度しかい，次世代のキャラクタ群パラメータを生成する

ないと，取りうるパーティの組み合わせが少なく面白(5) この (1)〜(5) が一定回数行われていれば終了する．そさを感じられない．

うでない場合は (2) へ戻る(iii) 各キャラクタが同程度の強さで，異なるパラメータを

なお，図中のシミュレーションのベースとなる RPG プ

持っていたとしても，どのキャラクタを組み合わせてラットフォームについては，続く 4 節で説明し，最適化手も同じくらいにそこそこ勝てる，という状況は面白く

法は 5.1 節，AI プレイヤは 5.2 節，そして評価関数は 5.3

ない．パーティ内の役割の組み合わせを考慮すること

節において詳細な実装内容を述べる．

で勝利しやすくなるといったような，優位に立てる状況がある程度存在することが望ましい．

4. RPG プラットフォームの提案

本研究においては，以上のような項目を満たすことが出

既存のターン制 RPG では，多種多様なシナリオやゲー

来る生成手法，および評価手法を用いるべきである．特ムモード，自由に行動できる広大なマップなどが盛り込まに，(i) と (iii) のようにトレードオフの関係にある項目がれている．しかし，本研究では分析を容易に行うために，存在することを考えると，それらについて定式化し，重み

これらについて取り扱わず，ターン制 RPG から戦闘シーづけを行うといった操作が可能であるような手法が望ましケンスのみを抽出したゲーム環境を構築し，これを研究用

い．本研究では，実装の容易さなども含めて考慮したうえのプラットフォームとする．

で，Search-based PCG の枠組みに依ったキャラクタ群パc 2022 Information Processing Society of Japan
⃝

3.2 節では，キャラクタ群の望ましい特徴について考察3

Vol.2022-GI-47 No.3
2022/3/18

情報処理学会研究報告
IPSJ SIG Technical Report

した．これらの特徴を満たすため，コンセプトとしては，

攻撃倍率: 攻撃スキルの能力値．攻撃力に乗算できる補正

キャラクタのパラメータや行動に関して，プレイヤやゲー
ムデザイナが様々に悩み工夫する余地があるようなゲーム

値を示す．
回復率: 回復スキルの能力値．最大体力のうち，何割回復システムを有し，かつその他の部分で複雑すぎないようなプラットフォームを構築することとした．

させられるかを示す．
バフ倍率: バフスキルの能力値．攻撃力に乗算できる補正値を示す．

以下に，本研究で用いたゲーム環境における諸要素およびシステムを列記する．

バフ期間: バフスキルの能力値．バフの持続するターン数

戦闘と勝利条件を示す．

本プラットフォームでは，冒険者である味方パーティ

消費 SP: 各スキルの使用時に必要となる SP．

が，複数のモンスターで構成される敵パーティと 1 対行動

1 で戦い，全てのモンスターを倒すことが勝利である

本プラットフォームでは，既定の職業はなく，どのと定義した．また，個々の戦闘は独立しているものとキャラクタでも攻撃・防御・攻撃スキル・回復スキル・し，経験値などによるキャラクタの育成システムは取バフスキルの 5 つの行動を行えるものとした．ただり扱わないこととした．

し，個々のパラメータによっては，事実上回復やバフ

行動決定といったスキルを用いる意味がないキャラクタも生成

本プラットフォームでは各キャラクタの行動順は素早されることになる．以下に，本論文の実験に用いた各さに基づき定まり，そのたびに行動選択・対象選択を行動の詳細を示す．

行い，決定後に即時に行うとした．また，素早さ順に

攻撃: 敵 1 体にダメージを与える．ダメージ計算は（攻撃すべてのキャラクタがそれぞれ最大 1 回だけ行動する力）*（バフ付与時のバフ倍率）-（防御力）*（防御ものとし，これを 1 ターンと定義した．

力の補正値）となる．

スキルシステム

防御: 攻撃を受けるか，自身の行動が再度回ってくるま

一般的な RPG の戦闘では，通常の攻撃や防御といっで，自身の防御力に補正値 1.5 が乗算される．

た行動とは趣の異なる特殊な行動が存在する．これ

攻撃スキル: 敵 1 体にダメージを与える．ダメージ計算は

らは総じて「スキル」などと呼称される．本プラット（攻撃力）*（攻撃倍率）*（バフ付与時のバフ倍率）-

フォームにおいては，スキルポイント（SP）というパ（防御力）*（防御力の補正値）となる．

ラメータを導入し，これをいくらか消費することでスキルが行えるものとした．本プラットフォームにおけるスキルシステムの主な特徴は次の通りである．

回復スキル: 自身を含む味方 1 体の体力を最大体力のうち回復率だけ回復させる．
バフスキル: 自身を含む味方 1 体の攻撃力にバフ期間だけ( 1 ) SP はターンの経過ごとに 1 だけ加算される．例えば

バフ倍率を乗算する．なお，使用したターンを含む

3 対 3 の戦闘だったとして，6 体のキャラクタが全員

ターン数の間だけ効果は持続する．また，重ねて付行動し終わったあとに SP が加算される．なお，SP

与した場合，新たなバフ倍率・バフ期間に上書きさの初期値は 0 である．

れる．

( 2 ) SP はパーティで共有する．例えばあるターンで，自身がスキルを使用して SP を使い切った場合，以降の行動順の味方はそのターン以内ではスキルを使うことができなくなる．
パラメータ
キャラクタのパラメータは，大別して，体力・攻撃力・

5. アプローチの各部詳細
本節では，3.2 節において述べた，望ましいキャラクタ
群パラメータの生成手法として，3.3 節で提案したキャラ
クタ群パラメータ生成・調整システムの各部詳細について述べる．

防御力・素早さといったキャラクタの身体的な要素を示す基本パラメータと，スキルの消費 SP や威力のも5.1 進化的アルゴリズムととなるスキルパラメータから成るものとした．な

進化的アルゴリズム（Evolutionary Algorithm, EA）とお，本論文の実験で用いるパラメータについては以下

は，生物の進化を参考にして，確率的に探索を行う最適化アの 11 種とする．

ルゴリズムの総称である．本研究では，個体を１つのキャ

体力: 0 になると行動不能となる．攻撃か攻撃スキルを受

ラクタのパラメータとして，個体群全体が「多様で強さのけた場合，後述のダメージ計算に基づいて減少する．

バランスが取れている」ようになるように最適化を行う．

攻撃力: 攻撃または攻撃スキルの威力となる．

一般的な EA では，交叉によって子供となる個体を作成

防御力: ダメージを低減させる度合いとなる．

し，個体群を評価したあとに優れた個体のみを選択する，

素早さ: 行動順を定める値．

という操作を行う．しかし，ある個体が他個体とのパーc 2022 Information Processing Society of Japan⃝4

Vol.2022-GI-47 No.3
2022/3/18

情報処理学会研究報告
IPSJ SIG Technical Report

ティを組むことを想定している場合，交叉を行うと，親と(I) 今どのスキルも使えず，攻撃が生きている味方の平均なる個体とは似たようなパラメータになることが懸念されより高ければ，優先度を 1000 とする．そうでなけれる．その結果，多数の割には最終的に似通ったキャラクタ

ば 0 とする．

群パラメータが生成されることになり，これは本研究の目(II) (I) に関わらず，攻撃によって，敵 1 人を倒すことができるなら，優先度に 500 足す．

的とは相反する．
そこで，本研究では，交叉を行わずに，解の多様性を保つことが可能であるような EA を実装し，これを用いることにした．以下に，本研究で用いた実験条件のパラメータとともに，その手順を示す．

(III) (II) の場合ただし，与えるダメージがその敵の残り体力の 3 倍以上なら，優先度を 100 減らす．

(IV) (II) の場合ただし，その敵の行動前に味方の行動が 2つあるなら，優先度を 200 減らす．

(1) nchara の個体をランダムに生成し，これを個体群とする．このとき，パラメータは事前に定めた調整範囲内(V) (I)〜(IV) に関わらず，ランダムに-200〜200 の範囲内
で優先度を加算する．

で定めるものとする．

(2) 個体群からランダムに 1 個体 p を選択する．

5.3 評価関数(3) 個体群から p 以外の 2 つの個体 p1 , p2 を選択する．こ3.2 節では，望ましいキャラクタ群パラメータの在り方の 3 体 1 組をパーティとして，RPG の戦闘のシミュについて考察を行い，その満たすべき項目とは以下の通り

レーションを行う．これを試合回数 m 回繰り返す．

であった．

(4) (3) を p のパーティの総組合せ nchara −1 C2 だけ行い，(a) キャラクタ間の強さについての格差が小さいこと

この全結果に基づいて．適度な強さを持っているかに(b) キャラクタの持ちうる役割が豊富であること関する評価値を導出する．

(c) 比較的優位なパーティの組み合わせがある程度は存在(5) p の他個体とのパラメータを比較し，他のキャラクタと似すぎていないかに関する評価値を導出する．

(6) (4), (5) を線形和して評価値 f (p) とする．

すること
これらのうち，(a) については，個体の全平均勝率が 0.5を超えないようにする評価項目を導入した．

(7) p のパラメータを突然変異させて p′ を作成する．これ(b) については，各個体のパラメータをベクトルとみなは，p の各パラメータに対してランダムに 0.9〜1.1 倍

し，これに距離関数を用いて，“パラメータが他個体とどすることで行う．

れだけ距離が離れているか を評価することで，各キャラ′′(8) p について (3)〜(6) を行い，f (p ) を求める．

クタのパラメータに多様さが生じるようにして，それぞれ(9) f (p) < f (p′ ) ならば，p を p′ に置き換える．

異なった役割を持てるようにした．

(10) 探索回数 n に達していたら終了する．そうでなければ(2) に戻る．

(c) については，ある個体 p の「比較的優位なパーティの組み合わせ」を，その平均勝率 wri が 0.5〜0.7 の範囲内であるものとし，このときの組み合わせをシナジーを持つ

5.2 シミュレーション用 AI プレイヤ

パーティである，と定義した．そして，「そのようなシナ

前節で述べた手順 (3) では，AI プレイヤによる戦闘シジーを持つパーティが，個体の採りうるパーティの総組み

ミュレーションが必要となる．そこでは，AI プレイヤは合わせに対してどれだけ存在するか」・「シナジーを越えてキャラクタのパラメータに対して合理的な行動をとるよう強すぎる組み合わせがどれだけ存在するか」を評価関数となものであるべきである．AI プレイヤの実装方法は複数して取り扱うこととした．

考えられるが，木探索アルゴリズムや強化学習などを用い

以上の内容を踏まえ，ある個体 p の評価関数を式 1 のよると，EA による最適化のループと相まって計算コストはうに定めた．fs はシナジーに関する評価値，fd はパラメー

膨大なものとなる懸念が生じる．

タの距離に関する評価値，fpeni は強すぎるパーティへのそこで本研究では，とりうる行動（および対象）それぞれに状況を踏まえて優先度を付与し，この優先度に基づいて行動・対象選択を行う AI プレイヤを用いることとした．
このような AI プレイヤは，特定の複雑すぎない問題に関ペナルティ項，fpenp は強すぎる個体へのペナルティ項，β,γ, δ(> 0) はそれぞれ線形和パラメータである．
f (p) = fs (p) + βfd (p) − γfpeni (p) − δfpenp (p)(1)

して，対象への事前知識が十分にある人間が作成した場合シナジーに関する評価値 fs は式 2 で求める．ここで sp はであれば，“賢い”とまではいかずとも，ある程度の合理性

シナジー点数，s∗p は任意に定める最適なシナジー点数であを持つものになると考える．

る．シナジー点数 sp とは，個体 p のあるパーティの平均以下に，本研究で用いた優先度計算方法の一例として，

勝率 wri を式 3 に示すような関数で得点付けし，これを全攻撃行動に関する優先度の計算法を示す．なお，全ルール

パーティに対して行い，式 4 のように合計したものである．

の詳細については第 1 著者の修士論文を参照されたい．

式 3 は，あるパーティの平均勝率 wri が 0.5〜0.7 の範囲内

c 2022 Information Processing Society of Japan⃝5

Vol.2022-GI-47 No.3
2022/3/18

情報処理学会研究報告
IPSJ SIG Technical Reportであるほど高得点となる．すなわち，式 2 は，シナジーを持つパーティの数が設定した s∗p に近いほど高評価である

6. キャラクタ群パラメータ生成実験・評価
6.1 目的ことを表している．
なお，σ1 , σ2 は fs のチューニングパラメータである．今

本節における実験の目的は，（A）3.2 節で説明した望ま

回の実験では，「シナジーを持つパーティは総組み合わせ

しい特徴を持つキャラクタ群パラメータの生成・評価，（B）に対して 1/3 程度存在することが望ましい」と定義して，

線形和パラメータの変化による生成結果の変化の確認，のそれに基づき s∗p =12, σ1 =3.5, σ2 =7.5 とした．そのときの2 つである．次節以降では，これらの目的に基づいた条件

式 (2) は図 2 のように図示される．

と結果，そして考察について述べる．


{
∗ 2}
exp − (sp −s2p )2σ1{
fs (p) =∗ 2}
exp − (sp −sp )22σ(0 ≦ sp ≦ s∗p )(s∗p < sp )2(2)

6.2 条件
本実験は，以下のような条件で行った．
進化的アルゴリズム



0





10wri − 4.5
sp i (wri ) =

1




−10wr + 7.5i(0 ≦ wri ≦ 0.45 ∨ wri > 0.75)

実験目的（B）のために，多様さに関する評価値 fd の(0.45 < wri ≦ 0.55)

重みである線形和パラメータ β を 1, 10, 100 と変化さ

(0.55 < wri ≦ 0.65)

せて比較実験を行った．それ以外については，個体数

sp =

∑

(3)
(4)

sp i

探索回数 n = 5000，1 パーティごとのnchara = 10,(0.65 < wri ≦ 0.75)

i

試合回数 m = 10，線形和パラメータ γ = 0.5, δ = 10として行った．
キャラクタのパラメータと調整対象

また，強すぎるパーティ，強すぎる個体へのペナルティ項

キャラクタのパラメータは，4 節にて述べたパラメー

fpeni ，fpenp は，それぞれ式 5，式 6 で求める．式 5 はパー

タ 11 種とした．これらのパラメータのうち，本実験

ティの平均勝率 wri が 0.7 を超えるほど，またそのようなでは調整対象を体力・攻撃力・防御力・素早さ・攻撃

パーティが多いほど，式 6 は個体の全平均勝率 wrp が 0.5

スキル倍率・回復率・バフ倍率の 7 つに限定した．表を超えるほど f (p) が低くなることを示している．

1 にこれらのパラメータの調整範囲となる最小値と最fpeni (p) =∑大値を示す．また，それ以外のバフ期間および各スキ

max(wri − 0.7, 0)(5)i

ルの消費 SP については 2 に固定した．
シミュレーション条件

fpenp (p) = max(wrp − 0.5, 0)(6)

1 パーティを 3 体とし，同じく 3 体から成る敵パーティ

一方，パラメータの距離に関する評価値 fd は式 7 で求めとの戦闘を行う．なお，敵パーティの構成は，キャラる．ここで dist(p, q) は距離関数であり，個体 p と他個体 q

クタとは相対的に強いボス 1 体と，相対的に弱いミニとのパラメータのベクトルの距離を計算する．本論文の実

オン 2 体とした．表 2 にボスとミニオンのステータス

験では，距離関数にはユークリッド距離を用いた．なお，を示す．本実験では，ボスは攻撃や攻撃スキルが得意

個体のパラメータについては，調整範囲となる最小値と最であり，ミニオンは回復スキルやバフスキルが得意で大値をあらかじめ定め，それぞれ 0, 1 とする正規化を各パあるような設定とした．

ラメータに対して行い，これを距離関数へ代入するものと表 1: 調整対象のパラメータとその範囲

した．

fd (p) = ∑

1

(7)

1
q̸=p dist(p,q)2

体力

攻撃力

防御力

素早さ

攻撃倍率

回復率

バフ倍率

最小値

200

150

50

1.0

1.5

0.1

1.1

最大値

400

400

100

20.0

3.0

0.5

2.0

1.2

ࢩࢼࢪ࣮Ⅼᩘࡢྜィ್࡟ᑐࡍࡿホ౯

表 2: ボスとミニオンのステータス

1.0

体力

攻撃力

防御力

ボス

1300

200

100

ミニオン

200

50

100

素早さ

攻撃倍率

回復率

バフ倍率

5.0

2.5

0.1

1.1

15.0

1.5

0.4

3.0

0.8

0.6

0.4

0.2

0.0
0

5

10

ࢩࢼࢪ࣮Ⅼᩘࡢྜィ್
15

20

25

30

バフ持続期間

攻撃スキル SP

回復スキル SP

バフスキル SP

ボス

1

2

1

1

ミニオン

2

1

1

2

35

図 2: あるキャラクタのシナジー点数の合計値に対する評価

c 2022 Information Processing Society of Japan⃝

6

Vol.2022-GI-47 No.3
2022/3/18

情報処理学会研究報告
IPSJ SIG Technical Report

平均・各個体の線形和評価値の推移を示す．図 3 より，評価値の推移としてはやや振れはあるものの，良好に探索が

3

4

5
6
member2_idx

7

8

0.40

0.59 0.52
0.45

0.35
0.30

9

1

(a) 個体 123

45
member2_idx

6

7

9

0
1

0.45 0.41 0.37 0.45 0.43 0.39 0.43

member1_idx
54
20.36 0.40 0.43 0.41 0.45 0.42

0.60
0.55
0.50
0.45

0.39 0.48 0.41 0.43 0.38
0.41 0.45 0.47 0.40

601

0.51 0.52 0.46

562

0.43 0.57 0.61 0.41

0.43 0.40 0.54 0.34 0.41 0.50 0.55 0.47

0.65

0.47 0.48 0.43

7

0.45

0.47 0.50 0.53

0.42 0.50 0.46 0.42 0.41

3_idl

0.70

0.45 0.44

80.50

0.44 0.46 0.49 0.51 0.50 0.45

member1_idx
43
20
member1_idx
5
4
3

0.55

6

和パラメータ β = 10 の場合を一例として，図 3 に全個体

0.43 0.37 0.41 0.46 0.51 0.47 0.39

0.60

0.43 0.56 0.42 0.46

0.39

0.50 0.53 0.53 0.47 0.47 0.53 0.49 0.52

0.65

0.57 0.52 0.61 0.40 0.47

0.48 0.58

8_idl

0.70

0.37 0.36 0.46 0.46 0.40 0.44

7

環境下で行い，平均探索時間は 4 時間程度であった．線形

0.41 0.46 0.48 0.46 0.46 0.42 0.50

8

実験は CPU: AMD Ryzen 5 5600X, RAM: 32GB の PC

2

1_idl
0.54 0.45 0.63 0.61 0.57 0.54 0.52 0.56

7

6.3 結果

0.41

0.40
0.35
0.30

1

(b) 個体 82456
member2_idx

7

8

9

0.70
0.65
0.60
0.55
0.50
0.45
0.40
0.35
0.30

(c) 個体 300.62 0.34 0.60 0.72 0.67 0.74 0.69 0.82 0.35

10.60 0.48 0.55 0.58 0.79 0.27 0.69 0.50

20.52 0.21 0.61 0.83 0.68 0.62 0.68

idl_idx1
4 3

図 4: 各個体の集団体の他個体とのパーティにおける平均勝率0.18 0.44 0.61 0.63 0.80 0.14

1.0
0.8
0.6

5

0.73 0.65 0.52 0.41

60.74 0.80 0.56

7

0.23 0.56 0.32 0.54 0.33

0.75 0.52

8

行われているといえる．

0.61
1

2

3

4

5
6
idl_idx2

7

8

0.4
0.2
0.0

9

図 5: 個体間の正規化パラメータのコサイン類似度
8_idl

0_idl

9.5%
10.4%

12.4%

4.1%
2.2%

21.0%
73.9%

AttackDefence
S_attack
Heal
Buff

52.0%

7.5%
7.1%

AttackDefence
S_attack
Heal
Buff

図 3: 線形和評価値の推移（β = 10, γ = 0.5, δ = 10）(a) 個体 0また，β = 10 の場合に得られた 10 体の個体について，パラメータおよび，パラメータから想定される役割を表 3 に示す*1 ．さらに同表中に，集団内の他個体とのパーティを組み 10−1 C2 = 36 通りの試合をそれぞれ 200 回行った結果（以下，個体評価結果）について，勝ち数をカウントし36∑* 200 で割った全平均勝率，平均個体間距離q̸=p dist(p,q)

nchara −1，

シナジー点数を示す．
表 3 より，各パラメータが調整範囲内でばらついており，また想定される役割についても様々に存在することが確認できる．

6.4 考察初めに実験目的（A）についての考察を行う．図 4 に，個
体 1，個体 8，個体 3 の集団内の他個体とのパーティにおける平均勝率のヒートマップを示す．これは，シナジー点
数が設定した最適な数 s∗p に対して，それぞれ最大，理想値，最小の個体をピックアップしている．図 4 より，個体差はあるものの，各個体に優位な組み合わせがある程度存在していて，かつ適度な強さであることがわかる．
*1

3.1 節で述べた役割と表 3 の略記の対応は次の通りである．
アタッカー: ATK，スキルアタッカー: S-ATK，バッファー:
BUF，ヒーラー: HEA

c 2022 Information Processing Society of Japan⃝(b) 個体 8

図 6: 個体評価結果における行動割合

また，図 5 に個体間のパラメータのコサイン類似度を示す．これは，各個体の調整対象パラメータに対して正規化を行い，それぞれの個体間のコサイン類似度を計算してヒートマップで図示したものである．これより，例えば個体 0 と個体 8 はパラメータについて比較的似た個体だといえる．しかしながら，これらの個体についてはパラメータは似ているものの，図 6 に示す個体評価結果における行動
割合を参照すると，個体 0 は攻撃使用を中心としているのに対し，個体 8 は回復スキルやバフスキルも多く行っている．これより，個体 0 は回復スキルとバフスキルを扱えるアタッカー，個体 8 は回復スキルを比較的多く行うヒー
ラー&バッファー，と捉えられる．このように，パラメー
タが似ていたとしても，その役割としては異なるキャラク
タが存在することが確認できる．
次に実験目的（B）についての考察を行う．表 4 に線形和パラメータ β ごとの生成結果を示す．ここで強すぎるパーティ数とは各個体について平均勝率 wri > 0.7 であるパーティを数え上げたものである．強さ評価を重視した場合，平均個体間距離が最小であることから，似たようなキャラ
クタが多いといえる．また，多様さ評価を重視した場合，

7Vol.2022-GI-47 No.3
2022/3/18

情報処理学会研究報告
IPSJ SIG Technical Report

表 3: 各個体のパラメータと想定の役割・全平均勝率・平均個体間距離・シナジー点数
個体

体力

攻撃力

防御力

素早さ

攻撃倍率

回復率

バフ倍率

個体 0

220

286

65

15.7

1.6

0.4

1.8

個体 1

349

189

53

16.9

2.9

0.4

1.1

個体 2

395

154

98

2.3

2.9

0.1

1.5

個体 3

200

213

100

19.7

1.9

0.1

1.1

想定の役割

全平均勝率

平均個体間距離

シナジー点数ATK&BUF

0.462

1.32

11.4

S-ATK&HEA

0.486

1.50

14.5

S-ATK

0.448

1.49

6.0

ATK

0.431

1.49

3.6
8.7

個体 4

233

259

57

1.1

1.5

0.5

1.2

ATK&HEA

0.453

1.52

個体 5

237

250

54

9.8

2.7

0.1

2.0

S-ATK&BUF

0.448

1.42

7.4

個体 6

374

153

99

14.2

3.0

0.5

2.0

HEA&BUF

0.474

1.59

12.0

個体 7

272

233

98

6.3

1.5

0.1

2.0

BUF

0.482

1.38

14.1

個体 8

344

257

89

19.9

1.5

0.3

1.4

ATK&HEA

0.477

1.27

12.5

個体 9

397

215

55

1.5

1.6

0.1

1.3

ATK

0.456

1.45

9.0

各個体の全平均勝率の標準偏差・最大個体差が増加し，か

参考文献

つ強すぎるパーティの存在する個体が増加していることか[1]

ら，強さに格差があり，かつ強すぎ・弱すぎのキャラクタがいることがわかる．これらの結果から，5.3 節にて設計した評価関数は想定通りに機能しており，線形和パラメー[2]

タを変更することで設計者が「格差の小ささ」と「多様さ」を制御できることが分かった．

[3]

表 4: 線形和パラメータ β ごとの生成結果
線形和パラメータ β
全平均勝率
全平均勝率の最大個体差
強すぎるパーティ数の平均
平均個体間距離

強さ評価重視

バランス評価

110

多様さ評価重視100

0.46±0.01

0.46±0.02

0.48±0.09

0.03

0.05

0.25

0

0

4.6

1.07

1.44

1.84

[4]

[5]

7. おわりに[6]

本研究では，ターン制 RPG において多様でかつ強さについての格差が小さいようなキャラクタ群パラメータの生[7]

成手法の提案を行った．望ましいキャラクタ群のパラメータを考察し，そのような特徴を持つキャラクタ群を生成するために，AI プレイヤによるシミュレーションと進化的アルゴリズムによる最適化からなる自動生成システムを構[8]築した．生成実験の結果，統計量などに基づき評価して，望ましい特徴を持つキャラクタ群パラメータの生成を確認できた．
今後の展望としては，さらにキャラクタ数やパラメータ，
行動の種類を増加させたうえでキャラクタ群パラメータの生成を試みることがある．また，AI プレイヤに木探索アル

[9]
[10]
[11]

Gravina, D., Khalifa, A., Liapis, A., Togelius, J.
and Yannakakis, G. N.: Procedural content generation
through quality diversity, 2019 IEEE Conference onGames (CoG), IEEE, pp. 1–8 (2019).
眞鍋和子，三宅陽一郎ほか： 遺伝的アルゴリズムを用いたプレイヤーエージェントによるデジタルゲームのバラ
ンス調整，SIG-SAI, Vol. 30, No. 2, pp. 1–6 (2017).
Gudmundsson, S. F., Eisen, P., Poromaa, E., Nodet, A.,
Purmonen, S., Kozakowski, B., Meurling, R. and Cao,L.: Human-like playtesting with deep learning, 2018
IEEE Conference on Computational Intelligence andGames (CIG), IEEE, pp. 1–8 (2018).
Togelius, J., Yannakakis, G. N., Stanley, K. O. and
Browne, C.: Search-based procedural content generation: A taxonomy and survey, IEEE Transactions on
Computational Intelligence and AI in Games, Vol. 3,
No. 3, pp. 172–186 (2011).
Togelius, J., Yannakakis, G. N., Stanley, K. O. and
Browne, C.: Search-based procedural content generation, European Conference on the Applications of Evolutionary Computation, Springer, pp. 141–150 (2010).
Mouret, J.-B. and Clune, J.: Illuminating search spaces
by mapping elites, arXiv preprint arXiv:1504.04909(2015).
Hansen, N. and Ostermeier, A.: Adapting arbitrarynormal mutation distributions in evolution strategies:
The covariance matrix adaptation, Proceedings of IEEE
international conference on evolutionary computation,
IEEE, pp. 312–317 (1996).
Alvarez, A., Dahlskog, S., Font, J. and Togelius, J.: Empowering quality diversity in dungeon design with interactive constrained map-elites, 2019 IEEE Conference onGames (CoG), IEEE, pp. 1–8 (2019).
スクウェア・エニックス： グリムノーツ (2016).
Blizzard Entertainment: ハースストーン (2014).
de Mesentier Silva, F., Canaan, R., Lee, S., Fontaine,
M. C., Togelius, J. and Hoover, A. K.: Evolving thehearthstone meta, 2019 IEEE Conference on Games(CoG), IEEE, pp. 1–8 (2019).

ゴリズムや強化学習を用いることで，よりシミュレーショ
ンを洗練させることも考えられる．いずれについても，実装した RPG プラットフォームや最適化手法の高速化が必要となるため，これについても改善を施していきたい．さらに，被験者実験などを通じて，本手法の有効性も検証していきたい．

c 2022 Information Processing Society of Japan⃝

8