JP5132058B2 - Simulator system - Google Patents

Simulator system Download PDF

Info

Publication number
JP5132058B2
JP5132058B2 JP2006007963A JP2006007963A JP5132058B2 JP 5132058 B2 JP5132058 B2 JP 5132058B2 JP 2006007963 A JP2006007963 A JP 2006007963A JP 2006007963 A JP2006007963 A JP 2006007963A JP 5132058 B2 JP5132058 B2 JP 5132058B2
Authority
JP
Japan
Prior art keywords
information
individual
simulation
simulator
simulators
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.)
Active
Application number
JP2006007963A
Other languages
Japanese (ja)
Other versions
JP2007188023A (en
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Sony Computer Entertainment Inc
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 Sony Interactive Entertainment Inc, Sony Computer Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2006007963A priority Critical patent/JP5132058B2/en
Priority to US11/651,412 priority patent/US8423333B2/en
Publication of JP2007188023A publication Critical patent/JP2007188023A/en
Application granted granted Critical
Publication of JP5132058B2 publication Critical patent/JP5132058B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、互いに干渉し得る複数種類のオブジェクトについての挙動をシミュレートするシミュレータシステムに関する。   The present invention relates to a simulator system that simulates the behavior of a plurality of types of objects that can interfere with each other.

近年、例えばゲーム上の仮想的な空間内で鳥や魚などのオブジェクトの移動をシミュレートし、ユーザの操作するユーザオブジェクトから視認可能な鳥や魚などのオブジェクトの情報をユーザ側の装置に提供することで、あたかもユーザが仮想的な世界に入り込んだような仮想現実感を提供する装置が開発されている。   In recent years, for example, the movement of an object such as a bird or fish in a virtual space on a game is simulated, and information on the object such as a bird or fish that can be visually recognized from a user object operated by the user is provided to the user side device. As a result, an apparatus that provides a virtual reality as if the user has entered a virtual world has been developed.

しかしながら、かかる従来の仮想現実感を提供する装置では、鳥が魚を補食する場合や、交差点で歩行者が通過するまで左折車両が停止しているなど、種類の異なるオブジェクト間での相互作用が生じる場合には、各オブジェクト間の位置関係を常時監視しておく必要があって、処理負担が大きくなる。また、各種類のオブジェクトごとに個別のシミュレータを割り当てて分散的に処理する場合、個別のシミュレータ間でのオブジェクトの情報の授受が煩雑になってしまう。   However, in such conventional devices that provide virtual reality, the interaction between different types of objects, such as when a bird feeds on a fish, or a left turn vehicle stops until a pedestrian passes at an intersection, When this occurs, it is necessary to constantly monitor the positional relationship between the objects, which increases the processing load. In addition, when an individual simulator is assigned to each type of object and distributed processing is performed, it is complicated to exchange object information between the individual simulators.

また、ユーザオブジェクトの移動操作と、他のオブジェクトの移動シミュレーションとを異なるコンピュータ要素によって実行していると、各コンピュータ要素間で、各オブジェクトの位置をフレームごとに通信しなければならず、オブジェクトの数が増大するにつれて、通信負担が増大してしまい、この面でも処理負担が大きくなる。   In addition, if the moving operation of the user object and the moving simulation of another object are executed by different computer elements, the position of each object must be communicated between each computer element for each frame. As the number increases, the communication burden increases, and the processing burden also increases in this respect.

本発明は上記実情に鑑みて為されたもので、処理負担や通信負担を軽減できるシミュレータシステムを提供することを、その目的の一つとする。   The present invention has been made in view of the above circumstances, and an object thereof is to provide a simulator system capable of reducing the processing load and the communication load.

上記従来例の問題点を解決するための本発明は、予め定められたシミュレート対象の挙動をシミュレートする複数の個別シミュレータと、前記個別シミュレータの各々に接続された相互通信制御装置と、を含むシミュレータシステムであって、前記個別シミュレータは、前記シミュレート対象のうち、予め定められた通知条件を満足するシミュレート対象を選択し、前記選択したシミュレート対象に関わる情報を前記相互通信制御装置に送信する選択通知手段を備え、前記相互通信制御装置は、少なくとも一つの個別シミュレータを特定する情報に関連づけて、当該情報で特定される個別シミュレータからシミュレート対象に係る情報を受信したときに実行するべき処理内容を規定する処理規定情報を保持する保持手段と、前記個別シミュレータの各々から受信されるシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行し、当該実行の結果を前記個別シミュレータに通知する相互処理実行手段と、を有することを特徴としている。   The present invention for solving the problems of the conventional example includes a plurality of individual simulators for simulating the behavior of a predetermined simulation target, and an intercommunication control device connected to each of the individual simulators. The individual simulator selects a simulation target satisfying a predetermined notification condition from among the simulation targets, and transmits information related to the selected simulation target to the mutual communication control device. The intercommunication control device is associated with information identifying at least one individual simulator, and is executed when information related to a simulation target is received from the individual simulator identified by the information. Holding means for holding processing specification information for specifying the processing content to be performed, and the individual simulation Mutual processing execution means for executing processing of the contents defined in the processing specification information based on information relating to the simulation target received from each of the data, and notifying the individual simulator of the result of the execution; It is characterized by having.

このように通知条件に係るシミュレート対象を選択的に、他の個別シミュレータに伝達することで各個別シミュレータにおける処理負担や通信負担を軽減できる。   In this way, by selectively transmitting the simulation target related to the notification condition to other individual simulators, the processing burden and communication burden on each individual simulator can be reduced.

ここで前記処理規定情報には、個別シミュレータを指定する情報と、当該情報で指定される個別シミュレータに対して設定するべき通知条件の情報とを含み、前記相互処理実行手段が、前記指定された個別シミュレータに対して通知条件を設定し、当該設定した通知条件に基づいて選択的に通知されたシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行することとしてもよい。   Here, the processing specification information includes information for specifying an individual simulator and information on notification conditions to be set for the individual simulator specified by the information, and the mutual processing execution means is configured to specify the specified Set notification conditions for the individual simulator, and execute the processing of the contents defined in the processing specification information based on the information related to the simulation target selectively notified based on the set notification conditions It is good.

また本発明の一態様は、予め定められたシミュレート対象の挙動をシミュレートする複数の個別シミュレータに接続される相互通信制御装置であって、少なくとも一つの個別シミュレータを特定する情報に関連づけて、当該情報で特定される個別シミュレータからシミュレート対象に係る情報を受信したときに実行するべき処理内容を規定する処理規定情報を保持する保持手段と、前記個別シミュレータから、予め定められた通知条件を満足するシミュレート対象に係る情報を受信すると、当該情報を記憶して、前記個別シミュレータの各々から受信されるシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行し、当該実行の結果を前記個別シミュレータに通知する相互処理実行手段と、を有することを特徴としている。   Further, one aspect of the present invention is an intercommunication control device connected to a plurality of individual simulators that simulate a predetermined behavior of a simulation target, and is associated with information specifying at least one individual simulator, A holding means for holding processing specification information for specifying processing contents to be executed when information related to a simulation target is received from the individual simulator specified by the information, and a predetermined notification condition from the individual simulator. When the information related to the target to be simulated is received, the information is stored, and based on the information related to the target to be simulated received from each of the individual simulators, the processing defined in the processing specification information is performed. An interactive processing execution means for executing and notifying the individual simulator of the result of the execution It is characterized by a door.

ここで前記処理規定情報には、個別シミュレータを指定する情報と、当該情報で指定される個別シミュレータに対して設定するべき通知条件の情報とを含み、前記相互処理実行手段が、前記指定された個別シミュレータに対して通知条件を設定し、当該設定した通知条件に基づいて選択的に通知されたシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行することとしてもよい。   Here, the processing specification information includes information for specifying an individual simulator and information on notification conditions to be set for the individual simulator specified by the information, and the mutual processing execution means is configured to specify the specified Set notification conditions for the individual simulator, and execute the processing of the contents defined in the processing specification information based on the information related to the simulation target selectively notified based on the set notification conditions It is good.

また、本発明の別の態様に係るプログラムは、コンピュータを予め定められたシミュレート対象の挙動をシミュレートする複数の個別シミュレータとして機能させ、各個別シミュレータとしての動作において、予め定められた通知条件を満足するシミュレート対象を選択し、前記選択したシミュレート対象に関わる情報を出力させる手順と、少なくとも一つの個別シミュレータを特定する情報に関連づけて、当該情報で特定される個別シミュレータからシミュレート対象に係る情報の入力を受けたときに実行するべき処理内容を規定する処理規定情報を保持する手順と、前記個別シミュレータの各々から入力されるシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行し、当該実行の結果を前記個別シミュレータに通知する手順と、をコンピュータに実行させることを特徴としている。   Further, a program according to another aspect of the present invention causes a computer to function as a plurality of individual simulators for simulating a behavior of a predetermined simulation target, and a predetermined notification condition in the operation as each individual simulator. The simulation target is selected from the individual simulator specified by the information in association with the procedure for selecting the simulation target satisfying the above and outputting the information related to the selected simulation target and the information specifying at least one individual simulator. The process definition information is based on a procedure for holding process definition information for defining the processing content to be executed when receiving the information related to the information, and information on the simulation target input from each of the individual simulators Execute the process with the contents specified in, and change the result of the execution It is characterized in that to execute a step of notifying the simulator, to the computer.

さらに本発明の別の特徴は、予め定められたシミュレート対象の挙動をシミュレートする個別シミュレータと、ユーザから入力される指示に従ってユーザオブジェクトの挙動を決定するユーザ端末と、を含むシミュレータシステムであって、前記ユーザ端末は、所定の同期タイミングにおいて、予め定めた対象決定ルールに基づいて定められた同期対象の個別シミュレータから、シミュレート対象の情報を取得する取得手段と、前記同期対象外の個別シミュレータから最後に取得したシミュレート対象の情報に基づいて、当該同期対象外の個別シミュレータに係るシミュレート対象の挙動を予測する予測手段と、当該予測の結果をユーザに提示する表示手段と、を備えることである。   Furthermore, another feature of the present invention is a simulator system including an individual simulator that simulates a predetermined behavior to be simulated, and a user terminal that determines the behavior of a user object according to an instruction input from a user. The user terminal includes, at a predetermined synchronization timing, acquisition means for acquiring simulation target information from a synchronization target individual simulator determined based on a predetermined target determination rule; Based on the simulation target information acquired last from the simulator, a prediction unit that predicts the behavior of the simulation target related to the individual simulator that is not the synchronization target, and a display unit that presents the prediction result to the user. It is to prepare.

本発明の実施の形態について図面を参照しながら説明する。本発明の第1の実施の形態に係るシミュレーションシステムは、図1に示すように、ユーザ端末1と、相互通信制御装置2と、複数の個別シミュレータ3とを含んで構成され、これらは相互にネットワークを介して接続されている。   Embodiments of the present invention will be described with reference to the drawings. As shown in FIG. 1, the simulation system according to the first embodiment of the present invention includes a user terminal 1, an intercommunication control device 2, and a plurality of individual simulators 3, which are mutually connected. Connected via network.

以下では、説明のために、ユーザが仮想的な都市空間内を移動する例を想定し、ユーザオブジェクトと、ユーザ以外のオブジェクトとしての車オブジェクト、建物オブジェクト、池オブジェクト、道路オブジェクト、鳥オブジェクト、及び都市内の池などに生息する魚オブジェクトが都市空間内の予め定められた領域をそれぞれ移動しているものとする。例えばユーザオブジェクトは、人であり、仮想都市空間内の地上付近で、歩道、横断歩道、または都市内の公園の陸地部分などを移動可能であると規定されている。また車オブジェクトは、地上付近で車道を移動可能であると規定される。さらに、鳥オブジェクトは、仮想都市空間内で、池の深部などを除く、地面上方全体ないし、池の所定深さまでを移動可能であると規定される。魚オブジェクトは、池内部を移動可能と規定される。なお、建物や池、道路などのオブジェクトは移動しないオブジェクトとしてユーザ端末1と個別シミュレータ3との間で、その配置位置に係る情報が保持されている。   In the following, for the sake of explanation, an example in which a user moves in a virtual city space is assumed, and a user object and a car object, a building object, a pond object, a road object, a bird object, and a non-user object, and Assume that fish objects that inhabit a pond in the city are moving in predetermined areas in the city space. For example, the user object is a person and is defined as being able to move on a sidewalk, a pedestrian crossing, or a land portion of a park in the city near the ground in the virtual city space. The vehicle object is defined as being movable on the roadway near the ground. Furthermore, it is defined that the bird object can move within the virtual city space from the entire upper part of the ground except the deep part of the pond or a predetermined depth of the pond. The fish object is defined as movable within the pond. It should be noted that objects such as buildings, ponds, roads, and the like are held as information that does not move between the user terminal 1 and the individual simulator 3.

ユーザ端末1は、一般的なパーソナルコンピュータを用いて実現できる。このユーザ端末1では、後に述べるように、ユーザオブジェクトが管理される。   The user terminal 1 can be realized using a general personal computer. In the user terminal 1, user objects are managed as described later.

個別シミュレータ3は、それぞれ、特定の種類のオブジェクトを管理する。例えば、第1の個別シミュレータ3aは車オブジェクトの移動をシミュレートして管理し、第2の個別シミュレータ3bは、鳥オブジェクトの移動をシミュレートして管理し、第3の個別シミュレータ3cは、魚オブジェクトの移動をシミュレートして管理する。   Each individual simulator 3 manages a specific type of object. For example, the first individual simulator 3a simulates and manages the movement of a car object, the second individual simulator 3b simulates and manages the movement of a bird object, and the third individual simulator 3c Simulate and manage object movement.

各個別シミュレータ3は、サーバコンピュータであり、図2に例示するように制御部31と、記憶部32と、通信部33とを含んで構成される。ここで制御部31は、CPU等のプログラム制御デバイスであり、記憶部32に格納されているプログラムに従って、担当する少なくとも一つのオブジェクトの移動をシミュレートする。また、制御部31は、シミュレート対象であるオブジェクトのうち、予め定めた条件(通知条件)を満足するオブジェクトの情報を選択的に、相互通信制御装置2に対して通知する。この処理については、後に詳しく述べる。   Each individual simulator 3 is a server computer, and includes a control unit 31, a storage unit 32, and a communication unit 33 as illustrated in FIG. Here, the control unit 31 is a program control device such as a CPU, and simulates the movement of at least one object in charge in accordance with a program stored in the storage unit 32. In addition, the control unit 31 selectively notifies the mutual communication control device 2 of information on objects satisfying a predetermined condition (notification condition) among objects to be simulated. This process will be described in detail later.

さらにこの制御部31は、指定された領域内に含まれるオブジェクトのリストを送出する処理(オブジェクト検索処理)を行う。   Further, the control unit 31 performs a process of sending out a list of objects included in the designated area (object search process).

記憶部32は、メモリ素子などを含んで構成され、これら制御部31によって実行される各処理に関わるプログラムを格納している。また、この記憶部32は、各処理で用いるパラメータ情報等を格納している。さらに記憶部32は、制御部31のワークメモリとしても動作する。   The storage unit 32 includes a memory element and the like, and stores a program related to each process executed by the control unit 31. The storage unit 32 stores parameter information and the like used for each process. Furthermore, the storage unit 32 also operates as a work memory for the control unit 31.

通信部33は、ネットワークインタフェース等であり、制御部31から入力される指示に従い、指定された送信先に対し指定された情報を、ネットワークを介して送出する。また、この通信部33は、ネットワークを介して受信される情報を、制御部31に出力する。   The communication unit 33 is a network interface or the like, and sends specified information to a specified destination according to an instruction input from the control unit 31 via the network. In addition, the communication unit 33 outputs information received via the network to the control unit 31.

相互通信制御装置2は、サーバーコンピュータ等で実現でき、図3に示すように制御部21と、記憶部22と、通信部23とを含んで構成される。ここで制御部21は、CPU等であり、記憶部22に格納されているプログラムに従って処理を行う。   The mutual communication control device 2 can be realized by a server computer or the like, and includes a control unit 21, a storage unit 22, and a communication unit 23 as shown in FIG. Here, the control unit 21 is a CPU or the like, and performs processing according to a program stored in the storage unit 22.

記憶部22は、メモリ素子などを含んで構成され、各処理に関わるプログラムを格納している。また、この記憶部22には、制御部21の処理で用いるパラメータ情報が格納されている。さらにこの記憶部22は、制御部21のワークメモリとしても動作する。   The storage unit 22 includes a memory element and stores programs related to each process. The storage unit 22 stores parameter information used in the processing of the control unit 21. Further, the storage unit 22 also operates as a work memory for the control unit 21.

通信部23は、ネットワークインタフェース等であり、制御部21から入力される指示に従い、指定された送信先に対し指定された情報を、ネットワークを介して送出する。また、この通信部23は、ネットワークを介して受信される情報を、制御部21に出力する。   The communication unit 23 is a network interface or the like, and transmits specified information to a specified transmission destination via a network in accordance with an instruction input from the control unit 21. Further, the communication unit 23 outputs information received via the network to the control unit 21.

本実施の形態のシミュレータシステムは、上述の構成を備えてなり、機能的には図5に示すように、ユーザ端末1におけるユーザオブジェクト管理部41と、ユーザ視野表示部42と、相互通信制御装置2における相互通信制御部51と、検索処理部52と、依存関係判断部53と、衝突判定部54と、依存関係データベース55と、各個別シミュレータ3におけるシミュレーションエンジン部61と、オブジェクトデータ記憶部62と、通知判定部63とを含んで構成される。   The simulator system according to the present embodiment has the above-described configuration. Functionally, as shown in FIG. 5, the user object management unit 41, the user visual field display unit 42 in the user terminal 1, and the mutual communication control device 2, an intercommunication control unit 51, a search processing unit 52, a dependency relationship determination unit 53, a collision determination unit 54, a dependency relationship database 55, a simulation engine unit 61 in each individual simulator 3, and an object data storage unit 62. And a notification determination unit 63.

ユーザオブジェクト管理部41は、ユーザによるユーザオブジェクトの移動操作を受けて、ユーザオブジェクトの仮想空間内の位置を更新する。ここでユーザ端末1は、ユーザによる移動操作のときに、移動可能であると予め定められた領域の外へユーザオブジェクトが移動しないよう、ユーザの操作を制限する。例えば、歩道から車道へ移動する指示操作が行われた場合、当該車道部分が横断歩道であるか否かを判断し、横断歩道でなければ、無視して移動を行わない。   The user object management unit 41 updates the position of the user object in the virtual space in response to an operation of moving the user object by the user. Here, the user terminal 1 restricts the user's operation so that the user object does not move out of an area predetermined as being movable when the user performs a moving operation. For example, when an instruction operation for moving from a sidewalk to a roadway is performed, it is determined whether or not the roadway part is a pedestrian crossing.

ユーザ視野表示部42は、ユーザの視野範囲に係る情報を相互通信制御装置2に送信し、相互通信制御装置2から当該視野範囲に含まれる他のオブジェクトの情報を受信し、ディスプレイ等に表示する。   The user visual field display unit 42 transmits information related to the visual field range of the user to the mutual communication control device 2, receives information of other objects included in the visual field range from the mutual communication control device 2, and displays the information on a display or the like. .

相互通信制御部51は、個別シミュレータ3からオブジェクトの情報の通知を受けると、当該通知されたオブジェクトの情報と、オブジェクト種別(あるいは通知元の個別シミュレータ3を特定する情報)とを関連づけて、通知データベースとして記憶部22に格納する。   When receiving the notification of the object information from the individual simulator 3, the mutual communication control unit 51 associates the notified object information with the object type (or information for specifying the individual simulator 3 that is the notification source), and notifies it. The data is stored in the storage unit 22 as a database.

検索処理部52は、ユーザ端末1から受信される指示に従い、ユーザの視野範囲に属するオブジェクトの情報を、各個別シミュレータにオブジェクト検索処理を行わせて取得し、当該取得したオブジェクトの情報をユーザ端末1に送出する。   In accordance with an instruction received from the user terminal 1, the search processing unit 52 acquires information on objects belonging to the user's visual field range by causing each individual simulator to perform object search processing, and acquires the acquired object information. 1 to send.

依存関係判断部53は、記憶部22に格納された通知データベースと依存関係データベース55とを参照し、実行するべき処理が依存関係データベース55に定められている場合は、当該定められた処理(例えば衝突判定処理)の実行を開始する旨の指示を出力する。   The dependency relationship determination unit 53 refers to the notification database and the dependency relationship database 55 stored in the storage unit 22, and when the processing to be executed is determined in the dependency relationship database 55, the determined processing (for example, An instruction to start execution of (collision determination processing) is output.

衝突判定部54は、依存関係判断部53が衝突判定処理の実行を開始する旨の指示を出力したときに、記憶部22に格納された通知データベースを参照して、種別の異なるオブジェクト間で相互作用を考慮したシミュレートを行うべきか否かを判断し、相互作用を考慮したシミュレートを行うべきと判断したときに、当該相互作用に係るオブジェクトをそれぞれ管理する個別シミュレータ3に対して、相互作用の相手となるオブジェクトに関する情報を出力して、相互作用に係る処理を実行するよう要求する。   The collision determination unit 54 refers to the notification database stored in the storage unit 22 when the dependency determination unit 53 outputs an instruction to start execution of the collision determination process, so that the objects of different types can interact with each other. When it is determined whether or not the simulation considering the action should be performed, and when it is determined that the simulation considering the interaction should be performed, the individual simulators 3 respectively managing the objects related to the interaction are Outputs information about the object that acts as an action partner, and requests to execute the process related to the interaction.

本実施の形態では、これら依存関係判断部53と衝突判定部54とにより、本発明の相互処理実行手段が実現される。   In the present embodiment, the dependency determination unit 53 and the collision determination unit 54 implement the mutual processing execution unit of the present invention.

依存関係データベース55は、保持手段としての記憶部22に格納されており、図4に示すように、少なくとも一つのオブジェクト種別(または当該少なくとも一つの種別のオブジェクトをそれぞれ管理する個別シミュレータ3を特定する情報)R1,R2…と、実行するべき処理の内容を特定する情報Pとを関連づけたものである。   The dependency relationship database 55 is stored in the storage unit 22 as a holding unit, and as shown in FIG. 4, the individual simulator 3 that manages at least one object type (or at least one type of object) is specified. Information) R1, R2,... Are associated with information P specifying the content of the process to be executed.

各個別シミュレータ3におけるシミュレーションエンジン部61は、シミュレート対象であるオブジェクトの挙動(移動など)をそれぞれシミュレートする。ここでは、シミュレーションエンジン部61は、シミュレートの対象となるオブジェクトの各々にオブジェクト識別子を付し、それぞれの所定時間(1ステップ)後の移動位置を、シミュレートして演算し、当該移動位置などシミュレートに関わる情報を各オブジェクトの識別子に関連づけて、オブジェクトデータベースに格納する。   The simulation engine unit 61 in each individual simulator 3 simulates the behavior (movement, etc.) of the object to be simulated. Here, the simulation engine unit 61 attaches an object identifier to each object to be simulated, calculates the movement position after each predetermined time (one step), calculates the movement position, etc. Information related to the simulation is stored in the object database in association with the identifier of each object.

例えば、鳥オブジェクトや魚オブジェクトの移動は、群れの挙動をシミュレートする処理によって行われる。具体的な例としては、集まりやすさや、離れやすさ、集中対象の位置、忌避対象の位置等のシミュレートパラメータ情報に基づいてシミュレートを行う。ここで集中対象とは、より近くに寄ろうとする対象(オブジェクト)であり、例えば鳥であれば捕食対象としての魚が集中対象の一例となる。また、忌避対象とは、より離れようとする対象(オブジェクト)であれば、例えば魚であれば、捕食者である鳥が忌避対象の一例となる。このような群れの挙動をシミュレートする処理では、これらのシミュレートパラメータ情報を利用して、群れに属する各個体(個々のオブジェクト)の次のステップでの移動位置を演算する。   For example, movement of a bird object or a fish object is performed by a process of simulating the behavior of a flock. As a specific example, simulation is performed based on simulation parameter information such as ease of gathering, ease of separation, position of concentration target, and position of repelling target. Here, the concentration target is a target (object) to be approached closer. For example, in the case of a bird, a fish as a predation target is an example of the concentration target. In addition, if the repelling target is a target (object) that is going to be further away, for example, if it is a fish, a predator bird is an example of the repelling target. In the process of simulating the behavior of such a group, the movement position in the next step of each individual (individual object) belonging to the group is calculated using these simulated parameter information.

また、このシミュレーションエンジン部61は、管理しているオブジェクトの種類に応じて定められる移動以外の挙動に係る処理を実行する。例えば、鳥オブジェクトについては、所定範囲内に所在する魚オブジェクトを捕食するか否かを決定する処理を実行する。   Further, the simulation engine unit 61 executes processing related to behavior other than movement determined according to the type of managed object. For example, for a bird object, a process of determining whether to prey on a fish object located within a predetermined range is executed.

さらにシミュレーションエンジン部61は、相互作用に係る処理を実行するべき旨の指示を、衝突判定部54から受けると、当該指示とともに受信されるオブジェクトの情報を利用して、シミュレートの処理を続ける。   Further, when receiving an instruction from the collision determination unit 54 that the process related to the interaction is to be executed, the simulation engine unit 61 continues the simulation process using the object information received together with the instruction.

例えば魚オブジェクトにおいては、忌避対象である鳥オブジェクトの位置情報を、相互作用の相手となるオブジェクトに関する情報として受信し、当該位置情報を忌避対象の位置情報として設定してシミュレーションを続行すればよい。   For example, in the case of a fish object, the position information of a bird object that is a repelling target is received as information about an object that is an interaction partner, the position information is set as repelling target position information, and the simulation may be continued.

オブジェクトデータ記憶部62は、個々のシミュレート対象である各オブジェクトごとに、位置に関する情報を記憶部22に格納して保持させる。   The object data storage unit 62 stores information about the position in the storage unit 22 for each object that is a simulation target.

通知判定部63は、本発明の選択通知手段に相当し、管理しているオブジェクトのうち、所与の通知条件を満足するものがあれば、当該通知条件を満足するオブジェクトの情報を相互通信制御部2に送信する処理(通知処理)を実行する。ここで通知条件は、パラメータ情報として記憶部33に格納しておく。この通知条件は例えば、仮想空間内におけるオブジェクトの所在領域に関わる条件とする。具体例として鳥オブジェクトにおいては、捕食対象のいる池の範囲であって、地上所定高さ未満の領域(捕食対象たる魚を捉えて捕食可能として設定される領域)に所在するオブジェクトを通知対象とするとの条件を定める。   The notification determination unit 63 corresponds to the selection notification unit of the present invention. If there is a managed object that satisfies a given notification condition, information on the object that satisfies the notification condition is controlled by mutual communication. A process (notification process) to be transmitted to the unit 2 is executed. Here, the notification condition is stored in the storage unit 33 as parameter information. The notification condition is, for example, a condition related to the location area of the object in the virtual space. As a specific example, in a bird object, an object located in a range of a pond where a prey target is present and which is less than a predetermined height above the ground (a region set to be able to prey by catching a prey target fish) is set as a notification target. Then, the conditions are determined.

次に、本実施の形態のシミュレーションシステムの動作例を説明する。以下の動作例では、車オブジェクトの挙動をシミュレートする個別シミュレータ3aと、鳥オブジェクトの挙動をシミュレートする個別シミュレータ3bと魚オブジェクトの挙動をシミュレートする個別シミュレータ3cとがネットワークを介して接続され、仮想都市空間内のオブジェクトを管理している場合を例として説明する。   Next, an operation example of the simulation system of the present embodiment will be described. In the following operation example, an individual simulator 3a that simulates the behavior of a car object, an individual simulator 3b that simulates the behavior of a bird object, and an individual simulator 3c that simulates the behavior of a fish object are connected via a network. The case where an object in a virtual city space is managed will be described as an example.

このとき、鳥と車、魚と車とは相互作用がないが、鳥と魚との間には、鳥が魚を捕食するという関係を仮想的に設定しておくとする。この捕食関係を設定するため、鳥が魚を捕食可能な領域に入ったこと、例えば、池の上空ないし池の内部であって、地上所定高さ未満の領域にある鳥オブジェクトを通知対象とする、との通知条件を定めて、個別シミュレータ3bの記憶部32に設定する。   At this time, there is no interaction between the bird and the car, and the fish and the car, but it is assumed that a relationship that the bird prey on the fish is virtually set between the bird and the fish. In order to set this predation relationship, the bird has entered an area where fish can be eaten, for example, a bird object that is in the area above the predetermined height above the ground or inside the pond, Is set in the storage unit 32 of the individual simulator 3b.

また、魚オブジェクトに関しても、池の水面から、別途定められた深さDまでの領域に存在する魚オブジェクトを通知対象とする、との通知条件を定め、個別シミュレータ3cの記憶部32に設定しておく。   In addition, regarding the fish object, a notification condition that a fish object existing in an area from the water surface of the pond to a separately defined depth D is to be notified is determined and set in the storage unit 32 of the individual simulator 3c. Keep it.

なお、車オブジェクトは、ユーザオブジェクトなどの人オブジェクトとの間で相互作用をすることがある(衝突など)が、ここでは人オブジェクトの移動可能範囲は、歩道または横断歩道のみと制限され、車オブジェクトの移動可能範囲は車道のみと制限されている。このため、人オブジェクトと車オブジェクトとの相互作用は、各種別のオブジェクトの移動可能範囲が交差する領域である、横断歩道のみとなる。そこで、車オブジェクトを管理する個別シミュレータ3aには、横断歩道内に進入している車オブジェクトを通知の対象とする、との通知条件を設定しておく。同様に、人オブジェクトを管理する側には、横断歩道内に進入した人オブジェクトを通知の対象とするとの通知条件を設定しておく。つまり、ここではユーザ端末1に対し、ユーザオブジェクトが横断歩道内に進入したときに、通知を行うよう設定しておく。   A car object may interact with a human object such as a user object (such as a collision). However, the movable range of the human object is limited to only a sidewalk or a pedestrian crossing. The movable range is limited to roadways only. For this reason, the interaction between the human object and the car object is only a pedestrian crossing, which is a region where the movable ranges of various types of objects intersect. Therefore, a notification condition that the vehicle object entering the pedestrian crossing is a notification target is set in the individual simulator 3a that manages the vehicle object. Similarly, a notification condition that a person object that has entered the pedestrian crossing is a notification target is set on the person object management side. That is, here, the user terminal 1 is set to be notified when the user object enters the pedestrian crossing.

さらに、相互通信制御装置2の依存関係データベース55には、図4に例示したように、鳥オブジェクトを管理する個別シミュレータ3bを特定する情報と、魚オブジェクトを管理する個別シミュレータ3cを特定する情報とをキーとして、このキーに関連づけて、通知されている(通知データベースに格納された)魚オブジェクトの情報を個別シミュレータ3bに対して送出して、捕食するか否かを判断させる処理を行わせる旨の、処理規定情報としての依存関係エントリー(以下、区別のため捕食関係エントリーと呼ぶ)を設定しておく。   Further, in the dependency relationship database 55 of the intercommunication control device 2, as illustrated in FIG. 4, information specifying the individual simulator 3b that manages the bird object and information specifying the individual simulator 3c that manages the fish object As a key, in association with this key, the notified fish object information (stored in the notification database) is sent to the individual simulator 3b to perform a process of determining whether or not to prey. The dependency entry (hereinafter referred to as a predation relation entry for distinction) is set as the process definition information.

この動作例においては、図6に示すように、各個別シミュレータ3a、3b、3cは、それぞれが担当する種別のオブジェクトについて、予め定められたアルゴリズムでの挙動シミュレーションを行って、各オブジェクトの移動位置を逐次変化させている(S1a,S1b,S1c)。例えば鳥オブジェクトを担当する個別シミュレータ3bでは、群れをシミュレートするアルゴリズム(基礎的なものとして例えばReynolds, C. W. (1987) Flocks, Herds, and Schools: A Distributed Behavioral Model, in Computer Graphics, 21(4) (SIGGRAPH '87 Conference Proceedings) pages 25-34.)を用いて個々の鳥オブジェクトが仮想的な都市空間を飛来する状況をシミュレートする。   In this example of operation, as shown in FIG. 6, each individual simulator 3a, 3b, 3c performs behavioral simulation with a predetermined algorithm for each type of object in charge of each, Are sequentially changed (S1a, S1b, S1c). For example, in the individual simulator 3b in charge of a bird object, an algorithm for simulating a flock (for example, Reynolds, CW (1987) Flocks, Herds, and Schools: A Distributed Behavioral Model, in Computer Graphics, 21 (4) (SIGGRAPH '87 Conference Proceedings) pages 25-34.) Is used to simulate the situation where individual bird objects fly through a virtual city space.

また、各個別シミュレータ3は、この移動の処理において、シミュレートの対象としているオブジェクト(一般に複数)のうち、設定された通知条件を満足するオブジェクトがあるか否かを判断する(S2a,S2b,S2c)。例えば鳥オブジェクトを管理する個別シミュレータ3bは、通知条件として設定された、池の上空ないし池の内部であって、地上所定高さ未満の領域に移動した鳥オブジェクト(通知対象)があるか否かを調べ、通知対象となる鳥オブジェクトがあれば、当該通知対象となった鳥オブジェクトの情報として、予め定められている情報、例えば通知対象となった鳥オブジェクトの位置の情報を相互通信制御装置2に送信して通知する(S3)。   Each individual simulator 3 determines whether or not there is an object satisfying the set notification condition among the objects (generally a plurality) to be simulated in this movement process (S2a, S2b, S2c). For example, the individual simulator 3b that manages a bird object determines whether or not there is a bird object (notification target) that has been moved to an area that is set as a notification condition above the pond or inside the pond and that is below a predetermined height on the ground. If there is a bird object to be notified, if there is a bird object to be notified, predetermined information, for example, information on the position of the bird object to be notified is sent to the mutual communication control device 2 as information on the bird object to be notified. Send and notify (S3).

相互通信制御装置2の相互通信制御部51は、当該通知された情報を受信し、個別シミュレータ3bを特定する情報と、通知された情報とを関連づけた通知データベースを記憶部22に格納する。   The intercommunication control unit 51 of the intercommunication control device 2 receives the notified information, and stores in the storage unit 22 a notification database in which the information for specifying the individual simulator 3b is associated with the notified information.

そして相互通信制御装置2の依存関係判断部53が、記憶部22に格納された依存関係データベース55を参照し、依存関係データベース55において設定されている各依存関係エントリーのキーとなる情報に含まれるすべての個別シミュレータ3から通知がされているか否かを、通知データベースを参照して調べる。これにより、実行するべき処理が依存関係データベース55に定められているか否かを判断する(S4)。   Then, the dependency relationship determination unit 53 of the mutual communication control device 2 refers to the dependency relationship database 55 stored in the storage unit 22 and is included in the information that is the key of each dependency relationship entry set in the dependency relationship database 55. Whether or not notifications are received from all the individual simulators 3 is checked with reference to the notification database. Thus, it is determined whether or not the process to be executed is defined in the dependency database 55 (S4).

この例の段階では、魚オブジェクトを管理する個別シミュレータ3cから魚オブジェクトの通知を受けていない、つまり個別シミュレータ3cにおける魚オブジェクトの挙動シミュレートの現状から、池の水面から深さDまでの範囲にいる魚オブジェクトがない状態なので、通知データベースには鳥オブジェクトに係る個別シミュレータ3bを特定する情報が格納されているだけである。このため、依存関係データベース55に設定されている捕食関係エントリーのキーに含まれる各個別シミュレータ3b,3cからの通知がされていないことと判断され、処理S1に戻って次のステップでのシミュレーションが実行される。このとき、相互通信制御装置2は、通知データベースを記憶部22から削除する。   In the stage of this example, the notification of the fish object is not received from the individual simulator 3c that manages the fish object, that is, from the current state of the behavior simulation of the fish object in the individual simulator 3c to the depth D from the water surface of the pond. Since there is no fish object present, the notification database only stores information for specifying the individual simulator 3b related to the bird object. For this reason, it is determined that notifications from the individual simulators 3b and 3c included in the key of the predation relationship entry set in the dependency relationship database 55 are not made, and the process returns to the process S1 and the simulation in the next step is performed. Executed. At this time, the mutual communication control device 2 deletes the notification database from the storage unit 22.

各個別シミュレータ3が、再び、次のステップでの移動の処理を行い(S5)、シミュレートの対象としているオブジェクト(一般に複数)のうち、設定された通知条件を満足するオブジェクトがあるか否かを判断する(S6)。ここで、個別シミュレータ3bが、通知対象となる鳥オブジェクトがあったとして、当該通知対象となった鳥オブジェクトの情報として例えば通知対象となった鳥オブジェクトの位置の情報を相互通信制御装置2に送信して再び通知する(S7)とする。   Each individual simulator 3 performs the movement process in the next step again (S5), and whether or not there is an object satisfying the set notification condition among the objects (generally plural) to be simulated. Is determined (S6). Here, assuming that there is a bird object to be notified, the individual simulator 3b transmits, for example, information on the position of the bird object to be notified to the mutual communication control device 2 as information on the bird object to be notified. Then, the notification is made again (S7).

また、魚オブジェクトを管理する個別シミュレータ3cが、池の水面から設定された深さDまでの範囲に移動した魚オブジェクトを見いだした場合、当該魚オブジェクトを通知対象とし、当該通知対象となった魚オブジェクトの情報として例えば通知対象となった魚オブジェクトを特定する情報(当該魚オブジェクトの識別子等)や、その位置の情報を相互通信制御装置2に送信し、通知をする(S8)。   In addition, when the individual simulator 3c that manages the fish object finds the fish object that has moved to the range from the water surface of the pond to the set depth D, the fish object is the notification target, and the fish that has been the notification target. As the object information, for example, information (such as an identifier of the fish object) for identifying the fish object to be notified and the position information thereof are transmitted to the mutual communication control device 2 for notification (S8).

これらの通知を受けた相互通信制御装置2の相互通信制御部51は、当該通知された情報を受信し、個別シミュレータ3b、3cを特定する情報と、それぞれから通知された情報とを関連づけた通知データベースを記憶部22に格納する。   The intercommunication control unit 51 of the intercommunication control device 2 that has received these notifications receives the notified information, and associates the information specifying the individual simulators 3b and 3c with the information notified from each of them. The database is stored in the storage unit 22.

そして相互通信制御装置2の依存関係判断部53が、実行するべき処理が依存関係データベース55に定められているか否かを判断する(S9)。ここでは、通知データベースに個別シミュレータ3b、3cを特定する情報の双方が格納されているので、捕食関係エントリーのキーに含まれるすべての個別シミュレータ3を特定する情報が通知データベースに格納されていると判断され、衝突判定部54により当該キーに関連づけられた処理が実行される。既に述べたように、ここでの例では、通知データベースに格納された魚オブジェクトの情報を個別シミュレータ3bに対して送出して、捕食するか否かを判断させる処理を行わせることとなる(S10)。   Then, the dependency relationship determination unit 53 of the intercommunication control device 2 determines whether or not the processing to be executed is defined in the dependency relationship database 55 (S9). Here, since both information for specifying the individual simulators 3b and 3c is stored in the notification database, information for specifying all the individual simulators 3 included in the key of the predation-related entry is stored in the notification database. The collision determination unit 54 executes the process associated with the key. As already described, in this example, the information of the fish object stored in the notification database is sent to the individual simulator 3b, and a process for determining whether or not to prey is performed (S10). ).

個別シミュレータ3bのシミュレーションエンジン部61では、通知対象となった鳥が、ここで相互通信制御装置2から受信した魚オブジェクトを捕食する挙動を行うか否かを例えば乱数値や、所定のシミュレーション用のパラメータ(空腹パラメータなど)に応じて判断し(S11)、当該判断の結果を相互通信制御装置2に送出する(S12)。例えば、捕食したとする場合は、捕食した魚オブジェクトの識別子を相互通信制御装置2に送出し、捕食しなかったとする場合は、その旨を相互通信制御装置2に送出する。   In the simulation engine unit 61 of the individual simulator 3b, it is determined whether or not the bird to be notified performs a behavior of eating the fish object received from the mutual communication control device 2 here, for example, a random value or a predetermined simulation. A determination is made according to a parameter (such as a hungry parameter) (S11), and the result of the determination is sent to the mutual communication control device 2 (S12). For example, when the prey is preyed, the identifier of the preyed fish object is sent to the mutual communication control device 2, and when the prey is not preyed, that fact is sent to the mutual communication control device 2.

相互通信制御装置2の衝突判定部54は、そして依存関係に係る処理の結果を個別シミュレータ3へ報知する。ここでは、受信した判断結果の情報から捕食がされたか否かを調べ、捕食がされた場合には、捕食された魚オブジェクトの識別子を個別シミュレータ3cに送出して、当該識別子で識別される魚オブジェクトをオブジェクトデータベースから削除させる(S13)。また相互通信制御装置2は、捕食の結果、通知対象となっていた魚オブジェクトのうち、捕食されたとされる魚オブジェクトが消失した旨の情報を個別シミュレータ3bへ送信する(S14)。   The collision determination unit 54 of the mutual communication control device 2 notifies the individual simulator 3 of the result of the process related to the dependency relationship. Here, it is checked whether or not predation has been performed based on the received information of the determination result. If predation is performed, the identifier of the predated fish object is sent to the individual simulator 3c, and the fish identified by the identifier is sent. The object is deleted from the object database (S13). Moreover, the mutual communication control apparatus 2 transmits the information to the effect that the fish object which was supposed to be eaten out of the fish object which became the notification object as a result of predation disappeared to the individual simulator 3b (S14).

以下、各個別シミュレータ3が、またそれぞれの管理するオブジェクトの挙動をシミュレートする処理から繰り返して実行する。   Thereafter, each individual simulator 3 is repeatedly executed from the process of simulating the behavior of each managed object.

本実施の形態によると、鳥オブジェクトを管理する個別シミュレータ3bと、魚オブジェクトを管理する個別シミュレータ3cとは、それぞれの管理するオブジェクトが仮想空間内で相互作用を行い得る程度として予め定められた範囲に進入しない限り、他のオブジェクトに関わる情報を受信することがなく、従って相互作用のシミュレートの処理を実行する必要がない。これによりシミュレートの処理負担を軽減することができる。   According to the present embodiment, the individual simulator 3b that manages the bird object and the individual simulator 3c that manages the fish object are predetermined ranges to which the managed objects can interact in the virtual space. As long as it is not entered, it does not receive information about other objects, and therefore it is not necessary to perform a process of simulating interactions. Thereby, the processing load of simulation can be reduced.

また、図6の例にあるように、相互作用の設定のない、オブジェクト間(車と魚、車と鳥)では、情報の送受も行われない。つまり、通知対象となった鳥オブジェクトがあっても、車オブジェクトの挙動をシミュレートする個別シミュレータ3aに対しては当該鳥オブジェクトの情報は送信されることがない。これにより、通信負担をも軽減できる。   Further, as in the example of FIG. 6, information is not transmitted and received between objects (car and fish, car and bird) that have no interaction setting. That is, even if there is a bird object to be notified, information on the bird object is not transmitted to the individual simulator 3a that simulates the behavior of the car object. Thereby, the communication burden can be reduced.

なお、ここでは各オブジェクトの挙動についてのシミュレーションを進めるごとに毎回、通知データベースを削除し、新たに通知を受けて通知データベースを更新することとしたが、各個別シミュレータにおいて前回通知した通知対象と、今回通知するべき通知対象とに変化が生じたときに、当該変化(通知データベースに追加するべきオブジェクトの情報と、通知データベースから削除するべきオブジェクトの情報と)を相互通信制御装置2に通知するようにしてもよい。このようにすれば、通知対象に変化のない間は、毎回通知を行う必要がなくなり、通信負荷を軽減できる。   Here, every time the simulation about the behavior of each object is advanced, the notification database is deleted and the notification database is updated by receiving a new notification. When a change occurs in the notification target to be notified this time, the change (information on the object to be added to the notification database and information on the object to be deleted from the notification database) is notified to the mutual communication control device 2. It may be. In this way, as long as there is no change in the notification target, it is not necessary to notify every time, and the communication load can be reduced.

また、ここではそれぞれの個別シミュレータ3に、予め通知条件が設定されている場合を例として述べたが、次に説明するように通知条件は事前に設定されていなくてもよい。   In addition, here, the case where the notification condition is set in advance in each individual simulator 3 has been described as an example, but the notification condition may not be set in advance as described below.

例えば上述の例において、魚オブジェクトを管理する個別シミュレータ3cには、通知対象を定める深さDの情報が事前に設定されているとしたが、この深さDの情報を当初、D=0、すなわち水面上にいる魚オブジェクトを通知対象とすることとしておくなど、一般的には通知が行われない条件としておき、相互通信制御装置2において、特定の個別シミュレータ3からの通知があったことを条件としてこの深さDの情報を、D=d(d>0)と個別シミュレータ3cに設定させて、深さdまでの魚オブジェクトを通知させるようにしてもよい。   For example, in the above-described example, the individual simulator 3c that manages the fish object is preliminarily set with the information on the depth D that determines the notification target, but this depth D information is initially set to D = 0, That is, it is generally set as a condition that notification is not performed, such as a fish object on the surface of the water, and the mutual communication control device 2 has received a notification from a specific individual simulator 3. As a condition, the information of the depth D may be set to D = d (d> 0) and the individual simulator 3c to notify the fish object up to the depth d.

すなわちこの場合は、鳥オブジェクトを管理する個別シミュレータ3bを特定する情報をキーとして、このキーに関連づけて魚オブジェクトを管理する個別シミュレータ3cに対し、深さDの情報をD=d(d>0)と設定させる処理を行わせる旨を設定した依存関係エントリー(以下、区別のため深度設定エントリーと呼ぶ)を、依存関係データベース55に格納しておく。   That is, in this case, the information for specifying the individual simulator 3b that manages the bird object is used as a key, and the depth D information is D = d (d> 0) for the individual simulator 3c that manages the fish object in association with this key. ) And a dependency entry (hereinafter referred to as a depth setting entry for distinction) set to perform processing to be set is stored in the dependency database 55.

こうすると、上記図6に示した処理S4の段階において、相互通信制御装置2の依存関係判断部53が実行するべき処理が依存関係データベース55に定められているか否かを判断するにあたり、当該段階で通知データベースには鳥オブジェクトに係る個別シミュレータ3bを特定する情報が格納されているので、深度設定エントリーのキーに含まれるすべての情報が通知データベースに格納されていることとなり、相互通信制御装置2は、魚オブジェクトを管理する個別シミュレータ3cに対し、深さDの情報をD=d(d>0)と設定するよう指示する。   In this way, at the stage of the process S4 shown in FIG. 6 above, when determining whether or not the dependency relation determining unit 53 of the intercommunication control apparatus 2 should execute the dependency relation database 55, the relevant stage Since the information for identifying the individual simulator 3b related to the bird object is stored in the notification database, all the information included in the key of the depth setting entry is stored in the notification database. Instructs the individual simulator 3c that manages the fish object to set the depth D information as D = d (d> 0).

この指示を受けて個別シミュレータ3cは、深さDの情報をdに設定し、池の水面から当該設定された深さD=dまでの範囲に存在する魚オブジェクトがあるか否かを調べる。ここでかかる魚オブジェクトがあれば、当該魚オブジェクトを通知対象とし、例えば当該通知対象となった魚オブジェクトを特定する情報(当該魚オブジェクトの識別子等)や、その位置の情報を相互通信制御装置2に送信し通知する。   In response to this instruction, the individual simulator 3c sets the depth D information to d, and checks whether there is a fish object existing in the range from the water surface of the pond to the set depth D = d. If there is such a fish object, the fish object is set as a notification target. For example, information (such as an identifier of the fish object) for specifying the fish object that is the notification target and information on the position thereof are sent to the mutual communication control device 2. Send to and notify.

相互通信制御装置2は当該通知された情報を受信して、個別シミュレータ3cを特定する情報と、通知された情報とを関連づけて通知データベースに追加して格納する。そして相互通信制御装置2の依存関係判断部53が、実行するべき処理が依存関係データベース55に定められているか否かを判断する。この段階では、通知データベースに個別シミュレータ3b、3cを特定する情報の双方が格納されているので、捕食関係エントリーに係る、図6の処理S10以下の処理が実行され、通知データベースに格納された魚オブジェクトの情報を個別シミュレータ3bに対して送出して、捕食するか否かを判断させる処理を行わせる。   The mutual communication control device 2 receives the notified information, associates the information for specifying the individual simulator 3c with the notified information, and stores them in the notification database. Then, the dependency relationship determining unit 53 of the intercommunication control device 2 determines whether or not the processing to be executed is defined in the dependency relationship database 55. At this stage, since both the information for identifying the individual simulators 3b and 3c are stored in the notification database, the processing after the processing S10 in FIG. 6 related to the predation-related entry is executed, and the fish stored in the notification database. The object information is sent to the individual simulator 3b, and processing for determining whether or not to prey is performed.

なお、ここまでは説明を簡易にするために、依存関係データベース55には、鳥と魚との間の捕食関係に係る依存関係エントリーが格納されている例を示したが、依存関係エントリーはこれだけに限られず、例えば、人オブジェクトと車オブジェクトとの依存関係として、衝突判断や、忌避行動(車オブジェクトは、人オブジェクトがいなくなるまで停止するなど)のパラメータ設定等を行わせてもよい。   In addition, in order to simplify explanation so far, the dependency database 55 shows an example in which a dependency entry related to a predation relationship between a bird and a fish is stored, but this is the only dependency entry. For example, as a dependency relationship between the human object and the car object, a collision determination, a parameter setting for avoidance behavior (the car object stops until the human object disappears, etc.) may be performed.

さらに本実施の形態では、ユーザ端末1は所定のタイミングごとに、ユーザオブジェクトからの視野範囲に属するオブジェクトの情報を取得して表示する。すなわちユーザ端末1のユーザ視野表示部42が、ユーザの視野範囲に係る情報(ユーザの視野範囲を画定する仮想空間内の領域を表す情報)を相互通信制御装置2に送信する。   Further, in the present embodiment, the user terminal 1 acquires and displays information on objects belonging to the visual field range from the user object at every predetermined timing. That is, the user visual field display unit 42 of the user terminal 1 transmits information related to the user's visual field range (information representing a region in the virtual space that defines the user's visual field range) to the mutual communication control device 2.

相互通信制御装置2の検索処理部52は、このユーザ端末1から受信される情報で画定される視野範囲内のオブジェクトの情報を各個別シミュレータ3に送出して、各個別シミュレータ3に対してオブジェクト検索処理を行わせる。各個別シミュレータ3では、相互通信制御装置2から指定された領域内に含まれるオブジェクトのリストを送出する。このオブジェクトのリストは、オブジェクトの外観を定める情報やオブジェクトの位置に係る情報等を列挙したものである。   The search processing unit 52 of the intercommunication control device 2 sends information on objects within the field of view defined by the information received from the user terminal 1 to each individual simulator 3, and sends the object information to each individual simulator 3. Perform search processing. Each individual simulator 3 sends out a list of objects included in the area designated by the mutual communication control device 2. This list of objects lists information that determines the appearance of the object, information related to the position of the object, and the like.

相互通信制御装置2は、各個別シミュレータ3から受信されるオブジェクトのリストをユーザ端末1に送出する。ユーザ端末1では、こうして相互通信制御装置2からユーザ視野範囲に含まれる他の(ユーザオブジェクト以外の)オブジェクトの情報を受信し、ディスプレイ等に表示する。   The mutual communication control device 2 sends a list of objects received from each individual simulator 3 to the user terminal 1. In this way, the user terminal 1 receives information on other objects (other than the user object) included in the user visual field range from the mutual communication control device 2 and displays the information on a display or the like.

なお、ユーザ端末1がシミュレーションの1ステップごとに各オブジェクトの位置の情報を取得して表示することとすると、オブジェクトの数が増大したときにその通信負担が大きくなってしまう。そこで、ユーザ端末1は、予め定めたタイミング決定ルールに基づいて定められる同期タイミングにおいてユーザオブジェクトからの視野範囲に属するオブジェクトの情報を取得することとしてもよい。この場合、ユーザ端末1は、当該同期タイミング以外の時点では、最後に受信したオブジェクトの情報に基づいて、表示の時点でのオブジェクトの位置などの挙動を予測して、その結果を表示する。   If the user terminal 1 acquires and displays information about the position of each object for each step of the simulation, the communication burden increases when the number of objects increases. Therefore, the user terminal 1 may acquire information on an object belonging to the visual field range from the user object at a synchronization timing determined based on a predetermined timing determination rule. In this case, at a time other than the synchronization timing, the user terminal 1 predicts the behavior such as the position of the object at the time of display based on the last received object information, and displays the result.

つまりこの例では、ユーザ端末1は、図5に示した例に代えて図7に示すように、機能的にはユーザオブジェクト管理部41と、ユーザ視野表示部42′と、同期部43と、シミュレート結果予測部44とを備えてなる。   That is, in this example, the user terminal 1 functionally includes a user object management unit 41, a user visual field display unit 42 ', a synchronization unit 43, as shown in FIG. 7 instead of the example shown in FIG. And a simulation result prediction unit 44.

ユーザ視野表示部42′は、ユーザの視野範囲に存在するオブジェクトのリストとして図示しないメモリに格納している、シミュレート結果の予測情報(オブジェクトの予測情報)に基づいて、当該視野範囲に含まれる他のオブジェクトの情報をディスプレイ等に表示する。   The user visual field display unit 42 ′ is included in the visual field range based on the prediction information (object prediction information) of the simulation result stored in a memory (not shown) as a list of objects existing in the visual field range of the user. Information on other objects is displayed on a display or the like.

同期部43は、予め定めたタイミング決定ルールに基づいて同期タイミングを定め、当該同期タイミングにおいて、ユーザの視野範囲を画定する情報とともに当該視野範囲に含まれるオブジェクトの情報を要求する指示を相互通信制御装置2に送信し、相互通信制御装置2から当該視野範囲に含まれる他のオブジェクトの情報を受信してメモリに格納する。   The synchronization unit 43 determines synchronization timing based on a predetermined timing determination rule, and at the synchronization timing, an instruction for requesting information on an object included in the field-of-view range together with information that defines the user's field-of-view range is intercommunication controlled. The information is transmitted to the device 2, and information on other objects included in the visual field range is received from the mutual communication control device 2 and stored in the memory.

シミュレート結果予測部44は、シミュレーションの1ステップに係る時間ごとに、同期部43によってメモリに格納されたオブジェクトの情報を利用して、各オブジェクトの挙動(シミュレーション結果)を予測して、メモリに格納されているオブジェクトの予測情報を更新する。   The simulation result prediction unit 44 predicts the behavior (simulation result) of each object by using the object information stored in the memory by the synchronization unit 43 for each time related to one step of the simulation, and stores it in the memory. Update the stored object prediction information.

ここではシミュレート結果予測部44は例えば、カルマンフィルタ等を用いて、同期部43が取得した実際のシミュレート結果によって予測値を補正しながら、オブジェクトの位置等の情報の予測を行う。   Here, the simulation result prediction unit 44 uses, for example, a Kalman filter or the like to predict information such as the position of the object while correcting the prediction value based on the actual simulation result acquired by the synchronization unit 43.

このようにユーザ端末1が他のオブジェクトの位置を予測して表示することで、他のオブジェクトの位置の情報を常時取得する必要がなくなり、通信負担を軽減できる。   As described above, the user terminal 1 predicts and displays the position of the other object, so that it is not necessary to constantly acquire the position information of the other object, and the communication burden can be reduced.

また、個別シミュレータ3によっては、ユーザオブジェクトの位置等の情報を利用して、担当しているオブジェクトの挙動をシミュレートするものもある。例えば、ユーザのペットなどのオブジェクトを担当する個別シミュレータ3があれば、ユーザオブジェクトの位置に応じて、当該ペットの位置をシミュレートする必要が生じる。   Some individual simulators 3 simulate the behavior of the object in charge using information such as the position of the user object. For example, if there is an individual simulator 3 in charge of an object such as a user's pet, it is necessary to simulate the position of the pet according to the position of the user object.

そこで当該個別シミュレータ3は、ユーザオブジェクトの位置の情報を提供するようユーザ端末1に通知しておく。そしてユーザ端末1は、当該通知の元となった個別シミュレータ3に対して、ユーザオブジェクトの情報を送出する。この場合も、シミュレーションの1ステップごとにユーザオブジェクトの情報を送出するのではなく、予め定めたタイミング決定ルールに基づいて定められる同期タイミングにおいてのみ、ユーザオブジェクトの情報を送出するようにしてもよい。   Therefore, the individual simulator 3 notifies the user terminal 1 to provide information on the position of the user object. Then, the user terminal 1 sends user object information to the individual simulator 3 that is the source of the notification. In this case as well, the user object information may be transmitted only at the synchronization timing determined based on a predetermined timing determination rule, instead of transmitting the user object information for each step of the simulation.

ユーザオブジェクトの情報を受信する個別シミュレータ3は、この場合、同期タイミングにて受信したユーザオブジェクトの情報を記憶部32に格納し、同期タイミング外のステップにおいては、ユーザオブジェクトの移動位置等を記憶している情報を元に予測し、当該予測の結果に基づいてオブジェクトの挙動をシミュレートする。この際のユーザオブジェクトの移動位置の予測もまた、例えばカルマンフィルタ等を用いて行うことができる。   In this case, the individual simulator 3 that receives the user object information stores the user object information received at the synchronization timing in the storage unit 32, and stores the movement position of the user object at a step outside the synchronization timing. And predicting the behavior of the object based on the prediction result. The movement position of the user object at this time can also be predicted using, for example, a Kalman filter.

なお、これらの例において同期タイミングを定めるタイミング決定ルールは、例えば、最後に同期してからの経過時間や、ユーザオブジェクトの移動速度、他のオブジェクトの移動速度等に応じて定めることができる。例えば最後に同期してからの経過時間が一定の時間に達するごとに同期タイミングを定めてもよい(この場合は一定の間隔で同期が行われる)し、ユーザオブジェクトの移動速度や他のオブジェクトの移動速度が高速になればなるほど短く設定される時間しきい値を演算し、最後に同期してからの経過時間が演算した時間しきい値を越えるときに同期タイミングを定めてもよい。   In these examples, the timing determination rule for determining the synchronization timing can be determined according to, for example, the elapsed time since the last synchronization, the moving speed of the user object, the moving speed of other objects, and the like. For example, the synchronization timing may be determined every time when the elapsed time since the last synchronization reaches a certain time (in this case, synchronization is performed at a certain interval), the movement speed of the user object and the other objects A time threshold that is set shorter as the moving speed becomes faster may be calculated, and the synchronization timing may be determined when the elapsed time from the last synchronization exceeds the calculated time threshold.

さらに、同期タイミングは、相互通信制御装置2によって定めてもよい。この場合において、相互通信制御装置2は、ユーザ端末1から受信するユーザの視野範囲の情報を用いて、各個別シミュレータ3に対して、当該視野範囲内に存在するオブジェクトがあるか否かを問い合わせる。   Further, the synchronization timing may be determined by the mutual communication control device 2. In this case, the mutual communication control device 2 inquires of each individual simulator 3 whether or not there is an object existing in the visual field range, using the information on the visual field range of the user received from the user terminal 1. .

各個別シミュレータ3は、指定された視野範囲内に存在するオブジェクトがあるか否かをそれぞれ判断し、視野範囲内に存在するオブジェクトがある場合は、その旨を相互通信制御装置2に対して送出する。相互通信制御装置2は、視野範囲内に存在するオブジェクトがある旨の回答を送出した個別シミュレータ3を特定する情報のリストを記憶する。この情報のリスト(以下、対象シミュレータリストと呼ぶ)は、所定のタイミングごとに、例えば定期的に更新する。   Each individual simulator 3 determines whether or not there is an object that exists within the specified visual field range, and if there is an object that exists within the visual field range, sends information to the mutual communication control device 2. To do. The intercommunication control device 2 stores a list of information for identifying the individual simulator 3 that has sent a reply that there is an object that exists within the visual field range. This list of information (hereinafter referred to as a target simulator list) is updated periodically, for example, at predetermined timings.

相互通信制御装置2は、当初(初期化時)には、記憶しているリストの情報で特定されるすべての個別シミュレータ3に対して視野範囲内に存在するオブジェクトの情報を要求する(上述の検索処理)。そして、各個別シミュレータ3が送出するオブジェクトのリストを取得して、ユーザ端末1へ送信する。   The intercommunication control device 2 initially requests (at the time of initialization) information on objects existing within the visual field range from all the individual simulators 3 specified by the stored list information (described above). Search process). Then, a list of objects transmitted by each individual simulator 3 is acquired and transmitted to the user terminal 1.

また、相互通信制御装置2は、対象シミュレータリストに新規に追加される個別シミュレータ3があれば、当該新規に追加された個別シミュレータ3に対しては、ユーザオブジェクトの視野範囲内に存在するオブジェクトの情報を要求する(上述の検索処理)。そして、個別シミュレータ3が送出するオブジェクトのリストを取得して、ユーザ端末1へ送信する。   In addition, if there is an individual simulator 3 that is newly added to the target simulator list, the mutual communication control device 2 can detect an object existing within the visual field range of the user object with respect to the newly added individual simulator 3. Request information (search process described above). Then, a list of objects sent out by the individual simulator 3 is acquired and transmitted to the user terminal 1.

相互通信制御装置2は、これらのように個別シミュレータ3からオブジェクトの情報を受信すると、図示しない時計部からデータを取得した時点を表すタイムスタンプ情報を取得し、各個別シミュレータ3から受信したデータ量と当該タイムスタンプ情報とを、各個別シミュレータ3を特定する情報に関連づけて、受信データ量データベースとして記憶部22に格納しておく。   When the mutual communication control device 2 receives the object information from the individual simulator 3 as described above, the mutual communication control device 2 acquires time stamp information indicating the time when the data is acquired from a clock unit (not shown), and the amount of data received from each individual simulator 3 And the time stamp information are stored in the storage unit 22 as a received data amount database in association with information specifying each individual simulator 3.

ユーザ端末1は、表示を更新する際に、相互通信制御装置2に対してその旨を表す信号(表示更新信号)を送出する。   When updating the display, the user terminal 1 sends a signal (display update signal) indicating that to the mutual communication control device 2.

相互通信制御装置2は、ユーザ端末1から表示更新信号を受信した時点で、個別シミュレータ3がシミュレートを行って次のステップにおけるオブジェクトの位置の演算を完了するまでの時間(余裕時間)を調べる。   When the intercommunication control device 2 receives the display update signal from the user terminal 1, the intercommunication control device 2 examines the time (margin time) until the individual simulator 3 performs the simulation and completes the calculation of the object position in the next step. .

そして当該余裕時間内に取得可能なデータ量を取得可能データ量として演算する。相互通信制御装置2は、記憶部22に格納した受信データ量データベースを参照し、当該演算した取得可能データ量以下のデータ量に関連づけられ、かつ、対象シミュレータリストに含まれる個別シミュレータ3を特定する情報を予備的に選択する。   Then, the amount of data that can be acquired within the margin time is calculated as the amount of data that can be acquired. The mutual communication control device 2 refers to the received data amount database stored in the storage unit 22 and identifies the individual simulator 3 that is associated with the calculated data amount equal to or less than the obtainable data amount and included in the target simulator list. Select information preliminarily.

そして予備的に選択した個別シミュレータ3を特定する情報のうち、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報を一つ選択する。なお、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報が複数あれば、ランダムにそのうちの一つを選択してもよい。   Then, one piece of information for specifying the individual simulator 3 associated with the oldest time stamp information is selected from the information for specifying the preliminary selected individual simulator 3. If there is a plurality of pieces of information specifying the individual simulator 3 associated with the oldest time stamp information, one of them may be selected at random.

なお、相互通信制御装置2において、依存関係データベース55内の依存関係エントリーに登録された処理を行った場合、当該依存関係エントリーに複数の個別シミュレータ3を特定する情報(または複数の個別シミュレータ3に係るオブジェクトを特定する情報)が含まれていたときには、依存関係エントリーに登録された処理の結果を、当該複数の個別シミュレータ3に一斉に報知する必要が生じる。そうでないと、ユーザ端末1において表示するシミュレーションの結果に矛盾が生じる可能性がある場合があるからである。   When the mutual communication control device 2 performs the process registered in the dependency relationship entry in the dependency relationship database 55, the information for specifying the plurality of individual simulators 3 in the dependency relationship entry (or the plurality of individual simulators 3). When the information specifying such an object) is included, it is necessary to simultaneously notify the plurality of individual simulators 3 of the result of the process registered in the dependency entry. Otherwise, there is a possibility that a contradiction may occur in the simulation result displayed on the user terminal 1.

そこでこうした場合、個別シミュレータ3の各々についてのデータ量だけでなく、一斉に同期する必要のある個別シミュレータ3の群について、当該群に属する個別シミュレータ3の各々に関連づけて、受信データ量データベースに登録されているデータ量の値を取得し、群に属する個別シミュレータ3の各々に関連して記録されているデータ量の値を合算して、群全体でのデータ量の値を演算し、群を特定する情報(例えば群に属する複数の個別シミュレータ3を特定する情報のリスト)に関連づけて、当該群について演算した群全体でのデータ量の値を受信データ量データベースに格納しておく。   Therefore, in such a case, not only the amount of data for each individual simulator 3 but also the group of individual simulators 3 that need to be synchronized all at once is registered in the received data amount database in association with each individual simulator 3 belonging to the group. Is obtained, and the data amount values recorded in association with each of the individual simulators 3 belonging to the group are added together to calculate the data amount value for the entire group, In association with information to be specified (for example, a list of information specifying a plurality of individual simulators 3 belonging to a group), the data amount value of the entire group calculated for the group is stored in the received data amount database.

相互通信制御装置2は、余裕時間内に取得可能なデータ量を取得可能データ量として演算し、記憶部22に格納した受信データ量データベースから、当該演算した取得可能データ量以下のデータ量に関連づけられ、かつ、対象シミュレータリストに含まれる個別シミュレータ3を特定する情報または群を特定する情報を予備的に選択する。   The mutual communication control device 2 calculates the amount of data that can be acquired within the spare time as the amount of data that can be acquired, and associates the amount of data that is less than the calculated amount of data that can be acquired from the received data amount database stored in the storage unit 22. And information for specifying the individual simulator 3 or information for specifying the group included in the target simulator list is preliminarily selected.

以下、予備的に選択した個別シミュレータ3を特定する情報または群を特定する情報のうちから、一つを所定の条件に従って選択する。この選択の条件は、例えば群についてのタイムスタンプ情報を、当該群に属する個別シミュレータ3のそれぞれに関連づけられたタイムスタンプ情報のうち、最も古いものとしておき、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報または群を特定する情報を選択する条件であってもよいし、ランダムに一つを選択する条件であってもよい。   Hereinafter, one of the information for specifying the individually selected individual simulator 3 or the information for specifying the group is selected according to a predetermined condition. For this selection condition, for example, the time stamp information for a group is set to be the oldest among the time stamp information associated with each of the individual simulators 3 belonging to the group, and is associated with the oldest time stamp information. It may be a condition for selecting information for specifying the individual simulator 3 or information for specifying a group, or a condition for selecting one at random.

これにより、群単位での同期も可能となり、ユーザ端末1にて表示されるシミュレーションの結果に矛盾が生じないようにすることができる。   As a result, synchronization can be performed in units of groups, and inconsistency can be prevented from occurring in the simulation results displayed on the user terminal 1.

相互通信制御装置2は、最終的に選択した情報で特定される個別シミュレータ3に対して、ユーザオブジェクトの視野範囲内に存在するオブジェクトの情報を要求する(上述の検索処理)。そして、個別シミュレータ3が送出するオブジェクトのリストを取得して、ユーザ端末1へ送信する。そして相互通信制御装置2は、図示しない時計部からデータを取得した時点を表すタイムスタンプ情報を取得し、上記最終的に選択した個別シミュレータ3から受信したデータ量と当該タイムスタンプ情報とを、個別シミュレータ3を特定する情報に関連づけて格納し、受信データ量データベースの内容を更新する。   The mutual communication control device 2 requests information on an object existing within the visual field range of the user object from the individual simulator 3 specified by the finally selected information (the above-described search process). Then, a list of objects sent out by the individual simulator 3 is acquired and transmitted to the user terminal 1. Then, the intercommunication control device 2 acquires time stamp information indicating the time point when the data is acquired from a clock unit (not shown), and individually determines the amount of data received from the finally selected individual simulator 3 and the time stamp information. The simulator 3 is stored in association with information for specifying, and the content of the received data amount database is updated.

また、ユーザ端末1は、相互通信制御装置2からオブジェクトのシミュレート結果に係る情報を受信するごとに、同期タイミングが到来したと判断して、ユーザオブジェクトの情報を、相互通信制御装置2へ送出する。   Further, each time the user terminal 1 receives information related to the object simulation result from the mutual communication control device 2, the user terminal 1 determines that the synchronization timing has arrived and sends the user object information to the mutual communication control device 2. To do.

なお、個別シミュレータ3は、相互通信制御装置2に対してオブジェクトのリストを送出するときに、個別シミュレータ3内で予測しているユーザオブジェクトの位置などの情報を併せて送出してもよい。相互通信制御装置2は、受信したユーザオブジェクトの予測された情報をユーザ端末1へ送出し、ユーザ端末1では、この予測されている情報と、現実にユーザの操作によって変化したユーザオブジェクトの情報とを比較して、例えば予測された位置と現実の位置とが予め定めたしきい値以上に離れている場合に、ユーザオブジェクトの情報を、相互通信制御装置2へ送出するようにしてもよい。   The individual simulator 3 may also send information such as the position of the user object predicted in the individual simulator 3 when sending the object list to the mutual communication control device 2. The mutual communication control device 2 sends the received predicted information of the user object to the user terminal 1, and the user terminal 1 receives the predicted information and the information of the user object that has actually changed by the user's operation. For example, when the predicted position and the actual position are separated from each other by a predetermined threshold value or more, the user object information may be sent to the mutual communication control device 2.

相互通信制御装置2は、上記最終的に選択した個別シミュレータ3に対して、受信したユーザオブジェクトの情報を送出する。ユーザオブジェクトの情報を受信した個別シミュレータ3は、当該ユーザオブジェクトの情報を記憶部32に格納して、以降のシミュレーションに利用する。   The mutual communication control device 2 sends the received user object information to the finally selected individual simulator 3. The individual simulator 3 that has received the user object information stores the user object information in the storage unit 32 and uses it for the subsequent simulations.

この例によると、ユーザ端末1と、相互通信制御装置2が選択した個別シミュレータ3とが時間をおいて同期しており(図8のステップ(a))、ユーザ端末1側では、最後の同期で取得したオブジェクトの移動を予測しつつ表示を行っており(図8のステップ(b))、同様に個別シミュレータ3側でもユーザオブジェクトの移動を予測してオブジェクトの挙動をシミュレートしており(図8のステップ(c))、次の同期が行われた際には、それぞれ受信したオブジェクトの情報やユーザオブジェクトの情報に基づいて予測の結果を補正していく(図8のステップ(d))。これにより、同期を毎ステップごとに行う必要がなくなり、通信負担を軽減できる。   According to this example, the user terminal 1 and the individual simulator 3 selected by the intercommunication control device 2 are synchronized with time (step (a) in FIG. 8), and the user terminal 1 side performs the last synchronization. The display is performed while predicting the movement of the object acquired in step (step (b) in FIG. 8), and similarly the movement of the user object is predicted on the individual simulator 3 side to simulate the behavior of the object ( Step (c) in FIG. 8) When the next synchronization is performed, the prediction result is corrected based on the received object information and user object information (step (d) in FIG. 8). ). As a result, it is not necessary to perform synchronization for each step, and the communication burden can be reduced.

なお、ここまでの説明において、オブジェクトの情報(ユーザオブジェクトの情報を含む)は、相互通信制御装置2を介して送受しているものとしていたが、当該オブジェクトの情報は、ユーザ端末1と、個別シミュレータ3との間で直接的に授受しても構わない。   In the description so far, object information (including user object information) is transmitted and received via the mutual communication control device 2, but the object information is separately transmitted from the user terminal 1. You may send and receive directly with the simulator 3.

次に、本発明の第2の実施の形態に係るシミュレーションシステムについて説明する。この第2の実施の形態に係るシミュレーションシステムは、図9に示すように、ユーザ端末1と、複数の個別シミュレータ3とを含んで構成される。これらは相互にネットワークを介して接続されている。   Next, a simulation system according to the second embodiment of the present invention will be described. As shown in FIG. 9, the simulation system according to the second embodiment includes a user terminal 1 and a plurality of individual simulators 3. These are connected to each other via a network.

この実施の形態では、ユーザ端末1は図7に示したものと同様に、機能的にはユーザオブジェクト管理部41と、ユーザ視野表示部42′と、同期部43と、シミュレート結果予測部44とを備えてなる。   In this embodiment, the user terminal 1 is functionally similar to the one shown in FIG. 7 in terms of functionality, the user object management unit 41, the user visual field display unit 42 ', the synchronization unit 43, and the simulation result prediction unit 44. And comprising.

この例では同期部43は、予め定めたタイミング決定ルールに基づいて同期タイミングを定め、当該同期タイミングにおいて、ユーザの視野範囲を画定する情報とともに当該視野範囲に含まれるオブジェクトの情報を要求する指示を各個別シミュレータ3へ送信し、各個別シミュレータ3から当該視野範囲に含まれる他のオブジェクトの情報を受信してメモリに格納する。   In this example, the synchronization unit 43 determines the synchronization timing based on a predetermined timing determination rule, and at the synchronization timing, issues an instruction to request information on the object included in the field of view range together with information that defines the user's field of view range. The information is transmitted to each individual simulator 3, and information on other objects included in the visual field range is received from each individual simulator 3 and stored in the memory.

また、シミュレート結果予測部44は、シミュレーションの1ステップに係る時間ごとに、同期部43によってメモリに格納されたオブジェクトの情報を利用して、各オブジェクトの挙動(シミュレーション結果)を予測して、メモリに格納されているオブジェクトの予測情報を更新する。   In addition, the simulation result prediction unit 44 predicts the behavior (simulation result) of each object by using the object information stored in the memory by the synchronization unit 43 for each time related to one step of the simulation. Update prediction information for objects stored in memory.

ここではシミュレート結果予測部44は例えば、カルマンフィルタ等を用いて、同期部43が取得した実際のシミュレート結果によって予測値を補正しながら、オブジェクトの位置等の情報の予測を行う。   Here, the simulation result prediction unit 44 uses, for example, a Kalman filter or the like to predict information such as the position of the object while correcting the prediction value based on the actual simulation result acquired by the synchronization unit 43.

このようにユーザ端末1が他のオブジェクトの位置を予測して表示することで、他のオブジェクトの位置の情報を常時取得する必要がなくなり、通信負担を軽減できる。   As described above, the user terminal 1 predicts and displays the position of the other object, so that it is not necessary to constantly acquire the position information of the other object, and the communication burden can be reduced.

またユーザオブジェクトの情報を利用する個別シミュレータ3は、ユーザオブジェクトの位置の情報を提供するようユーザ端末1に通知しておく。そしてユーザ端末1は、当該通知の元となった個別シミュレータ3に対して直接、ユーザオブジェクトの情報を送出する。   In addition, the individual simulator 3 that uses the user object information notifies the user terminal 1 to provide information on the position of the user object. Then, the user terminal 1 directly sends user object information to the individual simulator 3 that is the source of the notification.

なお、この場合も、シミュレーションの1ステップごとにユーザオブジェクトの情報を送出するのではなく、予め定めたタイミング決定ルールに基づいて定められる同期タイミングにおいてのみ、ユーザオブジェクトの情報を送出するようにしてもよい。この場合、個別シミュレータ3は、同期タイミングにて受信したユーザオブジェクトの情報を記憶部32に格納し、同期タイミング外のステップにおいては、ユーザオブジェクトの移動位置等を記憶している情報を元に予測し、当該予測の結果に基づいてオブジェクトの挙動をシミュレートする。この際のユーザオブジェクトの移動位置の予測もまた、例えばカルマンフィルタ等を用いて行うことができる。   In this case as well, the user object information is sent only at the synchronization timing determined based on a predetermined timing determination rule, instead of sending the user object information for each step of the simulation. Good. In this case, the individual simulator 3 stores the information of the user object received at the synchronization timing in the storage unit 32, and predicts based on the information stored in the movement position of the user object at a step outside the synchronization timing. Then, the behavior of the object is simulated based on the result of the prediction. The movement position of the user object at this time can also be predicted using, for example, a Kalman filter.

なお、これらの例において同期タイミングを定めるタイミング決定ルールは、例えば、最後に同期してからの経過時間や、ユーザオブジェクトの移動速度、他のオブジェクトの移動速度等に応じて定めることができる。例えば最後に同期してからの経過時間が一定の時間に達するごとに同期タイミングを定めてもよい(この場合は一定の間隔で同期が行われる)し、ユーザオブジェクトの移動速度や他のオブジェクトの移動速度が高速になればなるほど短く設定される時間しきい値を演算し、最後に同期してからの経過時間が演算した時間しきい値を越えるときに同期タイミングを定めてもよい。   In these examples, the timing determination rule for determining the synchronization timing can be determined according to, for example, the elapsed time since the last synchronization, the moving speed of the user object, the moving speed of other objects, and the like. For example, the synchronization timing may be determined every time when the elapsed time since the last synchronization reaches a certain time (in this case, synchronization is performed at a certain interval), the movement speed of the user object and the other objects A time threshold that is set shorter as the moving speed becomes faster may be calculated, and the synchronization timing may be determined when the elapsed time from the last synchronization exceeds the calculated time threshold.

さらに同期タイミングにおいては、すべての個別シミュレータ3との間で同期を行う必要は必ずしもない。例えばユーザ端末1は、ユーザオブジェクトの視野範囲の情報を用いて、各個別シミュレータ3に対して、当該視野範囲内に存在するオブジェクトがあるか否かを問い合わせる。   Furthermore, it is not always necessary to synchronize with all the individual simulators 3 at the synchronization timing. For example, the user terminal 1 inquires of each individual simulator 3 whether there is an object existing in the visual field range, using the information on the visual field range of the user object.

各個別シミュレータ3は、指定された視野範囲内に存在するオブジェクトがあるか否かをそれぞれ判断し、視野範囲内に存在するオブジェクトがある場合は、その旨をユーザ端末1に対して送出する。ユーザ端末1は、視野範囲内に存在するオブジェクトがある旨の回答を送出した個別シミュレータ3を特定する情報のリストを記憶する。この情報のリスト(以下、対象シミュレータリストと呼ぶ)は、所定のタイミングごとに、例えば定期的に更新する。   Each individual simulator 3 determines whether or not there is an object that exists within the designated visual field range, and if there is an object that exists within the visual field range, sends it to the user terminal 1. The user terminal 1 stores a list of information that identifies the individual simulator 3 that has sent an answer that there is an object that exists within the visual field range. This list of information (hereinafter referred to as a target simulator list) is updated periodically, for example, at predetermined timings.

ユーザ端末1は、当初(初期化時)には、記憶しているリストの情報で特定されるすべての個別シミュレータ3に対して視野範囲内に存在するオブジェクトの情報を要求する。そして、各個別シミュレータ3はユーザオブジェクトの視野範囲内にあるオブジェクトのリストを生成して、ユーザ端末1へ送信する。   Initially (at initialization), the user terminal 1 requests information on objects existing in the visual field range from all the individual simulators 3 specified by the stored list information. Each individual simulator 3 generates a list of objects within the visual field range of the user object and transmits the list to the user terminal 1.

また、ユーザ端末1は、対象シミュレータリストに新規に追加される個別シミュレータ3があれば、当該新規に追加された個別シミュレータ3に対しては、ユーザオブジェクトの視野範囲内に存在するオブジェクトの情報を要求する(上述の検索処理)。そして、各個別シミュレータ3はユーザオブジェクトの視野範囲内にあるオブジェクトのリストを生成して、ユーザ端末1へ送信する。   In addition, if there is an individual simulator 3 that is newly added to the target simulator list, the user terminal 1 sends information on an object that exists within the visual field range of the user object to the newly added individual simulator 3. Request (search process described above). Each individual simulator 3 generates a list of objects within the visual field range of the user object and transmits the list to the user terminal 1.

ユーザ端末1では、これらのように個別シミュレータ3からオブジェクトの情報を受信すると、図示しない時計部からデータを取得した時点を表すタイムスタンプ情報を取得し、各個別シミュレータ3から受信したデータ量と当該タイムスタンプ情報とを、各個別シミュレータ3を特定する情報に関連づけて、受信データ量データベースとして記憶しておく。   When the user terminal 1 receives the object information from the individual simulator 3 as described above, the user terminal 1 acquires time stamp information indicating the time when the data is acquired from a clock unit (not shown), and the data amount received from each individual simulator 3 The time stamp information is stored as a received data amount database in association with information specifying each individual simulator 3.

ユーザ端末1は、同期タイミングが到来したと判断した時点から、個別シミュレータ3がシミュレートを行って次のステップにおけるオブジェクトの位置の演算を完了するまでの時間(余裕時間)を調べる。そして当該余裕時間内に取得可能なデータ量を取得可能データ量として演算する。   The user terminal 1 examines the time (margin time) from the time when it is determined that the synchronization timing has arrived until the individual simulator 3 performs the simulation and completes the calculation of the object position in the next step. Then, the amount of data that can be acquired within the margin time is calculated as the amount of data that can be acquired.

ユーザ端末1は、記憶している受信データ量データベースを参照し、当該演算した取得可能データ量以下のデータ量に関連づけられ、かつ、対象シミュレータリストに含まれる個別シミュレータ3を特定する情報を予備的に選択する。   The user terminal 1 refers to the stored received data amount database, and preliminarily stores information specifying the individual simulator 3 associated with the calculated data amount equal to or less than the acquirable data amount and included in the target simulator list. Select

そして予備的に選択した個別シミュレータ3を特定する情報のうち、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報を一つ選択する。なお、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報が複数あれば、ランダムにそのうちの一つを選択してもよい。   Then, one piece of information for specifying the individual simulator 3 associated with the oldest time stamp information is selected from the information for specifying the preliminary selected individual simulator 3. If there is a plurality of pieces of information specifying the individual simulator 3 associated with the oldest time stamp information, one of them may be selected at random.

ユーザ端末1は、最終的に選択した情報で特定される個別シミュレータ3に対して、ユーザオブジェクトの視野範囲内に存在するオブジェクトの情報を要求する。そして、当該個別シミュレータ3が送出するオブジェクトのリストを取得する。そして図示しない時計部からデータを取得した時点を表すタイムスタンプ情報を取得し、上記最終的に選択した個別シミュレータ3から受信したデータ量と当該タイムスタンプ情報とを、個別シミュレータ3を特定する情報に関連づけて格納し、受信データ量データベースの内容を更新する。   The user terminal 1 requests information on an object existing in the visual field range of the user object from the individual simulator 3 specified by the finally selected information. Then, a list of objects sent out by the individual simulator 3 is acquired. Then, time stamp information indicating the time when data is acquired from a clock unit (not shown) is acquired, and the data amount received from the finally selected individual simulator 3 and the time stamp information are used as information for specifying the individual simulator 3. Store the data in association and update the contents of the received data volume database.

また、ユーザ端末1は、少なくとも一つの個別シミュレータ3からオブジェクトのシミュレート結果に係る情報を受信するごとに、同期タイミングが到来したと判断して、当該受信した情報の送信元である個別シミュレータ3に対して、ユーザオブジェクトの情報を送出する。   Each time the user terminal 1 receives information related to the simulation result of an object from at least one individual simulator 3, the user terminal 1 determines that the synchronization timing has arrived, and the individual simulator 3 that is the transmission source of the received information In response, the user object information is transmitted.

なお、個別シミュレータ3は、相互通信制御装置2に対してオブジェクトのリストを送出するときに、個別シミュレータ3内で予測しているユーザオブジェクトの位置などの情報を併せて送出してもよい。ユーザ端末1では、この予測されている情報と、現実にユーザの操作によって変化したユーザオブジェクトの情報とを比較して、例えば予測された位置と現実の位置とが予め定めたしきい値以上に離れている場合に、ユーザオブジェクトの情報を、個別シミュレータ3へ送出するようにしてもよい。   The individual simulator 3 may also send information such as the position of the user object predicted in the individual simulator 3 when sending the object list to the mutual communication control device 2. In the user terminal 1, the predicted information is compared with the information of the user object that has actually changed by the user's operation. For example, the predicted position and the actual position are equal to or greater than a predetermined threshold value. When the user is away, the user object information may be transmitted to the individual simulator 3.

ユーザオブジェクトの情報を受信した個別シミュレータ3は、当該ユーザオブジェクトの情報を記憶部32に格納して、以降のシミュレーションに利用する。   The individual simulator 3 that has received the user object information stores the user object information in the storage unit 32 and uses it for the subsequent simulations.

この例によると、第1の実施の形態におけるのと同様に、ユーザ端末1と、当該ユーザ端末1が選択した個別シミュレータ3とが時間をおいて同期しており(図8のステップ(a))、ユーザ端末1側では、最後の同期で取得したオブジェクトの移動を予測しつつ表示を行っており(図8のステップ(b))、同様に個別シミュレータ3側でもユーザオブジェクトの移動を予測してオブジェクトの挙動をシミュレートしており(図8のステップ(c))、次の同期が行われた際には、それぞれ受信したオブジェクトの情報やユーザオブジェクトの情報に基づいて予測の結果を補正していく(図8のステップ(d))。これにより、同期を毎ステップごとに行う必要がなくなり、通信負担を軽減できる。   According to this example, as in the first embodiment, the user terminal 1 and the individual simulator 3 selected by the user terminal 1 are synchronized over time (step (a) in FIG. 8). On the user terminal 1 side, display is performed while predicting the movement of the object acquired in the last synchronization (step (b) in FIG. 8). Similarly, the movement of the user object is also predicted on the individual simulator 3 side. The behavior of the object is simulated (step (c) in FIG. 8), and when the next synchronization is performed, the prediction result is corrected based on the received object information and user object information. (Step (d) in FIG. 8). As a result, it is not necessary to perform synchronization for each step, and the communication burden can be reduced.

さらに、ここまでの説明においては、ユーザ端末1と、相互通信制御装置2と、個別シミュレータ3とをそれぞれ別体のコンピュータ装置によって実現し、相互にネットワークを介して接続する例について述べたが、本発明の実施形態は、これらに限られるものではない。例えば、ユーザ端末1と、相互通信制御装置2と、個別シミュレータ3とを一体のコンピュータ装置で構成しても構わない。また、別の例では、相互通信制御装置2と個別シミュレータ3とを一体のコンピュータ装置で構成し、ユーザ端末1との間で通信可能に接続してもよい。このとき、制御部21と制御部31、記憶部22と記憶部32、通信部23と通信部33とは、コンピュータ装置内で共通のものであってもよいし、別のハードウエア(例えばマルチプロセッサの場合、制御部21と制御部31とは各個別のプロセッサとすることができる)であってもよい。なお、ユーザ端末1と、相互通信制御装置2と、個別シミュレータ3とを一体のコンピュータ装置で構成した場合、プロセッサを、ユーザ端末1と、相互通信制御装置2と、個別シミュレータ3とのそれぞれとして機能させるプログラムが、コンピュータ可読な記憶媒体としての記憶部22または記憶部32に格納される。同様に、相互通信制御装置2と、個別シミュレータ3とを一体のコンピュータ装置で構成した場合、プロセッサを、相互通信制御装置2と、個別シミュレータ3とのそれぞれとして機能させるプログラムが、コンピュータ可読な記憶媒体としての記憶部22または記憶部32に格納されることとなる。   Further, in the description so far, the example in which the user terminal 1, the mutual communication control device 2, and the individual simulator 3 are realized by separate computer devices and connected to each other via a network has been described. Embodiments of the present invention are not limited to these. For example, the user terminal 1, the intercommunication control device 2, and the individual simulator 3 may be configured as an integrated computer device. In another example, the mutual communication control device 2 and the individual simulator 3 may be configured as an integrated computer device and connected to the user terminal 1 so as to be communicable. At this time, the control unit 21 and the control unit 31, the storage unit 22 and the storage unit 32, the communication unit 23 and the communication unit 33 may be common in the computer apparatus, or other hardware (for example, a multi-processor). In the case of a processor, the control unit 21 and the control unit 31 may be individual processors). When the user terminal 1, the mutual communication control device 2, and the individual simulator 3 are configured as an integrated computer device, the processor is defined as each of the user terminal 1, the mutual communication control device 2, and the individual simulator 3. A program to be functioned is stored in the storage unit 22 or the storage unit 32 as a computer-readable storage medium. Similarly, when the mutual communication control device 2 and the individual simulator 3 are configured as an integrated computer device, a program that causes the processor to function as each of the mutual communication control device 2 and the individual simulator 3 is stored in a computer-readable storage. It is stored in the storage unit 22 or the storage unit 32 as a medium.

これらの場合、相互通信制御装置2や個別シミュレータ3を実現するコンピュータ装置は、相互通信制御装置2としてのプロセスや、個別シミュレータ3としての複数のプロセスを並列的に動作させる。また、ユーザ端末1も一体の装置で実現する場合は、ユーザ端末1としてのプロセスも並列的に動作させる。この並列動作については、種々の方法を採用できるが、複数のプロセッサ(プログラム制御デバイス)を備えたコンピュータ装置であれば、クラスタシステムやグリッド、各プロセッサ間を仮想的なネットワークで接続した態様など、種々の構成で実現できる。   In these cases, the computer device that realizes the mutual communication control device 2 and the individual simulator 3 operates the process as the mutual communication control device 2 and a plurality of processes as the individual simulator 3 in parallel. When the user terminal 1 is also realized by an integrated device, the process as the user terminal 1 is also operated in parallel. For this parallel operation, various methods can be adopted. However, if the computer device includes a plurality of processors (program control devices), a cluster system, a grid, a mode in which each processor is connected by a virtual network, etc. It can be realized with various configurations.

これらのように、ユーザ端末1と、相互通信制御装置2と、個別シミュレータ3とを一体のコンピュータ装置で実現する場合も、相互通信制御装置2と個別シミュレータ3とを一体のコンピュータ装置で実現し、ユーザ端末1との間で通信可能に接続する場合も、各個別シミュレータ3としての動作のうちで、通知対象となるオブジェクトがあるか否かを調べ、通知対象となるオブジェクトがあれば、相互通信制御装置2のプロセスへ、当該オブジェクトの情報を出力する。相互通信制御装置2としてのプロセスでは、当該オブジェクトの情報の入力を受けて、各オブジェクトの情報を出力した個別シミュレータ3を特定する情報(プログラムの実行プロセスIDなど)に関連づけて、各オブジェクトの情報を記録し、当該記録した情報と、依存関係データベースとを参照して、実行するべき処理があるか否かを調べ、実行するべき処理があれば、当該処理を実行してその結果を、当該処理に関連づけて依存関係データベースに記録されている個別シミュレータ3としてのプロセスに出力する。   As described above, when the user terminal 1, the mutual communication control device 2, and the individual simulator 3 are realized by an integrated computer device, the mutual communication control device 2 and the individual simulator 3 are realized by an integrated computer device. Also, when connecting to the user terminal 1 so as to be communicable, it is checked whether or not there is an object to be notified among the operations as each individual simulator 3, and if there is an object to be notified, The object information is output to the process of the communication control device 2. In the process as the mutual communication control device 2, information on each object is received in association with information (such as a program execution process ID) specifying the individual simulator 3 that has received the information on the object and has output the information on each object. And refer to the recorded information and dependency database to determine whether there is a process to be executed. If there is a process to be executed, execute the process and obtain the result. The information is output to the process as the individual simulator 3 recorded in the dependency database in association with the processing.

また、これらの場合であっても、相互通信制御装置2が管理する複数の個別シミュレータ3の一部は、ネットワークを介して他のコンピュータ装置において実行されていてもよい。この場合、相互通信制御装置2として機能させるプログラムに、他のコンピュータ装置からオブジェクトに係る情報を受信して保持し、依存関係の判断に供するプログラムモジュールと、依存関係に関わる処理の結果を、他のコンピュータ装置へ送出する処理に係るプログラムモジュールとを含む。   Even in these cases, some of the plurality of individual simulators 3 managed by the mutual communication control device 2 may be executed in another computer device via a network. In this case, the program that functions as the intercommunication control device 2 receives the information related to the object from another computer device, holds the program module that is used for determination of the dependency relationship, and the result of the processing related to the dependency relationship. Program modules related to processing to be sent to the computer apparatus.

本発明の第1の実施の形態に係るシミュレーションシステムの構成ブロック図である。1 is a configuration block diagram of a simulation system according to a first embodiment of the present invention. 本発明の第1の実施の形態に係る個別シミュレータの構成例を表すブロック図である。It is a block diagram showing the structural example of the separate simulator which concerns on the 1st Embodiment of this invention. 本発明の第1、第2の実施の形態に係る相互通信制御装置の構成例を表すブロック図である。It is a block diagram showing the structural example of the mutual communication control apparatus which concerns on the 1st, 2nd embodiment of this invention. 本発明の実施の形態に係る依存関係データベースの内容例を表す説明図である。It is explanatory drawing showing the example of the content of the dependence relationship database which concerns on embodiment of this invention. 本発明の実施の形態に係るシミュレーションシステムの一例に係る機能ブロック図である。It is a functional block diagram concerning an example of a simulation system concerning an embodiment of the invention. 本発明の実施の形態に係るシミュレーションシステムの動作例を表す流れ図である。It is a flowchart showing the operation example of the simulation system which concerns on embodiment of this invention. 本発明の実施の形態に係るシミュレーションシステムのユーザ端末の別の例に係る機能ブロック図である。It is a functional block diagram concerning another example of a user terminal of a simulation system concerning an embodiment of the invention. 本発明の実施の形態に係るシミュレーションシステムの別の動作例を表す説明図である。It is explanatory drawing showing another example of operation | movement of the simulation system which concerns on embodiment of this invention. 本発明の第2の実施の形態に係るシミュレーションシステムの構成ブロック図である。It is a block diagram of the configuration of a simulation system according to a second embodiment of the present invention.

符号の説明Explanation of symbols

1 ユーザ端末、2 相互通信制御装置、3 個別シミュレータ、21,31 制御部、22,32 記憶部、23,33 通信部、41 ユーザオブジェクト管理部、42 ユーザ視野表示部、51 相互通信制御部、52 検索処理部、53 依存関係判断部、54 衝突判定部、55 依存関係データベース、61 シミュレーションエンジン部、62 オブジェクトデータ記憶部、63 通知判定部。   DESCRIPTION OF SYMBOLS 1 User terminal, 2 Intercommunication control apparatus, 3 Individual simulator, 21,31 Control part, 22,32 Storage part, 23,33 Communication part, 41 User object management part, 42 User visual field display part, 51 Intercommunication control part, 52 a search processing unit, 53 a dependency determination unit, 54 a collision determination unit, 55 a dependency relationship database, 61 a simulation engine unit, 62 an object data storage unit, and 63 a notification determination unit.

Claims (6)

予め定められたシミュレート対象の挙動をシミュレートする複数の個別シミュレータと、
前記個別シミュレータの各々に接続された相互通信制御装置と、を含むシミュレータシステムであって、
前記個別シミュレータは、前記シミュレート対象のうち、予め定められた通知条件を満足するシミュレート対象を選択し、前記選択したシミュレート対象に関わる情報を前記相互通信制御装置に送信する選択通知手段を備え、
前記相互通信制御装置は、
少なくとも二つの個別シミュレータを特定する情報に関連づけて、当該情報で特定される個別シミュレータからシミュレート対象に係る情報を受信したときに実行するべき処理内容を規定する処理規定情報を保持する保持手段と、
前記少なくとも二つの個別シミュレータの各々から受信されるシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた、当該シミュレート対象の間の相互作用を考慮したシミュレートを行うべきか否かを判断する処理を実行し、当該実行の結果を前記少なくとも二つの個別シミュレータの各々に通知する相互処理実行手段と、を有する
ことを特徴とするシミュレータシステム。
A plurality of individual simulators for simulating the behavior of a predetermined simulation target;
An intercommunication control device connected to each of the individual simulators, and a simulator system comprising:
The individual simulator includes a selection notification unit that selects a simulation target satisfying a predetermined notification condition from among the simulation targets, and transmits information related to the selected simulation target to the mutual communication control device. Prepared,
The intercommunication control device is:
A holding means for holding processing specification information that specifies processing contents to be executed when information related to a simulation target is received from an individual simulator specified by the information in association with information specifying at least two individual simulators When,
Whether simulation should be performed in consideration of the interaction between the simulation targets defined in the processing specification information based on the information about the simulation targets received from each of the at least two individual simulators And a mutual processing execution means for executing a process for determining whether or not to notify each of the at least two individual simulators of a result of the execution.
請求項1に記載のシミュレータシステムであって、
前記処理規定情報には、個別シミュレータを指定する情報と、当該情報で指定される個別シミュレータに対して設定するべき通知条件の情報とを含み、前記相互処理実行手段が、前記指定された個別シミュレータに対して通知条件を設定し、当該設定した通知条件に基づいて選択的に通知されたシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行することを特徴とするシミュレータシステム。
The simulator system according to claim 1,
The processing specification information includes information for specifying an individual simulator and information on notification conditions to be set for the individual simulator specified by the information, and the mutual processing execution unit is configured to specify the specified individual simulator. A notification condition is set, and based on the information related to the simulation target selectively notified based on the set notification condition, the process defined in the process specification information is executed. A simulator system.
予め定められたシミュレート対象の挙動をシミュレートする複数の個別シミュレータに接続される相互通信制御装置であって、
少なくとも二つの個別シミュレータを特定する情報に関連づけて、当該情報で特定される個別シミュレータからシミュレート対象に係る情報を受信したときに実行するべき処理内容を規定する処理規定情報を保持する保持手段と、
前記個別シミュレータから、予め定められた通知条件を満足するシミュレート対象に係る情報を受信すると、当該情報を記憶して、前記少なくとも二つの個別シミュレータの各々から受信されるシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた、当該シミュレート対象の間の相互作用を考慮したシミュレートを行うべきか否かを判断する処理を実行し、当該実行の結果を前記少なくとも二つの個別シミュレータの各々に通知する相互処理実行手段と、を有することを特徴とする相互通信制御装置。
An intercommunication control device connected to a plurality of individual simulators for simulating the behavior of a predetermined simulation target,
A holding means for holding processing specification information that specifies processing contents to be executed when information related to a simulation target is received from an individual simulator specified by the information in association with information specifying at least two individual simulators When,
When receiving information related to a simulation target satisfying a predetermined notification condition from the individual simulator, the information is stored, and information related to the simulation target received from each of the at least two individual simulators is stored. On the basis of the process definition information, the process for determining whether or not to perform the simulation in consideration of the interaction between the simulation targets is performed, and the result of the execution is determined as the at least two individual An intercommunication control unit for notifying each of the simulators.
請求項3に記載の相互通信制御装置であって、
前記処理規定情報には、個別シミュレータを指定する情報と、当該情報で指定される個別シミュレータに対して設定するべき通知条件の情報とを含み、前記相互処理実行手段が、前記指定された個別シミュレータに対して通知条件を設定し、当該設定した通知条件に基づいて選択的に通知されたシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行することを特徴とする相互通信制御装置。
The intercommunication control device according to claim 3,
The processing specification information includes information for specifying an individual simulator and information on notification conditions to be set for the individual simulator specified by the information, and the mutual processing execution unit is configured to specify the specified individual simulator. A notification condition is set, and based on the information related to the simulation target selectively notified based on the set notification condition, the process defined in the process specification information is executed. An intercommunication control device.
予め定められたシミュレート対象の挙動をシミュレートする複数の個別シミュレータに接続されるコンピュータに、
少なくとも二つの個別シミュレータを特定する情報に関連づけて、当該情報で特定される個別シミュレータからシミュレート対象に係る情報の入力を受けたときに実行するべき処理内容を規定する処理規定情報を保持する手順と、
前記少なくとも二つの個別シミュレータの各々から入力されるシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた、当該シミュレート対象の間の相互作用を考慮したシミュレートを行うべきか否かを判断する処理を実行し、当該実行の結果を前記少なくとも二つの個別シミュレータの各々に通知する手順と、
行させることを特徴とするプログラム。
To a computer connected to a plurality of individual simulators that simulate the behavior of a predetermined simulation target,
In association with information that specifies at least two individual simulators, process definition information that specifies the processing contents to be executed when receiving information related to the simulation target from the individual simulator specified by the information is held. Procedure and
Whether simulation should be performed in consideration of the interaction between the simulation targets defined in the processing specification information based on information about the simulation targets input from each of the at least two individual simulators and executes a process to determine whether a procedure for notifying the result of the execution to each of the at least two individual simulators, the
Program for causing runs.
予め定められたシミュレート対象の挙動をシミュレートする複数の個別シミュレータに接続されるコンピュータにより実行されるプログラムであって、
少なくとも二つの個別シミュレータを特定する情報に関連づけて、当該情報で特定される個別シミュレータからシミュレート対象に係る情報の入力を受けたときに実行するべき処理内容を規定する処理規定情報を保持するモジュールと、
前記少なくとも二つの個別シミュレータの各々から入力されるシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた、当該シミュレート対象の間の相互作用を考慮したシミュレートを行うべきか否かを判断する処理を実行し、当該実行の結果を前記少なくとも二つの個別シミュレータの各々に通知するモジュールと、を
含むプログラムを格納したことを特徴とするコンピュータ可読な記憶媒体。
A program executed by a computer connected to a plurality of individual simulators for simulating a behavior of a predetermined simulation target,
In association with information that specifies at least two individual simulators, process definition information that specifies the processing contents to be executed when receiving information related to the simulation target from the individual simulator specified by the information is held. Module,
Whether simulation should be performed in consideration of the interaction between the simulation targets defined in the processing specification information based on information about the simulation targets input from each of the at least two individual simulators A computer-readable storage medium characterized by storing a program including: a module that executes a process for determining whether or not and notifies each of the at least two individual simulators of the result of the execution.
JP2006007963A 2006-01-16 2006-01-16 Simulator system Active JP5132058B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006007963A JP5132058B2 (en) 2006-01-16 2006-01-16 Simulator system
US11/651,412 US8423333B2 (en) 2006-01-16 2007-01-09 System for managing objects of virtual space

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006007963A JP5132058B2 (en) 2006-01-16 2006-01-16 Simulator system

Publications (2)

Publication Number Publication Date
JP2007188023A JP2007188023A (en) 2007-07-26
JP5132058B2 true JP5132058B2 (en) 2013-01-30

Family

ID=38343212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006007963A Active JP5132058B2 (en) 2006-01-16 2006-01-16 Simulator system

Country Status (1)

Country Link
JP (1) JP5132058B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6425005B2 (en) * 2014-04-18 2018-11-21 日本電気株式会社 Simulation system, its construction method, and its attribute update management method
JP7121923B2 (en) * 2018-07-30 2022-08-19 日本電気株式会社 Data management device, data management method and program, and simulation system
JP7491268B2 (en) 2021-06-08 2024-05-28 トヨタ自動車株式会社 Multi-agent Simulation System

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW575447B (en) * 2000-02-02 2004-02-11 Nextech Corp Network system processing method and network system
JP2003181146A (en) * 2001-12-14 2003-07-02 Square Co Ltd Network game system, game server system, client system, network game processing method, program, and recording medium
JP3968758B2 (en) * 2005-09-08 2007-08-29 株式会社光栄 Network game system, client device, server device, character management program, and storage medium storing character management program

Also Published As

Publication number Publication date
JP2007188023A (en) 2007-07-26

Similar Documents

Publication Publication Date Title
JP7014368B2 (en) Programs, methods, devices, and computer-readable storage media
JP7003355B2 (en) Autonomous navigation with a spiking neuromorphic computer
Bujari et al. FANET application scenarios and mobility models
CN109974737B (en) Route planning method and system based on combination of safety evacuation signs and reinforcement learning
CN108983633A (en) Simulation system, the method and apparatus of more objects in a kind of virtual environment
Vuilleumier et al. Animal dispersal modelling: handling landscape features and related animal choices
Holko et al. Epidemiological modeling with a population density map-based cellular automata simulation system
CN104317297A (en) Robot obstacle avoidance method under unknown environment
KR20220116038A (en) Multi-vehicle cooperative trajectory planning method, apparatus, system, apparatus, storage medium and computer program product
US20070168168A1 (en) System for managing objects of virtual space
JP5132058B2 (en) Simulator system
JPWO2011001512A1 (en) Simulation apparatus, method, and program
WO2023142609A1 (en) Object processing method and apparatus in virtual scene, device, storage medium and program product
CN112090078A (en) Game character movement control method, device, equipment and medium
CN107748502B (en) Passive space perception interaction method of entity in combat simulation based on discrete event
Anderson et al. Agent-based simulation of Muscovy duck movements using observed habitat transition and distance frequencies
JP4139409B2 (en) Simulator system
Xu et al. A multi-robot pattern formation algorithm based on distributed swarm intelligence
CN109752952A (en) Method and device for acquiring multi-dimensional random distribution and strengthening controller
Steel et al. Context-aware virtual agents in open environments
JP2017208757A (en) Device and method for traffic prediction
Jackson et al. Coupled computational simulation and empirical research into the foraging system of Pharaoh’s ant (Monomorium pharaonis)
US20100010789A1 (en) Methods, systems, and computer program products for simulating a scenario by updating events over a time window including the past, present, and future
CN113378306B (en) Traffic control method, traffic control device, electronic equipment and computer-readable storage medium
JP7494802B2 (en) Multi-agent simulation system and multi-agent simulation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081112

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101124

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20101203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120111

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: 20121009

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5132058

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250