現在制作中のゲーム「Magic Line」、敵の動きを実装しました。
色々と試行錯誤があり、トークン(プログラムの量の制限)との兼ね合いもあり、今のアルゴリズムに落ち着きました。
はじめは、やっつけで障害物も無い事から、魔法使いに向かって一直線に向かって来るようにしていましたが、今はブロックなどの障害物を配置し、それに沿って動くようにしているので、そうは行きません。
また、壁にあたった時にどうするのかを付け足すと、どんどん方向を決めるだけのプログラムコードが長くなっていくのです。
「見てくれ」と「コードの長さ」の折衷案を取って、「直線に向かうが、壁にあたったらルールに沿って方向転換する」というアルゴリズムに落ち着きました。
一時は450トークンを超えるようになっていましたが、ある程度の量に抑えられて、やれやれです。



魔法使いを見つけたら、追いかける処理を付け加えるかどうかを実装して決めようと思います。
その後は、パーティクルをもう少し修正して、マジックミサイルで敵を麻痺させるのを実装します。
コメント