2022年12月30日金曜日

聴音RPGのRTAにおけるクリアタイム予測法の検討

 

1. 緒言


聴音RPG【失われた音問村】[1]のRTAでは、ゲームの進行に必要なアイテムを購入するためにお金稼ぎを行う必要があります。聴音RPGにおいて、お金(通貨単位:ゴールド)は基本的に敵モンスターである音霊を倒すことによってのみ手に入れることができます。したがって、序盤にて音霊とのエンカウントが少なく区間タイムが早い場合でも、その後により多くゴールドを稼ぐ必要があるため、最終的には似たようなタイムとなります。


RTAにおけるクリアタイムの予測は、ある時点までの実際のタイムに、その時点以降の各区間における予測区間タイムを足し合わせることで行われます。足し合わせる予測区間タイムは一定の基準により選択または算出されており、以前のランにおける各区間のベストタイム、自己ベスト時の各区間タイム、各区間の平均タイムなどが挙げられます[2]


聴音RPGのように「稼ぎ」が存在するRTAでは、上述のとおり一部の区間タイムが別の区間タイムに影響を与える場合があります。したがって、このようなRTAにおいて、区間タイムの単純な足し合わせではそのクリアタイムを適切に推定できていない可能性があります。


本稿の目的は、聴音RPGの適切なクリアタイム推定法について検討することです。そのため、ランをいくつかの区間に分割し、それらにおける獲得ゴールド及びタイムについて相関を確認しました。また、確認した相関構造に基づいたクリアタイム推定法を構築し、その推定精度を検討しました。




2. 方法

2.1. 区間の設定

2.1.1. 区間の境界


他のRPGと同様に、聴音RPGもマップ上の位置によってエンカウント情報(エンカウント率及び出現する音霊の種類)が異なります[3]。今回の検討では、エンカウント情報が切り替わる地点を通過するタイミングを区間の境界としました。なお、エンカウント地帯と非エンカウント地帯の転換には境界を設けず、ラスボスとの戦闘は別区間としています。



2.1.2. 区間のグループ化


まず、区間の大きなグループとして、「お金稼ぎ前」「お金稼ぎ時」「お金稼ぎ後」に分けてグループ化しました。このとき、境界は下記となります。

  • お金稼ぎ時:初めて羅猛地区に入ったあと
  • お金稼ぎ後:2回目のデスワープをして、耳鼻科を出たあと

また、お金稼ぎ前をさらに分割し、4つのチェックポイントを設けました。

  • チェックポイント1:煉瓦村のCDを取得して、煉瓦村側の橋を渡ったあと
  • チェックポイント2:音問村の入村証明を取得して、音問村側の橋を渡ったあと
  • チェックポイント3:1回目のデスワープをして、音問村側の橋を渡ったあと
  • チェックポイント4:初めて羅猛地区に入ったあと(お金稼ぎの開始時)

なお、「お金稼ぎ前」「お金稼ぎ」「お金稼ぎ後」にはそれぞれ18、3、9の区間が含まれ、チェックポイント間にはそれぞれ5、5、4、4の区間が含まれています。



2.2. ランのデータの取得


聴音RPGのAny% Glitchlessカテゴリを20周し、各区間におけるタイム並びに音霊の種類及び数を取得しました。タイム計測にはAuto-Split[4]を用いて画像認識により自動的に行い、何らかの理由にて画像認識に失敗した場合には録画を見直して目視にて設定しました。


音霊のカウントにはStream-integrated Counter[5]を用い、区間ごとにAutoHotkey[6]経由でR[7]を起動して音霊の数を集計しました。戦闘後に獲得するゴールドは音霊の種類ごとに一定であるため、区間ごとの音霊の種類と数より獲得ゴールドを算出しました。



2.3. 獲得ゴールドとタイムの相関


取得したデータを用いて、以下の相関を確認しました。

  • 各区間グループにおける合計獲得ゴールドと合計タイムの相関
  • お金稼ぎ前の合計獲得ゴールドとお金稼ぎ時の合計タイムの相関
  • お金稼ぎ前の各チェックポイント通過時のタイムとクリアタイムとの相関



2.4. クリアタイム予測法の検討

2.4.1. クリアタイム予測法の詳細


下記4つのクリアタイムの予測法を用いて、お金稼ぎ前の各チェックポイント通過時におけるタイムと累計獲得ゴールドからクリアタイムを予測し、その予測精度を検討しました。

  • 予測法1:以後の区間における平均タイムの単純な足し合わせによる予測
  • 予測法2:ゴールドとタイムの相関を考慮したモデルによる予測
  • 予測法3:20 周のランのデータからの粗いランダムサンプリングによる予測(まとまった区間グループからのサンプリング)
  • 予測法4:20 周のランのデータからの丁寧なランダムサンプリングによる予測(個々の区間からのサンプリング)

予測法2においては、下記の2つの相関についてそれぞれ一次式による回帰式を構築し、その係数と誤差に基づきクリアタイムを推定しました。詳細については付録1をご参照ください。

  1.  お金稼ぎ前の各チェックポイント後の区間における獲得ゴールドとタイムとの相関
  2.  お金稼ぎ前の獲得ゴールドとお金稼ぎ時のタイムの相関

また、図1に予測法3の概略図を示します。お金稼ぎ前のチェックポイント後の各チェックポイント間、及びお金稼ぎ後について、各区間グループの獲得ゴールドとタイムの組み合わせを20周のランからランダムに選んで組み合わせました。お金稼ぎ時のタイムのみ、上記2.の回帰式を用いて算出しました。これらの組み合わせをさらに細かくして区間ごととし、ランダムに選択したものが推定法4となります。


図1 予測法3の概略(G:ゴールド)




2.4.2. クリアタイムの予測性の検討


各種相関の検討に用いた20周のランについて、各チェックポイント通過時のタイム及び累計獲得ゴールドを用いて、上記4つの推定法よりクリアタイムを予測し、予測法ごとに実際のクリアタイムと比較しました。予測法2についてはモデルに基づく期待値を、予測法3及び4においては100000回の試行における中央値をクリアタイムの予測値としました。


なお、各予測法に用いる各区間(グループ)のタイムの平均値及び分散の算出、各回帰式の構築、並びにランダムサンプリングに用いられるランには、予測対象となっているランのデータも含まれた状態で検討を行っています。



2.4.3. 世界記録到達確率の比較


予測法2、3及び4を用いてAny% Glitchlessカテゴリの世界記録である48分37秒の到達率を推定し、各推定法間で値を比較しました。予測法2では、求めたクリアタイムの期待値と分散について、その期待値と分散を持つ正規分布に従う確率変数が世界記録を下回る確率を計算しました。予測法3及び4では、100000回の試行の内、世界記録を下回る試行の数の割合を世界記録到達確率としました。


Rはv4.1.2を用い、回帰分析にはggplot2パッケージ(v3.3.5)[8]を使用しました。




3. 結果

3.1. 獲得ゴールドとタイムの相関


図2に各区間グループにおける合計獲得ゴールドと合計タイムの相関を示します。お金稼ぎ前、お金稼ぎ時、お金稼ぎ後の各区間グループについて、獲得ゴールドとタイムには正の相関がありました。また、図3にお金稼ぎ前の合計獲得ゴールドとお金稼ぎ時の合計タイムの相関を示します。お金稼ぎ前の獲得ゴールドとお金稼ぎ時のタイムの相関は強い負の相関がありました。


一方で、図4に示すように、お金稼ぎ前の各チェックポイント通過時のタイムとクリアタイムとの相関は弱いか、ほぼありませんでした。


図2 各区間グループにおける合計獲得ゴールドと合計タイムの相関
(R2_adj:自由度調整済決定係数、以下同様)


図3 お金稼ぎ前の合計獲得ゴールドとお金稼ぎ時の合計タイムの相関


図4 各チェックポイント通過時のタイムとクリアタイムとの相関



3.2. クリアタイムの予測性の検討


図5-1~図5-4に、各推定法によるクリアタイム予測値と実際のクリアタイムの関係を示します。予測法1による推定値は全体的に推定精度が悪い一方で、予測法2、3及び4においてはチェックポイント1通過時の予測精度は予測法1と同程度であるものの、ランが進むにつれて推定精度は改善していく傾向にありました。また、予測法2、3及び4において、クリアタイム予測値に大きな差異はありませんでした。


図5-1 チェックポイントごとの予測法1の予測精度


図5-2 チェックポイントごとの予測法2の予測精度


図5-3 チェックポイントごとの予測法3の予測精度


図5-4 チェックポイントごとの予測法4の予測精度



3.3. 世界記録到達確率の比較


予測法2、3及び4により推定した世界記録到達確率の比較を図6-1及び図6-2に示します。いずれも強く相関していますが、予測法2と予測法4による推定確率はほとんど一致しており、回帰式の傾きも1付近となっているのに対し、予測法3は特に確率の低いランについてより低く推定しており、回帰式の傾きも全体的に1より小さい傾向にありました。


図6-1 予測法2と予測法4による世界記録達成確率の比較


図6-2 予測法3と予測法4による世界記録達成確率の比較




4. 考察


お金稼ぎ前の各チェックポイント通過時のタイムについて、クリアタイムとの相関はほとんどありませんでした(図4)。図5-1のとおり、単純な平均タイムの足し合わせである推定法1によるクリアタイム予測は全時点において精度が悪く、図4はそれを裏付けるものと言えます。


一方で、獲得ゴールドとタイムの相関構造に基づく予測法2はモデルのクリアタイムの予測性を改善し、ランが進むにつれてその精度はより良くなりました。図2及び図3において予測法2のモデル構築に用いた相関、すなわち区間グループ内の獲得ゴールドとタイム、及びお金稼ぎ前のタイムとお金稼ぎ時のタイムの相関が確認されていることから、「稼ぎ」の存在するRTAにおいて「稼ぎ」とタイムの相関構造をクリアタイム予測に組み入れることの意義が確認されました。


さらに、予測法2のクリアタイムの予測値は予測法4によるものとほぼ同様でした。クリアタイムの予測値に関して言えば予測法3も同じですが、より極端なタイムである世界記録の到達確率の予測においては、予測法2は予測法3と比較してより予測法4に近い値を示しました。丁寧なサンプリングによる予測法4が最も実際の獲得ゴールドとタイムの分布を反映できているとすると、予測法2は粗いサンプリングによる予測法3と比較して広いクリアタイム範囲において適切にクリアタイムを予測できている可能性が示唆されました。


以上を総合すると、これらの予測法を実際のランにおけるクリアタイム予測に適用する場合、ランダムサンプリングではある程度の実行時間が必要となることから、予測法2による予測が最も実用的であると考えられます。


今後は予測法2を用いて、実際のランで各チェックポイントにおける世界記録到達率を計算し、より効率的な記録狙いを行っていく予定です。聴音RPGのRTAは未だに多数のルートの可能性が考えられ、今回データを取得したもの以外のルートが最適となる可能性も残されていますが、いずれのルートでもお金稼ぎにおけるタイムの相関構造を組み入れたクリアタイム予測は有用です。また、聴音RPGに限らず、「稼ぎ」を必要とするRTAにおいて今回の検討は何かしらの参考になるものと考えます。





付録




参考資料


[1] 洗足オンラインスクール (2017).  聴音RPG【失われた音問村】.  JavaScript版.

[2] Kuhaku_玖白 (2021). LivesplitのComparisonまとめ. 想うが儘にもの作り.

[4] Toufool (2021). Auto-Split.
(当初はv1.6.1を使用していましたが、OBS Studio Ver.28.0へのアップデートに伴いブラウザソースのキャプチャが不可能となったため、途中からv2.0.0α版に切り替えました)

[6] AutoHotkey Foundation LLC. AutoHotkey.

[7] R Core Team (2021). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria.

[8] Wickham H (2016). ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York.

聴音RPGのRTAにおけるクリアタイム予測法の検討

  1. 緒言 聴音RPG【失われた音問村】 [1] のRTAでは、ゲームの進行に必要なアイテムを購入するためにお金稼ぎを行う必要があります。聴音RPGにおいて、お金(通貨単位:ゴールド)は基本的に敵モンスターである音霊を倒すことによってのみ手に入れることができます。したがって、...