1.5K Views
January 11, 25
スライド概要
私(=増渕大輔)が2025年1月10日に久留米工業大学で行った「AI技術の活用(ゲームとAI)」の講義資料です。
本資料では、ゲームとAIの深い関係性について、歴史的な発展と最新のトレンドを交えながら解説しています。特に注目すべき点として、ゲーム産業がGPUの発展を牽引し、それが現代のAI発展の基盤となった経緯を詳しく説明しています。
順不同ですが、内容は以下の通りです。
- 基本的なゲームループの実装 GitHubで公開していますが、予告なく閉鎖する可能性があります。
- キー入力の処理
- 物理演算の基礎
- ルールベースAI
- 有限状態マシン
- パスファインディング
- 機械学習AI
- ビヘイビアツリー
- 強化学習
など。。。
AIはゲーム開発において「学び」と「創造」の両面で革新をもたらしている点です。初学者がゲーム開発を学ぶ際の補助ツールとしても、また実際の開発現場での生産性向上ツールとしても、AIは重要な役割を果たしています。講義で使用したプロンプト例はGitHubリポジトリに追加しておりますので、参考にしていただければと思います。本資料を通じて、ゲームとAIの関係性への理解を深め、将来のゲーム開発やAI活用について考えるきっかけになれば幸いです。
「AI技術の活用」(ゲームとAI) 株式会社リンクトブレイン 技術戦略顧問 増渕大輔 1 Copyright © Linked Brain Inc. All Rights Reserved.
5限の講義中に使う資料のリンク • 好きなゲーム、好きなAIツールを教えてください https://app.wooclap.com/MGEZUG?from=status-bar • GitHub – https://github.com/dmasubuchi/KITGames – 講義後に、プロンプトのサンプル追加しました • https://github.com/dmasubuchi/KITGames/tree/main/pdf • Sample Game – https://black-ocean-0fc6c5310.4.azurestaticapps.net/ • 本資料PPT(PDF) – https://github.com/dmasubuchi/KITGames /tree/main/pdf – https://drive.google.com/file/d/1hXew37wWXhFzKKPn_R0mtzNvLtXq5GKY/view?usp=sharing (同じ内容) 2
自己紹介 増渕大輔 株式会社リンクトブレイン 技術戦略顧問 オンラインゲーム技術者およびDXコンサルタント デジタルハリウッド大学院ジーズアカデミー・メンター AIロボット駆動科学イニシアティブ(運営事務局) ザルツブルグ・グローバルセミナー・フェロー • 講演実績 – CEDEC(Computer Entertainment Developers Conference) – IDGAJ( International Game Developers Association Japan) – Microsoft de:code – Xbox, Xfest – その他、各種勉強会、草の根座談会
ゲーム と AI 4
補足: 昨年の CEDEC での参考コンテンツ 生成AIを活用したゲーム開発効率化( CEDEC 2024 )から引用 – – – ゲーム開発の8割の作業がAIにて代替できることがわかったそうです。 汎用の生成AIをそのまま使っても、ゲーム開発がうまくいくか、、というと、なかなか難しい そこで、自ら、 ai and というプロダクトを開発したそうです → 本講では上記のプロダクトは登場しませんが、 ゲーム業界の課題感として、 「AIでゲーム開発ができるか? 効率化できるか?」 について、自分なりに考えれるようになると期待しています 5
「AI技術の活用」(ゲームとAI) • ゲームとAIの関係 • ゲームにおけるAI利用の変遷と拡張 • 生成AIはゲーム開発に使えるの? • ゲーム産業における象徴的なAI事例 • まとめと振り返り 6
ゲームにはグラフィックスが必要 • • • DirectX: Windows 95 の発売の直前、マイクロ ソフトは Windows 95におけるプログラムの自由 度を上げる仕組みを作り上げたのが 「DirectX 」 よりハードウェア制御に近いローレベルな制御を 行うことができる 最新の Direct X 12 Ultimate は、ゲームなどの マルティメディアアプリケーションを作成するた めのAPI群 DirectX Raytracing 1.1 (DXR 1.1): リアルタイムレイトレー シングを実現するグラフィックスAPIの次期版 Variable Rate Shading (VRS): シェーダーのピクセル解像度 を状況に応じて変化させ、見た目に影響を与えず描画 Mesh Shaders: Turing世代のNVIDIA製GPUに追加された シェーダー Sampler Feedback: 不要な計算を省いてレンダリング負荷 を下げる技術の一つ VRS: 1x1, 1x2, 2x1, 2x2 の 解像度を使い分ける
リアルタイムレイトレーシング対応の Windows 10向け「Minecraft」の画面 リアルタイムレイトレーシング 現実世界における光の振る舞いをそれっぽくイミテート(真似る)のではな く、ゲームの実行中にシミュレーションすることで、大域照明や反射、陰な どをリアルで美しく描写できる 従来の レイトレーシングはリアルタイム処理ではなかった
「シヴィライゼーション 5」の画面 半分だけにVRS( Variable Rate Shading:可変レートシェーディング)を適用。 VRS はハードウェアレンダリングが14%高速化しているが、見た目の品質に 違いはない
ゲームとGPUとAIの発展の関係性 ゲームの3D表現には大量の行列計算が必要 • 三角形の位置、角度、色、テクスチャの計算 • 1秒間に数百万回の並列計算が必要 • CPUでは処理が間に合わない(1フレームに1-2秒) GPUが機械学習を加速 GPUの特徴を確立 • 単純な計算を大量に並列処理 • 高速なメモリアクセス • プログラム可能な演算機能 - ニューラルネットワークは単純な行列計算 - 画像認識は数値の行列処理 - 学習には大量の行列乗算が必要 - GPUの特徴が完全にマッチ - 並列処理による高速化(数ヶ月→数時間) - 大容量メモリによる効率的な処理 - プログラム可能な柔軟性 ゲーム産業がGPUを発展させ、そのGPUが機械学習を加速させる、相乗効果が生まれました。 ビデオゲーム技術がニューラルネットワークを可能にする仕組み https://techcrunch.com/2017/10/27/how-video-game-tech-makes-neural-networks-possible/ 10
GPU駆動のニューラルネットワークのトレーニング • GPU がニューラル ネットワークのトレーニングに優れている理由 • 最近の GPU は大量のオンボード メモリを搭載している • 2015 年、Google と Microsoft は、毎年恒例の ImageNet コンピューター ビジョン チャレンジに おいて、画像内の物体を人間よりも正確に識別できるディープ ニューラル ネットワークを設計 • エヌビディア は、GPU を使用したニューラル ネットワークのトレーニング速度 をわずか 3 年間で 50 倍高速化したと発表 • Google は、ニューラル ネットワークでの使用に特化して設計され、処理できる新しい「 Tensor プロセッシング ユニット」の開発に取り組んでいる – GPU が行列乗算に優れているため – GPU は 1 つの数値テーブル (たとえば、画像のある部分のピクセルの値) を取得し、それを別のテーブルで乗 算することができます (値は別の部分にあります) – ニューラル ネットワークは行列の乗算に大きく依存しているため、GPU を使用すると、トレーニングにかか る時間がCPUでは、数か月、数週間から数日、場合によっては数時間まで短縮されます – コンピュータのメイン メモリとの間でデータを往復する遅延がない – プログラム可能なので、手書きや音声認識など、さまざまなタスクを実行する 11
なぜゲームにAIが必要なの??? エネミーAIが、古くから、ゲームにおけるAIの主要 な用途の1つ • コンピュータの対戦相手の振る舞い • アクションゲームにおける比較的単純なパターンから、人間を打ち負かす チェスプログラムまで 高度なものは、生成的敵対ネットワーク(GAN)技術、 画像認識、などを用いることがある 感情を読み取り、テキストから感情を生成し、 感情を正確 に描写するアルゴリズム 12
ゲーム AI の進化と歴史 コンピュータサイエンティストは、AIのアルゴリズムと問題解決能力を向上さ せるためにゲームAIに注目してきました(チェスや囲碁など、シンプルで明確 なルールがあるゲームがAI研究対象として優れていた) 参考:Microsoft 「ゲーム AI の進化と歴史」 • https://news.microsoft.com/ja-jp/2019/08/19/190819-evolution-and-history-of-game-ai/ ✓ 1974 Kaissa がス トックホルムで 最初の世界コン ピュータチェス チャンピオンと なる ポーカー ✓ 1984 年、プ ロのポーカー プレイヤー マ イク カロ (Mike Caro) が Orac を開発 ✓ 1956 、強化学習アルゴリズ ムがチェッカーに採用 チェス ✓ 1994 年、ジョナサン シェー ファーがChinook を開発し世 界チャンピオン ✓ 1997 年、ディープ ブルーは、 チェス世界チャンピオンのガ ルリ カスパロフ との対戦で 勝利 囲碁 ✓ 2015 年、DeepMind が「AlphaGo」を開発 ハンデなしで 19 路盤 でプロ棋士に勝った初 の囲碁AI バックギャモン ✓ 1992 ジェラルド テサウロが 「 TD-Gammon 」を開発 麻雀 ✓ 2015 年に東大の水上直紀氏が「爆打」を開発 ✓ 2018 年にドワンゴが麻雀AI 「NAGA」を開発 ✓ 2020 年に、Microsoft 「Suphx」を開発 世界最強麻雀AIとして名乗りを上げる ポーカー ✓ 2017 年、カーネギーメロン大学が Libratus を開発 ✓ 2019 年、カーネギーメロン大学とFacebook AI が Libratus の 進化版として Pluribus を開発し、6 人でのノーリミット・テキ サスホールデムでプロのポーカープレイヤーに勝利 13
AIにとって複雑なゲーム ≠ ゲームの難易度 • • • • 三目並べの碁盤には 9 (3 x 3) の格子がある 各格子には X、O、空白という 3 つの状態がある 局面数は 3 の 9 乗である、19863 となる 状態空間複雑性は約 104 (19863 ≈ 104) 完全情報ゲーム: 状態空間複雑性とゲーム木複雑性 ゲーム 参考 状態空間 複雑性 4 10 21 10 46 10 48 10 105 10 172 10 三目並べ 10 チェッカー 10 チェス 10 中国象棋 10 五目並べ 10 囲碁 10 ゲーム AI の難易度とは? - News Center Japan (microsoft.com) ゲーム木 複雑性 5 31 123 150 70 360
完全情報ゲーム? 不完全情報ゲーム? • 不完全情報ゲーム: – – • 分別できないゲームの状態の集合を情報集合といいます。 合理的なゲーム戦略は、ゲームの状態ではなく、情報集合に基づいて考える 難易度を測りかた – – • 参加者はゲームの実際の状態を分別することができない 状態空間の大きさではなく、情報集合の数を尺度にする 「完全情報ゲーム」の情報集合数は状態空間数と同じ 情報集合の平均的な大きさ – – 情報集合の中で区別できないゲームの状態の平均数 ゲームの各局面の裏に隠されている情報の数 不完全情報ゲーム: 情報集合数と平均的な大きさ ゲーム 情報集合数 1 対 1 テキサスホールデム (制限付き) 10 1 対 1 テキサスホールデム (無制限) 10 ブリッジ 10 麻雀 情報集合 の平均的な大きさ 14 10 162 10 67 10 121 10 3 3 15 48 10 参考 ゲーム AI の難易度とは? - News Center Japan (microsoft.com) 15
麻雀AI: Microsoft Suphx オンライン麻雀プラットフォームの「天鳳」で10段獲得 – 「安定段位」(平均した強さ指標)において スコア8.7 を達成 – 「特上卓」に参加するトッププレイヤーとの5,000回以上の対局における平均の成績 – 人間のトッププレイヤーの平均を上回る成績 天鳳 安定段位における比較 爆打 (AI:東京大学 /HEROZ) NAGA25 (AI:DWANGO) トッププレイヤー (人間:10段以上) Suphx (AI:Microsoft) 16
有段者からの評価・評判 「ASAPIN」のプレイヤー名で知られる朝倉康心氏 https://twitter.com/asakurapinpin 「太くないお」氏 https://twitter.com/Futokunaio_Sota 日本の麻雀プレイヤーの中では神格的存在、世界で初めて天鳳の最高 位である「天鳳位」を獲得 3人打ちおよび4人打ち麻雀の両方の「天鳳位」を獲得 (=私より強いかもしれないと感じている) https://twitter.com/asakurapinpin/status/1142473124081913856?s=20 https://twitter.com/Futokunaio_Sota/status/1142398515588374528?s=20 18
• 麻雀は「不完全情報ゲーム」の代表格 • 不確実性の高い隠された情報が非常に多い • 優れた仮説、予測、推論、ファジーな意思決定能力が必要となる 膨大な量の隠された情報 非効率なトレーニング、 ゲームツリーの検索失敗 「先読み」コーチング 複雑な報酬メカニズム 戦略的に負けることで報酬 を最大化 全体的な予測 巨大な状態空間 完全な情報でトレーニングプロ セスをスピードアップ 報酬の割り当てに ゲーム階層を使用 Deep Reinforcement Learning 適応的な 意思決定 19
Suphx は、ゲームAI の可能性を世に知らしめた • 人間の本能、予測、推論、あいまいな意思決定能力、およびゲーム内の全体 的な状況の感覚を示し、麻雀の高い不確実性に効果的に対処 • 人間の学習、麻雀のスキル向上、麻雀コミュニティの発展を支援 • 現実世界のシナリオ – 自動運転、金融投資など、ゲーム以外の分野のほとんどは未知の情報が多い – さらに、偶発的な要素にも影響を受けやすい – 世の中、社会の、複雑な問題の解決に貢献 • ただし、研究開発のコストは依然として大きい 20
Google の 模倣学習によるアプローチ AIの可能性 • ゲームソースへのアクセス • ビデオゲームの対話的性質 RLのデメリットに着目 • 固有のネットワークアーキテクチャ • MLアルゴリズムの実装の専門知識 • 大量のトレーニングデータ Falken https://github.com/google-research/falken ゲームをプレイできる AI をトレーニングできるサービスをGoogleがオープンソースにて提供 報酬やオフライン トレーニングのバッチを通じて学習する従来の RL フレームワークとは異なり、 Falken はリアルタイムの人間との対話を介した AI のトレーニングに基づいている模倣学習ます。 21
エネミーAIを作る一般的なテクニック • • • • • • ルールベースのAI 有限状態マシン パスファインディングAI 機械学習AI ビヘイビアツリー 強化学習 https://www.engati.com/blog/ai-in-gaming 22
エネミーAIを作る一般的なテクニック • • • • • • ルールベースのAI 有限状態マシン パスファインディングAI ルールベースのAI: 単純な条件分岐やルールに基づいて、敵の行動を制御 機械学習AI ビヘイビアツリー • 仕組み: 強化学習 • IF-THENルール: 条件を満たした場合に指定された行動を実行 • 例: 「プレイヤーが視界内に入ったら攻撃する」 • 具体例: • Pac-Man(1980年): ゴーストがプレイヤーを追跡 • 評価: • メリット: 実装が簡単で軽量 • デメリット: プレイヤーに予測されやすい 23
エネミーAIを作る一般的なテクニック • • • • • • ルールベースのAI 有限状態マシン パスファインディングAI 有限状態マシン(Finite State Machine, FSM) 敵の状態(待機、追跡、攻撃など)を明確に分け、条件に応じて状態遷移 機械学習AI ビヘイビアツリー 仕組み: 各状態で異なる行動を実行。条件が満たされると状態を遷移。 強化学習 例: 「待機」→「視界内にプレイヤー発見」→「追跡」。 具体例: The Legend of Zelda(1986年) 敵がプレイヤーを発見すると追跡状態に移行。 メリット: 明確でシンプルな行動制御。 デメリット: 状態数が多いと管理が煩雑。 24
エネミーAIを作る一般的なテクニック • • • • • • ルールベースのAI 有限状態マシン パスファインディングAI 機械学習AI パスファインディングAI ビヘイビアツリー • 障害物を回避しながら効率的な経路を計算するAI。 強化学習 • 仕組み: • A*アルゴリズム: 最短経路を計算するための一般的な手法。 • グリッドベースマップ: マップをグリッドに分割して移動可能なセルを評価。 • 具体例: • Doom(1993年): 敵がプレイヤーの位置に基づいて最適なルートを計算し追跡。 25
エネミーAIを作る一般的なテクニック • ルールベースのAI • 有限状態マシン • パスファインディングAI • 機械学習AI • ビヘイビアツリー 機械学習AI •• 強化学習 定義: データを学習して行動パターンを見つけ、敵の動作に応用する技術。 • • • 仕組み: • スーパーバイスドラーニング: ラベル付きデータで訓練。 • アンラベルドラーニング: データから自律的にパターンを発見。 具体例: • F.E.A.R.(2005年): 敵がプレイヤーの行動に適応し、状況に応じてグレネード投擲やカバーを選択する。 • Forza Horizon(Turn 10 Studios): レースゲームで、プレイヤーの走行データを基にAI「Drivatar」が個々のプ レイスタイルを学習し再現。 • Tom Clancy’s Rainbow Six Siege(Ubisoft): AIがプレイヤーの戦術を学習し、防御や攻撃を適応的に変更。 評価: • メリット: 過去データから合理的な意思決定を学習可能。 • デメリット: データの偏りがAI動作に影響を与える。 26
エネミーAIを作る一般的なテクニック • • • • • • ルールベースのAI 有限状態マシン パスファインディングAI 機械学習AI ビヘイビアツリー 強化学習 ビヘイビアツリー(Behavior Tree) • 定義: 敵の行動を階層構造で管理し、状況に応じた適切な行動を選択する技術。 • 仕組み: • 条件ノード: 状況を評価し次のアクションを決定。 • アクションノード: 実際の行動を実行。 • 具体例: • Haloシリーズ: 敵が状況に応じて「カバーを取る」「突撃する」などを選択。 • 評価: • メリット: 柔軟で複雑な行動を実現可能。 • デメリット: ツリーが複雑になるとデバッグが困難。 27
エネミーAIを作る一般的なテクニック • • • • • • ルールベースのAI 有限状態マシン パスファインディングAI 強化学習: AIが試行錯誤を通じて最適な行動を学習する技術。 AIが試行錯誤を通じて報酬に基づいた行動を学ぶケースが典型です。 機械学習AI これらは大量のトレーニングデータと計算リソースを必要とするため、使用される場面が限られます。 ビヘイビアツリー 仕組み: エージェント、環境、行動、報酬、方策を使う 強化学習 具体例: • Gran Turismo Sophy: 強化学習を用いてレーシングスキルを習得。 プレイヤーと競争し、高度な戦術を実現。 • AlphaStar(StarCraft II): 強化学習でプレイヤーの戦略を学習し、 リアルタイムで適応するAI。 • OpenAI Five(Dota 2): プロプレイヤーと競うための戦略を学習。 長所と短所: • 長所: 試行錯誤を通じて、未知の状況にも対応可能。 • 短所: 学習コストが高く、膨大なリソースを必要とする。 28
ゲームバランスとAI実装のリスク • ゲームバランスの崩壊 – 強すぎ、または、弱すぎ – AIに意図的にミスをさせる仕組 みを導入 – 動的難易度調整 • リソース不均衡(過剰) – ゲームシステムへの負担 – 複雑化 – コストの増加 • 製作者の意図に合わない – AIが予想外の行動を取ることで、 ゲームデザインの意図を損なう – プレイヤーの体験を損ねる • プレイヤー行動の固定化 – プレイヤーがAIの行動パターン を学習 – 特定の攻略法に依存することで、 ゲームプレイが単調化。 29
AIの適用の実績 • 人間対コンピュータのゲームの起源は1952年 – ケンブリッジ大学院生による「OXO」 • ビデオゲームのAIは1970年代あたりから – ポン・スペースインベーダー・パックマンが、初期の導入事例 – 初期のビデオゲームにおいて、高度なニューラルネットワークや機械学習は使用されず、 基本的なアルゴリズムによる予測可能な行動パターンでプレイヤーとの対話を実現 • RL強化学習に注目(Gameというより、GameをPlayするAI) – 大規模な試行錯誤、加速度的な学習プロセス、何千時間もの学習 – OpenAI Dota 2、1万年以上の自己対戦で学習、ビデオ事前学習でさらに加速 – Minecraftに、強化学習の微調整に加えて、「模倣学習」(人間の行動を見て学習する ニューラルネットワーク)を応用するなど、新しいアプローチも多い 30
AIとヒトの関係はさまざま • ゲームの難易度、課題の複雑化、マルチプレイ化 • オンラインゲーム空間全体のバランスの調整など新たな課題 31
BLUE PROTOCOLのAI実装( CEDEC 2020 発表 ) • • • • パーティ VS パーティ プレイヤー集団の分析「階層的クラスタリング」 エネミーのパーティ形成は、警戒範囲内のプレイ ヤーをターゲットとして攻撃し、ターゲットリスト を基に行動を決定します。 エネミーの行動制御には、 3つの階層 – 情報収集の「Perception」 – 意思決定の「Brain」 – 実際の制御の「Action」 • 階層型タスクネットワークを用いて、タスクを細か く分割し、実行する – 「HTN Planning」アルゴリズム – タスク実行前後の制約を加えることで、エネミーが状 況に応じて最適な行動を選択するように制御 32
「仲間」となるAIが登場 Project Paidiaの発表: Microsoft Researchの強化学習(RL) 協力ナビゲーションタスク 「Bleeding Edge」( Ninja Theory)に採用 エージェントが一連の決定を行うアプローチ 単一エージェントおよびマルチエージェントRL、オープンソース RLアルゴリズムへのアクセス、様々なゲーム環境への対応 • TensorFlow、ONNX、PyTorchモデルをゲーム内使用 • • • • • https://developer.microsoft.com/en-us/games/articles/2020/08/supercharge-games-with-azure-ai-and-reinforcement-learning/ 33
DEMO動画 Reinforcement Learning Advances With Project Paidia | IGL186 (3年前のIgniteにて公開) https://www.youtube.com/watch?v=rhnGNwTyA-8 34
PlayStationとソニーAI部門のゲームAIエージェント PlayStationはソニーの人工知能部門と協力して、人間のプレイヤーと共にゲーム をプレイできるAI「エージェント」を開発中 エージェントは、プレイヤーのゲーム内の対戦相手や協力パートナーとなる ゲームAIエージェントの特徴 • 特許技術の関連 – • 人間のプレイスタイルの模倣 – • • • ソニーの最近の特許「ゲームアプリケーション中の特定タスクのための自動化された人工知能 (AI)制御モード」に関連している可能性。 人間のユーザーのプレイスタイルに基づいて「プレイをシミュレート」するAI。 ゲーム内AIキャラクターの進化 エージェントは、協力プレイやPvPゲームでの人間のプレイヤーに近い存在 として設計されている。 マルチプレイヤーゲームにおける「ボット」への適用 https://www.ign.com/articles/playstation-game-ai-agents 35
「AI技術の活用」(ゲームとAI) • ゲームとAIの関係 • ゲームにおけるAI利用の変遷と拡張 • 生成AIはゲーム開発に使えるの? • ゲーム産業における象徴的なAI事例 • まとめと振り返り 36
ゲーム業界の歴史(1970-2020) 1970-1983: ゲームクラッシュの前夜 • 初期のビデオゲーム「Pong」 • アーケード → 家庭用「Pong」( 1975 ) • Atari 2600( 1977 )が100万台以上を売上げ 1985-2000: 技術進歩競争 • AtariはPac-ManとE.T.のゲームで失敗 • 任天堂のNESは、高品質とマーケティングで勝利 • セガ、パナソニック、ソニー、マイクロソフト 2001-現在: オンラインブーム • インターネットとモバイルの台頭 • 業界は数十億ドルから数百億ドル規模に成長 • MicrosoftはXbox Liveを開始 • BlizzardはWorld of WarcraftでMMO市場を開拓 • Appleがモバイルプラットフォームのゲームを確立 主要なゲーム買収(2014年以降) • Facebook:Oculus(VR)30億ドル • Amazon:Twitch(ストリーミング)10億ドル • Microsoft:Mojang(ゲーム)25億ドル 最近のトレンド • MicrosoftやSonyは新しいコンソールを開発 • 各社は、クラウドベースのサブスクリプション提供 • ダウンロードゲーム +クラウドゲーミング • AIの高度な活用 2020年時点で、世界中に27億人以上のゲーマーが存在 彼らの支出方法が今後のゲーム業界を形作る 50 Years of Gaming History, by Revenue Stream (1970-2020) https://www.visualcapitalist.com/50-years-gaming-history-revenue-stream/ 37
初期のAI - チェスとアーケードゲーム 特徴: • 簡単なルールベースのアルゴリズムを利用した敵の行動ロジック。ルールベースアルゴリズム • 計算リソースが限られていたため、シンプルながらも戦略的な行動を実現。 代表作品と仕組み: 1. Space Invaders(1978年) 1. 敵キャラクターが一斉に動き、プレイヤーに迫る。 2. Pac-Man(1980年) 1. ゴースト(敵キャラクター)が異なるパターンでプレイヤーを追跡。 Pac-Man with OOP https://medium.com/@shivangk1407/pac-man-with-oop-1a26ae6c3c87 38
発展期(1980〜1990年代前半) 特徴: • アーケードゲームや家庭用ゲーム機の性能向上により、敵AIがより複雑化。 • 状態遷移(State Machine)を用いた敵の行動制御が一般的に。 代表作品と仕組み: 1. The Legend of Zelda(1986年) – 敵が特定の条件下でプレイヤーを追跡または攻撃。 – 仕組み: 敵が「追跡モード」と「待機モード」を切り替える状態遷移を採用。 2. Super Mario Bros.(1985年) – 敵が単純な動きをしながら、プレイヤーの行動に応じて反応。 – 仕組み: 画面内に入った敵だけがアクティブ化される省メモリ設計。 3. Doom(1993年) – FPSジャンルで敵がプレイヤーを見つけて攻撃する仕組みを導入。 – 仕組み: • ラインオブサイト(視線)の概念を利用し、敵がプレイヤーを検知。 • パスファインディングでプレイヤーを追跡。 39
高度化の時代(1990年代後半〜2010年代) 特徴: • 敵AIが環境やプレイヤーの行動に適応可能に。 • チームAIや連携行動が重要視され戦略的な挑戦の機会を提供。 代表作品と仕組み: 1. Halo: Combat Evolved(2001年) – 敵がグループで戦術的に連携。プレイヤーの攻撃に応じて位置を変える。 – 仕組み: • 状態遷移を高度化し、カバーを取る、退避する、攻撃するなどを選択。 • 敵の個性を出すために種族ごとに行動パターンを変更。 2. Half-Life(1998年) – NPC兵士がプレイヤーの位置に基づいて戦略的に行動。 – 仕組み: A* Wikipediaより • パスファインディングにA*アルゴリズムを採用。 • グレネードを使った攻撃やプレイヤーの位置を推測した動き。 3. F.E.A.R.(2005年) – 敵がカバーを取り、退避し、仲間と連携してプレイヤーを攻撃。 – 仕組み: • プランニングAIを使用し、敵が目標を達成するために複数の行動を組み合わせる。 40
現代(2010年代以降) 特徴: • 強化学習や機械学習を取り入れた敵AIが登場。 • プレイヤーの行動に適応し、ダイナミックな挑戦を提供。 代表作品と仕組み: 1. The Last of Us Part II(2020年) – 敵AIが連携し、プレイヤーを追い詰める。感情的な反応を行動に反映。 – 仕組み: • 状態遷移を用いながらも、動的なチームAIで個体間の連携を強化。 • プレイヤーが見つからない場合でも、音や視覚の情報を頼りに推測して行動。 2. Middle-earth: Shadow of Mordor(2014年) – Nemesisシステムにより、敵がプレイヤーの行動を記憶し、再戦時に個別の因縁を形成。 – 仕組み: • 敵ごとに固有のデータベースを持ち、行動履歴を保存。 • プレイヤーとの関係性を動的に変更。 41
ゲームにおけるAIの起源 AIのゲーム業界での利用は1960〜70年代に始まる。基本は対戦相手(エネミー)の演出 シンプルなルールベースAI – 例:Pac-Man: ゴーストの行動パター ンがルールに基づき設計され、戦略的 なプレイを実現 – 例:チェスAI: プレイヤーと対等に戦 う意思決定ロジックを搭載。 42
「敵」ではなく「ゲームそのものを開発」するAI AIは、ゲーム開発プロセスの効率化を実現する重要なツール。プロシージャル生成技術を用いることで、 広大なマップや多彩なキャラクターを短期間で作成可能になる。 また、AIを活用した自動テストにより、開発者の負担を軽減する。 AIでのマップ生成 テストプレイの自動化 43
AIとプレイヤー体験の深化 AIは、プレイヤーの選択や行動に応じ てゲーム体験をカスタマイズし、没入 感を向上させる。→ 適応型AIを使えば、 プレイヤーのスキルレベルに応じた難 易度調整が可能になる NPCの行動をリアルにすることで、 ゲーム世界の「生きた」感覚を提供 「The Last of Us」の例: 敵AIがプレイヤーの位置や行 動に応じて戦術を変更。 「AI Dungeon」の例: AIがリアルタイムでストーリー を生成し、プレイヤーの選択に応じて物語を展開。 スクウェア・エニックスの研究者が提案する、“メタAI” 44
ゲーム業界でのAIの応用範囲は多岐にわたる ゲームに組み込まれるもの • In-Game AI – 敵キャラクター、NPC(非プレイヤーキャラクター)、動物、環境要素など、ゲーム内 でプレイヤーと直接関わる要素を制御します。 – わかりやすい実感しやすいAI • Out-Game AI – ゲーム全体の進行を監視し、神的な視点で全体に影響するもの、補助的なもの – バックグラウンドで動作する、バランス調整、マッチメイキング、報酬など ゲームに組み込まれないがゲーム制作に大きな影響を与えるAI • クリエイティブAI(制作作業におけるAI) – コンテンツ生成やデザイン支援 • テストAI – 自動テスト、テストデータ分析、動的デバッグ 45
エネミーAI 以外にもさまざまな利用が進む カテゴリ In-Game AI ゲーム内のキャラクターや 環境を制御 Out-Game AI クリエイティブ/テストAI プレイヤー体験を調整 ゲーム制作プロセスを効率 化・自動化 使用目的 没入感の向上 体験の最適化 制作コストの削減、品質向上、 効率化 動作の範囲 ゲーム内 ゲーム外 制作ツールやQAプロセスの 一部 例 敵の行動、NPCの対話 マッチメイキング、難易度 調整 レベルデザイン生成、QA自 動化、ストレステスト 役割 これらの AIは、将来、連携、統合される可能性がある また、生成AI(Generative AI)の台頭により、個人作業にもAIが浸透 ますますAIがゲーム制作に大きな影響を与える 46
In-Game AI ゲームプレイ中に動作し、プレイヤーの体験を直接向上させるAI。 ジャンル名 定義 代表例 技術の特徴 ダイナミックAI プレイヤーの行動や状況に応 じて、NPCやゲーム環境がリ アルタイムで適応し、変化す る技術。 - The Last of Us Part II: 敵が連 携してプレイヤーに対応 - Left 4 Dead: ゾンビの出現を 調整 - 状態認識と行動生成 - 強化学習(Reinforcement Learning) - プレイヤーモデリング 適応型AI プレイヤーのスキルやプレイ スタイルに基づき、難易度や ゲーム展開を動的に調整する 技術。 - Hades: 難易度をスキルに応じ - プレイヤーモデリング て調整 - 動的難易度調整(Dynamic Difficulty - Resident Evil 4: 敵配置やアイ Adjustment) テムドロップを変更 ソーシャルAI NPCがプレイヤーや他のNPC と自然な会話や感情的な反応 を行う技術。 - Cyberpunk 2077: NPCがリア ルな日常行動をシミュレーショ ン - Inworld AI: NPCが動的な会話 を生成 - 自然言語処理(NLP) - 感情シミュレーション - 音声合成(TTS) シミュレーションAI 環境や生態系の動きをリアル に再現し、プレイヤーがその 影響を体験できる技術。 - SimCityシリーズ: 都市環境の シミュレーション - Red Dead Redemption 2: リ アルな動植物の行動 - エージェントベースモデリング - パーティクルシステム - ルールベースモデル 47
Out-Game AI ゲーム外でプレイヤーや開発者に価値を提供するAI。 ジャンル名 定義 代表例 技術の特徴 マッチメイキングAI プレイヤーのスキルやプレイ スタイルを分析し、公平で楽 しめる対戦相手やチームを自 動的に選定する技術。 - Apex Legends: 実力に基づ く対戦マッチング - Overwatch: ランク別マッチ メイク - クラスタリング - レコメンデーションシステ ム スコアとリーダーボードAI プレイヤーのパフォーマンス を分析し、ランキングを生成 する技術。 - Fortnite: グローバルリー ダーボード - Call of Duty: 個人スコアと 統計の追跡 - 統計分析 - データ可視化モデル ソーシャルゲームAI ゲーム内でのフレンド機能、 チャット、ギルド管理など、 プレイヤー同士の交流を支援 する技術。 - Clash of Clans: ギルドシス テムとチャット - 自然言語処理(NLP) - Roblox: ソーシャル機能と協 - ネットワーク解析 力プレイ ユーザー行動解析AI プレイヤーの行動データを収 集・分析し、ゲームバランス の改善やパーソナライズされ た体験を提供。 - Netflixのゲーム推奨システ ム - モバイルゲーム広告最適化 カスタマーサポートAI プレイヤーの質問や不具合報 告に迅速に対応し、サポート コストを削減。 - EAのサポートAI: プレイヤー - 自然言語処理(NLP) の質問を自然言語処理で解釈 - FAQ生成 し、自動回答。 - 機械学習(クラスタリング、 分類) - 行動予測モデル 48
クリエイティブAI/ テストAI 開発者を支援し、制作やテストの効率を向上させるAI。In-Game/Out-Game に負けずかなり注目されている ジャンル名 定義 代表例 - No Man’s Sky: 惑星や 規則やアルゴリズムに基づいて、 生態系をリアルタイムで ゲーム内コンテンツ(地形、敵、 プロシージャルAI 生成 アイテムなど)を自動生成する - Minecraft: 地形や構造 技術。 物のランダム生成 技術の特徴 - 擬似乱数生成(PRNG ) - フラクタル生成(Perlin Noise) - ルールベース生成 テスト支援AI - GameDriver: 自動プレ - パターンマッチング 自動でゲームの不具合を検出し、イテスト - 強化学習(AIがテスト 開発者にフィードバックを提供。- Keywords StudiosのAI プレイを学習) QA: バグ検出 アート生成AI ゲームのテクスチャ、キャラク ターデザイン、エフェクトを効 率的に作成。 - Unity ArtEngine: テク スチャ自動生成 - MidJourney: コンセプ トアート作成 - GAN(Generative Adversarial Networks) - スタイル変換モデル 49
「AI技術の活用」(ゲームとAI) • ゲームとAIの関係 • ゲームにおけるAI利用の変遷と拡張 • 生成AIはゲーム開発に使えるの? • ゲーム産業における象徴的なAI事例 • まとめと振り返り 50
ゲームのAIに、生成AIは使えるのか? パックマンゴーストAIの本質 • パックマンの各ゴーストは、見かけはシンプルですが、以下の重要な特徴を持っています: • 予測可能性:プレイヤーが学習できる一貫した行動パターン • 個性:各ゴーストの独自の動きによる戦略性 • 即時性:ミリ秒単位での素早い判断と行動 • 効率性:最小限のリソースで動作する軽量な処理 流行りのAIを使うと・・? • 汎用LLMをそのまま使用する場合の問題点: • • • • • レイテンシ:APIコールに数百ミリ秒が必要 一貫性:同じ入力でも異なる出力が生成される リソース効率:常時接続と高いコンピューティングリソースが必要 コスト:API使用料が累積する 現実的な活用方法(LMの効果的な活用シーン) • • • • • 開発時のNPC会話文生成 ゲームそのものの企画やプログラムコードを生成 シナリオやクエストの自動生成 プレイヤーの行動パターン分析 QAテスト時の自動プレイ 51
生成AI(Generative AI)は発展途上 – 注目は大きい、本番適用は慎重 – LLM+マルチモーダル(VLMなど)の技術発展の組み合わせを模索 – ビジュアル情報や音声情報と組み合わせた新たな体験や開発フローが生まれつつある – 大規模な開発現場では、高度なカスタマイズや業務要件への適合が不可欠 • 生の生成AIサービス(クラウド+プロンプト+RAG)は限界がある – 特定のシナリオでは、かなり利用が進んでいる • 企画作り(ストーリー、キャラクター)、絵素材のラフ作成、教育分野、など In-Game AI 主な用途: • NPCとの自然な対話システム • クエスト・物語の自動生成 • シナリオの動的調整 開発支援 主な機能: • シナリオ・台詞の自動生成 • ステージ設計の分析と改善 • バグ検出の自動化 Out-Game AI 主な用途: • プレイヤーデータの解析と最適化 • カスタマーサポート自動化 • コミュニティ管理 将来展望:業界特化アプリの開発 • 視覚情報処理の統合 • 多様なインタラクション対応 • 企業固有の要件対応 52
事例:Microsoft to integrate AI into games 1. 主な機能 Minecraftでの実装例 •自然言語による質問機能 •インベントリ内の自動検索 •クラフトレシピのガイド •必要素材の入手方法案内 特徴 1.ゲーム内で直接質問可能 2.リアルタイムの状況に応じた回答 3.Alt+Tabでの検索が不要に 2. 技術的特徴 •OpenAIのChatGPTとDalle-3言語モデルを活用 •デバイス内でのデータ処理 •プライバシー重視の設計 3. 想定される影響 •初心者の学習障壁低下 •ゲーム体験の効率化 •シームレスなゲームプレイ https://www.windowscentral.com/microsoft/microsofts-ai-will-be-inside-minecraft-and-other-xbox-pc-games-new-copilot-features-will-search-your-inventories-offer-tips-and-guides?s=31 53
個人開発者(個人作業)向け、生成AI • テキスト生成 • ChatGPT/Copilot • シナリオ、キャラクター設定 • コード生成、デバッグ支援 • ビジュアル生成 • Midjourney/DALL-E/Stable Diffusion • コンセプトアート • キャラクターデザイン • 背景、テクスチャ • オーディオ生成 • Voicevox: キャラクターボイス • Suno AI: BGM、効果音 • 動画生成 • Lumiere: プロモーション映像 ※注意点 •著作権・ライセンスの確認 •生成物の品質チェック必須 •あくまで補助ツール 54
「学び」と「創造」の両面でAI革命 • 生成AIの得意分野の一つに、プログラミング、企画作成、があります • AIはゲーム制作を「学ぶ」ことと「作る」ことの両方同時に貢献 – 「簡単に作れる」ことが初心者を引き込む – 「基本知識を得やすい」環境が継続的な成長を可能にする • 将来的には、AIが提供する「制作ツール」と「学習支援」がさらに統合され、 初心者でも高度なゲーム制作が行える時代が加速すると考えられてます 要素 簡単にゲームが作れる時代 ゲーム制作の基本知識を得やすい 対象 アイデアを形にしたいクリエイター 学びたい初心者 目的 実際のゲーム制作とリリース 学習とスキル向上 使用するAIの役割 制作プロセスの効率化、自動化 企画レベルのゲームを作成代行 メカニクスや、技術用語を説明 図解などを用いた、可視化 55
個人ゲームを作ってみましょう • AIの勉強になる ゲーム開発の流れを通して、画像生成やテキスト生成などのAI技術を試せる • ゲームの勉強にも役立つ メインループ・描画処理など基礎構造を手を動かして理解できる • プログラムを書きたくない!? プロデューサー志望でもOK 「AI」のおかげで、簡単にプログラミングを行いプロトタイプを作れる • 少人数・個人でも挑戦できる アセット作成(ガチャチケなど)をAIに手伝わせればゲームを実現しやすい 人が生み出すアイディア+AIの力 で 「個人ゲーム」 を作ってみましょう! 56
ゲームのプログラミングの仕組みもAIに聞いてみる while (true) { processInput(); update(); render(); } ゲームループ、フレームレート、一貫したゲーム体験 • ゲームループ – ゲームの基本動作を制御する連続的な処理 – ユーザーの入力処理、画面の描画処理を行う – ゲームのロジック(キャラクターの動き、スコア計算)を含む • フレームレート、FPS、Frames Per Second – 1秒間に画面が更新される回数 – 一般的なフレームレートは、30FPSや60FPSなど • ハードウェアの違いを意識しない体験 – 補間(interpolation)や外挿(extrapolation) – グラフィックス設定やフレームレート制約 – 固定タイムステップ(ゲームロジック処理の更新を 60回/秒にする) https://gameprogrammingpatterns.com/game-loop.html 57
ループでできている 初期化/Initialization Check for Input Update Physics Update world Handle NW Move Player Update Enemy Update State Draw World 終了/Shut Down 58
Sample Game ソース: https://github.com/dmasubuchi/KITGames/tree/main デモ:https://black-ocean-0fc6c5310.4.azurestaticapps.net/ 59
60
キーInput 主要な機能 1.キー入力検出 1. 矢印キー(上下左右)の入力 を監視 2. 入力されたキーを画面中央に 表示 3. ログにキー入力を記録 2.ログ管理 1. 最新10件のログを保持 2. タイムスタンプ付きで表示 3. 自動スクロールで最新を表示 61
FPS • FPS (フレームレート) とは – 動画やゲームの画面は、静止画を連続して表示することで動きを表現しています。この1秒間 に表示される静止画の枚数をFPS (Frames Per Second) またはフレームレートと呼びま す。FPSの値が大きいほど、画面の動きは滑らかになります。 – 人間の目は、ある程度のフレームレート以上であれば動きを滑らかに感じ取ることができま す。一般的に、30FPS程度で滑らかな動画として認識され、60FPSではさらに滑らかで、動 きの速いゲームなどに向いています。 • requestAnimationFrame – requestAnimationFrame は、ウェブブラウザに搭載されているAPIの一つです。ブラウザ に次のフレームを描画するタイミングで、指定した関数を呼び出すよう指示することができ ます。 – ゲーム開発において requestAnimationFrame を使用すると、画面のリフレッシュレートと 同期して処理を実行できるため、滑らかなアニメーションを実現し、CPUやGPUの負荷を軽 減することができます。 • ゲームループ – ゲームは、内部で状態の更新、描画、入力処理などを繰り返すことで進行します。この処理 の流れをゲームループと呼びます。 – requestAnimationFrame を用いることで、ゲームループをブラウザの画面更新と同期させ ることができます。 62
60FPSの場合 63
将来・商用環境では、遅延を考慮 稼働環境ごとの性能、 さまざまな遅延時間を 考慮してループを再構 築 ラグ補償、ヒットボックス 垂直同期設定(VSync) 予測処理などを併用 64
サンプルゲーム 65
サンプルゲーム • 猫とハンバーガーのオブジェクトの状態: 1. 位置(x と y 座標): これらはオブジェクトの画面上の位置を表します。 2. 速度(speed、dx、dy): 猫のオブジェクトに関連する速度と方向を表します。 3. 画像(catImage、hamburgerImage): これらはオブジェクトの視覚的表現を提供します。 • ゲーム全体の実行On/Offの状態: • gameRunning 変数: ゲームが進行中かどうかを表すブール値です。 • これはゲーム全体の「状態」を表しており、ゲームループの実行を制御します。 66
ゲームの物理(基本編) • 重力 – オブジェクトが、地面へ落下する – ジャンプや落下の動きを再現 • 衝突 – オブジェクトどうしが接触するときに発生 – オブジェクトが互いを通過しないようにする – AABB、円形、多角形の衝突検出が一般的 • 応答と反発 – 衝突後、オブジェクトは反発する – 弾力性や摩擦などの物理特性を計算 67
ゲームの物理(すこし応用編) • 剛体ダイナミクス – 変形しない固体オブジェクトの動きを再現 – 力、トルク、運動量などの物理法則を適用 – 回転や移動をシミュレート • ソフトボディダイナミクス – 変形可能なオブジェクト – 布やゲルのような柔らかい物質 – 複雑な数学的計算が必要 • 流体ダイナミクス – 水や空気などの流体 – 流れのパターン、圧力、乱流などを考慮 – 複雑な数学的計算 https://www.youtube.com/watch?v=1o0Nuq71gI4 サポートツールも存在する 記事:リアルタイムVFX用パーティクルベース のシミュレーション技術「PhysX Flex」の最 新映像!剛体、ソフトボディ、流体もお手の 物! https://developer.nvidia.com/content/new-flex-features 68
ゲームの物理(すこし応用編・その2) • レイキャスト – オブジェクトから放出する線(レイ) – 視線や射撃軌道の計算、障害物検出に利用 • レイトレーシング – よりリアルな光の効果 – 光の屈折や反射を追いかける 69
ゲームの物理(すこし応用編・その2) • 物理エンジンの利用 – Box2D、UnityのPhysX、Havokなど – 複雑な物理計算を効率的に処理し、 開発者の負担を軽減します • 最適化とリアリズム – 計算コストの削減が必要 – 目的に応じて、リアリズムを取る、 特定の物理効果を省略 – リアルな物理シミュレーションは計 算コストが高いため、ゲームでは近 似や単純化がしばしば行われます Microsoft Acquires Havok Physics from Intel https://www.techpowerup.com/216542/microsoft-acquires-havok-physics-from-intel https://www.youtube.com/watch?v=k7_1HQBnOtU 70
1時間以内で作れるゲームの例:コリジョン・物理演算
1時間以内で作れるゲームの例:コリジョン・物理演算
1時間以内で作れるゲームの例:アセット • Github: https://github.com/dmasubuchi/KITGames/tree/main/MazeGame10Maps アセットとは ゲームを構成する素材(リソース)の総称: 例:画像(キャラクター、背景、アイテムなど)、 音声(BGM、効果音)、テキスト(シナリオ、設定 など)、マップデータ、設定ファイル 1. 開発効率の向上 •素材の差し替えが容易 •複数の開発者での並行作業が可能 •アセットなしでも開発可能(フォールバック機能) 2. メンテナンス性 •アセットの変更が設定ファイルの編集だけで可能 •バージョン管理がしやすい •問題発生時の切り分けが容易 3. 拡張性 •新規マップの追加が容易 •新しい画像や音声の追加が簡単 •異なるテーマへの対応が容易 73
企画とゲームデザイン:LLMを使ったアイデア出し • • Chain-of-Thought アプローチによるアイデア展開 思考のプロセスを段階的に分解し、論理的にゲームコンセプトを構築する手法です。各ス テップで得られた知見を次のステップに活かすことで、より実現可能性の高いアイデアを生 み出すことができます。 以下の要素を持つ迷路探索ゲーム「KIT Explorer」のコンセプトを展開してください: 基本要件: - ウェブブラウザで動作 - キーボードの矢印キーで操作 - シンプルな敵キャラクター - 探索要素 各観点での詳細化: 1. ゲームの世界観 2. プレイヤーの目的 3. 核となる面白さ 4. 差別化ポイント 5. 教育的要素 74
企画とゲームデザイン:LLMを使ったアイデア出し 次にアイディア検証、コンセプトマトリクス、ゲームニクスなどを作ります KIT Explorerの基本メカニクスについて、以下の要素を詳細化してください: 1. プレイヤーの行動 - 移動システム - 特殊アクション - 制限事項 2. 敵キャラクターの性質 - ・・・ 3. 迷路の特徴 - ・・・ 4. スコアシステム - 得点要素 - クリア条件 - ランキング実装 75
企画とゲームデザイン:LLMを使ったアイデア出し ユーザー体験のイメージを作ります KIT Explorerのユーザー体験を以下の観点で設計してください: 1. チュートリアル設計 - 操作説明 - 初期ステージ KIT Explorerのユーザー体験を以下の観点で設計してください: 2. 難易度進行 - レベル構成 - 新要素の導入タイミング - 達成感の演出 3. UIデザイン - 画面レイアウト - 情報表示 - 操作フィードバック 4. サウンド要素 - BGM方針 - 効果音設計 - 演出タイミング 76
ゲームMVP開発:基本設計 ゲームループなどの普遍的な基本の構造を設定する 必要な要素: 1. メインゲームループ 2. 状態管理 3. 更新処理 4. 描画処理 77
雑にAIに書かせても、基本設計があれば読みやすい 個人ゲーム開発のポイント 誰が読んでも理解しやすい: ゲーム開発の基本ロジックは世界共通 テンプレ化: ループ/描画/入力の流れを守る 中身は拡張要素: 追加要素で味付けする 「音声, アニメ, 物理」などは後から ポイント: •メインループ: 毎フレーム「更新→描画→次フレーム」の定型構造 •描画処理: 背景→キャラ→UI など、描画順を明示 •キーボード操作: ユーザー入力を受けてキャラ座標やメニュー操作を制御 •関数分割: update(), render(), handleInput() などに分けると可読性向上 78
AIが書いたコードをより良くするコツ ロジックとコンテンツを分離 • ゲームの地図データやアセットリストを JSON等の外部ファイル に置き、 コード側ではそのデータを読み取るだけにする。 • 修正や差し替えが容易になり、可読性も向上。 データ駆動設計を意識(サンプルではこれは未実装) • キャラクターや敵のパラメータなどをハードコードせず外部定義 • AIに「JSONでデータを管理し、スクリプトはそれを参照する構造にして」 と指示すればOK。 79
AIが書いたコードをより良くするコツ 外部ファイルにする時はステップバイステップで行う • はじめに「メインループ」「更新」「描画」を分けた小さなコードを作成 • 小さなコードの時は、外部ファイルの分離がしていない状態 • 段階的に「アセットを外部JSONに」「マップをJSONに」などの指示 https://mermaid.live/edit#pako:eNpVkbtKA0EUhl9lmDrBwm4LwSSKRVIllbtBht3Zi-zuLLNnvRBSOCNqJ0LETpFYCMELpDEoDCHEHwLJ7tJkanO_PP95zJnQF3hcWpRPxanbsgkkF7DSYk5u3buyigDcpwT1M-oXlBPUb-h-kKtUX30Sb2-Qxp2h2VtfsJjA4rUoI_LZ_2Ahr1D6rf_ipfiTdtlucc8iNXpH4UVJ7F6Huub1Fd_j1N8eId9R2q2YatZUMEMSdwBsSkLJu5QT1ZjF5RX6EyXc2MsvI0S8_eypNk2yRgSRWYCvPxJ -p7VNVIk406_ZBr9Peana7RqY1mnCZsMgzHzRYYg6FkCfcoZYJPe6zIgaHOunQoKwA0T1PXWqBLHiNSlEE4fpSZB4D3opYIFlCLZ_FuVG5F4GQnWoD5SJqNGPpoRBrZvgPFE2q4w 80
「AI技術の活用」(ゲームとAI) • ゲームとAIの関係 • ゲームにおけるAI利用の変遷と拡張 • 生成AIはゲーム開発に使えるの? • ゲーム産業における象徴的なAI事例 • まとめと振り返り 81
プロシージャル生成(マップ/アイテム/コンテンツ) 大量のコンテンツを自動生成する仕組みの総称。制作コストと作業時間を大幅に削減し、リプレイ性を高 める手法としてゲームで広く活用。 大まかな仕組み・構造、動きの例 1. 乱数生成 1. 乱数(ランダムシード)を受け取り、ゲーム開始ごとに異なる初期値を生成。 2. 例:Rogueではランダムに配置された部屋の位置や形状を組み立て、通路を結合してダンジョンを構築。 2. ルールベース 1. マップやオブジェクトの配置に関する一定の制約(例:部屋の最小/最大サイズ、通路の長さ、アイテムのレア度な ど)。 2. 乱数だけでなく、プレイヤー進行度や難易度バランスを考慮するケースもある。 3. ノイズ関数 1. Minecraftのように、地形形成にPerlin NoiseやSimplex Noiseを使い、自然風の連続性を再現。 2. 高さマップを生成し、丘や谷をランダムに配置。 代表的なアルゴリズム • Perlin Noise / Simplex Noise – 自然な連続ノイズを生成するために用いられる。 • Cellular Automata – 2次元マップをセル単位でルール的に変化させ、洞窟や通路を生成。 • Wave Function Collapse – サンプルパターンを組み合わせてマップを埋めていく手法。タイル状のプロシージャル生成に向いている。 82
プロシージャル生成(マップ/アイテム/コンテンツ) インディーでも導入が進み、手作業での世界構築コストを削減しつつコンテンツを拡張 建築・都市設計などゲーム以外の分野でも自動生成技術の応用が模索され盛り上がりを見せる • • • • 1980年:Rogue • ダンジョン生成で用いられた先駆的なプロシージャル技術。 • 乱数+ルールベースを組み合わせて毎回異なるマップを生成。 1997年:Diablo • ダンジョンやアイテムドロップの自動生成システムを本格導入。 • ルールによる段階的なマップ生成とランダム要素でリプレイ性を確保。 2009年:Minecraft • 無限に近い地形を生成するアルゴリズムを実装。 • ノイズ関数(Perlin Noise 等)を応用し、大規模な世界を構築。 2016年以降:No Man’s Sky • 天体・地形・生態系・音楽まで自動生成する大規模システムを展開。 • 多層にわたるルールや乱数を活用し、膨大な星系を構築。 83
No Man’s Sky の プロシージャル生成 No Man’s Sky • 開発背景: – Hello Games インディースタジオ 小 規模チーム20人 開発初期4人 独自エ ンジン C++ PC/PS4同時開発 • 世界構造: – 球体惑星表面 立方体マッピング ボク セルベース 地形生成システム LOD管 理 32x32x32メートル領域 オクツ リー空間管理 https://www.youtube.com/watch?v=sCRzxEEcO2Y 84
No Man’s Sky の プロシージャル生成 No Man’s Sky • 生成パイプライン: – リアルタイム地形生成 マルチスレッ ド処理 並列実行 ボクセルデータ ポリ ゴン化 球体変換 物理メッシュ ナビ メッシュ オブジェクト配置 • 技術的特徴: – デュアルコンタリング法 トライプラ ナーテクスチャリング コンピュート シェーダー メモリ最適化 パフォーマ ンス最適化 LODシステム 85
No Man’s Sky の プロシージャル生成 No Man’s Sky • アーティスト関連: – プロシージャル生成補完 アーティス トコントロール ビジュアル評価 コン テンツ生成 アーティスティックビ ジョン • 開発哲学: – 技術革新 アート・技術バランス 小規 模チームの可能性 探索ゲーム開発 リ アルタイム処理 86
プロシージャルアプローチとエネミーAIの組み合わせ Valveの『Left 4 Dead』シリーズに搭載されているAIディレクターは、プレイヤーの行動や状態をリア ルタイムに監視し、敵の出現(ゾンビや特殊感染者)やアイテム配置、演出(BGM・SE)などを動的 に制御するシステム Left 4 Dead 基本情報 • 2008年11月発売 • Valve Corporation開発 • 4人協力型ゾンビFPS • PC/Xbox 360向け GDC 2009での発表要点 1. AIディレクター 1. プレイヤーの状況に応じた動的調整 2. ドラマチックな展開の自動生成 3. リプレイ価値創出の仕組み 「回復アイテムが不足気味」「プレイヤーがうまく連携 してゾンビを排除している」などを判断し、スポーン数 や配置アイテムを動的に調整。 2. 技術革新 1. Source Engine活用 2. 動的な音楽/サウンドシステム 3. 協力プレイ最適化 87
ストーリー生成・シナリオ支援 ゲーム内テキストやイベントの分岐管理・自動生成を補助する技術。 大量のシナリオやクエストを統合的に管理することで、制作者の負担を軽減。 大まかな仕組み・構造、動きの例 1. 状態管理/フラグ管理 プレイヤーが獲得したアイテム、到達したシーンなどをトラッキングし、ストーリー進行を制御 イベント発生条件が整うと、シナリオ分岐を自動で振り分ける 2. 自然言語処理(LLM) 簡単なプロンプトや設定(世界観、キャラクターの関係性など)を入力すると、AIが下書きを生成 シナリオライターが補筆・修正して最終的に完成させる 代表的なアルゴリズム • ツリー/グラフ構造による分岐管理 • マスターデータにイベント情報を記述し、ノードやエッジで分岐を表現。 • Markov Chain(マルコフ連鎖) • 単純な確率遷移を使い文章やストーリー展開を生成する際に使用。 • Transformerベース(例:GPT系) • 大量のテキストデータから学習し、高度な文章生成を行う。ゲームシナリオにも応用可能。 88
ストーリー生成・シナリオ支援 企画段階から商業タイトルまで、プロトタイプ生成にAIを活用する流れが一般化、 LLMは、かなり広く使われてます • • • 2002年:Neverwinter Nights • 「モジュール」形式でユーザーが独自シナリオを構築可能。 • 公式ツールにおいてイベントの自動配置支援が導入。 2014年:ファイナルファンタジーXIV(拡張運用段階) • 大量クエストをスクリプト管理する際、シナリオ分岐やイベント配置をツール化。 • プレイヤーの進行状況に応じたクエスト分岐を自動管理。 2022年以降:大規模言語モデル(LLM)の活用 • ストーリーテリング支援や会話フロー原案の自動生成。 • AIアシスタントがクエスト文書やNPCのバックストーリーを下書き、人間が仕上げるフローが増加。 89
ダイナミックストーリーテリング AIダンジョン • AI Dungeonの革新点: • • • • オープンエンドなストーリー生成 プレイヤーの選択による物語分岐 テキストベースの無限の可能性 動的なワールド構築 90
NPC(非敵キャラクター)対話・演出 自然言語処理(NLP) を駆使し、ゲーム内でNPCがプレイヤーと会話するインタラクションを演出。 テキストの大量生成やNPCの個性付けにより、ゲーム世界の没入感を高める。 大まかな仕組み・構造、動きの例 • 音声合成・音声認識 – ユーザーが音声入力した内容をテキストに変換し、AIが解析。 – NPCが応答する際には音声合成エンジンでリアルタイムにボイスを生成。 • 会話履歴・コンテキスト管理 – 直近の会話だけでなく、長期的な履歴(プレイヤーの選択やNPCとの関係性)を保持し、発話内容を変 化。 • LLM(ChatGPTなど)の推論 – 内部でNPCの設定や世界観をパラメータ化し、会話内容を動的に生成。 代表的なアルゴリズム • 音声認識エンジン(例:CMU Sphinx, Kaldi, DeepSpeech など) • プレイヤーが喋った内容をテキスト化。 • RNN / Transformer ベースの言語モデル • NPCのテキスト応答を生成する中核部分。 • Dialogue Manager(対話管理システム) • 会話の状態と遷移を制御し、シームレスな対話を実現。 91
NPC(非敵キャラクター)対話・演出 ChatGPTのようなモデルの登場で進化が加速 ユーザーとの自由な会話演出を目指す試作が多数発表されており、業界全体で注目度が上昇 • • • 2011年:Siri(ゲームではなく、スマホ領域だが技術的転用に注目があつまる) • 音声対話技術が注目を集め、ゲーム向けの音声入力・対話演出への研究が進むきっかけに。 2017年:Ubisoftの対話アシスタントプロトタイプ • NPC同士の会話やプレイヤーとの対話を自然言語処理で生成する試み。 • 大量のテキストを自動生成して開発チームの手間を削減。 2023年:ChatGPTなどのLLMベースの試作 • NPCの応答やクエスト説明をリアルタイムに生成するデモが各社で進行。 • 会話履歴に基づいてNPCの個性を維持するシステムなどを検討中。 92
NPCの行動ロジック:Cyberpunk 2077 • NPCルーチンシステムの特徴: リアルタイム動的シミュレーション 24時間 のアクティビティサイクル 環境に応じた行動パターン適用 都市の生活感を 演出 技術的な側面: 行動パターン データベース NPCインスタンス 管理 リアルタイム経路探索 環境 相互作用の処理 AIの革新ポイント: 大規模な人 口シミュレーション コンテキス トに応じた行動選択 動的なスケ ジューリング 環境認識と対応 https://www.youtube.com/watch?v=u_5WlBtkiG8 93
NPCの行動ロジック:Red Dead Redemption 2 • AIエコシステム: 動物行動シミュレーション 生態系の食物連鎖再現 天候や 時間による行動変化 種間の相互作用 NPCシステム: 詳細な日常行動 パターン 環境に応じた会話生成 感情表現システム 記憶による行 動変化 環境相互作用: ダイナミックな 天候影響 地形による行動制限 季 節変化への対応 環境破壊と再生 Red Dead Redemption 2 Reimagined with Real Life AI https://www.youtube.com/watch?v=pOBj3Ps_ybQ 94
自然言語処理のNPC • Inworld AIの革新点: • • • • 動的な会話生成システム NPCに個性と記憶を保持 プレイヤーの文脈理解 リアルタイムの会話フロー Mass AI character generator powered by LLMs | Inworld AI Unity Demo https://www.youtube.com/watch?v=Aev65jeXozY 95
そして、AI vs AI ゲーム「Detroit: Become Human」をプレイする様子を記録したYoutube動画 ただし、プレイヤー自身ではなく、ChatGPTにゲームの選択を委ねている。 AIによる、AIゲームの攻略として話題に。AIに邪悪な振る舞いを設定するが予想外の展開に・・・ https://www.youtube.com/watch?v=iysVlymQFj8 96
アニメーション・物理演出 キャラクターの動きや物理挙動を自動化・効率化し、リアリティとバリエーションを高める技術群。 従来は職人的にモーションを制作していた部分を、物理シミュレーションや機械学習が補完する。 大まかな仕組み・構造、動きの例 • 物理演算+アニメーション制御 – Euphoriaの場合、キャラクターの骨格に物理エンジンが作用し、衝突や転倒などをリアルタイム生成。 – 従来のラグドールに制御アルゴリズムを加えることで、“ぶざま”にならない動きに仕上げる。 • モーションマッチング – 過去のモーションキャプチャデータから“今の状況”に最も合う姿勢や動きを検索し、連続的に適用。 – フットIK(足裏位置補正)などと組み合わせることで、フィールドに適した動きを生成。 • 自動リギングツール – モデルに骨格を自動で設定し、各頂点に対するウェイトを推定。 – アニメーターやモデラーの初期作業を大幅に削減。 代表的なアルゴリズム • Inverse Kinematics (IK) • キャラクターの手足を目標地点に合わせて自動的に関節角度を算出。 • ラグドール物理 • 骨格を剛体やジョイントとして扱い、衝突や重力などを再現。 • 検索ベースのモーションマッチング • フィーチャーベクトルを用いて“最適なポーズ”を検索するアルゴリズム。 97
アニメーション・物理演出 リアルタイム物理演算やモーションマッチングが映画VFXにも展開され、マルチメディア業界で需要増。 ゲーム内のモーション品質向上と開発効率アップに寄与し、事例が増えている。 • • • 2008年:Euphoria(NaturalMotion) • ラグドール物理とアニメーションを組み合わせたキャラクター挙動システム。 • 手作業モーションを減らし、動きのバリエーションを自然に演出。 2018年:モーションマッチング(EA Sportsなど) • 大量のモーションキャプチャデータから、AIが適切な動きを自動選択して繋ぎ合わせる。 • モーションの遷移を滑らかにし、開発コストを削減。 2022年:AI支援リギングツール • 三次元モデルに自動で骨格やウェイトを設定するソフトウェアが普及。 • UnityやUnreal Engineのプラグインで、AIによる自動アニメーション補完機能が登場。 98
バーチャルプロダクション・ゲーム制作支援 ゲームエンジンのリアルタイム性と、機械学習によるコード解析・テキスト生成を統合し、制作全体を支援する技術。 ゲーム外の映像分野やツール開発にも大きな影響を与えている。 大まかな仕組み・構造、動きの例 • リアルタイムモーションキャプチャ – カメラやセンサーから得たデータを即座にゲームエンジンへ反映し、仮想環境でプレビュー可能。 – バーチャルセット上でキャラクターの動きや表情をリアルタイムに確認しながら撮影/制作が進行。 • AIによるコードアシスタント – コミット時にソースコードを解析し、パターンマッチングや機械学習で潜在的バグを検出。 – 自動修正案を提示し、開発者が承認する形で品質向上・開発効率化。 • AIテキスト生成(Ghostwriterなど) – NPCのセリフやフレーバーテキストを自動作成。 – 翻訳や多言語対応を含めたドキュメントの初期草案を迅速に用意。 代表的なアルゴリズム • 機械学習ベースのコード解析 • 大量のリポジトリを学習したモデルが“よくあるバグパターン”を高精度で検知。 • リアルタイムレンダリングエンジン(例:Unreal Engine, Unity) • レンダリング最適化と入力デバイス統合により、インタラクティブな制作環境を構築。 • NLP(自然言語処理) • NPCやイベント台詞を生成し、翻訳や文体変換にも対応。 99
バーチャルプロダクション・ゲーム制作支援 コード解析やテキスト生成AIが開発工程のボトルネックを大幅に緩和 バグ検出から翻訳まで幅広い領域をカバーし、数多くのスタジオが導入検討中 • • • 2015年:Epic GamesのLive Link • モーションキャプチャやフェイシャルキャプチャをリアルタイムに取り込み、エンジン上に反映。 • ゲームエンジンを映画撮影やPV制作にも応用する事例を生む。 2019年:Ubisoft La Forge「Commit Assistant」 • コードのバグや潜在的問題をAIが自動検出し、修正を提案。 • 大規模コードベースでの人的負担を削減。 2022年:Ubisoft「Ghostwriter」 • NPCのセリフやイベント台詞をAIが原案生成し、ライターが校正・編集。 • 多言語展開や大量テキスト制作を効率化。 100
テスト/QA(品質保証) ゲームの品質保証(QA)やデバッグ工程をAIエージェントが代行・支援する技術。 大規模ゲームにおけるテスト工数の削減と品質向上を両立。 大まかな仕組み・構造、動きの例 1. AIエージェントによる模擬プレイ 1. 仮想プレイヤーが実機・エミュレーター上でボタン操作や移動を自動実行。 2. 多彩なパターンの入力を試し、バグ発生状況や難易度調整の不備を検出。 2. 強化学習を用いた攻略探索 1. 学習済みのAIがゲームのゴールやスコアを最大化するために試行錯誤。 2. 通常のプレイヤーが行わない操作や極端なプレイスタイルも網羅しやすい。 3. サーバー負荷検証 1. 大量のAIエージェントを同時に接続して、通信遅延やサーバーの耐久性をチェック。 代表的なアルゴリズム • ルールベースのプレイシミュレーション • 事前に定義されたテストシナリオを順番に実行し、結果を収集。 • 強化学習 (Q-learning, PPOなど) • AIエージェントが学習ベースでゲームをプレイし、未知のバグや問題を発見。 • 大規模並列シミュレーション • クラウドリソースを利用し、同時に多数のプレイを実行して膨大なデータを収集・分析。 101
テスト/QA(品質保証) AAAタイトルの膨大なテスト工数やサーバー負荷テストにAIが貢献する事例がでてきました 初期バージョンから自動化を組み込む流れが定着し、大手を中心に導入が加速している • • • 2010年代中盤:自動プレイテスト • スクリプトやAIエージェントがゲームを模擬プレイし、バグや難易度の偏りを検出。 • AAAタイトルのQAを効率化。 2018年:EAの自動テストプラットフォーム • 強化学習ベースでゲームのデバッグを部分的に自動化。 • マルチプレイ要素もAIが模擬プレイヤーとしてテストし、サーバー負荷を検証。 2021年:UnityのGame Simulation • クラウド上で大量の自動プレイセッションを回し、データを可視化。 • AIがバグ発生箇所や詰まりやすいポイントをレポート。 102
Game Engine(Unity, Unreal Engine ) のAI対応 UnityのAIシステムは、ゲームエンジン内に設計された 人工知能コンポーネントとシステムの総称です。このシ ステムの主な目的は、NPCに環境認識能力、意思決定能 力、そして複雑な動作を実行する能力を付与することに あります。 Unreal Engineは、包括的なAIツールセットを提供して います。 AIの行動を定義するビヘイビアツリー、AIの記憶を管理 するブラックボードシステム、移動可能範囲を定義する NavMesh、AIに視覚や聴覚を与える認識システムです。 103
「AI技術の活用」(ゲームとAI) • ゲームとAIの関係 • ゲームにおけるAI利用の変遷と拡張 • 生成AIはゲーム開発に使えるの? • ゲーム産業における象徴的なAI事例 • まとめと振り返り 104
振り返り AIはゲーム開発に革新をもたらす一方、目的に応じた適切な活用方法の選択が重要になってきています。 技術的側面 •GPU開発とAIの相乗的発展 •ゲームエンジンのAI機能の進化 •リアルタイム処理技術の革新 •機械学習基盤としてのゲーム環境 教育・学習側面 •生成AIによる開発の敷居低下 •プログラミング学習との相乗効果 •AIツールを活用した試作の容易さ •個人開発からの段階的な成長機会 開発プロセス的側面 •プロシージャル生成の活用 •テスト工程の自動化 •NPCの高度な行動制御 •大規模なコンテンツ生成 ビジネス・産業側面 •商用タイトルでのAI利用 •生成系AIの採用リスクも多い •ゲームそのものではなく、ゲーム の制作やテストの人の領域に浸透 105
学生・研究者の皆様へのメッセージ • ゲームは単なる娯楽ではなく、AIアルゴリズムの開発と検証のための理想的な実験場となり得ます。 MicrosoftのProject MalmoやGoogleのDeepMindが示すように、 ゲーム環境でのAI研究は、実世界の問題解決への重要なステップ ゲームは現実世界とは異なり、 以下↓の利点を持つ実験環境 明確な境界と制約 • 物理法則の定義が明確 • 状態の変化が予測可能 • 環境の範囲が限定的 興味を持った分野に少し関わってみてください きっと面白い発見と新しい可能性が待ってます 制御された複雑さ • 必要な要素だけを実装可能 • 段階的な複雑化が可能 • データの収集が容易 技術的なアプローチの選択肢として 問題解決のヒントとして アイデアの発想源として 研究テーマのインスピレーションとして 106
「AI技術の活用」(ゲームとAI) 株式会社リンクトブレイン 技術戦略顧問 増渕大輔 107 Copyright © Linked Brain Inc. All Rights Reserved.