説明

プログラム、情報記憶媒体、端末及びサーバ

【課題】複数のオブジェクトが協力して敵オブジェクトとの対戦ゲーム処理を行う場合において、協力関係を高めることが可能なオブジェクトの位置制御又は移動制御を行うプログラム、情報記憶媒体、端末及びサーバを提供すること。
【解決手段】グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する。そして、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する。そして、決定された行動パターンに基づいて、従オブジェクトを自動制御する。そして、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、端末及びサーバに関する。
【背景技術】
【0002】
従来から、プレーヤオブジェクトと敵オブジェクトとの対戦処理を行うゲーム装置が存在する。例えば、このようなゲーム装置では、プレーヤオブジェクトとターゲットオブジェクト間を結ぶ線(ライン)を設定し、プレーヤオブジェクトを線上で移動させて、プレーヤの操作を簡易にするものが存在する(特許文献1の0080〜0082段落参照)。
【0003】
また、このようなゲーム装置では、プレーヤオブジェクトと味方オブジェクトとが協力して、敵オブジェクトに対して対戦処理を行う場合もある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−130003号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来のゲーム装置は、プレーヤオブジェクトと味方オブジェクトとの協力関係に欠けるものがあり、対戦ゲームの興趣性を高める新たな技術が望まれていた。
【0006】
本発明は、以上の課題に鑑みたものであり、その目的とするところは、複数のオブジェクトが協力して敵オブジェクトとの対戦ゲーム処理を行う場合において、協力関係を高めることが可能なオブジェクトの位置制御又は移動制御を行うプログラム、情報記憶媒体、端末及びサーバを提供することにある。
【課題を解決するための手段】
【0007】
(1)本発明は、
オブジェクト空間において、複数のオブジェクトを含むグループと、敵オブジェクトとの対戦処理を実行するプログラムであって、前記グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する主従関係設定部と、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する行動決定部と、決定された行動パターンに基づいて、従オブジェクトを自動制御するオブジェクト制御部として、コンピュータを機能させ、前記オブジェクト制御部が、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行うプログラムに関する。また、本発明は、コンピュータ読み取り可能であって、上記プログラムを記憶した情報記憶媒体に関する。
【0008】
本発明は、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行うので、適所に従オブジェクトの位置制御又は移動制御を行わせることができ、主オブジェクトと従オブジェクトとの協力関係を高めた対戦ゲームを実現することができる。
【0009】
(2)また、本発明のプログラム、情報記憶媒体において、
前記オブジェクト制御部が、前記行動パターンが所定のパターンである場合に、主オブジェクトと従オブジェクトとの間に敵オブジェクトが位置するように、従オブジェクトの位置制御又は移動制御を行うようにしてもよい。
【0010】
本発明によれば、主オブジェクトと従オブジェクトとの間に敵オブジェクトが位置するように、従オブジェクトの位置制御又は移動制御を行うので、従オブジェクトが敵オブジェクトを攻撃し易い位置に位置制御又は移動制御されることになり、主オブジェクトと従オブジェクトとの協力関係を高めることができる。
【0011】
(3)また、本発明のプログラム、情報記憶媒体において、
前記オブジェクト制御部が、前記行動パターンが所定のパターンである場合に、前記線に基づき、敵オブジェクトを基準に主オブジェクトの反対側に所定範囲を設定し、前記所定範囲内に従オブジェクトを位置させるように、従オブジェクトの位置制御又は移動制御を行うようにしてもよい。本発明によれば、所定範囲内に位置するように、従オブジェクトの位置制御又は移動制御を行うので、適所に従オブジェクトの位置制御又は移動制御を行わせることができる。
【0012】
(4)また、本発明のプログラム、情報記憶媒体において、
前記オブジェクト制御部が、敵オブジェクトと従オブジェクトとを重複させることによって従オブジェクトを移動させる場合には、前記線と平行な方向に、従オブジェクトを移動させるようにしてもよい。本発明によれば、敵オブジェクトによって従オブジェクトが押し出されるような状況において、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線と平行な方向に、従オブジェクトを移動させるので、従オブジェクトを適所に存在する状態を維持し易くすることができる。
【0013】
(5)また、本発明のプログラム、情報記憶媒体において、
前記オブジェクト制御部が、従オブジェクトの位置制御又は移動制御を行った場合に、敵オブジェクトに対して攻撃を行わせる従オブジェクトの攻撃制御を行うようにしてもよい。本発明によれば、従オブジェクトの位置制御又は移動制御を行った場合に、敵オブジェクトに対して攻撃を行わせる従オブジェクトの攻撃制御を行うので、主オブジェクトと従オブジェクトとの協力関係を高めた対戦ゲームを実現することができる。
【0014】
(6)また、本発明のプログラム、情報記憶媒体において、
前記主従関係設定部が、プレーヤの操作対象のプレーヤオブジェクトを主オブジェクトとして設定し、入力情報に基づき、プレーヤオブジェクト以外のオブジェクトを従オブジェクトとして設定するようにしてもよい。本発明によれば、プレーヤオブジェクトを主オブジェクトとして設定することができるので、プレーヤの満足度の高いゲーム環境を提供できる。
【0015】
(7)また、本発明のプログラム、情報記憶媒体において、
前記主従関係設定部が、第1のプレーヤの操作対象の第1のプレーヤオブジェクトと第2のプレーヤの操作対象の第2のプレーヤオブジェクトとのうち、入力情報に基づき主従関係の申し込みを先に行ったオブジェクトを従オブジェクトとして設定し、他方のオブジェクトを主オブジェクトとして設定するようにしてもよい。本発明によれば、入力情報に基づき主従関係の申し込みを先に行ったオブジェクトを従オブジェクトとして設定し、他方のオブジェクトを主オブジェクトとして設定するので、他方のオブジェクトを操作するプレーヤの満足度の高いゲーム環境を提供できる。
【0016】
(8)また、本発明のプログラム、情報記憶媒体において、
前記主従関係設定部が、グループ内のオブジェクト数が4以上の場合は、主オブジェクトと従オブジェクトとからなる組を複数設定し、前記行動決定部が、主オブジェクトと従オブジェクトとからなる組毎に、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定し、前記オブジェクト制御部が、主オブジェクトと従オブジェクトとからなる組毎に、決定された行動パターンに基づいて、従オブジェクトの制御を行うようにしてもよい。本発明によれば、複数の組の主従関係が成立するので、更に協力関係の高めたゲームを提供することができる。
【0017】
(9)また、本発明のプログラム、情報記憶媒体において、
前記主従関係設定部が、複数の敵オブジェクトのうち、一方の敵オブジェクトを主オブジェクト、他方の敵オブジェクトを従オブジェクトとして主従関係を設定し、前記行動決定部が、敵の主オブジェクトの状態を参照して、複数種類の行動パターンの中から敵の従オブジェクトの行動パターンを決定し、前記オブジェクト制御部が、決定された行動パターンに基づいて、敵の従オブジェクトの制御を行うようにしてもよい。本発明によれば、複数の敵オブジェクトに主従関係が成立するので、味方、敵それぞれが、協力関係を高めた対戦ゲームを実現することができる。
【0018】
(10)本発明は、
オブジェクト空間において、複数のオブジェクトを含むグループと、敵オブジェクトとの対戦処理を実行する端末であって、前記グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する主従関係設定部と、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する行動決定部と、決定された行動パターンに基づいて、従オブジェクトを自動制御するオブジェクト制御部と、を含み、前記オブジェクト制御部が、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行う端末に関する。
【0019】
(11)本発明は、
オブジェクト空間において、複数のオブジェクトを含むグループと、敵オブジェクトとの対戦処理を実行するサーバであって、前記グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する主従関係設定部と、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する行動決定部と、決定された行動パターンに基づいて、従オブジェクトを自動制御するオブジェクト制御部と、を含み、前記オブジェクト制御部が、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行うサーバに関する。
【図面の簡単な説明】
【0020】
【図1】図1は、本実施形態の端末の構成の一例。
【図2】図2は、本実施形態の表示画面の一例。
【図3】図3は、本実施形態の位置制御又は移動制御の説明図。
【図4】図4は、主従関係を説明するための図。
【図5】図5は、本実施形態の表示画面の一例。
【図6】図6は、主従関係を説明するための図。
【図7】図7は、本実施形態の表示画面の一例。
【図8】図8は、主従関係を説明するための図。
【図9】図9は、本実施形態の表示画面の一例。
【図10】図10(A)(B)は、かばう行動に関する説明図。
【図11】図11(A)(B)(C)は、かばう行動に関するオブジェクトの制御の説明図。
【図12(A)】図12(A)は、本実施形態の表示画面の一例。
【図12(B)】図12(B)は、本実施形態の表示画面の一例。
【図13】図13は、挟み込み行動に関する説明図。
【図14】図14(A)(B)(C)は、挟み込み行動に関するオブジェクトの制御の説明図。
【図15】図15は、本実施形態の表示画面の一例。
【図16】図16は、本実施形態の表示画面の一例。
【図17(A)】図17(A)は、後方支援の行動に関する説明図。
【図17(B)】図17(B)は、後方支援の行動に関する説明図。
【図18】図18は、主オブジェクトの行動が制限されている際の、従オブジェクトの制御を説明するための図。
【図19】図19は、本実施形態の従オブジェクトの制御のフローチャート。
【図20】図20は、本実施形態の従オブジェクトの制御のタイミングフローチャート。
【図21】図21は、本実施形態の従オブジェクトの攻撃処理のフローチャート。
【図22】図22は、ネットワークシステムの説明図。
【図23】図23は、ネットワークシステムの説明図。
【図24】図24は、ネットワークシステムの説明図。
【図25】図25は、サーバの構成図。
【発明を実施するための形態】
【0021】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0022】
1.構成
図1に本実施形態の端末10(画像生成装置、ゲーム装置、携帯電話、携帯端末、携帯型ゲーム装置、スマートフォン)の機能ブロック図の例を示す。なお本実施形態の端末は図1の構成要素(各部)の一部を省略した構成としてもよい。
【0023】
入力部160は、プレーヤ(操作者)からの入力情報を入力するための入力機器(コントローラ)であり、プレーヤの入力情報を処理部に出力する。本実施形態の入力部160は、プレーヤの入力情報(入力信号)を検出する検出部162を備える。入力部160は、例えば、アナログレバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどがある。また、入力部160は、振動信号に基づいて振動させる処理を行う振動部を備えていてもよい。
【0024】
また、入力部160は、3軸の加速度を検出する加速度センサや、角速度を検出するジャイロセンサ、撮像部を備えた入力機器でもよい。例えば、入力部160は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力部160は、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける(プレーヤが手に装着する)グローブ型コントローラなど実際の道具を模して作られた入力機器でもよい。また入力部160は、入力機器と一体化されている端末(携帯電話、携帯端末、携帯型ゲーム装置、スマートフォン)なども含まれる。
【0025】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0026】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
【0027】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
【0028】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0029】
通信部196は外部(例えば他の端末、サーバ)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0030】
なお、サーバ20が有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信して端末を機能させる場合も本発明の範囲内に含む。
【0031】
処理部100(プロセッサ)は、入力部160からの入力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【0032】
この処理部100は記憶部170内の主記憶部171をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0033】
処理部100は、受け付け部110、オブジェクト空間設定部111、オブジェクト制御部112、主従関係設定部113、行動決定部114、選択部115、ゲーム演算部116、表示制御部117、仮想カメラ制御部118、通信制御部119、描画部120、音処理部130を含む。なお、これらの一部を省略する構成としてもよい。
【0034】
受け付け部110は、プレーヤの入力情報を受け付ける処理を行う。例えば、プレーヤオブジェクト(プレーヤの操作対象のオブジェクト)の移動を制御するための移動用の入力情報を受け付ける処理や、プレーヤオブジェクトが敵オブジェクトに対して攻撃を行う攻撃用入力情報を受け付ける処理や、複数のオブジェクトの中から、プレーヤの操作対象のオブジェクト(プレーヤオブジェクト)の選択を受け付ける処理、ターゲット(目標、攻撃対象)とする一の敵オブジェクトの選択を受け付ける処理や、主従関係(リンク)の対象のオブジェクトを選択する処理を受け付ける処理、攻撃技の選択を受け付ける処理を行う。また、受け付け部110は、主従関係を解除する入力情報を受け付ける処理、主従関係の切り替えの入力情報を受け付ける処理を行う。
【0035】
オブジェクト空間設定部111は、オブジェクトをオブジェクト空間(仮想的3次元空間)に配置する処理を行う。例えば、オブジェクト空間設定部111は、オブジェクト(プレーヤの操作対象のプレーヤオブジェクト、味方オブジェクト、敵オブジェクト)の他に、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を、オブジェクト空間に配置する処理を行う。ここでオブジェクト空間とは、仮想的なゲーム空間であり、例えば、ワールド座標系、仮想カメラ座標系のように、3次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
【0036】
例えば、オブジェクト空間設定部111は、ワールド座標系にオブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)に基づき、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0037】
オブジェクト制御部112は、オブジェクトの位置制御、移動制御、攻撃制御、防御制御等を行う。例えば、オブジェクト制御部112は、オブジェクト空間にあるオブジェクトの移動・動作演算を行う。すなわち入力部160から受け付けた入力情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。
【0038】
オブジェクト制御部112は、オブジェクト空間において、オブジェクトの移動を制御する。また、オブジェクト制御部112は、オブジェクトの動作(回転、向きの変更)を制御する。例えば、オブジェクト制御部112は、1フレーム(例えば、1/60秒)毎にオブジェクトのモデル座標系のX軸、Y軸、Z軸回りの回転角度(向き)を求める。なお、フレームは、オブジェクトの移動・動作制御や画像生成処理を行う時間の単位である。
【0039】
特に、本実施形態のオブジェクト制御部112は、決定された行動パターンに基づいて、従オブジェクトを自動制御する。例えば、オブジェクト制御部112は、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行う。本実施形態では、「主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線」は、主オブジェクトの位置と敵オブジェクトの位置とを通る線であり、直線である。なお、「主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線」は、障害物などのオブジェクトを迂回する線、曲線、折れ線等でもよい。
【0040】
また、オブジェクト制御部112は、行動パターンが所定のパターン(例えば、挟み込みのパターン)である場合に、主オブジェクトと従オブジェクトとの間に敵オブジェクトが位置するように、従オブジェクトの位置制御又は移動制御を行う。
【0041】
また、オブジェクト制御部112は、行動パターンが所定のパターンである場合に、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づき、敵オブジェクトを基準に主オブジェクトの反対側に所定範囲を設定し、所定範囲内に従オブジェクトを位置させるように、従オブジェクトの位置制御又は移動制御を行う。
【0042】
また、オブジェクト制御部112は、敵オブジェクトと従オブジェクトとを重複させることによって従オブジェクトを移動させる場合には、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線と平行な方向に、従オブジェクトを移動させる。
【0043】
また、オブジェクト制御部112は、従オブジェクトの位置制御又は移動制御を行った場合に、敵オブジェクトに対して攻撃を行わせる従オブジェクトの攻撃制御を行う。
【0044】
また、オブジェクト制御部112は、主オブジェクトと従オブジェクトとからなる組毎に、決定された行動パターンに基づいて、従オブジェクトの制御を行う。
【0045】
また、オブジェクト制御部112は、決定された行動パターンに基づいて、敵の従オブジェクトの制御を行う。
【0046】
主従関係設定部113は、グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する。例えば、主従関係設定部113は、プレーヤの操作対象のプレーヤオブジェクトを主オブジェクトとして設定し、入力情報に基づき、プレーヤオブジェクト以外のオブジェクトを従オブジェクトとして設定するようにしてもよい。
【0047】
また、主従関係設定部113は、第1のプレーヤの操作対象の第1のプレーヤオブジェクトと第2のプレーヤの操作対象の第2のプレーヤオブジェクトとのうち、入力情報に基づき主従関係の申し込みを先に行ったオブジェクトを従オブジェクトとして設定し、他方のオブジェクトを主オブジェクトとして設定するようにしてもよい。
【0048】
また、主従関係設定部113は、グループ内のオブジェクト数が4以上の場合は、主オブジェクトと従オブジェクトとからなる組を複数設定してもよい。
【0049】
また、主従関係設定部113は、複数の敵オブジェクトのうち、一方の敵オブジェクトを主オブジェクト、他方の敵オブジェクトを従オブジェクトとして主従関係を設定してもよい。
【0050】
行動決定部114は、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する。例えば、主オブジェクトのパラメータを参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する。
【0051】
例えば、行動決定部114は、主オブジェクトと従オブジェクトとの間に敵オブジェクトが位置していない場合に、従オブジェクトの行動パターンを所定のパターン(例えば、挟み込みのパターン)に決定する。具体的には、行動決定部114は、主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づき、敵オブジェクトを基準に主オブジェクトの反対側に所定範囲を設定し、所定範囲外に従オブジェクトが位置している場合に、従オブジェクトの行動パターンを所定のパターンに決定する。
【0052】
また、行動決定部114は、敵オブジェクトから受ける主オブジェクトの攻撃数が所定数以上である場合に、従オブジェクトの行動パターンを、かばうパターンに決定する。
【0053】
また、行動決定部114は、敵オブジェクトから主オブジェクトが攻撃を受けている場合、又は、主オブジェクトが敵オブジェクトを攻撃している場合に、従オブジェクトの行動パターンを攻撃のパターンに決定する。
【0054】
また、行動決定部114は、主オブジェクトが標的とする敵オブジェクトとは異なる第2の敵オブジェクトが、主オブジェクトを標的としている場合に、従オブジェクトの行動パターンを攻撃のパターンに決定する。
【0055】
また、行動決定部114は、主オブジェクトが特定のイベント実行に伴い、主オブジェクトの行動が制限されている場合に、従オブジェクトの行動パターンを攻撃のパターンに決定する。
【0056】
また、行動決定部114は、主オブジェクトと従オブジェクトとからなる組毎に、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する。
【0057】
また、行動決定部114は、敵の主オブジェクトの状態を参照して、複数種類の行動パターンの中から敵の従オブジェクトの行動パターンを決定する。
【0058】
選択部115は、受け付けた入力情報に基づき、敵オブジェクトが複数存在する場合に、一の敵オブジェクトをターゲット(標的)として選択する処理を行う。
【0059】
また、選択部115は、受け付けた入力情報に基づき、複数のオブジェクトの中から、プレーヤの操作対象のオブジェクト(プレーヤオブジェクト)を選択する処理を行う。
【0060】
また、選択部115は、受け付けた入力情報に基づき、主従関係(リンク)の対象のオブジェクトを選択する処理を行う。
【0061】
また、選択部115は、受け付けた入力情報に基づき、攻撃技の選択する処理を行う。
【0062】
ゲーム演算部116は、種々のゲーム処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。
【0063】
本実施形態のゲーム演算部116は、各オブジェクトのパラメータを更新する処理を行う。本実施形態のゲーム演算部116では、プレーヤオブジェクト(味方オブジェクト)が、敵オブジェクトからの攻撃を受ける度に、プレーヤオブジェクト(味方オブジェクト)のHP値(体力値)を更新(減算)している。例えば、プレーヤオブジェクト及び味方オブジェクトの各体力値が所定値(HP値=0)になると、ゲームを終了する処理を行う。一方、ゲーム中の全ての敵オブジェクトのHP値が所定値になると、ゲームクリアと判定する処理を行う。
【0064】
表示制御部117は、描画部120において生成された画像を表示部190に表示させる処理を行う。例えば、表示制御部117は、プレーヤオブジェクト、味方オブジェクト、敵オブジェクトを含む画像を表示部190に表示させる処理を行う。また、プレーヤオブジェクトの標的の敵オブジェクトを示す指示表示物(カーソル)を含む画像を表示させるようにしてもよい。
【0065】
仮想カメラ制御部118は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、3次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置(X、Y、Z)、回転角度(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。要するに、仮想カメラ制御部118は、仮想カメラの視点位置、視線方向、画角、移動方向、移動速度の少なくとも1つを制御する処理を行う。
【0066】
特に、本実施形態の仮想カメラ制御部118は、プレーヤオブジェクトと、プレーヤオブジェクトのターゲット(ターゲットとして選択した敵オブジェクト)との配置情報に基づき、仮想カメラの視点位置、視線方向、画角の少なくとも1つを制御する。例えば、プレーヤオブジェクトとターゲットとを結ぶ線分の中点に直交する直線上の所定の位置を、視点位置として制御してもよい。
【0067】
通信制御部119は、端末(例えば第1の端末)が他の端末(例えば第2の端末)又はサーバ20とネットワークを介して相互にデータを送受信する処理を行うようにしてもよい。
【0068】
なお、本実施形態の端末10では、通信制御で必要となるネットワーク情報をサーバから取得し、管理する処理等を行うようにしてもよい。例えば、端末は、各端末に個別に付与される端末の識別情報(オンラインゲームに参加できる端末を識別するために個別に付与されたデータ、ID)と、端末の識別情報に対応付けられたパケットの送信先を指定する宛先情報(IPアドレスなど)とを取得し、管理する処理を行うようにしてもよい。
【0069】
通信制御部119は、他の端末(第2の端末)又はサーバ20に送信するパケットを生成する処理、パケット送信先の端末のIPアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
【0070】
また、通信制御部119は、複数の端末間、又はサーバ20においての接続(第1の端末と第2の端末との接続)が確立されてから接続が切断されるまで、データを所定周期(例えば、1秒周期で)互いに送受信する処理を行う。ここで、端末間で送受信されるデータは、入力部の入力情報としてもよいし、各端末の操作対象のオブジェクト(キャラクタ、移動体)の位置情報、移動情報としてもよい。
【0071】
また、本実施形態の通信制御部119は、他の端末(第2の端末)又はサーバ20から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを記憶部に記憶する処理を行う。
【0072】
なお、複数の端末で構成されるネットワークシステムの場合は、複数の端末間でデータの送受信を行いながらオンラインゲームを実行するピア・ツー・ピア(いわゆるP2P)方式としてもよいし、サーバ20を介して各端末がデータ(情報)の送受信を行いながらオンラインゲームを実行するクライアント・サーバ方式によるものであってもよい。また、本実施形態のネットワークシステムでは、有線通信のみならず無線通信でデータを送受信してもよい。
【0073】
特に、本実施形態の通信制御部119は、プレーヤの入力情報を送信する処理を行う。例えば、第1のプレーヤオブジェクト(第1のプレーヤの操作対象のオブジェクト)の移動を制御するための移動用の入力情報を送信する処理や、第1のプレーヤオブジェクトが敵オブジェクトに対して攻撃を行う攻撃用入力情報を送信する処理を行う。
【0074】
また、通信制御部119は、複数のオブジェクトの中から、第1プレーヤの操作対象のオブジェクト(第1のプレーヤオブジェクト)の選択を送信する処理、ターゲット(目標、攻撃対象)とする一の敵オブジェクトの選択を送信する処理や、主従関係(リンク)の対象のオブジェクトの選択を送信する処理、攻撃技の選択を送信する処理を行う。
【0075】
また、通信制御部119は、主従関係を解除する入力情報を送信する処理、主従関係の切り替えの入力情報を送信する処理を行う。
【0076】
また、本実施形態の通信制御部119は、ゲーム演算結果、各オブジェクトのパラメータ値、ゲーム画像(表示データ)を、ネットワークを介して、サーバ20から端末10に従臣するようにしてもよい。
【0077】
描画部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。言い換えると、描画部120は、オブジェクト空間において、仮想カメラから見える画像を生成する。
【0078】
例えば、描画部120は、オブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0079】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動制御や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、透視変換(投影変換)、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。
【0080】
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ172(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット、フレームバッファ)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。
【0081】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0082】
そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0083】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
【0084】
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0085】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0086】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
【0087】
例えば、αブレンディングでは、これから画像バッファ172に描画する描画色(上書きする色)C1と、既に画像バッファ172(レンダリングターゲット)に描画されている描画色(下地の色)C2とを、α値に基づいて線形合成処理を行う。つまり、最終的な描画色をCとすると、C=C1*α+C2*(1−α)によって求めることができる。
【0088】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0089】
なお、描画部120は、他の端末(第2の端末)とネットワークを介してデータを送受信するマルチプレーヤオンラインゲームを行う場合は、端末(第1の端末)の操作対象のオブジェクトの移動に追従する仮想カメラ(端末(第1の端末)で制御される仮想カメラ)から見える画像を生成する処理を行う。つまり、各端末が独立した描画処理を行う。
【0090】
音処理部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0091】
なお、本実施形態の端末は、1人のプレーヤのみがプレイできるシングルプレーヤモード、或いは、複数のプレーヤがプレイできるマルチプレーヤモードでゲームプレイできるように制御してもよい。例えば、マルチプレーヤモードで制御する場合には、ネットワークを介して他の端末とデータを送受信してゲーム処理を行うようにしてもよいし、1つの端末が、複数の入力部からの入力情報に基づいて処理を行うようにしてもよい。
【0092】
2.概要
本実施形態では、複数のオブジェクトを含むグループが協力して、敵オブジェクトと対戦ゲームの処理に関するものである。例えば、オブジェクトCH1〜CH4で構成するグループを生成し、オブジェクトCH1〜CH4で、敵オブジェクトE1、E2と対戦する処理を行う。
【0093】
本実施形態では、グループ内の複数のオブジェクトCH1〜CH4の中からプレーヤの操作対象のオブジェクトの選択を受け付ける。例えば、オブジェクトCH1がプレーヤの操作対象のオブジェクトCH1として選択された場合には、入力情報に基づいてオブジェクトCH1をプレーヤオブジェクトとして移動コマンド、攻撃コマンドを実行する。なお、コンピュータプログラムに基づいて、プレーヤオブジェクトCH1を制御(オート制御)、移動等の一部のコマンドを自動制御(セミオート)にするようにしてもよい。
【0094】
また、本実施形態では、プレーヤの操作対象のオブジェクトCH1のターゲット(攻撃対象、標的)となる敵オブジェクトE1の選択を受け付けるようにしてもよい。例えば、図2に示すように、ターゲットの敵オブジェクトE1の上部にカーソルC(指示表示物)を表示させるようにしてもよい。
【0095】
また、図2に示すように、画面の下部には、各オブジェクトCH1〜CH4のパラメータHP値(ヒットポイント値)、TP値(テクニカルポイント値)、AC値(アサルトカウンター)などのパラメータを表示させる。また、画面の左下に、特殊ゲージGが表示される。HP値は、体力値であり、敵オブジェクトからの攻撃を受けると減算され所定値(0)になると、そのオブジェクトはゲームに参加できなくなる。また、TP値は、術コマンドや技コマンドを実行するために必要となるパラメータであり、術コマンド或いは技コマンドを実行する度に所定値が減算される。なお、アイテムの取得や戦闘中の所定の行動で、TP値が増加する。また、AC値は、攻撃コマンドを実行するために必要となるパラメータであり、攻撃コマンドを実行するたびに、所定値が減算される。なお、攻撃後に所定時間を経過するとAC値が増加する。
【0096】
また、本実施形態では、グループ内の各オブジェクトCH1〜CH4は、敵オブジェクトを結ぶ線上(ライン上)で移動し攻撃することができる。例えば、図3に示すように、オブジェクトCH1の位置P1と、CH1のターゲットである敵オブジェクトE1の位置Q1とを結ぶ線30上でオブジェクトCH1を移動制御させ、敵オブジェクトE1に対してオブジェクトCH1の攻撃制御、防御制御を行う。
【0097】
また、オブジェクトCH2の位置P2と、CH2のターゲットである敵オブジェクトE1の位置Q1とを結ぶ線31上でオブジェクトCH2を移動制御させ、敵オブジェクトE1に対してオブジェクトCH2の攻撃制御、防御制御を行う。CH3、CH4も同様に処理を行う。
【0098】
なお、敵オブジェクトE1についても、CH1、CH2のうち、ターゲットとして設定したオブジェクトとを結ぶ線上で位置制御、移動制御、攻撃制御、防御制御を行う。
【0099】
このようにすれば、プレーヤの操作が簡易となり、ロールプレイングで戦闘を苦手とするプレーヤであっても適切にターゲットを狙って移動や攻撃等を行うことが可能となる。
【0100】
また、本実施形態では、プレーヤオブジェクトと、プレーヤオブジェクトのターゲット(ターゲットとして選択した敵オブジェクト)との配置情報に基づき、仮想カメラの視点位置、視線方向、画角の少なくとも1つを制御する。例えば、プレーヤオブジェクトとターゲットとを結ぶ線分の中点に直交する直線上の所定の位置を、視点位置として制御するようにしてもよい。
【0101】
3.主従関係の設定処理(リンクの設定処理)の説明
本実施形態では、2〜4個のオブジェクトで構成するグループを生成し、グループに含まれる複数のオブジェクトのうち、一方のオブジェクトを主オブジェクト(マスターオブジェクト)、他方のオブジェクトを従オブジェクト(スレーヴオブジェクト)として主従関係(リンク)を設定する手法を採用している。
【0102】
図4は、主従関係の設定テーブルの一例を示す。例えば、各オブジェクト(オブジェクトの識別情報)に対応づけて、設定有無のフラグ(1は設定有、0は設定無し)、主従関係の識別番号、どちらが主でどちらが従を示すかの番号(1が主(マスター)、2が従(スレーヴ))を設定する。
【0103】
例えば、図4に示すように、オブジェクトCH1が主オブジェクト、オブジェクトCH2が従オブジェクトとして、番号「1」の主従関係が設定されている場合には、図5に示すように、オブジェクトCH1、CH2の周囲と、オブジェクトCH1の中心位置と、オブジェクトCH2の中心位置とを結ぶ線に、青色の光(グレア、オーラ)のエフェクトをかけた画像を生成する。また、各オブジェクトCH1、CH2のパラメータ表示領域についても、青色の光のエフェクトをかける。このようにすれば、瞬時に、どのオブジェクト同士に主従関係が成立しているのかプレーヤは視認することができる。
【0104】
図6は、主従関係の設定テーブルの他の例を示す。例えば、図6に示すように、オブジェクトCH1が主オブジェクト、オブジェクトCH2が従オブジェクトとして、番号「1」の主従関係が設定され、オブジェクトCH3が主オブジェクト、オブジェクトCH4が従オブジェクトとして、番号「2」の主従関係が成立している場合には、図7に示すように、番号「1」の主従関係の各オブジェクトCH1及びCH2と、CH1、CH2間を結ぶ線、パラメータ表示領域を、青色の光のエフェクトで表示する。そして、番号「2」の主従関係の各オブジェクトCH3及びCH4と、CH3、CH4間を結ぶ線、パラメータ表示領域を、緑色の光のエフェクトで表示する。
【0105】
図8は、敵オブジェクトE1、E2について主従関係が設定されている設定テーブルの例を示す。例えば、図8に示すように、オブジェクトCH1、CH2に番号「1」の主従関係が設定され、敵オブジェクトE1が主オブジェクト、敵オブジェクトE2が従オブジェクトとして、番号「3」の主従関係が設定されると、図9に示すように、番号「1」の主従関係の各オブジェクトCH1及びCH2と、CH1、CH2間を結ぶ線、パラメータ表示領域を、青色の光のエフェクトで表示する。そして、番号「3」の主従関係の各敵オブジェクトE1及びE2と、E1、E2間を結ぶ線を、赤色の光のエフェクトで表示する。
【0106】
このように、本実施形態では、主従関係が設定されたオブジェクトについて、番号毎に異なる色でエフェクトをかける画像を生成するので、プレーヤはどのような組で主従関係が成立したのかを瞬時に把握することができる。
【0107】
また、本実施形態では、図6に示すように、複数の組の主従関係を成立させることができるで、更に協力関係を高めたゲームを提供することができる。また、図8に示すように、複数の敵オブジェクトに主従関係が成立させることができるので、味方、敵、それぞれが、協力関係を高めた対戦ゲームを実現することができる。
【0108】
なお、本実施形態では、プレーヤの操作対象のプレーヤオブジェクトを主オブジェクトとして設定し、入力情報に基づき、プレーヤオブジェクト以外のオブジェクトを従オブジェクトとして設定する。このようにすれば、プレーヤの満足度の高いゲーム環境を提供できる。
【0109】
例えば、プレーヤの操作対象のオブジェクトがCH1であるとすると、CH1と同じグループであるオブジェクトCH2〜CH4の中から、入力情報に基づき一のオブジェクトの選択を受け付ける。例えば、選択したオブジェクトが例えばCH2であり、CH2がコンピュータプログラムによって制御されるオブジェクトである場合には、CH1が主オブジェクト、CH2が従オブジェクトとなるように設定する。
【0110】
また、本実施形態では、プレーヤの入力情報に基づき、プレーヤの操作対象のオブジェクトをCH1からCH2に切り替えた場合には、切り替え後のプレーヤの操作対象のオブジェクトCH2を、主オブジェクトに設定し、CH1を従オブジェクトに設定する。
【0111】
また、本実施形態では、第1のプレーヤの操作対象の第1のプレーヤオブジェクトと第2のプレーヤの操作対象の第2のプレーヤオブジェクトとのうち、入力情報に基づき主従関係の申し込みを先に行ったオブジェクトを従オブジェクトとして設定し、他方のオブジェクトを主オブジェクトとして設定する。
【0112】
例えば、第1のプレーヤの操作対象のオブジェクトがCH1であり、第2のプレーヤの操作対象のオブジェクトがCH2であるとすると、CH1と同じグループであるオブジェクトCH2〜CH4の中から、第1のプレーヤの入力情報に基づき、第2のプレーヤよりも先にオブジェクトCH2を主従関係の対象とする選択を受け付けると、CH1が従オブジェクト、CH2が主オブジェクトとなるように設定する。つまり、第1のプレーヤの操作対象のオブジェクトCH1は従オブジェクトになると自動制御されることになるが、第1のプレーヤ自身が申込みをすることによって、従オブジェクトCH1として自動制御することになるから、第1のプレーヤに不満を与えることはない。また、主従関係が成立した場合に、主オブジェクトCH2を主に制御することができるから、第2のプレーヤの満足度の高いゲーム環境を提供できる。
【0113】
また、本実施形態では、プレーヤの入力情報に基づいて、主従関係を解除する処理を行うようにしてもよい。
【0114】
なお、オブジェクトCH3、CH4、或いは、敵オブジェクトE1、E2が、コンピュータプログラムによって制御されるオブジェクトである場合には、自動的に、オブジェクトCH3、CH4の主従関係を設定する。例えば、主従関係を申し込む側のオブジェクトを従オブジェクトとして、申し込みを受けた側のオブジェクトを主オブジェクトとして設定する。なお、自動的にオブジェクトCH3、CH4、或いは、E1、E2の主従関係を設定した場合には、所定期間成立後に主従関係を解除させる処理を行うようにしてもよい。また、自動的にオブジェクトCH3、CH4、或いは、E1、E2の主従関係を設定した場合には、合体攻撃(特殊攻撃)発動後に、主従関係を解除させる処理を行うようにしてもよい。
【0115】
4.行動パターンに基づくオブジェクトの制御
本実施形態では、主従関係が設定されると、主オブジェクトの状態を参照して、複数種類の行動パターンの中から、従オブジェクトの行動パターンを決定する処理を行う。そして、決定された行動パターン(行動類型)に基づいて、従オブジェクトの制御を行っている。例えば、主オブジェクトがCH1、従オブジェクトがCH2、主オブジェクトの標的(ターゲット、攻撃目標)が敵オブジェクトE1である場合を例にとり、以下、説明する。
【0116】
4.1 かばう行動パターン
本実施形態では、主オブジェクトCH1が敵オブジェクトE1から受ける攻撃数を参照し、主オブジェクトCH1が敵オブジェクトE1から所定数以上の攻撃(例えば、3以上のヒット)を受けている場合に、従オブジェクトの行動パターンを、かばう行動パターン(広義には、「防御制御パターン」)に決定する。
【0117】
例えば、図10(A)に示すように、主オブジェクトCH1が敵オブジェクトE1から受けたヒット数(パラメータの一例)を参照し、ヒット数が3以上の場合には、図10(B)に示すように、従オブジェクトCH2が、主オブジェクトCH1と敵オブジェクトE1との間に従オブジェクトCH2が位置するように、従オブジェクトCH2の位置制御又は移動制御を行い、従オブジェクトCH2が主オブジェクトCH1を、敵オブジェクトE1の攻撃からかばう行動をとるように位置制御又は移動制御を行う。
【0118】
また、図11(A)に示すように、(1)主オブジェクトCH1と従オブジェクトCH2との距離が所定距離K1以内(例えば、1メートル以内)であること、(2)従オブジェクトが、敵オブジェクトから攻撃を受けていないこと、(3)所定期間内(例えば、3秒以内)に、連続して、主オブジェクトCH1が敵オブジェクトE1から所定数以上のヒット(例えば、3以上のヒット)を受けていることの(1)〜(3)の条件をすべて満たす場合に、従オブジェクトCH2が主オブジェクトCH1を敵オブジェクトE1からかばう行動を行わせる制御を行うようにしてもよい。
【0119】
本実施形態では、従オブジェクトCH2が主オブジェクトCH1を敵オブジェクトE1からかばう行動を行わせる制御を行う場合には、図11(B)に示すように、主オブジェクトCH1の位置P1−1、敵オブジェクトE1の位置Q1−1を結ぶ線上の所与の位置P2−2(例えば、中点)を、従オブジェクトCH2の位置として定め、従オブジェクトCH2を位置P2−2に位置(配置)させる位置制御を行う。つまり、Nフレーム目で位置P2−1に位置している場合に、次のN+1フレーム目で位置P2−2に位置させるように、従オブジェクトCH2の位置制御を行う。なお、本実施形態では、位置P2−1から位置P2−2に向かって、従オブジェクトCH2を移動させる移動制御を行ってもよい。
【0120】
また、図11(B)に示すように、従オブジェクトCH2が、主オブジェクトCH1と重複(衝突)する場合には、主オブジェクトの位置P1−1、敵オブジェクトの位置Q1−1に基づき求められる線A(ライン、軸)と平行な方向V1に、主オブジェクトCH1を移動させる移動制御又は位置制御を行う。なお、線Aは、主オブジェクトの位置P1−1、敵オブジェクトの位置Q1−1を通る直線である。つまり、主オブジェクトCH1を方向V1に移動させることによって、重複を避けるようにする。例えば、図11(C)に示すように、主オブジェクトCH1をP1−2に位置させるように移動制御又は位置制御を行う。
【0121】
同様に、図11(B)に示すように、従オブジェクトCH2が、敵オブジェクトE1と重複(衝突)する場合には、線Aと平行な方向V2に、敵オブジェクトE1を移動させる移動制御又は位置制御を行う。つまり、敵オブジェクトE1を方向V2に移動させることによって、重複を避けるようにする。例えば、図11(C)に示すように、敵オブジェクトE1をQ1−2に位置させるように移動制御又は位置制御を行う。
【0122】
つまり、本実施形態によれば、従オブジェクトCH2は、主オブジェクトCH1をかばうことができ、主オブジェクトCH1と従オブジェクトCH2との協力関係を高めた対戦ゲームを実現することができる。
【0123】
4.2 行動パターンの例2(気絶解除)
本実施形態では、主オブジェクトCH1の気絶フラグを参照し、主オブジェクトCH1が気絶している場合には、従オブジェクトCH2の行動パターンを、主オブジェクトCH1の気絶を解除させる気絶解除パターンに決定する。
【0124】
例えば、予め、各オブジェクト(各オブジェクトの識別情報)に対応づけて、気絶フラグを設定する。つまり、気絶している場合には気絶フラグ=1を設定し、気絶していない場合には気絶フラグ=0を設定する。例えば、敵オブジェクトE1から主オブジェクトCH1に対して特殊な攻撃を受けて、所定期間行動が不能(ピヨリ状態)になる気絶状態コマンドが実行された場合には、主オブジェクトCH1の気絶フラグを1に設定し、所定期間経過後、主オブジェクトCH1の気絶フラグを0に設定する。
【0125】
本実施形態では、主オブジェクトCH1の気絶フラグを参照し、主オブジェクトCH1の気絶フラグ=1である場合には、従オブジェクトCH2の行動パターンを気絶解除パターンに決定する。
【0126】
例えば、従オブジェクトCH2が主オブジェクトCH1に向かって移動制御を行い、従オブジェクトCH2が主オブジェクトCH1を叩き起すような動作制御を行い、主オブジェクトCH1の気絶フラグを1から0に更新する制御を行う。
【0127】
4.3 行動パターンの例3(回復、ダメージ共有)
本実施形態では、主オブジェクトCH1と従オブジェクトCH2の少なくとも一方が、回復アイテムを使用するコマンドを実行した際のHP値を加算する加算値を参照し、他方のオブジェクトにも回復させる行動を行わせる。つまり、本実施形態では、主オブジェクトCH1が回復アイテムを使用するコマンドを実行して、主オブジェクトCH1のHP値に100を加算した場合には、従オブジェクトCH2のHP値に25を加算する。また、本実施形態では、従オブジェクトCH2が回復アイテムを使用するコマンドを実行して、従オブジェクトCH2のHP値に100を加算した場合には、主オブジェクトCH2のHP値に25を加算する。つまり、主従関係が設定されている場合には、一方の回復の25%分の効果を他方に伝播させる。
【0128】
また、本実施形態では、主オブジェクトCH1と従オブジェクトCH2の少なくとも一方が、敵オブジェクトE1から攻撃を受けてダメージを受けた際のダメージ値を参照し、他方のオブジェクトにもダメージを受ける行動を行わせる。つまり、本実施形態では、主オブジェクトCH1が、敵オブジェクトE1から攻撃を受けて、HP値からダメージ値100を減算した場合には、従オブジェクトCH2のHP値から25を減算する。また、従オブジェクトCH2が敵オブジェクトE1から攻撃を受けて、HP値からダメージ値100を減算した場合には、主オブジェクトCH2のHP値から25を減算する。つまり、主従関係が設定されている場合には、一方のダメージの25%分のダメージを他方に伝播させる。
【0129】
4.4 行動パターンの例4(挟み込み)
また、本実施形態では、例えば、図12(A)に示すように、主オブジェクトCH1、従オブジェクトCH2、敵オブジェクトE1の位置情報(位置パラメータ)を参照し、主オブジェクトCH1と従オブジェクトCH2との間に敵オブジェクトE1が位置していない状態である場合には、従ブジェクトの行動パターンを、挟み込み行動パターン(広義には、「位置制御・移動制御パターン」)に決定する。例えば、図12(B)に示すように、主オブジェクトCH1と従オブジェクトCH2との間に敵オブジェクトE1が位置するように、従オブジェクトCH2の位置制御又は移動制御を行う。
【0130】
具体的には、図13に示すように、主オブジェクトCH1と敵オブジェクトE1との距離が所定距離K2以内(例えば、2メートル以内)であって、主オブジェクトCH1の位置と敵オブジェクトE1とに基づき求められる線Aに基づき設定された所定範囲AR1外に、従オブジェクトCH2が位置している場合には、所定範囲AR1内に位置するように従オブジェクトCH2を目標点Rの手前の位置P2−4に向かって移動させる移動制御を行う。ここで、線Aは、主オブジェクトCH1の位置と、敵オブジェクトE1の位置とを通る直線である。
【0131】
なお、本実施形態では、Nフレーム目において、主オブジェクトCH1と敵オブジェクトE1との距離が所定距離K2以内(例えば、2メートル以内)であって所定範囲AR1外に従オブジェクトCH2が位置している場合には、次のN+1フレーム目で、所定範囲AR1内の位置P2−4に位置させるように、従オブジェクトCH2の位置制御を行ってもよい。
【0132】
ここで、所定範囲AR1は、主オブジェクトCH1の位置P1−4と敵オブジェクトE1の位置Q1−4とを通る線Aに基づき、敵オブジェクトE1の位置Q1−4を基準に主オブジェクトの位置P1−4の反対側に設定する範囲(3次元の範囲)である。例えばXZ平面において、敵オブジェクトE1の位置Q1−4を中心に線Aを軸にプラス方向、マイナス方向への角度θの範囲であり、三角形状又は円錐状の範囲としている。所定範囲AR1のY軸方向は無制限の範囲とすればよい。
【0133】
また、目標点Rは、線A上の所定範囲AR1の範囲内の点であり、例えば、敵オブジェクトE1の位置Q1−4から所定距離(例えば、1.5メートル)だけ離れた点としてもよい。
【0134】
つまり、本実施形態では、従オブジェクトCH2が、敵オブジェクトE2を攻撃し易い位置に位置制御又は移動制御するので、主オブジェクトCH1、従オブジェクトCH2との協力関係を高めることができる。
【0135】
なお、図14(A)に示すように、従オブジェクトCH2が、敵オブジェクトE1と重複することによって、従オブジェクトCH2を移動させる力V3が働く場合があるが、従オブジェクトCH2を力の方向V3へ移動させてしまうと、所定範囲AR1より外に出てしまうおそれがある。例えば、敵オブジェクトE2が、主オブジェクトCH1の連続攻撃によって後ずさりする場合に、従オブジェクトCH2が押し出されて、所定範囲AR1より外に出てしまうおそれがある。
【0136】
そこで、本実施形態では、図14(B)に示すように、従オブジェクトCH2を移動させる力V3のうち、主オブジェクトの位置P1−6と敵オブジェクトの位置Q1−6とを通る線Aと平行な成分V4に基づき、従オブジェクトCH2を移動制御又は位置制御を行う。
【0137】
つまり、従オブジェクトCH2を成分V4に基づき、線Aと平行な方向に移動させることによって、敵オブジェクトE1との重複を避けるようにする。例えば、図14(C)に示すように、従オブジェクトCH2をP2−7に位置させるように移動制御又は位置制御を行う。
【0138】
このようにすれば、敵オブジェクトE1を、主オブジェクトCH1と従オブジェクトCH2とによって挟み込む状態を維持し易くすることができ、協力体制を高めた位置制御又は移動制御を実現することができる。
【0139】
なお、本実施形態では、敵オブジェクトE1が、従オブジェクトCH2と重複することによって、敵オブジェクトE1を移動させる力(V3とは逆方向の力)が働く場合があるが、かかる場合には、敵オブジェクトE1を、主オブジェクトの位置と敵オブジェクトの位置とを通る線Aと平行な成分(V4とは逆方向の力の成分)に基づき、敵オブジェクトE1を移動制御又は位置制御を行うようにしてもよい。このようにすれば、線Aに基づいて仮想カメラの制御をしている場合に、仮想カメラのブレを少なくすることができ、プレーヤにとって見やすい画像を生成することができるからである。
【0140】
4.5 行動パターンの例5(主オブジェクトに接近)
本実施形態では、主オブジェクトCH1と従オブジェクトCH2の位置情報(位置パラメータ)を参照し、主オブジェクトCH1と従オブジェクトCH2との距離が所定距離K3(例えば、2メートル)を超えて位置している場合には、従オブジェクトCH2の行動パターンを、主オブジェクトCH1に接近する移動パターンに決定する。つまり、従オブジェクトCH2の行動パターンを主オブジェクトCH1に接近する移動パターンに決定すると、主オブジェクトCH1と従オブジェクトCH2との距離が所定距離K3以内に位置するように、従オブジェクトCH2の移動制御又は位置制御を行う。
【0141】
4.6 行動パターンの例6
4.6.1 通常攻撃
本実施形態では、主オブジェクトCH1が敵オブジェクトE1から攻撃を受けている場合、又は、主オブジェクトCH1が敵オブジェクトE1を攻撃している場合に、従オブジェクトCH2の行動パターンを、通常攻撃パターン(広義には、「攻撃制御パターン」)に決定する。例えば、主オブジェクトCH1のHP値、或いは、AC値を参照し、HP値、或いは、AC値が減少している場合に、従オブジェクトCH2に攻撃を行わせる。
【0142】
つまり、図15に示すように、通常攻撃パターンの場合は、敵オブジェクトE1又は主オブジェクトCH1の位置に基づき、従オブジェクトCH2の位置制御又は移動制御を行い、当該敵オブジェクトE1に対して攻撃する従オブジェクトの攻撃制御を行う。
【0143】
例えば、従オブジェクトCH2を、敵オブジェクトE1に向かって、従オブジェクトCH2を移動させる移動制御を行い、従オブジェクトCH2が敵オブジェクトE1に対して攻撃を行う攻撃制御を行う。
【0144】
また、本実施形態では、従オブジェクトCH2、主オブジェクトCH1の周囲に位置させる位置制御又は移動制御を行い、主オブジェクトCH1の有する攻撃、従オブジェクトCH2の有する攻撃を合わせた合体攻撃を、敵オブジェクトE1に対して行う攻撃制御を行うようにしてもよい。
【0145】
合体攻撃は、主従関係が成立するオブジェクトの組み合わせに応じて異なるものとしてもよい。このようにすれば、プレーヤに、合体攻撃を考慮して、主従関係の組み合わせを設定する面白さを与えることができる。
【0146】
また、主従関係が成立している場合において、主オブジェクト、従オブジェクトが敵オブジェクトを攻撃する度に、特殊ゲージGの値を増加させるようにしてもよい。本実施形態では、図15に示すように、5段階のしきい値があり、各段階のしきい値に達する度に、主オブジェクトと従オブジェクトとの共鳴術技を実行することができ、敵オブジェクトに対して、大きなダメージを与えることが可能となる。また、5段階目のしきい値に、特殊ゲージGの値が達すると、特殊な連続攻撃を実行することができ、敵オブジェクトに対して、更に、大きなダメージを与えることが可能となる。
【0147】
以上のように、本実施形態によれば、主オブジェクトCH1と従オブジェクトCH2との協力関係を高めた対戦ゲームを実現することができる。
【0148】
4.6.2 後方支援
また、本実施形態では、主オブジェクトCH1の後方に、主オブジェクトCH1がターゲットとしている敵オブジェクトE1とは異なる敵オブジェクトE2が位置している場合、従オブジェクトCH2の行動パターンを、敵オブジェクトE2を攻撃する後方支援パターン(広義には、「攻撃制御パターン」)に決定する。つまり、従オブジェクトCH2に後方支援させるための攻撃制御を行わせる。
【0149】
例えば、図16に示すように、主オブジェクトCH1、敵オブジェクトE1、E2の各位置情報(位置パラメータ)、及び、主オブジェクトCH1の向きを参照し、主オブジェクトCH1の後方に、主オブジェクトCH1がターゲットとしている敵オブジェクトE1とは異なる敵オブジェクトE2が位置している場合、敵オブジェクトE2に向かって、従オブジェクトCH2を移動させる移動制御を行い、従オブジェクトCH2が敵オブジェクトE2に対して攻撃を行う攻撃制御を行う。
【0150】
具体的には、図17(A)に示すように、主オブジェクトCH1の後方に所定範囲AR2を設定する。そして、所定範囲AR2内に敵オブジェクトE2が位置している場合に、従オブジェクトCH2の行動パターンを、敵オブジェクトE2を攻撃する攻撃パターンに決定する。そして、図17(B)に示すように、従オブジェクトCH2を敵オブジェクトE2に移動させて攻撃を行う制御を行う。
【0151】
なお、所定範囲AR2は、主オブジェクトCH1の位置P1−8を中心として半径K4(2メートル)以内の半円の範囲(3次元の範囲)である。例えばXZ平面において、主オブジェクトCH1の位置を中心として半径K4以内の半円であり、Y軸方向は無制限の範囲とすればよい。
【0152】
以上のように、本実施形態によれば、主オブジェクトCH1が敵オブジェクトE2に攻撃される事態を阻止することができ、主オブジェクトCH1と従オブジェクトCH2との協力関係を高めた対戦ゲームを実現することができる。
【0153】
4.6.3 詠唱中のフォロー
また、本実施形態では、主オブジェクトCH1に対して特定イベント(詠唱イベント)の実行(詠唱)に伴い、主オブジェクトCH1の行動が制限されている場合に、従オブジェクトCH2の行動パターンを、敵オブジェクトを攻撃する特定イベント実行中における攻撃パターン(広義には、「攻撃制御パターン」)に決定する。つまり、従オブジェクトCH2に、詠唱中(詠唱イベントの実行中)の主オブジェクトCH1をフォローするための行動を行わせる。
【0154】
ここで、詠唱イベントの実行とは、術(魔法)を実行するイベントであり、主オブジェクトCH1に対して、術を実行するイベントの入力情報を受け付けると、当該イベントの開始時点から所定の期間中(例えば、3秒間)主オブジェクトCH1の他の行動を停止させる。そして、当該イベントの開始時点から所定の期間後(例えば、3秒後)、術(魔法)に応じて、主オブジェクトCH1のパラメータ制御等を行う。例えば、主オブジェクトCH1のHP値を増加させる術である場合には、当該イベントの開始時点から所定の期間中(例えば、3秒間)主オブジェクトCH1の他の行動を停止させ、所定の期間後(例えば、3秒後)主オブジェクトCH1のHP値を増加させる処理を行う。したがって、所定の期間中は、主オブジェクトCH1は、他の行動が制限されるので、敵オブジェクトに攻撃を受ける可能性がある。そこで、詠唱中のイベント実行中(詠唱イベントの所定期間中)に、従オブジェクトCH2の行動パターンを、敵オブジェクトを攻撃する攻撃パターンに決定し、従オブジェクトCH2は、主オブジェクトCH1が敵オブジェクトからの攻撃を受けないように制御する。
【0155】
例えば、図18に示すように、主オブジェクトCH1の位置P1−10に基づき設定される所定範囲AR3内に位置する敵オブジェクトE1に向かって、従オブジェクトCH2を移動させて、敵オブジェクトE1に対して攻撃を行う攻撃制御を行う。
【0156】
例えば、所定範囲AR3は、主オブジェクトCH1の位置P1−10を中心に半径K5以内(例えば、2メートル以内)の範囲(3次元の範囲)とすればよい。例えばXZ平面において、主オブジェクトCH1の位置を中心として半径K5(2メートル)以内の円であり、Y軸方向は無制限の範囲とすればよい。
【0157】
また、所定範囲AR3内に敵オブジェクトが複数存在する場合には、従オブジェクトCH2に近い敵オブジェクトから順に攻撃すればよい。
【0158】
以上のように、本実施形態によれば、主オブジェクトCH1の行動が制限される状態であっても、従オブジェクトが所定範囲AR3内の敵オブジェクトに対して攻撃を行うので、主オブジェクトCH1が敵オブジェクトに攻撃される事態を阻止することができ、主オブジェクトCH1と従オブジェクトCH2との協力関係を高めた対戦ゲームを実現することができる。
【0159】
4.7 フローチャート
図19は、本実施形態において、従オブジェクトの自動制御の流れを示すフローチャートである。まず、従オブジェクトの行動を、かばう行動に決定するか否かを判断する(ステップS1)。例えば、主オブジェクトが敵オブジェクトから所定数以上のヒット(攻撃)を受けている場合に、従オブジェクトの行動パターンを、かばう行動パターンに決定する。
【0160】
そして、従オブジェクトの行動を、かばう行動に決定すると(ステップS1のY)、従オブジェクトにかばう行動を行わせる(ステップS2)。
【0161】
一方、従オブジェクトの行動を、かばう行動に決定しない場合(ステップS1のN)、従オブジェクトの行動を、気絶解除の行動に決定するか否かを判断する(ステップS3)。
【0162】
そして、従オブジェクトの行動を、気絶解除の行動に決定すると(ステップS3のY)、従オブジェクトに気絶解除を行わせる(ステップS4)。
【0163】
一方、従オブジェクトの行動を、気絶解除の行動に決定しない場合(ステップS3のN)、従オブジェクトの行動を、回復の行動に決定するか否かを判断する(ステップS5)。
【0164】
そして、従オブジェクトの行動を、回復の行動に決定すると(ステップS5のY)、従オブジェクトに回復の行動を行わせる(ステップS6)。
【0165】
一方、従オブジェクトの行動を、回復の行動に決定しない場合(ステップS5のN)、従オブジェクトの行動を、挟み込みの行動に決定するか否かを判断する(ステップS7)。
【0166】
そして、従オブジェクトの行動を、挟み込みの行動に決定すると(ステップS7のY)、従オブジェクトに挟み込みの行動を行わせる(ステップS8)。
【0167】
一方、従オブジェクトの行動を、挟み込みの行動に決定しない場合(ステップS7のN)、従オブジェクトの行動を、主オブジェクトに接近させる接近の行動に決定するか否かを判断する(ステップS9)。
【0168】
そして、従オブジェクトの行動を、接近の行動に決定すると(ステップS9のY)、従オブジェクトに主オブジェクトに接近させる行動を行わせる(ステップS10)。
【0169】
一方、従オブジェクトの行動を、接近の行動に決定しない場合(ステップS9のN)、第1の所定期間D1を経過したか否かを判断する(ステップS11)。
【0170】
第1の所定期間D1を経過した場合(ステップS11のY)には、攻撃処理を実行する(ステップS12)。一方、第1の所定期間D1を経過していない場合(ステップS11のN)には、ステップS1に戻る。
【0171】
例えば、図20に示すように、本実施形態では、第1の所定期間D1の間(例えば、45フレームの間)は、かばう、気絶解除、回復、挟み込み、接近の順で、従オブジェクトに各行動を行わせるか否かを判断する処理を行う。そして、次の1フレームである第2の所定期間D2は、攻撃処理を実行する。そして、第1の所定期間D1、第2の所定期間D2を交互に繰り返し処理を実行する。
【0172】
なお、本実施形態では、第1の所定期間D1の間、かばう、気絶解除、回復、挟み込み、接近の順で、各行動を行わせるか否かを判断しているが、プレーヤの入力部からの入力情報に基づき、判断の優先順序を予め設定できるようにしてもよい。例えば、回復を最優先にする場合には、回復、かばう、気絶解除、挟み込み、接近の順で各行動を行わせるか否かを判断してもよい。
【0173】
図21は、本実施形態において、従オブジェクトの攻撃処理(図19のステップS12)の処理の詳細な流れを示すフローチャートである。
【0174】
まず、従オブジェクトに後方支援させるための攻撃制御を行わせるか否かを判断する(ステップS20)。従オブジェクトに後方支援させるための攻撃制御を行わせる場合(ステップS20のY)、主オブジェクトの後方の敵オブジェクトを従オブジェクトのターゲット(標的、攻撃対象)として設定する(ステップS21)。
【0175】
一方、従オブジェクトに後方支援させるための攻撃制御を行わせない場合(ステップS20のN)、従オブジェクトに、詠唱中(詠唱イベントの実行中)の主オブジェクトをフォローするための攻撃制御を行わせるか否かを判断する(ステップS22)。従オブジェクトに、詠唱中(詠唱イベントの実行中)の主オブジェクトをフォローするための攻撃制御を行わせる場合(ステップS22のY)、主オブジェクトの所定距離以内の敵オブジェクトを従オブジェクトのターゲットとして設定する(ステップS23)。
【0176】
一方、従オブジェクトに、詠唱中(詠唱イベントの実行中)の主オブジェクトをフォローするための攻撃制御を行わせない場合(ステップS22のN)、主オブジェクトが敵オブジェクトに対して攻撃しているか否か、又は、主オブジェクトが敵オブジェクトから攻撃を受けているか否かを判断する(ステップS24)。
【0177】
そして、主オブジェクトが敵オブジェクトに対して攻撃している場合、又は、主オブジェクトが敵オブジェクトから攻撃を受けている場合(ステップS24のY)、主オブジェクトのターゲットの敵オブジェクトを、従オブジェクトのターゲットの敵オブジェクトとして設定する(ステップS25)。
【0178】
一方、主オブジェクトが敵オブジェクトに対して攻撃していない、主オブジェクトが敵オブジェクトから攻撃を受けていない場合(ステップS24のN)、攻撃制御を終了する。
【0179】
そして、ステップS21、S23、S25の後、従オブジェクトがターゲットの敵オブジェクトを攻撃する攻撃制御を行う。例えば、攻撃を行う際は、従オブジェクトとターゲットの敵オブジェクトとを結ぶ線上に、従オブジェクトを移動制御させて、従オブジェクトが当該敵オブジェクトに対して攻撃を行う攻撃制御を行うようにしてもよい(ステップS26)。以上で、攻撃制御を終了する。
【0180】
5.ネットワークシステム
5.1 オンラインゲームの処理例1
本実施形態では、複数の端末10とネットワークを介して相互にデータの送受信を行い、オンラインフライトシューティングゲームを実現可能としてもよい。つまり、本実施形態では、ピア・ツー・ピア方式のオンラインゲームに適用してもよい。
【0181】
図22及び図23は、本実施形態のネットワークシステムの構成を示す図である。例えば、本実施形態のネットワークシステムでは、複数の端末10A〜10Cの間で無線通信を行って、各端末10A〜10Cの所有者が対戦プレイや協力プレイを行うことができる。なお、本実施形態のネットワークシステムでは、複数の端末10A〜10Cの間で有線通信を行ってもよい。
【0182】
無線通信の態様としては、図22に示すように、各端末10A〜10Cが自律分散的にネットワークを構築し、直接的にゲーム情報等を含むパケットの送受信を行うアドホックモードと、図23に示すように、端末10AがアクセスポイントACSP1を介し、端末10B、10CがアクセスポイントACSP2を介して、間接的にゲーム情報等を含むパケットの送受信を行うインフラストラクチャモードとがある。インフラストラクチャモードでは、アクセスポイントACSP1又はASCP2を介してインターネットInet(公衆通信網)にアクセスすることができる。そして、各端末10A〜10Cは、インターネットInetに接続されたサーバ20との間でゲーム情報あるいはファームウェアのアップデート情報等を含むパケットを、アクセスポイントACSP1又はACSP2を介して送受信することができる。
【0183】
本実施形態のネットワークシステムは、端末10Aのオブジェクトが、他の端末10Bのオブジェクトを攻撃するゲーム演算を行うようにしてもよい。また、本実施形態のネットワークシステムは、複数の端末10A、10Bそれぞれの操作対象のオブジェクトによって構成される第1のグループと、複数の端末10C、10Dそれぞれの操作対象のオブジェクトによって構成される第2のグループとが対戦を行うゲーム演算を行うようにしてもよい。
【0184】
また、本実施形態では、各端末が相互にネットワークを介して移動情報等のデータに基づいて、端末のオブジェクト空間に配置される他のオブジェクト(他の端末を操作するプレーヤの操作対象のオブジェクト)を移動・動作させる。つまり、各端末10は、ネットワークを介して、オブジェクトの位置制御、移動制御などを含むデータ、アナログレバー、ボタンの入力情報、加速度値などのデータを送受信する。
【0185】
例えば、描画のフレームレートで(例えば、1/60秒毎)、端末10Aが、端末10Aの操作対象のオブジェクトの位置Pを端末10Bに送信する。一方、端末10Bにおいても、端末10Aと同じように、描画のフレームレートで端末10Bの操作対象のオブジェクトの位置Qを端末10Aに送信する。
【0186】
また、各端末は、各端末のオブジェクト空間における仮想カメラから見える画像を、ゲーム画像として生成する処理を行う。従って、端末毎に、その端末が操作するオブジェクトの挙動に応じた画像が生成される。
【0187】
5.2 オンラインゲームの処理例2
また、本実施形態では、クライアント・サーバ方式のオンラインゲームに適用してもよい。つまり、サーバ20が、端末10で行う一部の処理(例えば、処理部100の少なくとも1つの処理)を行うようにしてもよい。図24に示すように、サーバ20が、ネットワーク(例えば、インターネット)を介して複数の端末10A〜10Cと接続され、サーバ20が、端末10から入力情報を受信する。そして、サーバ20が、受信した第1、第2、第3の入力情報に基づいて画像を生成し、生成した画像を端末10に送信してもよい。
【0188】
図25は、サーバ20の機能ブロック図の例を示す。なお本実施形態のサーバ20は図31の構成要素(各部)の一部を省略した構成としてもよい。
【0189】
記憶部270は、処理部200や通信部296などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
【0190】
情報記憶媒体280(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部200は、情報記憶媒体280に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体280には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
【0191】
通信部296は外部(例えば端末10、他のサーバ)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0192】
なお、他のサーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体280や記憶部270に記憶してもよい。このようにプログラムやデータを受信して端末を機能させる場合も本発明の範囲内に含む。
【0193】
処理部200(プロセッサ)は、受信したデータやプログラムなどに基づいて、ゲーム処理、画像生成処理、音処理などの処理を行う。
【0194】
この処理部200は記憶部270内の主記憶部271をワーク領域として各種処理を行う。処理部200の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0195】
処理部200は、オブジェクト空間設定部211、オブジェクト制御部212、主従関係設定部213、行動決定部214、選択部215、ゲーム演算部216、仮想カメラ制御部218、通信制御部219、描画部220、音処理部230を含む。なお、これらの一部を省略する構成としてもよい。
【0196】
オブジェクト空間設定部211は、オブジェクトをオブジェクト空間(仮想的3次元空間)に配置する処理を行う。例えば、オブジェクト空間設定部211は、端末10のオブジェクト空間設定部111と同様の処理を行う。
【0197】
オブジェクト制御部212は、オブジェクトの位置制御、移動制御、攻撃制御、防御制御等を行う。例えば、オブジェクト制御部212は、端末10のオブジェクト制御部112と同様の処理を行う。
【0198】
主従関係設定部213は、グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する。例えば、オブジェクト制御部213は、端末10のオブジェクト制御部113と同様の処理を行う。
【0199】
行動決定部214は、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する。例えば、行動決定部214は、端末10の行動決定部114と同様の処理を行う。
【0200】
選択部215は、敵オブジェクトが複数存在する場合に、一の敵オブジェクトをターゲット(標的)として選択する処理を行う。例えば、行動決定部215は、端末10の行動決定部115と同様の処理を行う。
【0201】
ゲーム演算部216は、種々のゲーム処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理などがある。例えば、ゲーム演算部216は、端末10の行動決定部116と同様の処理を行う。
【0202】
仮想カメラ制御部218は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。例えば、仮想カメラ制御部218は、端末10の行動決定部118と同様の処理を行う。
【0203】
通信制御部219は、端末10とネットワークを介して相互にデータを送受信する処理を行うようにしてもよい。
【0204】
なお、本実施形態のサーバ20は、通信制御で必要となるネットワーク情報を端末10に送信してもよい。なお、例えば、サーバ20は、各端末に個別に付与される端末の識別情報と、端末の識別情報に対応付けられたパケットの送信先を指定する宛先情報を管理する。
【0205】
サーバ20の通信制御部219は、端末10に送信するパケットを生成する処理、パケット送信先の端末のIPアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部270に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
【0206】
また、本実施形態の通信制御部219は、端末と接続が確立されてから接続が切断されるまで、データを所定周期(例えば、1秒周期で)互いに送受信する処理を行う。ここで、端末10から送信されるデータは、端末10の入力部160からの入力情報としてもよいし、各端末10の操作対象のオブジェクト(キャラクタ、移動体)の位置情報、移動情報としてもよい。
【0207】
また、本実施形態の通信制御部219は、端末10から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを主記憶部271に記憶する処理を行う。
【0208】
特に、本実施形態の通信制御部219は、プレーヤの入力情報を受信する処理を行う。例えば、第1のプレーヤオブジェクト(第1のプレーヤの操作対象のオブジェクト)の移動を制御するための移動用の入力情報を受信する処理や、第1のプレーヤオブジェクトが敵オブジェクトに対して攻撃を行う攻撃用入力情報を受信する処理を行う。
【0209】
また、通信制御部219は、複数のオブジェクトの中から、第1プレーヤの操作対象のオブジェクト(第1のプレーヤオブジェクト)の選択を受信する処理、ターゲット(目標、攻撃対象)とする一の敵オブジェクトの選択を受信する処理や、主従関係(リンク)の対象のオブジェクトの選択を受信する処理、攻撃技の選択を受信する処理を行う。
【0210】
また、通信制御部219は、主従関係を解除する入力情報を受信する処理、主従関係の切り替えの入力情報を受信する処理を行う。
【0211】
また、本実施形態の通信制御部219は、ゲーム演算結果、各オブジェクトのパラメータ値、ゲーム画像(表示データ)を、ネットワークを介して、端末10に送信するようにしてもよい。
【0212】
描画部220は、処理部200で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成する。描画部220の処理は、端末10の描画部120と同様な処理を行う。
【0213】
6.応用例
6.1 複数の従オブジェクト
本実施形態では、一の主オブジェクトと複数の従オブジェクトからなる主従関係を設定するようにしてもよい。例えば、所与のグループに属するCH1、CH2、CH3、CH4のうち、オブジェクトCH1を主オブジェクトとして設定し、オブジェクトCH2、CH3を従オブジェクトとして設定してもよい。そして、従オブジェクトCH2、CH3は、異なる行動を取らせるように制御してもよい。例えば、従オブジェクトCH2は、挟み込みの行動を行い、従オブジェクトCH3は、後方支援の行動を行わせるようにしてもよい。
【0214】
6.2 その他
また本発明は、業務用ゲームシステム等の種々のゲームシステムに適用できる。また、本実施形態では、対戦ゲーム、ロールプレイングゲーム、アクションゲーム等に限らず、種々のゲームに応用してもよい。例えば、レースゲーム、音楽ゲーム、格闘ゲーム、シューティングゲームなど種々のゲーム装置、ゲームを提供するサーバで行うようにしてもよい。
【0215】
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0216】
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。なお、本実施形態で説明した実施例は、自由に組み合わせることができる。
【符号の説明】
【0217】
100 処理部、110 受け付け部、111 オブジェクト空間設定部、
112 オブジェクト制御部、113 主従関係設定部、114 行動決定部、
115 選択部、116 ゲーム演算部、118 表示制御部、
118 仮想カメラ制御部、119 通信制御部、120 描画部、130 音処理部、160 入力部、162 検出部、170 記憶部、171 主記憶部、
172 画像バッファ、173 オブジェクトデータ記憶部、180 情報記憶媒体、
190 表示部、192 音出力部、196 通信部、
200 処理部、211 オブジェクト空間設定部、212 オブジェクト制御部、
213 主従関係設定部、214 行動決定部、215 選択部、
216 ゲーム演算部、218 仮想カメラ制御部、219 通信制御部、
220 描画部、230 音処理部、270 記憶部、271 主記憶部、
272 画像バッファ、273 オブジェクトデータ記憶部、280 情報記憶媒体、
296 通信部、10 端末、20 サーバ、
CH1、CH2、CH3、CH4 オブジェクト、E1、E2 敵オブジェクト

【特許請求の範囲】
【請求項1】
オブジェクト空間において、複数のオブジェクトを含むグループと、敵オブジェクトとの対戦処理を実行するプログラムであって、
前記グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する主従関係設定部と、
主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する行動決定部と、
決定された行動パターンに基づいて、従オブジェクトを自動制御するオブジェクト制御部として、コンピュータを機能させ、
前記オブジェクト制御部が、
主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記オブジェクト制御部が、
前記行動パターンが所定のパターンである場合に、主オブジェクトと従オブジェクトとの間に敵オブジェクトが位置するように、従オブジェクトの位置制御又は移動制御を行うことを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記オブジェクト制御部が、
前記行動パターンが所定のパターンである場合に、前記線に基づき、敵オブジェクトを基準に主オブジェクトの反対側に所定範囲を設定し、前記所定範囲内に従オブジェクトを位置させるように、従オブジェクトの位置制御又は移動制御を行うことを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記オブジェクト制御部が、
敵オブジェクトと従オブジェクトとを重複させることによって従オブジェクトを移動させる場合には、前記線と平行な方向に、従オブジェクトを移動させることを特徴とするプログラム。
【請求項5】
請求項1〜4のいずれかにおいて、
前記オブジェクト制御部が、
従オブジェクトの位置制御又は移動制御を行った場合に、敵オブジェクトに対して攻撃を行わせる従オブジェクトの攻撃制御を行うことを特徴とするプログラム。
【請求項6】
請求項1〜5のいずれかにおいて、
前記主従関係設定部が、
プレーヤの操作対象のプレーヤオブジェクトを主オブジェクトとして設定し、入力情報に基づき、プレーヤオブジェクト以外のオブジェクトを従オブジェクトとして設定することを特徴とするプログラム。
【請求項7】
請求項1〜6のいずれかにおいて、
前記主従関係設定部が、
第1のプレーヤの操作対象の第1のプレーヤオブジェクトと第2のプレーヤの操作対象の第2のプレーヤオブジェクトとのうち、入力情報に基づき主従関係の申し込みを先に行ったオブジェクトを従オブジェクトとして設定し、他方のオブジェクトを主オブジェクトとして設定することを特徴とするプログラム。
【請求項8】
請求項1〜7のいずれかにおいて、
前記主従関係設定部が、
グループ内のオブジェクト数が4以上の場合は、主オブジェクトと従オブジェクトとからなる組を複数設定し、
前記行動決定部が、
主オブジェクトと従オブジェクトとからなる組毎に、主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定し、
前記オブジェクト制御部が、
主オブジェクトと従オブジェクトとからなる組毎に、決定された行動パターンに基づいて、従オブジェクトの制御を行うことを特徴とするプログラム。
【請求項9】
請求項1〜8のいずれかにおいて、
前記主従関係設定部が、
複数の敵オブジェクトのうち、一方の敵オブジェクトを主オブジェクト、他方の敵オブジェクトを従オブジェクトとして主従関係を設定し、
前記行動決定部が、
敵の主オブジェクトの状態を参照して、複数種類の行動パターンの中から敵の従オブジェクトの行動パターンを決定し、
前記オブジェクト制御部が、
決定された行動パターンに基づいて、敵の従オブジェクトの制御を行うことを特徴とするプログラム。
【請求項10】
コンピュータに読み取り可能な情報記憶媒体であって、請求項1〜9のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項11】
オブジェクト空間において、複数のオブジェクトを含むグループと、敵オブジェクトとの対戦処理を実行する端末であって、
前記グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する主従関係設定部と、
主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する行動決定部と、
決定された行動パターンに基づいて、従オブジェクトを自動制御するオブジェクト制御部と、を含み、
前記オブジェクト制御部が、
主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行うことを特徴とする端末。
【請求項12】
オブジェクト空間において、複数のオブジェクトを含むグループと、敵オブジェクトとの対戦処理を実行するサーバであって、
前記グループに含まれる複数のオブジェクトのうち、一のオブジェクトを主オブジェクト、他のオブジェクトを従オブジェクトとして主従関係を設定する主従関係設定部と、
主オブジェクトの状態を参照して、複数種類の行動パターンの中から従オブジェクトの行動パターンを決定する行動決定部と、
決定された行動パターンに基づいて、従オブジェクトを自動制御するオブジェクト制御部と、を含み、
前記オブジェクト制御部が、
主オブジェクトの位置と敵オブジェクトの位置とに基づき求められる線に基づいて、従オブジェクトの位置制御又は移動制御を行うことを特徴とするサーバ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12(A)】
image rotate

【図12(B)】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17(A)】
image rotate

【図17(B)】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図24】
image rotate

【図25】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2013−13450(P2013−13450A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−146582(P2011−146582)
【出願日】平成23年6月30日(2011.6.30)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 平成23年1月14日 http://tox.namco−ch.net/を通じて発表
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】