1 / 30

人工知能をゲームに応用する

人工知能をゲームに応用する. 有限会社ムームー 森川幸人  . ニューラルネットワーク・モデルの利用. 主人公がアイテムのカテゴリーを学習、  想起するエンジンとして利用。 主人公が、環境(外界、自分の生理)の状態に  応じて取るべき行動を学習、想起する  エンジンとして利用。. 「がんばれ森川君2号」 (1997 SCE). 「ここ掘れプッカ」 (2000 SCE). 遺伝的アルゴリズム・モデルの利用. 敵モンスターが、プレイヤーの仕掛ける  トラップに耐性がつくような進化を遂げる  仕組みとして利用。. 「アストロノーカ」 (1998 SCE).

nyla
Télécharger la présentation

人工知能をゲームに応用する

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 人工知能をゲームに応用する 有限会社ムームー 森川幸人  

  2. ニューラルネットワーク・モデルの利用 • 主人公がアイテムのカテゴリーを学習、 想起するエンジンとして利用。 • 主人公が、環境(外界、自分の生理)の状態に 応じて取るべき行動を学習、想起する エンジンとして利用。 「がんばれ森川君2号」(1997 SCE) 「ここ掘れプッカ」(2000 SCE)

  3. 遺伝的アルゴリズム・モデルの利用 • 敵モンスターが、プレイヤーの仕掛ける トラップに耐性がつくような進化を遂げる 仕組みとして利用。 「アストロノーカ」(1998 SCE)

  4. ゲーム「アストロノーカ」の流れ ここにGAを利用

  5. バブーの進化には、3つの要素がある。#1 • 種族の進化(拡大)バブーの種類、形状が進化(拡大)する ゲーム進行中の集団(20個体)

  6. バブーの進化には、3つの要素がある。#2 • トラップへの耐性の進化 • トラップからの脱出、破壊能力が進化する (例)落とし穴から飛び出す(脚力)

  7. バブーの進化には、3つの要素がある。#3 • トラップへの戦略の進化 • トラップをさけるか、壊して行くかなど、対トラップ戦略が進化する (例)トラップを発見したら、それを避ける経路を取る

  8. バブーの進化(方向とスピード)は、プレイヤーの仕掛けるトラップの構成によって、決まるバブーの進化(方向とスピード)は、プレイヤーの仕掛けるトラップの構成によって、決まる

  9. バブーの能力(属性値)の調整は、最初の集団のみで、その後のレベルのバブーの能力は、自動的に作られていく。バブーの能力(属性値)の調整は、最初の集団のみで、その後のレベルのバブーの能力は、自動的に作られていく。

  10. キャラクターの進化への応用 • 例えば、RPGにおけるキャラクター(敵)の強さ設定にGAを利用する。 • プレイヤーとのバトルを通じて、キャラクターが自律的に進化する(強くなる)。

  11. GAを使う利点 • あらかじめ、全てのレベル(強さ)のキャラクターの能力値を設定しなくてもよい。 • 最初の集団の能力値を設定したら、その後の進化の方向、スピードは、プレイヤーとの関係で設計されていく。

  12. まとめ • RPGのモンスターに限らず、レースゲームの車の性能など、いろいろなジャンルのゲームに応用が可能。 • 能力値だけでなく、戦略性も進化させられる。 • レベル間の強さの段階の設定をしなくてもいい。 • 常にその時点のプレイヤーの力にフィットした能力値の設計が、自動的にできる。 • あらかじめ、全てのレベル(強さ)のキャラクターの能力値を設定しなくてもよい。 • もしくは、以上の設定を、開発段階で自動化できる。

  13. 自律生成の仕組みをゲームに組み込む • 予定調和的な世界設計が飽きられ始めている。 • ゲームのボリュームが肥大化していくに伴い、 全内容を人力で作ることが、大きなコストに  なっている。 • 必ずしも人工知能的アプローチに 固執するものではない。

  14. クマに演歌を作らせ,歌わせる方法 • このゲームは、弟子のクマに演歌の魂を教え込むゲームである。 • クマが演歌の歌詞とメロディーを自動生成する。 • 作った曲を音声合成で歌い上げる。 (2003 SCEJ)

  15. 具体的な内容 具体的には、 1)クマに言葉を教える、またはクマが自主的に言葉を覚えてくる 2)クマが作った歌詞に修正や評価を加える(加えなくても可) 3)できあがった歌詞にクマが曲をつける 4)できあがった曲をクマが歌う という要素から構成されている。

  16. 演歌を自動生成する  本ゲームでは、  人工知能的アプローチではないが、  クマが歌詞と曲を自動生成するための仕組みが組み込まれている。

  17. 歌詞を作る  クマはゲームの進行、あるいはプレイヤーの教育(言葉を教え込む)によって、ボキャブラリーを増やしていく。また、覚えた言葉は、使われた回数や評価(ほめられた、無視されたなど)回数によって、選ばれる確率が変化していく。

  18. 歌詞の自動生成の方法#1  用意された空のテンプレートの中から  ランダムにテンプレートを選択する。 このテンプレートには、行数と各行の文字数の制限のみが定義されている。  (例)1行目:8文字+5文字、2行目:7文字+7文字...

  19. 歌詞の自動生成の方法#2 別の定義テーブルでは、 文字数毎の品詞構成が定義されている。 (例)8文字: (4文字の形容詞+1文字の助詞+3文字の名詞)、 (3文字の形容詞+5文字の名詞)...

  20. 歌詞の自動生成の方法#3 この定義を先に選択したテンプレートにはめ込んでいき、 歌詞の品詞構成を決定する。 こうしてできたテンプレートに、 クマの知っている言葉(ボキャブラリー)から、 文字数的に適合する品詞を選んで組み込んで 歌詞を完成させる。 ※助詞は、その前後の名詞、形容詞から適宜に選択される

  21. 曲の自動生成の方法#1 曲の生成は、以下の手順で進む。

  22. 曲の自動生成の方法#2 1.曲調を選択する 演歌の曲のトーンを選択する。 演歌を大きく3つのタイプに分類し、 いずれかのトーンがランダムに選ばれる。

  23. 曲の自動生成の方法#2 2.コードを選択する 曲調に応じたコード進行が選択される。 曲調毎に、多くのコード進行セットが 用意されている。

  24. 曲の自動生成の方法#3 3.メロディーラインを選ぶ コードにそうメロディーラインが選ばれる。 コード毎に、多くのメロディーラインが 用意されており、ランダムに選択される。 また、メロディー間の相性があるので、 その禁則処理もされる。

  25. 曲の自動生成の方法#4 4.楽器セットを選ぶ 最後に、生成された楽曲を演奏する 楽器セットを選択する。

  26. 音声 • カーナビなどでお馴染みの音声合成エンジンを使っている。  (株式会社アニモの音声合成エンジンを利用) • 作られた曲はMIDIデータになっており、音声はその「楽器」として扱われている。 • 人間?の声らしくきこえるために楽曲のメロディーの特性に合わせて、さらにMIDIの制御(ビブラートなど)を加えている。

  27. 今後の課題#1 今後の課題は大きく3つある。 • 歌詞全体が「意味の通る」歌詞にする。 • プレイヤーの嗜好を反映した楽曲をつくれるようにする。 • より、人間らしい声にする。

  28. 今後の課題#2 • 意味の通る歌詞を生成するためには、高度な意味解析技術が必要。 • この処理はいろいろな意味で「大きな作業」になりそう。例えエンジンが開発されたとしても、1ゲームあるいは、ゲーム機が扱える能力を越えることが予想される。

  29. 今後の課題#3 • 「意味が通じる」歌詞の生成の方法として、意味解析とは全く異なるアプローチがあるのではないか? • プレイヤーが教えた、あるいは評価した「歌詞の連なり」をデータベース化する。 • ネットワークを通して、このDBを他のユーザーと共有することで、DBの量と質を高めていく。

  30. 今後の課題#4 • そのためには、DBから最適な情報(ことば)を検索し、選択するためのアルゴリズムの開発が必要? • アクティブ探索法の利用? • 補完類似度法の利用?

More Related