JP2018512186A - 情報処理装置、情報処理方法、非一時的なコンピュータ読み取り可能な記憶媒体 - Google Patents

情報処理装置、情報処理方法、非一時的なコンピュータ読み取り可能な記憶媒体 Download PDF

Info

Publication number
JP2018512186A
JP2018512186A JP2017542925A JP2017542925A JP2018512186A JP 2018512186 A JP2018512186 A JP 2018512186A JP 2017542925 A JP2017542925 A JP 2017542925A JP 2017542925 A JP2017542925 A JP 2017542925A JP 2018512186 A JP2018512186 A JP 2018512186A
Authority
JP
Japan
Prior art keywords
node
assigned
finite state
state machine
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017542925A
Other languages
English (en)
Other versions
JP6514352B2 (ja
Inventor
陽一郎 三宅
陽一郎 三宅
貴規 横山
貴規 横山
幸介 並木
幸介 並木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Publication of JP2018512186A publication Critical patent/JP2018512186A/ja
Application granted granted Critical
Publication of JP6514352B2 publication Critical patent/JP6514352B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • G06N5/047Pattern matching networks; Rete networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

キャラクタの状態が割り当てられたノードを含む有限状態マシン、キャラクタの行動内容が割り当てられたノードを含むビヘイビアツリー、の何れか一方に含まれているノードのうち1つのノードがユーザ操作に応じて指定されると、該1つのノードに有限状態マシン及びビヘイビアツリーの何れを割り当てるのかをユーザに問い合わせるための画面を表示画面に表示させる。有限状態マシン及びビヘイビアツリーのうちユーザ操作に応じて選択された一方を、該1つのノードに割り当てる。

Description

本発明は、ゲームキャラクタの人工知能に係る技術に関するものである。
近年、ゲームで用いられる人工知能には、より抽象的な思考が求められると同時に、柔軟な振る舞いが必要とされている。従来では、ゲームにおける人工知能は、有限状態マシン(Finite State Machine、以下FSM)、ビヘイビアツリー(Behavior Tree、以下BT)のいずれかで開発されていた。
FSMとは、図1に示す如く、状態(ステート)をノードとし、該ノード間を遷移ラインで接続して構成されたもので、イベントが発生すると、該イベントに応じたノードに遷移し、該遷移したノードに対応する状態をキャラクタの状態とするものである。一方、BTとは、キャラクタの行動規則をツリー表現したもので、例えば、図2に示す如く、親ノードによって、子ノード(行動A〜C)のどれを及び/又はどの順序で実行するのかを規定するものである。一般に、FSMは定型的な制御に優れており、BTは臨機応変な制御に優れていた。
Damian Isla、"GDC 2005 Proceeding: Handling Complexity in the Halo 2 AI"、[online]、March 11, 2005、[2016年2月5日検索]、インターネット<URL:http://www.gamasutra.com/view/feature/130663/gdc_2005_proceeding_handling_.php>
しかし従来では、FSM及びBTの何れか一方のみを使用してキャラクタの人工知能を開発していたので、FSM及びBTの双方の利点を活用することはできなかった。そこで、本発明では、FSM及びBTの双方の利点を活用して、より柔軟なキャラクタの行動パターンを表現する人工知能を開発するための技術を提供する。
本発明の一様態は、キャラクタの状態が割り当てられたノードを含む有限状態マシン、キャラクタの行動内容が割り当てられたノードを含むビヘイビアツリー、の何れか一方に含まれているノードのうち1つのノードがユーザ操作に応じて指定されると、該1つのノードに有限状態マシン及びビヘイビアツリーの何れを割り当てるのかをユーザに問い合わせるための画面を表示画面に表示させる表示制御手段と、前記有限状態マシン及び前記ビヘイビアツリーのうちユーザ操作に応じて選択された一方を、前記1つのノードに割り当てる割り当て手段とを備えることを特徴とする。
本発明の構成によれば、FSM及びBTの双方の利点を活用して、より柔軟なキャラクタの行動パターンを表現する人工知能を開発することができる。
本発明の更なる特徴は、添付図面を参照して以下の例示的な実施の形態の説明から明らかになるであろう。
添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
図1はFSMの構成例を示す図。 図2はBTの構成例を示す図。 図3はコンピュータ装置のハードウェア構成例を示すブロック図。 図4は選択されたFSMの構成例を示す図。 図5はFSM及びBTの何れかを割り当てる方法を説明する図。 図6aはFSMの割り当てを説明する図。 図6bはFSMの割り当てを説明する図。 図6cはFSMの割り当てを説明する図。 図7aはBTの割り当てを説明する図。 図7bはBTの割り当てを説明する図。 図7cはBTの割り当てを説明する図。 図8はGUIを用いた人工知能のデータの生成処理のフローチャート。 図9はFSMとBTの入れ子階層構造の一例を示す図。 図10はFSMとBTとの入れ子階層構造を作成中のGUIの表示例を示す図。 図11はFSMの入れ子階層構造を作成中のGUIの表示例を示す図。 図12はBTの入れ子階層構造を作成中のGUIの表示例を示す図。
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
第1の実施形態
キャラクタの状態が割り当てられたノードを含む有限状態マシン、キャラクタの行動内容が割り当てられたノードを含むビヘイビアツリー、の何れか一方に含まれているノードのうち1つのノードがユーザ操作に応じて指定されると、該1つのノードに有限状態マシン及びビヘイビアツリーの何れを割り当てるのかをユーザに問い合わせるための画面を表示画面に表示させ、有限状態マシン及びビヘイビアツリーのうちユーザ操作に応じて選択された一方を、該1つのノードに割り当てることを特徴とする情報処理装置の一例について説明する。
ここでいうところの「キャラクタ」とは、ゲームの世界(所謂仮想世界)に存在する仮想物体であって、該仮想世界における動的若しくは静的な情報(イベント)に基づいて次の状態が決定される該仮想物体のことである。然るにこのような定義に該当するものであれば、例えば、人や動物、植物、乗り物、建物等のゲーム中に登場する登場オブジェクトに限らず、仮想空間中の光源等、仮想空間の構成要素までも、以下の「キャラクタ」に当てはめても良い。
先ず、このような情報処理装置を適用したPC(パーソナルコンピュータ)等のコンピュータ装置のハードウェア構成例について、図3のブロック図を用いて説明する。なお、図3に示したハードウェア構成例は、上記の情報処理装置に適用可能なコンピュータ装置のハードウェア構成の一例であり、以下に説明する処理を実現可能な構成であれば、如何なる構成を採用しても良い。
CPU301は、RAM302やROM303に格納されているコンピュータプログラム及び/又はデータを用いて処理を実行することで、コンピュータ装置全体の動作制御を行うと共に、コンピュータ装置が行うものとして後述する各処理を実行若しくは制御する。
RAM302は、ROM303や外部記憶装置306からロードされたコンピュータプログラムやデータ、I/F(インターフェース)307を介して外部から受信したデータ、を格納するためのエリアを有する。更にRAM302は、CPU301が各種の処理を実行する若しくは制御する際に用いるワークエリアを有する。このように、RAM302は、各種のエリアを適宜提供することができる。
ROM303には、書き換え不要の本装置の設定データやコンピュータプログラム(ブートプログラムなど)が格納されている。
操作部304は、キーボードやマウスなどにより構成されており、本装置のユーザが操作することで各種の指示をCPU301に対して入力することができるユーザインターフェースである。
表示部305はCRTや液晶画面などにより構成されており、CPU301による処理結果を画像や文字などでもって表示することができる。
外部記憶装置306は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。外部記憶装置306には、OS(オペレーティングシステム)や、コンピュータ装置が行うものとして後述する各処理をCPU301に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置306に保存されているコンピュータプログラムには、後述するGUI(グラフィカルユーザインターフェース)に係るコンピュータプログラムが含まれている。また、外部記憶装置306に保存されているデータには、上記のGUIに係るデータや、以下の説明において既知の情報として取り扱うデータが含まれている。外部記憶装置306に保存されているコンピュータプログラムやデータは、CPU301による制御に従って適宜RAM302にロードされ、CPU301による処理対象となる。
I/F307は、外部の機器との間で有線及び/又は無線でもってデータ通信を行うためのものであり、例えば、以下の説明において外部記憶装置306から取得するものとして説明するコンピュータプログラムやデータは、I/F307を介して外部の機器から取得するようにしても構わない。
上記のCPU301、RAM302、ROM303、操作部304、表示部305、外部記憶装置306、I/F307は何れも、バス308に接続されている。
次に、ゲームに登場するキャラクタの行動パターンを規定する人工知能データを作成するためのGUIについて説明する。なお、外部記憶装置306には、予め作成したFSMやBTが複数個、ファイルとして保存されているものとする。そしてユーザが操作部304を操作してGUIの起動指示を入力すると(例えば表示部305の表示画面上に表示されているGUIのアイコンをマウスの左ボタンでダブルクリックすると)、CPU301は、GUIのコンピュータプログラムやデータを外部記憶装置306からRAM302にロードし、該コンピュータプログラムを該データを適宜参照しながら実行することで、GUIの初期画面を表示部305の表示画面上に表示させる。この初期画面においてユーザは先ず、階層構造を有する人工知能データの最上位階層にFSM及びBTの何れかを設定するのかを操作部304を操作して指示する必要がある。
例えば、ユーザが操作部304を用いてGUIを操作し、最上位階層にFSMを設定する指示を入力すると、CPU301は表示部305の表示画面に、外部記憶装置306に保存されているFSMのファイル名(必要に応じて対応するアイコン)を一覧表示する。ユーザは操作部304を操作して該一覧表示されているFSMから1つを選択する。これによりCPU301は、該選択されたFSMのファイルによって規定されるノード群を表示部305の表示画面に表示させる。
一方、ユーザが操作部304を用いてGUI操作し、最上位階層にBTを設定する指示を入力すると、CPU301は表示部305の表示画面に、外部記憶装置306に保存されているBTのファイル名(必要に応じて対応するアイコン)を一覧表示する。ユーザは操作部304を操作して該一覧表示されているBTから1つを選択する。これによりCPU301は、該選択されたBTのファイルによって規定されるノード群を表示部305の表示画面に表示させる。
以下では、ユーザが操作部304を用いてGUIを操作し、最上位階層にFSMを設定する指示を入力し、その後、一覧表示されたFSMのファイル群から「キャラクタの状態Aが割り当てられたノード、キャラクタの状態Bが割り当てられたノード、キャラクタの状態Cが割り当てられたノードを有し且つそれぞれのノード間が遷移ラインでもって接続されているFSM」のファイルが選択されたケースを例にとり説明する。
このとき、GUI上には、図4に示す如く、ノード401〜403が遷移ラインと共に表示される。キャラクタの状態Aが割り当てられたノード401には「状態A」を表す文字列が重ねて表示され、キャラクタの状態Bが割り当てられたノード402には「状態B」を表す文字列が重ねて表示され、キャラクタの状態Cが割り当てられたノード403には「状態C」を表す文字列が重ねて表示されており、更に、ノード間には遷移ラインが表示されている。
ここで、ノード403に、FSM及びBTの何れかを割り当てる操作方法について説明数する。以下では、操作部304の一例であるマウスを用いた操作方法を説明するが、同様の目的を達成できるのであれば、どのようなデバイスを用いても構わない。
図5に示す如く、ユーザがマウスを操作してマウスポインタ501をノード403上に移動させて、そこでマウスの右ボタンを押下すると、CPU301は、ノード403にFSMを割り当てるのか、それともBTを割り当てるのかをユーザに問い合わせる(選択させる)ためのメニューウィンドウ502を表示部305の表示画面上に表示させる。
ここでユーザがマウスを操作してマウスポインタ501をメニューウィンドウ502内の領域502a(FSMを選択するための領域)内に移動させてそこでマウスの左ボタンを押下すると、CPU301は、図6aに示す如く、外部記憶装置306に保存されているそれぞれのFSMのファイルのファイル名(必要に応じて対応するアイコン)を一覧表示したメニューウィンドウ600を表示部305の表示画面上に表示させる。ユーザがマウスを操作してマウスポインタ501を「FSM3」に移動させてそこでマウスの左ボタンを押下すると、CPU301は、ノード403にファイル名が「FSM3」であるファイルが規定するFSMを割り当てる。ファイル名が「FSM3」であるファイルが規定するFSMの構成を図6bに示す。図6bに示す如く、ファイル名が「FSM3」であるファイルが規定するFSMは、「キャラクタの状態C1が割り当てられたノード601、キャラクタの状態C2が割り当てられたノード602、キャラクタの状態C3が割り当てられたノード603を有し且つそれぞれのノード間が遷移ラインでもって接続されているFSM」である。そしてCPU301は、図6cに示す如く、図4のFSMにおいてノード403が図6bのFSMに置換されたものを表示部305の表示画面上に表示させる。
なお、図6cに示す構成を有する人工知能の動作則については次の通りである。基本的には、ゲーム中にイベントが発生した場合に、キャラクタの状態が該イベントに対応する状態に遷移するというFSMの動作に沿ってはいるが、キャラクタの現状態が状態Aである状況において、状態Aから状態Cに遷移するための条件がゲーム中で満たされると(状態Aから状態Cに遷移させるためのイベントがゲーム中で発生すると)、キャラクタの状態は状態Cに属する状態C1に遷移する。また、キャラクタの現状態が状態Bである状況において、状態Bから状態Cに遷移するための条件がゲーム中で満たされると(状態Bから状態Cに遷移させるためのイベントがゲーム中で発生すると)、キャラクタの状態は状態C1に遷移する。これは、状態Cにおける初期状態がC1に設定されているからであって、例えば初期状態がC2に設定されている場合には、状態A(状態B)から状態C2に遷移することになる。また、キャラクタの現状態が状態C1であった場合に、状態C1から状態C2(C3)に遷移するための条件がゲーム中で満たされると、キャラクタの状態は状態C2(C3)に遷移する。また、対応する条件を満たしていれば、状態C1,C2,C3から状態Aや状態B等に遷移することができる。
一方、図5において、ユーザがマウスを操作してマウスポインタ501をメニューウィンドウ502内の領域502b(BTを選択するための領域)内に移動させてそこでマウスの左ボタンを押下すると、CPU301は、図7aに示す如く、外部記憶装置306に保存されているそれぞれのBTのファイルのファイル名(必要に応じて対応するアイコン)を一覧表示したメニューウィンドウ700をGUI上に表示させる。ここでユーザがマウスを操作してマウスポインタ501を「BT3」に移動させてそこでマウスの左ボタンを押下すると、CPU301は、ノード403にファイル名が「BT3」であるファイルが規定するBTを割り当てる。ファイル名が「BT3」であるファイルが規定するBTの構成を図7bに示す。図7bに示す如く、ファイル名が「BT3」であるファイルが規定するBTは、「ルートノード701、Sequenceノード702、キャラクタの行動1が割り当てられたノード703、キャラクタの行動2が割り当てられたノード704、キャラクタの行動3が割り当てられたノード705を有し且つルートノード701とSequenceノード702との間、Sequenceノード702とノード703〜705との間が遷移ラインでもって接続されているBT」である。CPU301は、図7cに示す如く、図4のFSMにおいてノード403が、図7bのBTに置換されたものを表示部305の表示画面上に表示させる。
なお、図7cに示す構成を有する人工知能の動作則については次の通りである。キャラクタの現状態が状態Aである状況において、状態Aから状態Cに遷移するための条件がゲーム中で満たされると(状態Aから状態Cに遷移させるためのイベントがゲーム中で発生すると)、キャラクタの状態は状態Cに遷移すると共に、CPU301はルートノード701を介してSequenceノード702を実行する。Sequenceノード702とは、子ノード(図7cではノード703〜705)を順次実行するノードである。ここでCPU301はSequenceノード702を実行することで、ノード703〜705を順次実行し、これによりキャラクタを行動1に従って行動させ、行動2に従って行動させ、行動3に従って行動させる。
以降、ユーザは、GUI上に表示中のノード群のうち何れか1つを指定して、該指定したノードに、所望のFSM若しくは所望のBTを割り当てることができる。このような作業により構成される、FSMとBTの入れ子階層構造の一例を図9に示す。図9では、FSM900(最上位階層:1番目の階層)のノード901にはFSM902(2番目の階層)が割り当てられており、FSM900のノード903にはBT904(2番目の階層)が割り当てられている。また、BT904のノード905にはFSM906(3番目の階層)が割り当てられている。
そしてユーザが操作部304を操作して保存指示を入力すると、CPU301は、GUI上に表示されているノード群及びノード間の遷移関係を示すデータを人工知能のデータとして外部記憶装置306に保存する。図9の場合、FSM900のデータが人工知能のデータとして外部記憶装置306に保存されることになる。FSM900のデータでは、ノード901にFSM902が組み込まれており、ノード903にBT904が組み込まれており、ノード905にFSM906が組み込まれている。もちろん、人工知能のデータの構成はこのような構成に限るものではなく、ノード間の関係が分かるような構成であれば、如何なる構成を採用しても良い。また、人工知能のデータは適宜圧縮してから保存するようにしても良い。
FSMとBTとの入れ子階層構造を作成中のGUIの表示例、FSMの入れ子階層構造を作成中のGUIの表示例、BTの入れ子階層構造を作成中のGUIの表示例、をそれぞれ図10〜12に示す。
以上説明した、GUIを用いた人工知能のデータの生成処理について、同処理のフローチャートを示す図8を用いて説明する。
<ステップS801>
CPU301は、GUI上に表示中のノード群のうち1つのノードがユーザによって指定された(上記の例では、ノード上にマウスポインタを移動させてそこで右ボタンを押下された)か否かを判断する。この判断の結果、GUI上に表示中のノード群のうち1つのノードがユーザによって指定された場合には、処理はステップS802に進み、指定されていない場合には、処理はステップS806に進む。
<ステップS802>
CPU301は、ユーザによって指定されたノード(指定ノード)にFSMを割り当てるのか、それともBTを割り当てるのかをユーザに選択させるためのメニューウィンドウを表示部305の表示画面上に表示させる。
<ステップS803>
CPU301は、ユーザによってFSMを割り当てる旨の指示が入力された(上記の例では、マウスポインタ501を領域502a内に移動させてそこでマウスの左ボタンが押下された)場合には、外部記憶装置306に保存されているそれぞれのFSMのファイルのファイル名を一覧表示したメニューウィンドウをGUI上に表示させる。一方、CPU301は、ユーザによってBTを割り当てる旨の指示が入力された(上記の例では、マウスポインタ501を領域502b内に移動させてそこでマウスの左ボタンが押下された)場合には、外部記憶装置306に保存されているそれぞれのBTのファイルのファイル名を一覧表示したメニューウィンドウをGUI上に表示させる。
<ステップS804>
CPU301は、一覧表示されたファイル群(FSMのファイル群若しくはBTのファイル群)からユーザが選択したファイルを指定ノードに割り当てる。
<ステップS805>
CPU301は、GUIの表示を更新する。上記の例では、図4のFSMの表示の代わりに、図6cに示した構成(ユーザによって図6bのFSMを割り当てる旨の指示が入力された場合)若しくは図7cに示した構成(ユーザによって図7bのBTを割り当てる旨の指示が入力された場合)を表示する。
<ステップS806>
ユーザが操作部304を操作して終了指示(作成中の人工知能のデータを保存して終了する指示)を入力したことをCPU301が検知した場合、処理はステップS807に進む。一方、ユーザが操作部304を操作して終了指示を入力したことをCPU301が検知していない場合には、処理はステップS801に戻る。
<ステップS807>
CPU301は、現段階でGUI上に表示されている構成を有する人工知能のデータを外部記憶装置306に保存して、GUIを終了させる。
第2の実施形態
第1の実施形態では人工知能のデータを作成する技術について説明した。本実施形態では、このような人工知能のデータを用いてキャラクタの動作制御を行う技術について説明する。第1の実施形態で説明した人工知能のデータは、ゲームに登場するキャラクタの動作制御を行うためのものであるから、該ゲームのデータに組み込まれる。ゲームのデータはゲーム機に読み込まれ、該ゲーム機のプロセッサが該データを用いてゲームを実行する。なお、人工知能のデータやゲームのデータには、データだけでなくコンピュータプログラムも含まれている。
ゲーム機の構成については様々な構成が考えられるが、以下では一例として、図3に示す構成を有するものとして説明する。この場合、外部記憶装置306には、上記の人工知能のデータを含むゲームのデータがインストールされており、CPU301が該ゲームのデータを用いてゲームを実行することになる。なお、外部記憶装置306にゲームのデータをインストールする代わりに、CD−ROMやDVD−ROM等のコンピュータ読み取り可能な記憶媒体にゲームのデータを格納しておき、該ゲームのデータを記憶媒体ドライブ装置によって読み取り、CPU301が該読み取られたゲームのデータを用いてゲームを実行するようにしても良い。
図6cに示した構成を有する人工知能のデータに従ったキャラクタの動作制御、図7cに示した構成を有する人工知能のデータに従ったキャラクタの動作制御、については第1の実施形態で説明したが、例えば、図7cに示した構成を有する人工知能のデータに従ったキャラクタの動作制御において、例えばノード704の実行中に、状態Bに遷移させるための条件が満たされた場合には、次のような動作制御を行う。すなわち、CPU301は、ノード704の実行を中断して、キャラクタの状態を状態Bに遷移させる制御を行う。このように、n番目の階層におけるFSMにおいて状態遷移の条件が満たされた場合には、該FSMを親とする下位の階層(m(>n)番目の階層)のBTの動作を停止させてから状態遷移を行う。BTの動作停止は、より下位のBTから順に行う。
また、BTのノードには、「ランダム」、「プライオリティ」、「パラレル」といったノードがある。「ランダム」ノードとは、該ノードの1つ下位の階層における子ノードのうち1つをランダムに決定し、該決定した子ノード及び該決定した子ノードを親とする子ノードを実行するものである。「プライオリティ」ノードとは、該ノードの1つ下位の階層における子ノードのうちGUI上でより上方に配置した子ノード(子ノードの配置位置は操作部304の操作に応じて適宜変更可能である)及び該より上方に配置した子ノードを親とする子ノードを優先的に実行し、該実行が失敗した場合には、「プライオリティ」ノードの1つ下位の階層における子ノードのうち実行が失敗した子ノードの1つ下方の子ノード及び該子ノードを親とする子ノードを実行するものである。「パラレル」ノードとは、該ノードの1つ下位の階層におけるそれぞれの子ノード及び該子ノードを親とする子ノードを並列に実行するものである。ここで、このようなノードを用いてBTを構成しても良い。なお、並列処理するそれぞれの処理を個々のプロセッサに割り当てて実行するようにしても良い。
なお、第1,2の実施形態では、FSMとして図6bに示した構成のFSM、BTとして図7bに示した構成のBTを用いたが、FSMの構成は図6bの構成に限るものではないし、BTの構成は図7bの構成に限るものではない。
また、図6cや図7cのように、ユーザが指定したノードにFSM若しくはBTを割り当てた後で、該割り当てたFSMやBTをユーザが操作部304を操作して編集しても良い。例えば、新たにノードを追加したり、既存のノードを削除したり、既存のノードを他のノードに置換したり、ノードの遷移先を変更したりしても良い。そして編集したFSMやBTを別途保存しておけば、この別途保存したFSMやBTを、新たな人工知能のデータを作成する際に最上位階層に設定する候補として利用できるし、また、現在作成中の若しくは次回以降作成する人工知能のデータにおいて対象ノードに割り当てる候補として利用できる。
また、第1,2の実施形態では、ノードに割り当てるFSM若しくはBTは、予め作成して外部記憶装置306に保存されたFSM若しくはBTからユーザによって選択されたものであった。しかし、ノードに割り当てるFSM若しくはBTをGUI上で作成しても良い。例えば、ユーザがマウスを操作してマウスポインタを対象ノード上に移動させて、そこでマウスの右ボタンを押下すると、CPU301は、図5のメニューウィンドウ502を表示部305の表示画面上に表示させる。ここでユーザがマウスを操作してマウスポインタをメニューウィンドウ502内の領域502a内に移動させてそこでマウスの左ボタンを押下すると、CPU301は、FSMを作成するためのGUI(FSM作成用GUI)を新たに表示部305の表示画面上に表示させる。これによりユーザはマウスやキーボード等を用いてFSM作成用GUI上でFSMを作成することができる。そしてユーザがキーボードやマウスを操作して作成完了指示を入力すると、CPU301は、FSM作成用GUI上で作成したFSMを対象ノードに割り当てる。一方、ユーザがマウスを操作してマウスポインタをメニューウィンドウ502内の領域502b内に移動させてそこでマウスの左ボタンを押下すると、CPU301は、BTを作成するためのGUI(BT作成用GUI)を新たに表示部305の表示画面上に表示させる。これによりユーザはマウスやキーボード等を用いてBT作成用GUI上でBTを作成することができる。そしてユーザがキーボードやマウスを操作して作成完了指示を入力すると、CPU301は、BT作成用GUI上で作成したBTを対象ノードに割り当てる。
本発明については典型的な実施の形態を用いて説明したが、本発明が上記実施の形態に制限されるものではないことは理解されるべきである。以下の特許請求の範囲については、そのような全ての変更及び等価な構成、機能を網羅するような広い解釈が認められるべきである。
本願は、2015年3月13日提出の米国仮出願番号62/132651を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

Claims (7)

  1. キャラクタの状態が割り当てられたノードを含む有限状態マシン、キャラクタの行動内容が割り当てられたノードを含むビヘイビアツリー、の何れか一方に含まれているノードのうち1つのノードがユーザ操作に応じて指定されると、該1つのノードに有限状態マシン及びビヘイビアツリーの何れを割り当てるのかをユーザに問い合わせるための画面を表示画面に表示させる表示制御手段と、
    前記有限状態マシン及び前記ビヘイビアツリーのうちユーザ操作に応じて選択された一方を、前記1つのノードに割り当てる割り当て手段と
    を備えることを特徴とする情報処理装置。
  2. 前記表示制御手段は、前記画面を介したユーザ操作に応じて前記有限状態マシンが選択された場合には、前記1つのノードに割り当てる候補となる1以上の有限状態マシンを一覧表示し、
    前記割り当て手段は、前記一覧表示された1以上の有限状態マシンのうちユーザ操作に応じて選択された有限状態マシンを、前記1つのノードに割り当てることを特徴とする請求項1に記載の情報処理装置。
  3. 前記表示制御手段は、前記画面を介したユーザ操作に応じて前記ビヘイビアツリーが選択された場合には、前記1つのノードに割り当てる候補となる1以上のビヘイビアツリーを一覧表示し、
    前記割り当て手段は、前記一覧表示された1以上のビヘイビアツリーのうちユーザ操作に応じて選択されたビヘイビアツリーを、前記1つのノードに割り当てることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 更に、
    前記有限状態マシン及び前記ビヘイビアツリーのうち前記画面を介したユーザ操作に応じて選択された一方を、ユーザ操作に応じて編集する編集手段を備えることを特徴とする請求項1乃至3の何れか1項に記載の情報処理装置。
  5. 更に、
    前記割り当て手段による割り当てによって生成された、前記有限状態マシン及び前記ビヘイビアツリーの何れか一方のノードに前記有限状態マシン及び前記ビヘイビアツリーの何れか一方が割り当てられた構造を有するデータを、前記キャラクタの人工知能データとして保存する保存手段を備えることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. キャラクタの状態が割り当てられたノードを含む有限状態マシン、キャラクタの行動内容が割り当てられたノードを含むビヘイビアツリー、の何れか一方に含まれているノードのうち1つのノードがユーザ操作に応じて指定されると、該1つのノードに有限状態マシン及びビヘイビアツリーの何れを割り当てるのかをユーザに問い合わせるための画面を表示画面に表示させ、
    前記有限状態マシン及び前記ビヘイビアツリーのうちユーザ操作に応じて選択された一方を、前記1つのノードに割り当てる割り当る
    ことを特徴とする情報処理方法。
  7. コンピュータを、
    キャラクタの状態が割り当てられたノードを含む有限状態マシン、キャラクタの行動内容が割り当てられたノードを含むビヘイビアツリー、の何れか一方に含まれているノードのうち1つのノードがユーザ操作に応じて指定されると、該1つのノードに有限状態マシン及びビヘイビアツリーの何れを割り当てるのかをユーザに問い合わせるための画面を表示画面に表示させる表示制御手段、
    前記有限状態マシン及び前記ビヘイビアツリーのうちユーザ操作に応じて選択された一方を、前記1つのノードに割り当てる割り当て手段
    として機能させるためのコンピュータプログラムを格納した、非一時的なコンピュータ読み取り可能な記憶媒体。
JP2017542925A 2015-03-13 2016-03-10 情報処理装置、情報処理方法、非一時的なコンピュータ読み取り可能な記憶媒体 Active JP6514352B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562132651P 2015-03-13 2015-03-13
US62/132,651 2015-03-13
PCT/JP2016/001325 WO2016147620A1 (en) 2015-03-13 2016-03-10 Information processing apparatus, information processing method, non-transitory computer-readable storage medium

Publications (2)

Publication Number Publication Date
JP2018512186A true JP2018512186A (ja) 2018-05-17
JP6514352B2 JP6514352B2 (ja) 2019-05-15

Family

ID=56918600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017542925A Active JP6514352B2 (ja) 2015-03-13 2016-03-10 情報処理装置、情報処理方法、非一時的なコンピュータ読み取り可能な記憶媒体

Country Status (3)

Country Link
US (1) US10617952B2 (ja)
JP (1) JP6514352B2 (ja)
WO (1) WO2016147620A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020089614A (ja) * 2018-12-07 2020-06-11 株式会社カプコン ゲームプログラム、およびゲーム装置
JP2021007736A (ja) * 2019-06-28 2021-01-28 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 音声スキルゲームの編集方法、装置、機器及び読み取り可能な記憶媒体

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656688B (zh) 2016-03-03 2019-09-20 腾讯科技(深圳)有限公司 状态控制方法和装置
IL250605B (en) * 2017-02-14 2021-02-28 Brillianetor Ltd System and method for operating an artificial social network
CN106861190B (zh) * 2017-02-16 2020-07-10 网易(杭州)网络有限公司 Ai构建方法及装置、游戏控制方法及装置、ai系统
CN109271157B (zh) * 2018-09-07 2021-09-07 深圳市东微智能科技股份有限公司 软件开发方法、设备及计算机可读存储介质
CN111249733B (zh) * 2020-01-09 2023-10-13 完美世界(北京)软件科技发展有限公司 一种创建虚拟对象的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242499A (ja) * 1999-02-25 2000-09-08 Fujitsu Ltd ルールベース編集装置及び方法又は当該装置及び方法を実現するコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US20040075677A1 (en) * 2000-11-03 2004-04-22 Loyall A. Bryan Interactive character system
JP2013179468A (ja) * 2012-02-28 2013-09-09 Fujitsu Telecom Networks Ltd 無線管理システムおよび伝送管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634796B2 (en) * 2008-03-14 2014-01-21 William J. Johnson System and method for location based exchanges of data facilitating distributed location applications
JP5915735B2 (ja) 2012-05-31 2016-05-11 富士通株式会社 運用プロセス作成プログラム、運用プロセス作成方法、及び情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242499A (ja) * 1999-02-25 2000-09-08 Fujitsu Ltd ルールベース編集装置及び方法又は当該装置及び方法を実現するコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US20040075677A1 (en) * 2000-11-03 2004-04-22 Loyall A. Bryan Interactive character system
JP2013179468A (ja) * 2012-02-28 2013-09-09 Fujitsu Telecom Networks Ltd 無線管理システムおよび伝送管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Behavior TreeによるUnity上でのUIフローコントロール", GREE ENGINEERS' BLOG[ONLINE], JPN6018030148, 20 June 2014 (2014-06-20), ISSN: 0003852344 *
三宅 陽一郎: "ディジタルゲームにおける人工知能技術の応用の現在", 人工知能 第30巻 第1号, vol. 第30巻 第1号 通巻169号, JPN6018030151, JP, pages 45 - 64, ISSN: 0003852345 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020089614A (ja) * 2018-12-07 2020-06-11 株式会社カプコン ゲームプログラム、およびゲーム装置
JP2021007736A (ja) * 2019-06-28 2021-01-28 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 音声スキルゲームの編集方法、装置、機器及び読み取り可能な記憶媒体
US11383162B2 (en) 2019-06-28 2022-07-12 Baidu Online Network Technology (Beijing) Co., Ltd. Voice skill game editing method, apparatus, device and readable storage medium
JP7150778B2 (ja) 2019-06-28 2022-10-11 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド 音声スキルゲームの編集方法、装置、機器及び読み取り可能な記憶媒体

Also Published As

Publication number Publication date
JP6514352B2 (ja) 2019-05-15
US10617952B2 (en) 2020-04-14
WO2016147620A1 (en) 2016-09-22
US20180043258A1 (en) 2018-02-15

Similar Documents

Publication Publication Date Title
JP6514352B2 (ja) 情報処理装置、情報処理方法、非一時的なコンピュータ読み取り可能な記憶媒体
US20210141523A1 (en) Platform-independent user interface system
KR100975458B1 (ko) Gui 어플리케이션 개발 지원 장치, gui 표시 장치 및 방법과 컴퓨터 판독 가능 기록 매체
US10671250B2 (en) Controlling a device using a radial graphical user interface
US20060117267A1 (en) System and method for property-based focus navigation in a user interface
KR100954007B1 (ko) Gui 어플리케이션 개발 지원 장치, gui 어플리케이션 프로그램 생성 방법 및 컴퓨터 판독가능 기록매체
US11010141B2 (en) Graphical interface to generate instructions to control a representation by an output interface of one or more objects
CN105474160A (zh) 高性能触摸拖放
JP5527521B2 (ja) 階層構造表示装置、階層構造表示方法および階層構造表示制御プログラム
US20130219305A1 (en) User interface substitution
US10838717B2 (en) Representing a software application using extended reality
CN111782181A (zh) 代码生成方法、装置、电子设备以及存储介质
JP2016506559A (ja) Hmiデバイスにおいてオブジェクトを変化させるための方法およびデバイス
JP2018086085A (ja) ゲーム装置、ゲーム装置の制御方法
JP5988450B2 (ja) ノードを表示する方法、並びに、ノードを表示するためのコンピュータ及びそのコンピュータ・プログラム
US9684738B2 (en) Text-based command generation
JP2010015549A (ja) 表示制御装置、表示制御方法及びプログラム
KR20060015397A (ko) Gui 운영 체제에서의 바탕 화면 변경 장치 및 방법
JPWO2016185551A1 (ja) ユーザインタフェース装置およびユーザインタフェース装置の画面表示方法
JP6319246B2 (ja) 情報処理システムおよび情報処理方法
JP7007401B2 (ja) ルールベースのユーザインタフェース生成
JPH0387914A (ja) 電子計算機システムに於けるガイダンス方法とその装置
JP6088182B2 (ja) 楽譜情報入力装置及びプログラム
US20210149545A1 (en) Systems for navigating a three-dimensional model with a handheld controller
JP2010108221A (ja) データ処理装置、データ処理方法、およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181005

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190411

R150 Certificate of patent or registration of utility model

Ref document number: 6514352

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R154 Certificate of patent or utility model (reissue)

Free format text: JAPANESE INTERMEDIATE CODE: R154

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250