以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.本実施の形態の構成
図1に本実施形態のゲームシステム(画像生成システム)の機能ブロック図の例を示す。なお本実施形態のゲームシステムは図1の構成要素(各部)の一部を省略した構成としてもよい。
入力部160は、プレーヤが移動体の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筐体などにより実現できる。
また、入力部160は、3軸の加速度を検出する加速度センサや、角速度を検出するジャイロセンサ、撮像部を備えた入力機器でもよい。例えば、入力機器は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力機器には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける(プレーヤが手に装着する)グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力機器には、入力機器と一体化されている画像生成装置、携帯型画像生成装置、携帯電話なども含まれる。
個人認証部164は、プレーヤの個人識別情報を取得するものである。例えば非接触通信用ICチップを内蔵した非接触型ICカードと非接触通信を行うアンテナ、リーダ・ライタ等のハードウェアで構成してもよい。非接触通信用ICチップは、非接触型ICカードの技術方式を搭載したICチップであり、リーダ・ライタからキャリアを送信して電磁誘導によりICチップに電力を供給し、キャリアの変調によりリーダ・ライタとICチップ間で通信を行うものである。
撮像部162は、被写体を撮像するものであり、CCDやCMOSセンサなどの撮像素子や、レンズ等の光学系により実現できる。撮像部162の撮像により取得された撮像情報(撮像画像データ)は、記憶部に記憶されて保存される。撮像部162で撮像されたプレーヤの画像により画像認識を行ってもよい。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(入力部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部196は外部(例えば他の画像生成装置)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信して画像生成装置を機能させる場合も本発明の範囲内に含む。
処理部100(プロセッサ)は、入力部160からの入力情報やプログラムなどに基づいて、各種ゲーム処理、画像生成処理、音生成処理、或いは通信制御処理などの処理を行う。
この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、GPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、オブジェクト空間設定部110、ゲームデータ取得部112、ハンデ設定処理部114、ゲーム処理部116、特徴判断処理部118、画像生成部120、音処理部130、通信制御部140を含む。なおこれらの一部を省略する構成としてもよい。
オブジェクト空間設定部111は、キャラクタ(敵オブジェクト)の他に、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を、オブジェクト空間に配置設定する処理を行う。
ここでオブジェクト空間とは、仮想的な3次元空間である。3次元空間とは、例えば3次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
例えば、オブジェクト空間設定部111は、オブジェクト空間を3次元空間とした場合には、ワールド座標系にオブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
ゲームデータ取得部112は、ハンデ設定対象のゲームに関連する過去のゲームデータを取得する。ハンデ設定処理部114は、取得した前記過去のゲームデータに基づき、前記ゲームの参加プレーヤにハンデを設定する処理を行う。ゲーム処理部116は、設定された前記ハンデに基づき前記ゲームのゲーム処理を行う。そして、ハンデ設定処理部114は、前記過去のゲームデータを検索して、前記ゲームの参加メンバーと同一のメンバーで行われた過去のゲーム、または前記ゲームの参加メンバーとの一致度が所定の基準を満たす参加メンバーで行われた過去のゲームのゲームデータを参考ゲームデータとして収集し、前記参考ゲームデータに基づき、前記ゲームの参加プレーヤに前記ハンデを設定する。
またハンデ設定処理部114は、前記ゲームの参加メンバーと、前記過去のゲームの参加メンバーとのメンバーの一致人数を求め、当該一致人数と前記ゲームの参加メンバー数の比率に基づいて、前記ゲームの参加メンバーと前記過去のゲームの一致度が高いか否か判定してもよい。
また個人認証部164は、前記ゲームの参加メンバーの個人識別情報を取得する。ハンデ設定処理部114は、前記個人識別情報に基づき、過去のゲームデータを検索して、前記参考ゲームデータを収集してもよい。
またハンデ設定処理部114は、プレーヤの直近の参考ゲームデータからの経過時間、プレーヤが参加した参考ゲームデータの数、プレーヤが参加した参考ゲームデータの頻度の少なくとも1つを求め、これら少なくとも1つを加味して、当該プレーヤにハンデを設定してもよい。
またハンデ設定処理部114は、実行中の前記ゲームのゲームデータに基づき、設定されているハンデを補正してもよく、ゲーム処理部116は、補正されたハンデに基づき、前記ゲームのゲーム処理を行ってもよい。
ハンデ設定処理部114は、前記参考ゲームデータがないプレーヤについて、実行中の前記ゲームのゲームデータに基づき、ハンデを設定してもよい。
また特徴判断処理部118は、プレーヤの撮影データを取得し、当該撮影データの画像認識を行い、認識結果に基づきプレーヤの属性または身長を判断し、ハンデ設定処理部114は、前記参考ゲームデータがないプレーヤについて、前記属性または前記身長に基づいてハンデを設定してもよい。なお特徴判断処理部118は、撮像部162が撮影したプレーヤの撮影データを取得し、当該撮影データに基づきプレーヤの属性または身長を判断してもよい。
またハンデ設定処理部114は、前記属性または身長を加味して、プレーヤのハンデを補正してもよい。
またハンデ設定処理部114は、前記参考ゲームデータに含まれる所与の要素に基づきハンデを設定する際に、前記所与の要素の変化の度合を加味してハンデを設定してもよい。
またハンデ設定処理部114は、前記参考ゲームデータにかかるゲームにおいてプレーヤに設定されているハンデを加味して、ハンデを設定してもよい。
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。画像生成部120は頂点処理やピクセル処理を行ってもよい。
なお、画像生成部120は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、3次元の画像を生成する場合には、ワールド座標系における仮想カメラの位置(X、Y、Z)又は回転角度(例えば、X、Y、Z軸の各軸の正方向からみて時計回りに回る場合における回転角度)を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。また、画像生成部120は、仮想カメラを、予め決められた回転角度で回転させてもよい。この場合には、仮想カメラの位置又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
例えば、フロントビュー視点やドライバー視点等(一人称視点)に基づいて画像を生成する処理を行ってもよいし、車体後方視点や俯瞰視点等(三人称視点)に基づいて画像を生成する処理を行ってもよい。
音処理部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
通信制御部140は、他のゲームシステムに送信するパケットを生成する処理、パケット送信先のゲームシステムのネットワークアドレスを指定する処理、受信したパケットを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部196の制御処理等を行う。特に本実施形態では、ネットワーク(例えば、インターネット)を利用してレースゲームを実行するために必要なデータパケット及びコマンドパケットを生成する制御や、通信部196を介してデータパケット及びコマンドパケットを送受信させる制御を行う。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバ)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
なお、本実施形態の画像生成システムは、複数のプレーヤがプレイできるマルチプレーヤモードを備えるシステムであるが、1人のプレーヤのみがプレイできるシングルプレーヤモードをそなえてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
また、本実施形態の画像生成システムをサーバシステムとして構成してもよい。サーバシステムは、1又は複数のサーバ(認証サーバ、ゲーム処理サーバ、通信サーバ、課金サーバ、データベースサーバ等)により構成することができる。この場合には、サーバシステムは、ネットワークを介して接続された1又は複数の端末装置(例えば、据え置き型ゲーム装置、携帯型ゲーム装置、プログラム実行可能な携帯電話等)から送信された操作情報に基づき各種処理を行って、画像を生成するための画像生成用データを生成し、生成した画像生成用データを各端末装置に対して送信する。ここで、画像生成用データとは、本実施形態の手法により生成された画像を各端末装置において表示するためのデータであり、画像データそのものでもよいし、各端末装置が画像を生成するために用いる各種データ(オブジェクトデータ、ゲーム処理結果データ等)であってもよい。
2.本実施形態の処理
2−1.ゲームの概要
本実施の形態のゲームシステムについて、レースゲームを例にとり説明する。
本実施の形態のゲームシステムは、複数のプレーヤからの入力情報に基づきゲームを実行するゲームシステムである。1つのゲーム装置が複数のプレーヤからの入力情報を受け付ける構成でゲームを実現してもよい。また複数のゲーム装置が有線又は無線の通信回線で接続されてゲームデータをやり取りして、複数のゲーム装置間でゲームデータを共有する構成でゲームを実現してもよい。また複数のゲーム端末とサーバが有線又は無線の通信回線で接続されて、ゲーム端末に対する入力情報をサーバが受け取って処理する構成でゲームを実現してもよい。
本実施の形態のゲームシステムは、業務用ゲームシステムとして実現してもよいし、家庭用ゲーム装置として実現してもよいし、パーソナルコンピュータや携帯端末(携帯電話やスマートフォン)で実現してもよい。
本実施の形態のレースゲームは、プレーヤの入力情報に基づき、プレーヤオブジェクト(プレーヤオブジェクトの一例)を仮想ゲーム空間(オブジェクト空間の一例)内に設定されたコースを走行させ、他のプレーヤのプレーヤオブジェクトやコンピュータカーと順位を競うレースゲームである。例えばn人のプレーヤでゲームを行う場合、n人のプレーヤP1、・・・、PnのプレーヤオブジェクトPOB1、・・・、POBn、とコンピュータが制御するコンピュータカーがコースを走行するレースを行う。
本実施の形態のレースゲームでは、プレーヤは、移動体であるプレーヤオブジェクトの運転操作と、シューティング操作(ゲーム中のプレーヤオブジェクトがシューティング用アイテムを投げる)の両方を行う。投げたシューティング用アイテムが他の移動体にヒットすると、他の移動体にダメージを与えたり、他の移動体の走行の邪魔をすることができる。
2−2.プレーヤオブジェクトの制御
図2は、仮想ゲーム空間に配置されるプレーヤオブジェクトの一例を示す図である。プレーヤオブジェクト510の性能は、過去のゲームデータに基づいたハンデの設定対象としてもよい。
図3は、本実施の形態の仮想ゲーム空間に設定されたコース例を示す図である。
ゲームが開始されると、複数の移動体(プレーヤオブジェクトやコンピュータカー)510、520が、図3に示すコース500上のスタート地点SPから出発して、ゴール地点EPを目指して、コース500上を走行する。プレーヤオブジェクト510については、プレーヤからの入力情報に基づき移動制御が行われ、仮想ゲーム空間内に設定されたコース500を走行する。
なおプレーヤからの入力情報のみを用いて移動体の制御を行うと、操作が未熟なプレーヤは他の移動体についていけず、抜きつ抜かれつのレースゲームの醍醐味を味わうことは困難である。そこで、レースゲームでは、後方の移動体が先行する移動体と離れすぎてしまうことを防止するためにラバーバンド制御を行うことが多い。ラバーバンド制御とは、先行する移動体の後方の移動体に対して、先行する移動体の方に引っ張るラバーバンド引力を作用させる制御のことである。移動体毎に設定されたラバーバンド強度に基づいて移動体毎にラバーバンド引力の強弱を調整してもよい。このようなラバーバンド引力を作用させることで、後方の移動体が先行する移動体に追いつきやすくなる(後方移動体に対して、有利なハンデが与えられる)。これにより、先行する移動体と後方移動体の白熱したデッドヒートを演出できるようになる。
プレーヤ間のハンディキャップ又はアドバンテージ調整のために、先行する移動体の後方の移動体に対して、先行する移動体の方に引っ張るラバーバンド引力を作用させてもよい。ラバーバンド引力の強度を調整することで、下手なプレーヤや未熟なプレーヤを優遇することができる。
また移動体の移動はプレーヤの入力情報に基づき行われるが、移動内容は移動体自体に設定された性能にも左右される。例えば速度、加速度、クラッシュの有無、コース外の走行可能地域に達した場合の戻り易さ等は移動体の性能に応じて異なってくる。したがってプレーヤに設定されたハンデに応じて移動体性能を調整することで、下手なプレーヤや未熟なプレーヤを優遇することができる。
本実施の形態では、プレーヤオブジェクト510は、コースを移動する移動機能とシューティング機能(保持しているシューティング用アイテムを投げる機能であり攻撃以降の一例である)を有しており、プレーヤの操作入力に基づき、プレーヤオブジェクトの移動制御及びシューティング制御を行う。
例えば入力部に、ハンドルとボタン等を設け、プレーヤがハンドルを操作することによりプレーヤオブジェクトの移動を制御し、プレーヤがボタン等を押下することによりシューティング用アイテムのシューティング制御を行うようにしてもよい。
図4(A)〜(C)は、プレーヤオブジェクトのアイテム投げ(シューティング機能であり、攻撃機能の一例である)について説明するための図である。本実施の形態では、ゲーム状況(例えばゲームパラメータやプレーヤオブジェクトの位置等)が所定の条件を満たした場合に、プレーヤにシューティング用のアイテム512を付与する。プレーヤオブジェクト510にシューティング用アイテム512が付与されると、図4(A)に示すようにプレーヤオブジェクト510がシューティング用アイテム512を保持している画像が生成される。
シューティング用アイテム512を付与されたプレーヤは、所望のタイミングでボタン等を押下することにより、ゲーム空間内でシューティング用アイテム512を投げることができる。
投げたシューティング用アイテム512が他の移動体(他のプレーヤオブジェクトでもよいし、コンピュータカーでもよい)にヒットすると他の移動体にダメージを与えたり、他の移動体の走行の邪魔をしたりすることができるので、プレーヤに有利なゲーム状況に導くことができる。なおシューティング用アイテムの移動軌跡は、プレーヤオブジェクト510の位置と前方にいる他の移動体等との位置関係やプレーヤオブジェクトの移動方向により決定されるようにしてもよい。
例えば図4(B)のように、プレーヤオブジェクト510の前方に第2の移動体560が走行し、斜め前方に第3の移動体570が走行している状態において、シューティング用アイテム512がシューティングされると、シューティング用アイテム512は前方を走行する第2の移動体560に当たり、第2の移動体560の走行を邪魔するようにしてもよい。
また例えば図4(C)のように、プレーヤオブジェクト510の斜め後方に第4の移動体580が走行している状態において、シューティング用アイテム512がシューティングされてもシューティング用アイテム512は移動体にヒットしないようにしてもよい。
また本実施の形態では各種アイテムの使用することでプレーヤオブジェクトを所定の状態に置く制御を行うことができる。
例えば第1のアイテムは、一定時間、無敵状態となり加速して走行し、接触した他の移動体にダメージを与える状態になれるアイテムであり、本アイテムを有するプレーヤは、無敵状態に移行することができる。
また例えば第2のアイテムは、他の移動体がシューティングされるシューティング用アイテムがぶつかるのを防止するバリアを発生させるアイテムである。
プレーヤに設定されたハンデに応じて第1のアイテムや第2のアイテムを付与することにより、下手なプレーヤや未熟なプレーヤを優遇することができる。
プレーヤは、第1のアイテムや第2のアイテムを有している場合には、ボタン等を押すことで、アイテム使用指示入力を行い、第1のアイテムや第2のアイテムを使用することができる。
2−3.ハンデ設定処理の概要
本実施の形態では過去のゲームデータを検索して、前記ゲームの参加メンバーと同一のメンバーで行われた過去のゲーム、または前記ゲームの参加メンバーとの一致度が所定の基準を満たす参加メンバーで行われた過去のゲームのゲームデータを参考ゲームデータとして収集し、前記参考ゲームデータに基づき、前記ゲームの参加プレーヤに前記ハンデを設定することができる。
過去のゲームデータは、ゲームシステムが通信可能なサーバのデータベースに記憶されている過去のゲームデータ(ゲーム単位のゲーム履歴データや、プレーヤ単位のゲーム履歴データを含む)でもよい。このようにすると、ゲームシステム自体が保持している過去のゲームデータに限られず、他のゲームシステム(物理的な筐体の異なる他のゲームシステム)で実行された過去のゲームのゲームデータも参考データとして収集することができる。
なお、過去のゲームデータは、ゲームシステム自体の記憶部に記憶されている過去のゲームデータ(ゲーム単位のゲーム履歴データや、プレーヤ単位のゲーム履歴データを含む)でもよい。このようにすると、ゲームのコンテニュー時等においてはサーバと通信しなくても、前回のゲームデータを参考データとして収集することができる。
2−4.ゲームデータ
本実施の形態では過去のゲームデータに基づいてハンデを設定する。過去のゲームデータは、実行されたゲーム単位で記憶されているゲームデータでもよいし、プレーヤ単位で記憶されているゲームデータでもよい。
図5は、実行されたゲーム単位で記憶されている過去のゲームデータの一例である。
ゲーム単位で記憶されている過去のゲームデータ200は、ゲーム特定情報210に関連付けて、当該ゲームに参加したプレーヤを特定可能な参加メンバー情報220、ハンデ設定に必要なゲーム結果情報230を含んでいればよい。参加メンバー情報220として、当該ゲームに参加したプレーヤのプレーヤ識別情報等を記憶させてもよい。ハンデ設定に必要なゲーム結果情報230は、成績、得点、順位、タイム、ヒット数、クリア数などゲーム内容に応じた要素である。例えばレースゲームでは順位でもよい。
なおゲーム単位で記憶されている過去のゲームデータは、図5に示した要素以外の各種要素を含んでいてもよいが、ここでは説明を省略する。
ゲーム単位で記憶されている過去のゲームデータ200の情報に基づきハンデが設定可能である場合には、ハンデ設定対象のゲームの参加メンバーと同一のメンバーで行われた過去のゲーム、または前記ゲームの参加メンバーとの一致度が所定の基準を満たす参加メンバーで行われた過去のゲームのゲームデータを参考ゲームデータとして収集して、収集した参考ゲームデータに基づきハンデ設定を行ってもよい。
例えばハンデ設定対象のゲームの参加メンバーがプレーヤP1、P2、P3、P4、P5の5人である場合は、ハンデ設定対象のゲームの参加メンバーと同一のメンバーで行われた過去のゲームは、ゲームデータ241、247のゲームである。
またハンデ設定対象のゲームとの一致度が所定の基準を満たす参加メンバーで行われた過去のゲームには、例えば246のように、ハンデ設定対象のゲームの参加メンバーの5人を含むがそれ以外のメンバーも含む過去のゲームを含んでもよい。
また、ハンデ設定対象のゲームのメンバー数に対する、一致メンバーの数の割合が所定の基準以上の過去のゲームを含んでもよい。例えば一致メンバーの割合が60%以上のゲームがハンデ設定対象のゲームとの一致度が所定の基準を満たすゲームであるとすると、241、243、244、246、247、248が該当する。
図6は、プレーヤ単位で記憶されているゲームデータの一例である。
プレーヤ単位で記憶されている過去のゲームデータ250は、プレーヤ識別情報260に関連付けて、ゲーム特定情報210、当該プレーヤの当該ゲームにおけるゲーム結果情報(順位)270を含んでいればよい。なおこのゲームにおいてハンデが設定されていればハンデ情報280を含んでいてもよい。ゲーム結果情報(順位)270は、当該プレーヤの結果であり、例えば当該プレーヤが5人中1位であった場合には、「1」又は「5人中1位」であることを示すデータが記憶されていてもよい。
なおプレーヤ単位で記憶されている過去のゲームデータは、図6に示した要素以外の各種要素を含んでいてもよいが、ここでは説明を省略する。
プレーヤ単位で記憶されている過去のゲームデータ250に基づきハンデを設定する場合には、ハンデ設定対象のゲームの参加メンバーに関する過去のゲームデータを収集し、ゲーム特定情報単位でグループ化して、図5の場合と同様に、ハンデ設定対象のゲームの参加メンバーと同一のメンバーで行われた過去のゲーム、または前記ゲームの参加メンバーとの一致度が所定の基準を満たす参加メンバーで行われた過去のゲームを特定して、参考ゲームデータを収集してもよい。そして、当該ゲーム特定情報で特定されたゲームの参加メンバーのゲーム結果を取り出して、これらに基づきハンデ設定を行ってもよい。
2−5.ハンデ設定対象のゲームにおけるプレーヤのゲームデータ
図7(A)(B)を用いて、ハンデ設定対象のゲームにおけるプレーヤのゲームデータについて説明する。
図7(A)に示すように、プレーヤのハンデに関連するゲームデータ300として、プレーヤ識別情報310に関連付けてプレーヤオブジェクト情報320、ハンデ値330、ラバーバンド強度340、第1のアイテム有無情報350、第2のアイテム有無情報360等を記憶させてもよい。なおプレーヤに関連するゲームデータ300は、図7(A)に
示した要素以外の各種要素を含んでいてもよいが、ここでは説明を省略する。
プレーヤオブジェクト情報320は、プレーヤが操作するプレーヤオブジェクトの識別情報である。またハンデ値330は、過去のゲームデータに基づき演算されたハンデ(ハンディキャップ又はアドバンテージ)の値である。
ここにおいてハンディキャップ又はアドバンテージとは、不利なゲーム状況にあるプレーヤを優遇するためのもので、例えば速度、加速度、クラッシュの有無、コース外の走行可能地域に達した場合の戻り易さ等をプレーヤの状況に応じて有利又は不利に設定することや、後ろにいけば行くほど前に引っ張られるラバーバンド処理を行うことによって与えられる。 実際のハンデ設定は、このハンデ値330に応じて、上記速度、加速度、クラッシュの有無、コース外の走行可能地域に達した場合の戻り易さ等をプレーヤの状況に応じて有利又は不利に設定することや、後ろにいけば行くほど前に引っ張られるラバーバンド処理のラバーバンド強度の設定等のハンデに関連するゲーム上の各種設定値を設定することで実現することができる。
ラバーバンド強度340は、ハンデに関連するゲーム上の各種設定の1つであるラバーバンド強度の設定値である。ラバーバンド強度340とは、先行する移動体の後方の移動体に対して、先行する移動体の方に引っ張るラバーバンド引力を作用させる際の強度のことである。ラバーバンド強度が大きいほど強いラバーバンド引力を作用させることになる。このようなラバーバンド引力を作用させることで、後方の移動体が先行する移動体に追いつきやすくなる(後方移動体に対して、有利なハンデが与えられる)。これにより、先行する移動体と後方移動体の白熱したデッドヒートを演出できるようになる。
ラバーバンド強度に応じて先行する移動体の後方の移動体に対して、先行する移動体の方に引っ張るラバーバンド引力を作用させることでプレーヤ間のハンデ調整を行うことができる。
第1のアイテム有無情報350、第2のアイテム有無情報360は、ハンディキャップ又はアドバンテージを与えるためのアイテムの有無を示す情報である。第1のアイテムは、例えば一定時間、無敵状態となり加速して走行し、接触した他の移動体にダメージを与える状態になれるアイテムであり、本アイテムを有するプレーヤは、ボタンを押すことで無敵状態に移行することができる。第2のアイテムは、他の移動体がシューティングされるアイテムがぶつかるのを防止するバリアを発生させるアイテムである。
また図7(B)に示すように、移動体データ400として、移動体識別情報410に関連付けて、移動体の位置座標420を管理している。移動体の位置座標420は、コース上の移動体の位置を示す座標値であり、スタート位置からの距離(l)と、コースの幅方向の位置(w)でもよい。
2−6.参加メンバーの一致度判定手法
図8(A)〜(D)を用いて、参加メンバーの一致度の判定例について説明する。
図8(A)のG1はハンデ設定対象のゲームg1の参加メンバーがプレーヤP1、P2、P3、P4、P5であることを示している。G2は過去のゲームg2の参加メンバーがプレーヤP1、P2、P3、P4、P5であることを示している。このような場合、ハンデ設定対象のゲームg1と過去のハンデ設定対象のゲームg2は、参加メンバーが同一である。
図8(B)のG1はハンデ設定対象のゲームg1の参加メンバーがプレーヤP1、P2
、P3、P4、P5であることを示している。G3は過去のゲームg3の参加メンバーがプレーヤP1、P2、P3であることを示している。
ハンデ設定対象のゲームg1と過去のハンデ設定対象のゲームg3は、参加メンバーが3人(プレーヤP1、P2、P3)一致している。このような場合、当該一致人数(ここでは3人)とハンデ設定対象のゲームの参加メンバー数(ここでは5人)の比率は3:5であり、一致率60パーセントである。
図8(C)のG1はハンデ設定対象のゲームg1の参加メンバーがプレーヤP1、P2、P3、P4、P5であることを示している。G4は過去のゲームg4の参加メンバーがプレーヤP1、P2、P3、P6であることを示している。
ハンデ設定対象のゲームg1と過去のハンデ設定対象のゲームg4は、参加メンバーが3人(プレーヤP1、P2、P3)一致している。このような場合、当該一致人数(ここでは3人)とハンデ設定対象の前記ゲームの参加メンバー数(ここでは5人)の比率は3:5であり、一致率60パーセントである。
図8(D)のG1はハンデ設定対象のゲームg1の参加メンバーがプレーヤP1、P2、P3、P4、P5であることを示している。G5は過去のゲームg5の参加メンバーがプレーヤP1、P2であることを示している。
ハンデ設定対象のゲームg1と過去のハンデ設定対象のゲームg5は、参加メンバーが2人(プレーヤP1、P2)一致している。このような場合、当該一致人数(ここでは2人)とハンデ設定対象の前記ゲームの参加メンバー数(ここでは5人)の比率は2:5であり、一致率40パーセントである。
例えば一致率が50パーセント以上の過去のゲームのゲームデータを参考ゲームデータとする場合には、ゲームg2、g3、g4のゲームデータは参考ゲームデータとなり、ゲームg5のゲームデータは参考ゲームデータとならない。
図9(A)(B)を用いて、参加メンバーの一致度の他の判定例について説明する。
図9(A)のG1はハンデ設定対象のゲームg1の参加メンバーがプレーヤP1、P2、P3、P4、P5であることを示している。G5は過去のゲームg5の参加メンバーが、プレーヤP1、P2であることを示している。この場合の一致人数は2名である。当該一致人数(ここでは2人)とハンデ設定対象の前記ゲームの参加メンバー数(ここでは5人)の比率は2:5であり、一致率40パーセントである。
また図9(B)のG6はハンデ設定対象のゲームg6の参加メンバーがプレーヤP1、P2、P3であることを示している。G5は過去のゲームg5の参加メンバーがプレーヤP1、P2であることを示している。この場合も一致人数は2名である。当該一致人数(ここでは2人)とハンデ設定対象の前記ゲームの参加メンバー数(ここでは3人)の比率は2:3であり、一致率66パーセントである。
従って、例えば一致率が50パーセント以上の過去のゲームのゲームデータを参考にする場合には、図9(A)のケース(ハンデ設定対象の前記ゲームの参加メンバー数が5人の場合)ではゲームg5のゲームデータは参考データとならないが、図9(B)のケース(ハンデ設定対象の前記ゲームの参加メンバー数が3人の場合)ではゲームg5のゲームデータは参考データとなる。
2−7.ハンデ値の演算手法その1
図10を用いて、ハンデ値の演算手法の一例について説明する。
ハンデ設定対象のゲームの参加メンバーがプレーヤP1、P2、P3、P4、P5であり、この参加メンバーと完全一致する過去のゲームのゲームデータに基づいてハンデ値を設定する場合の例について説明する。
例えば、図5では参加メンバーがプレーヤP1、P2、P3、P4、P5のゲームデータが2件(241、247)存在する。この2件のゲーム結果はいずれもP1>P2>P3>P4>P5であるため(610参照)、図10に示すように、プレーヤP1、P2、P3、P4、P5のハンデ値をそれぞれ1、2、3、4、5としてもよい(612参照)。ハンデ値は、プレーヤ間の優劣状態を相対的に表した値である。
そしてこのハンデ値に基づいて、例えば速度、加速度、クラッシュの有無、コース外の走行可能地域に達した場合の戻り易さ等をプレーヤの状況に応じて有利又は不利に設定することや、後ろにいけば行くほど前に引っ張られるラバーバンド処理のラバーバンド強度の設定や、第1のアイテムや第2のアイテムの付与等を行ってもよい。
2−8.ハンデ値の演算手法その2(経過時間やサンプルデータ数を加味して設定する例)
プレーヤの直近の参考ゲームデータからの経過時間、プレーヤが参加した参考ゲームデータの数、プレーヤが参加した参考ゲームデータの頻度の少なくとも1つを求め、これら少なくとも1つを加味してハンデ値を設定してもよい。
図11、図12を用いて、経過時間やサンプルデータ数を加味してハンデ値を演算する例について説明する。
図11、図12は、参加メンバーがプレーヤP1、P2、P3、P4、P5であるハンデ設定対象のゲームのゲーム結果(順位)622とゲーム実施日付620を示している。
同図のケースでは、プレーヤごとに、プレーヤの直近の参考ゲームデータからの経過時間、プレーヤが参加した参考ゲームデータの数、プレーヤが参加した参考ゲームデータの頻度が異なっている。
例えば、ハンデ設定対象のゲームを行う日時がyy年12月1日である場合には、直近の参考ゲームデータからの経過時間は、プレーヤP1、P2、P3については2月であり、プレーヤP4については6月であり、プレーヤP5については11月である。直近の参考ゲームデータからの経過時間が長いほどそのデータ取得時と今回のゲーム時の実力の相関が低くなると考えると、直近の参考ゲームデータからの経過時間が長いほど、ハンデ値をデフォルト値に近づける補正を行ってもよい。
例えば、図11の場合、各プレーヤの平均順位がP1>P2>P3>P4>P5となるとすると(平均順位の算出手法については、様々な手法が考えられるので、仮にP1>P2>P3>P4>P5になった場合でもよい)、ハンデ値は図10のように設定してもよいが、直近の参考ゲームデータからの経過時間が所定の基準以上であるプレーヤP4、P5のハンデ値については、図12に示すようにデフォルト値(ここでは3)で補正してもよい(630、632参照)。
またプレーヤが参加した参考ゲームデータの数は、プレーヤP1、P2、P3については4つであり、プレーヤP4については2つであり、プレーヤP5については1つである
。参考ゲームデータの数が多いほどそのデータの平均値と今回のゲーム時の実力の相関が高くなるとすると、参考ゲームデータの数が多いほど、ハンデ値をデフォルト値に近づける補正を行ってもよい。
またプレーヤが参加した参考ゲームデータの頻度は、プレーヤP1、P2、P3については4つであり、プレーヤP4については2つであり、プレーヤP5については1つである。頻度が高いほどそのデータの平均値と今回のゲーム時の実力の相関が高くなるとすると、頻度が高いほど、ハンデ値をデフォルト値に近づける補正を行ってもよい。
2−9.ハンデ値の演算手法その3(実行中のゲーム状況も加味して設定する例)
上記実施の形態では、過去のゲームデータに基づいてハンデ値を演算する場合を例にとり説明したがそれに限られず、ハンデ設定対象のゲームの実行中のゲームデータに基づき、設定されているハンデ値を補正してもよい。
図13を用いて、実行中のゲームのゲームデータ(ゲーム状況を示すパラメータ)に基づき、ハンデ値(過去のゲームデータに基づき設定されたハンデ値)を補正する例について説明する。図13の410は、過去のゲームデータに基づき設定されたハンデ値である。実行中のゲームのゲームデータ(ゲーム状況を示すパラメータ、ここでは順位)が、P1>P2>P5>P4>P3である場合(412参照)、プレーヤP3については、過去のゲームデータに基づいて設定したハンデ値「3」を、実行中の過去のゲームデータに基づいて設定したハンデ値「5」との平均値「4」に補正してもよい(414参照)。またプレーヤP5については、過去のゲームデータに基づいて設定したハンデ値「5」を実行中のゲームデータに基づいて設定したハンデ値「3」との平均値「4」に補正してもよい(416参照)。
このようにすると、過去のプレーヤの技量だけでなく、現在ゲーム中のプレーヤの技量を反映したハンデ設定を行うことができる。
また参考ゲームデータがないプレーヤについて、実行中のゲームのゲームデータに基づき、ハンデ値を設定してもよい。
図14を用いて、参考ゲームデータがないプレーヤについて、実行中のゲームのゲームデータに基づき、ハンデ値を設定する例について説明する。
例えば参加メンバーがプレーヤP1、P2、P3、P4、P5であるハンデ設定対象のゲームの参考ゲームデータにプレーヤP4のゲームデータが含まれていなかったとする(420参照)。このような場合、ゲーム開始前にプレーヤP1、P2、P3、P5については過去のゲームデータに基づいてハンデ値を求め、プレーヤP4についてはデフォルト値(ここでは「3」)を割り当ててもよい(422参照)。
そしてゲーム実行中のゲームデータ(424参照)に基づいて設定したハンデ値「5」(426参照)に基づき、プレーヤP4のハンデを更新する(428参照)。更新タイミングは、ゲーム開始後所定期間経過後でもよい。また更新回数は1回に限られない。所定のタイミングや周期でゲーム中に複数回変更するようにしてもよい。
2−10.ハンデ値の演算手法その4(プレーヤの属性等を加味して設定する例)
また参考ゲームデータがないプレーヤについて、撮影データの画像認識の結果得られた属性(性別や年齢)や身長等のデータに基づき、ハンデを設定してもよい。
図15を用いて、撮影データの画像認識の結果により得られた属性(性別や年齢)や身
長等のデータに基づいてハンデを設定する例について説明する。
例えば参加メンバーがプレーヤP1、P2、P3、P4、P5であるハンデ設定対象のゲームの参考ゲームデータにプレーヤP4のゲームデータが含まれていなかったとする(430参照)。このような場合、ゲーム開始前にプレーヤP1、P2、P3、P5については過去のゲームデータに基づいてハンデ値を求める。
そして参考ゲームデータがないプレーヤP4について、撮影データの画像認識により得られた属性または前記身長に基づいてハンデを設定してもよい。例えばプレーヤP4の身長が130センチであった場合(基準身長以下であるのでプレーヤP4は子供であると判断する)や、プレーヤP4が子供であった場合、所定のハンデ値(例えば最高レベルのハンデ値、ここでは「5」)を与えるようにしてもよい(432参照)。
このようにすると、参考ゲームデータがないプレーヤについても、属性または前記身長に基づいてハンデ設定を行うことができる。
また、参考ゲームデータがあるプレーヤについても、撮影データの画像認識により得られた属性または前記身長に基づき、ハンデ(過去のゲームデータに基づき設定されたハンデ)を補正してもよい。
図16を用いて、撮影データの画像認識の結果により得られた属性(性別や年齢)や身長等のデータに基づいてハンデを補正する例について説明する。
図16の452は、過去のゲームデータ450に基づき設定されたハンデ値である。撮影データの画像認識の結果により得られた各プレーヤの性別が、P1(男)、P2(男)、P3(男)、P4(女)、P5(男)である場合(454参照)、プレーヤP4は性別が女性であるため、ハンデ値に「+1」の補正を施すようにしてもよい(456参照)。
なお撮影データの画像認識の結果により得られた各プレーヤの属性が、P1(大人)、P2(大人)、P3(大人)、P4(子供)、P5(大人)である場合、プレーヤP4は属性が子供であるため、ハンデ値に「+1」の補正を施すようにしてもよい。
このようにすると、参考ゲームデータに基づいてハンデを設定したプレーヤについても、属性または身長に基づいてハンデの補正を行うことができる。プレーヤが女性や子供(年齢が所定の閾値より低い)である場合には、より大きなハンデを与えるように補正してもよい。
2−11.ハンデの演算手法その5(順位の変化度合を加味して設定する例)
次に、参考ゲームデータにおける順位(所定の要素の一例)に基づきハンデを設定する際に、順位の変化度合を加味してハンデを設定する例について説明する。
所定の要素とは、ゲーム評価にかかるパラメータ(得点、順位、タイム)等でもよい。参考ゲームデータにおけるプレーヤの得点や順位やタイム等の平均値に基づきハンデを設定するような場合に、最近になるにつれ得点や順位やタイム等が急上昇しているようなプレーヤについては、平均値よりも技量が高くなっている可能性が高いが、本実施の形態では、このようなケースも考慮したハンデ設定を行うことができる。
図17は、参考ゲームデータにおける各プレーヤの順位の変化の様子を示した図である。
各プレーヤの順位の変化の度合を、初回データと最終データの値の差で判断する場合、プレーヤP1については0、プレーヤP2については約+1、プレーヤP3については+1、プレーヤP4については+1、プレーヤP5については−3である。変化の度合が所定の基準を満たす場合にハンデの調整を行ってもよく、順位の上昇が著しい場合にハンデを減らす補正を行うようにしてもよい。例えば初回データと最終データの差が−3以下(3位以上順位が上昇)の場合にハンデ値を減らす補正をしてもよい。図17の場合、プレーヤP5は3位以上順位が上昇しているので、過去のゲームデータから求めたハンデ値に対して例えば−1する補正を行ってもよい。
すなわち、過去のゲームデータが示す順位が460のような場合、過去の4回のゲームデータの平均順位が、P1>P2>P3=P5>P4として(462参照)の場合、プレーヤP1、P2、P3、P4のハンデ値として、1、2、3.5、5を設定してもよい(464参照)。しかしプレーヤP5については、過去のゲームデータに基づいて演算したハンデ値3.5を「−1」する補正を行った値「2.5」を設定してもよい(466参照)。
2−12.ハンデ値の演算手法その6(過去のハンデを加味して設定する例)
次に図18を用いて、過去のゲームにおいてプレーヤに設定されているハンデを加味してハンデを設定する例について説明する。
例えば過去の参考ゲームデータにおける順位がP1>P2>P3>P4>P5であり(470参照)、その時に設定されていたハンデがP1(弱)、P2(弱)、P3(中)、P4(中)、P5(強)であったとする(472参照)。このような場合、過去の参考ゲームデータにおける順位により演算したハンデ値に過去に設定されていたハンデ値を加えた内容のハンデを設定してもよい(474参照)。
2−12.ハンデ値に基づくハンデの設定
上記実施の形態では参加メンバーが5人のゲームのハンデ値を演算する手法についてハンデ値として1〜5を設定する場合を例にとり説明したがこれに限られない。上記実施の形態で説明したハンデ値は、プレーヤ間の優劣状態を相対的に表した値である。従って実際のハンデの設定は上記ハンデ値に基づき所定のアルゴリズムに従って、ラバーバンド強度や移動体性能等のパラメータの調整やアイテムの付与等を行うことによって実現される。
例えば、プレーヤP1、P2、P3、P4、P5のハンデ値がそれぞれ、1、2、3、4、5であり、ラバーバンド強度として「強」「中」「弱」が設定可能な場合、「ハンデ値が、最上位の人のラバーバンド強度を「強」に設定する」というアルゴリズムである場合には、5人中、ハンデ値が最上位のプレーヤP5のラバーバンド強度を「強」に設定する。
また例えば、プレーヤP1、P2、P3、P4、P5のハンデ値がそれぞれ、1、2、3、4、5であり、「ハンデ値が、メンバーの平均値より大きい場合に第1のアイテムを付与する」というアルゴリズムである場合には、5人のハンデの平均値が「3」であり、ハンデ値が平均値「3」より大きいプレーヤP4、P5に第1のアイテムが付与される。
その他、ハンデ値に基づき、移動体の性能を、「超高性能」「高性能」「普通」のいずれかに設定するようにしてもよい。
なお、ハンデ値を求めずに、過去のゲームデータに基づき直接的にラバーバンド強度や移動体性能等のパラメータの調整やアイテムの付与等を行ってもよい。
また、上記実施の形態ではレースゲームにおけるハンデの設定を例にとり説明したが、それに限られない。シューティングゲームや格闘技ゲームやアクションゲームやロールプレイングゲームのハンデの設定にも適用可能である。
例えばシューティングゲーム等では、ハンデ値に基づき、武器の威力を強くしたり、命中率、ホーミング効果を高くしたり、武器への耐性(バリア)や、武器の攻撃回避率を高めたりしてもよい。
また上記実施の形態では、過去のゲームデータの中で順位情報(所定の要素の一例)に着目してハンデの設定を行っている場合を例にとり説明したが、それに限られない。ハンデ設定の際に用いるゲームデータは、過去のゲームにおける成績でもよい。例えばレースゲームであれば順位やタイムや走行距離でもよい。またシューティングゲームでは、ヒット数や倒した敵の数でもよい。格闘ゲームであれば、勝敗や能力値や勝敗決定までに要する時間や攻撃成功率でもよい。
3.本実施の形態の処理の流れ
図19は、本実施の形態のハンデ設定処理の流れについて説明するためのフローチャートである。
まずハンデ設定対象のゲームの参加メンバーのプレーヤ識別情報を取得する(ステップS10)。
プレーヤ識別情報は、プレーヤの個人識別情報が何らかの形式で入力されることにより取得するようにしてもよい。例えばプレーヤのIDカードを読み取る形式でもよい。またプレーヤの撮影画像や音声を取得して、個人認証を行う形式でもよい。
次に、プレーヤ識別情報に基づき過去のゲームデータを検索する(ステップS20)。検索する過去のゲームデータは、同じゲームについて過去に実行されたゲームのゲームデータでもよい。例えば同じゲームについて複数のステージやコースがある場合には、同じゲームで、ステージやコースが同じ条件で過去に実行されたゲームのゲームデータでもよい。
過去のゲームデータは、ゲームシステムが通信可能なサーバのデータベースに記憶されているものでもよいし、ゲームシステムが有するデータベースに記憶されているものでもよい。
過去のゲームデータがハンデ設定対象のゲームの参加メンバーと同一のメンバーで行ったゲームのゲームデータであれば、そのゲームデータを参考ゲームデータとして収集する(ステップS30、S50)。
過去のゲームデータがハンデ設定対象のゲームの参加メンバーと一致度が高いメンバーで行ったゲームのゲームデータであれば、そのゲームデータを参考ゲームデータとして収集する(ステップS40、S50)。ハンデ設定対象のゲームの参加メンバーと一致度が高いメンバーで行ったゲームか否かは、図5〜図9で説明した手法により判定してもよい。
過去のゲームデータの検索が終了したら(ステップS60)、参考ゲームデータに基づき、参加メンバーのハンデを設定する(ステップS70)。参加メンバーに対するハンデは、図10〜図18で説明した手法により設定してもよい。
そして、設定されたハンデを用いてゲームを実行する(ステップS80)。
なお、ゲーム状況に応じて、設定されたハンデを補正し、補正したハンデを用いてゲームを実行してもよい(ステップS90)。
4.クライアント/サーバシステム
本実施形態のゲームシステムは、単体の装置によって各ゲーム処理を実行することもできるが、サーバ装置と複数のクライアント装置から構成されるシステム(以下、「クライアント/サーバシステム」という。)に適用することもできる。
この場合に、クライアントサーバシステムは、図20に示すように、基本的なゲーム処理を行うサーバ装置Sと、レースゲームに参加する各プレーヤから操作データを受信し、かつ、サーバ装置Sと必要なデータ及び命令の送受信を行う複数のクライアント装置C(C−1、C−2、・・・C−N)とから構成される。
本例においてサーバ装置Sは、クライアント装置Cに対して、例えば、ブロードキャスト方式でデータ通信を行うことによって、上述のように、ゲーム開始条件が満たされた場合にゲームを開始する処理やゲームを進行させる処理などレースゲームを実行する際に必要な各種の処理を行う。
具体的には、このサーバ装置Sは、各レースゲームの実行中には、各クライアント装置Cを識別するための識別データに基づいて各クライアント装置Cとデータパケットやコマンドパケットの送受信を行う。
また、このサーバ装置Sは、各クライアント装置Cの識別データに基づいて、各プレーヤにおける操作データの受信、各プレーヤの個人プレイ処理、合体イベント処理、複数のプレーヤの協力プレイ処理、分離イベント処理、評価処理、及び各種処理結果の各クライアント装置Cへの送信など各種の処理を行う。
各クライアント装置Cは、入力部160を介して受信した操作データを識別データとともにサーバ装置Sに送信するとともに、サーバ装置Sで実行された処理結果のデータや表示部190に出力するゲーム画像を描画するためのデータを受信する。
5.ピアツーピアシステム
本実施形態のゲームシステムは、単体の装置によって各ゲーム処理を実行することもできるが、複数の端末装置のみから構成され、各端末装置にて連動させてゲーム処理を実行するシステム(以下、「ピアツーピアシステム」という。)に適用することもできる。
この場合には、ピアツーピアシステムは、図21に示すように、必要なデータ及びコマンドを相互に送受させつつ、個々にゲーム処理を実行しつつも各ゲーム処理を連動させるように制御可能な複数の端末装置T(T−1、T−2、T−3、・・・T−N)から構成される。
各端末装置Tは、他の端末装置Tと連動しつつ、上述のように、ゲーム開始条件が満たされた場合にゲームを開始する処理やゲームを進行させる処理などレースゲームを実行する際に必要な各種の処理を行うようになっている。
具体的には、各端末装置Tは、各レースゲームの実行中には、他の端末装置Tを識別するための識別データ(グループ設定情報を含む)に基づいて、それぞれデータパケット及
びコマンドパケットの送受信を行うようになっており、当該識別データに基づいて、各プレーヤにおける操作データの受信、各プレーヤの個人プレイ処理、合体イベント処理、複数のプレーヤの協力プレイ処理、分離イベント処理、評価処理、及び各種処理結果の各クライアント装置Cへの送信など各種の処理を行う。
特に、この各端末装置Tは、プレーヤの操作データが入力部160を介して各端末装置Tに入力されると、当該入力された操作データに基づいて各種のゲーム処理を実行するとともに、当該入力された操作データを他の端末装置Tに送信する。
また、この各端末装置Tは、入力部160を介して入力された操作データに基づいて自己の装置が担当する移動体をオブジェクト空間において移動させる制御を行うとともに、他の端末装置Tから送信された操作データに基づいて該当する移動体をオブジェクト空間において移動させる制御も行う。
すなわち、ピアツーピアシステムの場合には、各端末装置Tは、当該各端末装置Tにて操作データが入力される移動体(すなわち、担当する移動体)以外の移動体の操作データについては、他の端末装置Tから受信し、入力部160を介して入力された操作データと受信した操作データに基づいて上述した各種のゲーム処理を行うようになっている。
なお、上述のピアツーピアシステムでは、端末装置T毎に、入力された操作データと受信した操作データに基づいて各種のゲーム処理を行うようになっているが、勿論、操作データだけでなく各プレーヤの個人プレイ処理、合体イベント処理、複数のプレーヤの協力プレイ処理、分離イベント処理、評価処理に関するデータの送受信を行うことができる。
また、上記実施形態では、車両を操作するレースゲームを例にとり説明したがこれに限られず、シューティングゲームや格闘ゲーム等の各種ゲーム等に適用可能である。
そして、本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。