メインコンテンツまでスキップ

Stormworks 砲弾仕様まとめ


1. 物理モデル(全砲弾共通)​

1-1 抗力(空気抵抗)​

ゲーム内は 速度に比例する線形抗力 で、毎ティック次式を適用します。

v_new = v_old × (1 − k)
  • k … 減速率(自己抗力)。単位は [/tick]。大きいほど早く減速する(高度では変化しない)

1 秒後に残る速度の割合:

(1 − k)^60

1-2 重力​

砲弾の重力は 一定ではなく、高度 h が高いほど弱くなります。

g(h) = 30 × exp(−1/60 × h/1000) [m/s²]
  • h … 高度 [m](地表 = 0)
  • 地表(h = 0)では 30 m/s² ですが、高度が上がるにつれて指数関数的に小さくなります。

1-3 風​

風による加速度 a_wind [m/tick²]:

a_wind = W × p(h) × (WindInf / 60)
p(h) = (((44.33 − h/1000) / 11.89)^5.256) / 1013
  • W[m/tick²]
  • p(h) … 高度に応じた空気密度の変化を表す係数。高度が高いほど小(上式)
  • WindInf … 砲ごとの風影響度(§2-1 の表)。小さいほど風の影響が小
  • /60 … m/s → m/tick への換算

減速率 k は高度で変化しません。砲弾の高度要因は、この風の項と重力(§1-2)に現れます。

1-4 消滅条件​

  • 寿命(lifeSpan)を超えると消滅します。
  • 小口径は速度がおおよそ 50 m/s 未満 でも消滅しやすい。
  • Rocket / Battle / Artillery / Bertha は、水中以外では 50 m/s 未満でも寿命まで残る。

2. 砲一覧(正規表)​

射程の「目安」は水平〜45°間接射撃の概算です。実効射程は高度・風・消滅条件で変わります。

2-1 基本パラメータ​

Type砲初速 v [m/s] (m/tick)減速率 k [/tick]寿命 [tick] (s)WindInf射程目安
1Machine Gun800 (13.333)0.025120 (2.00)0.15約 500 m
2Light AC1000 (16.667)0.02150 (2.50)0.135約 750 m
3Rotary AC1000 (16.667)0.01300 (5.00)0.13約 1.5 km
4Heavy AC900 (15.000)0.005600 (10.00)0.125約 2.5 km
5Battle800 (13.333)0.0021500 (25.00)0.12約 4.5 km(45°間接)
6Artillery700 (11.667)0.0012400 (40.00)0.11約 6.5 km(45°間接)
7Bertha600 (10.000)0.00052400 (40.00)0.105約 7.5 km(45°間接)
8Rocket Launcher約 50(射出初速)0.0033600 (60)0.125約 2.5 km

Rocket は発射後に 加速区間(約 600 m/s² × 1 秒) があるため、「初速一定+抗力」の式(§5)は適用できません。加速を分けて積分してください(§2-2 参照)。

2-2 連射・使用弾・消滅​

Type砲連射 / 備考使用弾消滅
1Machine Gunバースト 900 rpm(4 tick/発)Kinetic / AP / Incendiary約 50 m/s 未満で消滅しやすい
2Light ACバースト 450 rpm / 持続 約 319 rpmKinetic / HE / Frag / AP / Incendiary約 50 m/s 未満で消滅しやすい
3Rotary ACバースト 1800 rpm / 持続 約 814 rpm、スピンアップ約 0.5 sKinetic / HE / Frag / AP / Incendiary約 50 m/s 未満で消滅しやすい
4Heavy ACバースト 約 112.5 rpm / 持続 約 99 rpmKinetic / HE / Frag / AP / Incendiary約 50 m/s 未満で消滅しやすい
5Battle約 20 発/分Kinetic / HE / Frag / AP / Incendiary水中以外は低速でも寿命まで残る
6Artillery約 7.7 発/分HE / Frag / AP水中以外は低速でも寿命まで残る
7Bertha約 3.1 発/分HE / Frag水中以外は低速でも寿命まで残る
8Rocket Launcher1 基あたり 1 発/秒/射出初速 約 50 m/s + 加速 約 600 m/s² × 1 秒/ダメージ半径 約 2.25 m(9 ブロック)HE 相当水中以外は低速でも寿命まで残る

Rocket は加速モデルのため、§5 の「初速一定+抗力」式は不適用です。


3. 弾薬タイプ(弾道は同じ、着弾効果だけ違う)​

弾道(初速・抗力・寿命)は砲で決まり、弾種では変わりません。

3-1 弾種ごとの効果​

弾種効果の要点
Kinetic着弾点中心の直接ダメージ。貫通なし(または弱い)
High Explosive (HE)広い範囲ダメージ
Fragmentation範囲ダメージ+子弾を散らす。隙間貫通しやすい
Armor Piercing (AP)速度に応じてブロックを貫通
Incendiary範囲ダメージ+発火判定

3-2 砲別の使用可能弾種​

砲HEFragKineticAPIncendiary
Machine Gun××○○○
Autocannon 類○○○○○
Battle○○○○○
Artillery○○×○×
Bertha○○×××
RocketHE 相当————

3-3 当たり判定​

砲弾の当たり判定は 点 です。

3-4 HE(榴弾)の加害範囲​

砲加害範囲(半径)加害範囲(m)
Light AC3 ブロック0.75 m
Rotary AC3 ブロック0.75 m
Heavy AC7 ブロック1.75 m
Battle11 ブロック2.75 m
Artillery16 ブロック4.00 m
Bertha16 ブロック4.00 m

(Rocket Launcher は別途ダメージ半径 約 2.25 m = 9 ブロック、§2-2 参照)

3-5 AP(徹甲弾)の貫通条件​

AP 弾は フィジックス(F2キーで確認可能)を貫通 します。

貫通時の減衰​

  • 貫通すると、そのたびに 弾の貫通力(速度)が減衰 します。
  • 減衰の大きさは、貫通したブロックの「密度」 によって大きくなります。

また、巨大なマイコンブロック は、実際より かなり大きい密度として計算 されるため、特に有効です(見た目よりずっと強力な「壁」になります)。


4. 手持ち武器(参考)​

手持ちの減速率 k は車両砲ほど整理されて公開されていません。車両砲の表を流用しない方が安全です。

武器初速 [m/s]寿命 [tick]備考
Pistol / SMG / Rifle(車両砲より低速)300車両砲と同じ重力 30 m/s²
Speargun80—水中用途

5. 計算式チートシート​

抗力だけ(水平、重力なし):

v(t) = v0 × (1 − k)^t -- t は tick
x(t) = v0 × (1 − (1 − k)^t) / k -- k ≠ 0、変位は m

重力あり・連続近似:

連続近似では、毎 tick の離散的な減衰 v_new = v_old × (1 − k) を、指数関数の継続的な減衰として扱います。このときの連続減衰係数を k_base とします(単位は [/s])。

k_base = −ln(1 − k)

(k が小さいときは k_base ≈ k で近似できます。)

dv/dt = a − k_base × v
v(t) = v0 × e^{−k_base t} + (a / k_base) × (1 − e^{−k_base t})

a には重力と風を入れます。時間 t は tick です。

よく使う換算:

v[m/tick] = v[m/s] ÷ 60
g[m/tick²] = 30 ÷ 3600
寿命[s] = lifeSpan ÷ 60
残速比(1秒) = (1 − k)^60

6. 付記(XML で砲を調整する場合)​

XML で砲の長さを変えると、初速が長さに比例して変化 します。

  • 砲の長さを 2 倍 にすると初速は 2 倍
  • 砲の長さを 3 倍 にすると初速は 3 倍

同様にダメージも変わる場合があります。その場合は表の初速を実測値に差し替えてください。減速率 k は通常そのままです。