Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

ゲームAI製作のためのワークショップ(I)

3.644 visualizaciones

Publicado el

横浜で行っているゲームAI製作ワークショップ(全五回)の第一回の講義録とワークショップシートです。カヤックさんに協力いただいております。ありがとうございます。

Publicado en: Ciencias
  • Sé el primero en comentar

ゲームAI製作のためのワークショップ(I)

  1. 1. 三宅 陽一郎 ゲームAI製作のための ワークショップ(I) 三宅陽一郎@miyayou 2016.9.7 @横浜 https://www.facebook.com/youichiro.miyake http://www.slideshare.net/youichiromiyake y.m.4160@gmail.com
  2. 2. Works (2006-2012) AI for Game Titles Books
  3. 3. 経歴 京都大学(数学) 大阪大学(原子核実験物理) 東京大学 (エネルギー工学/人工知能) 高エネルギー加速器研究所(半年ぐらい。修士論文) http://www.facebook.com/youichiro.miyake
  4. 4. ゲームAIの役割 ユーザーの知的体験を作ること。 知能と出会うこと 賢い!と思うこと。 知能戦を戦っていると思うこと。 相手に意志を感じること。
  5. 5. 知能方程式 ユーザーの知的体験 = ユーザーの心理 x キャラクターの賢さ 人工知能
  6. 6. 知能方程式 ユーザーの知的体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況
  7. 7. 知能方程式 http://mmorpg18.com/real/raiderz/ モンスターと「あと一撃で戦闘不能」な時に会うのと、 モンスターと「HPがまんたん」の時に出会うのでは、心理が違う。
  8. 8. 知能方程式 ユーザーの体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況 ユーザーを追い込む
  9. 9. 知能方程式 好きなキャラクタ-に言われるのと、 どうでもいいキャラクターに言われるのは違う。 あり がと http://www.jp.playstation.com/software/title/jp0571npjj00313_000000000000000001.html
  10. 10. 知能方程式 ユーザーの体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況 ユーザーを追い込む ユーザーを心理を引き出す
  11. 11. 知能方程式 ユーザーの体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況 状況を作り出すことで、 ユーザーを追い込む ユーザーの心理を引き出す ゲームデザイナーの仕事
  12. 12. キャラクターのリアリティ • ユーザーから何を引き出すか? ゲームの状況 ユーザー ユーザーか ら引き出す もの キャラクター の リアリティ
  13. 13. 知能方程式 ユーザーの体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況 ユーザーを追い込む ユーザーを心理を引き出す =状況を作り出す ゲームデザイナーの仕事 エンジニアの仕事
  14. 14. プレイヤー © KAYAC Inc. All Rights Reserved. プレイヤーキャラクター https://build.cloud.unity3d.com/share/W1TeqjaSu-/
  15. 15. 敵キャラクター 敵キャラクターをどのような存在として思わせたいか? © KAYAC Inc. All Rights Reserved. © KAYAC Inc. All Rights Reserved. 敵キャラクター プレイヤーキャラクター https://build.cloud.unity3d.com/share/W1TeqjaSu-/
  16. 16. ワークシート(1) 5分 • どんなユーザーの体験を作りたいか?
  17. 17. ワークシート(2) 5分 • そのためのユーザーをどのような心理状況に 追い込むか?
  18. 18. ワークシート(3) 5分 • そのために必要なキャラクターの賢さとは?
  19. 19. ディスカッション • 天敵として出て来る。 • 種族が反映する幸せ。子供たちを全員やっつ けてしまう。幸せなところから絶望に陥れる。自 分より敵の方が基本性能が高い。強い敵に対 して、立ち向かう。ユーザーから闘争心を引き 出す。 • 天敵なので、プレイヤーが嫌がることをする。こ れを嫌だというものを優先的に選択する。プレ イヤーの行動履歴を解析して判断して選択する。 報復度、恨みパラメーターが変化する。自キャ ラが孵化するタイミングを狙う。
  20. 20. ディスカッション<2> • 敵を全滅させたい。 • 全滅させたい=敵を全滅させるのを見せる。食 べている。マップを侵略されている感を入れる。 スプラトゥーンのように塗る。ジェノサイド。違う 種族を作る。一機でも残るとドロー。ユーザー から危機感を引き出す。 • 危機感をあおるパターンを考える。ただひたす ら増える。攻撃して来る。危機感をあおるシ チューションを作る。100匹まで増える。
  21. 21. ディスカッション<1> • 敵を追い込んでくる。パックマンのように緊張と 緩和。 • 連携プレイ。青筋が立っている。よだれが出て いる。絵で見て。演出する。ユーザーから恐怖 心を引き出す。 • 逃げ切れるか、逃げきれないか、わからないよ うなAIの仕組み。スピードに焦点を入れて、アイ テム取り合いになった時に、もしかしたら、取れ るかもと思わせる。アイテムの取り合いになる ように微妙な位置にアイテムを出現させる。ス ピードを調整する。
  22. 22. 敵キャラクターを作ろう 頭の中
  23. 23. 敵キャラクターの二つの作り方 外から作る方法 内から作る方法
  24. 24. 外から作る方法 © KAYAC Inc. All Rights Reserved. https://build.cloud.unity3d.com/share/W1TeqjaSu-/
  25. 25. このAIはどう作るか? プレイヤー キャラクター 岩 地面 池 例として、次のようなキャラクターのAIをどう作るか考えてみましょう。
  26. 26. このAIはどう組むか? プレイヤー キャラクター 岩 地面 池 (例) プレイヤーがAにいれば Bをうろうろする。 プレイヤーがBにいれば 近づいて攻撃する。 A B
  27. 27. このAIはどう組むか? プレイヤー キャラクター 岩 地面 池 (例) プレイヤーがAにいれば Bをうろうろする。 プレイヤーがBにいれば 近づいて攻撃する。 A BA これは、まず書く人の思 考がまずあり、その結果 を指示として書いていま す。
  28. 28. このAIはどう組むか? プレイヤー キャラクター 岩 地面 池 A BA つまりAI自身は何も知ら ない、命令を受けるだけ の操り人形なわけです。 これは古典的な作り方で す。 http://septieme-ciel.air-nifty.com/nikubanare/2007/08/post_3c38.html 、 (例) プレイヤーがAにいれば Bをうろうろする。 プレイヤーがBにいれば 近づいて攻撃する。
  29. 29. このAIはどう組むか? プレイヤー キャラクター 岩 地面 池 A BA こういったAIをゲーム産 業では「Scripted AI」と言 います。こういったAIは ゲームデザイナーがスク リプト言語で書く場合多 いからです。 http://septieme-ciel.air-nifty.com/nikubanare/2007/08/post_3c38.html 、 (例) プレイヤーがAにいれば Bをうろうろする。 プレイヤーがBにいれば 近づいて攻撃する。
  30. 30. スクリプト Scripted AI から自律型AIへの変化 ゲームデザイナーの頭の中 ゲームデザイナーの頭の中 知識 思考 Scripted AI 自律型 AI (Autonomous AI)
  31. 31. スクリプト Scripted AI から自律型AIへの変化 ゲームデザイナーの頭の中 ゲームデザイナーの頭の中 知識 思考 Scripted AI 自律型 AI (Autonomous AI) 操り人形(Scripted AI)から、キャラクターが自分で考えて行動する 自律型AI(Autonomous AI)になるためには、 ゲームデザイナーが頭の中で持っている知識と思考をAIに埋め込 んであげる必要があります。
  32. 32. 内から作る方法 https://build.cloud.unity3d.com/share/W1TeqjaSu-/
  33. 33. このAIはどう組むか? プレイヤー キャラクター 岩 地面 池 地形データ (Way Points) 、 ステップ1: AIにゲームステージの 地形を認識させたい =地形のデータを与える。 AIは地形データによって、自分とプレイヤーの位置関係を知る ことができます。
  34. 34. このAIはどう組むか? 地形データ (Way Points) AIは地形データによって、自分とプレイヤーの位置関係を知る ことができます。(ネットワークグラフの問題に帰着)
  35. 35. ナビゲーションAI このAIはどう組むか? プレイヤー キャラクター 岩 地面 池 、 ステップ2: 地形データをもとに考え る思考を与える。 地形データを用いた 思考 地形データ (Way Points)
  36. 36. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) AIは地形データによって、自分とプレイヤーの位置関係を知る ことができます。(ネットワークグラフの問題に帰着) 最短経路を計算 地形データを用いた 思考
  37. 37. パス検索とは 現在の地点から指定したポイントへの経路を、 リアルタイムで計算して導く技術。 RTS - Pathfinding A* https://www.youtube.com/watch?v=95aHGzzNCY8
  38. 38. Counter Strike: Path Following (デモ) The Official Counter-Strike Bot http://aigamedev.com/insider/presentation/official-counter-strike-bot/
  39. 39. Dragon Age : Way Point Dragon Age pathfinding program put to the test https://www.youtube.com/watch?v=l7YQ5_Nbifo
  40. 40. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) AIは地形データによって、自分とプレイヤーの位置関係を知る ことができます。(ネットワークグラフの問題に帰着) 最短経路を計算 地形データを用いた 思考
  41. 41. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) AIは地形データによって、自分とプレイヤーの位置関係を知る ことができます。(ネットワークグラフの問題に帰着) 地形データを用いた 思考 最短経路を計算
  42. 42. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) ネットワークグラフに可視判定の情報を埋め込む。 地形データを用いた 思考
  43. 43. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) ネットワークグラフに可視判定の情報を埋め込む。 ここの点グループはお互いが見えている。 ここの点グループはお互いが見えている。 地形データを用いた 思考
  44. 44. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) ここの点グループはお互いが見えている。 ここの点グループはお互いが見えない。 ネットワークグラフに可視判定の情報を埋め込む。 地形データを用いた 思考
  45. 45. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) プレイヤーからキャラクターが見えている。 地形データを用いた 思考
  46. 46. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) プレイヤーからキャラクターが見えていない。 地形データを用いた 思考
  47. 47. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) プレイヤーからキャラクターが見えていない。 地形データを用いた 思考
  48. 48. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) プレイヤーから見つけて貰うために プレイヤーからキャラクターが見えるように動く。 地形データを用いた 思考
  49. 49. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) 地形データを用いた 思考 プレイヤーから見つけて貰うために プレイヤーからキャラクターが見えるように動く。
  50. 50. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) 地形データを用いた 思考 プレイヤーから見つけて貰うために プレイヤーからキャラクターが見えるように動く。
  51. 51. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) 地形データを用いた 思考 プレイヤーから見つけて貰うために プレイヤーからキャラクターが見えるように動く。
  52. 52. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) プレイヤーからキャラクターが見えない位置に動く。 地形データを用いた 思考
  53. 53. このAIはどう組むか? プレイヤー キャラクター 岩 地面 池 地形データ (Way Points) 、 ステップ3: 最後に、いつプレイヤーの 攻撃を仕掛けるか、逃げ るか、を決定する思考を作 ります。 地形デー タを用いた 思考 意思決定 思考
  54. 54. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) 攻撃するか? 隠れるか? 牽制するか? を選ぶ思考。 = 意思決定思考 意思決定思考 地形データを用いた 思考
  55. 55. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) 攻撃する 意思決定思考 地形データを用いた 思考
  56. 56. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) 牽制する。(=見える場所に行く) 意思決定思考 地形データを用いた 思考
  57. 57. ナビゲーションAI このAIはどう組むか? 地形データ (Way Points) 隠れる。(=プレイヤーから見えない場所に行く) 意思決定思考 地形データを用いた 思考
  58. 58. このAIはどう組むか? プレイヤー キャラクター 岩 地面 池 地形データ (Way Points) 、 これで、キャラクター を知能化することが できました。 地形デー タを用いた 思考 意思決定 思考
  59. 59. AIを作る 人間 地形データ (Way Points) 地形デー タを用いた ロジック オブジェク トを用いた ロジック
  60. 60. AIを作る 人間 地形データ (Way Points) 地形デー タを用いた ロジック オブジェク トを用いた ロジック ここでキャラクターに知能を与えたプロセスを振り返ってみましょう。 ステップ1: 知識を与えた。 ステップ2: 知識の上で操作する思考を与えた。 ステップ3: 自分の意志を決定する思考を与えた。
  61. 61. 知識 思考 AIを作る 人間 地形データ (Way Points) 地形デー タを用いた 思考 意思決定 の思考 知識を(データ)表現する。(知識) 知識に基づいて思考する。(AI思考) AI自身に「知識」と「知識の上の思考」を与えることが 知能を作る基本です。
  62. 62. 思考知識 AIを作る 人間 地形データ (Way Points) 地形デー タを用いた 思考 オブジェク トデータ 意思決定 の思考 自分の 身体データ 身体運動 の ロジック 知識を(データ)表現する。(知識) 知識に基づいて思考する。(AI思考) 「知識」と「その上の思考」をどんどん増やして行くことでAIは成長します。
  63. 63. 知能 思考知識 AIを作る 人間 地形データ (Way Points) 地形デー タを用いた 思考 オブジェク トデータ 意思決定 の思考 自分の 身体データ 身体運動 の ロジック 知能 = 知識 x 思考
  64. 64. 知能 思考知識 AIを作る 人間 地形データ (Way Points) 地形デー タを用いた 思考 オブジェク トデータ 意思決定 の思考 自分の 身体データ 身体運動 の ロジック これでキャラクター自身が知能を持ちました。 キャラクターの持つ知能をキャラクターAIと言います。
  65. 65. 知能方程式 ユーザーの体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況 ユーザーを追い込む ユーザーを心理を引き出す
  66. 66. 第一知能方程式 ユーザーの体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況
  67. 67. 第二知能方程式 知能 = 知識 x 思考 考えるゲームを知識として 表現すること
  68. 68. 知能方程式 人工知能 = 知識 x 思考 考えるゲームを知識として 表現すること ユーザーの体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況
  69. 69. 外から作る方法
  70. 70. ワークシート(4) 5分 • 敵キャラクターが持たなければならない知識 とは何か?
  71. 71. ワークシート(5) 5分 • 敵キャラクターが知識を使って実現するべき 知的機能とは何か?
  72. 72. ディスカッション • 天敵として出て来る。 • 種族が反映する幸せ。子供たちを全員やっつけてしまう。 幸せなところから絶望に陥れる。自分より敵の方が基本性 能が高い。強い敵に対して、立ち向かう。ユーザーから闘 争心を引き出す。 • 天敵なので、プレイヤーが嫌がることをする。これを嫌だと いうものを優先的に選択しする。プレイヤーの行動履歴を 解析して判断して選択する。報復度、恨みパラメーターが 変化する。自キャラが孵化するタイミングを狙う。 • プレイヤーの幸福度を測る。行動ログを取っておく必要が ある。いつ、どこで、何をしたか。どこで卵を産んだか、どこ で食べたか。取り続けられるのかな。プレイヤーが何を大 事にしているかを計測する。 • 行動ログがあって位置情報があって、いつどこで何をした かを、プレイヤーがどんな道をたどったか、うろうろしたか、 卵を産んだ場所を推測して、そこに行く。
  73. 73. ディスカッション • 敵を全滅させたい。 • 全滅させたい=敵を全滅させるのを見せる。食べている。 マップを侵略されている感を入れる。スプラトゥーンのよう に塗る。ジェノサイド。違う種族を作る。一機でも残るとド ロー。ユーザーから危機感を引き出す。 • 危機感をあおるパターンを考える。ただひたすら増える。攻 撃して来る。危機感をあおるシチューションを作る。100匹 まで増える。 • 地形データ、食べ物のデータ、視界のデータ、状況確認、 支配率。敵と味方の状況。AIの目標。食べるのを主とする か、増やすのを主とするのか、ユーザーの行動ログ。 • 経路探索とパターン。食べ物食べる、敵を攻撃する、逃げ る、隠れる、味方に食べ物を譲る。自分から食べられに行 く=囮。動かないで戦略を集中する。
  74. 74. ディスカッション • 敵を追い込んでくる。パックマンのように緊張と緩和。 • 連携プレイ。青筋が立っている。よだれが出ている。絵で 見て。演出する。ユーザーから恐怖心を引き出す。 • 逃げ切れるか、逃げきれないか、わからないようなAIの仕 組み。スピードに焦点を入れて、アイテム取り合いになった 時に、もしかしたら、取れるかもと思わせる。アイテムの取 り合いになるように微妙な位置にアイテムを出現させる。ス ピードを調整する。 • 地形データ・どっちがどっちに食べられるか。ゲームの基 本ルール。壁の位置、不変のもの。変化するもの。 • 知識を使って選択をする。追い込むのか、逃げるのかを判 断することができる。プレイヤーの操作を応じて、どういう 振る舞いをするかを選ばせる。やって来た行動、傾向を出 す。
  75. 75. ゲームの基本データ3つ 1. 描画データ CG 2. 当たりモデル 物理 3. 知識表現 AI
  76. 76. 描画データ 描画データ
  77. 77. 衝突モデル(当たりモデル) キャラクター衝突データ オブジェクト衝突データ オブジェクト衝突データ 床 物理的インタラクション
  78. 78. 知識表現データ 知識表現データ
  79. 79. 知識表現データ 知識表現データ 知識表現データ 知識表現データ
  80. 80. 知識表現データ 知識表現データ 知識表現データ 知識表現データ 情報の受け渡し (例)私は座標(2.1, 3.4, 5.6)にいる。 薬草は体力を回復する (例)私は座標(2.1, 3.4, 5.6)にいる。 薬草は体力を回復する (例)これは岩である。 動かすことはできない。 側の点に隠れることができ
  81. 81. 知識表現・世界表現 仮想世界の知性 =人工知能 WORLD 人工知能は生物のように世界をそのまま認識・解釈できるだろうか? 仮想世界の知性 =人工知能 WORLD AIが世界(物・事・空間など)を解釈できるように、世界をうまく情報表現する = 知識表現 (KR、Knowledge Representation) 知識表現 (KR)
  82. 82. ゲーム世界 世界をリアルタイムに解釈 知識表現と作用世界・知覚世界 AIはそのままでは 理解できない。
  83. 83. ゲーム世界 世界をリアルタイムに解釈 知識表現と作用世界・知覚世界 AIはそのままでは 理解できない。 現在の人工知能のレベルは難しい
  84. 84. ゲーム世界 知識表現 知識表現と作用世界・知覚世界 AIはそのままでは 理解できない。
  85. 85. ゲーム世界 知識表現 知識表現と作用世界・知覚世界 AIは知識表現を通して世界を見る。それはAIの主観を決定し、 作用世界と知覚世界も決定する。
  86. 86. いろいろな知識表現 事実表現(信頼度表現) 意味ネットワーク 敵表現リスト 依存グラフ ルールベース表現 世界表現 Griesemer,J, "The Illusion of Intelligence: The Integration of AI and Level Design in Halo", 2002 http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
  87. 87. 世界表現(知識表現の一つ) マップ全体に関わる知識表現を世界表現という (ウェイポイント、ナビメッシュを基本とする表現) World Representation (WR) (例) 8方向の可視距離の各ポイントに埋め込まれたウェイポイント群 (Killzone) Straatman, R., Beij, A., Sterren, W.V.D., "Killzone's AI : Dynamic Procedural Combat Tactics", 2005 http://www.cgf-ai.com/docs/straatman_remco_killzone_ai.pdf
  88. 88. 知識表現・世界表現 知識表現 世界表現
  89. 89. いろいろな世界表現 ナビメッシュ-ウェイポイント 階層表現 LOS マップ 戦術マップクラスタリング 敵配位マップ テリトリー表現 Tactical Point System Halo2Killzone Killzone2Halo Assassin’s Creed Left 4 Dead Alex J. Champandard, Remco Straatman, Tim Verweij, "On the AI Strategy for KILLZONE 2's Bots” http://aigamedev.com/open/coverage/killzone2/ Damian Isla,"Building a Better Battle: HALO 3 AI Objectives", http://halo.bungie.net/inside/publications.aspx Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference , http://www.valvesoftware.com/company/publications.html
  90. 90. 世界表現(知識表現の1つ) マップ全体に関わる知識表現を世界表現という (ウェイポイント、ナビメッシュを基本とする表現) World Representation (WR) (例) 8方向の可視距離の各ポイントに埋め込まれたウェイポイント群 (Killzone) Straatman, R., Beij, A., Sterren, W.V.D., "Killzone's AI : Dynamic Procedural Combat Tactics", 2005 http://www.cgf-ai.com/docs/straatman_remco_killzone_ai.pdf
  91. 91. Halo2 :世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  92. 92. Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html Halo2 :世界表現
  93. 93. Halo2 :世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  94. 94. Halo2 :世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  95. 95. Halo2: 世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  96. 96. Halo2: 世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  97. 97. Halo2: 世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  98. 98. Halo2: 世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  99. 99. Halo2: 世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  100. 100. Counter Strike : Navigation Mesh 世界表現 Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  101. 101. 知識表現・世界表現 知識表現 世界表現 オブジェクト 表現
  102. 102. オブジェクト表現 車 レバー ドアの知識表現 位置 x: 3.0 y:.10,0 レバーで開けることが出来る 壊して開けることが出来る 車の知識表現 位置 x: 3.0 y:.2,0 乗って動かすことが出来る。 時速80kmで動く。 レバーの知識表現 位置 x: 5.0 y:.5,0 引くが出来る。 (結果:ドアが開く) ドア ドアの知識表現 位置 x:3.0 y:10.0 レバーを引くと開く(ルール) レバーの知識表現 位置 x:5.0 y:5.0 引くことができる(アフォーダンス). レバーを引くとドアが開く(ルール) 車の知識表現 位置 x:3.0 y:2.0 運転することができる. 最大速度: 80km 物に対する表現
  103. 103. オブジェクト表現 これが車である この方向に押せば動く Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
  104. 104. アフォーダンス 食べること ができる 登ること ができる 動かすこ とができる
  105. 105. 作用空間 アフォーダンス 食べること ができる 登ること ができる 動かすこ とができる
  106. 106. アフォーダンス 歩くこと ができる 届く 押すこと ができる
  107. 107. 作用空間 アフォーダンス 歩くこと ができる 届く 押すこと ができる
  108. 108. 知識表現データ 知識表現データ 知識表現データ 知識表現データ 情報の受け渡し (例)私は座標(2.1, 3.4, 5.6)にいる。 薬草は体力を回復する (例)私は座標(2.1, 3.4, 5.6)にいる。 薬草は体力を回復する (例)これは岩である。 動かすことはできない。 側の点に隠れることができ
  109. 109. 第二章 ゲームAIの歴史
  110. 110. FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii DC (次世代)Hardware 時間軸20051999 ゲームの進化と人工知能 複雑な世界の 複雑なAI ゲームも世界も、AIの身体と内面もますます複雑になる。 単純な世界の シンプルなAI
  111. 111. FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii DC (次世代) TV game 3D Network AI 成長期 成熟期 インパクト Hardware 技術の歴史的な流れから見て、人工知能技術のゲームへの応用は、 次世代で成長し、次々世代で成熟するだろう。 人工知能技術の導入の適切なタイミングはいつか? 時間軸200519991994198 0
  112. 112. 第2部 ゲームにおける人工知能の歴史 第1期 パターンAIとプロシージャルAI ① 単純なパターンAI ② 複数のパターンを持つAI ③ プロシージャルなAI 第2期 構造化されるAI ① AIの構造化とロジック実装 ② 内部パラメータ変動モデルと オブジェクトによるAI制御による日常系AI ③ ニューラルネットワークと遺伝的アルゴリズム 第3期 AIアーキテクチャの時代
  113. 113. 第1期 ①単純なパターンAI 同じパターンをくり返すだけ
  114. 114. スペースインベーダー (Realplayer) (例) スペースインベーダー(1978) プレイヤーの動きに関係なく、決められた動きをする
  115. 115. 「知性 - 環境 - 身体」相関図 知性 身体 環境 パターン
  116. 116. 第1期 ①単純なパターンAI 同じパターンをくり返すだけ ゲームデザイナー ゲーム内の地形と合わせてAIをどのような配置に置くか プレイヤー パターンを予測し、最適な行動をイメージしながら 自機をコントロールしてプレイする、 というサイクルがゲーム攻略そのもの Non-interactive
  117. 117. 第2部 ゲームにおける人工知能の歴史 第1期 パターンAIとプロシージャルAI ① 単純なパターンAI ② 複数のパターンを持つAI ③ プロシージャルなAI 第2期 構造化されるAI ① AIの構造化とロジック実装 ② 内部パラメータ変動モデルと オブジェクトによるAI制御による日常系AI ③ ニューラルネットワークと遺伝的アルゴリズム 第3期 AIアーキテクチャの時代
  118. 118. 第1期 ②複数のパターンを持つAI あらかじめ決められた行動を、 状況によって使いわけるAI 「プリンス・オブ・ペルシャ」など、 スプライトアニメーションを用意する必要がある場合、 数パターンに限られる。 Interactive
  119. 119. (例)プリンス・オブ・ペルシャ 「プリンス・オブ・ペルシャ」など、 スプライトアニメーションを用意する必要がある場合、 必然的にこういった制御となる。 プリンス・オブ・ペルシャ 6:00-
  120. 120. 「知性 - 環境 - 身体」相関図 知性 身体 環境 条件に応じた命令 環境・オブジェクト との衝突 身体動作は 保証される 予約された 情報の獲得
  121. 121. 第1期 ②複数のパターンを持つAI ゲームデザイナー パターンを作り込む(質x数) プレイヤー 自分の行動に応じてどういう動きをするかを学習し、 相手の弱点を見抜いて攻略する。 あらかじめ決められた行動を、 状況によって使いわけるAI
  122. 122. 第2部 ゲームにおける人工知能の歴史 第1期 パターンAIとプロシージャルAI ① 単純なパターンAI ② 複数のパターンを持つAI ③ プロシージャルなAI 第2期 構造化されるAI ① AIの構造化とロジック実装 ② 内部パラメータ変動モデルと オブジェクトによるAI制御による日常系AI ③ ニューラルネットワークと遺伝的アルゴリズム 第3期 AIアーキテクチャの時代
  123. 123. 第1期 ③プロシージャルなAI シューティングゲームなど、機体の軌道や弾道を、 逐次的に関数の計算で行なう。 (例)数値列を用意する場合もある。 Interactive
  124. 124. (例)ゼビウス? 遠藤雅伸氏 あと面白い機能なんですけれど、ゼビウスには非常に簡単なAIが組み込まれています。 「プレイヤーがどれくらいの腕か」というのを判断して、出てくる敵が強くなるんです。強いと思った相手には強い敵が 出てきて、弱いと思った相手には弱い敵が出てきます。そういったプログラムが組み込まれています。 ゲームの難易度というのは「初心者には難しくて、上級者には簡単だ」ということが、 ひとつの難易度で(調整を)やっていくと起きてしまうので、その辺を何とか改善したいな、 ということでそういったことを始めてみたのですけれど、 お陰で割合にあまり上手くない人でも比較的長くプレイできる、 うまい人でも最後のほうに行くまで結構ドラマチックに楽しめる、そういった感じになっています。 - ゼビウスセミナー - http://spitfire.client.jp/shooting/xevious2.html ゼビウス
  125. 125. 「知性 - 環境 - 身体」相関図 知性 身体 環境 状況に応じて作られた運動 環境・オブジェクト との衝突 身体動作は 保証される 予約された 情報の獲得
  126. 126. 第2部 ゲームにおける人工知能の歴史 第1期 パターンAIとプロシージャルAI ① 単純なパターンAI ② 複数のパターンを持つAI ③ プロシージャルなAI 第2期 構造化されるAI ① AIの構造化とロジック実装 ② 内部パラメータ変動モデルと オブジェクトによるAI制御による日常系AI ③ ニューラルネットワークと遺伝的アルゴリズム 第3期 AIアーキテクチャの時代
  127. 127. FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii DC (次世代) TV game 3D Network AI 成長期 成熟期 インパクト Hardware 技術の歴史的な流れから見て、人工知能技術のゲームへの応用は、 次世代で成長し、次々世代で成熟するだろう。 人工知能技術の導入の適切なタイミングはいつか? 時間軸200519991994198 0
  128. 128. FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii DC (次世代) TV game 3D Network AI 成長期 成熟期 インパクト Hardware 技術の歴史的な流れから見て、人工知能技術のゲームへの応用は、 次世代で成長し、次々世代で成熟するだろう。 人工知能技術の導入の適切なタイミングはいつか? 時間軸200519991994198 0
  129. 129. 第2期 構造化されるAI アセンブラからC言語への移行 2Dから3Dが主流へ → AIにとって爆発的な情報量の増大 80年代のAI技術の盛り上がりがゲームへスピンオフ グリッド上のロジック 俯瞰制御 無数のレイキャスト(射線計算) 主観制御
  130. 130. 2D・3DのAIをムービーで比較 パックマン Halo パックマン Halo
  131. 131. 第2期 構造化されるAI AIが処理するべき膨大な空間情報 → 結局、対処出来ませんでした (複雑すぎる、1994年から10年の課題となる)。 ①AIの行動範囲をある限定した自由に移動できる空間に限定すること。 ②ステージを単純化すること(例えば、空の上ならAIは動き放題である)。 ③あらかじめ、地形に沿った運動をプログラミングしておく (固定パスを与えておくなど)。 暫定的解決策
  132. 132. 第2部 ゲームにおける人工知能の歴史 第1期 パターンAIとプロシージャルAI ① 単純なパターンAI ② 複数のパターンを持つAI ③ プロシージャルなAI 第2期 構造化されるAI ① AIの構造化とロジック実装 ② 内部パラメータ変動モデルと オブジェクトによるAI制御による日常系AI ③ ニューラルネットワークと遺伝的アルゴリズム 第3期 AIアーキテクチャの時代
  133. 133. 第2期 ①AIの構造化とロジック実装 複雑な環境下(処理するべき情報が多い)で、 キャラクターを制御する仕組みを入れる。 複雑な思考による行動 case ATTACK: if (-----) if(-----) else ... 戦闘 警戒 休憩
  134. 134. (例) Quake HFSM 状態遷移図を用いる http://ai-depot.com/FiniteStateMachines/FSM-Practical.html Quake 4:10
  135. 135. 「知性 - 環境 - 身体」相関図 知性 身体 環境 FSMなど 構造化された 知性 ボーン 構造を 持つ身体 環境・オブジェクト との複雑な衝突限定された情報の獲得
  136. 136. 第2期 ①AIの構造化とロジック実装 ゲームデザイナー 仕組みの上に作り込んで行く。FSMなら状態数を増やす。 (後で問題になる) プレイヤー なかなか読みにくくなるので、反射神経が必要になる。 「うまいプレイヤー」の出現。 複雑な思考による行動 case ATTACK: if (-----) if(-----) else ... 戦闘 警戒 休憩
  137. 137. 第2部 ゲームにおける人工知能の歴史 第1期 パターンAIとプロシージャルAI ① 単純なパターンAI ② 複数のパターンを持つAI ③ プロシージャルなAI 第2期 構造化されるAI ① AIの構造化とロジック実装 ② 内部パラメータ変動モデルと オブジェクトによるAI制御による日常系AI ③ ニューラルネットワークと遺伝的アルゴリズム 第3期 AIアーキテクチャの時代
  138. 138. 第2期 ②内部パラメータ変動モデルとオブジェクトによる AI制御による日常系AI 戦闘のAIから日常のAIへ 戦闘のAI(極限状態) < 日常のAI(煩雑)
  139. 139. 自律型AIの作り方 知性 (心) 身体
  140. 140. 自律型AIの作り方 知性 (心) 身体 時間(t) ハングリー度(H) H(t)=sin(1/24*t) If (H(t) > 0.5) goto GetFood ハングリー度が0.5 を超えたら餌を取りに行く。
  141. 141. 自律型AIの作り方 知性 (心) 身体 時間(t) ハングリー度(H) H(t)=sin(1/24*t)If (H(t) > 0.5) goto GetFood Else Sleep 1日 食べ物
  142. 142. 自律型AIの作り方(個性付け) 知性 (心) 身体 時間(t) ハングリー度(H) H(t)=sin(1/24*t)If (0.8*H(t) > 0.5) goto GetFood Else Sleep 1日 食べ物 お腹の減りにくいAIとなる。
  143. 143. 自律型AIの作り方 知性 (心) 身体 時間(t) ハングリー度(H) H(t)=sin(1/24*t)If (H(t) > 0.8 && S(t) < 0.1) goto GetFood Else If (H(t) < 0.3 && S(t) > 0.7) goto Sleep Else Free_Walk 1日 眠りたい度(H) S(t)=sin(1/48*t) 1日 + 寝床 食べ物
  144. 144. 自律型AIの作り方(個性づけ) 知性 (心) 身体 時間(t) ハングリー度(H) If (0.5*H(t) > 0.8 && S(t) < 0.1) goto GetFood Else If (H(t) < 0.3 && 1.5*S(t) > 0.7) goto Sleep Else Free_Walk 1日 眠りたい度(H) S(t)=sin(1/48*t) 1日 + 寝床 食べ物 お腹の減りにくく、あまり眠らないAIとなる。 H(t)=sin(1/24*t)
  145. 145. 自律型AIの作り方 知性 (心) 身体 ハングリー度(H) H(t)=sin(1/24*t) If (H(t) > 0.8 && S(t) < 0.1) goto GetFood Else If (H(t) < 0.3 && S(t) > 0.7) goto Sleep Else If( (1-H(t))*D(t) < 0.9) Goto Fight Else Free_Walk 1日 眠りたい度(H) S(t)=sin(1/48*t) 1日 + 寝床 食べ物 + 環境 危険度(D) D(t)= 1/敵との距離 1日 敵
  146. 146. こういったデモに3Dモデルを被せると… ② The Sims 3 (Maxis, EA) Sims Getting Smarter: AI in The Sims 3(IGN) http://pc.ign.com/articles/961/961065p1.html GDC09 資料 http://cmpmedia.vo.llnwd.net/o1/vault/gdc09/slides/Combined.ppt Trait … 特性。性格パラメーター Wish … 将来の目標 Breaking the Cookie-Cutter: Modeling Individual Personality, Mood, and Emotion in Characters ムービー
  147. 147. The Sims シリーズのAIの作り方 人をダイナミクス(力学系、動的な数値の仕組み )として動かす。 世界を動かす PeerAI(=キャラクターAI) を構築。 Sub Peer Meta Meta Peer Sub [原則] 周囲の対象に対する、あらゆる可能な行動から、 Happiness 係数を最大化する行動を選択する。 Sims (not under direct player control) choose what to do by selecting, from all of the possible behaviors in all of the objects, the behavior that maximizes their current happiness.
  148. 148. オブジェクトに仕込むデータ構造 Data (Class, Sate) Graphics (sprites, z-buffers) Animations (skeletal) Sound Effects Code (Edith) -Main (object thread) -External 1 -External 2 -External 3 パラメーター グラフィックス アニメーション サウンド メインスレッド いろいろなインタラクションの仕方 Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料) http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
  149. 149. キャラクターの内面のモチーフエンジン Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料) http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
  150. 150. Hunger +20 Comfort -12 Hygiene -30 Bladder -75 Energy +80 Fun +40 Social +10 Room -60 Mood +18 Toilet -Urinate (+40 Bladder) -Clean (+30 Room) -Unclog (+40 Room) Bathtub -Take Bath(+40 Hygiene) (+30 Comfort) -Clean (+20 Room) Mood +26 Mood +20 [原則] 周囲の対象に対する、あらゆる可能な行動から、 Happiness (ここではMood) 係数を最大化する行動を選択する。 最適な行動を選択する
  151. 151. Happiness を最大化 冷蔵庫が最も総合的にHapinessを上昇させるから
  152. 152. 冷蔵庫へ行きます。 Happiness を最大化
  153. 153. お腹が膨れたので、ちょっと退屈だから、女の子と話します。 Happiness を最大化
  154. 154. The Sims 3 では、多くのムードや欲求が準備される。 行動 対象 GDC09 資料 http://cmpmedia.vo.llnwd.net/o1/vault/gdc09/slides/Combined.ppt
  155. 155. Edith これだけだと、 原始的で単発の行動しかできないけれど… 実際は、 一連の行動のシークエンスをAIに行わせたい。 そのためのビジュアル・プログラミング環境が、 Edith
  156. 156. Edith プログラミング・オブジェクトを繋げて行く ビジュアル・プログラミング環境 Kenneth D. Forbus “Some notes on programming objects in. The Sims” http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf
  157. 157. Edith プログラミング・オブジェクトを繋げて行くビジュアル・プログラミング環境 Kenneth D. Forbus “Some notes on programming objects in. The Sims” http://www.qrg.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf
  158. 158. Edith Demo http://www.DonHopkins.com/home/movies/TheSimsPieMenus.mov
  159. 159. Fridge Hungry Hunger +30 実例① 「調理して食べる」
  160. 160. Fridge Fix Dinner food 実例① 「調理して食べる」
  161. 161. Fridge counter stove Fix Dinner food cook 実例① 「調理して食べる」
  162. 162. Fridge counter stove chair table Fix Dinner food Placement surface 実例① 「調理して食べる」
  163. 163. Fridge counter stove chair table dishwasher Fix Dinner food Disposal (neat) 実例① 「調理して食べる」 ムービー 17:00-
  164. 164. 自律型AIのコアの作り方 ① AIの内部変数として、時間的に自律変化する変数(=関数)をセットする。 ② その変数値(と外部環境の変数を結び付けながら)、異なる行動を取るよう にプログラムを書く。 ③ そういった変数を複数増やして、組み合わせることで、 複雑な 内部構造を持つAIを作ることが出来る。 [参考] ゴール指向AI, BDIアーキテクチャ
  165. 165. Mat Bucklandの自律型エージェントのデモ オライリー・ジャパン 「実例で学ぶゲームAIプログラミング」 (Mat Buckland著、松田晃一訳) http://www.oreilly.co.jp/books/9784873113395/ 目標を持ち、目標ごとに内部状態に 応じて変動する関数を持つ ① 攻撃する ② 移動する ③ 回復アイテムを取る ④ 武器を取る … 意思決定:全てのゴールのうち、最大 値を持つゴールを選択して行動する。 (例)③ H(t) = 0.8 * ((1– 現在のHP)/回復アイテムまでの距離) デモ
  166. 166. ここまでの8ページが、 The Sims のAIの概要の説明です。 詳しくは以下の資料を見てください。 三宅陽一郎、「Spore におけるゲームAI技術とプロシージャル」 (DiGRA Japan 第14回 月例研究会) http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=77
  167. 167. 「知性 - 環境 - 身体」相関図 知性 身体 環境 FSMなど 構造化された 知性 ボーン 構造を 持つ身体 物理的相互作用 知性から身体へ制御情報を渡す 身体から知性へ現在の状態を渡す 限定された 情報の獲得
  168. 168. ②内部パラメータ変動モデルとオブジェクトによる AI制御による日常系AI ゲームデザイナー 日常を演出するためのオブジェクトを仕込んで行く プレイヤー 別に戦わなくてよい。日常を楽しむ。AIにちょっかいをかける。 リアリティーと面白さが大切。
  169. 169. 第2部 ゲームにおける人工知能の歴史 第1期 パターンAIとプロシージャルAI ① 単純なパターンAI ② 複数のパターンを持つAI ③ プロシージャルなAI 第2期 構造化されるAI ① AIの構造化とロジック実装 ② 内部パラメータ変動モデルと オブジェクトによるAI制御による日常系AI ③ ニューラルネットワークと遺伝的アルゴリズム 第3期 AIアーキテクチャの時代
  170. 170. 第2期③ニューラルネットワークと遺伝的アルゴリズム 遺伝的アルゴリズムとニューラルネットワークが ゲームAIの視野の中に入って来た。
  171. 171. (例)決して多くない 1996年 BATTLECRUISER: 3000AD (3000AD) 1997年 がんばれ森川君2号 (muumuu) 2000年 Colin McRae Rally 2.0 (Codemasters) 2001年 Black & White (Lionhead Studio) 遺伝的アルゴリズム ニューラルネットワーク 1998年 アストロノーカ (muumuu)
  172. 172. (例)アストロノーカ MuuMuu, プレイステーション用ソフト「アストロノーカ」(Enix, 1998) http://www.muumuu.com/games/astro/
  173. 173. 遺伝的アルゴリズム 集団を一定の方向に進化させる方法 最初の世代 新世代(100~世代後) … 世代を経て進化させる 一つの世代が次の世代を交配によって産み出す
  174. 174. 遺伝的アルゴリズムの仕組み 遺伝子 遺伝子 次世代 親① 親② 母集団から優秀な親を 2体ピックアップ 遺伝子を掛け合わせる 次世代の子供を産み出す (selection) (crossover) (production) 現世代 このサイクルをくり返すことで世代を進めて望ましい集団を産み出す 遺伝子 遺伝子
  175. 175. (例)① GA Racer 遺伝的アルゴリズムによって、遠くまで到達できるレーサーを作成する。 最初はここまでしか たどり着けないけど… だんだんと遠くまで、 たどりつけるようにする。 Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2 (CD-ROMにソースコードと実行ファイルがあります) 最初の世代 新世代(100~世代後)
  176. 176. ②シミュレーションとNPCの評価 NPCが生きるゲーム世界の中で、実際に一定時間動作させるなど して、製作者がNPCに望む目標に対する評価値(達成値)をつける。 順位 評価値 1位 86.3 2位 78.4 3位 75.3 ..… … 100位 38.2 ゲーム製作者の意図を反映する評価関数を作る (例) 強いNPCを作りたければ、評価値=0.7*撃破数+0.3* 残りHP 取り合えず生き延びることできるNPCなら、 評価値=生存時間 ゲーム世界 敵 敵 敵 君はこの世界でどれだけ僕が求めるにふさわしいのだ? 遺伝子を評価するのではなく、その遺伝子を持つ個体が、 世界でどれだけ優秀であるかを測る。
  177. 177. 評価値から適応度を計算する 順位 評価値 1位 86.3 2位 78.4 3位 75.3 ..… … 100位 38.2 順位 適応度 1位 9.32 2位 8.83 3位 7.81 ..… … 100位 0.02 評価値から、その個体の環境に対する適応度を計算する。 評価値が大きいほど、適応度は大きくなるようにしておく。 評価値とは、その環境で達成した行為の点数のこと。 適応度とは、環境にどれぐらい対応しているかを表す。 両者の対応関係は、比例関係にあるならどう作ってもよい。 (例) 同じでいいや。 適応度 = 評価値 上位の点数は、差に意味がないから 適応度= log (評価値/100 ) など。
  178. 178. ③ 選択 順位 適応度 1位 0.93 2位 0.81 3位 0.79 4位 0.63 5位 0.51 6位 0.44 7位 0.32 8位 0.28 9位 0.10 10位 0.02 適応度比例方式(ルーレット選択) … 適応度の大きさに比例した確率で生き延びて親になれる。 (無作為にダーツを投げて親を決めるイメージ。 大きな適応度の領域ほどあたりやすい。プログラムでは勿論、乱数を使う) 生き延びて子孫(offspring)を残せる個体を決定する
  179. 179. ④交叉による次世代生成 遺伝子 1点交叉 切断点 選んだ2つの親の遺伝子を交叉(crossover)させる。
  180. 180. ⑤ 遺伝子操作(突然変異) ある確率(突然変異率)で、遺伝子コード上の遺伝子 (内容)をランダムに対立遺伝子に書き換える。 バイナリー表現 0110101 10100101 010100010 101010 10101010101010 0110101 10110101 010100010 101010 10101010101010 反転 3.1 56.7 5.4 2.0 23.912.3 実数表現 3.1 56.7+0.3 5.4 2.0 23.912.3 +Δ 遺伝子に多様性を与える
  181. 181. このプロセスを何度もくり返すことでNPCの集合は進化します ①初期の個体集合を生成 ②シミュレーション ④交叉による次世代生成 ⑤遺伝子操作(突然変異) 個体集合 ②評価 ③適応度による選択 (ゲームでない場合は このプロセスはなく、 いきなり遺伝子の適応度が 評価されることが多い)
  182. 182. (例)① GA Racer 遺伝的アルゴリズムによって、遠くまで到達できるレーサーを作成する。 最初はここまでしか たどり着けないけど… だんだんと遠くまで、 たどりつけるようにする。 Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2 (CD-ROMにソースコードと実行ファイルがあります) 最初の世代 新世代(100~世代後)
  183. 183. しかし、これはNPCの集団に 遺伝的アルゴリズムを組み込んだだけ AIとしての技術 ゲームシステムではない。
  184. 184. 森川幸人, 「テレビゲームへの人工知能技術の利用」, 人工知能学会誌vol.14 No.2 1999-3 http://www.1101.com/morikawa/1999-04-10.html に準拠します。 以下の解説は
  185. 185. (例)④アストロノーカ 最初はすぐに罠にかかるけど だんだんと罠にかからないようになる MuuMuu, プレイステーション用ソフト「アストロノーカ」(Enix, 1998) http://www.muumuu.com/games/astro/ 新世代(5~世代後)最初の世代 野菜 食べたい 世界最高峰の遺伝的アルゴリズムを使ったゲーム (AIをどうゲームに使うか、という手本のようなゲーム) CEDEC2008 AI day ③講演 2日目(3コマ目)
  186. 186. どういうゲーム? 珍しい野菜を育てる しかしバブーが野菜を食べに来る トラップを仕掛けて野菜を守れ! MuuMuu, プレイステーション用ソフト「アストロノーカ」(Enix, 1998) http://www.muumuu.com/games/astro/ 高値で取引、そして野菜コンテストで優勝!
  187. 187. 全体の流れ http://www.muumuu.com/CEDEC2003_ants/CEDEC2003_ants.htm 森川幸人, 赤尾容子, 「アリの知恵はゲームを救えるか?」,CEDEC2003
  188. 188. 4-① 初期の個体集合を生成 個体を多数(GAにはある程度の母数が必要)用意し、 各NPCに遺伝子コードを設定し、初期値を設定する。 56x8=448ビット 遺伝子身長 耐性_快光線腕力 脚力 耐性_かかし体重 1.87 6.85 16.25 25.03 25.03 16.25 6.85 1.87 0 1 2 3 4 5 6 7 [各ビットの重み] [バブーの属性(総計56)]
  189. 189. 4-②シミュレーションとNPCの評価 トラップを奥へと通り抜けることができるほど、 評価点が高くなる。 適応度 =成績+TB時間*0.3+エンジョイ*0.5+トラップ点+安全点+HP*0.5 要した時間 トラップに対する耐性
  190. 190. (例)アストロノーカ MuuMuu, プレイステーション用ソフト「アストロノーカ」(Enix, 1998) http://www.muumuu.com/games/astro/ アストロノーカ
  191. 191. 第2期③ニューラルネットワークと遺伝的アルゴリズム ゲームデザイナー 高度な技術を理解でき調整できる人間でなければならない (極めて稀)。 プレイヤー AIの成長を楽しむ。
  192. 192. FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii DC (次世代) TV game 3D Network AI 成長期 成熟期 インパクト Hardware 技術の歴史的な流れから見て、人工知能技術のゲームへの応用は、 次世代で成長し、次々世代で成熟するだろう。 人工知能技術の導入の適切なタイミングはいつか? 時間軸200519991994198 0
  193. 193. FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii DC (次世代) TV game 3D Network AI 成長期 成熟期 インパクト Hardware 技術の歴史的な流れから見て、人工知能技術のゲームへの応用は、 次世代で成長し、次々世代で成熟するだろう。 人工知能技術の導入の適切なタイミングはいつか? 時間軸200519991994198 0
  194. 194. 第2部 ゲームにおける人工知能の歴史 第1期 パターンAIとプロシージャルAI ① 単純なパターンAI ② 複数のパターンを持つAI ③ プロシージャルなAI 第2期 構造化されるAI ① AIの構造化とロジック実装 ② 内部パラメータ変動モデルと オブジェクトによるAI制御による日常系AI ③ ニューラルネットワークと遺伝的アルゴリズム 第3期 AIアーキテクチャの時代
  195. 195. 第3期 AIアーキテクチャの時代 個々のアルゴリズムや構造的なAI(第2期) 包括的なアーキテクチャへ キャラクターAIのためのフレームワークを構築する。
  196. 196. 「知性 - 環境 - 身体」相関図 環境 FSMなど 構造化された 知性 物理的相互作用 知性から身体へ制御情報を渡す 身体から知性へ現在の状態を渡す 限定された 情報の獲得 ボーン 構造を 持つ身体
  197. 197. 「知性 - 環境 - 身体」相関図 環境 FSMなど 構造化された 知性 ボーン 構造を 持つ身体 物理的相互作用 知性から身体へ制御情報を渡す 身体から知性へ現在の状態を渡す 限定された 情報の獲得 エージェント・アーキテクチャ 全体を包括する共通の基盤システムを作りましょう!
  198. 198. エージェントとは? ① 環境に対して情報を集める感覚(センサー)を持つ ② 自ら判断する能力を持つ。 ③ 環境に対して働きかけることができる能力を持つ。 自ら判断して感覚を持ち 世界に働きかける 能力を持つ !
  199. 199. ゲームにおけるエージェント ゲーム世界 身体を通じて ゲーム世界と相互にインタラクション 感覚を通じて ゲーム世界と自分の状態を取得
  200. 200. エージェント・アーキテクチャーにおける情報の流れ NPC ゲーム世界 感覚を通じて ゲーム世界と自分の状態を取得 身体を通じて ゲーム世界と相互にインタラクション この情報の流れに仕掛けをしてみよう! 「人工知能=からくり」 作り方を勉強しよう!
  201. 201. エージェント・アーキテクチャ 身体 認識 過程 意思決定 機構 行動生成 過程 一時記憶(Working Memory) 内部状態 センサー エフェクター NPCの知能部分 ゲーム世界 知識表現・世界表現・アフォーダンス 相互作用 時間 時間 記憶と思考の相互作用 NPCから見た認識 知識モデル化 (ゲーム世界の特徴を抽出したデータのこと) 知覚する 行動する 事前記憶
  202. 202. Halo  内容:宇宙船や地表を舞台にしたSFのFPS  開発元: BUNGIE Studio  出版: Microsoft  Hardware: Xbox, Windows, Mac  出版年: 2002年 Xbox, 全米、世界を代表するFPSの一つ( Halo 500万本 Halo2 700万 国内10万本) 「愛嬌のあるNPC」とその演出で、プレイヤーからの定評を得る。 Halo
  203. 203. Halo NPCの課題 プレイヤーから見て意図の明確なNPCを作る ちょこまかと 動き回る。 愛嬌がある。 グラント ジャッカル エリート 手堅い。 大型。 人間 敵(コグナント) 味方 普通の人間。 状況解析
  204. 204. Halo NPCのAIのアーキテクチャー 身体 状況 解析 意思決定 ロジック モーション コントロール 感情(演出にのみ使用) 記憶センサー NPCの知能部分 ゲーム世界 知識表現・世界表現 相互作用 時間 時間 モーション 「敵発見」 「味方志望」 「ダメージ受けた」 「プレイヤー発砲」 などイベントを抽出
  205. 205. Halo AI のアーキテクチャー イベント 「敵発見」 「味方志望」 「ダメージ受けた」 「プレイヤー発砲」 などイベントを抽出 状況解析
  206. 206. Halo AI の意志決定部分 イベント 敵の情報 チャージ, 退却, 隠れる場所探す グレネードを投げる、車に入る、死体を確認 単純なロジックで1ページ未満の 簡単なコードからなる。傾向としては、 「グラントはすぐ逃げる。」「エリートは傷つくと隠れ 「ジャッカルはシールドを持つ。」 各振る舞いはトリガーを持つ トリガーによって、振る舞いはお互い競合する 意思決定 ロジック モーション コントロール 位置取り FSM FSM レベルデザイナーの仕事①
  207. 207. Halo AI のアーキテクチャー 「敵発見」 「味方志望」 「ダメージ受けた」 「プレイヤー発砲」 などイベントを抽出 状況解析 演出(セリフ)
  208. 208. Halo NPCのAIのアーキテクチャー 身体 状況 解析 意思決定 ロジック モーション コントロール 感情(演出にのみ使用) 記憶センサー NPCの知能部分 ゲーム世界 知識表現・世界表現 相互作用 時間 時間 モーション 「敵発見」 「味方志望」 「ダメージ受けた」 「プレイヤー発砲」 などイベントを抽出
  209. 209. Halo  内容:宇宙船や地表を舞台にしたSFのFPS  開発元: BUNGIE Studio  出版: Microsoft  Hardware: Xbox, Windows, Mac  出版年: 2002年 Xbox, 全米、世界を代表するFPSの一つ( Halo 500万本 Halo2 700万 国内10万本) 「愛嬌のあるNPC」とその演出で、プレイヤーからの定評を得る。 Halo
  210. 210. Halo AI の特徴 身体 状況 解析 意思決定 ロジック モーション コントロール 感情 記憶 NPCの知能部分 ゲーム世界 知識表現・世界表現 相互作用 ① イベントに反応 ② キャラクターの個性に応じたアクション ③ セリフの選択・発話  状況解析  意思決定ロジック  感情とイベント 技術 効果 Halo のポイント はっきりしたイベントを抽出し、 そのイベントに対する反応した行動をさせ、 キャラクターの感情を分かりやすく表現する。 = プレイヤーに対して「明確な意図」を持つAIを演出する 企画の発想 何をプレイヤーにアピール(演出)したいか? プログラマーの発想 世界の事象に敏感に反応させる仕組みを作る
  211. 211. F.E.A.R 内容:閉鎖空間の中のホラーFPS 開発元: Monolith Production 出版: SIERRA Hardware: Windows, PS3 出版年: 2004年 FPSとホラーを, 映画的な演出によって結びつけたエポックメーキングな名作。 長年発展させて来たAI技術の本領が発揮され、開発者、プレイヤーから高い支持を集める。
  212. 212. F.E.A.R NPCの課題 何をするべきか、を自分で見つける。 見つけた目的を、如何にするべきか、を自分で考える。 動き回るが攻撃しない。 ラット アサシン 壁や天井を這う 人間 敵 普通の人間。 (C4アーキテクチャー+ゴール指向プランニング) 学術的な成果(C4アーキテクチャー)を、 どう実際のゲームに応用しているか見てみよう!
  213. 213. F.E.A.R NPCのAIのアーキテクチャー 身体 認識 過程 ゴール指向 プランニング 行動生成 過程 Working Memoryセンサー NPCの知能部分 ゲーム世界 知識表現・世界表現 相互作用 時間 時間 モーション ブラックボード シンボル 統一事実形式
  214. 214. プランニングとは?
  215. 215. プランニングとは? 初期状態 ゴール行動1 行動2 行動3 行動4 基本概念: 初期状態 ゴール プラナー プラナー
  216. 216. のどは かわい てないよ アクションプランニングの例 初期状態 ゴール のどが かわいた あなたは何ができるの? 移動する 水を飲む プラナー 移動する 行動(アクション)によるプランニング= アクションプランニング 水を飲む
  217. 217. プランニングにおける行動の表現 水のある場所 へ行く 水のある場所を 知っている 水を手にとること が出来る 水を飲む 水を手にとること ができる のどが 乾いていない 振る舞い 前提条件 効果 前提条件 = その行動を実行するために必要な条件 効果 = その行動を起こしたことによる効果 連鎖による方法 F.E.A.Rでは、前提条件、効果をシンボルで記述する。
  218. 218. のどは かわい てないよ 連鎖によるプランニング 初期状態 ゴール のどが かわいた 水のある場所 へ行く 水のある場所を 知っている 水を手にとること が出来る 水を飲む 水を手にとること ができる のどが 乾いていない 水のある場所を 知っている 喉が かわいている プラナー 水のある場所を 知っている 喉が かわいていない 連鎖 連鎖による方法 アクションのプール
  219. 219. 連鎖による方法 プランの分岐
  220. 220. 鎖による方法 期条件による ンの分岐
  221. 221. プランニング説明終了
  222. 222. F.E.A.Rのプランニング① シンボル kTargetAtme = ture この兵士Bは自分を狙っているkTargetIsDead = ture この兵士Aは死んだ kWeaponIsLoaded = false 私Cの武器は装填済みでない
  223. 223. F.E.A.Rのプランニング① シンボル シンボル エージェントの認識する世界をもっとシンプルに表現したい 各エージェントについて(Agent-centric) このシンボルをプランニングへ kSymbol_AtNode どのノードにいるか kSymbol_TargetIs AimingAtMe どのノードにいるか kSymbol_ WeaponArmed 武装しているか kSymbol_ WeaponLoaded 装填されているか kSymbol_Target IsSuppressed 威嚇されているか kSymbol_ UsingObject オブジェクトを 使っているか? kSymbol_ TargetIsDead 死んでいるか kSymbol_ RidingVehicle 乗り物に乗っているか kSymbol_AtNodeType どんなタイプのノードにいるか 20個のシンボルで世界を集約して表現する
  224. 224. F.E.A.R.のプランニング② シンボルによる連鎖プランニング ターゲットAが 死んでいる ターゲットAが 死んでいる 攻撃 武器が装填 されている 武器が装填 されている 装填する 武器を 持っている 武器を 持っている 武器を拾う 条件なし プラナー プランニング
  225. 225. プランニング
  226. 226. プランニング
  227. 227. F.E.A.R NPCのAIのアーキテクチャー 身体 認識 過程 ゴール指向 プランニング 行動生成 過程 記憶 センサー NPCの知能部分 ゲーム世界 知識表現・世界表現 相互作用 時間 時間 モーション ブラックボード ゲーム世界  プランニング  事実表現 ① 目的を自分で決定する。 ② 目的を遂行する方法を状況に応じて作成する。 F.E.A.R .のポイント C4 アーキテクチャーの基本の上にプランニング技術を組む込む = 状況を認識して、目的を選択して計画を立てるAI 企画の発想 単一の行動でなく、一つなぎの行動のシークエンスを 指定できる時代になったのだ(これからのAI) プログラマーの発想 プランニングの実装技術を身につける(これからのゲームAIの最大の武器)。
  228. 228. 第3期 AIアーキテクチャの時代 個々のアルゴリズムや構造的なAI(第2期) 包括的なアーキテクチャへ キャラクターAIのためのフレームワークを構築する。 ゲームデザイナー 人間らしいAIを構築することができる。 プレイヤー 対当な相手として対峙する。(しかし、人には及ばない)
  229. 229. メタAIの例
  230. 230. メタAI Left 4 Dead の事例 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html 今回は Left 4 Dead の事例を見てみましょう。
  231. 231. 適応型動的ペーシング [基本的発想] (1) ユーザーがリラックスしている時に、ユーザーの 緊張度が一定の敷居を超えるまで敵をぶつけ 続ける。 (2) ユーザーの緊張度が一定の緊張度を超えると 敵を引き上げる。 (3) リラックスすると敵を出現し始める((1)へ)。 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  232. 232. メタAI(=AI Director)によるユーザーのリラックス度に応じた敵出現度 ユーザーの緊張度 実際の敵出現数 計算によって 求められた 理想的な敵出現数 Build Up …プレイヤーの緊張度が目標値を超えるまで 敵を出現させ続ける。 Sustain Peak … 緊張度のピークを3-5秒維持するために、 敵の数を維持する。 Peak Fade … 敵の数を最小限へ減少して行く。 Relax … プレイヤーたちが安全な領域へ行くまで、30-45秒間、 敵の出現を最小限に維持する。 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html より具体的なアルゴリズム
  233. 233. メタAIがゲームを認識する方法 キャラクター用に作成された ナビゲーションメッシュを メタAIがゲームの 状況を認識するために使用する。 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  234. 234. メタAIが作用を行う領域 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html メタAIが作用(敵の生成・ 消滅)を行う領域を、 AAS(= Active Area Set) と 言います。
  235. 235. メタAIが作用を行う領域 (AAS=Active Area Set) Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  236. 236. メタAIが作用を行う領域 (AAS=Active Area Set) Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  237. 237. 安全な領域までの道のり(Flow Distance) メタAIはプレイヤー群の経路を トレースし予測します。 - どこへ来るか - どこが背面になるか - どこに向かうか Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  238. 238. AAS に対して行うこと。 メタAIはプレイヤー群の移動に伴い、 その周囲(AAS)に敵の群れを 生成・消滅させたりします。 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  239. 239. プレイヤーからの可視領域 可視領域(プレイヤーから見えている 部屋)では、敵のスパウニング(発生) はできません。 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  240. 240. 敵出現領域 背後 前方 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html 前方と背後のプレイヤー群から見えてない部屋に、 モンスターを発生させます。
  241. 241. モンスター・アイテム出現頻度 敵の種類、アイテムの種類ごとに出現頻度が違いますが、頻度に応じて発生させます。 高頻度 低頻度 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html Wanderers (高頻度) Mobs(中頻度) Special Infected (中頻度) Bosses (低頻度) Weapon Caches (低頻度) Scavenge Items (中頻度)
  242. 242. ボス出現アルゴリズム (1) N体を予想される逃走経路上に配置 (2) 3つの出現イベントパターン (何もいない、を含む) (例) Tank, Witch, 何もいない (3) 同じパターンのくり返しは禁止 (例) Witch, 何もいない、Witch はOK。 Witch, Witch はだめ。 何もいない Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html Tank Witch Witch Tank Witch Tank
  243. 243. 具体的なアルゴリズム (1) 各エリアに、出現数 N を決定する (2) 出現数Nは予想される逃走経路の長さと 要求される密度によって計算される. (3) あるエリアがAAS の中に入るとクリー チャーがN体生成される (4) そのエリアがAAS の外に出ると生成が中 止され、クリーチャーは消滅される。 (5) Nはそのエリアがプレイヤーから見えてい る場合、或いは、プレイヤーがリラックス モードの場合には、強制的に0になる。 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  244. 244. まとめ メタAIは、ゲームの流れを動的に作るAIで、キャラクターAI,イベントなどに は、命令だけを出します。これは明確に、メタAIと他のモジュールが独立し た関係にあるから可能なことです。
  245. 245. まとめ メタAIを入れ替えるだけで、ゲームコンテンツが入れ替えることができま す。メタAIという軽い部分だけを配信することでコンテンツを入れ替えるこ とが可能になります。
  246. 246. 参考文献 (1) Michael Booth, "Replayable Cooperative Game Design: Left 4 Dead," Game Developer's Conference, March 2009. (2) Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html (3) 三宅 陽一郎, “メタAI”,「デジタルゲームの技術」 P.186-190, ソフトバンク クリエイティブ
  247. 247. 第2部 まとめと考察
  248. 248. 考察 ①キャラクターAIの技術は、パターンからアルゴリズム、 構造化を経てアーキテクチャとして体系化されるように なった。 ②キャラクターAIの発展はユーザーに常に新し いゲー ム体験を提供して来た。 ③ゲームにおけるAIの果たす役割は、単なる攻略対象か ら、より多様な役割を果たすように変化して来た。
  249. 249. 知能方程式 人工知能 = 知識 x 思考 考えるゲームを知識として 表現すること ユーザーの体験 = ユーザーの心理 x キャラクターの賢さ 人工知能ゲームの状況
  250. 250. (I) 参考文献(日本語) (1) 「FSM」「プランニング」「評価値法」など、 ゲームAIの基礎技術については、 オライリー・ジャパン 「実例で学ぶゲームAIプログラミング」 (Mat Buckland著、松田晃一訳) の解説が優れています。 ソースコードはWEB http://www.wordware.com/files/ai/ できれば原書で読みましょう!
  251. 251. (I)参考文献(日本語) (2) ①「世界表現」「プランニング」については、IGDA日本のHPの 「ダウンロード」から、三宅が書いた第1,2、5,6回セミナーの教科書、 CEDEC2006の資料がDLできます。 http://blogai.igda.jp/article/66585525.html ② ディジタルコンテンツ協会 デジタルコンテンツ制作の先端技術応用に関する調査研究報告書(第3章) http://www.dcaj.org/report/2007/ix1_07.html (PDFファイルがダウンロード出来ます。) ③ 人工知能学会誌 Vol. 23 No. 1 (2008 年 1 月 ) 「ゲームAI特集」 「ディジタルゲームにおける人工知能技術の応用」 (三宅) ④ 人工知能学会誌 Vol. 30 No. 1 (2015 年 1 月 ) 「ゲームAI特集」 「ディジタルゲームにおける人工知能技術の応用ディジタルゲームにおける 人工知能技術の応用の現在」 (三宅) http://id.nii.ac.jp/1004/00000517/
  252. 252. (II)参考文献(英語) WEB Mat Buckland ai-junkie http://www.ai-junkie.com/ai-junkie.html Craig Raynolds RAYNOLDS http://www.red3d.com/ リンク集 http://www.red3d.com/cwr/games/ Steven Rabin GameAI http://www.gameai.com/ CGF-AI CGF-AI http://www.cgf-ai.com/ リンク集 http://www.cgf-ai.com/links.html
  253. 253. (II)参考文献(英語) 書籍 AI Game Programming Wisdom 1 - 4 ゲーム開発者、研究者による、 それぞれのタイトルの実装例、研究成果
  254. 254. Game AI 知識の集積 2000 2006 2010 知識の集積 AI Game Programming Wisdom 20. Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers (Fabien Gravot, Takanori Yokoyama, Youichiro Miyake)
  255. 255. Game AI 知識の集積 2000 2006 2010 知識の集積 AI Game Programming Wisdom
  256. 256. - ゲームAIの実例紹介・技術紹介 - 開発インタビュー - 論文紹介 - カンファレンス資料 (GDC AI Tutorial, Paris Game AI Conference ) が掲載 -非常に重要な情報源 -登録が必要(無料) -有料会員記事と無料会員記事がある。 -Alex Champandard が主催 (研究者からゲーム産業へ。 産業と学術を繋ぐ人物) AI Game Dev.COM
  257. 257. - ゲームAI業界の産業カンファレンス - パリ・ウィーンなど欧州で開催。 - 主催は、 AIGameDev.Com - 資料は AIGameDev.Com で公開 - 学生も多い。やはり欧州などが中心 - GDC と並んで、AI Programmers Guild も深く 関わっているが、学術との交流も志向。 Game AI Conference Artificial Intelligence for Creative Applications http://nucl.ai/
  258. 258. デジタルゲームAIの歴史 2000 2006 2010 発表を通して、 ゲームAIの知識が 蓄積される。 (年に2~3個の良い発表) いろいろな 企業がAIに力を入れ始める (米が中心) ラウンドテーブル、 AI Programmers Dinner、 など、なんとなくコミュニティが 形成される。 知識が集積する 競って発表する ゲームエンジンの中に 取り込まれつつある
  259. 259. (II)参考文献(英語) 書籍 John Ahlquist, Jeannie Novak Game Development Essentials: Game Artificial Intelligence 欧米のゲームAIの歴史から 最先端までがわかりやすく、 解説されています。 文科系の方も理科系の方も 読んで楽しめる本です。
  260. 260. Acknowledgment ご清聴ありがとうございました。 ご質問などは、こちらまでお寄せください。 https://www.facebook.com/youichiro.miyake http://www.slideshare.net/youichiromiyake y.m.4160@gmail.com

×