以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
[第1の実施形態]
図1は、本発明の一の実施形態におけるビデオゲームシステム(ゲームシステム)100の構成の例を示すブロック図である。図1に示すように、ゲームシステム100は、ビデオゲーム処理サーバ装置(サーバ装置)10と、ビデオゲームをプレイする複数のユーザ(プレイヤ)がそれぞれ使用するゲーム端末装置(端末装置)20,201~20N(Nは任意の整数)とを含む。サーバ装置10と複数のゲーム端末装置20,201~20Nとは、それぞれインターネットなどの通信ネットワーク15に接続されている。なお、ビデオゲーム処理システム100の構成はこれに限定されず、例えば単一のゲーム端末装置を複数のプレイヤが使用する構成としてもよいし、複数のビデオゲーム処理サーバ装置を備える構成としてもよい。また、ビデオゲーム処理サーバ装置を備えないゲーム端末装置のみの構成としてもよい。
ゲームシステム100は、ユーザがゲーム空間のプレイヤオブジェクトを操作するビデオゲーム(ゲーム)を実行する各種機能を有する。本実施形態の例のゲームでは、プレイヤオブジェクトに所定の動作を実行させることで、移動体が生成される。「移動体」は、ゲーム空間を移動可能なオブジェクトである。例えば、弾性の球体のオブジェクト、銃から発射される弾丸のオブジェクトがある。移動体には、この移動体を生成したプレイヤオブジェクトと同一の属性が設定されている。
「属性」は、オブジェクトが有する性質、特徴等を意味する。例えば、所属グループ(チーム)、オブジェクトの種類、職業(ジョブ)、レアリティ、種族、性別等が属性に該当する。オブジェクトの種類は、例えば、地形オブジェクト、プレイヤオブジェクト、ノンプレイヤオブジェクト等のオブジェクトの種類を示す。移動体には、例えば、プレイヤオブジェクトの属性の1つである所属グループの属性が設定される。
移動体と他のオブジェクトとが衝突した場合、衝突した移動体及び他のオブジェクトのその後の動作は、互いの属性関係に基づいて決定される。例えば、移動体がプレイヤオブジェクトと敵対関係にある敵オブジェクトに衝突した場合、この敵オブジェクトを衝突位置から所定方向に移動させる。例えば、この敵オブジェクトは、衝突によって吹き飛ばされるように移動する。また、移動体は、衝突によって爆発するように消滅する。敵オブジェクトは、例えば、プレイヤオブジェクトの所属グループとは異なる他のグループに所属するプレイヤオブジェクトである。このように、敵オブジェクトに移動体を衝突(命中)させることは、プレイヤオブジェクトの攻撃に該当する。
また、例えば、移動体が、プレイヤオブジェクトと同一の属性が設定された他の移動体に衝突した場合、これらの移動体が連結した連結移動体が生成されてもよい。例えば、移動体が球体のオブジェクトである場合、2つの球体が1か所で連結した状態の連結移動体とすればよい。この場合、連結移動体を敵オブジェクトに衝突させることで、敵オブジェクトがより吹き飛ばされるようにしてもよい。また、例えば、プレイヤオブジェクトが同一属性の移動体の上面に乗ることができるようにしてもよい。したがって、敵オブジェクトに対しては、移動体の衝突によって攻撃の効果が発生する。また、敵対関係にないオブジェクトに対しては、移動体の衝突によって攻撃とは異なる効果が発生することになる。
なお、例えば、プレイヤオブジェクトと他のプレイヤオブジェクトとが同一グループに所属する場合、プレイヤオブジェクトが生成した移動体と、他のプレイヤオブジェクトが生成した移動体とは、同一の属性関係(同一属性)となる。また、移動体と他のオブジェクトとの属性関係は、1種類以上の属性を参照して決定してもよい。
サーバ装置10は、ゲームシステム100の管理者によって管理され、ユーザ端末20,201~20Nに対してゲームの進行に関する情報を提供するための各種機能を有する。また、本実施形態の例では、サーバ装置10は、ユーザ(端末装置)から操作信号(操作情報)等を受信し、またゲーム進行に関する情報(画像情報等)を端末装置20,201~20Nに送信する。本実施形態の例において、サーバ装置10は、ビデオゲームの進行に関する情報を提供するべくWWWサーバなどの情報処理装置によって構成され、各種情報を格納するデータベース(記憶部)を備える。
図2は、サーバ装置10の構成の例であるサーバ装置10Aの構成を示す機能ブロック図である。サーバ装置10Aは、図示しないHDD等の記憶部及びCPU等から構成される制御部などを備えるが、詳細な説明は省略する。サーバ装置10A(制御部)は、記憶部に記憶されているビデオゲームの進行を制御するためのソフトウェア(ビデオゲーム処理プログラム)を実行することで、オブジェクト制御部11を少なくとも備える。なお、ビデオゲーム処理プログラムにはゲームデータも含まれる。
オブジェクト制御部(制御機能)11は、ゲーム空間におけるプレイヤオブジェクトを含む複数のオブジェクトの動作を制御する。上述したように複数のオブジェクトのそれぞれには属性が設定されている。オブジェクト制御部11は、ユーザの操作入力に基づいてプレイヤオブジェクトに所定の動作を実行させ、このプレイヤオブジェクトと同一の属性が設定された移動体を生成する。なお、「生成」は、移動体をゲーム空間に出現させる(配置する)ことである。所定の動作は、例えば、移動体を発射する動作等である。また、オブジェクト制御部11は、移動体と他のオブジェクトとが衝突した場合、少なくとも移動体と他のオブジェクトとの属性関係に基づいて、移動体及び他のオブジェクトの動作を制御する。
なお、オブジェクト同士の衝突には、接触も含まれる。オブジェクト同士の衝突判定は、一般的な構成を採用すればよい。
端末装置20,201~20Nのそれぞれは、ゲームをプレイするユーザ(プレイヤ)によって管理される。端末装置20,201~20Nは、例えば、パーソナルコンピュータ、携帯電話端末やPDA(Personal Digital Assistants)、携帯型ゲーム端末装置などのビデオゲームを実行することが可能な端末装置によって構成される。
端末装置20,201~20Nのそれぞれは、操作装置(操作部)、HDD等の記憶部、ゲームを実行してゲーム画像を生成するCPU等から構成される制御部、ゲーム画像を表示させる表示装置(表示部)、他の装置と通信を行う送受信部等を備えるが、詳細な説明は省略する。また、端末装置20,201~20Nには、サーバ装置10との通信を行うことによりゲームを実行するためのソフトウェア(ビデオゲーム実行プログラム)が記憶部に記憶されている。端末装置20,201~20Nは、例えば、画像情報等を受信して、表示部に表示させるゲーム空間の画像を生成する。
次に、この実施形態のゲームシステム100(システム100)の動作について説明する。
図3は、システム100が実行するゲーム進行処理の例を示すフローチャートである。本実施形態の例における進行処理では、移動体の生成処理及び移動体の衝突による動作処理を含んだゲーム進行のための処理が行われる。なお、図3においては、主として、移動体の生成処理及び移動体の衝突による動作処理について説明し、その他の処理は一部省略する。以下、サーバ装置10Aと端末装置20とがゲーム進行処理を実行する場合を例にして説明する。
本実施形態の例の進行処理は、例えば、ユーザによるゲーム開始の操作入力があったことを契機として実行される。
端末装置20は、プレイヤオブジェクトに関する操作情報等をIPアドレス、ユーザの識別情報等とともに定期的にサーバ装置10Aに送信する。
サーバ装置10Aは、進行処理を行う(ステップS10)。進行処理では、端末装置20から受信したユーザの操作情報等に基づいてゲームを進行させる処理が行われる。進行処理では、サーバ装置10Aは、ゲーム空間の各オブジェクトの動作を制御する。プレイヤオブジェクトの場合には、操作情報等に基づいて動作が制御される。また、進行処理では、サーバ装置10Aは、オブジェクト同士の衝突判定も行う。一回の進行処理では、例えば、1フレーム分のゲーム画像及び音声を生成するための処理が行われる。
次に、サーバ装置10Aは、生成処理を行う(ステップS11)。生成処理は、移動体を生成するための処理であり、図4(A)を参照しつつ説明する。サーバ装置10Aは、最初に、プレイヤオブジェクトが所定の動作を実行したか否かを判断する(ステップS20)。例えば、上述の進行処理において、プレイヤオブジェクトによる所定の動作が完了した場合、プレイヤオブジェクトが所定の動作を実行したと判断すればよい。所定の動作を実行していない場合(ステップS20:NO)、サーバ装置10Aは、生成処理を終了する。
一方、所定の動作を実行した場合(ステップS20:YES)、サーバ装置10Aは、決定処理を行う(ステップS21)。決定処理では、移動体の属性が決定される。例えば、プレイヤオブジェクトの所属グループが移動体の属性として決定される。
次に、サーバ装置10Aは、配置処理を行う(ステップS22)。配置処理では、移動体をゲーム空間に配置する処理が行われる。サーバ装置10Aは、例えば、属性データ及び位置データを含む移動体のオブジェクトデータを記憶部に追加すればよい。これにより、ゲーム空間の配置が行われる。なお、移動体が配置される位置は、例えば、プレイヤオブジェクトの近傍とすればよい。その後、サーバ装置10Aは、生成処理を終了する。なお、サーバ装置10Aは、その後の進行処理において、生成された移動体の動作も制御する。
次に、サーバ装置10Aは、衝突動作処理を実行する(ステップS12)。衝突動作処理は、衝突した移動体及び他のオブジェクトの動作を決定するための処理であり、図4(B)を参照しつつ説明する。サーバ装置10Aは、ゲーム空間内の全ての移動体について衝突の有無を判断する。サーバ装置10Aは、最初に、移動体と他のオブジェクトとが衝突したか否かを判断する(ステップS30)。例えば、上述の進行処理における衝突判定の結果に基づいて判断すればよい。いずれの移動体も衝突していない場合(ステップS30:NO)、サーバ装置10Aは、衝突動作処理を終了する。
一方、少なくとも1つの移動体が衝突した場合(ステップS30:YES)、サーバ装置10Aは、特定処理を行う(ステップS31)。特定処理では、衝突した移動体及び他のオブジェクトの属性関係が特定される。例えば、サーバ装置10Aは、各オブジェクトの属性データに基づいて、上述したような敵対関係、同一属性等の属性関係を特定する。
次に、サーバ装置10Aは、決定処理を行う(ステップS32)。決定処理では、衝突した移動体及び他のオブジェクトの動作が決定される。サーバ装置10Aは、特定された属性関係に基づいて、衝突した移動体及び他のオブジェクトの衝突後の動作を決定する。例えば、上述したように、移動体と敵対関係にある敵オブジェクトとが衝突した場合、敵オブジェクトは、衝突位置から所定方向に移動させる動作とする。また、、移動体は、ゲーム空間から消滅させる動作とする。サーバ装置10Aは、例えば、上述の動作を特定するアクションデータを、実行アクションとして移動体等の識別情報に対応付けて記憶部に記憶しておけばよい。その後、サーバ装置10Aは、衝突動作処理を終了する。。
次に、サーバ装置10Aは、画像情報生成処理を行う(ステップS13)。サーバ装置10Aは、例えば、上述の各処理によって進行したゲーム空間等の画像を生成するための画像情報を生成する。そして、サーバ装置10Aは、画像情報を端末装置20に送信する。なお、送信先となる端末装置20は、受信したIPアドレス、ユーザの識別情報等から特定される。
次に、サーバ装置10Aは、ゲームの終了か否かを判断する(ステップS14)。サーバ装置10Aは、例えば、ゲーム開始からの制限時間の到来等の終了条件を満たした場合にゲームの終了であると判断すればよい。終了していない場合(ステップS14:NO)、サーバ装置10Aは、ステップS10の処理に戻る。一方、終了した場合(ステップS14:YES)、サーバ装置10Aは、ゲーム進行処理を終了する。
一方、端末装置20は、ゲーム終了まで(ステップS41:YES)、受信した画像情報に基づくゲーム空間の画像を出力(表示部に表示)する(ステップS40)。
なお、図3に示す処理では、端末装置20に関して説明したが、例えば、複数のユーザが参加するゲームの場合には、各ユーザの端末装置に対しても同様の処理が行われる。
以上のように、第1の実施形態の一側面として、サーバ装置10が、オブジェクト制御部11を備える構成としているので、属性関係に応じて、衝突した移動体及び他のオブジェクトの動作が制御される。したがって、移動体の構成に関して、攻撃を行う他にも別の要素を付加することができる。これにより、移動体を用いたユーザの遊び方にバリエーションが増える。
なお、上述した第1の実施形態の例では、サーバ装置10Aが、ビデオゲーム処理プログラムを実行してゲームの進行を制御しているが、特にこれに限定されるものではない。例えば、サーバ装置を含まないゲームシステムとしてもよい。この場合、ゲームシステムに含まれる端末装置が、オブジェクト制御部を少なくとも備え、スタンドアローンでゲームを実行しつつゲームの進行を制御する。
図5は、サーバ装置を含まない単一の端末装置を含むゲームシステムにおける図3に示すゲーム進行処理を実行する場合の端末装置の動作の例を示すフローチャートである。
端末装置は、進行処理を行う(ステップS60)。進行処理では、端末装置20から受信したユーザの操作情報等に基づいてゲームを進行させる処理が行われる。進行処理では、端末装置は、例えば、ゲーム空間の各オブジェクトの動作を制御する。プレイヤオブジェクトの場合には、操作情報等に基づいて動作が制御される。次に、端末装置は、図4(A)及び図4(B)に示す生成処理及び動作決定処理と同様の処理を実行する(ステップS61,ステップS62)。
その後、端末装置は、画像生成処理を実行する(ステップS63)。端末装置は、例えば、上述の各処理によって進行したゲーム空間等の画像を生成するための画像情報を生成する。その後、端末装置は、ゲーム空間が含まれるゲーム画像を表示部に表示させる。
次に、端末装置は、ゲームの終了か否かを判断する(ステップS64)。端末装置は、例えば、ゲーム開始からの制限時間の到来等の終了条件を満たした場合にゲームの終了であると判断すればよい。終了していない場合(ステップS64:NO)、端末装置は、ステップS60の処理に戻る。一方、終了した場合(ステップS64:YES)、端末装置は、ゲーム進行処理を終了する。
なお、ホスト用の端末装置及びゲスト用の端末装置を含むゲームシステムとし、サーバ装置10Aに代えてホスト用の端末装置がオブジェクト制御部を少なくとも備える構成としてもよい。あるいは、複数の端末装置が協働してゲームの進行を制御してもよい。複数の端末装置は、例えば、ピアツーピア(peer to peer)型ネットワークを介して、データを送受信すればよい。
上述の「オブジェクト」は、ゲーム空間を形成する種々の形態のオブジェクトを採用可能である。例えば、プレイヤオブジェクト、移動体、地面、壁等が上記オブジェクトに該当する。上述の「プレイヤオブジェクト」は、ユーザが操作するオブジェクトである。例えば、人物、ロボット及び動物等のキャラクタ、自動車等の乗り物、ボール等の球体、カードなどがプレイヤオブジェクトに該当する。
上述の「ビデオゲーム」は、属性が設定されているプレイヤオブジェクトをユーザが操作する構成であれば、ロールプレイングゲーム、育成ゲーム、シミュレーションゲーム等のいずれのジャンルのゲームを採用してもよい。また、上述の「ビデオゲーム」は、MMORPG等のように、同一(共通)のゲーム空間において複数ユーザのそれぞれが操作するプレイヤオブジェクトが存在する構成であってもよい。
[第2の実施形態]
図6は、サーバ装置10の例であるサーバ装置10Bの構成を示すブロック図である。本例において、サーバ装置10Bは、オブジェクト制御部11Bを少なくとも備える。
本実施形態の例では、プレイヤオブジェクトと同一の属性が設定された移動体同士が衝突した場合、これらの移動体が連結した連結移動体が生成される。例えば、移動体が球体のオブジェクトである場合、2つの球体が1か所で連結した状態の連結移動体となる。連結移動体は、連結した複数の移動体から構成され、1のオブジェクトとして動作する。連結移動体は、移動体の1つである。
また、連結移動体にも、衝突した2つの移動体に設定されていた属性が設定される。すなわち、プレイヤオブジェクトと同一の属性が連結移動体にも設定される。例えば、この連結移動体を敵オブジェクトに衝突させることで、敵オブジェクトがより吹き飛ばされるようにしてもよい。
本実施形態の例では、連結移動体の連結数を増加させてもよい。具体的には、同一属性の連結移動体と他の移動体とを衝突させることで、連結移動体の連結数が増加する。例えば、連結数が多い程、連結移動体を敵オブジェクトに衝突させた場合における敵オブジェクトの吹き飛び量を多くしてもよい。
なお、敵対する属性関係の移動体同士が衝突した場合は、衝突後、連結せずに、弾け飛ぶように離間させればよい。したがって、例えば、プレイヤオブジェクトの周囲に連結移動体を配置することで、敵オブジェクトによる移動体での攻撃を防御することができる。
オブジェクト制御部11Bは、ゲーム空間におけるプレイヤオブジェクトを含む複数のオブジェクトの動作を制御する。オブジェクト制御部11Bは、ユーザの操作入力に基づいてプレイヤオブジェクトに所定の動作を実行させ、このプレイヤオブジェクトと同一の属性が設定された移動体を生成する。また、オブジェクト制御部11Bは、移動体と他のオブジェクトとが衝突した場合、少なくとも移動体と他のオブジェクトとの属性関係に基づいて、移動体及び他のオブジェクトの動作を制御する。
さらに、オブジェクト制御部11Bは、移動体に、同一の属性が設定された他の移動体が衝突した場合、移動体と他の移動体とを連結した連結移動体を生成する。オブジェクト制御部11Bは、上述したように、プレイヤオブジェクトと同一の属性を連結移動体に設定する。すなわち、衝突して消滅する移動体と同一の属性が連結移動体に設定される。オブジェクト制御部11Bは、連結移動体と他のオブジェクトとが衝突した場合、移動体の衝突と同様に、少なくとも連結移動体と他のオブジェクトとの属性関係に基づいて、連結移動体及び他のオブジェクトの動作を制御する。
次に、システム100Bの動作について説明する。
図7は、システム100Bが実行するゲーム進行処理の例を示すフローチャートである。本実施形態の例における進行処理では、移動体の生成処理及び移動体の衝突による動作処理を含んだゲーム進行のための処理が行われる。なお、図7においては、主として、移動体の生成処理及び移動体の衝突による動作処理について説明し、その他の処理は一部省略する。以下、サーバ装置10Bと端末装置20とがゲーム進行処理を実行する場合を例にして説明する。また、サーバ装置を有さないシステムにおける端末装置の動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
本実施形態の例の進行処理は、例えば、ユーザによるゲーム開始の操作入力があったことを契機として実行される。
端末装置20は、プレイヤオブジェクトに関する操作情報等をIPアドレス、ユーザの識別情報等とともに定期的にサーバ装置10Bに送信する。
サーバ装置10Bは、進行処理を行う(ステップS10-B)。進行処理では、端末装置20から受信したユーザの操作情報等に基づいてゲームを進行させる処理が行われる。進行処理では、サーバ装置10Bは、ゲーム空間の各オブジェクトの動作を制御する。プレイヤオブジェクトの場合には、操作情報等に基づいて動作が制御される。また、進行処理では、サーバ装置10Bは、オブジェクト同士の衝突判定も行う。一回の進行処理では、例えば、1フレーム分のゲーム画像及び音声を生成するための処理が行われる。
次に、サーバ装置10Aは、生成処理を行う(ステップS11)。生成処理は、移動体を生成するための処理であり、図8(A)を参照しつつ説明する。サーバ装置10Bは、最初に、プレイヤオブジェクトが所定の動作を実行したか否かを判断する(ステップS20)。所定の動作を実行していない場合(ステップS20:NO)、サーバ装置10Bは、生成処理を終了する。
一方、所定の動作を実行した場合(ステップS20:YES)、サーバ装置10Bは、決定処理を行う(ステップS21)。決定処理では、移動体の属性が決定される。例えば、プレイヤオブジェクトの所属グループが移動体の属性として決定される。次に、サーバ装置10Bは、配置処理を行う(ステップS22)。配置処理では、移動体をゲーム空間に配置する処理が行われる。その後、サーバ装置10Bは、生成処理を終了する。なお、サーバ装置10Bは、その後の進行処理において、生成された移動体の動作も制御する。
次に、サーバ装置10Bは、衝突動作処理を実行する(ステップS12-B)。衝突動作処理は、衝突した移動体及び他のオブジェクトの動作を決定するための処理であり、図8(B)を参照しつつ説明する。サーバ装置10Bは、ゲーム空間内の全ての移動体について衝突の有無を判断する。サーバ装置10Bは、最初に、移動体と他のオブジェクトとが衝突したか否かを判断する(ステップS30-B)。例えば、上述の進行処理における衝突判定の結果に基づいて判断すればよい。なお、本実施形態の例では、連結移動体も移動体の1つして上記衝突の有無が判断される。いずれの移動体も衝突していない場合(ステップS30-B:NO)、サーバ装置10Bは、衝突動作処理を終了する。
一方、少なくとも1つの移動体が衝突した場合(ステップS30-B:YES)、サーバ装置10Bは、特定処理を行う(ステップS31-B)。特定処理では、衝突した移動体及び他のオブジェクトの属性関係が特定される。例えば、サーバ装置10Bは、上述したように、プレイヤオブジェクトと同一の属性が設定された移動体同士が衝突した場合、同一属性の属性関係であると特定する。また、例えば、サーバ装置10Bは、プレイヤオブジェクトと同一の属性が設定された連結移動体と他の移動体とが衝突した場合も、同一属性の属性関係であると特定する。
次に、サーバ装置10Bは、決定処理を行う(ステップS32-B)。決定処理では、衝突した移動体及び他のオブジェクトの動作が決定される。サーバ装置10Bは、特定された属性関係に基づいて、衝突した移動体及び他のオブジェクトの衝突後の動作を決定する。同一属性の移動体同士が衝突した場合、例えば、2つの移動体は、衝突位置で連結さする動作とする。すなわち、衝突位置で連結移動体を生成する動作とする。また、同一属性の連結移動体と他の移動体とが衝突した場合、例えば、連結移動体及び移動体は、衝突位置で連結する動作とする。すなわち、連結移動体の連結数を増加させる動作とする。サーバ装置10Bは、例えば、上述の動作を特定するアクションデータを実行アクションとして、移動体等の識別情報に対応付けて記憶部に記憶すればよい。
次に、サーバ装置10Bは、連結移動体を生成するか否かを判断する(ステップS33-B)。サーバ装置10Bは、例えば、上述の決定処理で設定された移動体の実行アクションを参照し、連結させる動作が設定されている移動体と移動体とがある場合、連結移動体を生成すると判断すればよい。また、連結させる動作が設定されている連結移動体と移動体とがある場合も連結移動体を生成すると判断すればよい。連結移動体を生成しない場合(ステップS32-B:NO)、サーバ装置10Bは、衝突動作処理を終了する。
一方、連結移動体を生成する場合(ステップS33-B:YES)、サーバ装置10Bは、配置処理を実行する(ステップS34-B)。配置処理では、例えば、衝突位置を連結位置として2の移動体同士を連結させ、衝突位置に連結移動体を配置する処理が行われる。例えば、サーバ装置10Bは、連結させる移動体のオブジェクトデータを削除し、連結移動体のオブジェクトデータを生成する。オブジェクトデータには、属性データ、連結位置データ、連結数データ、位置データ等が含まれる。これにより、ゲーム空間に連結移動体が配置される。属性データは、連結させた移動体と同一の属性データが設定される。
なお、連結移動体と移動体との連結の場合には、連結移動体のオブジェクトデータの連結位置データ、連結数データ等を追加し、移動体のオブジェクトデータを消去すればよい。
その後、サーバ装置10Bは、衝突動作処理を終了する。次に、サーバ装置10Bは、画像情報生成処理を行う(ステップS13)。そして、サーバ装置10Bは、画像情報を端末装置20に送信する。なお、送信先となる端末装置20は、受信したIPアドレス、ユーザの識別情報等から特定される。
次に、サーバ装置10Bは、ゲームの終了か否かを判断する(ステップS14)。終了していない場合(ステップS14:NO)、サーバ装置10Bは、ステップS10の処理に戻る。一方、終了した場合(ステップS14:YES)、サーバ装置10Bは、ゲーム進行処理を終了する。
一方、端末装置20は、ゲーム終了まで(ステップS41:YES)、受信した画像情報に基づくゲーム空間の画像を出力(表示部に表示)する(ステップS40)。
なお、図7示す処理では、端末装置20に関して説明したが、例えば、複数のユーザが参加するゲームの場合には、各ユーザの端末装置に対しても同様の処理が行われる。
以上のように、第2の実施形態の一側面として、サーバ装置10Bが、オブジェクト制御部11Bを備える構成としているので、属性関係に応じて、衝突した移動体及び他のオブジェクトの動作が制御される。したがって、移動体の構成に関して、攻撃を行う他にも別の要素を付加することができる。これにより、移動体を用いたユーザの遊び方にバリエーションが増える。
また、同一属性の移動体同士が衝突した場合には連結移動体となるので、移動体を連結させてから敵オブジェクト等を攻撃する等、移動体を用いたユーザの遊び方にバリエーションが増える。
[第3の実施形態]
図9は、サーバ装置10の例であるサーバ装置10Cの構成を示すブロック図である。本例において、サーバ装置10Cは、オブジェクト制御部11Cを少なくとも備える。
本実施形態の例では、第2の実施形態の例と同様に、プレイヤオブジェクトと同一の属性が設定された移動体同士が衝突した場合、これらの移動体が連結した連結移動体が生成される。例えば、移動体が球体のオブジェクトである場合、2つの球体が1か所で吸着(連結)した状態の連結移動体となる。連結移動体は、複数の移動体から構成されるが、1のオブジェクトとして動作する。
また、連結移動体にも、衝突した2つの移動体に設定されていた属性が設定される。すなわち、プレイヤオブジェクトと同一の属性が連結移動体にも設定される。例えば、この連結移動体を敵オブジェクトに衝突させることで、敵オブジェクトがより吹き飛ばされるようにしてもよい。
本実施形態の例では、連結移動体の連結数を増加させてもよい。具体的には、同一属性の連結移動体と他の移動体とを衝突させることで、連結移動体の連結数が増加する。例えば、連結数が多い程、連結移動体を敵オブジェクトに衝突させた場合における敵オブジェクトの吹き飛び量を多くしてもよい。
なお、敵対する属性関係の移動体同士が衝突した場合は、衝突後、連結せずに、弾け飛ぶように離間させればよい。したがって、例えば、プレイヤオブジェクトの周囲に連結移動体を配置することで、敵オブジェクトによる移動体での攻撃を防御することができる。
また、本実施形態の例では、連結移動体を形成する移動体の連結数がT(例えば、T=5)となった場合、合成移動体が生成される。連結数は、連結している移動体の数である。合成移動体は、連結された所定数Tの移動体が一体化した1つの移動体である。すなわち、連結移動体を構成する所定数Tの移動体は消滅し、1つの合成移動体が生成される。例えば、移動体が球体のオブジェクトである場合、5つの球体が一体化したこれら球体よりも大きい球体が連結移動体として生成される。
合成移動体にも、連結移動体に設定されていた属性が設定される。すなわち、プレイヤオブジェクトと同一の属性が合成移動体にも設定される。したがって、例えば、この合成移動体を敵オブジェクトに衝突させることで、連結移動体を衝突させた場合よりも敵オブジェクトが吹き飛ばされるようにしてもよい。また、合成移動体に、敵対する属性関係の移動体が衝突した場合は、衝突後、合成移動体は移動させず、この移動体だけを弾き飛ばすように離間させてもよい。したがって、例えば、プレイヤオブジェクトの周囲に合成移動体を配置することで、敵オブジェクトによる移動体での攻撃を防御することができる。
オブジェクト制御部11Cは、ゲーム空間におけるプレイヤオブジェクトを含む複数のオブジェクトの動作を制御する。オブジェクト制御部11Cは、ユーザの操作入力に基づいてプレイヤオブジェクトに所定の動作を実行させ、このプレイヤオブジェクトと同一の属性が設定された移動体を生成する。また、オブジェクト制御部11Cは、移動体と他のオブジェクトとが衝突した場合、少なくとも移動体と他のオブジェクトとの属性関係に基づいて、移動体及び他のオブジェクトの動作を制御する。
さらに、オブジェクト制御部11Cは、移動体に、プレイヤオブジェクトと同一の属性が設定された他の移動体が衝突した場合、移動体と他の移動体とを連結した連結移動体を生成する。オブジェクト制御部11Cは、上述したように、プレイヤオブジェクトと同一の属性を連結移動体に設定する。すなわち、衝突して消滅する移動体と同一の属性が連結移動体に設定される。オブジェクト制御部11Cは、連結移動体と他のオブジェクトとが衝突した場合、移動体の衝突と同様に、少なくとも連結移動体と他のオブジェクトとの属性関係に基づいて、連結移動体及び他のオブジェクトの動作を制御する。
また、オブジェクト制御部11Cは、連結数:T-1の連結移動体に、同一の属性が設定された他の移動体が衝突した場合、連結移動体及び衝突した移動体を消滅させ、1の合成移動体を生成する。オブジェクト制御部11Cは、プレイヤオブジェクトと同一の属性を合成移動体に設定する。すなわち、衝突して消滅する連結移動体等と同一の属性が合成移動体に設定される。オブジェクト制御部11Cは、合成移動体と他のオブジェクトとが衝突した場合、移動体の衝突と同様に、少なくとも合成移動体と他のオブジェクトとの属性関係に基づいて、合成移動体及び他のオブジェクトの動作を制御する。
次に、システム100Cの動作について説明する。
図10は、システム100Cが実行するゲーム進行処理の例を示すフローチャートである。本実施形態の例における進行処理では、移動体の生成処理及び移動体の衝突による動作処理を含んだゲーム進行のための処理が行われる。なお、図10においては、主として、移動体の生成処理及び移動体の衝突による動作処理について説明し、その他の処理は一部省略する。以下、サーバ装置10Cと端末装置20とがゲーム進行処理を実行する場合を例にして説明する。また、サーバ装置を有さないシステムにおける端末装置の動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
本実施形態の例の進行処理は、例えば、ユーザによるゲーム開始の操作入力があったことを契機として実行される。
端末装置20は、プレイヤオブジェクトに関する操作情報等をIPアドレス、ユーザの識別情報等とともに定期的にサーバ装置10Cに送信する。
サーバ装置10Cは、進行処理を行う(ステップS10-C)。進行処理では、端末装置20から受信したユーザの操作情報等に基づいてゲームを進行させる処理が行われる。進行処理では、サーバ装置10Bは、ゲーム空間の各オブジェクトの動作を制御する。プレイヤオブジェクトの場合には、操作情報等に基づいて動作が制御される。また、進行処理では、サーバ装置10Cは、オブジェクト同士の衝突判定も行う。一回の進行処理では、例えば、1フレーム分のゲーム画像及び音声を生成するための処理が行われる。
次に、サーバ装置10Cは、生成処理を行う(ステップS11)。生成処理は、移動体を生成するための処理であり、図11(A)を参照しつつ説明する。サーバ装置10Cは、最初に、プレイヤオブジェクトが所定の動作を実行したか否かを判断する(ステップS20)。所定の動作を実行していない場合(ステップS20:NO)、サーバ装置10Cは、生成処理を終了する。
一方、所定の動作を実行した場合(ステップS20:YES)、サーバ装置10Cは、決定処理を行う(ステップS21)。決定処理では、移動体の属性が決定される。例えば、プレイヤオブジェクトの所属グループが移動体の属性として決定される。次に、サーバ装置10Cは、配置処理を行う(ステップS22)。配置処理では、移動体をゲーム空間に配置する処理が行われる。その後、サーバ装置10Cは、生成処理を終了する。なお、サーバ装置10Cは、その後の進行処理において、生成された移動体の動作も制御する。
次に、サーバ装置10Cは、衝突動作処理を実行する(ステップS12-C)。衝突動作処理は、衝突した移動体及び他のオブジェクトの動作を決定するための処理であり、図11(B)を参照しつつ説明する。サーバ装置10Cは、ゲーム空間内の全ての移動体について衝突の有無を判断する。サーバ装置10Cは、最初に、移動体と他のオブジェクトとが衝突したか否かを判断する(ステップS30-C)。例えば、上述の進行処理における衝突判定の結果に基づいて判断すればよい。なお、本実施形態の例では、連結移動体及び合成移動体も移動体の1つして上記衝突の有無が判断される。いずれの移動体も衝突していない場合(ステップS30-C:NO)、サーバ装置10Bは、衝突動作処理を終了する。
一方、少なくとも1つの移動体が衝突した場合(ステップS30-C:YES)、サーバ装置10Cは、特定処理を行う(ステップS31-C)。特定処理では、衝突した移動体及び他のオブジェクトの属性関係が特定される。例えば、サーバ装置10Cは、上述したように、プレイヤオブジェクトと同一の属性が設定された移動体同士が衝突した場合、同一属性の属性関係であると特定する。また、例えば、サーバ装置10Cは、プレイヤオブジェクトと同一の属性が設定された連結移動体及び合成移動体と他の移動体とが衝突した場合も、同一属性の属性関係であると特定する。
次に、サーバ装置10Cは、決定処理を行う(ステップS32-C)。決定処理では、衝突した移動体及び他のオブジェクトの動作が決定される。サーバ装置10Cは、特定された属性関係に基づいて、衝突した移動体及び他のオブジェクトの衝突後の動作を決定する。同一属性の移動体同士が衝突した場合、例えば、2つの移動体は、衝突位置で連結する動作とする。すなわち、衝突位置で連結移動体を生成する動作とする。また、同一属性の連結移動体と他の移動体とが衝突した場合、例えば、連結移動体及び移動体は、衝突位置で連結する動作とする。すなわち、連結移動体の連結数を増加させる動作とする。さらに、例えば、連結数:T-1の連結移動体に同一属性の他の移動体が衝突した場合、連結移動体及び衝突した移動体は、消滅して1の合成移動体を生成する動作とする。サーバ装置10Cは、例えば、上述の動作を特定するアクションデータを実行アクションとして、移動体等の識別情報に対応付けて記憶部に記憶すればよい。
次に、サーバ装置10Cは、連結移動体を生成するか否かを判断する(ステップS33-C)。サーバ装置10Cは、例えば、上述の決定処理で設定された移動体の実行アクションを参照し、連結させる動作が設定されている移動体と移動体とがある場合、連結移動体を生成すると判断すればよい。また、連結させる動作が設定されている連結移動体と移動体とがある場合も連結移動体を生成すると判断すればよい。連結移動体を生成しない場合(ステップS33-C:NO)、サーバ装置10Cは、ステップS35-Cの処理に移行する。
一方、連結移動体を生成する場合(ステップS33-C:YES)、サーバ装置10Cは、配置処理を実行する(ステップS34-C)。配置処理では、例えば、衝突位置を連結位置として2の移動体同士を連結させ、衝突位置に連結移動体を配置する処理が行われる。例えば、サーバ装置10Cは、連結させる移動体のオブジェクトデータを削除し、連結移動体のオブジェクトデータを生成する。オブジェクトデータには、属性データ、連結位置データ、連結数データ、位置データ等が含まれる。これにより、ゲーム空間に連結移動体が配置される。属性データは、連結させた移動体と同一の属性データが設定される。
なお、連結移動体と移動体との連結の場合には、連結移動体のオブジェクトデータの連結位置データ、連結数データ等を追加し、移動体のオブジェクトデータを消去すればよい。
次に、サーバ装置10Cは、合成移動体を生成するか否かを判断する(ステップS35-C)。サーバ装置10Cは、例えば、上述の決定処理で設定された連結移動体及び移動体の実行アクションを参照し、合成移動体を生成する動作が設定されている連結移動体と移動体とがある場合、合成移動体を生成すると判断すればよい。合成移動体を生成しない場合(ステップS35-C:NO)、サーバ装置10Cは、生成処理を終了する。
一方、合成移動体を生成する場合(ステップS35-C:YES)、サーバ装置10Cは、配置処理を実行する(ステップS36-C)。配置処理では、例えば、合成移動体を生成する連結移動体及び移動体を消滅させ、衝突位置を配置位置として合成移動体を配置する処理が行われる。例えば、サーバ装置10Cは、消滅させる連結移動体及び移動体のオブジェクトデータを削除し、合成移動体のオブジェクトデータを生成する。オブジェクトデータには、属性データ、位置データ等が含まれる。これにより、ゲーム空間に合成移動体が配置される。属性データは、合成した連結移動体及び移動体と同一の属性データが設定される。その後、サーバ装置10Cは、衝突動作処理を終了する。
次に、サーバ装置10Cは、画像情報生成処理を行う(ステップS13)。そして、サーバ装置10Cは、画像情報を端末装置20に送信する。なお、送信先となる端末装置20は、受信したIPアドレス、ユーザの識別情報等から特定される。
次に、サーバ装置10Cは、ゲームの終了か否かを判断する(ステップS14)。終了していない場合(ステップS14:NO)、サーバ装置10Cは、ステップS10の処理に戻る。一方、終了した場合(ステップS14:YES)、サーバ装置10Cは、ゲーム進行処理を終了する。
一方、端末装置20は、ゲーム終了まで(ステップS41:YES)、受信した画像情報に基づくゲーム空間の画像を出力(表示部に表示)する(ステップS40)。
なお、図10示す処理では、端末装置20に関して説明したが、例えば、複数のユーザが参加するゲームの場合には、各ユーザの端末装置に対しても同様の処理が行われる。
以上のように、第3の実施形態の一側面として、サーバ装置10Cが、オブジェクト制御部11Cを備える構成としているので、属性関係に応じて、衝突した移動体及び他のオブジェクトの動作が制御される。したがって、移動体の構成に関して、攻撃を行う他にも別の要素を付加することができる。これにより、移動体を用いたユーザの遊び方にバリエーションが増える。
また、同一属性の移動体同士が衝突した場合には連結移動体となるので、移動体を連結させてから敵オブジェクト等を攻撃する等、移動体を用いたユーザの遊び方にバリエーションが増える。しかも、連結数:Tの連結移動体が1の合成移動体となる。したがって、移動体を用いたユーザの遊び方にバリエーションがより増える。
[第4の実施形態]
図12は、サーバ装置10の例であるサーバ装置10Dの構成を示すブロック図である。本例において、サーバ装置10Dは、オブジェクト制御部11Dを少なくとも備える。
本実施形態の例では、プレイヤオブジェクトと同一の属性が設定された移動体と、プレイヤオブジェクトと敵対関係にある敵オブジェクトとが衝突した場合、この敵オブジェクトを衝突位置から所定方向に移動させる。例えば、衝突によって吹き飛ばされるように、移動体の移動方向に、敵オブジェクトが衝突位置から移動する。また、移動体は、衝突によって爆発するように消滅する。このように、敵オブジェクトに移動体を衝突(命中)させることは、プレイヤオブジェクトの攻撃に該当する。
オブジェクト制御部11Dは、ゲーム空間におけるプレイヤオブジェクトを含む複数のオブジェクトの動作を制御する。なお、プレイヤオブジェクトに敵対する属性関係の敵オブジェクトも上記オブジェクトに含まれる。オブジェクト制御部11Dは、ユーザの操作入力に基づいてプレイヤオブジェクトに所定の動作を実行させ、このプレイヤオブジェクトと同一の属性が設定された移動体を生成する。
また、オブジェクト制御部11Dは、移動体と他のオブジェクトとが衝突した場合、少なくとも移動体と他のオブジェクトとの属性関係に基づいて、移動体及び他のオブジェクトの動作を制御する。本実施形態の例では、オブジェクト制御部11Dは、プレイヤオブジェクトと同一の属性が設定された移動体と、プレイヤオブジェクトと敵対関係にある敵オブジェクトとが衝突した場合、上述したように、敵オブジェクトを衝突位置から所定方向に移動するように動作させる。また、オブジェクト制御部11Dは、上記移動体を、衝突位置で消滅させるように動作させる。
次に、システム100Dの動作について説明する。
図13は、システム100Dが実行するゲーム進行処理の例を示すフローチャートである。本実施形態の例における進行処理では、移動体の生成処理及び移動体の衝突による動作処理を含んだゲーム進行のための処理が行われる。なお、図13においては、主として、移動体の生成処理及び移動体の衝突による動作処理について説明し、その他の処理は一部省略する。以下、サーバ装置10Bと端末装置20とがゲーム進行処理を実行する場合を例にして説明する。また、サーバ装置を有さないシステムにおける端末装置の動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
本実施形態の例の進行処理は、例えば、ユーザによるゲーム開始の操作入力があったことを契機として実行される。
端末装置20は、プレイヤオブジェクトに関する操作情報等をIPアドレス、ユーザの識別情報等とともに定期的にサーバ装置10Dに送信する。
サーバ装置10Dは、進行処理を行う(ステップS10-D)。進行処理では、端末装置20から受信したユーザの操作情報等に基づいてゲームを進行させる処理が行われる。進行処理では、サーバ装置10Dは、ゲーム空間の各オブジェクトの動作を制御する。プレイヤオブジェクトの場合には、操作情報等に基づいて動作が制御される。また、進行処理では、サーバ装置10Bは、オブジェクト同士の衝突判定も行う。一回の進行処理では、例えば、1フレーム分のゲーム画像及び音声を生成するための処理が行われる。
次に、サーバ装置10Aは、生成処理を行う(ステップS11)。生成処理は、移動体を生成するための処理であり、図13(A)を参照しつつ説明する。サーバ装置10Dは、最初に、プレイヤオブジェクトが所定の動作を実行したか否かを判断する(ステップS20)。所定の動作を実行していない場合(ステップS20:NO)、サーバ装置10Dは、生成処理を終了する。
一方、所定の動作を実行した場合(ステップS20:YES)、サーバ装置10Dは、決定処理を行う(ステップS21)。決定処理では、移動体の属性が決定される。例えば、プレイヤオブジェクトの所属グループが移動体の属性として決定される。次に、サーバ装置10Dは、配置処理を行う(ステップS22)。配置処理では、移動体をゲーム空間に配置する処理が行われる。その後、サーバ装置10Dは、生成処理を終了する。なお、サーバ装置10Dは、その後の進行処理において、生成された移動体の動作も制御する。
次に、サーバ装置10Dは、衝突動作処理を実行する(ステップS12-D)。衝突動作処理は、衝突した移動体及び他のオブジェクトの動作を決定するための処理であり、図14(B)を参照しつつ説明する。サーバ装置10Dは、ゲーム空間内の全ての移動体について衝突の有無を判断する。サーバ装置10Dは、最初に、移動体と他のオブジェクトとが衝突したか否かを判断する(ステップS30)。例えば、上述の進行処理における衝突判定の結果に基づいて判断すればよい。いずれの移動体も衝突していない場合(ステップS30:NO)、サーバ装置10Dは、衝突動作処理を終了する。
一方、少なくとも1つの移動体が衝突した場合(ステップS30:YES)、サーバ装置10Dは、特定処理を行う(ステップS31)。特定処理では、衝突した移動体及び他のオブジェクトの属性関係が特定される。特定処理では、衝突した移動体及び他のオブジェクトの属性関係が特定される。例えば、サーバ装置10Dは、各オブジェクトの属性データに基づいて、上述したような敵対関係、同一属性等の属性関係を特定する。
次に、サーバ装置10Dは、決定処理を行う(ステップS32-D)。決定処理では、衝突した移動体及び他のオブジェクトの動作が決定される。サーバ装置10Dは、特定された属性関係に基づいて、衝突した移動体及び他のオブジェクトの衝突後の動作を決定する。上述したように、移動体と敵対関係にある敵オブジェクトとが衝突した場合、敵オブジェクトは、衝突位置から所定方向に移動させる動作とする。また、移動体は、ゲーム空間から消滅させる動作とする。サーバ装置10Dは、例えば、上述の動作を特定するアクションデータを実行アクションとして、移動体等の識別情報に対応付けて記憶部に設定すればよい。その後、サーバ装置10Dは、衝突動作処理を終了する。
以上のように、第4の実施形態の一側面として、サーバ装置10Dが、オブジェクト制御部11Dを備える構成としているので、属性関係に応じて、衝突した移動体及び他のオブジェクトの動作が制御される。したがって、移動体の構成に関して、攻撃を行う他にも別の要素を付加することができる。これにより、移動体を用いたユーザの遊び方にバリエーションが増える。
上述の実施形態の例では、移動体と衝突した場合、敵オブジェクトが吹き飛ぶ等の所定の方向に移動するが、移動量(吹き飛び量)は、任意の値を採用可能である。また、衝突によって、敵オブジェクトを移動させなくてもよい。例えば、移動体と敵オブジェクトとが衝突した場合、敵オブジェクトの生命力(パラメータ)を減少させる構成としてもよい。
上述の実施形態の例では、敵オブジェクトに衝突した移動体は消滅するが、消滅させなくてもよい。例えば、敵オブジェクトに衝突した場合、敵オブジェクトの移動方向とは反対方向に移動体を吹き飛ばすようにしてもよい。
上述実施形態の例においても、第2の実施形態の例及び第3の実施形態の例として説明した連結移動体及び合成移動体の構成を採用してもよい。
[第5の実施形態]
図15は、サーバ装置10の例であるサーバ装置10Eによって進行が制御されるゲームのゲーム空間50の概略を示す図である。本実施形態の例のゲームでは、島であるゲーム空間50(三次元仮想空間)において、海賊キャラクタが島に隠された宝を大量に手に入れて生還するゲームが行われる。島には、宝を守る(海賊を狩る(捕獲する))ハンターキャラクタが存在する。海賊キャラクタは、ハンターキャラクタに捕獲された場合、所定の場所で拘束される。拘束された海賊キャラクタは、他の海賊キャラクタによって助けられない限り、身動きができない。
本実施形態の例のゲームでは、複数のユーザが参加可能であり、プレイヤキャラクタ(プレイヤオブジェクト)を含む複数のキャラクタでグループが形成される。具体的には、宝を収集する海賊チームと、海賊キャラクタを狩るハンターチームとが形成される。海賊チーム(第一グループ)は、例えば3体のキャラクタ(海賊キャラクタ)で1チームを形成する。ハンターチーム(第二グループ)は、例えば12体のキャラクタ(ハンターキャラクタ)で1チームを形成する。各チームのキャラクタは、基本的には、ユーザが操作するプレイヤキャラクタである。ただし、ユーザ数が足りないチームには、サーバ装置(CPU)10E)が動作を制御するノンプレイヤキャラクタが配属される。海賊チームは例えば2チーム(第一グループA,B)が形成され、ハンターチームは例えば1チーム(第二グループS)が形成される。
なお、本実施形態の例のゲームでは、いずれかのチームに少なくとも1のユーザが操作するプレイヤキャラクタが含まれていればよい。ユーザは、ゲームへの参加要求を行う際、海賊チーム及びハンターチームのいずれのチームを希望するか選択すればよい。
海賊チームは、他の海賊チームよりも多くの宝を集めて勝利することが課題である。ハンターチームは、海賊キャラクタからできる限り多くの宝を守ることが課題である。具体的には、ハンターチームは、海賊キャラクタを捕獲することで、宝が奪われないように守ることが課題である。したがって、各チーム間では、図16に示すような関係が成立する。図16は、グループ間の関係を示す図である。海賊チームである第一グループAと第一グループBとは、競争関係であるライバル関係が成立する。また、海賊チームである第一グループA,Bと、ハンターチームである第二グループSとは、敵対する関係が成立する。なお、本実施形態の例では、ライバル関係も敵対する関係に該当する。
本実施形態の例では、各グループのキャラクタPC,HCが、同一(又は共通)のゲーム空間50において、所属するグループに設定された課題を達成するべく動作を行うことで、ゲームが進行していく。本実施形態の例のゲームは、ゲーム開始から制限時間(例えば10分)の到来によって終了する。
海賊キャラクタPCは、ハンターに捕まらないように、制限時間内に多くの宝Tを収集し、脱出ゲートを通って島から脱出(生還)しなければならない。脱出ゲートから脱出せずに制限時間が到来した場合は、脱出失敗となる。脱出失敗した海賊キャラクタPCが収集した宝Tは、所属する海賊チームの宝Tの収集量(合計値)に含められない。すなわち、脱出に成功した海賊キャラクタPCの収集した宝が海賊チームの収集量(合計値)として算出される。脱出ゲートは、例えば、残り時間3分(ゲーム開始から7分)となった時にゲーム空間50に配置される。本実施形態の例では、2つの脱出ゲートが、ゲーム空間50にランダムに配置される。海賊キャラクタPCは、制限時間のギリギリまで宝Tを収集してもよく、ハンターキャラクタHCに捕まるリスクを回避するべく、すぐに脱出ゲートから脱出してもよい。
本実施形態の例では、海賊チーム及びハンターチームに所属する各キャラクタ(グループオブジェクト)に、所属グループの属性が設定される。
ユーザは、自身のプレイキャラクタが海賊チームに所属する海賊キャラクタPCである場合、操作部を操作することで、自身の海賊キャラクタPCに、移動、宝の収集、発射、キック、踏みつけ、ジャンプ、所持アイテムの使用等の動作を実行させることができる。図17は、海賊キャラクタPCを操作するユーザの端末装置に表示されているゲーム画像の一例である。ゲーム画像には、ユーザが操作する海賊キャラクタPC及びハンターキャラクタHCを含むゲーム空間50の画像が表示される。また、ゲーム画像には、配置されている宝Tの画像も表示される。ユーザは、操作する海賊キャラクタPCを宝Tの近傍まで移動させることで宝Tの収集を実行させることができる。
発射の動作は、海賊キャラクタPCが所持する銃からシャボン弾を発射する動作(シャボンショット)である。シャボン弾は、シャボン玉のような移動体のオブジェクトであり、発射したプレイヤキャラクタが所属するグループの属性が設定される。シャボン弾は、衝突する他のオブジェクトとの属性関係に応じて種々の動作を実行する。シャボン弾の動作の一例を図18~図23を参照しつつ説明する。図18~図23は、シャボン弾の動作の一例を示す図である。なお、シャボンショットは、海賊キャラクタPCのみ実行でき、ハンターキャラクタHCは実行できない。以下、海賊キャラクタPCがプレイヤキャラクタとして説明する。
シャボン弾MOは、図18(A)に示すように敵対関係にある敵オブジェクトに衝突する場合、図18(B)に示すように、衝突した敵オブジェクトを吹き飛ばす。具体的には、衝突方向に、所定量だけ弾き飛ばす。シャボン弾MO自体は、衝突によって爆発して消滅する。なお、敵オブジェクトは、このシャボン弾MOとは異なるグループに所属する海賊キャラクタPC及びハンターキャラクタPCが該当する。例えば、海賊キャラクタPCは、ハンターキャラクタHCを弾き飛ばして、捕まらないように逃げることができる。また、例えば、海賊キャラクタ(プレイヤキャラクタ)PCは、他の海賊チームの海賊キャラクタPCと協力してハンターキャラクタHCにシャボン弾MOを発射して、まずはハンターキャラクタHCから逃げるような行動をとることもできる。すなわち、敵キャラクタに移動体(シャボン弾MO等)を衝突(命中)させることは、プレイヤキャラクタの攻撃に該当する。
また、例えば、海賊キャラクタPCは、宝Tの収集量の多い他の海賊チームの海賊キャラクタPCをハンターキャラクタHCの付近に向けて吹き飛ばし、他の海賊チームの海賊キャラクタPCをハンターキャラクタHCに捕まえさせるようにすることもできる。
なお、シャボン弾MOが同一グループの海賊キャラクタPCに衝突した場合は、例えば、シャボン弾MOは、衝突位置で跳ね返って衝突方向とは逆方向に移動していくようにすればよい。
次に、シャボン弾MOは、図19(A)に示すように、同一グループに所属する他のシャボン弾MO′と衝突する場合、図19(B)に示すように、衝突位置で連結して1の連結シャボン弾CMOとなる。連結シャボン弾(連結移動体)CMOは、衝突前のシャボン弾MO,MO′と同一グループの属性が設定され、1のシャボン弾MOと同様の動作を行う。連結シャボン弾CMOの連結数は、例えば最大4である。なお、シャボン弾MOと、異なるグループに所属する他のシャボン弾MOとが衝突した場合は、例えば、各シャボン弾MO,MOは互いを弾き飛ばように、衝突位置から互いに離間する方向に移動させればよい。
また、図19(C)に示すように、連結数:4の連結シャボン弾CMOが同一グループのシャボン弾MOと衝突する場合、図19(D)に示すようなビッグシャボン弾(合成移動体)BMOが生成される。この場合、衝突した連結シャボン弾CMO及びシャボン弾MOは消滅する。すなわち、連結シャボン弾CMOの連結数:T(例えば、T=5)となった場合、ビッグシャボン弾BMOが生成される。ビッグシャボン弾BMOは、衝突した連結シャボン弾CMO及びシャボン弾MOと同一グループの属性が設定され、1のシャボン弾MOと同様の動作を行う。但し、ビッグシャボン弾BMOは、同一グループの属性のシャボン弾MOと衝突した場合であっても、連結せず、衝突してきたシャボン弾MOを全て弾き返す。また、同一グループのビッグシャボン弾BMO同士が衝突した場合も、連結せず、互い弾き飛ばすように、衝突位置から互いに離間する方向に移動させればよい。
また、ビッグシャボン弾BMOは、図20(A)に示すように、異なるグループの属性のビッグシャボン弾BMO′と衝突する場合、図20(B)に示すような協力シャボン弾AMOが生成される。この場合、衝突したビッグシャボン弾CMO,CMO′は消滅する。協力シャボン弾(特殊移動体)AMOは、全ての海賊チームに属する属性が設定され、1のシャボン弾MOと同様の動作を行う。移動体において上記属性が設定されるのは協力シャボン弾AMOのみである。すなわち、上記属性が設定されている場合は、協力シャボン弾AMOであることが特定される。例えば、協力シャボン弾AMOが、第一グループAの海賊キャラクタPC及び第一グループBの海賊キャラクタPCのどうちらに衝突しても、敵対関係ではないので、いずれの海賊キャラクタPCも吹き飛ばされない。一方、第二グループSのハンターキャラクタHCは、協力シャボン弾AMOとは敵対関係の属性関係であるので、協力シャボン弾AMOに衝突した場合は吹き飛ばされる。すなわち、協力シャボン弾AMOは、ハンターキャラクタHCに対してのみ敵対関係となる。
なお、本実施形態の例では、生成された連結シャボン弾CMO、ビッグシャボン弾BMO、協力シャボン弾AMOは、連結が解除等されて元のシャボン弾MOに戻らないが、戻るようにしてもよい。
次に、シャボン弾MOは、図21(A)、図21(B)に示すように、いずれのグループにも属さない地形オブジェクト(地面W1、壁面W2等)に衝突した場合、地形オブジェクトに連結するように衝突位置で停止する。例えば、海賊キャラクタPCは、自身を囲むように、地面W1に複数のシャボン弾MOを配置(連結)させることが可能である。これにより、地面W1に配置した複数のシャボン弾MOを防御壁として利用でき、他のグループの海賊キャラクタPCから発射されたシャボン弾MOを弾くことができ、また他のグループの海賊キャラクタPC及びハンターキャラクタHCの接近を防止できる。
シャボン弾MOと地形オブジェクトとの連結は、異なるグループのシャボン弾MOとの衝突によって解除される。すなわち、地形オブジェクトに連結しているシャボン弾MOは、異なるグループのシャボン弾MOとの衝突によって、互いに弾き合って飛ばされる。
また、同一グループの海賊キャラクタPCによるキックの動作によっても、連結が解除されてキック方向に移動していく(図22(B)参照)。また、地形オブジェクトと連結しているシャボン弾MOであっても、他のグループの海賊キャラクタPC及びハンターキャラクタHCとの衝突によって消滅する。
次に、シャボン弾MOは、図22(A)に示すように、海賊キャラタクPCがシャボンショットの動作(所定の動作)を実行した場合、ゲーム空間50に配置(生成)され、配置位置からシャボンショットで指定された方向に空中を移動する動作(飛行動作)が行われる。また、図22(B)に示すように、シャボン弾MOは、同一グループの海賊キャラタクPCがキックの動作を行って衝突した場合、キック方向に移動する動作を行う。すなわち、海賊キャラクタPCによってキックされたシャボン弾MOは、キック方向に空中を移動する。例えば、海賊キャラクタPCは、キックを行って、シャボン弾MOを敵オブジェクトに命中(衝突)させることができる。また、本実施形態の例では、海賊キャラクタPCに溜めキックも実行させることができる。溜めキックは、海賊キャラクタPCに、最初に所定時間だけエネルギーの溜め動作を行わせた後にキックの動作を行わせる。。溜めキックは、例えば、エネルギーを溜めないキック(通常のキック)よりもシャボン弾MOの移動速度が速く、敵オブジェクトを吹き飛ばす距離が増大する。
また、図22(C)に示すように、シャボン弾MOには、同一グループの海賊キャラタクPCが乗ることができる。例えば、海賊キャラクタPCは、ジャンプの動作を行って、同一グループのシャボン弾MOの上面に衝突(接触)した場合、このシャボン弾MOに乗ることができる。例えば、海賊キャラクタPCは、地面W1にシャボン弾MOを吸着させ、ジャンプの動作によってそのシャボン弾MOの上面に乗って、さらにジャンプによって別のオブジェクトに移ることもできる。すなわち、プレイヤキャラクタである海賊キャラクタPCのゲーム空間50での移動を補助する機能も果たす。
さらに、図23(A)に示すように、シャボン弾MOは、同一グループの海賊キャラクタPCが踏みつける動作を行って衝突した場合、この海賊キャラクタPCを上方に弾き飛ばす。これによって、海賊キャラクタPCは、ジャンプの動作よりも高く飛ぶことができる。すなわち、プレイヤキャラクタである海賊キャラクタPCのゲーム空間50での移動を補助する機能を果たす。
上述の各グループのキャラクタPC,HCのそれぞれには、吹き飛びレベル(移動レベル)が設定されている。吹き飛びレベルは、別のグループの属性のシャボン弾MO等の移動体が衝突した場合の吹き飛び量(移動距離)を決定するのに参照されるパラメータである。吹き飛び量は、吹き飛びレベルを用いた式(1)で算出される。
吹き飛び量=吹き飛びレベル×爆発力 ・・・(1)
爆発力は、図24(A)に示すように、衝突した移動体の種類によって決定される。各移動体の爆発力は、ゲームデータに含まれる。図24(A)に示すように、爆発力は、シャボン弾MOが最も低く、協力シャボン弾AMOが最も高い。なお、種類に関わらず、移動体の爆発力を同一にしてもよい。
吹き飛びレベルは、第一条件の成立によって上昇し、第二条件の成立によって降下する。第一条件は、例えば、別のグループの属性の移動体が衝突したことである。別のグループの属性の移動体が衝突する毎に移動レベルが1ずつ上昇していく。第二条件は、例えば、別のグループの属性の移動体が衝突した後に所定時間(例えば15秒)が経過したことである。別のグループの属性の移動体が衝突してから所定時間が経過する毎に移動レベルが1ずつ減少していく。本実施形態の例では、シャボン弾MO、連結シャボン弾CMO等のいずれの移動体が衝突しても、吹き飛びレベルの上昇は1である。また、吹き飛びレベルは、下限値:1、上限値5が設定される。
したがって、吹き飛び量は、短時間で連続して移動体に衝突するほど上昇し、また爆発力の強い移動体に衝突するほど上昇する。そのため、ユーザは、吹き飛びレベルも考慮してゲームを進めることになる。例えば、シャボン弾MOを連続発射して敵キャラクタを吹き飛ばしたり、自身の吹き飛びレベルが高い場合には、一度、逃げて吹き飛びレベルを下げたりすることができる。
なお、溜めキックの場合には、例えば、式(1)で算出された吹き飛び量を3倍した値を吹き飛び量とすればよい。
また、上述のシャボン弾MO等の移動体は、敵キャラクタに衝突した場合には消滅するが、その他にも消滅条件が設定されている。図24(B)は、移動体の消滅条件の一例を示す図である。消滅条件は、ゲームデータに含まれる。
シャボン弾MOの消滅条件は、消滅時間の経過、敵キャラクタへの衝突、及び、連結シャボン弾CMOの生成のいずれか1つが成立することである。消滅時間は、例えば3秒が設定される。したがって、シャボン弾MOが生成された後、3秒経過後に消滅する。ただし、消滅時間が経過する前に、シャボン弾MOが地面W1等の地形オブジェクトに衝突した場合は、消滅時間が2秒延長される。すなわち、シャボン弾MOは、生成後に消滅時間(3秒)が経過するまで空中移動している場合には消滅してしまう。しかし、シャボン弾MOが生成後に消滅時間(3秒)が経過する前に地面W1等に連結した場合、消滅時間に2秒が加算される。この場合、シャボン弾MOは、生成後に消滅時間(3秒+2秒)が経過した場合に消滅することになる。したがって、シャボン弾MOの消滅タイミングは、シャボン弾MOのゲーム空間50での状態(地形オブジェクトに連結しているか否か)に応じて変化する。なお、シャボン弾MOが、同一属性のシャボン弾MO又は連結シャボン弾CMOに衝突した場合には、連結シャボンCMOが生成されて単一のシャボン弾MOとしては消滅する。
次に、連結シャボン弾CMOの消滅条件は、消滅時間の経過、敵キャラクタへの衝突、及び、ビッグシャボン弾BMOの生成のいずれか1つが成立することである。消滅時間は、例えば最後に連結したシャボン弾MOの消滅時間の残り時間が設定される。例えば、シャボン弾MOにシャボン弾MO′が衝突して連結シャボン弾CMOが生成された場合、シャボン弾MO′の消滅時間の残り時間(例えば4秒)が、連結シャボン弾CMOの消滅時間となる。したがって、連結シャボン弾CMOにシャボン弾MOを連結していくほど、連結シャボン弾CMOの消滅時間が延びていく。
次に、ビッグシャボン弾BMOの消滅条件は、消滅時間の経過、敵キャラクタへの衝突、及び、協力シャボン弾AMOの生成のいずれか1つが成立することである。消滅時間は、例えば60秒が設定される。したがって、ビッグシャボン弾BMOは、シャボン弾MO等よりも長くゲーム空間50に存在することになる。なお、ビッグシャボン弾BMOが、別のグループの属性のビッグシャボン弾BMOに衝突した場合には、協力シャボン弾AMOが生成されて、ビッグシャボン弾BMOとしては消滅する。
次に、協力シャボン弾AMOの消滅条件は、消滅時間の経過、及び、敵キャラクタへの衝突のいずれか1つが成立することである。消滅時間は、例えばビッグシャボン弾BMOと同様の60秒が設定される。
次に、ハンターキャラクタHCについて説明する。ハンターキャラクタHCは、制限時間内により多くの海賊キャラクタPCを捕獲することで、ゲーム空間50の宝Tを守る。ハンターキャラクタHCが海賊キャラクタPCを捕獲した場合、この海賊キャラクタPCは拘束されて宝Tを収集できなくなる。また、捕獲することによって、捕獲された海賊キャラクタPCが所持していた宝Tが捕獲地点にドロップ(配置)される。これにより、捕獲された海賊キャラクタPCの所持してる宝Tはなくなる。すなわち、捕獲によって宝Tを海賊キャラクタPCから奪い返すことができる。
ハンターキャラクタHCは、移動、捕獲、所持アイテムの使用等の動作を実行させることができる。図示しないが、ハンターキャラクタHCを操作するユーザの端末装置にも、図17に示すようなゲーム画像が表示される。
海賊チームである第一グループA,Bのそれぞれのユーザ(海賊キャラクタPC)は、ライバル関係(敵対関係)にあるが、ゲーム状況によってはハンターチームである第二グループSのハンターキャラクタHCから逃れるべく、一時的に協力関係(共闘、救助)を結ぶ場合もある。例えば、上述した協力シャボン弾AMOを協力して生成し、まずはハンターキャラクタHCを遠くへ吹き飛ばす。この場合、第一グループAの海賊キャラクタPCがビッグシャボンBMOを生成するべく動作を開始すれば、第二グループBの海賊キャラクタPCのユーザにも、その様子が視認可能となってメッセージで伝えなくても協力の意思を把握することができる。
また、ゲーム状況の変化によっては、一時的に協力関係となった相手を裏切る場合もある。例えば、第一グループAの海賊キャラクタPCがシャボン弾MOを発射し、ハンターキャラキャラクタHCの付近に第一グループBの海賊キャラクタPCを吹き飛ばす。これにより、第一グループBの海賊キャラクタPCがハンターキャラクタHCに捕獲されている間に、第一グループAの海賊キャラクタPCはハンターキャラクタHCから逃れることができる。また、捕獲された第一グループBの海賊キャラクタPCが所持していた宝Tはゲーム空間50にドロップされるので、第一グループAが有利にもなる。このように、ユーザは、シャボン弾MOを活用してゲームを楽しむことができる。
図25は、サーバ装置10の例であるサーバ装置10Eの構成を示すブロック図である。本例において、サーバ装置10Eは、オブジェクト制御部11E、設定部12E、配置部13E、集計部14E、判定部15E及び表示制御部16Eを少なくとも備える。
オブジェクト制御部11Eは、ゲーム空間50におけるプレイヤキャラクタ(プレイヤオブジェクト)を含む複数のオブジェクトの動作を制御する。第一グループA,B及び第二グループSに所属する各キャラクタPC,HC(グループオブジェクト)は、所属するグループに基づいて動作が制御される。
例えば、オブジェクト制御部11Eは、第二グループSのハンターキャラクタHCに、第一グループA,Bの海賊キャラクタPCを捕獲する動作を行わせる。オブジェクト制御部11Eは、捕獲された海賊キャラクタPCを、捕獲場所に移動させて動作の実行を禁止する。なお、捕獲された海賊キャラクタPCは、他の海賊キャラクタPCによって拘束を解除してもらった場合、再び動作の実行を許可するようにしてもよい。
また、例えば、オブジェクト制御部11Eは、第一グループA,Bの海賊キャラクタPCに、ゲーム空間50に配置されている宝Tを収集する動作を行わせる。また、オブジェクト制御部11Eは、海賊キャラクタPCに所定の動作(シャボンショット)を実行させ、この海賊キャラクタPCと同一のグループ属性が設定されたシャボン弾MOを生成する。
なお、オブジェクト制御部11Eは、海賊キャラクタPC及びハンターキャラクタHCがユーザが操作するプレイヤキャラクタの場合には、ユーザの操作情報に基づいて、上述のようにプレイヤキャラクタを動作させる。
オブジェクト制御部11Eは、図26に示すような管理テーブルを用いて、移動体を管理する。管理テーブルは、ゲーム空間50に配置された移動体のオブジェクトデータ(オブジェクトID,所属グループ等)が設定される。管理テーブルは、管理番号、オブジェクトID、所属グループ、座標、実行アクション、連結ステータス、消滅時間等のフィールドから構成される。
管理番号のフィールドには、移動体の管理番号が設定される。管理番号に、オブジェクトID、所属グループ、座標、実行アクション、連結ステータス、消滅時間等が対応付けられる。オブジェクトIDのフィールドには、シャボン弾MO、ビッグシャボン弾BMO等の移動体の種類を特定する識別情報が設定される。所属グループのフィールドには、移動体の所属するグループの識別情報が設定される。例えば、第一グループAの海賊キャラクタPCから発射されたシャボン弾MO(管理番号:1)は、第一グループAを特定するグループID:PT-Aが設定される。また、協力シャボン弾AMO(管理番号:4)には、全海賊チームに所属すること特定するグループID:PTが設定される。
座標のフィールドには、移動体が現在いる位置情報が設定される。具体的には、ゲーム空間50のワールド座標系の座標情報が設定される。実行アクションのフィールドには、移動体が実行する動作を特定するアクションデータ等が設定される。連結ステータスのフィールドは、連結数、連結座標等のフィールドから構成される。連結数のフィールドには、連結シャボン弾CMOの現在の連結数が設定される。なお、連結シャボン弾CMOではない移動体の場合、連結数のフィールドには無効の値が設定される。連結座標のフィールドには、連結位置を特定する座標情報が設定される。
消滅時間のフィールドには、移動体の消滅までの残り時間が設定される。シャボン弾MOの場合は初期値として3秒が設定され、ビッグシャボン弾BMO及び協力シャボン弾AMOの場合は初期値として60秒が設定される。また、連結シャボン弾CMOの場合は、最後に連結したシャボン弾MOの消滅時間(残り時間)が初期値として設定される。
オブジェクト制御部11Eは、管理テーブルを参照しつつ、各移動体の動作を制御する。図18~図23で例示したように、移動体と他のオブジェクトとが衝突した場合、少なくとも移動体と他のオブジェクトとの属性関係に基づいて、移動体及び他のオブジェクトの動作を制御する。具体的には、実行させる動作を特定するアクションデータを、実行アクションとして設定する。また、オブジェクト制御部11Eは、移動体の生成時、管理テーブルに生成する移動体のオブジェクトデータを追加設定する。さらに、オブジェクト制御部11Eは、移動体の消滅時、管理テーブルにおいて消滅させる移動体のオブジェクトデータを消去する。
また、オブジェクト制御部11Eは、宝Tの制御を行う。具体的には、ゲーム開始時、所定数の宝Tを、ゲーム空間50にランダムに配置する。また、オブジェクト制御部11Eは、海賊キャラクタPCが宝Tを収集する動作を行った場合、収集される宝Tをゲーム空間50から削除する。また、オブジェクト制御部11Eは、海賊キャラクタPCがハンターキャラクタHCに捕獲された場合、捕獲された海賊キャラクタPCが所持している宝Tを、捕獲位置に再配置する。オブジェクト制御部11Eは、例えば、宝Tの配置情報を生成して、サーバ装置10Eの記憶部に記憶しておけばよい。宝Tの配置情報は、例えば、宝Tが配置されている位置情報である。なお、宝Tの再配置は、捕獲位置に代えて、捕獲位置の周辺位置としてもよい。
また、オブジェクト制御部11Eは、制限時間が到来するまでに脱出ゲート(所定領域)に到達した海賊キャラクタPCのゲーム空間50の移動を禁止する。すなわち、制限時間内に脱出ゲート(所定領域)に移動した海賊キャラクタPC(ユーザ)は、ゲームのプレイが終了(脱出成功)となって最終の結果報告を待つのみとなる。
設定部12Eは、2つの海賊チーム(第一グループA,B)及び1つのハンターチーム(第二グループS)を設定する。設定部12Eは、ユーザによるチームの選択情報(操作情報)に基づいてグループを設定する。ユーザが海賊チームを選択している場合は、例えば、2つの海賊チームのいずれかにランダムに配属される。各グループのプレイヤキャラクタの配属数が所定数に達しない場合、ノンプレイヤオブジェクトを所定数に達していないグループに配属させればよい。なお、参加したユーザ(プレイヤキャラクタ)のみで各グループを形成するようにしてもよい。
設定部12Eは、図27(A)及び図27(B)に示すようなグループ毎の参加プレイヤリスト(グループ設定情報)を生成することで、グループ設定を行う。図27(A)は、海賊チームである第一グループAの参加プレイヤリストの一例を示す図である。図27(B)は、ハンターチームである第二グループSの参加プレイヤリストの一例を示す図である。図27(C)は、ユーザデータの一例を示す図である。
海賊チームの参加プレイヤリストは、所属グループ、管理番号、参加プレイヤ、収集量、脱出成否、レベル、累積時間等のフィールドから構成される。所属グループのフィールドには、キャラクタPCの所属するグループの識別情報が設定される。例えば、グループID「PT-A」は、海賊チームである第一グループAを特定する識別情報であり、「PT」が海賊チームを特定する識別情報である。所属グループに、管理番号、参加プレイヤ、収集量、脱出成否、レベル、累積時間等が対応付けられる。
管理番号のフィールドには、管理番号が設定される。本実施形態の例では、1つの海賊チームのキャラクタ数は3体であるので、管理番号として1~3が設定される。参加プレイヤのフィールドには、ゲームに参加しているユーザのユーザデータが設定される。ユーザデータは、ゲームの進行に応じて更新される。
ユーザデータは、ユーザのゲームに関する情報であり、マスターデータはサーバ装置10Dの記憶部に記憶されている。ユーザデータは、図27(C)に示すように、ユーザID、キャラクタステータス、所有アイテム等のフィールドから構成される。ユーザIDのフィールドには、ユーザの識別情報が設定される。キャラクタステータスのフィールドには、プレイヤキャラクタの各種情報が設定される。キャラクタステータスのフィールドは、オブジェクトID、名称、パラメータ、座標等のフィールドから構成される。
オブジェクトIDのフィールドには、キャラクタの識別情報(キャラクタID)が設定される。名称のフィールドには、プレイヤキャラクタの名称のテキストデータが設定される。パラメータのフィールドには、ジャンプ力、すばやさ等のキャラクタの各種のパラメータ(数値情報)が設定される。また、パラメータのフィールドには、プレイヤキャラクタが実行する動作を特定するアクションデータ(実行アクション)も含まれる。座標のフィールドには、プレイヤキャラクタが現在いる位置情報が設定される。具体的には、ゲーム空間50のワールド座標系の座標情報が設定される。所有アイテムのフィールドには、ユーザ(プレイヤキャラクタ)が所有しているアイテムの識別情報(アイテムID)が設定される。
なお、ユーザではなくノンプレイヤキャラクタが参加している場合には、参加プレイヤのフィールドには、NPCデータが設定される。NPCデータは、ユーザデータと同様の構成であるが、ユーザIDには、NPCを特定する識別情報が設定される。また、NPCデータは、予めゲームデータに含めておけばよい。
次に、収集量のフィールドには、獲得した宝Tの数量が設定される。収集量のフィールドには、初期値として0が設定され、宝Tを収集した場合には更新される。また、捕獲された場合には再び0となる。脱出成否のフィールドは、制限時間内に脱出ゲートに到達したか否かを示す情報である。脱出成否のフィールドには、成功を示す1、失敗を示す0の数値情報が設定される。なお、脱出成否のフィールドは、初期値として失敗を示す0が設定され、制限時間以内に脱出ゲートに到達した場合に成功を示す1が設定される。
レベルのフィールドには、上述した吹き飛びレベル(移動レベル)が設定される。累積時間のフィールドには、最後に別の所属グループのシャボン弾MOが衝突してからの経過時間が設定される。オブジェクト制御部11Eは、累積時間を参照して、該当するキャラクタの吹き飛びレベルを減少させるか否かを判断する。
次に、ハンターチームの参加プレイヤリストについて説明する。ハンターチームの参加プレイヤリストは、図27(B)に示すように、所属グループ、管理番号、参加プレイヤ、捕獲数、レベル、累積時間等のフィールドから構成されている。所属グループ、管理番号、参加プレイヤ、レベル、累積時間のフィールドに関しては、海賊チームの参加プレイヤリストと同様である。例えば、所属グループ「HT-S」は、ハンターチームである第二グループSを特定する識別情報であり、「HT」がハンターチームを特定する識別情報である。捕獲数のフィールドには、捕獲した海賊キャラクタPCの数量が設定される。捕獲数のフィールドには、初期値として0が設定され、海賊キャラクタPCを捕獲した場合には更新される。
オブジェクト制御部11Eは、各キャラクタPC,HCを動作させた結果に基づいて、各グループの参加プレイヤリストの内容を更新する。例えば、参加プレイヤのキャラクタの座標、収集量、捕獲量等が更新される。また、オブジェクト制御部11Eは、脱出に成功した海賊キャラクタPCの参加プレイヤリストの脱出成否を1(成功)に変更する。さらに、オブジェクト制御部11Eは、レベル(吹き飛びレベル)、累積時間を更新する。
配置部13Eは、ゲーム空間50に1以上の所定領域(脱出ゲート)を配置する。具体的には、配置部13Eは、残り時間3分(ゲーム開始から7分)となった時に、2つの脱出ゲートをゲーム空間50にランダムに配置する。なお、脱出ゲートの配置数、配置タイミングは、任意に設定すればよい。配置部13Dは、例えば、脱出ゲートの配置情報を生成して、サーバ装置10Eの記憶部に記憶しておけばよい。脱出ゲートの配置情報は、例えば、脱出ゲートが配置されている位置情報(座標)である。
集計部14Eは、海賊チームの海賊キャラクタPCのうち、制限時間内に脱出ゲートに到達した海賊キャラクタPCの宝Tの収集量を、第一グループA,B毎に集計する。具体的には、集計部14Eは、各海賊チーム(第一グループA,B)の参加プレイヤリストの脱出成否及び収集量を参照し、脱出に成功した海賊キャラクタPCの収集量をグループA,B毎に集計する。判定部15Eは、海賊チームのグループA,B毎に集計された収集量の最も多いグループを勝利チームと判定する。
表示制御部16Eは、複数の端末装置20,201~20Nのそれぞれの表示部に、ゲーム空間の画像(ゲーム画像)を表示させるべく画像情報を生成する。表示制御部16Eは、各端末装置20,201~20Nに定期的(1フレーム単位:1/60秒)に送信する。各端末装置20,201~20Nは、画像情報に基づいて画像を生成して表示部に表示させる。すなわち、各端末装置20,201~20Nは、画像情報に基づいてゲーム空間50を生成(更新)し、各端末装置のプレイヤキャラクタに基づいて配置される仮想カメラを用いて画像を生成すればよい。
次に、システム100Eの動作について説明する。
図28は、システム100Eが実行するゲーム進行処理の例を示すフローチャートである。本実施形態の例における進行処理では、移動体の生成処理及び移動体の衝突による動作処理を含んだゲーム進行のための処理が行われる。なお、図28においては、主として、移動体の生成処理及び移動体の衝突による動作処理について説明し、その他の処理は一部省略する。以下、サーバ装置10Eと端末装置20とがゲーム進行処理を実行する場合を例にして説明する。また、サーバ装置を有さないシステムにおける端末装置の動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。なお、端末装置20のプレイヤキャラクタは、第一グループAの海賊キャラクタPCとして説明する。
本実施形態の例の進行処理は、例えば、ユーザによるゲーム開始(ゲームの参加要求)の操作入力があったことを契機として実行される。
ゲーム進行処理において、端末装置20は、ゲームへの参加要求の情報をサーバ装置10Eに送信する。参加要求の情報には、例えば、IPアドレス、ユーザの識別情報、課題(チーム)の選択情報等が含まれる。
一方、サーバ装置10Eは、グループ設定処理を行う(ステップS5-E)。サーバ装置10Eは、プレイヤキャラクタを含む複数のオブジェクトのそれぞれにグループを設定する。上述したように、第一グループA,B、第二グループSを形成し、各グループの参加プレイヤリストを生成して記憶部に記憶する。
その後、ゲーム空間50が生成されてゲームが開始される。端末装置20は、プレイヤキャラクタに関する操作情報等をユーザの識別情報とともに定期的にサーバ装置10Eに送信する。
一方、サーバ装置10Eは、進行処理を行う(ステップS10-E)。進行処理では、端末装置20から受信したユーザの操作情報等に基づいてゲームを進行させる処理が行われる。本実施形態の例では、海賊チームの海賊キャラクタPCが宝Tを収集し、ハンターチームのハンターキャラクタHCが海賊キャラクタPCを捕獲するゲームの進行処理が行われる。進行処理では、サーバ装置10Eは、例えば、ゲーム空間50の各オブジェクトの動作を制御する。プレイヤキャラクタの場合には、操作情報等に基づいて動作が制御される。また、進行処理では、サーバ装置10Eは、オブジェクト同士の衝突判定も行われ、吹き飛びレベルも更新される。サーバ装置10Eは、各グループA,B,Sの参加プレイヤリストの情報を更新する。また、サーバ装置10Eは、宝Tの配置、再配置を行う。さらに、サーバ装置10Eは、ゲーム開始からの経過時間を更新し、経過時間に応じて脱出ゲートを配置する。一回の進行処理では、例えば、1フレーム分のゲーム画像及び音声を生成するための処理が行われる。
次に、サーバ装置10Eは、生成処理を行う(ステップS11-E)。生成処理は、移動体(シャボン弾MO)を生成するための処理であり、図29(A)を参照しつつ説明する。サーバ装置10Eは、最初に、海賊キャラクタPCが所定の動作(シャボンショット)を実行したか否かを判断する(ステップS20-E)。例えば、上述の進行処理において、海賊キャラクタPCによる所定の動作が完了した場合、海賊キャラクタPCが所定の動作を実行したと判断すればよい。所定の動作を実行していない場合(ステップS20-E:NO)、サーバ装置10Eは、生成処理を終了する。
一方、所定の動作を実行した場合(ステップS20-E:YES)、サーバ装置10Eは、決定処理を行う(ステップS21-E)。決定処理では、生成するシャボン弾MOの属性が決定される。所定の動作を行った海賊キャラクタPCの所属グループがシャボン弾MOの属性として決定される。
次に、サーバ装置10Bは、配置処理を行う(ステップS22-E)。配置処理では、シャボン弾MOをゲーム空間50に配置する処理が行われる。サーバ装置10Eは、図26で例示した管理テーブルに、シャボン弾MOのオブジェクトデータを設定すればよい。これにより、新たなシャボン弾MOのゲーム空間50への配置が行われる。なお、シャボン弾MOが配置される位置は、例えば、所定の動作を行った海賊キャラクタPCの近傍とすればよい。そして、図22(A)で例示したように、所定の動作によって指定された方向に移動する(飛行移動)する動作を実行アクションとして設定すればよい。その後、サーバ装置10Eは、生成処理を終了する。なお、サーバ装置10Eは、進行処理において、生成されたシャボン弾MOの動作も制御する。
次に、サーバ装置10Eは、衝突動作処理を実行する(ステップS12-E)。衝突動作処理は、衝突した移動体及び他のオブジェクトの動作を決定するための処理であり、図29(B)を参照しつつ説明する。サーバ装置10Eは、最初に、移動体と他のオブジェクトとが衝突したか否かを判断する(ステップS30-E)。サーバ装置10Eは、ゲーム空間50内の全ての移動体について衝突の有無を判断する。例えば、上述の進行処理における衝突判定の結果に基づいて判断すればよい。いずれの移動体も衝突していない場合(ステップS30-E:NO)、サーバ装置10Eは、衝突動作処理を終了する。
一方、少なくとも1つの移動体が衝突した場合(ステップS30-E:YES)、サーバ装置10Eは、特定処理を行う(ステップS31-E)。特定処理では、衝突した移動体及び他のオブジェクトの属性関係が特定される。サーバ装置10Eは、各オブジェクトの属性データに基づいて、上述したような敵対関係、同一属性(同一グループ)等の属性関係を特定する。属性データとしては、移動体の場合は図26で例示したような管理テーブルのオブジェクトID及び所属グループを参照し、海賊キャラクタPC及びハンターキャラの場合は参加プレイヤリストのオブジェクトID及び所属グループを参照すればよい。また、地形オブジェクトの場合は、地形の属性が設定されているオブジェクトIDを参照すればよい。なお、地形オブジェクトの場合は、グループの属性データはないため、所属グループなしの属性とすればよい。
次に、サーバ装置10Eは、決定処理を行う(ステップS32-E)。決定処理では、衝突した移動体及び他のオブジェクトの動作が決定される。サーバ装置10Eは、特定された属性関係、オブジェクト種別、衝突時の動作等に基づいて、衝突した移動体及び他のオブジェクトの衝突後の動作を決定する。サーバ装置10Eは、図18~図23等で例示した動作を特定し、決定した動作に対応するアクションデータを、衝突した移動体及びキャラクタの実行アクションとして設定する。
同一属性のシャボン弾MO同士が衝突した場合、2つのシャボン弾MOは、衝突位置で連結する動作とする。すなわち、衝突位置で連結シャボン弾MOを生成する動作とする。また、同一属性の連結シャボン弾MOと他のシャボン弾MOとが衝突した場合、連結シャボン弾CMO及びシャボン弾MOは、衝突位置で連結する動作とする。すなわち、連結シャボン弾CMOの連結数を増加させる動作とする。さらに、連結数:T-1の連結シャボン弾に同一属性の他のシャボン弾MOが衝突した場合、これら連結シャボン弾CMO及びシャボン弾MOは消滅し、1のビッグシャボン弾BMOを生成する動作とする。さらに、異なる属性の2つのビッグシャボン弾BMO同士が衝突した場合、これら2つのビッグシャボン弾BMOは消滅し、1の協力シャボン弾AMOを生成する動作とする。
次に、サーバ装置10Eは、連結移動体(連結シャボン弾CMO)を生成するか否かを判断する(ステップS33-E)。サーバ装置10Eは、例えば、上述の決定処理で設定されたシャボン弾MOの実行アクション(管理テーブル)を参照し、連結させる動作が設定されているシャボン弾MOとシャボン弾MOとがある場合、連結シャボン弾MOを生成すると判断すればよい。また、連結させる動作が設定されている連結シャボン弾CMOとシャボン弾MOとがある場合も連結シャボン弾MOを生成すると判断すればよい。連結シャボン弾MOを生成しない場合(ステップS33-E:NO)、サーバ装置10Eは、ステップS35-Eの処理に移行する。
一方、連結シャボン弾CMOを生成する場合(ステップS33-E:YES)、サーバ装置10Eは、配置処理を実行する(ステップS34-E)。配置処理では、例えば、衝突位置を連結位置として2のシャボン弾MO同士を連結させ、衝突位置に連結シャボン弾MOを配置する処理が行われる。例えば、サーバ装置10Eは、連結させる2つのシャボン弾MOの管理テーブルのオブジェクトデータを消去し、連結シャボン弾MOのオブジェクトデータを管理テーブルに追加する。これにより、ゲーム空間50に連結シャボン弾MOが配置される。連結シャボン弾MOの所属グループ(属性データ)には、連結させたシャボン弾MOと同一グループの識別情報が設定される。
なお、連結シャボン弾MOとシャボン弾MOとの連結の場合には、連結シャボン弾MOの連結ステータス、消滅時間を更新し、シャボン弾MOのオブジェクトデータ(管理テーブル)を消去すればよい。
次に、サーバ装置10Eは、合成移動体(ビッグシャボン弾BMO)を生成するか否かを判断する(ステップS35-E)。サーバ装置10Eは、例えば、上述の決定処理で設定された連結シャボン弾CMO及びシャボン弾MOの実行アクションを参照し、ビッグシャボン弾BMOを生成する動作が設定されている連結シャボン弾CMOとシャボン弾MOとがある場合、ビッグシャボン弾BMOを生成すると判断すればよい。ビッグシャボン弾BMOを生成しない場合(ステップS35-E:NO)、サーバ装置10Eは、ステップS37-Eの処理に移行する。
一方、ビッグシャボン弾BMOを生成する場合(ステップS35-E:YES)、サーバ装置10Eは、配置処理を実行する(ステップS36-E)。配置処理では、ビッグシャボン弾BMOを生成する連結シャボン弾CMO及びシャボン弾MOを消滅させ、衝突位置を配置位置としてビッグシャボン弾BMOを配置する処理が行われる。サーバ装置10Eは、消滅させる連結シャボン弾CMO及びシャボン弾MOの管理テーブルのオブジェクトデータを消去し、ビッグシャボン弾BMOのオブジェクトデータを管理テーブルに追加する。これにより、ゲーム空間50にビッグシャボン弾BMOが配置される。ビッグシャボン弾MOの所属グループ(属性データ)には、合成した連結シャボン弾MO等と同一グループの識別情報が設定される。
次に、サーバ装置10Eは、特殊移動体(協力シャボン弾AMO)を生成するか否かを判断する(ステップS37-E)。サーバ装置10Eは、例えば、上述の決定処理で設定されたビッグシャボン弾BMOの実行アクションを参照し、協力シャボン弾AMOを生成する動作が設定されている少なくとも1組のビッグシャボン弾BMOがある場合、協力シャボン弾AMOを生成すると判断すればよい。協力シャボン弾AMOを生成しない場合(ステップS37-E:NO)、サーバ装置10Eは、衝突動作処理を終了する。
一方、協力シャボン弾AMOを生成する場合(ステップS37-E:YES)、サーバ装置10Eは、配置処理を実行する(ステップS38-E)。配置処理では、協力シャボン弾AMOを生成する1組のビッグシャボン弾BMOを消滅させ、衝突位置を配置位置として協力シャボン弾AMOを配置する処理が行われる。サーバ装置10Eは、消滅させる1組のビッグシャボン弾BMOの管理テーブルのオブジェクトデータを消去し、協力シャボン弾AMOのオブジェクトデータを管理テーブルに追加する。これにより、ゲーム空間50に協力シャボン弾AMOが配置される。協力シャボン弾AMOの所属グループ(属性データ)には、全海賊チームに所属することを特定する識別情報が設定される。その後、サーバ装置10Eは、衝突動作処理を終了する。
次に、サーバ装置10Eは、画像情報生成処理を行う(ステップS13-E)。サーバ装置10Eは、例えば、上述の各処理によって進行したゲーム空間50等の画像を生成するための画像情報を生成する。そして、サーバ装置10Eは、画像情報を端末装置20に送信する。なお、送信先となる端末装置20は、受信したIPアドレス、ユーザの識別情報等から特定される。
次に、サーバ装置10Eは、ゲームの終了か否かを判断する(ステップS14-E)。サーバ装置10Eは、サーバ装置10Eは、ゲーム開始からの制限時間の到来の終了条件を満たした場合にゲームの終了であると判断する。終了していない場合(ステップS14-E:NO)、サーバ装置10Eは、ステップS10-Eの処理に戻る。一方、終了した場合(ステップS14-E:YES)、サーバ装置10Eは、ゲーム進行処理を終了する。
一方、端末装置20は、ゲーム終了まで(ステップS41:YES)、受信した画像情報に基づいて、図17で例示したようなゲーム空間50の画像を出力(表示部に表示)する(ステップS40)。
なお、図28に示す処理では、端末装置20に関して説明したが、例えば、複数のユーザが参加するゲームの場合には、各ユーザの端末装置に対しても同様の処理が行われる。また、ゲーム終了後、ゲーム結果(勝利チーム等)を表示するようにしてもよい。
以上のように、第5の実施形態の一側面として、サーバ装置10Eが、オブジェクト制御部11E、設定部12E、配置部13E、集計部14E、判定部15E及び表示制御部16Eを備える構成としているので、属性関係に応じて、衝突した移動体及び他のオブジェクトの動作が制御される。したがって、移動体の構成に関して、攻撃を行う他にも別の要素を付加することができる。これにより、移動体を用いたユーザの遊び方にバリエーションが増える。
また、同一属性の移動体(シャボン弾)同士が衝突した場合には連結移動体(連結シャボン弾)となるので、移動体を連結させてから敵オブジェクト等を攻撃する等、移動体を用いたユーザの遊び方にバリエーションが増える。しかも、連結数:Tの連結移動体が1の合成移動体(ビッグシャボン弾)となる。したがって、移動体を用いたユーザの遊び方にバリエーションがより増える。
さらに、異なる属性の合成移動体(ビッグシャボン弾)同士の衝突によって、特殊移動体(協力シャボン弾)が生成される。これにより、敵対関係のプレイヤキャラクタ同士であっても、他の敵キャラクタに対しては協力することができる。したがって、移動体を用いたユーザの遊び方にバリエーションがより増える。
なお、上述の実施形態の例のゲームは、海賊チーム及びハンターチームのグループが形成され、海賊キャラクタが宝を収集する構成であるが、特にこれに限定されるものではない。例えば、プレイヤキャラクタ同士の1対1の対戦ゲームであって、シャボン弾を使用して対戦相手を吹き飛ばしてステージ上から落とす構成のゲームであってもよい。また、例えば、1チーム対1チームのグループ対戦のゲームであってもよい。
上述の実施形態の例の移動体は、シャボン弾、連結シャボン弾、ビッグシャボン弾等の複数の種類があるが、1種類であってもよい。
上述の実施形態の例では、移動体(シャボン弾)を生成する所定の動作として、海賊キャラクタのシャボンショットを説明したが、特にこれに限定されるものではない。例えば、プレイヤキャラクタが移動することで、移動した軌跡上に複数のシャボン弾を生成するようにしてもよい。また、移動体の形状は、シャボン弾のような球体のオブジェクトに限定されるものではなく、種々の形態を採用可能である。
[付記]
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
[1]
ユーザがゲーム空間のプレイヤオブジェクトを操作するビデオゲームの進行を制御する機能を、コンピュータに実現させるためのビデオゲーム処理プログラムであって、
前記コンピュータに、
ゲーム空間における前記プレイヤオブジェクトを含む複数のオブジェクトの動作を制御する制御機能、
を実現させ、
前記複数のオブジェクトのそれぞれには属性が設定され、
前記制御機能では、
ユーザの操作入力に基づいて前記プレイヤオブジェクトに所定の動作を実行させ、該プレイヤオブジェクトと同一の属性が設定された移動体を生成する機能、
前記移動体と他のオブジェクトとが衝突した場合、少なくとも該移動体と該他のオブジェクトとの属性関係に基づいて、該移動体及び該他のオブジェクトの動作を制御する機能、
を実現させるビデオゲーム処理プログラム。
[2]
前記制御機能では、
前記移動体に、前記プレイヤオブジェクトと同一の属性が設定された他の移動体が衝突した場合、該移動体と該他の移動体とを連結した連結移動体であって該プレイヤオブジェクトと同一の属性が設定された連結移動体を生成する機能、
前記連結移動体と他のオブジェクトとが衝突した場合、少なくとも該連結移動体と該他のオブジェクトとの属性関係に基づいて、該連結移動体及び該他のオブジェクトの動作を制御する機能、
を実現させる[1]に記載のビデオゲーム処理プログラム。
[3]
前記制御機能では、
前記連結移動体を形成する移動体の連結数が所定数となった場合、一体化した合成移動体であって前記プレイヤオブジェクトと同一の属性が設定された合成移動体を生成する機能、
前記合成移動体と他のオブジェクトとが衝突した場合、少なくとも該連結移動体と該他のオブジェクトとの属性関係に基づいて、該合成移動体及び該他のオブジェクトの動作を制御する機能、
を実現させる[2]に記載のビデオゲーム処理プログラム。
[4]
前記制御機能では、
前記プレイヤオブジェクトに敵対する属性が設定された敵オブジェクトの動作を制御する機能、
前記移動体と前記敵オブジェクトとが衝突した場合、該敵オブジェクトを、衝突位置から所定方向に移動させる機能、
を実現させる[1]~[3]のいずれかに記載のビデオゲーム処理プログラム。
[5]
前記コンピュータに、さらに、
前記移動体と前記敵オブジェクトとが衝突する毎に、該敵オブジェクトの移動レベルを上昇させ、衝突しない状態の時間経過に応じて、該敵オブジェクトの移動レベルを下降させるレベル設定機能、
を実現させ
前記制御機能では、前記移動体に、前記敵オブジェクトが衝突した場合、前記移動レベルに基づく距離だけ、該敵オブジェクトを、衝突位置から所定方向に移動させる機能、
を実現させる[4]に記載のビデオゲーム処理プログラム。
[6]
前記制御機能では、
前記敵オブジェクトに所定の動作を実行させ、該敵オブジェクトと同一の属性が設定された移動体を生成する機能、
前記移動体に、前記プレイヤオブジェクトに敵対する属性が設定された他の移動体が衝突した場合、互いに離間する方向に該移動体と該他の移動体とを移動させる機能、
を実現させる[4]又は[5]に記載のビデオゲーム処理プログラム。
[7]
前記複数のオブジェクトには、互いに敵対する3以上のグループのいずれかに所属する前記プレイヤオブジェクトを含めたグループオブジェクトが含まれ、該グループオブジェクトにはグループの属性が設定され、
前記プレイヤオブジェクトに敵対する属性は、前記プレイヤオブジェクトが所属する所属グループとは異なるグループの属性であり、
前記制御機能では、ユーザの操作入力に基づいて前記プレイヤオブジェクトに所定の動作を実行させ、前記所属グループの属性が設定された移動体を生成する機能、
を実現させる[4]~[5]のいずれかに記載のビデオゲーム処理プログラム。
[8]
前記制御機能では、
前記合成移動体と前記プレイヤオブジェクトに敵対する属性が設定された他の合成移動体とが衝突した場合、これら合成移動体が一体化された特殊移動体であって特殊移動体であることを示す属性が設定された特殊移動体を生成する機能、
前記特殊移動体と他のオブジェクトとが衝突した場合、少なくとも該特殊移動体と該他のオブジェクトとの属性関係に基づいて、該特殊移動体及び該他のオブジェクトの動作を制御する機能、
を実現させる[3]に記載のビデオゲーム処理プログラム。
[9]
前記制御機能では、前記移動体に、前記プレイヤオブジェクトが衝突した場合、該プレイヤオブジェクトの動作に応じて該移動体の動作を制御する機能、
を実現させる[1]~[8]のいずれかに記載のビデオゲーム処理プログラム。
[10]
前記制御機能では、
前記プレイヤオブジェクトに、前記移動体を踏みつける動作を実行させる機能、
前記移動体に前記プレイヤオブジェクトが踏みつける動作を実行しつつ衝突した場合、該プレイヤオブジェクトを高さ方向に上昇させる動作を該移動体に実行させる機能、
を実現させる[9]に記載のビデオゲーム処理プログラム。
[11]
前記制御機能では、
前記プレイヤオブジェクトに、前記移動体を蹴る動作を実行させる機能、
前記移動体に前記プレイヤオブジェクトが蹴る動作を実行しつつ衝突した場合、該移動体を所定方向に移動させる機能、
を実現させる[9]又は[10]に記載のビデオゲーム処理プログラム。
[12]
前記制御機能では、
前記プレイヤオブジェクトに、溜め動作を実行させる機能、
前記移動体に前記プレイヤオブジェクトが所定時間以上の溜め動作に続けて蹴る動作を実行しつつ衝突した場合、該移動体を溜め動作のない場合よりも速い速度で所定方向に移動させる機能、
を実現させる[11]に記載のビデオゲーム処理プログラム。
[13]
前記制御機能では、前記移動体に前記ゲーム空間の地形の属性が設定された地形オブジェクトが衝突した場合、該移動体を該地形オブジェクトに連結させる機能、
を実現させる[1]~[12]のいずれかに記載のビデオゲーム処理プログラム。
[14]
前記コンピュータに、さらに、
前記移動体の消滅タイミングを、該移動体のゲーム空間での状態に応じて決定する決定機能、
を実現させ、
前記制御機能では、前記消滅タイミングに基づいて、前記移動体を消滅させる機能、
を実現させる[1]~[13]のいずれかに記載のビデオゲーム処理プログラム。
[15]
ゲーム端末装置と通信ネットワークにより接続されるサーバ装置に、ユーザがゲーム空間のプレイヤオブジェクトを操作するビデオゲームの進行を制御させるためのビデオゲーム処理プログラムであって、
ゲーム空間における前記プレイヤオブジェクトを含む複数のオブジェクトの動作を制御する制御機能、
を実現させ、
前記複数のオブジェクトのそれぞれには属性が設定され、
前記制御機能では、
ユーザの操作入力に基づいて前記プレイヤオブジェクトに所定の動作を実行させ、該プレイヤオブジェクトと同一の属性が設定された移動体を生成する機能、
前記移動体と他のオブジェクトとが衝突した場合、少なくとも該移動体と該他のオブジェクトとの属性関係に基づいて、該移動体及び該他のオブジェクトの動作を制御する機能、
を実現させるビデオゲーム処理プログラム。
[16]
前記制御機能では、
前記移動体に、前記プレイヤオブジェクトと同一の属性が設定された他の移動体が衝突した場合、該移動体と該他の移動体とを連結した連結移動体であって該プレイヤオブジェクトと同一の属性が設定された連結移動体を生成する機能、
前記連結移動体と他のオブジェクトとが衝突した場合、少なくとも該連結移動体と該他のオブジェクトとの属性関係に基づいて、該連結移動体及び該他のオブジェクトの動作を制御する機能、
を実現させる[15]に記載のビデオゲーム処理プログラム。
[17]
前記制御機能では、
前記連結移動体を形成する移動体の連結数が所定数となった場合、一体化した合成移動体であって前記プレイヤオブジェクトと同一の属性が設定された合成移動体を生成する機能、
前記合成移動体と他のオブジェクトとが衝突した場合、少なくとも該連結移動体と該他のオブジェクトとの属性関係に基づいて、該合成移動体及び該他のオブジェクトの動作を制御する機能、
を実現させる[16]に記載のビデオゲーム処理プログラム。
[18]
前記制御機能では、
前記プレイヤオブジェクトに敵対する属性が設定された敵オブジェクトの動作を制御する機能、
前記移動体と前記敵オブジェクトとが衝突した場合、該敵オブジェクトを、衝突位置から所定方向に移動させる機能、
を実現させる[15]~[17]のいずれかに記載のビデオゲーム処理プログラム。
[19]
前記サーバ装置に、さらに、
前記移動体と前記敵オブジェクトとが衝突する毎に、該敵オブジェクトの移動レベルを上昇させ、衝突しない状態の時間経過に応じて、該敵オブジェクトの移動レベルを下降させるレベル設定機能、
を実現させ
前記制御機能では、前記移動体に、前記敵オブジェクトが衝突した場合、前記移動レベルに基づく距離だけ、該敵オブジェクトを、衝突位置から所定方向に移動させる機能、
を実現させる[18]に記載のビデオゲーム処理プログラム。
[20]
前記制御機能では、
前記敵オブジェクトに所定の動作を実行させ、該敵オブジェクトと同一の属性が設定された移動体を生成する機能、
前記移動体に、前記プレイヤオブジェクトに敵対する属性が設定された他の移動体が衝突した場合、互いに離間する方向に該移動体と該他の移動体とを移動させる機能、
を実現させる[18]又は[19]に記載のビデオゲーム処理プログラム。
[21]
前記複数のオブジェクトには、互いに敵対する3以上のグループのいずれかに所属する前記プレイヤオブジェクトを含めたグループオブジェクトが含まれ、該グループオブジェクトにはグループの属性が設定され、
前記プレイヤオブジェクトに敵対する属性は、前記プレイヤオブジェクトが所属する所属グループとは異なるグループの属性であり、
前記制御機能では、ユーザの操作入力に基づいて前記プレイヤオブジェクトに所定の動作を実行させ、前記所属グループの属性が設定された移動体を生成する機能、
を実現させる[18]~[20]のいずれかに記載のビデオゲーム処理プログラム。
[22]
前記制御機能では、
前記合成移動体と前記プレイヤオブジェクトに敵対する属性が設定された他の合成移動体とが衝突した場合、これら合成移動体が一体化された特殊移動体であって特殊移動体であることを示す属性が設定された特殊移動体を生成する機能、
前記特殊移動体と他のオブジェクトとが衝突した場合、少なくとも該特殊移動体と該他のオブジェクトとの属性関係に基づいて、該特殊移動体及び該他のオブジェクトの動作を制御する機能、
を実現させる[17]に記載のビデオゲーム処理プログラム。
[23]
前記制御機能では、前記移動体に、前記プレイヤオブジェクトが衝突した場合、該プレイヤオブジェクトの動作に応じて該移動体の動作を制御する機能、
を実現させる[15]~[22]のいずれかに記載のビデオゲーム処理プログラム。
[24]
前記制御機能では、
前記プレイヤオブジェクトに、前記移動体を踏みつける動作を実行させる機能、
前記移動体に前記プレイヤオブジェクトが踏みつける動作を実行しつつ衝突した場合、該プレイヤオブジェクトを高さ方向に上昇させる動作を該移動体に実行させる機能、
を実現させる[23]に記載のビデオゲーム処理プログラム。
[25]
前記制御機能では、
前記プレイヤオブジェクトに、前記移動体を蹴る動作を実行させる機能、
前記移動体に前記プレイヤオブジェクトが蹴る動作を実行しつつ衝突した場合、該移動体を所定方向に移動させる機能、
を実現させる[23]又は[24]に記載のビデオゲーム処理プログラム。
[26]
前記制御機能では、
前記プレイヤオブジェクトに、溜め動作を実行させる機能、
前記移動体に前記プレイヤオブジェクトが所定時間以上の溜め動作に続けて蹴る動作を実行しつつ衝突した場合、該移動体を溜め動作のない場合よりも速い速度で所定方向に移動させる機能、
を実現させる[25]に記載のビデオゲーム処理プログラム。
[27]
前記制御機能では、前記移動体に前記ゲーム空間の地形の属性が設定された地形オブジェクトが衝突した場合、該移動体を該地形オブジェクトに連結させる機能、
を実現させる[15]~[26]のいずれかに記載のビデオゲーム処理プログラム。
[28]
前記コンピュータに、さらに、
前記移動体の消滅タイミングを、該移動体のゲーム空間での状態に応じて決定する決定機能、
を実現させ、
前記制御機能では、前記消滅タイミングに基づいて、前記移動体を消滅させる機能、
を実現させる[15]~[27]のいずれかに記載のビデオゲーム処理プログラム。
[29]
ユーザがゲーム空間のプレイヤオブジェクトを操作するビデオゲームを実行する複数の端末装置と、該複数のゲーム端末装置と通信ネットワークで接続されるサーバ装置とを備えたゲームシステムであって、
ゲーム空間における前記プレイヤオブジェクトを含む複数のオブジェクトの動作を制御する制御手段、
を含み、
前記複数のオブジェクトのそれぞれには属性が設定され、
前記制御手段は、
ユーザの操作入力に基づいて前記プレイヤオブジェクトに所定の動作を実行させ、該プレイヤオブジェクトと同一の属性が設定された移動体を生成し、
前記移動体と他のオブジェクトとが衝突した場合、少なくとも該移動体と該他のオブジェクトとの属性関係に基づいて、該移動体及び該他のオブジェクトの動作を制御する、
ゲームシステム。
[30]
ユーザがゲーム空間のプレイヤオブジェクトを操作するビデオゲームの進行を制御する機能をコンピュータに実現させるゲーム端末装置であって、
ゲーム空間における前記プレイヤオブジェクトを含む複数のオブジェクトの動作を制御する制御手段、
を含み、
前記複数のオブジェクトのそれぞれには属性が設定され、
前記制御手段は、
ユーザの操作入力に基づいて前記プレイヤオブジェクトに所定の動作を実行させ、該プレイヤオブジェクトと同一の属性が設定された移動体を生成し、
前記移動体と他のオブジェクトとが衝突した場合、少なくとも該移動体と該他のオブジェクトとの属性関係に基づいて、該移動体及び該他のオブジェクトの動作を制御する、
ゲーム端末装置。
[31]
コンピュータに、ユーザがゲーム空間のプレイヤオブジェクトを操作するビデオゲームの進行を制御させるゲーム進行制御方法であって、
ユーザがゲーム空間のプレイヤオブジェクトを操作するビデオゲームの進行を制御する機能を、コンピュータに実現させるためのゲームプログラムであって、
ゲーム空間における前記プレイヤオブジェクトを含む複数のオブジェクトの動作を制御する制御処理、
を含み、
前記複数のオブジェクトのそれぞれには属性が設定され、
前記制御処理では、
ユーザの操作入力に基づいて前記プレイヤオブジェクトに所定の動作を実行させ、該プレイヤオブジェクトと同一の属性が設定された移動体を生成し、
前記移動体と他のオブジェクトとが衝突した場合、少なくとも該移動体と該他のオブジェクトとの属性関係に基づいて、該移動体及び該他のオブジェクトの動作を制御する、
ゲーム進行制御方法。