DSDisk Strike 戦術手帳

初速・減衰・停止の数値

このゲームの手触りは、4つの数字でほぼ説明できます。初速の式、密度差、減衰、そして停止判定の0.5秒です。

01初速の式

発射時の速度は、コード上では次のように書かれています。linearVelocity = 方向ベクトル × (vectorRate + 0.165 × (force + buffForce − 1))。vectorRate は 10 です。

つまり force が 1 のときは 10、force が 10 のときは 10 + 0.165 × 9 = 11.485。force が 2 倍になっても速度は 2 倍にはならず、上がり幅は 1 レベルあたり 0.165 ずつです。強化の効きが小さいのは、この式が理由です。

force と初速(バフなし)
force初速force 1 との差
110.000—
210.165+0.165
510.660+0.660
1011.485+1.485
2013.135+3.135

02重さの差

ストライカーの密度は 10、パックの密度は 5。同じ半径ならストライカーのほうが重い、という設定です(実際の半径は 25 と 18 で、ストライカーのほうが大きい)。重いものが軽いものに当たると、軽いほうが大きく飛びます。これがカロムの「はじく」感覚の正体です。

減衰はストライカーが 8960、パックが 7777。数値が大きいほど止まりやすい、という向きの値です。ストライカーのほうが早く止まり、パックは少し長く転がります。

03回転が乗る

衝突のあと、接線方向の力に応じて角速度が加わります(applyAngularImpulse(5000 × 接線インパルス))。正面から当てたつもりでも、少しでもずれると回転が乗り、予想より曲がります。

「まっすぐ引いて、まっすぐ離す」が基本なのは、この回転のせいです。斜めに引くと、球は斜めに飛ぶうえに回転もして、二重にずれます。

04止まったと判定されるまで

球が止まったかどうかは、最後の接触から 0.5 秒後に判定されます。見た目上は止まって見えても、判定が下りるまで次の手は打てません。逆に、0.5 秒以内に再び動き出せば「まだ動いている」と扱われます。

この 0.5 秒は、焦って次の操作をしても無駄になる時間です。球が完全に止まるのを見てから、次の位置を決め始めるのが結果的に速いです。