経路探索

いい加減まともな移動ルーチンを実装しないとストレスが溜まりまくるので、経路探索に本腰を入れる。
今考えてる手順は、静的オブジェクト(建物、資源、地形の進入不可能領域)の当たり判定を2次元データに落とし込んで、クオドツリー(四分木)で切り刻んで、A*で経路を求める、という感じ。移動する可能性があるユニットは考慮しない。停止した味方ユニットと衝突した場合は押しのけるようにして移動をスムースにする予定。

A*の実装は、A* Explorerなるものが非常に参考になりそう。
http://www.generation5.org/content/2002/ase.asp
http://www.generation5.org/content/2000/cpathfinder.asp

A* Explorerのソースを見ながら(英語の解説読むのめんどくさい)あれこれ書いてるうちに、とりあえず画像のような結果が出るものはできた。現状最短経路なぞ出てこない頭の悪い移動ルーチンだけど、なんとかなりそうな気はしてきている。