ゲームを作ったり、ゲームを遊びまくったりしている せっき~の生き様。 まずは目次をご覧ください
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
これは、2010年9月19日 に行われた doujin24 セミナーの記事です。
doujin24 セミナー部での講演です。
「マルチエージェントシステムのゲームへの応用」
同人サークル 「神奈川電子技術研究所」さんより講演
http:// www.shi ndenken .org/
------------------------------------------------------------------
●マルチエージェントシステム とは?
・多数の自律的に行動するエージェントから構築されるシステム
・それぞれのエージェントは、自分の環境を知覚し
自分の行動ルールで行動をとる
・エージェントを集中的に管理するものは存在しない
●イメージ
●マルチエージェントシステムの利点
・機能が単純なエージェントでも、複雑な行動ができる
・エージェントが自律的に行動するため、
外部からの影響や、変化に対して柔軟に対応できる
→ もし中央集権の場合、その中央が無くなったしまうと 全体が動かなくなる など
・あるエージェントが動けなくなったとしても
他のエージェントが肩代わりすることによって、全体には影響を与えない。
●マルチエージェントの使用例
・僕は森世界の神になる
→ 大量のキャラクター
一つ一つがエージェント
一つ一つは単純な動きしかしないが、集合で見ると 生命の営みを感じられる。
・QUALIA2~evolve~
→ 敵のボス
全体で一つの敵 と思いきや、小さなエージェントの集合体
一つ一つは、自機を追うだけ のような簡単な動きしかしないが
集合体になる事で、すごい複雑そうなキャラクターに見える。
------------------------------------------------------------------
●3つの流れ
1.センシング (周りの環境)
↓
2.情報処理
↓
3.アクション
・「僕は森世界の神になる」 の例
1.センシング
一番近い味方の位置
一番近い食べ物の位置
自分のHP
3.アクション
一番近い味方を探す
一番近い味方と一定の距離になるように移動
一番近い食べ物を探す
一番近い食べ物に向かう
一番近い食べ物を食べる
ランダムウォークする
卵を産む
2.情報処理
HPが高い → ランダムウォーク
卵を産む (産むと HPが激減する)
HPが低い → 食べ物に向かう
一番近い味方と 一定の距離を取る
HPが低く食べ物が近い → 食べ物を食べる
ときどき → 一番近い味方を探す
ときどき → 一番近い食べ物を探す
(ときどき = 何フレームかに一度)
これだけの条件分岐だけなので、プログラムを組むのはとても簡単。
その上で、実際に それっぽい動きになるのが マルチエージェントの強みです。
(それっぽい動き は、公式サイトのムービーを見てみてください)
------------------------------------------------------------------
●処理速度問題に対する工夫
・エージェントの数が増えていけば増えるほど
比例して処理が重くなる。
(僕は森世界の神になる でも、1000キャラクターは出せていない)
→ エージェント全部に対する処理は、毎フレーム行わない
(自分の近くに居る味方を探す など)
→ プログラムを書く際、条件が満たしにくい物から 順番に行う。
→ 処理の重たい命令は、処理の軽い命令に置き換える
(2乗する とかの場合、関数を使うのでは無く 掛け算で)
→→ 結構、地道に ローテクな方法で解決しています。
------------------------------------------------------------------
●おわりに
こんな事 できれば良いな と考えています。
→ 細胞 1つ1つをエージェントとして扱う事で
生物を作り上げられるのでは無いか?
→ ニューロン(脳)を シュミレートできれば、高度なAIが作り上げられるのではないか?
→ 物理現象や、生命の営みを趣味レートできれば、地球のような世界が作り上げられるのではないか?
→→ 世界を作る試しとして、「僕は森世界の神になる」を作りました。
将来的には、世界を作り上げられるよう頑張っていきたいと考えています。
doujin24 セミナー部での講演です。
「マルチエージェントシステムのゲームへの応用」
同人サークル 「神奈川電子技術研究所」さんより講演
http://
------------------------------------------------------------------
●マルチエージェントシステム とは?
・多数の自律的に行動するエージェントから構築されるシステム
・それぞれのエージェントは、自分の環境を知覚し
自分の行動ルールで行動をとる
・エージェントを集中的に管理するものは存在しない
●イメージ
●マルチエージェントシステムの利点
・機能が単純なエージェントでも、複雑な行動ができる
・エージェントが自律的に行動するため、
外部からの影響や、変化に対して柔軟に対応できる
→ もし中央集権の場合、その中央が無くなったしまうと 全体が動かなくなる など
・あるエージェントが動けなくなったとしても
他のエージェントが肩代わりすることによって、全体には影響を与えない。
●マルチエージェントの使用例
・僕は森世界の神になる
→ 大量のキャラクター
一つ一つがエージェント
一つ一つは単純な動きしかしないが、集合で見ると 生命の営みを感じられる。
・QUALIA2~evolve~
→ 敵のボス
全体で一つの敵 と思いきや、小さなエージェントの集合体
一つ一つは、自機を追うだけ のような簡単な動きしかしないが
集合体になる事で、すごい複雑そうなキャラクターに見える。
------------------------------------------------------------------
●3つの流れ
1.センシング (周りの環境)
↓
2.情報処理
↓
3.アクション
・「僕は森世界の神になる」 の例
1.センシング
一番近い味方の位置
一番近い食べ物の位置
自分のHP
3.アクション
一番近い味方を探す
一番近い味方と一定の距離になるように移動
一番近い食べ物を探す
一番近い食べ物に向かう
一番近い食べ物を食べる
ランダムウォークする
卵を産む
2.情報処理
HPが高い → ランダムウォーク
卵を産む (産むと HPが激減する)
HPが低い → 食べ物に向かう
一番近い味方と 一定の距離を取る
HPが低く食べ物が近い → 食べ物を食べる
ときどき → 一番近い味方を探す
ときどき → 一番近い食べ物を探す
(ときどき = 何フレームかに一度)
これだけの条件分岐だけなので、プログラムを組むのはとても簡単。
その上で、実際に それっぽい動きになるのが マルチエージェントの強みです。
(それっぽい動き は、公式サイトのムービーを見てみてください)
------------------------------------------------------------------
●処理速度問題に対する工夫
・エージェントの数が増えていけば増えるほど
比例して処理が重くなる。
(僕は森世界の神になる でも、1000キャラクターは出せていない)
→ エージェント全部に対する処理は、毎フレーム行わない
(自分の近くに居る味方を探す など)
→ プログラムを書く際、条件が満たしにくい物から 順番に行う。
→ 処理の重たい命令は、処理の軽い命令に置き換える
(2乗する とかの場合、関数を使うのでは無く 掛け算で)
→→ 結構、地道に ローテクな方法で解決しています。
------------------------------------------------------------------
●おわりに
こんな事 できれば良いな と考えています。
→ 細胞 1つ1つをエージェントとして扱う事で
生物を作り上げられるのでは無いか?
→ ニューロン(脳)を シュミレートできれば、高度なAIが作り上げられるのではないか?
→ 物理現象や、生命の営みを趣味レートできれば、地球のような世界が作り上げられるのではないか?
→→ 世界を作る試しとして、「僕は森世界の神になる」を作りました。
将来的には、世界を作り上げられるよう頑張っていきたいと考えています。
PR
この記事にコメントする
プロフィール
HN:
せっき~
性別:
男性
職業:
ゲームプログラマ
自己紹介:
古いパソゲー、ボードゲーム、カードゲームを熱狂的に遊んでいます。
ついったー
http://twitter.com/seki_seki_seki
連絡先は
sekisekiseki(あっと)gmail.com
ついったー
http://twitter.com/seki_seki_seki
連絡先は
sekisekiseki(あっと)gmail.com
カテゴリー
最新記事
(10/24)
(02/17)
(12/20)
(12/07)
(11/29)
(11/15)
(11/02)
最新コメント
[06/24 www.linux.ca]
[06/23 linux.org]
[06/23 blackmarket-matches.com]
[06/23 Ucuz Davetiye]
[06/22 ロレックス デイトナ 8pダイヤ]
カウンター
ついったー