忍者ブログ
ゲームを作ったり、ゲームを遊びまくったりしている せっき~の生き様。   まずは目次をご覧ください
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

これは、2010年9月19日 に行われた doujin24 セミナーの記事です。

doujin24 セミナー部での講演です。

「マルチエージェントシステムのゲームへの応用」


同人サークル 「神奈川電子技術研究所」さんより講演
http://www.shindenken.org/



------------------------------------------------------------------

●マルチエージェントシステム とは?

多数の自律的に行動するエージェントから構築されるシステム

・それぞれのエージェントは、自分の環境を知覚
自分の行動ルールで行動をとる

・エージェントを集中的に管理するものは存在しない



●イメージ
マルチエージェント







●マルチエージェントシステムの利点

・機能が単純なエージェントでも、複雑な行動ができる


・エージェントが自律的に行動するため、
外部からの影響や、変化に対して柔軟に対応できる

→ もし中央集権の場合、その中央が無くなったしまうと 全体が動かなくなる など


あるエージェントが動けなくなったとしても
他のエージェントが肩代わりすることによって、全体には影響を与えない。



●マルチエージェントの使用例

僕は森世界の神になる

マルチエージェント







→ 大量のキャラクター 
 一つ一つがエージェント

 一つ一つは単純な動きしかしないが、集合で見ると 生命の営みを感じられる



QUALIA2~evolve~

マルチエージェント







→ 敵のボス
  全体で一つの敵 と思いきや、小さなエージェントの集合体

  一つ一つは、自機を追うだけ のような簡単な動きしかしないが
 集合体になる事で、すごい複雑そうなキャラクターに見える



------------------------------------------------------------------

●3つの流れ


1.センシング (周りの環境)
  ↓
2.情報処理  
  ↓
3.アクション



・「僕は森世界の神になる」 の例

マルチエージェント








1.センシング

一番近い味方の位置
一番近い食べ物の位置
自分のHP



3.アクション

一番近い味方を探す
一番近い味方と一定の距離になるように移動
一番近い食べ物を探す
一番近い食べ物に向かう
一番近い食べ物を食べる
ランダムウォークする
卵を産む



2.情報処理

HPが高い → ランダムウォーク
          卵を産む  (産むと HPが激減する)

HPが低い → 食べ物に向かう
          一番近い味方と 一定の距離を取る

HPが低く食べ物が近い → 食べ物を食べる

ときどき  → 一番近い味方を探す

ときどき  → 一番近い食べ物を探す

(ときどき = 何フレームかに一度)



これだけの条件分岐だけなので、プログラムを組むのはとても簡単
その上で、実際に それっぽい動きになるのが マルチエージェントの強みです。

(それっぽい動き は、公式サイトのムービーを見てみてください)




------------------------------------------------------------------

●処理速度問題に対する工夫

・エージェントの数が増えていけば増えるほど
比例して処理が重くなる。

(僕は森世界の神になる でも、1000キャラクターは出せていない)


→ エージェント全部に対する処理は、毎フレーム行わない
 (自分の近くに居る味方を探す など)

→ プログラムを書く際、条件が満たしにくい物から 順番に行う。

→ 処理の重たい命令は、処理の軽い命令に置き換える
 (2乗する とかの場合、関数を使うのでは無く 掛け算で)


→→ 結構、地道に ローテクな方法で解決しています。




------------------------------------------------------------------

●おわりに

こんな事 できれば良いな と考えています。

→ 細胞 1つ1つをエージェントとして扱う事で
 生物を作り上げられるのでは無いか?

→ ニューロン(脳)を シュミレートできれば、高度なAIが作り上げられるのではないか?

→ 物理現象や、生命の営みを趣味レートできれば、地球のような世界が作り上げられるのではないか?

→→ 世界を作る試しとして、「僕は森世界の神になる」を作りました。

  将来的には、世界を作り上げられるよう頑張っていきたいと考えています。

拍手[0回]

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
プロフィール
HN:
せっき~
性別:
男性
職業:
ゲームプログラマ
自己紹介:
古いパソゲー、ボードゲーム、カードゲームを熱狂的に遊んでいます。


ついったー
http://twitter.com/seki_seki_seki

連絡先は
sekisekiseki(あっと)gmail.com
最新コメント
[06/24 www.linux.ca]
[06/23 linux.org]
[06/23 blackmarket-matches.com]
[06/23 Ucuz Davetiye]
[06/22 ロレックス デイトナ 8pダイヤ]
カウンター
ついったー

Copyright © [ せっき~のゲーム屋さん ] All rights reserved.
Special Template : 忍者ブログ de テンプレート and ブログアクセスアップ
Special Thanks : 忍者ブログ
Commercial message : [PR]