放置少女研究所

~放置少女研究分析サイト~

イラスト:πたゆこ(@paitayu)さん

育成シミュレータ

はじめに

ここでは副将の育成をシミュレーションするツールの紹介と、その使い方を公開しています。

育成シミュレータ -概要-

ゲーム上では、下の画像に示す「副将育成」画面で、育成丹や銅貨・元宝を消費して、筋力、敏捷、知力、体力のステータス値を上げることができます。上昇値はランダムであり、プラスだけではなく、マイナスになる場合もあります。

副将育成画面

本シミュレータでは、実際の上昇値のデータを基に作成した、各上昇値の出現確率の近似式を用いて、育成1回あたりの平均上昇値(期待値)を計算します。これにより、例えば、現在の状態からC級育成を1000回実行した後の各ステータス値を予測する、というようなことができます。

上昇値の出現確率はゲーム上では公開されていない情報ですので、あくまで推定に基づいており、当然誤差を含んでいること、また、実際はランダム事象ですので、回数が少ないうちはばらつきが大きく、予測値から外れやすいことに注意して下さい。

育成シミュレータ -使い方-

(1) ツールにアクセス

本ツールはStreamlit Cloudという外部サービス上で実装しています。以下のリンクよりアクセスして下さい。

スマートフォンなどの携帯端末では、以下のような画面が表示されると思います。PC等の大きな画面の場合、レイアウトが横に広がりますが、画面の構成要素は同じです。なお、端末をダークモードに設定している場合は、本ツールも黒を基調とした色合いになります。

シミュレータ画面
(2) まずは動かしてみる

デフォルトでは、サンプルの設定値(C級育成、15,000回)が入っていますので、そのまま一番下までスクロールして、「実行」ボタンを押してみましょう。

実行ボタン

シミュレーション結果結果は下の画像のように、表とグラフで表示されます。

シミュレーション結果

1つ目の表は、各ステータスの育成後の予測値です。「初期値」が育成前の値、「STEP 1」が育成後の値です。後述しますが、本ツールではSTEP 1からSTEP 4の4段階まで、育成条件を変えて、連続して育成した結果をシミュレーションできます。

「〇〇増分」は、1つ前の行からの増分です。画像では見切れていますが、横にスクロールすれば、知力増分、体力増分の列もあります。

2つ目の表は、各ステータス値を、上限値に対する割合(%)で示したもので、内容は1つめの表と同じです。

表の後に、以下の3つのグラフを表示します。KIN = 筋力、BIN = 敏捷、CHI = 知力、TAI = 体力です。(使用しているライブラリの制約で日本語が表示できません。)

  • 横軸:育成回数(トータル)、縦軸:ステータス値(絶対値)
  • 横軸:育成回数(トータル)、縦軸:ステータス値(上限値に対する割合)
  • 横軸:育成回数(トータル)、縦軸:育成1回あたりの上昇値期待値
(3) STEP

概要を示したところで、各機能を説明していきます。本ツールでは、例えばC級3000回の後に続けてB級4000回、というように、育成条件を4回まで連続してシミュレーションすることができます。この1回分の条件を「STEP」と呼び、STEP 1~STEP 4まで条件を入力できます。

デフォルトでは、STEP 1の分の入力欄しか表示していませんが、画像のようにSTEP 1の入力欄の下に「STEP 2入力」のチェックボックスがあり、これにチェックを入れるとSTEP 2の入力欄が表示されます。同様に、STEP 2の入力欄の下に「STEP 3入力」チェックボックス、STEP 3の入力欄の下に「STEP 4入力」チェックボックスが表示され、それぞれにチェックいれることで、対応するSTEPの入力欄が表示されます。

STEP 2入力 チェックボックス
(4) 筋力/敏捷/知力/体力の初期値・上限値

入力欄の上部には、筋力/敏捷/知力/体力のそれぞれの初期値・上限値の入力欄があります。初期値にはシミュレーション開始時の値、上限値には、ゲームの「副将育成」画面に表示されている()内の上限値を入力します。これらは、全STEP共通です。

筋力/敏捷/知力/体力の初期値・上限値 入力欄
(5) 各STEPの育成条件

STEP毎に以下を選択・入力します。

  • 育成級:C級(初級育成丹), B級(高級育成丹), A級(仙女育成丹), S級の中から選択します。
  • 育成回数:育成回数を入力します。1~100,000の範囲が有効です。
  • 筋力/敏捷/知力/体力の重み:次の(6)で説明します。

各STEPの育成条件
(6) 筋力/敏捷/知力/体力の重み

ゲーム上では、育成ボタンを押したときに、上昇値が表示され、その結果を採用(保存)するか、不採用(やめる)かをプレイヤーが選択します。その採用ルールによって、育成結果は変わります。

本ツールでは、採用ルールを「重み」として設定します。式で表すと、

(筋力の上昇値)×(筋力の重み) + (敏捷の上昇値)×(敏捷の重み) + (知力の上昇値)×(知力の重み) + (体力の上昇値)×(体力の重み) > 0

となったときに、採用とみなします。重みが大きいステータスがより上がりやすくなり、代わりに他のステータスが上がりにくくなります。いくつか具体例を示します。

  • (例1) 重みを全部1
    (筋力の上昇値) + (敏捷の上昇値) + (知力の上昇値) + (体力の上昇値) > 0
    の時に採用、つまり4つの上昇値の合計がプラスなら採用する、平均的な上げ方になります。
  • (例2) 筋力と体力の重み:1、敏捷と知力の重み:0
    (筋力の上昇値)  + (体力の上昇値) > 0
    の時に採用、つまり筋力と体力の上昇値の合計がプラスなら(知力、敏捷の値に関わらず)採用する、筋力と体力重視の上げ方になります。同様に考え、体力の重みを1、他を0にすれば、体力がプラスの時に採用するルールとなります。
  • (例3) 筋力の重み:2、他の重み:1
    筋力の上昇値が採用/不採用の判定に大きく影響するようになり、筋力が上がりやすく、他が上がりにくくなります。シミュレーション結果の例を下の画像に示します。

筋力の重み:2、他の重み:1の例

育成方針によって各ステータスの重みを決定し、各STEPの欄に入力して下さい。

(7) 重みのその他の設定

ページ上部に2つのチェックボックスあります。それぞれ以下の機能を持ちます。

  • 全STEP重み = STEP 1の重み
    これにチェックをいれると、全STEPの重みが STEP 1の入力欄に入れた値となり、STEP 2~4の重み入力欄が非表示となります。例えば、各STEPで育成級だけ変えたい場合等に使用して下さい。
  • バイアス使用
    これにチェックをいれると、各STEPに「バイアス」入力欄が表示されます。ここに値を入れると、(6)の上昇値×重みの判定値にバイアスの値が加算されます。例えば、各重みが1で、バイアスが+100とした場合、必ず合計がプラスになるので全採用のルールとなります。あまり使用されないので、デフォルトでは非表示、0の値となっています。

重みのその他の設定
(8) その他の設定

ページ下部に2つのON/OFF設定があります。それぞれ以下の機能を持ちます。

その他の設定
  • グラフ描画
    シミュレーション結果のグラフ表示をする/しない、をON/OFFで指定します。
  • 高速モード
    高速モードは計算時間を短縮するための機能です。
    高速モードOFFの場合は、例えば育成回数が10000回の設定であれば、実際に10000回期待値を計算し、足し合わせていきます。高速モードOFFの場合は、計算回数を間引き、直近の結果を外挿することで、上昇値を求めていきます。現状の設定では1000回を超える場合は1000回に間引くようにしています。計算が粗くなりますが、実用上問題ないレベルだと思いますので、通常はONにしておいてください。

高速モード概念図

変更履歴

  • Ver 0.10 (2022/08/09): 公開