勝てるSRPG敵AIの作り方|最適行動を判断する思考アルゴリズム

シミュレーションゲームの作り方

SRPGの敵AIは、単純に見えますが、実装は複雑です。

ターゲット選択と行動判断が、難易度を左右します。

この記事では、実装方法を詳しく解説します。

この記事でわかること

  • シンプルなルールベースAIの実装
  • ターゲット選択のアルゴリズム
  • 行動候補のスコアリング
  • 安全度評価の実装
  • 段階的に賢くする方法
ゲーム開発講師
ゲーム開発講師

敵AIは、最初はシンプルに実装しましょう。後から、より賢い判断を追加していけば大丈夫です。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
ゲームを「遊ぶ側」から「作る側」へ

あなたのオリジナルゲーム、今年こそ完成させませんか?

RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。

Unity入門の森|永久会員チケット

永久会員チケット|Unity入門の森

全講座ラインナップを見てみる

実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。

シンプルなルールベースAI

srpg-enemy-ai-001

最初は、シンプルなルールベースAIから始めます。

実装方法を紹介します。

基本的な敵AI

このコードで、基本的な敵AIが実装できます。

最も近いプレイヤーユニットを探し、攻撃範囲内なら攻撃、範囲外なら移動します。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

ターゲット選択のアルゴリズム

srpg-enemy-ai-002

ターゲット選択は、敵AIの核心です。

より賢い選択方法を紹介します。

スコアリングによるターゲット選択

このコードで、スコアリングによるターゲット選択が実装できます。

距離・HP・攻撃力・防御力を考慮して、最適なターゲットを選びます。

ターゲット選択の基準

  • 距離:近いほど優先(移動コストが少ない)
  • HP:低いほど優先(倒しやすい)
  • 攻撃力:高いほど優先(脅威度が高い)
  • 防御力:低いほど優先(ダメージが出やすい)
ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

行動候補のスコアリング

srpg-enemy-ai-003

行動候補をスコアリングして、最適な行動を選びます。

実装方法を紹介します。

行動候補の生成

このコードで、行動候補をスコアリングできます。

移動・攻撃・待機の各候補を評価し、最適な行動を選びます。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

安全度評価の実装

srpg-enemy-ai-004

安全度評価は、敵AIが生き残るために重要です。

実装方法を紹介します。

安全度計算

このコードで、安全度を評価できます。

プレイヤーからの距離、攻撃範囲内のプレイヤー数、受ける可能性のあるダメージを考慮します。

ゲーム開発講師
ゲーム開発講師

安全度評価は、敵AIが無謀な行動を避けるために重要です。ただし、安全すぎると、プレイヤーが退屈します。バランスを取りましょう。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

段階的に賢くする方法

srpg-enemy-ai-005

敵AIは、段階的に賢くしていきます。

実装方法を紹介します。

敵AIを段階的に賢くする(合計3週間)
  • 週1
    基本的なルールベースAI(所要10時間)

    最も近いプレイヤーを探し、攻撃範囲内なら攻撃、範囲外なら移動するシンプルなAIを実装します。
  • 週2
    スコアリングによる判断(所要10時間)

    ターゲット選択と行動選択にスコアリングを導入します。距離・HP・攻撃力などを考慮します。
  • 週3
    安全度評価の追加(所要10時間)

    安全度評価を追加し、無謀な行動を避けるようにします。プレイヤーの攻撃範囲も考慮します。

合計30時間で、基本的な敵AIが完成します。

1日2時間なら、約2週間で完成します。

難易度別のAI調整

難易度別にAIを調整できます。

プレイヤーのスキルに応じて、難易度を選択できます。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

実装例:完全な敵AIシステム

srpg-enemy-ai-006

実際に使える、完全な敵AIシステムの実装例を紹介します。

このコードで、完全な敵AIシステムが実装できます。

ターゲット選択、行動スコアリング、安全度評価を統合しています。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

よくある質問(FAQ)

srpg-enemy-ai-007

Q: 敵AIが強すぎます。どう調整すればいいですか?
A: スコアリングの重みを調整しましょう。安全度の重みを下げる、ランダム要素を追加する、行動選択に誤差を加えるなどの方法があります。
Q: 敵AIの計算が重いです。どう最適化すればいいですか?
A: 行動候補の数を減らしましょう。移動範囲を制限する、スコアが低い候補を除外する、計算結果をキャッシュするなどの方法があります。
Q: 複数の敵が同じターゲットを選びます。どう分散させればいいですか?
A: ターゲット選択に「既に他の敵がターゲットにしている」というペナルティを追加します。これにより、ターゲットが分散します。
Q: 敵AIが予測可能です。どうランダム性を加えればいいですか?
A: スコアにランダム要素を追加します。最高スコアの行動を必ず選ぶのではなく、上位3つの候補からランダムに選ぶなどの方法があります。
Q: 敵AIのバランス調整はどうすればいいですか?
A: テストプレイで調整しましょう。スコアリングの重みをScriptableObjectで管理すれば、コードを変更せずに調整できます。
ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる
ゲームを「遊ぶ側」から「作る側」へ

あなたのオリジナルゲーム、今年こそ完成させませんか?

RPG・アクション・ホラー…Unityで本格ゲームを作りたい人のための学習サイトです。

Unity入門の森|永久会員チケット

永久会員チケット|Unity入門の森

全講座ラインナップを見てみる

実際に完成するゲームを題材に、
ソースコード・素材・プロジェクト一式をすべて公開。
仕事や学校の合間の1〜2時間でも、
「写経→改造」で自分のゲームまで作りきれる環境です。

まとめ

srpg-enemy-ai-008

敵AIは、段階的に実装すれば必ず完成します。

最初はシンプルに、後から機能を追加していきましょう。

今日から始める3ステップ

  • ステップ1:基本的なルールベースAIを実装する(所要3時間)
  • ステップ2:ターゲット選択にスコアリングを追加する(所要2時間)
  • ステップ3:行動選択にスコアリングを追加する(所要3時間)

本格的にUnityを学びたい方は、Unity入門の森で実践的なスキルを身につけましょう。

あなたのペースで、少しずつ進めていけば大丈夫です。

ゲーム制作をゼロから学びたいあなたへ
Unity入門の森を見る 初心者歓迎!動画×プロジェクト一式で本格ゲーム制作を学べる

コメント

タイトルとURLをコピーしました