NPC をコーディングして領地経営するゲーム開発(ワールド2開発の続き)
前回の記事で「冒険者パーティによるダンジョン探索」をテーマにしたワールド2で不足していた機能を実装したので、このワールドのステージをクリアできるようにしていきます。
実装前に久しぶりに実行して気付いたこと
- NPC のアニメーションが切り替わらないことがある。
- DOTween 関連のエラーが残っている。
- 効果音を決めてない建物の警告メッセージが気になる。
- ステージ開始時の会話中にタスクカードが表示されていて違和感がある。
- ゲーム目標のテキスト下のアニメーション?が動作しない。
ひどいな…
あと、現状のチケット総数と完了チケット数のチャートはこんな感じです。
完了チケット数を増やしていきたいです。まぁ、開発中に気付いたことを気軽に登録するとこうなります。
実装したこと
とりあえずワールド2のステージをクリアできることだけを目標に開発します。
後衛の処理の修正
直近の記事で「前衛は相手の前衛しか攻撃できない」というルールを追加したのですが、攻撃対象が倒されてても前衛しか攻撃しなくなってしまったのを修正しました。
↓作成の優先度が矢尻、メタルアーマー、鉄のインゴットになってしまっている
冒険者パーティの仕組み変更を反映
建物「冒険者ギルド」に集まった NPC3体が自動で冒険する仕組みにする前のコードでした。
↓エラーが発生している状態
ここから冒険者ギルドの建物を追加して、スクリプトも修正しました。
で、このステージではダンジョンで入手した鉄鉱石をインゴットにして、そのインゴットから鎧を作るのが目標なのですが、オーダーの関係で作ったインゴットを即座に消費して矢尻にしてしまっていました。
なので、矢尻のオーダーを無効にしようとして
guild:stopOrder(Items.ArrowHeads)
を実行したけれども、これが動作しなくて心が折れたので今回はここまでにします。
上記のコードがなぜ動作しないか確認して修正するのは次回にします。
まとめと今後の予定
ワールド2にある5つのステージのうち、2つがクリアできるようになったので大変よいです。あと今回はプレイヤーと似たような状況でテストプレイしたのですが、思ったよりは違和感なく楽しくプレイできたのはよかったです。
次回はオーダーの実装を見直して修正するあたりから再開します。がんばります。