JP5770513B2 - Program and game information generation device - Google Patents
Program and game information generation device Download PDFInfo
- Publication number
- JP5770513B2 JP5770513B2 JP2011079069A JP2011079069A JP5770513B2 JP 5770513 B2 JP5770513 B2 JP 5770513B2 JP 2011079069 A JP2011079069 A JP 2011079069A JP 2011079069 A JP2011079069 A JP 2011079069A JP 5770513 B2 JP5770513 B2 JP 5770513B2
- Authority
- JP
- Japan
- Prior art keywords
- game
- nodes
- node
- cluster
- group
- 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
Links
- 238000004891 communication Methods 0.000 claims description 204
- 238000012545 processing Methods 0.000 claims description 128
- 238000011156 evaluation Methods 0.000 claims description 57
- 238000004364 calculation method Methods 0.000 claims description 49
- 238000000034 method Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 43
- 230000008859 change Effects 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 20
- 238000012360 testing method Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 15
- 241000287463 Phalacrocorax Species 0.000 claims 1
- 230000033001 locomotion Effects 0.000 description 25
- 238000011144 upstream manufacturing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000002156 mixing Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000007103 stamina Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 206010034719 Personality change Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009931 harmful effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Description
本発明は、プログラム、情報記憶媒体及びゲーム情報生成装置に関する。 The present invention relates to a program, an information storage medium, and a game information generation device.
ネットワークを介して複数のプレーヤが、ゲーム世界のプレーヤキャラクタ同士をオンラインで対戦させるオンライン対戦ゲームが知られており、人気が高い。 An online battle game in which a plurality of players battle each other online with game characters via the network is known and is popular.
かかるオンライン対戦ゲームでは、専用のサーバを設置して、サーバ方を経由してゲーム装置にゲームデータを送信して複数のゲーム装置の通信対戦を行うものが知られている。 As such an online battle game, a game in which a dedicated server is installed and game data is transmitted to the game device via the server and a plurality of game devices are in communication battle is known.
しかし専用のサーバを設置し、サーバでゲームデータの送信を管理するとコストがかり、ネットワークの負荷が増大し、通信によるトラフィックが発生しやすくなる。また複数のゲーム装置を Peer to Peer(ピアトゥピア、ピアツーピア)で接続して、ゲーム装置間で相互にゲームデータの送受信を行う方式も存在するが、参加するゲーム装置が増えると、ネットワークの負荷が増大し、通信のトラフィックが発生しやすくなる。 However, installing a dedicated server and managing the transmission of game data by the server increases costs, increases the network load, and easily generates traffic due to communication. There is also a method in which multiple game devices are connected by Peer to Peer (Peer to Peer, Peer-to-Peer), and game data is sent and received between game devices. However, as the number of participating game devices increases, the load on the network increases. Communication traffic is likely to occur.
通信トラフィックを下げるために、通信頻度をさげると、ネットワークの負荷は減少するが、ゲームデータの遅延により、他のゲーム機のゲームデータが反映されないゲーム画像が生成されてしまい、プレーヤに違和感を与えてしまうという問題があった。 If the communication frequency is reduced to reduce the communication traffic, the load on the network will decrease, but due to the delay of the game data, game images that do not reflect the game data of other game machines will be generated, giving the player a sense of incongruity There was a problem that.
本発明は、以上のような課題を解決するためになされたものである。本発明のいくつかの態様によれば、ネットワークの負荷の増大を防ぎつつ、通信遅延によるゲームへの影響を最小限現にする効率のよい通信制御を行うことができるプログラム、情報記憶媒体、ゲーム情報生成装置を提供することができる。 The present invention has been made to solve the above-described problems. According to some aspects of the present invention, a program, an information storage medium, and game information capable of performing efficient communication control that minimizes the influence on a game due to communication delay while preventing an increase in network load A generation device can be provided.
(1)本発明の一態様は、
ネットワークを介して他のノードとゲームデータの送受信を行うゲーム機のためのプログラムであって、
ノード間でネットワークを構成して、ネットワークを介してノード間でゲームデータの送受信を行う通信制御手段と、
入力情報と、他のノードから受信したゲームデータとに基づきゲーム演算を行うゲーム演算手段と、
ゲーム演算結果に基づき、ゲーム世界のゲーム画像を生成する画像生成手段と、
してコンピュータを機能させ、
前記ゲーム演算手段は、
ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方に基づき、グループ決定用のゲーム評価値を演算するゲーム評価値演算手段を含み、
前記通信制御手段は、
グループ決定用のゲーム評価値に基づきノードをグループ化し、グループ内のノード間でゲームデータの送受信を行う通信頻度とグループ外のノード間でゲームデータの送受信を行う通信頻度の度合いを異なるように制御する通信頻度制御、及びグループ内のノード間のネットワーク接続とグループ外のノード間のネットワーク接続の疎密の度合いを異なるように制御するネットワーク接続制御の少なくとも一方を行うプログラムに関する。
(1) One aspect of the present invention is
A program for a game machine that transmits / receives game data to / from other nodes via a network,
A communication control means for configuring a network between nodes and transmitting and receiving game data between nodes via the network;
Game calculation means for performing a game calculation based on input information and game data received from another node;
Image generating means for generating a game image of the game world based on the game calculation result;
Make your computer work,
The game calculation means includes
Game evaluation value calculating means for calculating a game evaluation value for group determination based on at least one of the game situation and the game parameter of the player character,
The communication control means includes
Nodes are grouped based on the game evaluation value for group determination, and the communication frequency for transmitting / receiving game data between the nodes in the group and the communication frequency for transmitting / receiving game data between nodes outside the group are controlled to be different. The present invention relates to a program for performing at least one of communication frequency control and network connection control for controlling the network connection between nodes in a group to be different from the density of network connections between nodes outside the group.
ノードはプレーヤ又はプレーヤキャラクタに対応して設定された通信単位である。生成されるゲーム画像は2次元画像でもよいし、3次元画像でもよい。グループ内通信では、各ノードのゲームデータをグループ内の他のノードと相互にやりとりする。グループ外のノードとの通信は、グループの代表が行うようにしてもよい。すなわち各グループの代表が他のグループの代表とグループ内のゲームデータをやりとりするようにしてもよい。 A node is a communication unit set corresponding to a player or a player character. The generated game image may be a two-dimensional image or a three-dimensional image. In intra-group communication, game data of each node is exchanged with other nodes in the group. Communication with nodes outside the group may be performed by a representative of the group. That is, the representative of each group may exchange game data in the group with representatives of other groups.
本発明は、マルチプレーヤゲームで通信対戦をPeer to Peer(ピアトゥピア、ピアツーピア)方式で行う手法に関するもので、ノードは1つ以上の他のノードとPeer to Peerで接続されている。Peer to Peer(ピアトゥピア、ピアツーピア)とは、多数の端末間で通信を行う際のアーキテクチャのひとつで、対等の者ピア同士が通信をすることを特徴とする通信方式である。 The present invention relates to a technique for performing a communication battle in a multiplayer game by a Peer to Peer (Peer to Peer, Peer to Peer) method, and a node is connected to one or more other nodes by Peer to Peer. Peer to Peer (Peer to Peer) is one of the architectures when communicating between a large number of terminals, and is a communication system characterized by peer peers communicating with each other.
本発明によれば、マルチプレーヤゲームで通信対戦を行う場合に専用のサーバを使用せずに多人数で通信対戦が可能となる。 According to the present invention, when a communication battle is performed in a multiplayer game, a communication battle can be performed by a large number of people without using a dedicated server.
一般にゲーム世界で近くに位置する他のノードのキャラクタの情報はゲーム画像に反映される確率が高いのでタイムラグなく更新することが好ましいが、ゲーム世界で遠くに位置する他のノードのキャラクタの情報は、ゲーム画像に反映される確率が低いので通信遅延により反映されるのに多少のタイムラグがあっても問題とならない場合がおおい。 Generally, it is preferable to update the information of characters of other nodes located near in the game world without time lag because the probability of being reflected in the game image is high, but the information of characters of other nodes located far away in the game world is Since the probability of being reflected in the game image is low, there is often no problem even if there is some time lag even though it is reflected due to communication delay.
本発明によれば、ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方に基づき、グループ決定用のゲーム評価値を求め、求めたゲーム評価値に基づきグループ分けする。そして、グループ内のノードとゲームデータの送受信を行う通信頻度を、グループ外のノードとゲームデータの送受信を行う通信頻度よりも高くする通信頻度制御、及びグループ内のノードとのネットワーク接続をグループ外のノードとのネットワーク接続よりも密にするネットワーク接続制御の少なくとも一方を行うことができる。従って、グループ内のノード間の通信環境をグループ外のノード間との通信環境よりよくすることができるので、グループ外の他のノードに対するタイムラグに比べて、グループ内の他のノードに対するタイムラグを小さくすることができる。すなわち、ゲーム世界の状況に応じてノード間の通信環境にメリハリをつけることができるので、ネットワークの負荷の増大を防ぎつつ、通信遅延によるゲームへの影響を最小現にする効率のよい通信制御を行うことができる。 According to the present invention, the game evaluation value for group determination is obtained based on at least one of the game situation and the game parameter of the player character, and grouped based on the obtained game evaluation value. Then, the communication frequency control for making the communication frequency for transmitting / receiving game data to / from the nodes in the group higher than the communication frequency for transmitting / receiving game data to / from the nodes outside the group, and the network connection with the nodes in the group outside the group. It is possible to perform at least one of network connection control that is denser than the network connection with the other node. Accordingly, the communication environment between the nodes in the group can be made better than the communication environment between the nodes outside the group, so that the time lag for the other nodes in the group is smaller than the time lag for the other nodes outside the group. can do. In other words, the communication environment between nodes can be sharpened according to the situation of the game world, so that efficient communication control that minimizes the effect on the game due to communication delay is performed while preventing an increase in network load. be able to.
(2)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記通信制御手段は、
グループを構成するノードをクラスタリングするクラスタリング処理手段と、
同じクラスタに属するノード間でネットワークを構成して、ネットワークを介してゲームデータの送受信を行わせるクラスタ内通信制御処理手段と、
クラスタに属するノードの通信状態に関する情報及び所定の規則の少なくとも一方に基づき、クラスタの代表ノードを判断するクラスタ代表判断手段と、
クラスタの代表ノード間でネットワークを構成して、ゲームデータの送受信を行わせるクラスタ間通信制御処理手段と、を含み、
クラスタ内のノード間でゲームデータの送受信を行う通信頻度とクラスタ外のノード間でゲームデータの送受信を行う通信頻度の度合いを異なるように制御する通信頻度制御、及びクラスタ内のノード間のネットワーク接続とクラスタ外のノード間のネットワーク接続の疎密の度合いを異なるように制御するネットワーク接続制御の少なくとも一方を行ってもよい。
(2) In this program, information storage medium, and game information generation device,
The communication control means includes
Clustering processing means for clustering the nodes constituting the group;
Intra-cluster communication control processing means for configuring a network between nodes belonging to the same cluster and transmitting and receiving game data via the network;
Cluster representative judging means for judging a representative node of the cluster based on at least one of the information on the communication state of the nodes belonging to the cluster and a predetermined rule;
An inter-cluster communication control processing means for configuring a network between representative nodes of the cluster and transmitting and receiving game data;
Communication frequency control for controlling the communication frequency for sending and receiving game data between nodes in the cluster and the communication frequency for sending and receiving game data between nodes outside the cluster, and network connection between nodes in the cluster And / or network connection control for controlling the degree of density of network connection between nodes outside the cluster to be different.
(3)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記通信制御手段は、
クラスタ内のノード間でゲームデータの送受信を行う通信頻度を、クラスタ外のノード間でゲームデータの送受信を行う通信頻度よりも高くする通信頻度制御、及びクラスタ内のノード間のネットワーク接続をクラスタ外のノード間のネットワーク接続よりも密にするネットワーク接続制御の少なくとも一方を行ってもよい。
(3) In this program, information storage medium, and game information generation device,
The communication control means includes
Communication frequency control that makes the communication frequency of sending / receiving game data between nodes in the cluster higher than the communication frequency of sending / receiving game data between nodes outside the cluster, and network connection between nodes in the cluster outside the cluster It is also possible to perform at least one of network connection control that is denser than the network connection between the nodes.
(4)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記ゲーム状況及びプレーヤキャラクタのゲームパラメータ(位置データ等)の少なくとも一方には、プレーヤキャラクタの位置に関する情報を含み、
前記ゲーム評価値演算手段は、
プレーヤキャラクタの位置に関する情報に基づき、プレーヤキャラクタのゲーム評価値を演算してもよい。
(4) In this program, information storage medium, and game information generation device,
At least one of the game situation and the game parameters (position data, etc.) of the player character includes information on the position of the player character,
The game evaluation value calculation means includes
Based on the information related to the position of the player character, the game evaluation value of the player character may be calculated.
ゲームパラメータは、例えば位置データ等でもよい。プレーヤキャラクタの位置に関する情報とは、位置座標、位置が属するエリア情報、他のプレーヤキャラクタとの位置関係、視界範囲、仮想カメラの位置でもよい。 The game parameter may be position data, for example. The information related to the position of the player character may be position coordinates, area information to which the position belongs, a positional relationship with other player characters, a field of view range, and a virtual camera position.
この様にすれば、プレーヤキャラクタのゲーム世界の位置に応じて、プレーヤキャラクタに対応するノードの通信環境にメリハリをつけることができる。例えば同じゲーム画像に含まれる可能性のあるキャラクタ(ゲーム世界において近くに位置するキャラクタ)をクラスタにクラスタリングすることで、より効果的にネットワークの負荷の増大を防ぎつつ、通信遅延による影響を最小現にすることができる。 In this way, the communication environment of the node corresponding to the player character can be sharpened according to the position of the player character in the game world. For example, by clustering characters that may be included in the same game image (characters located nearby in the game world) into clusters, the effect of communication delay is minimized while effectively preventing an increase in network load. can do.
(5)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記クラスタリング処理手段は、
ゲーム評価値の変化により、ノードに適したクラスタが、当該ノードに割り当てられているクラスタと異なるクラスタに変化した場合には、当該ノードに割り当てるクラスタを変更するクラスタ変更処理を行ってもよい。
(5) In this program, information storage medium, and game information generation device,
The clustering processing means includes
When a cluster suitable for a node changes to a cluster different from the cluster assigned to the node due to a change in the game evaluation value, a cluster change process for changing the cluster assigned to the node may be performed.
このようにすればゲーム状況やプレーヤキャラクタのゲームパラメータの変化に応じて、動的なクラスタ変更を行うことができる。 In this way, dynamic cluster change can be performed in accordance with the game situation and the change in the game parameters of the player character.
(6)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記クラスタ間通信制御処理手段は、
クラスタの代表に、所属クラスタに直接接続されているクラスタの情報を定義した隣接クラスタ情報に基づき、隣接クラスタとして定義されているクラスタの代表ノードとネットワークを介して接続してクラスタ間通信を行わせてもよい。
(6) In this program, information storage medium, and game information generation device,
The intercluster communication control processing means includes:
Based on the neighboring cluster information that defines the information of the cluster that is directly connected to the cluster to which the cluster representative is connected, the cluster representative node that is defined as the neighboring cluster is connected via the network for inter-cluster communication. May be.
隣接クラスタ情報に隣接クラスタとして定義されてないクラスタの代表ノードとは直接クラスタ間通信を行わず、隣接クラスタの代表ノードを介して、さらに他の複数のクラスタの代表ノードを経由してゲームデータの送受信を行うようにしてもよい。離れたクラスタのゲームデータは多少の遅延はあっても、当該ノードのゲーム画像にはあまり影響がないので、通信によるトラフィックを弊害なく効果的に下げることができる。 Inter-cluster communication is not performed directly with the representative node of the cluster that is not defined as the adjacent cluster in the adjacent cluster information, and the game data is not transmitted via the representative node of the adjacent cluster, and the representative nodes of other clusters. Transmission and reception may be performed. Even if there is some delay in the game data of the distant cluster, the game image of the node is not affected so much, and traffic by communication can be effectively reduced without any harmful effect.
(7)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記通信制御手段は、
マスターノード以外のノードに、マスターノードのノード情報を受け取り、マスターノードとテスト通信を行わせるテスト通信処理手段と、
マスターノードに、テスト通信の結果に基づきテスト通信を行ったノードの通信状態情報を当該ノードに関連づけてノード情報として保持させ、保持しているノード情報を他のノード(クラスタの代表ノードでもよい)に送信させる処理をおこなうノード情報管理処理手段として機能してもよい。
(7) In this program, information storage medium, and game information generation device,
The communication control means includes
Test communication processing means for receiving node information of the master node and performing test communication with the master node to a node other than the master node;
The master node causes the communication status information of the node that performed the test communication based on the result of the test communication to be stored as node information in association with the node, and the stored node information is another node (may be a representative node of the cluster) It may function as node information management processing means for performing processing to be transmitted to the server.
(8)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記クラスタリング処理手段は、
クラスタ内のノード数に制限を設け、当該クラスタのノード数が制限値を超えない範囲で、ノードをクラスタリングする処理を行ってもよい。
(8) In this program, information storage medium, and game information generation device,
The clustering processing means includes
The number of nodes in the cluster may be limited, and the process of clustering the nodes may be performed within a range where the number of nodes in the cluster does not exceed the limit value.
(9)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
請求項1乃至6のいずれかにおいて、
前記クラスタリング処理手段は、
クラスタ内のノード数に制限を設け、当該クラスタのノード数が制限値を超える場合には、当該クラスタを制限値を超えない数のノードで構成された複数のクラスタに分割する処理をおこなってもよい。
(9) In this program, information storage medium, and game information generation device,
In any one of
The clustering processing means includes
If there is a limit on the number of nodes in the cluster and the number of nodes in the cluster exceeds the limit value, the cluster may be divided into multiple clusters that are composed of nodes that do not exceed the limit value. Good.
(10)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記クラスタ内通信制御処理手段は、
同じクラスタに属するノードと間をフルコネクト型のネットワーク構造で相互接続してクラスタ内通信を行ってもよい。
(10) In this program, information storage medium, and game information generation device,
The intra-cluster communication control processing means includes:
Intra-cluster communication may be performed by interconnecting nodes belonging to the same cluster with a full-connect network structure.
フルコネクト型のネットワーク構造とは、1つ1つのノードが全ての他のノードと接続している状態であり、1つのノードが故障しても他のノードとの通信には関係なく、自由に接続できるため、障害耐性はネットワーク中でもっとも高い。 A fully connected network structure is a state in which each node is connected to all other nodes. Even if one node fails, it is free to communicate regardless of communication with other nodes. Because it can be connected, fault tolerance is the highest in the network.
(11)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記クラスタリング処理手段は、
クラスタ代表である複数のノードを上位クラスタとしてクラスタリングする処理を行い、
前記クラスタ内通信制御処理手段は、
同じ上位クラスタに属するノード間でネットワークを構成して、ネットワークを介してゲームデータの送受信を行わせ、
前記クラスタ代表判断手段は、
上位クラスタに属するノードの通信状態に関する情報及び所定の規則の少なくとも一方に基づき、上位クラスタの代表ノードを判断し、
前記クラスタ間通信制御処理手段は、
上位クラスタの代表ノード間でネットワークを構成して、ゲームデータの送受信を行わせてもよい。
(11) In this program, information storage medium, and game information generation device,
The clustering processing means includes
Clustering multiple nodes representing the cluster as the upper cluster,
The intra-cluster communication control processing means includes:
Configure a network between nodes belonging to the same upper cluster, send and receive game data via the network,
The cluster representative judging means is:
Based on at least one of the information regarding the communication state of the nodes belonging to the upper cluster and the predetermined rule, the representative node of the upper cluster is determined,
The intercluster communication control processing means includes:
A network may be configured between the representative nodes of the upper cluster, and game data may be transmitted and received.
(12)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記ゲーム世界は、複数のエリアに分割されており、
前記ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方には、プレーヤキャラクタが属するエリア情報を含み、
前記ゲーム評価値演算手段は、
前記エリア情報に基づき、プレーヤキャラクタの属するエリアに対応したゲーム評価値を求めてもよい。
(12) In this program, information storage medium, and game information generation device,
The game world is divided into a plurality of areas,
At least one of the game situation and the game parameter of the player character includes area information to which the player character belongs,
The game evaluation value calculation means includes
Based on the area information, a game evaluation value corresponding to the area to which the player character belongs may be obtained.
(13)このプログラム、情報記憶媒体、ゲーム情報生成装置において、
前記ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方には、仮想カメラの配置に関する仮想カメラ情報を含み、
前記ゲーム評価値演算手段は、
前記仮想カメラ情報に基づき、プレーヤキャラクタに対応したゲーム評価値を求めてもよい。
(13) In this program, information storage medium, and game information generation device,
At least one of the game situation and the game parameter of the player character includes virtual camera information related to the placement of the virtual camera,
The game evaluation value calculation means includes
A game evaluation value corresponding to the player character may be obtained based on the virtual camera information.
仮想カメラの配置に関する仮想カメラ情報は、 仮想カメラの位置及び回転及び画角の少なくとも1つの情報を含んでもよい。 The virtual camera information related to the placement of the virtual camera may include at least one piece of information on the position, rotation, and angle of view of the virtual camera.
(14)本発明の一態様は、
上記のいずれかに記載のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体に関する。
(14) One aspect of the present invention provides
The present invention relates to a computer-readable information storage medium storing any one of the programs described above.
(15)本発明の一態様は、
ネットワークを介して他のノードとゲームデータの送受信を行い、ゲーム情報を生成するゲーム情報生成装置において、
ノード間でネットワークを構成して、ネットワークを介してノード間でゲームデータの送受信を行う通信制御手段と、
入力情報と、他のノードから受信したゲームデータとに基づきゲーム演算を行うゲーム演算手段と、
ゲーム演算結果に基づき、ゲーム世界のゲーム画像を生成する画像生成手段と、を含み、
前記ゲーム演算手段は、
ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方に基づき、グループ決定用のゲーム評価値を演算するゲーム評価値演算手段を含み、
前記通信制御手段は、
グループ決定用のゲーム評価値に基づきノードをグループ化し、グループ内のノード間でゲームデータの送受信を行う通信頻度とグループ外のノード間でゲームデータの送受信を行う通信頻度の度合いを異なるように制御する通信頻度制御、及びグループ内のノード間のネットワーク接続とグループ外のノード間のネットワーク接続の疎密の度合いを異なるように制御するネットワーク接続制御の少なくとも一方を行うゲーム情報生成装置に関する。
(15) One aspect of the present invention provides
In a game information generating device for transmitting / receiving game data to / from other nodes via a network and generating game information,
A communication control means for configuring a network between nodes and transmitting and receiving game data between nodes via the network;
Game calculation means for performing a game calculation based on input information and game data received from another node;
Image generation means for generating a game image of the game world based on the game calculation result,
The game calculation means includes
Game evaluation value calculating means for calculating a game evaluation value for group determination based on at least one of the game situation and the game parameter of the player character,
The communication control means includes
Nodes are grouped based on the game evaluation value for group determination, and the communication frequency for transmitting / receiving game data between the nodes in the group and the communication frequency for transmitting / receiving game data between nodes outside the group are controlled to be different. The present invention relates to a game information generation device that performs at least one of communication frequency control and network connection control for controlling the network connection between nodes in a group and the density of network connections between nodes outside the group to be different.
ゲーム情報とは、ゲーム中に生成される情報を意味し、ゲームの出力情報やゲーム成績やゲーム結果に関する情報でもよい。ゲームの出力情報は、例えばゲーム画像(画像の描画データでもよいし、他のコンピュータ等に画像を生成させるためのコマンドやデータでもよい)やゲーム音楽等でもよい。 The game information means information generated during the game, and may be game output information, game results, or information on game results. The game output information may be, for example, a game image (image drawing data or a command or data for causing another computer to generate an image), game music, or the like.
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。 Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.
1.構成
図1に本実施形態の画像生成システム(ゲーム情報生成装置の一例、コンピュータ、端末、ゲーム装置)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
1. Configuration FIG. 1 shows an example of a functional block diagram of an image generation system (an example of a game information generation device, a computer, a terminal, and a game device) of the present embodiment. Note that the image generation system of the present embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.
操作部160は、プレーヤがプレーヤキャラクタ(プレーヤが操作するプレーヤキャラクタ、移動体、プレーヤオブジェクト、ゲームキャラクタを含む)の操作情報を入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
The
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
The
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを入力するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)、メモリカードなどにより実現できる。処理部100は、情報記憶媒体180に入力されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
The information storage medium 180 (computer-readable medium) is used for inputting programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by a memory (ROM), a memory card, or the like. The
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
The
通信部196は外部(例えば、他機、サーバや他のゲームシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
The
なお、画像生成装置が、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)を、ネットワークを介してサーバからダウンロードし、情報記憶媒体180に記憶するようにしてもよい。このようなサーバに入力されているプログラムの出力も本発明の範囲内に含めることができる。
Note that the image generation apparatus may download a program (data) for causing a computer to function as each unit of the present embodiment from a server via a network and store the program in the
処理部100(プロセッサ)は、操作部160からの操作情報(入力情報の一例)やプログラムなどに基づいて、ゲーム演算処理、画像生成処理、或いは音生成処理などの処理を行う。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
The processing unit 100 (processor) performs processing such as game calculation processing, image generation processing, or sound generation processing based on operation information (an example of input information) from the
処理部100は、ゲーム演算部110、オブジェクト空間設定部111、仮想カメラ制御部112、移動・動作処理部113、ゲーム評価値演算部115、通信制御部120、描画部130、音生成部140を含む。なおこれらの一部を省略する構成としてもよい。
The
ゲーム演算部110は、入力情報と、他のノードから受信したゲームデータとに基づきゲーム演算を行うもので、ゲーム演算手段ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
The
本実施形態のゲーム演算部110は、ゲーム開始時に各プレーヤの体力値を初期値(例えば100)に設定し、ゲームを開始してからゲームが終了するまでのゲーム期間(例えば、90秒の間)に、フレーム毎に、各プレーヤからの入力情報に基づいてヒット判定処理を行い、ヒット判定結果に基づいていて、各プレーヤキャラクタの体力値を減算させ、各プレーヤキャラクタの体力値が0になったか否かに基づいてゲーム結果(勝敗、引き分け)を決定する演算処理を行ってもよい。なお、ゲーム演算部110は、ゲーム期間経過時点で、いずれのプレーヤキャラクタの体力値が0より大きい値である場合には、一方のプレーヤキャラクタの体力値が、他方のプレーヤキャラクタの体力値よりも大きい値である場合に、一方のプレーヤキャラクタが勝ちと決定し、他方のプレーヤキャラクタが負けと決定し、体力値が双方同じ場合には引き分けと決定してもよい。
The
オブジェクト空間設定部111は、プレーヤキャラクタ、移動体、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
The object
仮想カメラ制御部112は、オブジェクト空間内の所与(任意)の仮想カメラ(視点)から見える画像を生成するための仮想カメラの制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。また、画角を制御するようにしてもよい。
The virtual
例えば、仮想カメラによりオブジェクト(例えば、プレーヤキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。 For example, when an object (for example, a player character, a ball, or a car) is photographed from behind using a virtual camera, the virtual camera position or rotation angle (virtual) is set so that the virtual camera follows changes in the position or rotation of the object. Control camera orientation). In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the object obtained by the movement / motion processing unit. Alternatively, the virtual camera may be controlled to rotate at a predetermined rotation angle or to move along a predetermined movement path. In this case, the virtual camera is controlled based on the virtual camera data for specifying the position (movement path) or rotation angle of the virtual camera. When there are a plurality of virtual cameras (viewpoints), the above control process is performed for each virtual camera.
移動・動作処理部113は、モデル(キャラクタ、車、電車又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、モデルをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
The movement /
特に、本実施形態の移動・動作処理部113は、プレーヤからの入力情報に基づいて、プレーヤの操作対象のプレーヤキャラクタを移動・動作させる処理を行うことができる。
In particular, the movement /
また、後述する通信制御部120によって送信されたパケットに含まれる他のノードのゲームデータに基づいて、他のノードのプレーヤキャラクタを、自己のノードのプレーヤキャラクタと同一のオブジェクト空間において移動・動作させる処理を行うことができる。
Further, based on the game data of the other node included in the packet transmitted by the
また、宛先情報とは、ゲームシステムを構成する各ノードのIPアドレス、ポート番号とすることができる。IPアドレスは、インターネット上もしくはWANで特定のゲーム機を特定するためのグローバルIPアドレスとしてもよいし、LANで特定のゲーム機を特定するためのプライベートIPアドレスとしてもよい。 Further, the destination information can be the IP address and port number of each node constituting the game system. The IP address may be a global IP address for specifying a specific game machine on the Internet or WAN, or may be a private IP address for specifying a specific game machine on the LAN.
通信制御部120、他のノード(他のゲーム装置でもよい)に送信するパケットを生成する処理、パケット送信先のゲーム機のIPアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
パケットとは、ネットワークを介して通信する固まりであり、送信元IPアドレス、送信先IPアドレスを含むネットワークに必要なヘッダーと、送信元において書き込まれたデータがペイロードとからなるデータのことをいう。 A packet is a cluster that communicates via a network, and refers to data composed of a header including a transmission source IP address and a transmission destination IP address, and data written at the transmission source as a payload.
また、アプリケーションレベルの通信を実現するためには、使用するTCPやUDPプロトコルに応じたアプリケーションの種類を特定するポート番号を指定してパケットを生成する。例えば、TCPプロトコルは、データの送受信の信頼性が高く、例えば、確認応答や再送を利用している。また、TCPプロトコルは、紛失したデータの再送処理を行うことができ、さらにデータの送信順序を確保して送信先のゲーム機にパケットを送信することができる。一方、UDPプロトコルでは、送信の途中でデータを紛失しても再送されず、順番が入れ替わって伝送されることがある。しかし、UDPプロトコルは、TCPプロトコルに比べてオーバヘッドがないので、リアルタイムにデータを送信するオンラインゲームでは適している場合がある。UDPプロトコルを利用する場合には、バッファに入力するゲームデータが識別番号順(昇順)に入力するようにし、入力対象の識別番号のゲームデータが届いていない場合には、他機に要求するようにしてもよい。本実施形態では、いずれのプロトコルにも対応することができる。なお、UDPプロトコルを利用する場合には、バッファへのゲームデータの入力順序を識別情報(識別番号)の昇順に入力するように制御するようにしてもよい。 Further, in order to realize application-level communication, a packet is generated by designating a port number that identifies the type of application corresponding to the TCP or UDP protocol to be used. For example, the TCP protocol has high data transmission / reception reliability, and uses, for example, an acknowledgment or retransmission. Further, the TCP protocol can perform retransmission processing of lost data, and can further secure a data transmission order and transmit a packet to a destination game machine. On the other hand, in the UDP protocol, even if data is lost in the middle of transmission, it may not be retransmitted and may be transmitted in a reversed order. However, since the UDP protocol has no overhead compared to the TCP protocol, it may be suitable for online games that transmit data in real time. When using the UDP protocol, the game data to be input to the buffer is input in the order of identification numbers (ascending order). If the game data of the identification numbers to be input has not arrived, a request is made to another machine. It may be. In this embodiment, any protocol can be supported. If the UDP protocol is used, the input order of game data to the buffer may be controlled to be input in ascending order of identification information (identification number).
本実施形態の通信制御部120は、画像を描画するフレームレートに応じてパケットを生成し、接続先の他のノードに生成したパケットを送信する処理を行う。具体的に説明すると、例えば、フレームレートが60fpsである場合には、1/60秒毎に、パケットのヘッダーの送信先IPアドレスと送信先ポート番号に、第2のゲーム機のIPアドレスと使用するポート番号指定し、ヘッダーの送信元のIPアドレスと送信元ポート番号に、第1のゲーム機のIPアドレスと使用するポート番号を指定して、ゲームデータを含むデータをパケットのペイロードに入力し、生成したパケットを他のノードに送信する処理を行う。
The
フレーム毎にゲーム機を操作するプレーヤからの入力情報(操作情報も含む)を含むデータである。例えば、ゲームデータは、入力情報の有無や、入力情報が有る場合には入力情報の内容を示したデータとすることができる。例えば、ゲームデータを数値で示す場合には、入力情報が無い場合はゲームデータを「0」とし、入力情報があってその内容がAボタンの入力である場合にはゲームデータを「1」、入力情報があってその内容がBボタンの入力である場合にはゲームデータを「2」、また、入力情報があってその内容がA及びBボタンの入力である場合にはゲームデータを「3」としてもよい。 Data including input information (including operation information) from a player who operates the game machine for each frame. For example, the game data can be data indicating the presence or absence of input information, or the content of the input information when there is input information. For example, when the game data is indicated by a numerical value, the game data is set to “0” when there is no input information, and the game data is set to “1” when there is input information and the content is input from the A button. If there is input information and the content is input from the B button, the game data is “2”. If there is input information and the content is input from the A and B buttons, the game data is “3”. It is good also as.
また、ここで、識別情報とは、フレーム毎に付与される複数のゲーム機(第1、第2のゲーム機)において共通のデータである。本実施形態では、第1のゲーム機と第2のゲーム機との接続が確立されたときを基準に、経過時間に応じてフレーム毎に付与される情報とすることができる。例えば、ゲーム機において、フレームレートに応じて取得したゲームデータに対応付けるシーケンシャルな識別番号(1から始まる正の整数)とすることができる。 Here, the identification information is data common to a plurality of game machines (first and second game machines) given for each frame. In the present embodiment, the information given to each frame according to the elapsed time can be used with reference to the time when the connection between the first game machine and the second game machine is established. For example, in a game machine, a sequential identification number (a positive integer starting from 1) associated with game data acquired according to the frame rate can be used.
例えば、フレームレートが60fpsである場合を考えると、1/60毎に取得したゲームデータに、識別情報を対応付ける。例えば、第1のゲーム機と第2のゲーム機それぞれにおいて、接続が確立された時点に取得したゲームデータには、識別番号「1」を対応付けし、接続確立時から1/60秒後に取得したゲームデータには、識別番号「2」を対応付けし、接続確立時から2/60秒後に取得したゲームデータには、識別番号「3」を対応付けする。 For example, considering the case where the frame rate is 60 fps, identification information is associated with game data acquired every 1/60. For example, in each of the first game machine and the second game machine, the game data acquired when the connection is established is associated with the identification number “1” and acquired 1/60 seconds after the connection is established. An identification number “2” is associated with the game data, and an identification number “3” is associated with the game data acquired 2/60 seconds after the connection is established.
また、本実施形態の通信制御部115は、第2のゲーム機から送信されたパケットを受信する処理を行う。そして、受信したパケットを解析し、パケットのペイロードに含まれるゲームデータを含むデータを取得する。
In addition, the
通信制御部120は、ノード間でネットワークを構成して、ネットワークを介してノード間でゲームデータの送受信を行うもので、ネットワーク設定部125を含む。
The
ネットワーク設定部125は、ゲームシステムで必要となるネットワーク情報を取得し、管理する処理等を行う。特に、本実施形態のネットワーク設定部は、各ノード(ゲーム機又はゲーム機のプレーヤキャラクタ)に個別に付与されるノードの識別情報(オンラインゲームに参加できるノードを識別するために個別に付与されたデータ)と、ノードの識別情報に対応付けられたパケットの送信先を指定する宛先情報とを取得し、管理する処理を行う。
The
ゲーム評価値演算部115は、ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方に基づき、グループ決定用のゲーム評価値を演算し、通信制御部120は、グループ決定用のゲーム評価値に基づきノードをグループ化し、グループ内のノード間でゲームデータの送受信を行う通信頻度を、グループ外のノード間でゲームデータの送受信を行う通信頻度よりも高くする通信頻度制御、及びグループ内のノード間のネットワーク接続をグループ外のノード間のネットワーク接続よりも密にするネットワーク接続制御の少なくとも一方を行う。
The game evaluation
また通信制御部120は、グループを構成するノードをクラスタリングするクラスタリング処理部121と、同じクラスタに属するノード間でネットワークを構成して、ネットワークを介してゲームデータの送受信を行わせるクラスタ内通信制御処理部122と、クラスタに属するノードの通信状態に関する情報及び所定の規則の少なくとも一方に基づき、クラスタの代表ノードを判断するクラスタ代表判断部123と、クラスタの代表ノード間でネットワークを構成して、ゲームデータの送受信を行わせるクラスタ間通信制御処理部124と、を含み、クラスタ内のノード間でゲームデータの送受信を行う通信頻度とクラスタ外のノード間でゲームデータの送受信を行う通信頻度の度合いを異なるように制御する通信頻度制御、及びクラスタ内のノード間のネットワーク接続とクラスタ外のノード間のネットワーク接続の疎密の度合いを異なるように制御するネットワーク接続制御の少なくとも一方を行ってもよい。
The
また通信制御部120は、クラスタ内のノード間でゲームデータの送受信を行う通信頻度を、クラスタ外のノード間でゲームデータの送受信を行う通信頻度よりも高くする通信頻度制御、及びクラスタ内のノード間のネットワーク接続をクラスタ外のノード間のネットワーク接続よりも密にするネットワーク接続制御の少なくとも一方を行ってもよい。
In addition, the
ゲーム状況及びプレーヤキャラクタのゲームパラメータ(位置データ等)の少なくとも一方には、プレーヤキャラクタの位置に関する情報を含み、ゲーム評価値演算部115は、 プレーヤキャラクタの位置に関する情報に基づき、プレーヤキャラクタのゲーム評価値を演算してもよい。
At least one of the game situation and the game parameters (position data, etc.) of the player character includes information regarding the position of the player character, and the game evaluation
クラスタリング処理部121は、ゲーム評価値の変化により、ノードに適したクラスタが、当該ノードに割り当てられているクラスタと異なるクラスタに変化した場合には、当該ノードに割り当てるクラスタを変更するクラスタ変更処理を行ってもよい。 When the cluster suitable for a node changes to a different cluster from the cluster assigned to the node due to a change in the game evaluation value, the clustering processing unit 121 performs a cluster change process for changing the cluster assigned to the node. You may go.
クラスタ間通信制御処理部124は、クラスタの代表に、所属クラスタに直接接続されているクラスタの情報を定義した隣接クラスタ情報に基づき、隣接クラスタとして定義されているクラスタの代表ノードとネットワークを介して接続してクラスタ間通信を行わせてもよい。
The inter-cluster communication
通信制御部120は、マスターノード以外のノードに、マスターノードのノード情報を受け取り、マスターノードとテスト通信を行わせるテスト通信処理部126と、マスターノードに、テスト通信の結果に基づきテスト通信を行ったノードの通信状態情報を当該ノードに関連づけてノード情報として保持させ、保持しているノード情報を他のノードに送信させる処理をおこなうノード情報管理処理部127を含む。
The
クラスタリング処理部121は、クラスタ内のノード数に制限を設け、当該クラスタのノード数が制限値を超えない範囲で、ノードをクラスタリングする処理を行ってもよい。 The clustering processing unit 121 may limit the number of nodes in the cluster and perform processing for clustering the nodes within a range in which the number of nodes in the cluster does not exceed the limit value.
クラスタリング処理部121は、クラスタ内のノード数に制限を設け、当該クラスタのノード数が制限値を超える場合には、当該クラスタを制限値を超えない数のノードで構成された複数のクラスタに分割する処理をおこなってもよい。 The clustering processing unit 121 sets a limit on the number of nodes in the cluster. When the number of nodes in the cluster exceeds the limit value, the clustering processing unit 121 divides the cluster into a plurality of clusters configured with a number of nodes that do not exceed the limit value. You may perform the process to do.
クラスタ内通信制御処理部122は、同じクラスタに属するノードと間をフルコネクト型のネットワーク構造で相互接続してクラスタ内通信を行ってもよい。
The intra-cluster communication
クラスタリング処理部121は、クラスタ代表である複数のノードを上位クラスタとしてクラスタリングする処理を行い、クラスタ内通信制御処理部122は、同じ上位クラスタに属するノード間でネットワークを構成して、ネットワークを介してゲームデータの送受信を行わせ、クラスタ代表判断部123は、上位クラスタに属するノードの通信状態に関する情報及び所定の規則の少なくとも一方に基づき、上位クラスタの代表ノードを判断し、クラスタ間通信制御処理部124は、上位クラスタの代表ノード間でネットワークを構成して、ゲームデータの送受信を行わせてもよい。
The clustering processing unit 121 performs processing for clustering a plurality of nodes representing the cluster as upper clusters, and the intra-cluster communication
ゲーム世界は、複数のエリアに分割されており、前記ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方には、プレーヤキャラクタが属するエリア情報を含み、ゲーム評価値演算部115は、前記エリア情報に基づき、プレーヤキャラクタの属するエリアに対応したゲーム評価値を求めてもよい。
The game world is divided into a plurality of areas, and at least one of the game situation and the game parameters of the player character includes area information to which the player character belongs, and the game evaluation
前記ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方には、仮想カメラの配置に関する仮想カメラ情報を含み、ゲーム評価値演算部115は、仮想カメラ情報に基づき、プレーヤキャラクタに対応したゲーム評価値を求めてもよい。
At least one of the game situation and the game parameter of the player character includes virtual camera information related to the placement of the virtual camera, and the game evaluation
描画部130は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータ(モデルデータ)に含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
The
なお、頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。 Note that the vertex processing and pixel processing are realized by hardware that enables polygon (primitive) drawing processing to be programmed by a shader program written in a shading language, so-called programmable shaders (vertex shaders and pixel shaders). Programmable shaders can be programmed with vertex-level processing and pixel-level processing, so that the degree of freedom of drawing processing is high, and expressive power is greatly improved compared to conventional hardware-based fixed drawing processing. Can do.
そして、描画部130は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
The
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、図示しないオブジェクトデータ記憶部に保存される。 In the geometry processing, processing such as coordinate conversion, clipping processing, perspective projection conversion, or light source calculation is performed on the object. Then, the object data (positional coordinates of object vertices, texture coordinates, color data (luminance data), normal vector, α value, etc.) after geometry processing (after perspective projection conversion) is stored in an object data storage unit (not shown). Saved.
テクスチャマッピングは、記憶部170のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
Texture mapping is a process for mapping a texture (texel value) stored in the texture storage unit of the
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が入力されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに入力されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。 As the hidden surface removal processing, hidden surface removal processing can be performed by a Z buffer method (depth comparison method, Z test) using a Z buffer (depth buffer) to which a Z value (depth information) of a drawing pixel is input. . That is, when a drawing pixel corresponding to the primitive of the object is drawn, the Z value input to the Z buffer is referred to. Then, the Z value of the referenced Z buffer is compared with the Z value at the drawing pixel of the primitive, and the Z value at the drawing pixel is a Z value (for example, a small Z value) on the near side when viewed from the virtual camera. In some cases, the drawing process of the drawing pixel is performed and the Z value of the Z buffer is updated to a new Z value.
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。 α blending (α synthesis) is a translucent synthesis process (usually α blending, addition α blending, subtraction α blending, or the like) based on an α value (A value).
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして出力できる。 The α value is information that can be stored in association with each pixel (texel, dot), for example, plus alpha information other than color information. The α value can be output as mask information, translucency (equivalent to transparency and opacity), bump information, and the like.
なお描画部130、オブジェクト空間設定部111,仮想カメラ制御112は、ゲーム演算結果に基づき、ゲーム世界のゲーム画像を生成する画像生成手段として機能する。
The
音生成部140は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
The
2.本実施の形態の手法
(1)クラスタリング処理
本実施の形態では、オンラインで通信対戦や協力プレイを行うマルチプレーヤゲームにおいて、専用サーバを設置せずに、Pe er to Peer(ピアトゥピア、ピアツーピア)でゲーム機を接続し、多人数でのプレイを可能とするネットワークトポロジーを構成する。 Peer to Peer(ピアトゥピア、ピアツーピア)とは、多数の端末間で通信を行う際のアーキテクチャのひとつで、対等の者ピア同士が通信をすることを特徴とする通信方式である。
2. Method of the present embodiment (1) Clustering process In this embodiment, in a multiplayer game that performs online communication battles and cooperative play, a game with Peer to Peer (Peer to Peer, Peer to Peer) without installing a dedicated server. Connect the machines and configure a network topology that allows multiple players to play. Peer to Peer (Peer to Peer) is one of the architectures when communicating between a large number of terminals, and is a communication system characterized by peer peers communicating with each other.
図2は本実施の形態のグループ化の一例(クラスタリング処理)を示す図である。 FIG. 2 is a diagram showing an example of grouping (clustering processing) according to the present embodiment.
ノードND001〜ND009は、プレーヤキャラクタPC1〜PC9(プレーヤキャラクタを操作するプレーヤでもよい)に対応して設定された通信単位であり、1つ以上の他のノードと接続され、ゲームデータの送受信を行う。 The nodes ND001 to ND009 are communication units set corresponding to the player characters PC1 to PC9 (may be a player who operates the player character), and are connected to one or more other nodes to transmit and receive game data. .
ゲームデータとは、ゲームの仕様に応じて決められるデータであり、例えばキャラクタの位置や回転情報でもよいし、ゲームパラメータでもよいし、キー情報(入力キーの情報)でもよいし、カウンタ情報やイベントトリガ等の情報でもよい。 The game data is data determined according to game specifications, and may be, for example, character position and rotation information, game parameters, key information (input key information), counter information, and event information. Information such as a trigger may be used.
1台のゲーム装置(ゲーム情報生成装置でもよい)に1人のプレーヤが対応したゲーム装置を複数接続して通信対戦をおこなう場合には、1台のゲーム装置に1つのノードが存在する。また例えば画面分割して1つのゲーム機でn人のプレーヤがゲームするゲーム装置(1台のゲーム装置にn人のプレーヤ対応したゲーム装置)複数接続して通信対戦をおこなう場合には、1台のゲーム装置にn個のノードが存在する。この様な場合、1台のゲーム機に対応した複数のノードは、同じIPアドレスで異なるポート番号を有している。 When a game is played by connecting a plurality of game devices corresponding to one player to one game device (which may be a game information generation device), one node exists in one game device. Further, for example, when a plurality of game devices (game devices corresponding to n players for one game device) are connected to perform a communication battle by dividing a screen and playing n players on one game machine, There are n nodes in the game device. In such a case, a plurality of nodes corresponding to one game machine have different port numbers with the same IP address.
本実施の形態では、グループ決定用のゲーム評価値に基づきノードをグループ化し、グループ内のノード間でゲームデータの送受信を行う通信頻度を、グループ外のノード間でゲームデータの送受信を行う通信頻度よりも高くする通信頻度制御、及びグループ内のノード間のネットワーク接続をグループ外のノード間のネットワーク接続よりも密にするネットワーク接続制御の少なくとも一方を行う。 In the present embodiment, the nodes are grouped based on the game evaluation value for group determination, and the communication frequency for transmitting / receiving game data between the nodes in the group is the communication frequency for transmitting / receiving game data between the nodes outside the group. At least one of communication frequency control to be higher and network connection control to make network connection between nodes in the group denser than network connection between nodes outside the group.
ゲーム評価値は、ゲーム状況及びプレーヤキャラクタのゲームパラメータの少なくとも一方に基づき決定される値である。例えばプレーヤキャラクタのゲーム世界における位置データ(ゲームパラメータの一例)により、ゲーム評価値を決定してもよい。例えばゲーム世界における位置座標の分布から、距離が所定値以内(近くにいる)プレーヤキャラクタをグループ化してもよい。所与のタイミング(たとえばゲーム開始時)でゲーム世界のプレーヤキャラクタ間の距離を求め、距離が所定値以内のプレーヤキャラクタをグループ化してもよい。そして、グループ形成後は、所定のサイクルで各プレーヤキャラクタ間の距離を再計算して、グループを構成するノードを変更してもよい。また各プレーヤキャラクタの位置の変化によりノードの属するグループを変更してもよい。 The game evaluation value is a value determined based on at least one of the game situation and the game parameter of the player character. For example, the game evaluation value may be determined based on position data of the player character in the game world (an example of a game parameter). For example, based on the distribution of position coordinates in the game world, player characters whose distances are within a predetermined value (near) may be grouped. The distance between the player characters in the game world may be obtained at a given timing (for example, at the start of the game), and the player characters whose distances are within a predetermined value may be grouped. Then, after forming the group, the nodes constituting the group may be changed by recalculating the distance between the player characters in a predetermined cycle. Further, the group to which the node belongs may be changed by changing the position of each player character.
またグループの代表となるプレーヤキャラクタを複数抽出し、抽出されたプレーヤキャラクタを基準に、当該プレーヤキャラクタと所定の位置関係(所定の距離内でもよい)にあるプレーヤキャラクタをグループ化してもよい。 Alternatively, a plurality of player characters that represent the group may be extracted, and the player characters that are in a predetermined positional relationship (may be within a predetermined distance) with the player character may be grouped based on the extracted player characters.
またゲーム空間を、複数のエリアに分割し、プレーヤキャラクタが属するエリアに対応したゲーム評価値を求めてもよい。また例えば仮想カメラがプレーヤキャラクタに追従するようなゲームの場合には、仮想カメラの配置(位置、回転、画角)に基づき、プレーヤキャラクタのゲーム評価値を求めてもよい。 Further, the game space may be divided into a plurality of areas, and a game evaluation value corresponding to the area to which the player character belongs may be obtained. For example, in the case of a game in which the virtual camera follows the player character, the game evaluation value of the player character may be obtained based on the arrangement (position, rotation, angle of view) of the virtual camera.
ここで、ノードND001〜ND009に対応するプレーヤキャラクタPC1〜PC9のゲーム評価値がGV1〜GV9であり、それぞれGV1=1、GV2=1、GV3=1、GV4=2、GV5=1、GV6=3、GV7=3、GV8=3、GV9=3であるとする。この様な場合、プレーヤキャラクタのゲーム評価値が1であるノードND001〜D003の集合をグループ化(KL001)し、プレーヤキャラクタのゲーム評価値が2であるノードND004とD005の集合をグループ化(KL002)し、プレーヤキャラクタのゲーム評価値が3であるノードND006〜D009の集合をグループ化(KL003)してもよい。グループ内では各ノードは、グループ内の他のノードすべてと相互接続(フルコネクト型のネットワーク構造で相互接続)されてもよい。グループ内でのノード間通信α1、α2、α3では第1の通信頻度でゲームデータのやりとりを行う。 Here, the game evaluation values of the player characters PC1 to PC9 corresponding to the nodes ND001 to ND009 are GV1 to GV9, respectively GV1 = 1, GV2 = 1, GV3 = 1, GV4 = 2, GV5 = 1, GV6 = 3. , GV7 = 3, GV8 = 3, and GV9 = 3. In such a case, a set of nodes ND001 to D003 having a player character game evaluation value of 1 is grouped (KL001), and a set of nodes ND004 and D005 having a player character game evaluation value of 2 is grouped (KL002). ), And a set of nodes ND006 to D009 having a player character game evaluation value of 3 may be grouped (KL003). Within a group, each node may be interconnected (interconnected with a fully connected network structure) with all other nodes in the group. In inter-node communication α1, α2, and α3 within the group, game data is exchanged at the first communication frequency.
また他のグループのノード(グループ外のノード)のゲームデータも必要なので、グループ間でもゲームデータの送受信を行う。グループ間でのデータの送受信は、グループの代表(クラスタサーバとよぶ)がおこなってもよい。 Since game data of nodes in other groups (nodes outside the group) is also necessary, game data is transmitted and received between groups. Data transmission / reception between groups may be performed by a group representative (called a cluster server).
グループ化はクラスタリング処理により実現してもよい。以下グループをクラスタと呼ぶ。図2では、クラスタKL001のクラスタサーバはノードND001であり、クラスタKL002のクラスタサーバはND004であり、クラスタKL003のクラスタサーバはND006となっている。 Grouping may be realized by clustering processing. Hereinafter, the group is referred to as a cluster. In FIG. 2, the cluster server of the cluster KL001 is the node ND001, the cluster server of the cluster KL002 is ND004, and the cluster server of the cluster KL003 is ND006.
例えばクラスタKL001のゲームデータ(クラスタKL001を構成するノードND001、ND002、ND003のゲームデータの集合でもよい)は、クラスタKL001のクラスタサーバND001が、隣接クラスタ(直接接続されているクラスタ)KL002のクラスタサーバND004に送信する。またクラスタKL001のクラスタサーバND001は、隣接クラスタKL002のクラスタサーバND004からクラスタKL002のゲームデータ及び隣接しないクラスタ(直接接続されていないクラスタ)KL003のゲームデータを受信する。この様にクラスタサーバは隣接しないクラスタ(直接接続されていないクラスタ)KL003のゲームデータについては、隣接クラスタKL002のクラスタサーバND006を介して受信する。 For example, the game data of the cluster KL001 (which may be a set of game data of the nodes ND001, ND002, and ND003 constituting the cluster KL001) is the cluster server of the cluster ND001 of the cluster KL001 and the cluster server of the adjacent cluster (cluster directly connected) KL002. Send to ND004. The cluster server ND001 of the cluster KL001 receives the game data of the cluster KL002 and the game data of the non-adjacent cluster (cluster not directly connected) KL003 from the cluster server ND004 of the adjacent cluster KL002. In this way, the cluster server receives the game data of the non-adjacent cluster (cluster not directly connected) KL003 via the cluster server ND006 of the adjacent cluster KL002.
この様なクラスタ間通信βのゲームデータの送受信は、第1の通信頻度より低い第2の通信頻度で行う。このようにすることにより、クラスタ外(グループ外)の他のノードに対するタイムラグに比べて、グループ内(クラスタ内)の他のノードに対するタイムラグを小さくすることができる。すなわち、ゲーム世界の状況に応じてノード間の通信環境にメリハリをつけることができるので、ネットワークの負荷の増大を防ぎつつ、通信遅延によるゲームへの影響を最小現にする効率のよい通信制御を行うことができる。 Such game data transmission / reception of the inter-cluster communication β is performed at a second communication frequency lower than the first communication frequency. By doing so, the time lag for other nodes in the group (in the cluster) can be made smaller than the time lag for other nodes outside the cluster (outside the group). In other words, the communication environment between nodes can be sharpened according to the situation of the game world, so that efficient communication control that minimizes the effect on the game due to communication delay is performed while preventing an increase in network load. be able to.
受信した他のクラスタの情報は、クラスタサーバND001が、クラスタ内の他のノードND002、ND003に送信する(クラスタ内通信)。このように、クラスタ内のクラスタサーバ以外のノードND002、ND003は、クラスタサーバND001を介して、他のクラスタKL002、KL003のゲームデータを受信し、またクラスタサーバND001を介して、他のクラスタKL002、KL003にゲームデータを送信することができる。 The received cluster information is transmitted from the cluster server ND001 to the other nodes ND002 and ND003 in the cluster (intra-cluster communication). As described above, the nodes ND002 and ND003 other than the cluster server in the cluster receive the game data of the other clusters KL002 and KL003 via the cluster server ND001, and the other clusters KL002 and ND002 via the cluster server ND001. Game data can be transmitted to KL003.
ノードの接続情報は、ノード内で管理される。後述する図8で説明するに、各ノードがノード間の接続情報テーブルを保持してもよい。なお各ノードは全ノードに付いての接続情報を保持していてもよいし、一部のノードの接続情報のみ有していてもよい。また離れたクラスタの接続情報は必要ない場合がおおいので、各ノードが、ノードが属するクラスタ及びそのノードが直接接続されているクラスタについてのみノードの接続情報を保持するようにしてもよい。 Node connection information is managed within the node. As will be described later with reference to FIG. 8, each node may hold a connection information table between nodes. Each node may hold connection information for all nodes, or may have connection information for only some nodes. In addition, since connection information of distant clusters is often unnecessary, each node may hold node connection information only for a cluster to which the node belongs and a cluster to which the node is directly connected.
なお図2に示すようにクラスタサーバ同士は、フルコネクト接続でなくてもよい。直接接続されていないクラスタサーバのゲームデータは、直接接続されているクラスタサーバを経由して取得してもよい。 As shown in FIG. 2, the cluster servers do not have to be fully connected. The game data of the cluster server that is not directly connected may be obtained via the cluster server that is directly connected.
図9は、上流ノードと下流ノードについて説明するための図である。 FIG. 9 is a diagram for explaining the upstream node and the downstream node.
クラスタKL001のクラスタサーバであるノードND001、クラスタKL002のクラスタサーバであるノードND004、クラスタKL003のクラスタサーバであるノードND006をグループA(320)とし、ノードND002,ND003、ND005、ND007、ND008、ND009をグループB(310)とすると、グループA(320)は、グループB(310)の上流ノードとなる。またグループB(310)は、グループA(320)の下流ノードとなる。 Node ND001, which is the cluster server of cluster KL001, node ND004, which is the cluster server of cluster KL002, and node ND006, which is the cluster server of cluster KL003, are group A (320), and nodes ND002, ND003, ND005, ND007, ND008, and ND009 Assuming group B (310), group A (320) is an upstream node of group B (310). Group B (310) is a downstream node of group A (320).
クラスタサーバは、各クラスタ内で通信環境のよいノード(例えば図7に示す通信状態情報240がよいもので、通信状態情報がラウンドトリップタイム(RTT)で与えられる場合にはRTTがより短いもの)がなるようにしてもよい。
The cluster server is a node having a good communication environment in each cluster (for example, the
この様にすると上流ノードは下流ノードに比べ通信状態がよくなる。上流ノードは隣接する上流ノードと接続して、上流ノード間で自己の下流ノードのデータのやりとりを行う。後述するクラスタ変更処理で説明するようにノードが他のクラスタに移動する場合には、クラスタ内のノードの接続を張り直し、上流ノードが他のクラスタに移動した場合には、下流ノードで通信環境のよいノードが上流ノードになる。 In this way, the upstream node has a better communication state than the downstream node. The upstream node is connected to an adjacent upstream node and exchanges data of its own downstream node between the upstream nodes. When a node moves to another cluster as described in the cluster change process described later, the connection of the node in the cluster is reestablished. When the upstream node moves to another cluster, the communication environment on the downstream node The better node becomes the upstream node.
ゲーム評価値によりノードをクラスタリングすることにより、離れたクラスタのゲームデータは多少の遅延はあっても、当該ノードのゲーム画像にはあまり影響がないようにすることができるので、通信によるトラフィックを弊害なく効果的に下げることができる。 By clustering nodes according to game evaluation values, even if there is some delay in game data of a distant cluster, it is possible to prevent the game image of the node from being affected so much, and traffic caused by communication is adversely affected. Can be effectively reduced.
本実施の形態では、各ゲーム装置(ノード)は同じプログラムがインストールされている。プログラムは、複数の機能を実現するためのアルゴリズムをふくんでおり、ノードの役割に応じた機能を実現可能に構成されている。例えばプログラムは「クラスタ内通信制御処理ルーチン(ノードがクラスタサーバである場合の処理)」や「クラスタ間通信制御処理ルーチン」や、「クラスタ代表判断処理ルーチン」や「テスト通信処理ルーチン(ノードがマスターノードである場合に実行する処理)」や「ノード情報管理処理ルーチン」を含んでおり、ノードがクラスタサーバである場合には「クラスタ間通信制御処理ルーチン(ノードがクラスタサーバである場合の処理)」を実行するが、ノードがクラスタサーバでない場合には「クラスタ間通信制御処理ルーチン(ノードがクラスタサーバである場合の処理)」は実行されない。本実施の形態では、ゲーム中にクラスタサーバは変わる可能性があるため、すべてのノードが、上記全処理を実行可能なプログラムがインストールされている。 In the present embodiment, the same program is installed in each game device (node). The program includes an algorithm for realizing a plurality of functions, and is configured so that a function corresponding to the role of the node can be realized. For example, the program can be called “intra-cluster communication control processing routine (processing when the node is a cluster server)”, “inter-cluster communication control processing routine”, “cluster representative judgment processing routine” or “test communication processing routine (node is master). If the node is a cluster server, the “inter-cluster communication control processing routine (processing when the node is a cluster server)” is included. However, if the node is not a cluster server, the “inter-cluster communication control processing routine (processing when the node is a cluster server)” is not executed. In the present embodiment, since the cluster server may change during the game, a program capable of executing all the above processes is installed in all nodes.
(2)クラスタサーバの決定処理
次にクラスタサーバの決定処理について説明する。各ノードは、クラスタに属するノードの通信状態情報に基づき、同じアルゴリズム(プログラム)で、クラスタサーバを判断する。各ノードは、自己が保持しているノード情報に含まれたノードの通信状態情報を得ることができる。
(2) Cluster Server Determination Processing Next, cluster server determination processing will be described. Each node determines a cluster server with the same algorithm (program) based on the communication state information of the nodes belonging to the cluster. Each node can obtain the communication state information of the node included in the node information held by itself.
各ノードが有している情報は、全ノードのノード情報(IPアドレス、ポート番号、通信状態情報を含む)と、同じクラスタを構成するノードを特定するクラスタ情報でもよい。 The information possessed by each node may be node information (including an IP address, a port number, and communication state information) of all nodes, and cluster information that identifies nodes constituting the same cluster.
図7は、本実施の形態のノード情報について説明するための図である。 FIG. 7 is a diagram for describing node information according to the present embodiment.
ノード情報200は、各ノードのIPアドレス220、ポート番号230、通信状態情報240を含む情報であり、各ノードのノードID210に関連づけて記憶されている。通信状態情報240は、各ノードの通信状態に関する情報であり、例えばマスターノードとのテスト通信におけるラウンドトリップタイム(RTT)や往復遅延時間。(あるデータを送ってから、相手の確認応答が戻ってくるまでにかかる時間)でもよい。マスターノードとのテスト通信は、ノードのゲーム参加時に行うようにしてもよい。なおその後は、所定のタイミングで更新してもよいし、ネットワークの負荷を増加させないために、更新はしなくてもよい。
The
各ノードは、ゲームに参加している(同じゲーム世界にいる)全ノードのノード情報を有している。なおゲームに参加している全ノードの情報は、マスターノードとして設定されているノードが管理している。すなわち通信状態情報240を更新しない場合には、ノード情報の更新があるのは、新たなノードがゲームに参加する場合と、現在ゲームに参加しているノードがゲームから離脱する場合等である。新たなノードがゲームに参加する場合には、後述するように、管理サーバにゲーム参加申し込みをして、管理サーバから参加するゲーム世界を管理しているマスターノードを紹介され、マスターノードから参加許可を受けることになる。従ってマスターノードは、ゲームに参加するノードを把握しているため、参加許可を与えた時点でノード情報を更新する。すなわち新たに参加したノードに関するノード情報を追加する。参加申し込みをしたノードとマスターノードがテスト通信をおこない、そのときにRTT情報を当該ノードの通信状態情報240としてもよい。
Each node has node information of all nodes participating in the game (in the same game world). Information on all nodes participating in the game is managed by a node set as a master node. That is, when the
図8(A)〜(C)は、クラスタ情報について説明するための図である。 8A to 8C are diagrams for explaining the cluster information.
図8(A)は、図2のクラスタKL001のクラスタ情報であり、図8(B)は、図2のクラスタKL002のクラスタ情報であり、図8(C)は、図2のクラスタKL003のクラスタ情報である。クラスタ情報は、各クラスタを構成するノードを特定するための情報である構成ノード情報(構成ノードのノードID)210を含む。それ以外にも、構成ノードに対応するプレーヤキャラクタの位置情報270、構成ノードがクラスタサーバか否かを示すクラスタサーバフラグ280を含んでいてもよいが必須ではない。なおプレーヤキャラクタの位置情報270は、ゲームデータとして有しているプレーヤキャラクタの位置情報を参照してもよい。
8A is cluster information of the cluster KL001 in FIG. 2, FIG. 8B is cluster information of the cluster KL002 in FIG. 2, and FIG. 8C is a cluster information in the cluster KL003 in FIG. Information. The cluster information includes configuration node information (node ID of the configuration node) 210 that is information for specifying the nodes configuring each cluster. In addition, the
クラスタに属する各ノードは、自分のクラスタに関するクラスタ情報を有している。すなわち図2のクラスタKL001に属するノードND001、ND002、ND003は、クラスタKL001のクラスタ情報(図8(A))を有しており、図2のクラスタKL002に属するノードND004、ND005はクラスタKL002のクラスタ情報(図8(B))を有しており、図2のクラスタKL003に属するノードND006、ND007、ND008、ND009はクラスタKL003のクラスタ情報(図8(C))を有している。 Each node belonging to the cluster has cluster information regarding its own cluster. That is, the nodes ND001, ND002, and ND003 belonging to the cluster KL001 in FIG. 2 have the cluster information of the cluster KL001 (FIG. 8A), and the nodes ND004 and ND005 belonging to the cluster KL002 in FIG. 2 are the clusters of the cluster KL002. The nodes ND006, ND007, ND008, and ND009 belonging to the cluster KL003 of FIG. 2 have the cluster information of the cluster KL003 (FIG. 8C).
各クラスタのノードは自己が属するクラスタのクラスタ情報に基づき自己が属するクラスタのクラスタサーバがどのノードであるか把握し、図7に示すノード情報に基づき、クラスタアドレスの通信アドレス(IPアドレスとポート番号)を取得することができる。例えばノードND001は、クラスタKL001のクラスタ情報に基づき、自己と同じクラスタに属するノードがND002とND003であることを把握する。そしてノード情報に基づき、ノードND001、ND002、ND003の通信状態情報を取得することができ、通信状態情報に基づき、クラスタサーバを判断する。例えばクラスタサーバを選ぶ規則として、「クラスタ内で最も通信状態がよいノードをクラスタサーバとする」と決めておくことにより、クラスタ内の各ノードは、各ノードが個別にクラスタサーバを判断する際に一意に同じノードをクラスタサーバとして決定することができる。 The node of each cluster grasps which node is the cluster server of the cluster to which the cluster belongs based on the cluster information of the cluster to which the cluster belongs, and based on the node information shown in FIG. 7, the communication address (IP address and port number) of the cluster address ) Can be obtained. For example, the node ND001 grasps that the nodes belonging to the same cluster as the node ND002 and ND003 are based on the cluster information of the cluster KL001. Based on the node information, the communication status information of the nodes ND001, ND002, and ND003 can be acquired, and the cluster server is determined based on the communication status information. For example, as a rule for selecting a cluster server, it is determined that “the node with the best communication state in the cluster is the cluster server”, so that each node in the cluster can determine the cluster server individually. The same node can be uniquely determined as a cluster server.
なおクラスタサーバを決定するのは、何らかの事情でクラスタサーバが変更するときである。クラスタサーバ変更時に新たなクラスタサーバを決定したら、クラスタ情報のクラスタサーバフラグを更新する。そして、クラスタサーバの変更がおこらない限りは、クラスタサーバフラグを参照して、クラスタサーバであるノードを判断する。 The cluster server is determined when the cluster server is changed for some reason. If a new cluster server is determined when the cluster server is changed, the cluster server flag in the cluster information is updated. As long as the cluster server is not changed, the cluster server flag is referenced to determine the node that is the cluster server.
(3)クラスタ変更処理
図3、図4は、クラスタ変更処理について説明するための図である。
(3) Cluster Change Processing FIGS. 3 and 4 are diagrams for explaining the cluster change processing.
本実施では、ゲーム評価値の変化により、ノードに適したクラスタが、当該ノードに割り当てられているクラスタと異なるクラスタに変化した場合には、当該ノードに割り当てるクラスタを変更するクラスタ変更処理を行う。ここで、前記ゲーム世界が複数のエリアに分割されており、プレーヤキャラクタの属するエリアに対応したゲーム評価値を求め、クラスタが形成される場合を例に取り説明する。 In this embodiment, when a cluster suitable for a node is changed to a cluster different from the cluster assigned to the node due to a change in the game evaluation value, a cluster change process is performed for changing the cluster assigned to the node. Here, a case where the game world is divided into a plurality of areas, a game evaluation value corresponding to the area to which the player character belongs is obtained, and a cluster is formed will be described as an example.
図3は、ゲーム世界におけるプレーヤキャラクタの位置の変化を示している。ゲーム世界は、図3に示すように複数のエリアE1〜E10に分割されている。400−t1は時刻t1におけるゲーム世界におけるプレーヤキャラクタPC001〜PC009の位置分布を示している。同図に示すようにプレーヤキャラクタPC001〜PC003はエリアE1に存在し、プレーヤキャラクタPC004、PC005はエリアE2に存在し、プレーヤキャラクタPC006〜PC009はエリアE3に存在する。 FIG. 3 shows changes in the position of the player character in the game world. The game world is divided into a plurality of areas E1 to E10 as shown in FIG. 400-t1 indicates the position distribution of the player characters PC001 to PC009 in the game world at time t1. As shown in the drawing, the player characters PC001 to PC003 exist in the area E1, the player characters PC004 and PC005 exist in the area E2, and the player characters PC006 to PC009 exist in the area E3.
なお通信単位であるノードはプレーヤキャラクタに対応して設定されるため、PC001からPC009にそれぞれND001〜ND009が対応する。 Since the nodes as communication units are set corresponding to the player characters, ND001 to ND009 correspond to PC001 to PC009, respectively.
この様な場合、同じエリアに存在するプレーヤキャラクタに対応したノードを同じクラスタに割り当てし、クラスタリングしてもよい。 In such a case, nodes corresponding to player characters existing in the same area may be assigned to the same cluster and clustered.
同じエリアに存在するプレーヤキャラクタはゲーム世界で近くに位置するため、同じ画像内に登場する可能正が高い。図16は、プレーヤキャラクタPC001に対して生成されるゲーム画像の一例を示している。プレーヤキャラクタPC001に対して生成されるゲーム画像410は、プレーヤキャラクタPC001を操作するプレーヤの表示部に表示されるゲーム画像であり、プレーヤキャラクタPC001に追従する仮想カメラからゲーム空間(ゲーム世界が3次元である場合)を見た画像となる。ゲーム画像410には、図16に示すように、プレーヤキャラクタPC001に近い位置にいる(同じエリアに存在する)プレーヤキャラクタPC002、PC003の画像が生成される可能性が高い。これに対し、プレーヤキャラクタPC001から離れた(異なるエリアに存在する)プレーヤキャラクタPC004〜PC009の画像は生成される可能性が低い。すなわち同じエリアに位置するプレーヤキャラクタの情報はゲーム画像に反映される確率が高いのでタイムラグなく更新することが好ましいが、ゲーム世界で異なるエリア位置するプレーヤキャラクタの情報は、ゲーム画像に反映される確率が低いので通信遅延により反映されるのに多少のタイムラグがあっても問題とならない場合がおおい。
Since player characters existing in the same area are located close together in the game world, there is a high possibility that they will appear in the same image. FIG. 16 shows an example of a game image generated for the player character PC001. The
図4の400−t1は、図3の400−t1の位置分布における、プレーヤキャラクタに対応するノードのネットワーク構成を示している。 400-t1 in FIG. 4 indicates the network configuration of the node corresponding to the player character in the position distribution of 400-t1 in FIG.
時刻t1において、ゲーム世界で同じエリアE1に属するプレーヤキャラクタPC001〜PC003に対応するノードND001〜ND003は、同じクラスタKL001にクラスタリングされている。 At time t1, nodes ND001 to ND003 corresponding to player characters PC001 to PC003 belonging to the same area E1 in the game world are clustered in the same cluster KL001.
また時刻t1において、ゲーム世界で同じエリアE2に属するプレーヤキャラクタPC004、PC005に対応するノードND004、ND005は、同じクラスタKL002にクラスタリングされている。 At time t1, the nodes ND004 and ND005 corresponding to the player characters PC004 and PC005 belonging to the same area E2 in the game world are clustered in the same cluster KL002.
また時刻t1において、ゲーム世界で同じエリアE3に属するプレーヤキャラクタPC006〜PC009に対応するノードND006〜ND009は、同じクラスタKL003にクラスタリングされている。 At time t1, nodes ND006 to ND009 corresponding to player characters PC006 to PC009 belonging to the same area E3 in the game world are clustered in the same cluster KL003.
図3の400−t2は時刻t2におけるゲーム世界におけるプレーヤキャラクタPC001〜PC009の位置分布を示している。時刻t1においてエリアE1に位置していたプレーヤキャラクタPC02は、時刻t2においてはエリアE2に位置している。また時刻t1においてエリアE3に位置していたプレーヤキャラクタPC006は、時刻t2においては、ゲームから離脱して、ゲーム世界に存在しなくなっている。従って時刻t2においては、プレーヤキャラクタPC001、PC003はエリアE1に存在し、プレーヤキャラクタPC002、PC004、PC005はエリアE2に存在し、プレーヤキャラクタPC007〜PC009はエリアE3に存在する。 400-t2 in FIG. 3 indicates the position distribution of the player characters PC001 to PC009 in the game world at time t2. The player character PC02 located in the area E1 at time t1 is located in the area E2 at time t2. Further, the player character PC006 located in the area E3 at the time t1 leaves the game and does not exist in the game world at the time t2. Therefore, at time t2, the player characters PC001 and PC003 exist in the area E1, the player characters PC002, PC004, and PC005 exist in the area E2, and the player characters PC007 to PC009 exist in the area E3.
図4の400−t2は、図3の400−t2の位置分布における、プレーヤキャラクタに対応するノードのネットワーク構成を示している。 400-t2 in FIG. 4 shows the network configuration of the node corresponding to the player character in the position distribution of 400-t2 in FIG.
時刻t1〜時刻t2におけるプレーヤキャラクタPC002のエリア変化に伴って、プレーヤキャラクタPC002に対応するノードND002の属するクラスタが、KL001からKL002に変化している。ノードND002は、プレーヤキャラクタPC002の属するエリアがE1からE2に変化したことを検出すると、プレーヤキャラクタPC002に対応したノードに適したクラスタはKL002であると判断する。しかしその時点でノードND002に割り当てられているクラスタはKL001であるため、クラスタKL001を離脱し、クラスタKL002に参加する処理を行う。 As the area of the player character PC002 changes from time t1 to time t2, the cluster to which the node ND002 corresponding to the player character PC002 belongs has changed from KL001 to KL002. When the node ND002 detects that the area to which the player character PC002 belongs has changed from E1 to E2, the node ND002 determines that the cluster suitable for the node corresponding to the player character PC002 is KL002. However, since the cluster assigned to the node ND002 at that time is KL001, a process of leaving the cluster KL001 and joining the cluster KL002 is performed.
離脱する際には、それまで属していたクラスタKL001に属する他のノードND001、ND002に離脱する旨の通知を送信する。離脱通知を受信したクラスタ内のノードND001,ND003は、自己の保持するクラスタ情報を更新する。すなわちKL001のクラスタ情報の構成ノード情報から、ノードND002を削除する。なおノードND002は、クラスタサーバではないので、新たなクラスタサーバを決定する処理は行われない。もし離脱通知をしたノードがクラスタサーバである場合には、当該クラスタの新たなクラスタサーバを決定する処理が行われる。 When leaving, a notification to leave is transmitted to the other nodes ND001 and ND002 belonging to the cluster KL001 that belonged so far. The nodes ND001 and ND003 in the cluster that have received the leave notification update the cluster information held by themselves. That is, the node ND002 is deleted from the configuration node information of the cluster information of KL001. Since the node ND002 is not a cluster server, the process for determining a new cluster server is not performed. If the node that made the leave notification is a cluster server, a process for determining a new cluster server of the cluster is performed.
またノードND002は、クラスタKL002のクラスタ情報に基づき、クラスタKL002のクラスタサーバがどのノードであるか判断し、クラスタサーバであるノードに参加申し込みを行う。 Further, the node ND002 determines which node the cluster server of the cluster KL002 is based on the cluster information of the cluster KL002, and applies to the node that is the cluster server.
図8のクラスタ情報の説明において、各ノードは、自己が属するクラスタのクラスタ情報を保持していると述べたが、各ノードは直接接続されているクラスタのクラスタ情報(隣接クラスタ情報と呼ぶ)も保持していてもよい。例えば図2においてはクラスタKL001はクラスタKL002とは直接接続されているが、クラスタKL003とは直接接続されていない。このような場合、クラスタKL001に属する各ノードND001〜ND003は、隣接クラスタ情報としてクラスタKL002のクラスタ情報を有している。 In the description of the cluster information in FIG. 8, each node has been described as holding cluster information of the cluster to which it belongs, but each node also has cluster information (referred to as adjacent cluster information) of the directly connected cluster. You may hold. For example, in FIG. 2, the cluster KL001 is directly connected to the cluster KL002, but is not directly connected to the cluster KL003. In such a case, each of the nodes ND001 to ND003 belonging to the cluster KL001 has the cluster information of the cluster KL002 as the adjacent cluster information.
また例えば図4の400−t1においてはクラスタKL001はクラスタKL002、KL003と直接接続されているので、このような場合、クラスタKL001に属する各ノードND001〜ND003は、隣接クラスタ情報としてクラスタKL002とクラスタKL003のクラスタ情報を有している。 Further, for example, at 400-t1 in FIG. 4, the cluster KL001 is directly connected to the clusters KL002 and KL003. In such a case, the nodes ND001 to ND003 belonging to the cluster KL001 have the cluster KL002 and the cluster KL003 as adjacent cluster information. Cluster information.
従ってノードND002は、KL002のクラスタ情報に基づき、クラスタKL002のクラスタサーバはND004であることを把握し、ノード情報(図7参照)によって、ND004のIPアドレスとポート番号を取得して、ノードND004に対して、クラスタKL002への参加申し込みを送信する。参加申し込みを受けたノードND004は、参加の許可又は不許可の判断を行う。 Therefore, the node ND002 recognizes that the cluster server of the cluster KL002 is ND004 based on the cluster information of KL002, acquires the IP address and port number of ND004 based on the node information (see FIG. 7), and sends it to the node ND004. In contrast, an application for participation in cluster KL002 is transmitted. The node ND004 that has received the participation application determines whether to participate or not.
例えばクラスタ内のノード数に制限を設けている場合には、当該クラスタのノード数が制限値を超えない場合には、参加を許可する。また当該クラスタのノード数が制限値を超える場合に、当該クラスタを制限値を超えない数のノードで構成された複数のクラスタに分割する処理を行って分割後のいずれかのクラスタへの参加を許可してもよい。 For example, when there is a limit on the number of nodes in the cluster, participation is permitted if the number of nodes in the cluster does not exceed the limit value. In addition, if the number of nodes in the cluster exceeds the limit value, the cluster is divided into a plurality of clusters composed of nodes that do not exceed the limit value, and participation in any of the clusters after the division is performed. You may allow it.
図4では、ノードND002のクラスタKL002への参加は許可され、クラスタKL002を構成するノードは、ND002、ND004、ND005となる。クラスタKL002のクラスタサーバであるノードND004は、自己の保持するKL002のクラスタ情報を更新するとともに、新たなノードND002の参加をクラスタ内の他のノードND005に通知する。参加通知を受信したクラスタ内ノードND005、ND002は、自己の保持するクラスタ情報を更新する。すなわちKL002のクラスタ情報の構成ノード情報に、ノードND002を追加する。 In FIG. 4, the node ND002 is allowed to participate in the cluster KL002, and the nodes constituting the cluster KL002 are ND002, ND004, and ND005. The node ND004, which is the cluster server of the cluster KL002, updates the cluster information of the KL002 held by itself and notifies the other nodes ND005 in the cluster of the participation of the new node ND002. The nodes ND005 and ND002 in the cluster that have received the participation notification update the cluster information held by itself. That is, the node ND002 is added to the configuration node information of the cluster information of KL002.
時刻t1〜時刻t2におけるプレーヤキャラクタPC006のゲーム世界からの離脱また通信切断に伴って、プレーヤキャラクタPC006に対応するノードND006が属していたクラスタKL003の構成が変化している。例えばノードND006はゲーム世界から離脱する場合には、同じクラスタに属する他のノードND007〜ND009に離脱通知を送信するので、これを受信した同じクラスタに属する他のノードND007〜ND009は、ノードND006の離脱を把握する。また例えばノードND006の通信切断が生じた場合には、同じクラスタに属する他のノードND007〜ND009は、ノードND006との相互通信ができなくなることによりノードND006の通信切断を把握する。 The configuration of the cluster KL003 to which the node ND006 corresponding to the player character PC006 belongs has changed as the player character PC006 leaves the game world or is disconnected from time t1 to time t2. For example, when the node ND006 leaves the game world, the node ND006 transmits a leave notification to the other nodes ND007 to ND009 belonging to the same cluster, so that the other nodes ND007 to ND009 belonging to the same cluster that have received the node ND006 Know the withdrawal. Further, for example, when the communication disconnection of the node ND006 occurs, the other nodes ND007 to ND009 belonging to the same cluster grasp the communication disconnection of the node ND006 because the communication with the node ND006 becomes impossible.
ノードND006の離脱又は通信切断を把握した同じクラスタに属する他のノードND007〜ND009は、自己が保持するクラスタ情報によりノードND006がクラスタサーバであったことを把握しているので、新たなクラスタサーバを決定する処理を行う。各ノードは同じアルゴリズム及び各ノードが保持しているノード情報とクラスタ情報に基づいて一意に新たなクラスタサーバをノードND009に決定し、各自のクラスタ情報を更新する。 The other nodes ND007 to ND009 belonging to the same cluster that grasped the disconnection or communication disconnection of the node ND006 know that the node ND006 was a cluster server based on the cluster information held by the node ND006. Perform the decision process. Each node uniquely determines a new cluster server as the node ND009 based on the same algorithm, node information and cluster information held by each node, and updates its own cluster information.
またクラスタKL003の新たなクラスタサーバとなったノードND009は、他のクラスタのクラスタサーバであるノードND001、ND004とクラスタのゲームデータの送受信を行う。 Also, the node ND009 that has become a new cluster server of the cluster KL003 transmits / receives game data of the cluster to / from nodes ND001 and ND004 that are cluster servers of other clusters.
(4)クラスタの階層構造
クラスタが多数存在する場合には、クラスタサーバ同士をクラスタリングすることで、さらに効率的な処理を行うことができる。
(4) Cluster Hierarchical Structure When there are many clusters, more efficient processing can be performed by clustering cluster servers.
図5は、クラスタの階層構造について説明する図である。 FIG. 5 is a diagram for explaining the hierarchical structure of a cluster.
クラスタサーバであるノードND001、ND004、ND006はクラスタリングされ上位クラスタSKL01を構成し、クラスタサーバであるノードND0010、ND013、ND015はクラスタリングされ上位クラスタSKL02を構成している。 Nodes ND001, ND004, and ND006 that are cluster servers are clustered to form an upper cluster SKL01, and nodes ND0010, ND013, and ND015, which are cluster servers, are clustered to form an upper cluster SKL02.
同じ上位クラスタSKL01に属するクラスタサーバであるノードND001,ND004、ND006は、上位クラスタSKL01内の他のノードすべてと相互接続(フルコネクト型のネットワーク構造で相互接続)されてもよい。上位クラスタ内でのノード間通信β1、β2、β3では第3の通信頻度でゲームデータのやりとりを行う。 The nodes ND001, ND004, and ND006, which are cluster servers belonging to the same upper cluster SKL01, may be interconnected (interconnected in a full-connect network structure) with all other nodes in the upper cluster SKL01. In inter-node communication β1, β2, and β3 in the upper cluster, game data is exchanged at the third communication frequency.
また他の上位クラスタSKL02のノードのゲームデータも必要なので、上位クラスタ間でもゲームデータの送受信を行う。上位クラスタ間でのデータの送受信は、上位クラスタのクラスタサーバが行ってもよい。 Since game data of nodes of other upper cluster SKL02 is also necessary, game data is transmitted and received between the upper clusters. Data transmission / reception between the upper clusters may be performed by a cluster server of the upper cluster.
図5では、上位クラスタSKL01のクラスタサーバはノードND006であり、上位クラスタSKL02のクラスタサーバはND0010となっている。 In FIG. 5, the cluster server of the upper cluster SKL01 is the node ND006, and the cluster server of the upper cluster SKL02 is ND0010.
例えば上位クラスタSKL01のゲームデータは、上位クラスタSKL01のクラスタサーバND006が、隣接上位クラスタ(直接接続されている上位クラスタ)SKL02のクラスタサーバND010に送信する。また上位クラスタSKL01のクラスタサーバND006は、隣接上位クラスタSKL02のクラスタサーバND010から上位クラスSタKL02のゲームデータを受信する。 For example, the game data of the upper cluster SKL01 is transmitted from the cluster server ND006 of the upper cluster SKL01 to the cluster server ND010 of the adjacent upper cluster (directly connected upper cluster) SKL02. Further, the cluster server ND006 of the upper cluster SKL01 receives the game data of the upper class STA02 from the cluster server ND010 of the adjacent upper cluster SKL02.
この様な上位クラスタ間通信γのゲームデータの送受信は、第3の通信頻度より低い第4の通信頻度で行う。このようにすることにより、上位クラスタ外の他のノードに対するタイムラグに比べて、上位クラスタ内の他のノードに対するタイムラグを小さくすることができる。 Such transmission / reception of the game data of the upper inter-cluster communication γ is performed at a fourth communication frequency lower than the third communication frequency. By doing in this way, the time lag with respect to the other nodes in the higher cluster can be made smaller than the time lag with respect to the other nodes outside the higher cluster.
(5)ゲームへの参加、脱退の流れ
図6、図10はゲームへの参加、脱退の流れについて説明するための図である。
(5) Flow of participation and withdrawal in game FIGS. 6 and 10 are diagrams for explaining the flow of participation and withdrawal in the game.
まず、ノードND−Aが所与のゲーム世界におけるゲームに参加する場合には、管理サーバ(図10の510)に問い合わせを行い(図10のb1)、管理サーバ510から所与の仮想世界でのゲームへの参加申し込みを受け付けるマスターノード(図10のND−M)の紹介を受ける。具体的には、管理サーバ510からマスターノードのIPアドレスやポート番号を受け取る。
First, when the node ND-A participates in a game in a given game world, it makes an inquiry (b1 in FIG. 10) to the management server (b1 in FIG. 10), and the
マスターノードの紹介を受けたノードND−Aは、マスターノードND−Mに所与の仮想世界におけるゲームへの参加申し込みを行う(図6、図10のa1)。マスターノードから参加の許可を受けると(図6、図10のa2)、ノードND−Aは、スタート地点(所属クラスタ)を決定する。例えばゲームのスタート地点(ノードND−Aのプレーヤキャラクタのスタート地点)が図3のエリアE1である場合には、所属クラスタはKL001であると判断する。所属クラスタKL001のクラスタサーバがどのノードであるかは、マスターノードにから、所属クラスタのクラスタ情報を取得して判断してもよい。 The node ND-A receiving the introduction of the master node makes an application for participation in the game in the given virtual world to the master node ND-M (a1 in FIGS. 6 and 10). When the permission of participation is received from the master node (a2 in FIGS. 6 and 10), the node ND-A determines the start point (belonging cluster). For example, when the start point of the game (the start point of the player character of the node ND-A) is the area E1 in FIG. 3, the belonging cluster is determined to be KL001. Which node is the cluster server of the affiliated cluster KL001 may be determined by obtaining cluster information of the affiliated cluster from the master node.
所属クラスタのクラスタサーバ(クラスタの上流ノード)に対しクラスタ所属要求を行い(図6、図10のa3)、ノードND−Aとクラスタ内のノードND001、ND002、ND003が相互に接続が確立して(図6のa4、図10のa4−1、a4−2、a4−3)、ノードND−Aのゲームデータをクラスタ上流ノードであるクラスタサーバND001及びクラスタ下流ノードであるND002、ND003に送信し(図6のa5、a6)、クラスタ上流ノードであるクラスタサーバND001及びクラスタ下流ノードであるND002、ND003のゲームデータをノードND−Aに送信し(図6のa7,a8)、クラスタ内の情報が相互に共有できた時点で、ノードND−Aはゲームに開始できる(図6のa9)。 A cluster affiliation request is made to the cluster server (upstream node of the cluster) of the affiliation cluster (a3 in FIGS. 6 and 10), and the connection between the node ND-A and the nodes ND001, ND002, and ND003 in the cluster is established. (A4 in FIG. 6, a4-1, a4-2, a4-3 in FIG. 10), the game data of the node ND-A is transmitted to the cluster server ND001 which is the cluster upstream node and the ND002 and ND003 which are the cluster downstream nodes. (A5 and a6 in FIG. 6), the game data of the cluster server ND001 that is the cluster upstream node and the ND002 and ND003 that are the cluster downstream nodes are transmitted to the node ND-A (a7 and a8 in FIG. 6), and the information in the cluster When the nodes can be shared with each other, the node ND-A can start the game (a9 in FIG. 6).
ノードND−Aが、所属クラスKL001以外の情報が必要な場合には、所属クラスタのクラスタサーバであるノード(上流ノード)ND001経由で随時リクエストをおこなう(図6のa10)。そして所属クラスKL001以外の情報は、所属クラスKL001クラスタのクラスタサーバであるノード(上流ノード)ND001経由で受信する(図6のa11)。 When the node ND-A needs information other than the belonging class KL001, the node ND-A makes a request at any time via the node (upstream node) ND001 which is the cluster server of the belonging cluster (a10 in FIG. 6). Information other than the belonging class KL001 is received via the node (upstream node) ND001 which is a cluster server of the belonging class KL001 cluster (a11 in FIG. 6).
クラスタ下流ノード(例えばND003)が、クラスタ変更やゲームを脱退(フリーアウト)する場合には、クラスタ下流ノード(例えばND003)は、所属クラスKL001クラスタのクラスタサーバであるノード(上流ノード)ND001に脱退申し込みを行う(図6のa12)。所属クラスKL001クラスタのクラスタサーバであるノード(上流ノード)ND001は脱退を許可する場合には、クラスタ下流ノード(例えばND003)に対し、脱退許可の通知を行い(図6のa13)、クラスタの他の下流ノード(ノードND−Aを含む)に脱退通知を送る(図6のa14)とともに、マスターノードにも脱退通知を送る(図6のa15)。 When a cluster downstream node (for example, ND003) leaves a cluster change or game (free out), the cluster downstream node (for example, ND003) leaves the node (upstream node) ND001 that is a cluster server of the belonging class KL001 cluster. An application is made (a12 in FIG. 6). When the node (upstream node) ND001 which is a cluster server of the belonging class KL001 cluster permits the withdrawal, it notifies the cluster downstream node (for example, ND003) of the withdrawal permission (a13 in FIG. 6), and the other cluster A withdrawal notice is sent to the downstream nodes (including node ND-A) (a14 in FIG. 6), and a withdrawal notice is also sent to the master node (a15 in FIG. 6).
3.本実施の形態の処理
図11は、ゲーム参加時の処理の流れを示すフローチャートである。
3. Processing of this Embodiment FIG. 11 is a flowchart showing the flow of processing when participating in a game.
ゲームに参加を希望するノードは、マッチングサーバに問い合わせを行い(ステップS10)、マッチングサーバからマスターノード情報を受信する(ステップS20)
次に、マスターノードに参加申し込みを行い、合わせてテスト通信を行う(ステップS30)。マスターノードは、参加申し込みを受け付けたノードのノード情報を作成する。このときテスト通信においてノードのラウンドトリップタイム(RTT)を取得し、当該ノードのノード情報の通信状態情報として記憶させる。
The node that wishes to participate in the game makes an inquiry to the matching server (step S10), and receives master node information from the matching server (step S20).
Next, an application for participation is made to the master node, and test communication is performed together (step S30). The master node creates node information of the node that has accepted the participation application. At this time, the round trip time (RTT) of the node is acquired in the test communication and stored as the communication state information of the node information of the node.
ゲームに参加を希望するノードは、マスターノードから参加許可通知及びクラスタ割り当て情報を受信すると(ステップS40)、クラスタ割り当て情報に基づき、割り当てられたクラスタのクラスタサーバにクラスタ所属申し込みを行う(ステップS50)。なおクラスタ割り当ては、ノードのプレーヤキャラクタのスタート地点基づき行われる。クラスタ割り当ては、ゲームに参加を希望するノードが行ってもよいし、マスターノードが行ってもよいが、割り当てられたクラスタのクラスタサーバを特定するための情報が必要となる。なお割り当てられたクラスタのクラスタサーバを特定するための情報は、例えばクラスタサーバの一覧を管理するテーブルとして、前ノードが保有するようにしてもよい。マスターノードは、全クラスタのクラスタ情報を保持しているので、マスターノードから、割り当てられたクラスタのクラスタサーバのノードを特定する情報やクラスタサーバの一覧を管理するテーブル(例えば図7のノードID210)を受け取ってもよい。
When the node that wishes to participate in the game receives the participation permission notification and the cluster allocation information from the master node (step S40), the node applies to the cluster server of the allocated cluster based on the cluster allocation information (step S50). . The cluster assignment is performed based on the start point of the player character of the node. The cluster assignment may be performed by a node that wants to participate in the game or by the master node, but information for specifying the cluster server of the assigned cluster is required. The information for identifying the cluster server of the assigned cluster may be held by the previous node as a table for managing a list of cluster servers, for example. Since the master node holds the cluster information of all clusters, a table (for example, a
そしてクラスタサーバからクラスタ情報を受け取り、クタスタを構成する他のノードと相互にコネクション確認を行う(ステップS60)。 Then, the cluster information is received from the cluster server, and the connection is confirmed with other nodes constituting the cluster (step S60).
図12は、ノードの役割に応じた通信制御の処理の流れを示すフローチャートである。 FIG. 12 is a flowchart showing the flow of communication control processing according to the role of the node.
ノードは、第1の通信頻度でクラスタ内の他のノードと相互にゲームデータの送受信を行う(ステップS110)。 The node transmits / receives game data to / from other nodes in the cluster at the first communication frequency (step S110).
ノードが、クラスタサーバである場合には(ステップS120)、第1の通信頻度より低い第2の通信頻度で、隣接クラスタ情報に定義されている隣接クラスタのクラスタサーバと相互にゲームデータの送受信を行う(ステップS130)。 If the node is a cluster server (step S120), game data is transmitted / received to / from the cluster server of the adjacent cluster defined in the adjacent cluster information at a second communication frequency lower than the first communication frequency. This is performed (step S130).
図13は、クラスタ変更処理(クラスタを変更するノードの処理)の流れを示すフローチャートである。 FIG. 13 is a flowchart showing the flow of cluster change processing (processing of a node that changes a cluster).
プレーヤキャラクタの位置に関する情報に基づき、プレーヤキャラクタのゲーム評価値を演算する(ステップS210)。 Based on the information relating to the position of the player character, the game evaluation value of the player character is calculated (step S210).
プレーヤキャラクタのゲーム評価値が所定以上変化した場合には(ステップS220)、プレーヤキャラクタのゲーム評価値に基づき、プレーヤキャラクタに対応したノードに適したクラスタを求める(ステップS230)。 When the game evaluation value of the player character changes by a predetermined value or more (step S220), a cluster suitable for the node corresponding to the player character is obtained based on the game evaluation value of the player character (step S230).
そして、適したクラスタが現在属しているクラスタと異なる場合には(ステップS240)、現在のクラスタを離脱して、適したクラスタに参加する (ステップS250)。 If the suitable cluster is different from the cluster to which it currently belongs (step S240), the current cluster is left and joined to the suitable cluster (step S250).
図14は、クラスタ内の他のノードがクラスタを離脱する場合の処理の流れを示すフローチャートである。 FIG. 14 is a flowchart showing the flow of processing when another node in the cluster leaves the cluster.
同じクラスタの他のノードからクラスタ離脱通知ある場合には、以下の処理を行う(ステップS310)。 If there is a cluster leave notification from another node in the same cluster, the following processing is performed (step S310).
離脱するのはクラスタサーバである場合には(ステップS320)、所属クラスタを構成するノードのノード情報(通信状態情報)に基づき、所属するクラスタの次のクラスタサーバを判断する(ステップS330)。自己が次のクラスタサーバである場合(ステップS340)には、クラスタ情報の変更を隣接クラスタ情報に定義されている隣接クラスタのクラスタサーバに通知する(ステップS350)。 If it is the cluster server that leaves (step S320), the next cluster server of the cluster to which it belongs is determined based on the node information (communication status information) of the nodes that make up the cluster (step S330). When the self is the next cluster server (step S340), the change of the cluster information is notified to the cluster server of the adjacent cluster defined in the adjacent cluster information (step S350).
図15は、クラスタ分割処理の流れを示すフローチャートである。 FIG. 15 is a flowchart showing the flow of cluster division processing.
所与のノードからクラスタ参加申し込みがあると(ステップS410)、以下の処理を行う。 When there is an application for cluster participation from a given node (step S410), the following processing is performed.
所与のノードのクラスタ参加によりクラスタのノード数が制限値を超える場合には(ステップS420でY)、クラスタを構成するノードを制限値を超えない数のノードで構成された複数のクラスタに分割する(ステップS430)。所与のノードのクラスタ参加によりクラスタのノード数が制限値を超えない場合には(ステップS420でN)、所与のノードをクラスタの構成員とする(ステップS440)。 If the number of nodes in the cluster exceeds the limit due to cluster participation of a given node (Y in step S420), the nodes constituting the cluster are divided into a plurality of clusters configured with a number of nodes that do not exceed the limit. (Step S430). If the number of nodes in the cluster does not exceed the limit due to the cluster participation of the given node (N in step S420), the given node is made a member of the cluster (step S440).
自己が属するクタスタを構成する他のノードと相互にコネクション確認を行う(ステップS45)。 Connection confirmation is performed with other nodes constituting the cluster in which the device belongs (step S45).
自己がクラスタサーバである場合には(ステップS460)、クラスタ情報の変更を隣接クラスタ情報に定義されている隣接クラスタのクラスタサーバに通知する(ステップS470)。 When self is a cluster server (step S460), the cluster information change is notified to the cluster server of the adjacent cluster defined in the adjacent cluster information (step S470).
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。 The present invention is not limited to that described in the above embodiment, and various modifications can be made. For example, terms cited as broad or synonymous terms in the description in the specification or drawings can be replaced with broad or synonymous terms in other descriptions in the specification or drawings.
キャラクタ同士が通信遅延の影響が高いと判断される状況にある場合には当該キャラクタ同士は同じグループにグループ化され、キャラクタ同士が通信遅延の影響が低い判断される状況にある場合には当該キャラクタ同士は異なるグループにグループ化される構成であれば本発明の範囲内である。キャラクタ同士が通信遅延の影響が高いと判断される状況にある場合とは、例えばゲーム空間内におけるキャラクタの位置が近いことや同じエリアにいる場合でもよい。またキャラクタの能力(手足が伸びる能力があるなど)や、装備しているアイテム(狙撃銃など)に応じて、グループを変更してもよい。すなわち手足が伸びるキャラクタや狙撃銃など遠方の的に対しても攻撃可能なキャラクタに対しては、ゲーム空間内の距離が多少離れていても通信遅延の影響が高いと判断してもよい。 If the characters are in a situation where the influence of communication delay is high, the characters are grouped into the same group, and if the characters are in a situation where the influence of communication delay is low, the character Any configuration that is grouped into different groups is within the scope of the present invention. The case where the characters are in a situation where it is determined that the influence of communication delay is high may be, for example, the case where the positions of the characters in the game space are close or in the same area. Further, the group may be changed according to the character's ability (such as the ability to extend limbs) and the equipped item (such as a sniper gun). In other words, it is possible to determine that the influence of the communication delay is high even if the distance in the game space is slightly distant from a character that can attack even a distant target such as a character with a limb extending or a sniper gun.
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、携帯型ゲームシステム、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。 The present invention can also be applied to various game systems such as a business game system, a home game system, a portable game system, and a system board for generating a game image.
100 処理部、110 ゲーム演算部、111 オブジェクト空間設定部、112 仮想カメラ制御部、113 移動・動作演算部、115 ゲーム評価値演算部、120 通信制御部、130 描画部、140 音処理部 160 操作部、180 情報記憶媒体、190 表示部、170 記憶部、172 主記憶部、192 音出力部、196 通信部
100 processing unit, 110 game calculation unit, 111 object space setting unit, 112 virtual camera control unit, 113 movement / motion calculation unit, 115 game evaluation value calculation unit, 120 communication control unit, 130 drawing unit, 140
Claims (14)
ノード間でネットワークを構成して、ネットワークを介してノード間でゲームデータの送受信を行う通信制御手段と、
入力情報と、他のノードから受信したゲームデータとに基づきゲーム演算を行うゲーム演算手段と、
ゲーム演算結果に基づき、ゲーム世界のゲーム画像を生成する画像生成手段と、
して、コンピュータを機能させ、
前記ゲーム演算手段は、
プレーヤキャラクタの位置に関する情報に基づき、ゲーム評価値を演算するゲーム評価値演算手段を含み、
前記通信制御手段は、
前記ゲーム評価値に基づきノードをグループ化し、グループ内のノード間でゲームデータの送受信を行う通信頻度とグループ外のノード間でゲームデータの送受信を行う通信頻度の度合いを異なるように制御する通信頻度制御、及びグループ内のノード間のネットワーク接続とグループ外のノード間のネットワーク接続の疎密の度合いを異なるように制御するネットワーク接続制御の少なくとも一方を行うプログラム。 A program for a game machine that transmits / receives game data to / from other nodes via a network,
A communication control means for configuring a network between nodes and transmitting and receiving game data between nodes via the network;
Game calculation means for performing a game calculation based on input information and game data received from another node;
Image generating means for generating a game image of the game world based on the game calculation result;
Make the computer work,
The game calculation means includes
Including a game evaluation value calculating means for calculating a game evaluation value based on the information on the position of the player character ,
The communication control means includes
Communication frequency of the group the nodes on the basis of the game evaluation values and inter-node control the degree of communication frequently between the communication frequency and outside the group of nodes transmit and receive game data to transmit and receive game data differently in in the group A program for performing at least one of control and network connection control for controlling the degree of density of network connection between nodes in the group and network connection between nodes outside the group to be different.
前記通信制御手段は、The communication control means includes
プレーヤキャラクタに対応するノードと、当該プレーヤキャラクタと所定の位置関係にある他のプレーヤキャラクタに対応するノードとをグループ化することを特徴とするプログラム。A program that groups nodes corresponding to a player character and nodes corresponding to other player characters that have a predetermined positional relationship with the player character.
前記通信制御手段は、The communication control means includes
各プレーヤキャラクタの位置に基づきプレーヤキャラクタ間の距離を求め、距離が所定距離以内のプレーヤキャラクタに対応するノードをグループ化する処理を行うことを特徴A process of obtaining a distance between player characters based on the position of each player character and grouping nodes corresponding to the player characters whose distance is within a predetermined distance.
とするプログラム。Program.
前記ゲーム世界は、複数のエリアに分割されており、
前記ゲーム評価値演算手段は、
プレーヤキャラクタの位置が属するエリアに対応したゲーム評価値を求めるプログラム。 In any one of Claims 1-3 ,
The game world is divided into a plurality of areas ,
The game evaluation value calculation means includes
A program for obtaining a game evaluation value corresponding to an area to which the position of a player character belongs.
ノード間でネットワークを構成して、ネットワークを介してノード間でゲームデータの送受信を行う通信制御手段と、A communication control means for configuring a network between nodes and transmitting and receiving game data between nodes via the network;
入力情報と、他のノードから受信したゲームデータとに基づきゲーム演算を行うゲーム演算手段と、Game calculation means for performing a game calculation based on input information and game data received from another node;
ゲーム演算結果に基づき、仮想カメラから見えるゲーム世界のゲーム画像を生成する画像生成手段として、コンピュータを機能させ、Based on the game calculation result, the computer functions as an image generation means for generating a game image of the game world visible from the virtual camera,
前記ゲーム演算手段は、The game calculation means includes
前記仮想カメラの配置に関する仮想カメラ情報に基づき、ゲーム評価値を演算するゲーム評価値演算手段を含み、Based on virtual camera information relating to the placement of the virtual camera, including game evaluation value calculation means for calculating a game evaluation value;
前記通信制御手段は、The communication control means includes
前記ゲーム評価値に基づきノードをグループ化し、グループ内のノード間でゲームデータの送受信を行う通信頻度とグループ外のノード間でゲームデータの送受信を行う通信頻度の度合いを異なるように制御する通信頻度制御、及びグループ内のノード間のネットワーク接続とグループ外のノード間のネットワーク接続の疎密の度合いを異なるように制御するネットワーク接続制御の少なくとも一方を行うプログラム。Communication frequency for grouping nodes based on the game evaluation value and controlling the communication frequency for transmitting / receiving game data between nodes in the group and the communication frequency for transmitting / receiving game data between nodes outside the group to be different A program for performing at least one of control and network connection control for controlling the degree of density of network connection between nodes in the group and network connection between nodes outside the group to be different.
前記仮想カメラ情報は、前記仮想カメラの位置、回転及び画角の少なくとも一つであることを特徴とするプログラム。The virtual camera information is at least one of a position, rotation, and angle of view of the virtual camera.
前記通信制御手段は、
グループに属するノードの通信状態に関する情報及び所定の規則の少なくとも一方に基づき、グループの代表ノードを判断し、グループの代表ノード間でゲームデータの送受信を行わせるプログラム。 In any one of Claims 1-6 ,
The communication control means includes
A program for judging a representative node of a group based on at least one of information on a communication state of a node belonging to the group and a predetermined rule, and transmitting / receiving game data between the representative nodes of the group .
前記通信制御手段は、
グループ内のノード間でゲームデータの送受信を行う通信頻度を、グループ外のノード間でゲームデータの送受信を行う通信頻度よりも高くする通信頻度制御、及びグループ内のノード間のネットワーク接続をグループ外のノード間のネットワーク接続よりも密にするネットワーク接続制御の少なくとも一方を行うプログラム。 In any one of Claims 1-7 ,
The communication control means includes
The communication frequency for transmitting and receiving game data between nodes in a group, outside the group between nodes communication frequency control to be higher than a communication frequency for transmitting and receiving game data, and outside the group of network connection between nodes in the group A program for performing at least one of network connection control to be denser than the network connection between nodes.
前記通信制御手段は、
ゲーム評価値の変化により、ノードに適したグループが、当該ノードに割り当てられているグループと異なるグループに変化した場合には、当該ノードに割り当てるグループを変更するグループ変更処理を行うプログラム。 In any one of Claims 1-8 ,
The communication control means includes
The change in the game evaluation values, groups appropriate for node, if changes to the group different from the group that is assigned to the node, the program performing the group change process for changing the group to be assigned to the node.
前記通信制御手段は、
グループの代表ノードに、所属グループに直接接続されているグループの情報を定義した隣接グループ情報に基づき、隣接グループとして定義されているグループの代表ノードとゲームデータの送受信を行わせるプログラム。 In any one of Claims 1-9 ,
The communication control means includes
The primary node of the group, based on the neighboring group information which defines information groups connected directly to the belonging group, and to perform the transmission and reception of the primary node and the game data of the group that is defined as a contiguous group.
前記通信制御手段は、
マスターノード以外のノードに、マスターノードのノード情報を受け取り、マスターノードとテスト通信を行わせるテスト通信処理手段と、
マスターノードに、テスト通信の結果に基づきテスト通信を行ったノードの通信状態情報を当該ノードに関連づけてノード情報として保持させ、保持しているノード情報を他のノードに送信させる処理を行うノード情報管理処理手段として機能するプログラム。 In any one of Claims 1-10 ,
The communication control means includes
Test communication processing means for receiving node information of the master node and performing test communication with the master node to a node other than the master node;
The master node, the communication state information of the node that tested communication based on test communication result is held as a node information in association with the node, held cormorants line processing to transmit the node information and the other nodes a node A program that functions as information management processing means.
前記通信制御手段は、
グループの代表である複数のノードを上位グループとしてグループ化する処理を行い、同じ上位グループに属するノード間でゲームデータの送受信を行わせ、
上位グループに属するノードの通信状態に関する情報及び所定の規則の少なくとも一方に基づき、上位グループの代表ノードを判断し、
上位グループの代表ノード間でゲームデータの送受信を行わせるプログラム。 In any one of Claims 1-11 ,
The communication control means includes
It performs processing for grouping a plurality of nodes is representative of the group as a superior group, to perform the transmission and reception of game data between nodes belonging to the same upper group,
Based on at least one of the information on the communication state of the nodes belonging to the upper group and the predetermined rule, the representative node of the upper group is determined ,
Program to perform the transmission and reception of game data between the primary node of the upper group.
ノード間でネットワークを構成して、ネットワークを介してノード間でゲームデータの送受信を行う通信制御手段と、
入力情報と、他のノードから受信したゲームデータとに基づきゲーム演算を行うゲーム演算手段と、
ゲーム演算結果に基づき、ゲーム世界のゲーム画像を生成する画像生成手段と、を含み、
前記ゲーム演算手段は、
プレーヤキャラクタの位置に関する情報に基づき、ゲーム評価値を演算するゲーム評価値演算手段を含み、
前記通信制御手段は、
前記ゲーム評価値に基づきノードをグループ化し、グループ内のノード間でゲームデータの送受信を行う通信頻度とグループ外のノード間でゲームデータの送受信を行う通信頻度の度合いを異なるように制御する通信頻度制御、及びグループ内のノード間のネットワーク接続とグループ外のノード間のネットワーク接続の疎密の度合いを異なるように制御するネットワーク接続制御の少なくとも一方を行うゲーム情報生成装置。 In a game information generating device for transmitting / receiving game data to / from other nodes via a network and generating game information,
A communication control means for configuring a network between nodes and transmitting and receiving game data between nodes via the network;
Game calculation means for performing a game calculation based on input information and game data received from another node;
Image generation means for generating a game image of the game world based on the game calculation result,
The game calculation means includes
Including a game evaluation value calculating means for calculating a game evaluation value based on the information on the position of the player character ,
The communication control means includes
Communication frequency of the group the nodes on the basis of the game evaluation values and inter-node control the degree of communication frequently between the communication frequency and outside the group of nodes transmit and receive game data to transmit and receive game data differently in in the group A game information generating apparatus that performs at least one of control and network connection control for controlling the degree of density of network connections between nodes in a group and network connections between nodes outside the group to be different.
ノード間でネットワークを構成して、ネットワークを介してノード間でゲームデータの送受信を行う通信制御手段と、A communication control means for configuring a network between nodes and transmitting and receiving game data between nodes via the network;
入力情報と、他のノードから受信したゲームデータとに基づきゲーム演算を行うゲーム演算手段と、Game calculation means for performing a game calculation based on input information and game data received from another node;
ゲーム演算結果に基づき、仮想カメラから見えるゲーム世界のゲーム画像を生成する画像生成手段と、を含み、Image generation means for generating a game image of the game world visible from the virtual camera based on the game calculation result,
前記ゲーム演算手段は、The game calculation means includes
前記仮想カメラの配置に関する仮想カメラ情報に基づき、ゲーム評価値を演算するゲーム評価値演算手段を含み、Based on virtual camera information relating to the placement of the virtual camera, including game evaluation value calculation means for calculating a game evaluation value;
前記通信制御手段は、The communication control means includes
前記ゲーム評価値に基づきノードをグループ化し、グループ内のノード間でゲームデータの送受信を行う通信頻度とグループ外のノード間でゲームデータの送受信を行う通信頻度の度合いを異なるように制御する通信頻度制御、及びグループ内のノード間のネットワーク接続とグループ外のノード間のネットワーク接続の疎密の度合いを異なるように制御するネットワーク接続制御の少なくとも一方を行うゲーム情報生成装置。Communication frequency for grouping nodes based on the game evaluation value and controlling the communication frequency for transmitting / receiving game data between nodes in the group and the communication frequency for transmitting / receiving game data between nodes outside the group to be different A game information generating apparatus that performs at least one of control and network connection control for controlling the degree of density of network connections between nodes in a group and network connections between nodes outside the group to be different.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011079069A JP5770513B2 (en) | 2011-03-31 | 2011-03-31 | Program and game information generation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011079069A JP5770513B2 (en) | 2011-03-31 | 2011-03-31 | Program and game information generation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012213427A JP2012213427A (en) | 2012-11-08 |
JP5770513B2 true JP5770513B2 (en) | 2015-08-26 |
Family
ID=47266876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011079069A Active JP5770513B2 (en) | 2011-03-31 | 2011-03-31 | Program and game information generation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5770513B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9348824B2 (en) * | 2014-06-18 | 2016-05-24 | Sonos, Inc. | Device group identification |
JP6940790B2 (en) * | 2017-11-20 | 2021-09-29 | 株式会社カプコン | Game programs and game systems |
JP6606537B2 (en) * | 2017-11-20 | 2019-11-13 | 株式会社カプコン | Game program and game system |
JP7188975B2 (en) * | 2018-10-17 | 2022-12-13 | 任天堂株式会社 | Communication system, communication equipment, program and communication method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002159755A (en) * | 2000-11-15 | 2002-06-04 | Taiwan Iji Kagi Kofun Yugenkoshi | Multi-person interactive network game online method |
JP3793213B2 (en) * | 2003-09-01 | 2006-07-05 | 株式会社ソニー・コンピュータエンタテインメント | Network game terminal, game server, method executed on network game terminal, and recording medium |
JP2011055070A (en) * | 2009-08-31 | 2011-03-17 | Nippon Telegr & Teleph Corp <Ntt> | Network construction system, method and program, and data distribution method |
JP5236614B2 (en) * | 2009-11-13 | 2013-07-17 | 株式会社スクウェア・エニックス | Network game system and program |
-
2011
- 2011-03-31 JP JP2011079069A patent/JP5770513B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012213427A (en) | 2012-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5558733B2 (en) | Program, information storage medium, and game system | |
US8480498B2 (en) | Synchronizing mission progress in cooperative games | |
JP6196668B2 (en) | Dynamic allocation of drawing resources in cloud game systems | |
JP5809403B2 (en) | Program, server, and network system | |
JP5809402B2 (en) | Program, server, game system, and network system | |
JP5283150B2 (en) | Program, game machine, and game system | |
CN108011886A (en) | A kind of cooperative control method, system, equipment and storage medium | |
JP2010029393A (en) | Program, information storage medium, and game machine | |
CN103889524B (en) | Computer readable recording medium storing program for performing, data structure, netscape messaging server Netscape and the information processing terminal of information processing system, information processing method, message handling program, storing information processing program | |
CN107959687A (en) | A kind of data processing method, system, equipment and storage medium | |
JP5770513B2 (en) | Program and game information generation device | |
WO2015011741A1 (en) | Image processing program, server device, image processing system, and image processing method | |
JP2013063296A (en) | Program and game system | |
US10051084B2 (en) | Methods and systems for bandwidth-efficient remote procedure calls | |
JP2012120755A (en) | Program, information storage medium, and game machine | |
JP2013013450A (en) | Program, information storage medium, terminal and server | |
JP5259118B2 (en) | Program, information storage medium, game machine, and game system | |
US8484280B2 (en) | Program, computer terminal, and command execution method | |
JP6306751B2 (en) | Program, information storage medium, server, game system, and network system | |
JP2017202337A (en) | Program and server | |
JP5252676B2 (en) | Program, information storage medium, game machine, and network system | |
JP2011160870A (en) | Program, information storage medium, and game device | |
JP5111951B2 (en) | Program, information storage medium, game machine, and game system | |
JP5378116B2 (en) | Program, information storage medium and image control apparatus | |
JP6074471B2 (en) | Program, information storage medium, server, game system, and network system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140225 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20140619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140811 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150508 |
|
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: 20150527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5770513 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |