Skip to main content

ゲーム研究(7月9日資料)

AIとゲームデザインの関係を学ぶ

行動制御・難易度調整からジャンルの進化を読む


この回で学ぶこと

この回では、ゲームにおけるAIを、単に「賢い敵」や「自動で動くキャラクター」として見るのではなく、
プレイヤーの体験を作るための行動制御として考える。

ゲームにおけるAI・行動制御は、次のような役割を持っている。

  • 敵の動きを作る
  • NPCの行動を作る
  • プレイヤーに判断をさせる
  • 緊張感を作る
  • 難易度を調整する
  • ゲームのテンポを作る
  • 成功したときの達成感を強くする
  • ジャンルらしさを作る

この回では、ジャンルの原型となるゲームと、
そのジャンルの代表的な進化点になったゲームを比べながら、
AI・行動制御・難易度調整がどのようにゲーム体験を変えたのかを調べる。


この回のゴール

この回のゴールは、次の3つである。

  1. ゲームAIを「体験を作る処理」として理解する
  2. ジャンルの進化を、敵やシステムの動きから説明できるようになる
  3. プログラマとして、どのような処理が必要になるかを考えられるようになる

注意:「最新作」ではなく「進化点」を見る

この回では、必ずしも現在の最新ゲームを扱う必要はない。

最新作は、グラフィック、オンライン機能、運営、コンテンツ量など、
分析する要素が多くなりすぎることがある。

そこで第8週では、次のようなゲームを選ぶ。

そのジャンルで、AI・敵の動き・行動制御・難易度調整が分かりやすく進化した代表作

つまり、見るべきなのは「新しいかどうか」ではなく、
そのジャンルの遊び方を変えた処理や仕組みがあるかである。


「始祖」「原型」という言葉の扱い

ゲームジャンルの歴史では、
「完全に最初の1本」を決めることが難しい場合が多い。

そのため、この授業では「始祖」や「原型」を次の意味で使う。

そのジャンルの特徴を分かりやすく持っている、初期の代表的なゲーム

絶対に最初の作品を断定するのではなく、
そのジャンルの基本構造を分析しやすい作品として扱う。


第8週で見る比較

第8週では、次の2つを比べる。

原型・初期代表作
↓
AI・行動制御・難易度調整が進化した代表作

見るポイントは、次の通りである。

  • 敵の動きがどう変わったか
  • NPCやCPUの行動がどう変わったか
  • プレイヤーにどんな判断をさせるようになったか
  • 難易度の上がり方がどう変わったか
  • 成功・失敗・危険のフィードバックがどう変わったか
  • プログラム処理として何が増えたか

比較対象の例

次の表は、教材上の比較例である。
「絶対にこの組み合わせでなければならない」という意味ではない。

ジャンル 原型・初期代表作 AI・行動制御の進化を見やすい代表作例 見るポイント
対戦格闘 アーバンチャンピオン ストリートファイターII 間合い、攻撃、防御、CPU戦の行動
RPG Wizardry ドラゴンクエストIV / Final Fantasy IV 敵行動、仲間行動、戦闘テンポ、難易度
FPS Maze War DOOM / Half-Life 敵の発見、追跡、攻撃、空間移動
2Dシューティング スペースインベーダー グラディウス / 東方Project 敵配置、弾のパターン、回避判断
ステルス Castle Wolfenstein Metal Gear Solid / HITMAN 視界、警戒、巡回、発見後の行動
レース Pole Position マリオカート / Gran Turismo CPU走行、順位、コース取り、調整
パズル テトリス ぷよぷよ / スイカゲーム 連鎖、ランダム性、上達、失敗圧
音楽ゲーム パラッパラッパー beatmania / 太鼓の達人 タイミング判定、譜面、評価
シミュレーション SimCity The Sims / Cities: Skylines 住民、交通、経済、都市の自動変化
サンドボックス Elite Minecraft 世界の自由度、生成、敵や環境の変化
MOBA Aeon of Strife Dota / League of Legends ミニオン、レーン、敵味方の行動
横スクロールアクション ドンキーコング スーパーマリオブラザーズ 敵配置、ジャンプ判断、ステージ進行
ハンティングアクション モンスターハンター モンスターハンターP2G / 4G 大型敵の行動、予備動作、部位破壊
ローグライク Rogue 不思議のダンジョン / Hades ランダム生成、敵配置、報酬選択

AI・行動制御として見るポイント

ゲームAIを見るときは、難しいアルゴリズム名から入る必要はない。

まずは、次のように考える。

その敵やシステムは、プレイヤーに何を考えさせるために動いているのか。


行動制御の基本パターン

行動の型 内容 プレイヤーに与える体験
追跡 プレイヤーを追いかける 逃げ道を考える
巡回 決まった道を移動する タイミングを見て進む
待機 条件が来るまで動かない 近づくか避けるか考える
反応 プレイヤーの行動に反応する 行動の結果を意識する
ランダム 動きが毎回少し変わる 予測しきれない緊張感
状態変化 状況によって行動が変わる 状況判断が必要になる
協調 複数の敵が役割分担する 立ち回りを考える
難易度補正 プレイヤーの状況に応じて調整する 遊びやすさや緊張感を保つ

難易度調整として見るポイント

難易度は、単に「敵を強くする」ことではない。

次のような要素で調整される。

調整する要素
敵の数 敵が増える、減る
敵の速さ 移動速度や攻撃速度が変わる
攻撃頻度 攻撃してくる回数が変わる
プレイヤーの安全時間 無敵時間、回復機会、休憩地点
報酬量 得点、経験値、アイテムの量
失敗の重さ すぐゲームオーバーか、やり直せるか
情報量 危険の予告、マップ、UI
ランダム性 毎回の展開が変わるか

原型から進化点を見るときの考え方

原型ゲームには、ジャンルの基本が分かりやすく入っている。

一方で、進化した代表作では、
同じジャンルの面白さを保ちながら、次のような変化が加わっていることが多い。

変化 内容
敵の行動が増える 単純移動から、追跡・警戒・状態変化へ
プレイヤーの判断が増える ただ避けるだけでなく、攻める・待つ・選ぶ判断が増える
難易度が段階的になる いきなり難しいのではなく、上達に合わせて変わる
フィードバックが増える 成功・失敗・危険が画面や音で分かりやすくなる
処理が複雑になる 当たり判定、状態管理、AI、UI、カメラなどが増える

プログラマとして見るべきこと

ゲームプログラマ志望の場合、
「敵が賢くなった」だけで終わらせない。

次のように、必要な処理として考える。

見る処理
状態管理 待機、追跡、攻撃、警戒、逃走
当たり判定 攻撃、弾、敵、地形、視界
距離判定 近づいたら攻撃、離れたら追跡
視界判定 見えているか、隠れているか
経路探索 目的地まで移動する
難易度調整 敵の数、速さ、攻撃頻度を変える
フィードバック 発見音、警告表示、ヒット演出
UI処理 HP、警戒度、残り時間、スコア表示

今回のワークで行うこと

この回では、次の順番で調べる。

  1. ジャンルを1つ選ぶ
  2. 原型ゲームと、進化点を見やすい代表作を選ぶ
  3. 敵・NPC・障害物・システムの動きを調べる
  4. 行動制御がプレイヤーに何を考えさせているかを書く
  5. 難易度調整の工夫を探す
  6. プログラマとして必要そうな処理を書く

まとめ

ゲームAIや行動制御は、単に敵を動かすためだけのものではない。

プレイヤーに
「逃げる」
「避ける」
「狙う」
「待つ」
「攻める」
「引く」
「選ぶ」
という判断をさせるために使われる。

ジャンルが進化すると、見た目や操作だけでなく、
敵・NPC・システムの動き方も変化していく。

第8週では、最新作の複雑さを追いかけるのではなく、
そのジャンルで行動制御や難易度調整がどのように進化したかを理解する。