JP5132058B2 - Simulator system - Google Patents
Simulator system Download PDFInfo
- 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.)
- Expired - Fee Related
Links
- 238000004088 simulation Methods 0.000 claims description 102
- 238000000034 method Methods 0.000 claims description 64
- 230000008569 process Effects 0.000 claims description 59
- 230000003993 interaction Effects 0.000 claims description 14
- 241000251468 Actinopterygii Species 0.000 description 51
- 230000000007 visual effect Effects 0.000 description 37
- 230000006399 behavior Effects 0.000 description 28
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000001846 repelling effect Effects 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 244000144992 flock Species 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 244000144980 herd Species 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 244000062645 predators Species 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
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
以下では、説明のために、ユーザが仮想的な都市空間内を移動する例を想定し、ユーザオブジェクトと、ユーザ以外のオブジェクトとしての車オブジェクト、建物オブジェクト、池オブジェクト、道路オブジェクト、鳥オブジェクト、及び都市内の池などに生息する魚オブジェクトが都市空間内の予め定められた領域をそれぞれ移動しているものとする。例えばユーザオブジェクトは、人であり、仮想都市空間内の地上付近で、歩道、横断歩道、または都市内の公園の陸地部分などを移動可能であると規定されている。また車オブジェクトは、地上付近で車道を移動可能であると規定される。さらに、鳥オブジェクトは、仮想都市空間内で、池の深部などを除く、地面上方全体ないし、池の所定深さまでを移動可能であると規定される。魚オブジェクトは、池内部を移動可能と規定される。なお、建物や池、道路などのオブジェクトは移動しないオブジェクトとしてユーザ端末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
ユーザ端末1は、一般的なパーソナルコンピュータを用いて実現できる。このユーザ端末1では、後に述べるように、ユーザオブジェクトが管理される。
The
個別シミュレータ3は、それぞれ、特定の種類のオブジェクトを管理する。例えば、第1の個別シミュレータ3aは車オブジェクトの移動をシミュレートして管理し、第2の個別シミュレータ3bは、鳥オブジェクトの移動をシミュレートして管理し、第3の個別シミュレータ3cは、魚オブジェクトの移動をシミュレートして管理する。
Each
各個別シミュレータ3は、サーバコンピュータであり、図2に例示するように制御部31と、記憶部32と、通信部33とを含んで構成される。ここで制御部31は、CPU等のプログラム制御デバイスであり、記憶部32に格納されているプログラムに従って、担当する少なくとも一つのオブジェクトの移動をシミュレートする。また、制御部31は、シミュレート対象であるオブジェクトのうち、予め定めた条件(通知条件)を満足するオブジェクトの情報を選択的に、相互通信制御装置2に対して通知する。この処理については、後に詳しく述べる。
Each
さらにこの制御部31は、指定された領域内に含まれるオブジェクトのリストを送出する処理(オブジェクト検索処理)を行う。
Further, the
記憶部32は、メモリ素子などを含んで構成され、これら制御部31によって実行される各処理に関わるプログラムを格納している。また、この記憶部32は、各処理で用いるパラメータ情報等を格納している。さらに記憶部32は、制御部31のワークメモリとしても動作する。
The
通信部33は、ネットワークインタフェース等であり、制御部31から入力される指示に従い、指定された送信先に対し指定された情報を、ネットワークを介して送出する。また、この通信部33は、ネットワークを介して受信される情報を、制御部31に出力する。
The
相互通信制御装置2は、サーバーコンピュータ等で実現でき、図3に示すように制御部21と、記憶部22と、通信部23とを含んで構成される。ここで制御部21は、CPU等であり、記憶部22に格納されているプログラムに従って処理を行う。
The mutual
記憶部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
ユーザオブジェクト管理部41は、ユーザによるユーザオブジェクトの移動操作を受けて、ユーザオブジェクトの仮想空間内の位置を更新する。ここでユーザ端末1は、ユーザによる移動操作のときに、移動可能であると予め定められた領域の外へユーザオブジェクトが移動しないよう、ユーザの操作を制限する。例えば、歩道から車道へ移動する指示操作が行われた場合、当該車道部分が横断歩道であるか否かを判断し、横断歩道でなければ、無視して移動を行わない。
The user
ユーザ視野表示部42は、ユーザの視野範囲に係る情報を相互通信制御装置2に送信し、相互通信制御装置2から当該視野範囲に含まれる他のオブジェクトの情報を受信し、ディスプレイ等に表示する。
The user visual
相互通信制御部51は、個別シミュレータ3からオブジェクトの情報の通知を受けると、当該通知されたオブジェクトの情報と、オブジェクト種別(あるいは通知元の個別シミュレータ3を特定する情報)とを関連づけて、通知データベースとして記憶部22に格納する。
When receiving the notification of the object information from the
検索処理部52は、ユーザ端末1から受信される指示に従い、ユーザの視野範囲に属するオブジェクトの情報を、各個別シミュレータにオブジェクト検索処理を行わせて取得し、当該取得したオブジェクトの情報をユーザ端末1に送出する。
In accordance with an instruction received from the
依存関係判断部53は、記憶部22に格納された通知データベースと依存関係データベース55とを参照し、実行するべき処理が依存関係データベース55に定められている場合は、当該定められた処理(例えば衝突判定処理)の実行を開始する旨の指示を出力する。
The dependency
衝突判定部54は、依存関係判断部53が衝突判定処理の実行を開始する旨の指示を出力したときに、記憶部22に格納された通知データベースを参照して、種別の異なるオブジェクト間で相互作用を考慮したシミュレートを行うべきか否かを判断し、相互作用を考慮したシミュレートを行うべきと判断したときに、当該相互作用に係るオブジェクトをそれぞれ管理する個別シミュレータ3に対して、相互作用の相手となるオブジェクトに関する情報を出力して、相互作用に係る処理を実行するよう要求する。
The
本実施の形態では、これら依存関係判断部53と衝突判定部54とにより、本発明の相互処理実行手段が実現される。
In the present embodiment, the
依存関係データベース55は、保持手段としての記憶部22に格納されており、図4に示すように、少なくとも一つのオブジェクト種別(または当該少なくとも一つの種別のオブジェクトをそれぞれ管理する個別シミュレータ3を特定する情報)R1,R2…と、実行するべき処理の内容を特定する情報Pとを関連づけたものである。
The
各個別シミュレータ3におけるシミュレーションエンジン部61は、シミュレート対象であるオブジェクトの挙動(移動など)をそれぞれシミュレートする。ここでは、シミュレーションエンジン部61は、シミュレートの対象となるオブジェクトの各々にオブジェクト識別子を付し、それぞれの所定時間(1ステップ)後の移動位置を、シミュレートして演算し、当該移動位置などシミュレートに関わる情報を各オブジェクトの識別子に関連づけて、オブジェクトデータベースに格納する。
The
例えば、鳥オブジェクトや魚オブジェクトの移動は、群れの挙動をシミュレートする処理によって行われる。具体的な例としては、集まりやすさや、離れやすさ、集中対象の位置、忌避対象の位置等のシミュレートパラメータ情報に基づいてシミュレートを行う。ここで集中対象とは、より近くに寄ろうとする対象(オブジェクト)であり、例えば鳥であれば捕食対象としての魚が集中対象の一例となる。また、忌避対象とは、より離れようとする対象(オブジェクト)であれば、例えば魚であれば、捕食者である鳥が忌避対象の一例となる。このような群れの挙動をシミュレートする処理では、これらのシミュレートパラメータ情報を利用して、群れに属する各個体(個々のオブジェクト)の次のステップでの移動位置を演算する。 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
さらにシミュレーションエンジン部61は、相互作用に係る処理を実行するべき旨の指示を、衝突判定部54から受けると、当該指示とともに受信されるオブジェクトの情報を利用して、シミュレートの処理を続ける。
Further, when receiving an instruction from the
例えば魚オブジェクトにおいては、忌避対象である鳥オブジェクトの位置情報を、相互作用の相手となるオブジェクトに関する情報として受信し、当該位置情報を忌避対象の位置情報として設定してシミュレーションを続行すればよい。 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
通知判定部63は、本発明の選択通知手段に相当し、管理しているオブジェクトのうち、所与の通知条件を満足するものがあれば、当該通知条件を満足するオブジェクトの情報を相互通信制御部2に送信する処理(通知処理)を実行する。ここで通知条件は、パラメータ情報として記憶部33に格納しておく。この通知条件は例えば、仮想空間内におけるオブジェクトの所在領域に関わる条件とする。具体例として鳥オブジェクトにおいては、捕食対象のいる池の範囲であって、地上所定高さ未満の領域(捕食対象たる魚を捉えて捕食可能として設定される領域)に所在するオブジェクトを通知対象とするとの条件を定める。
The
次に、本実施の形態のシミュレーションシステムの動作例を説明する。以下の動作例では、車オブジェクトの挙動をシミュレートする個別シミュレータ3aと、鳥オブジェクトの挙動をシミュレートする個別シミュレータ3bと魚オブジェクトの挙動をシミュレートする個別シミュレータ3cとがネットワークを介して接続され、仮想都市空間内のオブジェクトを管理している場合を例として説明する。
Next, an operation example of the simulation system of the present embodiment will be described. In the following operation example, an
このとき、鳥と車、魚と車とは相互作用がないが、鳥と魚との間には、鳥が魚を捕食するという関係を仮想的に設定しておくとする。この捕食関係を設定するため、鳥が魚を捕食可能な領域に入ったこと、例えば、池の上空ないし池の内部であって、地上所定高さ未満の領域にある鳥オブジェクトを通知対象とする、との通知条件を定めて、個別シミュレータ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
また、魚オブジェクトに関しても、池の水面から、別途定められた深さ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
なお、車オブジェクトは、ユーザオブジェクトなどの人オブジェクトとの間で相互作用をすることがある(衝突など)が、ここでは人オブジェクトの移動可能範囲は、歩道または横断歩道のみと制限され、車オブジェクトの移動可能範囲は車道のみと制限されている。このため、人オブジェクトと車オブジェクトとの相互作用は、各種別のオブジェクトの移動可能範囲が交差する領域である、横断歩道のみとなる。そこで、車オブジェクトを管理する個別シミュレータ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
さらに、相互通信制御装置2の依存関係データベース55には、図4に例示したように、鳥オブジェクトを管理する個別シミュレータ3bを特定する情報と、魚オブジェクトを管理する個別シミュレータ3cを特定する情報とをキーとして、このキーに関連づけて、通知されている(通知データベースに格納された)魚オブジェクトの情報を個別シミュレータ3bに対して送出して、捕食するか否かを判断させる処理を行わせる旨の、処理規定情報としての依存関係エントリー(以下、区別のため捕食関係エントリーと呼ぶ)を設定しておく。
Further, in the
この動作例においては、図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
また、各個別シミュレータ3は、この移動の処理において、シミュレートの対象としているオブジェクト(一般に複数)のうち、設定された通知条件を満足するオブジェクトがあるか否かを判断する(S2a,S2b,S2c)。例えば鳥オブジェクトを管理する個別シミュレータ3bは、通知条件として設定された、池の上空ないし池の内部であって、地上所定高さ未満の領域に移動した鳥オブジェクト(通知対象)があるか否かを調べ、通知対象となる鳥オブジェクトがあれば、当該通知対象となった鳥オブジェクトの情報として、予め定められている情報、例えば通知対象となった鳥オブジェクトの位置の情報を相互通信制御装置2に送信して通知する(S3)。
Each
相互通信制御装置2の相互通信制御部51は、当該通知された情報を受信し、個別シミュレータ3bを特定する情報と、通知された情報とを関連づけた通知データベースを記憶部22に格納する。
The
そして相互通信制御装置2の依存関係判断部53が、記憶部22に格納された依存関係データベース55を参照し、依存関係データベース55において設定されている各依存関係エントリーのキーとなる情報に含まれるすべての個別シミュレータ3から通知がされているか否かを、通知データベースを参照して調べる。これにより、実行するべき処理が依存関係データベース55に定められているか否かを判断する(S4)。
Then, the dependency
この例の段階では、魚オブジェクトを管理する個別シミュレータ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
各個別シミュレータ3が、再び、次のステップでの移動の処理を行い(S5)、シミュレートの対象としているオブジェクト(一般に複数)のうち、設定された通知条件を満足するオブジェクトがあるか否かを判断する(S6)。ここで、個別シミュレータ3bが、通知対象となる鳥オブジェクトがあったとして、当該通知対象となった鳥オブジェクトの情報として例えば通知対象となった鳥オブジェクトの位置の情報を相互通信制御装置2に送信して再び通知する(S7)とする。
Each
また、魚オブジェクトを管理する個別シミュレータ3cが、池の水面から設定された深さDまでの範囲に移動した魚オブジェクトを見いだした場合、当該魚オブジェクトを通知対象とし、当該通知対象となった魚オブジェクトの情報として例えば通知対象となった魚オブジェクトを特定する情報(当該魚オブジェクトの識別子等)や、その位置の情報を相互通信制御装置2に送信し、通知をする(S8)。
In addition, when the
これらの通知を受けた相互通信制御装置2の相互通信制御部51は、当該通知された情報を受信し、個別シミュレータ3b、3cを特定する情報と、それぞれから通知された情報とを関連づけた通知データベースを記憶部22に格納する。
The
そして相互通信制御装置2の依存関係判断部53が、実行するべき処理が依存関係データベース55に定められているか否かを判断する(S9)。ここでは、通知データベースに個別シミュレータ3b、3cを特定する情報の双方が格納されているので、捕食関係エントリーのキーに含まれるすべての個別シミュレータ3を特定する情報が通知データベースに格納されていると判断され、衝突判定部54により当該キーに関連づけられた処理が実行される。既に述べたように、ここでの例では、通知データベースに格納された魚オブジェクトの情報を個別シミュレータ3bに対して送出して、捕食するか否かを判断させる処理を行わせることとなる(S10)。
Then, the dependency
個別シミュレータ3bのシミュレーションエンジン部61では、通知対象となった鳥が、ここで相互通信制御装置2から受信した魚オブジェクトを捕食する挙動を行うか否かを例えば乱数値や、所定のシミュレーション用のパラメータ(空腹パラメータなど)に応じて判断し(S11)、当該判断の結果を相互通信制御装置2に送出する(S12)。例えば、捕食したとする場合は、捕食した魚オブジェクトの識別子を相互通信制御装置2に送出し、捕食しなかったとする場合は、その旨を相互通信制御装置2に送出する。
In the
相互通信制御装置2の衝突判定部54は、そして依存関係に係る処理の結果を個別シミュレータ3へ報知する。ここでは、受信した判断結果の情報から捕食がされたか否かを調べ、捕食がされた場合には、捕食された魚オブジェクトの識別子を個別シミュレータ3cに送出して、当該識別子で識別される魚オブジェクトをオブジェクトデータベースから削除させる(S13)。また相互通信制御装置2は、捕食の結果、通知対象となっていた魚オブジェクトのうち、捕食されたとされる魚オブジェクトが消失した旨の情報を個別シミュレータ3bへ送信する(S14)。
The
以下、各個別シミュレータ3が、またそれぞれの管理するオブジェクトの挙動をシミュレートする処理から繰り返して実行する。
Thereafter, each
本実施の形態によると、鳥オブジェクトを管理する個別シミュレータ3bと、魚オブジェクトを管理する個別シミュレータ3cとは、それぞれの管理するオブジェクトが仮想空間内で相互作用を行い得る程度として予め定められた範囲に進入しない限り、他のオブジェクトに関わる情報を受信することがなく、従って相互作用のシミュレートの処理を実行する必要がない。これによりシミュレートの処理負担を軽減することができる。
According to the present embodiment, the
また、図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
なお、ここでは各オブジェクトの挙動についてのシミュレーションを進めるごとに毎回、通知データベースを削除し、新たに通知を受けて通知データベースを更新することとしたが、各個別シミュレータにおいて前回通知した通知対象と、今回通知するべき通知対象とに変化が生じたときに、当該変化(通知データベースに追加するべきオブジェクトの情報と、通知データベースから削除するべきオブジェクトの情報と)を相互通信制御装置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
また、ここではそれぞれの個別シミュレータ3に、予め通知条件が設定されている場合を例として述べたが、次に説明するように通知条件は事前に設定されていなくてもよい。
In addition, here, the case where the notification condition is set in advance in each
例えば上述の例において、魚オブジェクトを管理する個別シミュレータ3cには、通知対象を定める深さDの情報が事前に設定されているとしたが、この深さDの情報を当初、D=0、すなわち水面上にいる魚オブジェクトを通知対象とすることとしておくなど、一般的には通知が行われない条件としておき、相互通信制御装置2において、特定の個別シミュレータ3からの通知があったことを条件としてこの深さDの情報を、D=d(d>0)と個別シミュレータ3cに設定させて、深さdまでの魚オブジェクトを通知させるようにしてもよい。
For example, in the above-described example, the
すなわちこの場合は、鳥オブジェクトを管理する個別シミュレータ3bを特定する情報をキーとして、このキーに関連づけて魚オブジェクトを管理する個別シミュレータ3cに対し、深さDの情報をD=d(d>0)と設定させる処理を行わせる旨を設定した依存関係エントリー(以下、区別のため深度設定エントリーと呼ぶ)を、依存関係データベース55に格納しておく。
That is, in this case, the information for specifying the
こうすると、上記図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
この指示を受けて個別シミュレータ3cは、深さDの情報をdに設定し、池の水面から当該設定された深さD=dまでの範囲に存在する魚オブジェクトがあるか否かを調べる。ここでかかる魚オブジェクトがあれば、当該魚オブジェクトを通知対象とし、例えば当該通知対象となった魚オブジェクトを特定する情報(当該魚オブジェクトの識別子等)や、その位置の情報を相互通信制御装置2に送信し通知する。
In response to this instruction, the
相互通信制御装置2は当該通知された情報を受信して、個別シミュレータ3cを特定する情報と、通知された情報とを関連づけて通知データベースに追加して格納する。そして相互通信制御装置2の依存関係判断部53が、実行するべき処理が依存関係データベース55に定められているか否かを判断する。この段階では、通知データベースに個別シミュレータ3b、3cを特定する情報の双方が格納されているので、捕食関係エントリーに係る、図6の処理S10以下の処理が実行され、通知データベースに格納された魚オブジェクトの情報を個別シミュレータ3bに対して送出して、捕食するか否かを判断させる処理を行わせる。
The mutual
なお、ここまでは説明を簡易にするために、依存関係データベース55には、鳥と魚との間の捕食関係に係る依存関係エントリーが格納されている例を示したが、依存関係エントリーはこれだけに限られず、例えば、人オブジェクトと車オブジェクトとの依存関係として、衝突判断や、忌避行動(車オブジェクトは、人オブジェクトがいなくなるまで停止するなど)のパラメータ設定等を行わせてもよい。
In addition, in order to simplify explanation so far, the
さらに本実施の形態では、ユーザ端末1は所定のタイミングごとに、ユーザオブジェクトからの視野範囲に属するオブジェクトの情報を取得して表示する。すなわちユーザ端末1のユーザ視野表示部42が、ユーザの視野範囲に係る情報(ユーザの視野範囲を画定する仮想空間内の領域を表す情報)を相互通信制御装置2に送信する。
Further, in the present embodiment, the
相互通信制御装置2の検索処理部52は、このユーザ端末1から受信される情報で画定される視野範囲内のオブジェクトの情報を各個別シミュレータ3に送出して、各個別シミュレータ3に対してオブジェクト検索処理を行わせる。各個別シミュレータ3では、相互通信制御装置2から指定された領域内に含まれるオブジェクトのリストを送出する。このオブジェクトのリストは、オブジェクトの外観を定める情報やオブジェクトの位置に係る情報等を列挙したものである。
The
相互通信制御装置2は、各個別シミュレータ3から受信されるオブジェクトのリストをユーザ端末1に送出する。ユーザ端末1では、こうして相互通信制御装置2からユーザ視野範囲に含まれる他の(ユーザオブジェクト以外の)オブジェクトの情報を受信し、ディスプレイ等に表示する。
The mutual
なお、ユーザ端末1がシミュレーションの1ステップごとに各オブジェクトの位置の情報を取得して表示することとすると、オブジェクトの数が増大したときにその通信負担が大きくなってしまう。そこで、ユーザ端末1は、予め定めたタイミング決定ルールに基づいて定められる同期タイミングにおいてユーザオブジェクトからの視野範囲に属するオブジェクトの情報を取得することとしてもよい。この場合、ユーザ端末1は、当該同期タイミング以外の時点では、最後に受信したオブジェクトの情報に基づいて、表示の時点でのオブジェクトの位置などの挙動を予測して、その結果を表示する。
If the
つまりこの例では、ユーザ端末1は、図5に示した例に代えて図7に示すように、機能的にはユーザオブジェクト管理部41と、ユーザ視野表示部42′と、同期部43と、シミュレート結果予測部44とを備えてなる。
That is, in this example, the
ユーザ視野表示部42′は、ユーザの視野範囲に存在するオブジェクトのリストとして図示しないメモリに格納している、シミュレート結果の予測情報(オブジェクトの予測情報)に基づいて、当該視野範囲に含まれる他のオブジェクトの情報をディスプレイ等に表示する。
The user visual
同期部43は、予め定めたタイミング決定ルールに基づいて同期タイミングを定め、当該同期タイミングにおいて、ユーザの視野範囲を画定する情報とともに当該視野範囲に含まれるオブジェクトの情報を要求する指示を相互通信制御装置2に送信し、相互通信制御装置2から当該視野範囲に含まれる他のオブジェクトの情報を受信してメモリに格納する。
The
シミュレート結果予測部44は、シミュレーションの1ステップに係る時間ごとに、同期部43によってメモリに格納されたオブジェクトの情報を利用して、各オブジェクトの挙動(シミュレーション結果)を予測して、メモリに格納されているオブジェクトの予測情報を更新する。
The simulation
ここではシミュレート結果予測部44は例えば、カルマンフィルタ等を用いて、同期部43が取得した実際のシミュレート結果によって予測値を補正しながら、オブジェクトの位置等の情報の予測を行う。
Here, the simulation
このようにユーザ端末1が他のオブジェクトの位置を予測して表示することで、他のオブジェクトの位置の情報を常時取得する必要がなくなり、通信負担を軽減できる。
As described above, the
また、個別シミュレータ3によっては、ユーザオブジェクトの位置等の情報を利用して、担当しているオブジェクトの挙動をシミュレートするものもある。例えば、ユーザのペットなどのオブジェクトを担当する個別シミュレータ3があれば、ユーザオブジェクトの位置に応じて、当該ペットの位置をシミュレートする必要が生じる。
Some
そこで当該個別シミュレータ3は、ユーザオブジェクトの位置の情報を提供するようユーザ端末1に通知しておく。そしてユーザ端末1は、当該通知の元となった個別シミュレータ3に対して、ユーザオブジェクトの情報を送出する。この場合も、シミュレーションの1ステップごとにユーザオブジェクトの情報を送出するのではなく、予め定めたタイミング決定ルールに基づいて定められる同期タイミングにおいてのみ、ユーザオブジェクトの情報を送出するようにしてもよい。
Therefore, the
ユーザオブジェクトの情報を受信する個別シミュレータ3は、この場合、同期タイミングにて受信したユーザオブジェクトの情報を記憶部32に格納し、同期タイミング外のステップにおいては、ユーザオブジェクトの移動位置等を記憶している情報を元に予測し、当該予測の結果に基づいてオブジェクトの挙動をシミュレートする。この際のユーザオブジェクトの移動位置の予測もまた、例えばカルマンフィルタ等を用いて行うことができる。
In this case, the
なお、これらの例において同期タイミングを定めるタイミング決定ルールは、例えば、最後に同期してからの経過時間や、ユーザオブジェクトの移動速度、他のオブジェクトの移動速度等に応じて定めることができる。例えば最後に同期してからの経過時間が一定の時間に達するごとに同期タイミングを定めてもよい(この場合は一定の間隔で同期が行われる)し、ユーザオブジェクトの移動速度や他のオブジェクトの移動速度が高速になればなるほど短く設定される時間しきい値を演算し、最後に同期してからの経過時間が演算した時間しきい値を越えるときに同期タイミングを定めてもよい。 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
各個別シミュレータ3は、指定された視野範囲内に存在するオブジェクトがあるか否かをそれぞれ判断し、視野範囲内に存在するオブジェクトがある場合は、その旨を相互通信制御装置2に対して送出する。相互通信制御装置2は、視野範囲内に存在するオブジェクトがある旨の回答を送出した個別シミュレータ3を特定する情報のリストを記憶する。この情報のリスト(以下、対象シミュレータリストと呼ぶ)は、所定のタイミングごとに、例えば定期的に更新する。
Each
相互通信制御装置2は、当初(初期化時)には、記憶しているリストの情報で特定されるすべての個別シミュレータ3に対して視野範囲内に存在するオブジェクトの情報を要求する(上述の検索処理)。そして、各個別シミュレータ3が送出するオブジェクトのリストを取得して、ユーザ端末1へ送信する。
The
また、相互通信制御装置2は、対象シミュレータリストに新規に追加される個別シミュレータ3があれば、当該新規に追加された個別シミュレータ3に対しては、ユーザオブジェクトの視野範囲内に存在するオブジェクトの情報を要求する(上述の検索処理)。そして、個別シミュレータ3が送出するオブジェクトのリストを取得して、ユーザ端末1へ送信する。
In addition, if there is an
相互通信制御装置2は、これらのように個別シミュレータ3からオブジェクトの情報を受信すると、図示しない時計部からデータを取得した時点を表すタイムスタンプ情報を取得し、各個別シミュレータ3から受信したデータ量と当該タイムスタンプ情報とを、各個別シミュレータ3を特定する情報に関連づけて、受信データ量データベースとして記憶部22に格納しておく。
When the mutual
ユーザ端末1は、表示を更新する際に、相互通信制御装置2に対してその旨を表す信号(表示更新信号)を送出する。
When updating the display, the
相互通信制御装置2は、ユーザ端末1から表示更新信号を受信した時点で、個別シミュレータ3がシミュレートを行って次のステップにおけるオブジェクトの位置の演算を完了するまでの時間(余裕時間)を調べる。
When the
そして当該余裕時間内に取得可能なデータ量を取得可能データ量として演算する。相互通信制御装置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
そして予備的に選択した個別シミュレータ3を特定する情報のうち、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報を一つ選択する。なお、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報が複数あれば、ランダムにそのうちの一つを選択してもよい。
Then, one piece of information for specifying the
なお、相互通信制御装置2において、依存関係データベース55内の依存関係エントリーに登録された処理を行った場合、当該依存関係エントリーに複数の個別シミュレータ3を特定する情報(または複数の個別シミュレータ3に係るオブジェクトを特定する情報)が含まれていたときには、依存関係エントリーに登録された処理の結果を、当該複数の個別シミュレータ3に一斉に報知する必要が生じる。そうでないと、ユーザ端末1において表示するシミュレーションの結果に矛盾が生じる可能性がある場合があるからである。
When the mutual
そこでこうした場合、個別シミュレータ3の各々についてのデータ量だけでなく、一斉に同期する必要のある個別シミュレータ3の群について、当該群に属する個別シミュレータ3の各々に関連づけて、受信データ量データベースに登録されているデータ量の値を取得し、群に属する個別シミュレータ3の各々に関連して記録されているデータ量の値を合算して、群全体でのデータ量の値を演算し、群を特定する情報(例えば群に属する複数の個別シミュレータ3を特定する情報のリスト)に関連づけて、当該群について演算した群全体でのデータ量の値を受信データ量データベースに格納しておく。
Therefore, in such a case, not only the amount of data for each
相互通信制御装置2は、余裕時間内に取得可能なデータ量を取得可能データ量として演算し、記憶部22に格納した受信データ量データベースから、当該演算した取得可能データ量以下のデータ量に関連づけられ、かつ、対象シミュレータリストに含まれる個別シミュレータ3を特定する情報または群を特定する情報を予備的に選択する。
The mutual
以下、予備的に選択した個別シミュレータ3を特定する情報または群を特定する情報のうちから、一つを所定の条件に従って選択する。この選択の条件は、例えば群についてのタイムスタンプ情報を、当該群に属する個別シミュレータ3のそれぞれに関連づけられたタイムスタンプ情報のうち、最も古いものとしておき、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報または群を特定する情報を選択する条件であってもよいし、ランダムに一つを選択する条件であってもよい。
Hereinafter, one of the information for specifying the individually selected
これにより、群単位での同期も可能となり、ユーザ端末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
相互通信制御装置2は、最終的に選択した情報で特定される個別シミュレータ3に対して、ユーザオブジェクトの視野範囲内に存在するオブジェクトの情報を要求する(上述の検索処理)。そして、個別シミュレータ3が送出するオブジェクトのリストを取得して、ユーザ端末1へ送信する。そして相互通信制御装置2は、図示しない時計部からデータを取得した時点を表すタイムスタンプ情報を取得し、上記最終的に選択した個別シミュレータ3から受信したデータ量と当該タイムスタンプ情報とを、個別シミュレータ3を特定する情報に関連づけて格納し、受信データ量データベースの内容を更新する。
The mutual
また、ユーザ端末1は、相互通信制御装置2からオブジェクトのシミュレート結果に係る情報を受信するごとに、同期タイミングが到来したと判断して、ユーザオブジェクトの情報を、相互通信制御装置2へ送出する。
Further, each time the
なお、個別シミュレータ3は、相互通信制御装置2に対してオブジェクトのリストを送出するときに、個別シミュレータ3内で予測しているユーザオブジェクトの位置などの情報を併せて送出してもよい。相互通信制御装置2は、受信したユーザオブジェクトの予測された情報をユーザ端末1へ送出し、ユーザ端末1では、この予測されている情報と、現実にユーザの操作によって変化したユーザオブジェクトの情報とを比較して、例えば予測された位置と現実の位置とが予め定めたしきい値以上に離れている場合に、ユーザオブジェクトの情報を、相互通信制御装置2へ送出するようにしてもよい。
The
相互通信制御装置2は、上記最終的に選択した個別シミュレータ3に対して、受信したユーザオブジェクトの情報を送出する。ユーザオブジェクトの情報を受信した個別シミュレータ3は、当該ユーザオブジェクトの情報を記憶部32に格納して、以降のシミュレーションに利用する。
The mutual
この例によると、ユーザ端末1と、相互通信制御装置2が選択した個別シミュレータ3とが時間をおいて同期しており(図8のステップ(a))、ユーザ端末1側では、最後の同期で取得したオブジェクトの移動を予測しつつ表示を行っており(図8のステップ(b))、同様に個別シミュレータ3側でもユーザオブジェクトの移動を予測してオブジェクトの挙動をシミュレートしており(図8のステップ(c))、次の同期が行われた際には、それぞれ受信したオブジェクトの情報やユーザオブジェクトの情報に基づいて予測の結果を補正していく(図8のステップ(d))。これにより、同期を毎ステップごとに行う必要がなくなり、通信負担を軽減できる。
According to this example, the
なお、ここまでの説明において、オブジェクトの情報(ユーザオブジェクトの情報を含む)は、相互通信制御装置2を介して送受しているものとしていたが、当該オブジェクトの情報は、ユーザ端末1と、個別シミュレータ3との間で直接的に授受しても構わない。
In the description so far, object information (including user object information) is transmitted and received via the mutual
次に、本発明の第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
この実施の形態では、ユーザ端末1は図7に示したものと同様に、機能的にはユーザオブジェクト管理部41と、ユーザ視野表示部42′と、同期部43と、シミュレート結果予測部44とを備えてなる。
In this embodiment, the
この例では同期部43は、予め定めたタイミング決定ルールに基づいて同期タイミングを定め、当該同期タイミングにおいて、ユーザの視野範囲を画定する情報とともに当該視野範囲に含まれるオブジェクトの情報を要求する指示を各個別シミュレータ3へ送信し、各個別シミュレータ3から当該視野範囲に含まれる他のオブジェクトの情報を受信してメモリに格納する。
In this example, the
また、シミュレート結果予測部44は、シミュレーションの1ステップに係る時間ごとに、同期部43によってメモリに格納されたオブジェクトの情報を利用して、各オブジェクトの挙動(シミュレーション結果)を予測して、メモリに格納されているオブジェクトの予測情報を更新する。
In addition, the simulation
ここではシミュレート結果予測部44は例えば、カルマンフィルタ等を用いて、同期部43が取得した実際のシミュレート結果によって予測値を補正しながら、オブジェクトの位置等の情報の予測を行う。
Here, the simulation
このようにユーザ端末1が他のオブジェクトの位置を予測して表示することで、他のオブジェクトの位置の情報を常時取得する必要がなくなり、通信負担を軽減できる。
As described above, the
またユーザオブジェクトの情報を利用する個別シミュレータ3は、ユーザオブジェクトの位置の情報を提供するようユーザ端末1に通知しておく。そしてユーザ端末1は、当該通知の元となった個別シミュレータ3に対して直接、ユーザオブジェクトの情報を送出する。
In addition, the
なお、この場合も、シミュレーションの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
なお、これらの例において同期タイミングを定めるタイミング決定ルールは、例えば、最後に同期してからの経過時間や、ユーザオブジェクトの移動速度、他のオブジェクトの移動速度等に応じて定めることができる。例えば最後に同期してからの経過時間が一定の時間に達するごとに同期タイミングを定めてもよい(この場合は一定の間隔で同期が行われる)し、ユーザオブジェクトの移動速度や他のオブジェクトの移動速度が高速になればなるほど短く設定される時間しきい値を演算し、最後に同期してからの経過時間が演算した時間しきい値を越えるときに同期タイミングを定めてもよい。 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
各個別シミュレータ3は、指定された視野範囲内に存在するオブジェクトがあるか否かをそれぞれ判断し、視野範囲内に存在するオブジェクトがある場合は、その旨をユーザ端末1に対して送出する。ユーザ端末1は、視野範囲内に存在するオブジェクトがある旨の回答を送出した個別シミュレータ3を特定する情報のリストを記憶する。この情報のリスト(以下、対象シミュレータリストと呼ぶ)は、所定のタイミングごとに、例えば定期的に更新する。
Each
ユーザ端末1は、当初(初期化時)には、記憶しているリストの情報で特定されるすべての個別シミュレータ3に対して視野範囲内に存在するオブジェクトの情報を要求する。そして、各個別シミュレータ3はユーザオブジェクトの視野範囲内にあるオブジェクトのリストを生成して、ユーザ端末1へ送信する。
Initially (at initialization), the
また、ユーザ端末1は、対象シミュレータリストに新規に追加される個別シミュレータ3があれば、当該新規に追加された個別シミュレータ3に対しては、ユーザオブジェクトの視野範囲内に存在するオブジェクトの情報を要求する(上述の検索処理)。そして、各個別シミュレータ3はユーザオブジェクトの視野範囲内にあるオブジェクトのリストを生成して、ユーザ端末1へ送信する。
In addition, if there is an
ユーザ端末1では、これらのように個別シミュレータ3からオブジェクトの情報を受信すると、図示しない時計部からデータを取得した時点を表すタイムスタンプ情報を取得し、各個別シミュレータ3から受信したデータ量と当該タイムスタンプ情報とを、各個別シミュレータ3を特定する情報に関連づけて、受信データ量データベースとして記憶しておく。
When the
ユーザ端末1は、同期タイミングが到来したと判断した時点から、個別シミュレータ3がシミュレートを行って次のステップにおけるオブジェクトの位置の演算を完了するまでの時間(余裕時間)を調べる。そして当該余裕時間内に取得可能なデータ量を取得可能データ量として演算する。
The
ユーザ端末1は、記憶している受信データ量データベースを参照し、当該演算した取得可能データ量以下のデータ量に関連づけられ、かつ、対象シミュレータリストに含まれる個別シミュレータ3を特定する情報を予備的に選択する。
The
そして予備的に選択した個別シミュレータ3を特定する情報のうち、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報を一つ選択する。なお、最も古いタイムスタンプ情報に関連づけられている個別シミュレータ3を特定する情報が複数あれば、ランダムにそのうちの一つを選択してもよい。
Then, one piece of information for specifying the
ユーザ端末1は、最終的に選択した情報で特定される個別シミュレータ3に対して、ユーザオブジェクトの視野範囲内に存在するオブジェクトの情報を要求する。そして、当該個別シミュレータ3が送出するオブジェクトのリストを取得する。そして図示しない時計部からデータを取得した時点を表すタイムスタンプ情報を取得し、上記最終的に選択した個別シミュレータ3から受信したデータ量と当該タイムスタンプ情報とを、個別シミュレータ3を特定する情報に関連づけて格納し、受信データ量データベースの内容を更新する。
The
また、ユーザ端末1は、少なくとも一つの個別シミュレータ3からオブジェクトのシミュレート結果に係る情報を受信するごとに、同期タイミングが到来したと判断して、当該受信した情報の送信元である個別シミュレータ3に対して、ユーザオブジェクトの情報を送出する。
Each time the
なお、個別シミュレータ3は、相互通信制御装置2に対してオブジェクトのリストを送出するときに、個別シミュレータ3内で予測しているユーザオブジェクトの位置などの情報を併せて送出してもよい。ユーザ端末1では、この予測されている情報と、現実にユーザの操作によって変化したユーザオブジェクトの情報とを比較して、例えば予測された位置と現実の位置とが予め定めたしきい値以上に離れている場合に、ユーザオブジェクトの情報を、個別シミュレータ3へ送出するようにしてもよい。
The
ユーザオブジェクトの情報を受信した個別シミュレータ3は、当該ユーザオブジェクトの情報を記憶部32に格納して、以降のシミュレーションに利用する。
The
この例によると、第1の実施の形態におけるのと同様に、ユーザ端末1と、当該ユーザ端末1が選択した個別シミュレータ3とが時間をおいて同期しており(図8のステップ(a))、ユーザ端末1側では、最後の同期で取得したオブジェクトの移動を予測しつつ表示を行っており(図8のステップ(b))、同様に個別シミュレータ3側でもユーザオブジェクトの移動を予測してオブジェクトの挙動をシミュレートしており(図8のステップ(c))、次の同期が行われた際には、それぞれ受信したオブジェクトの情報やユーザオブジェクトの情報に基づいて予測の結果を補正していく(図8のステップ(d))。これにより、同期を毎ステップごとに行う必要がなくなり、通信負担を軽減できる。
According to this example, as in the first embodiment, the
さらに、ここまでの説明においては、ユーザ端末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
これらの場合、相互通信制御装置2や個別シミュレータ3を実現するコンピュータ装置は、相互通信制御装置2としてのプロセスや、個別シミュレータ3としての複数のプロセスを並列的に動作させる。また、ユーザ端末1も一体の装置で実現する場合は、ユーザ端末1としてのプロセスも並列的に動作させる。この並列動作については、種々の方法を採用できるが、複数のプロセッサ(プログラム制御デバイス)を備えたコンピュータ装置であれば、クラスタシステムやグリッド、各プロセッサ間を仮想的なネットワークで接続した態様など、種々の構成で実現できる。
In these cases, the computer device that realizes the mutual
これらのように、ユーザ端末1と、相互通信制御装置2と、個別シミュレータ3とを一体のコンピュータ装置で実現する場合も、相互通信制御装置2と個別シミュレータ3とを一体のコンピュータ装置で実現し、ユーザ端末1との間で通信可能に接続する場合も、各個別シミュレータ3としての動作のうちで、通知対象となるオブジェクトがあるか否かを調べ、通知対象となるオブジェクトがあれば、相互通信制御装置2のプロセスへ、当該オブジェクトの情報を出力する。相互通信制御装置2としてのプロセスでは、当該オブジェクトの情報の入力を受けて、各オブジェクトの情報を出力した個別シミュレータ3を特定する情報(プログラムの実行プロセスIDなど)に関連づけて、各オブジェクトの情報を記録し、当該記録した情報と、依存関係データベースとを参照して、実行するべき処理があるか否かを調べ、実行するべき処理があれば、当該処理を実行してその結果を、当該処理に関連づけて依存関係データベースに記録されている個別シミュレータ3としてのプロセスに出力する。
As described above, when the
また、これらの場合であっても、相互通信制御装置2が管理する複数の個別シミュレータ3の一部は、ネットワークを介して他のコンピュータ装置において実行されていてもよい。この場合、相互通信制御装置2として機能させるプログラムに、他のコンピュータ装置からオブジェクトに係る情報を受信して保持し、依存関係の判断に供するプログラムモジュールと、依存関係に関わる処理の結果を、他のコンピュータ装置へ送出する処理に係るプログラムモジュールとを含む。
Even in these cases, some of the plurality of
1 ユーザ端末、2 相互通信制御装置、3 個別シミュレータ、21,31 制御部、22,32 記憶部、23,33 通信部、41 ユーザオブジェクト管理部、42 ユーザ視野表示部、51 相互通信制御部、52 検索処理部、53 依存関係判断部、54 衝突判定部、55 依存関係データベース、61 シミュレーションエンジン部、62 オブジェクトデータ記憶部、63 通知判定部。
DESCRIPTION OF
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.
前記処理規定情報には、個別シミュレータを指定する情報と、当該情報で指定される個別シミュレータに対して設定するべき通知条件の情報とを含み、前記相互処理実行手段が、前記指定された個別シミュレータに対して通知条件を設定し、当該設定した通知条件に基づいて選択的に通知されたシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行することを特徴とするシミュレータシステム。 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.
前記処理規定情報には、個別シミュレータを指定する情報と、当該情報で指定される個別シミュレータに対して設定するべき通知条件の情報とを含み、前記相互処理実行手段が、前記指定された個別シミュレータに対して通知条件を設定し、当該設定した通知条件に基づいて選択的に通知されたシミュレート対象に係る情報に基づいて、前記処理規定情報において定められた内容の処理を実行することを特徴とする相互通信制御装置。 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.
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 Expired - Fee Related JP5132058B2 (en) | 2006-01-16 | 2006-01-16 | Simulator system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5132058B2 (en) |
Families Citing this family (3)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001057678A1 (en) * | 2000-02-02 | 2001-08-09 | Nextech Corporation | Processing method for network system 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 |
-
2006
- 2006-01-16 JP JP2006007963A patent/JP5132058B2/en not_active Expired - Fee Related
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 | |
CN114638148A (en) | Safe and extensible model for culture-sensitive driving of automated vehicles | |
CN110114806A (en) | Signalized control method, relevant device and system | |
US8423333B2 (en) | System for managing objects of virtual space | |
Holko et al. | Epidemiological modeling with a population density map-based cellular automata simulation system | |
CN108268481B (en) | Cloud map updating method and electronic equipment | |
CN104317297A (en) | Robot obstacle avoidance method under unknown environment | |
JP5132058B2 (en) | Simulator system | |
WO2023142609A1 (en) | Object processing method and apparatus in virtual scene, device, storage medium and program product | |
Anderson et al. | Agent-based simulation of Muscovy duck movements using observed habitat transition and distance frequencies | |
CN107748502B (en) | Passive space perception interaction method of entity in combat simulation based on discrete event | |
CN104008562B (en) | A kind of virtual crowds simulation framework of user oriented planning | |
JP4139409B2 (en) | Simulator system | |
Fu et al. | Federated Reinforcement Learning for Adaptive Traffic Signal Control: A Case Study in New York City | |
KR20230024392A (en) | Driving decision making method and device and chip | |
Xu et al. | A multi-robot pattern formation algorithm based on distributed swarm intelligence | |
JP6417361B2 (en) | Traffic prediction apparatus and traffic prediction method | |
Steel et al. | Context-aware virtual agents in open environments | |
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 | |
CN114028807A (en) | Rendering method, device and equipment of virtual object and readable storage medium |
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 | Request for written amendment filed |
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 |
|
LAPS | Cancellation because of no payment of annual fees |