【ゆるぽ】SRPGで面の2点間の距離を計算する軽いアルゴリズム

SRPGに関する戯言のつづき

シミュレーションRPGで、敵味方の位置(距離)から一意に不利有理を計算する評価関数を導入したら、大局観みたいなものが出てこないか、みたいな記事だったのです。。。が。

  • そもそも、SRPGではフィールドがさまざまな地形によって構成されており、 ユニットによって各地形における移動コストが違うため、 ユニット間の最短距離を計算するのは メモリも時間も必要でコスト高
  • 前記事では敵がm人、プレイヤーがn人のとき ユニット間の距離 mxnの組み合わせ全てを計算する必要があるかも

というわけで、考えてみると、そんなに良いアルゴリズムではありませんでした。


でも、このまま捨てちゃうのも惜しいので、逆に、どんなときに使えるか考えてみるに

  • フィールドの地形が一定 (海戦とか空とか宇宙とか。スーパーロボット大戦も、空を飛ぶユニットが多いので地形の影響少なかったような)
  • (その場合)各ユニット間の距離はマンハッタン距離をユニットの位動力で割るのみで計算可能

なんて場合には有効な気がします。本末転倒ですが。