クラフトゲーム開発(NPC の経路探索と移動)
A* アルゴリズムによる経路探索と NPC の移動を実装しようと思ったのですが、まだ NPC の移動を遮る壁などが存在しないので、とりあえず A* なしで NPC の移動まわりを実装します。
実装したこと
NPC が移動するようにします。言い換えると時間をかけて位置を変えるあたりを実装します。
経路を返す
とりあえずは移動できない壁とか他 NPC との衝突とかは考えないので、NPC は4方向に移動できるものとして経路を返すあたりを実装します。
雑ぅ! この実装はいずれ A* アルゴリズムで経路探索する仕組みに置き換えるので、これでいいことにします。
時間をかけて移動させる
移動すべき経路を List<Vector2Int> で受け取っておき、それを元に移動させます。
とりあえずいいと思います。
実行結果
こんな感じです。
最初のチェストから木材を取って次のチェストに運搬しているのですが、各チェストの木材の有無が適切に処理されてるのも確認できて、大変よいです。
まとめと今後の予定
とりあえず NPC の運搬タスクを実装しました。大変よいです。
次は、セーブ・ロードを実装するか、もしくは必要そうな機能を検討して着手します。がんばります。