【ラストスパートについて】
ラストスパートの始点と基準目標速度の計算は、フェーズ 2 に入ったタイミングで行われます。
基準目標速度上限(ラストスパート) = (基準目標速度(フェーズ 2) + 0.01 × 基準速度) × 1.05 + sqrt(500.0 × スピード値) × 距離適性係数 × 0.002
ラストスパートの始点と基準目標速度の計算過程はやや複雑です。
まず、フェーズ 2 に入ったタイミングで、残りの距離すべてを基準目標速度上限で走っても HP (後述) が足りなくならない場合は、現在位置を始点として基準目標速度には上限値が採用されます。
HP が不足する場合は、上限値 (ラストスパート時) から基準目標速度 (フェーズ 2) に至るまで 0.1 [m/s] ずつ速度を下げていき、それぞれの速度に対して HP が不足しないようスパート距離を計算し、ラストスパート候補として保存しておきます。
最後に、これらの候補から何らかの処理を行って1つの候補を採用するのですが、この処理に賢さ値が絡んでいるという程度しか現状の私には解析できていません。
この処理は HorseLastSpurtCalculator::CalcSpurtDistanceSpeedDownRecursivelyNext() で行われています。猛者求ム。
ウマ娘の攻略の観点から言えば、フェーズ 2 に入った瞬間にラストスパートを掛けられるかがタイムに大きく影響します。
そのため、フェーズ 2 即スパートが掛けられる HP を確保することは非常に重要です。
ただし、それ以上に確保した分の HP は無駄になるため、一定以上のスタミナは必要ありません。
<技術解説>
HorseLastSpurtCalculator::CalcLastSpurt() がラストスパートの計算を行います。
そこから呼び出される CalcBaseTargetSpeedAndStatusSpeed() が基準目標速度の上限を計算します。
この関数は phase = 2 になると1回だけ HorseRaceAISimulate::UpdateLastSpurt() から呼び出されます。
関連する変数:
[基準目標速度]
・lastSpurtBaseTargetSpeedAddCoef = 0.01
・baseTargetSpeedCoef = 1.05
・LastSpurtTargetSpeedCoefSqrt = 500.0
・addSpeedParamCoef = 0.002
・lastSpurtSpeedDelta = 0.1
・lastSpurtStep2SpeedDelta = 0.1
[スパート距離]
・LastSpurtDistanceGoalBuffer = 60
・lastSpurtDistanceMaxFromGoal = 100

[スパート候補選択 (賢さに関わる)]
・lastSpurtStep2PerVal1 = 15.0
・lastSpurtStep2PerVal2 = 0.05

• • •

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
3 Apr
【目標速度 (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) [%] または掛かり状態のときに、スピードアップモードに移行する、などとなっています。
Read 9 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

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!