【目標速度 (TargetSpeed) について】
各ウマ娘の目標速度は次のように定まります:

目標速度 = 基準目標速度 × ポジションキープ補正 + 内側移動補正 + スキル補正 + 坂補正

基準目標速度 (通常時) について:
基準目標速度 (スパート時) について:
ポジションキープ補正は、セクション 1 ~ 10 (コースはセクション 1 ~ 24 に均等に分割されています) の間に発動しうる補正で、次のようになっています:

ポジションキープなし: 1.0
スピードアップモード: 1.04
追い抜きモード: 1.05
ペースアップモード: 1.04
ペースダウンモード: 0.915
それぞれのポジションキープモードに移行する条件は複雑で、なかなか解析が行えていません。
例えば、脚質が逃げのとき、1位であって、2位との差が 4.5[m] (=1.8[バ身]) 以内のとき、確率 20 × log10(賢さ × 0.1) [%] または掛かり状態のときに、スピードアップモードに移行する、などとなっています。
内側移動補正は、ウマがある閾値より外側を走っており、かつ内側が空いている際に加算される補正です。
スキル補正は、その名の通りスキルが発動した際に加減算される補正です。
坂補正は上り坂と下り坂で性質が異なります。
上り坂の際は坂の勾配に応じた減算となりますが、この減少量はパワーを上げることで軽減することができます。
下り坂の際は、賢さ × 0.04 [%] の確率で下り坂加速モードに移行し、坂の勾配に応じた目標速度が加算されます。
下り坂であっても、下り坂加速モードに入らない限りは目標速度の加算は行われません。
また、下り坂加速モードは HP の減少量を抑える効果もあります。
下り坂の間は、下り坂加速モードへの移行および終了の判定が1秒おきに行われ、賢さ値に関わらず 20[%] の確率で下り坂加速モードは終了します。
なお、HP が 0 以下となってしまった場合は、目標速度は大幅に低下します:

目標速度 (HP 0 以下の場合) = 0.85 × 基準速度 + ((200.0 × 根性値) ^ 0.5) × 0.001 [m/s]

ただし、HPを切らしてしまった時点で勝ちは望めないので、この計算式に実用上の価値はあまり無いでしょう。
<技術解説>
そろそろこの項を書くのが億劫になっていますが、書くことで一番救われるのは自分なので頑張ります。
今回のメインルーチンは HorseTargetSpeedCalculatorRace::Update() です。
ポジションキープ周りは class HorsePositionKeepCalculator を足がかりにします。
下り坂加速モードへの移行/終了の判定は HorseRaceAIBase::_UpdateDownSlopeAccel() で行われています。
目標速度の下限は HorseRaceInfo::UpdateMinSpeed() で計算されています。

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with ウマ娘 ゲーム仕様解析垢

ウマ娘 ゲーム仕様解析垢 Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @umamusu_reveng

6 Apr
【スキルの複数回発動について】
【「円弧のマエストロ」などコーナーランダム発動スキルの発動位置について訂正】

現状では一部のコーナーランダム発動系のスキルのみ、同一レース中に複数回発動する可能性があります。
該当するスキルは以下の9つです:
・「弧線のプロフェッサー」「コーナー巧者○」「コーナー巧者× (未実装?)」
・「曲線のソムリエ」「コーナー加速○」「コーナー加速× (未実装?)」
・「円弧のマエストロ」「コーナー回復○」「コーナー回復× (未実装?)」
コーナーランダム発動スキルの発動メカニズムは次のようになります:
・第1コーナー、第2コーナー、第3コーナー、第4コーナーのそれぞれについて、発動トリガーを1つずつ生成する。
・このとき、同一レース中に同一コーナーを複数回通過する場合は、最後以外の通過ではトリガーは発火しない。
Read 9 tweets
5 Apr
【ステータス補正について】
各ステータスにはいくつかの条件による補正が入り、それぞれ次のようになります:

補正スピード値 = 生スピード値 × やる気係数 × コース係数 + バ場補正 + 育成補正 + スキル補正
補正スタミナ値 = 生スタミナ値 × やる気係数 + 育成補正 + スキル補正
補正パワー値 = 生パワー値 × やる気係数 + バ場補正 + 育成補正 + スキル補正
補正根性値 = 生根性値 × やる気係数 + 育成補正 + スキル補正
補正賢さ値 = 生賢さ値 × やる気係数 × 脚質補正 + 育成補正 + スキル補正
[やる気係数]
絶好調 → 1.04、好調 → 1.02、普通 → 1.0、不調 → 0.98、絶不調 → 0.96
(ゲーム中の説明や公式動画などではそれぞれ 1.1、1.05、1.0、0.98、0.95 とされていますが、これらの値を見つけることができませんでした)

[コース係数]
こちらを参照:
Read 8 tweets
4 Apr
【実際の速度と加速度について】
各ウマ娘の実際の速度は、目標速度を目指して常に調整されています。
現在の速度が目標速度より遅い場合は加速、また逆に目標速度より速い場合は減速を行います。
加速時と減速時では加速度は異なり、それぞれ次のようになります:
<加速時>
加速度 = 0.0006 × sqrt(500.0 × パワー値) × 脚質係数 × バ場適性係数 × 距離適性係数 (+ スキル補正) [m/s^2]
注: 上り坂時は係数「0.0006」が「0.0004」になります

<減速時加速度 [m/s^2]>
フェーズ 0 → -1.2
フェーズ 1 → -0.8
フェーズ 2 ~ → -1.0
HP0以下時 (上書き) → -1.2
[脚質係数 (フェーズ 0, 1, 2 および 3)]
逃げ → [1.0, 1.0, 0.996]
先行 → [0.985, 1.0, 0.996]
差し → [0.975, 1.0, 1.0]
追込 → [0.945, 1.0, 0.997]

[バ場適性係数]
S → 1.05、A → 1.0、B → 0.9、C → 0.8、D → 0.7、E → 0.5、F → 0.3、G → 0.1
Read 8 tweets
2 Apr
【スキルについて】
スキルについては、すでに解析値をまとめたスプレッドシートなどを公開している方がいますので、そちらをご存じの方も多いかもしれません (ここでは紹介しませんが、ローカルファイルを探すと特に暗号化もされていない状態でデータベースが保存されています) 。
まずこの表の読み方について、"float_ability_time" (基準持続時間) や "float_ability_value" (効果量) は「10000」で割った値が基準となります。

<例>
ハヤテ一文字: float_ability_time = 9000 → 基準持続時間 = 0.9[s]、float_ability_value = 3500 → 効果量 = 0.35[m/s]
実際の持続時間は、(基準持続時間 × コース距離[m] / 1000) [s] となります。

また、(多くの公開されているまとめでは省略されてしまっていますが) "activate_lot" が 0 のスキルは条件を満たすと確定で発動しますが、"activate_lot" が 1 のスキルは賢さに応じて定まる確率で発動します。
Read 9 tweets
1 Apr
【コースによるスピード補正について】
中国語の解析記事 (bbs.nga.cn/read.php?tid=2…) およびその翻訳 (note.com/earman178/n/n1…) において、スピード値にレースコースに応じた補正が掛かるとの記述がありますが、その内容に誤りがあると思われるため、ここに私の解析結果を載せます。
スピード値には、コース係数とでも呼ぶべき係数が掛けられる補正処理は確かに行われています。
コース係数の初期値は 1.0 ですが、レースコース (レース場、バ場、距離のセット) に応じて、0~2種類の特定のパラメータを参照し、そのパラメータがある閾値を超えていたら一定値が加算されます。
1点目は、その加算される値に誤りがあり、正確には次ようになります:

パラメータ (0)~300 → 加算値 0.05
パラメータ 301~600 → 加算値 0.1
パラメータ 601~900 → 加算値 0.15
パラメータ 901~(2000) → 加算値 0.2
Read 5 tweets
31 Mar
【HPについて】
各ウマにはHPが設定されており、HPが0になると非常に遅い速度でしか走れなくなります。
まず、初期HPが次の計算式で与えられます:
初期HP = 0.8 × 脚質係数 × スタミナ値 + コース距離[m]
脚質係数: 逃げ = 0.95、先行 = 0.89、差し = 1.0、追込 = 0.995
1秒あたりのHP減少量は次の通りです:
秒間HP減少量 = 20.0 × (現在速度[m/s] - 基準速度[m/s] + 12.0) ^ 2 / 144.0 × ウマ状態係数 × バ場状態係数
ウマ状態係数: 掛かり = 1.6、ポジションキープペースダウン = 0.6、その他 = 1.0 (下り坂加速モード時各0.4倍)
バ場状態係数: 1.00 ~ 1.02
ただし、フェーズ = 2, 3 の場合はこのHP減少量に根性係数が乗算されます:
根性係数 = 1.0 + (200 / sqrt(600.0 × 根性))

<根性係数の具体例>
根性200 → 1.577
根性400 → 1.408
根性600 → 1.333
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!