SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ゲームAI連続セミナー「ゲームAIを読み解く」レポート

ゲームAI連続セミナー「ゲームAIを読み解く」 第4回 レポート

第4回「Halo2 におけるHFSM(階層型有限状態マシン)」レポート


  • このエントリーをはてなブックマークに追加

人工知能(AI)をゲームに応用しようとするのが「ゲームAI」である。ゲームAIへの理解を深めるために連続セミナーが開催されている。本稿では、同セミナーのコーディネータが、第4回の模様をお伝えする。

  • このエントリーをはてなブックマークに追加

 IGDA日本は、株式会社フロム・ソフトウェアの協力、日本デジタルゲーム学会(DiGRA JAPAN)の後援の下、6月30日(土)に東京大学本郷キャンパス工学部新2号館(東京都文京区)にて、ゲームAI連続セミナー「ゲームAIを読み解く」の第4回「Halo2におけるHFSM」を開催しました。本セミナーのコーディネータを務めました筆者がレポートをお届けします。

 なお、本連続セミナーの概要などについては過去のセミナーレポートをご覧ください。

過去のセミナーレポート

Halo2におけるHFSM

三宅陽一郎氏(フロムソフトウェア)による講演の様子
三宅陽一郎氏(フロムソフトウェア)による講演の様子

 第4回は「Halo2におけるHFSM(Hierarchical Finite State Machines、階層型有限状態マシン)」と題して、FSMによるHaloのAI実装と、HFSMによるHalo2のAI実装を取り上げました。システムの挙動を記述する汎用的な手法であるFSMの導入によって、ゲームAIの実装がどのように行われるのか、開発者や開発工程にどのような影響があるのか、を考えました。

 第3回まで取り上げてきたテーマでは、特定のAI技術を導入することで、どのように特別な機能を実現するかを考えてきました。今回は少し切り口を変え、ゲームAIの実現にFSMを導入することで、どのようなゲームAIの枠組みが実現されるかを考えてみました。HaloやHalo2がFSMを用いて特定の「判断」機能を実現していることは確かです。しかし、それだけに止まらず、この事例を拡大解釈することで、ゲームAIを作るための枠組みについて考えることができます。

FSMとは

 FSMとは、日本語に訳すと「有限状態マシン」となります。これは、有限個の状態が、有限個の遷移ルールによって結ばれた、システムの挙動を状態遷移で表現するモデルです。日本では「有限オートマトン」と言った方がなじみがあるでしょう。このモデルは、日本の多くの教育機関で「有限オートマトン」として教えられています。

 一般に、このモデルを表現するには「状態遷移図」と呼ばれる図が使われます。この図を標準化したのが、UMLにおける「ステートチャート」です。

ステートチャート
ステートチャート

 状態遷移図では、「今の状態は『見渡す』、で、イベント『対象発見』が発生したら、『追跡』状態に遷移」とシステムの挙動を追うことができ、図を解釈すること自体には、難しい知識を必要としません。

 その一方、表現されるFSMモデル自体は「有限オートマトン」で1冊の教科書が書けるぐらい、数学的にも厳密に扱えるようになっており、ソフトウェアとして実装することが容易です。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
HaloにおけるFSM

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ゲームAI連続セミナー「ゲームAIを読み解く」レポート連載記事一覧

もっと読む

この記事の著者

長久 勝(ナガク マサル)

1972年1月10日生まれ。京都府出身。1994年龍谷大学理工学部数理情報学科卒業。ゲーム会社に入社。「ワンダースワンゲームプログラミング」「Javaゲームプログラミング」等を執筆。早稲田大学MNC非常勤講師。神楽坂酔っ払い研究所所長。ホームページはhttp://www6.plala.or.jp/mnagaku/。blog「mnagakuのx86_64地獄」も毎日更新中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1515 2008/09/04 12:41

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング