(57)【特許請求の範囲】
【請求項１】
複数のゲーム基板と複数の入力部とを備え、複数のゲーム基板が相互に接続されると共に、複数の入力部が当該複数のゲーム基板それぞれと接続される対戦ゲームシステムであって、
入力部の入力情報に基づいて、プレーヤのエントリーを受け付けるエントリー受け付け部と、
プレーヤのエントリーを受け付けた入力部の入力情報に基づいてゲーム演算を行わせるゲーム基板を、前記複数のゲーム基板の中から選択するゲーム基板選択部とを含み、
前記ゲーム基板選択部が、
第１のプレーヤ、第２のプレーヤ各々がコンピュータプレーヤと対戦する場合には、第１のプレーヤのエントリーを受け付けた第１の入力部に対する第１のゲーム基板を選択すると共に、第２のプレーヤのエントリーを受け付けた第２の入力部に対する第２のゲーム基板を選択する処理を行い、
第１のプレーヤと第２のプレーヤとが対戦する場合には、当該第１の入力部、当該第２の入力部に対して共通の１つのゲーム基板を選択することを特徴とするゲームシステム。
【請求項２】
請求項１において、
前記エントリー受け付け部が、
エントリーを受け付ける際にマッチング要求を受け付け、マッチング要求を受け付けた場合に、第１のプレーヤと第２のプレーヤとをマッチングさせることを特徴とするゲームシステム。
【請求項３】
請求項２において、
プレーヤの識別情報に対応づけてプレーヤの技量情報を記憶する記憶部とを更に含み、
エントリー受け付け部が、
エントリーを受け付ける際にプレーヤの識別情報を受け付け、マッチング要求を受け付けた場合に、プレーヤの識別情報に対応する技量情報に基づいて、第１のプレーヤと第２のプレーヤとをマッチングさせることを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステムに関する。
【背景技術】
【０００２】
従来から、プレーヤが、オブジェクト空間のプレーヤキャラクタを操作して、相手プレーヤが操作する相手プレーヤキャラクタと対戦する対戦ゲームを行うゲームシステムが存在する。特に、格闘ゲームは、現実世界の格闘技をリアルに仮想体験できるために人気が高い（例えば、特許文献１）。
【０００３】
図１は、従来の格闘ゲームシステムが備えるモニタ、コントローラ、ゲーム基板の接続方式の一例を示す。従来では、対戦するプレーヤＡとプレーヤＢとが対面してゲームプレイを行うもので、１つのゲーム基板にプレーヤＡ側のモニタとコントローラと、プレーヤＢ側のモニタとコントローラとが接続される。つまり、従来の格闘ゲームシステムは、各プレーヤ用のコントローラから出力される入力情報（入力信号）に基づいて１つのゲーム基板でゲーム演算を行い、ゲーム演算によって生成される同一の画像を各プレーヤ用のモニタに出力させる処理を行っていた。
【特許文献１】特開２００１−０４６７４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように、１つのゲーム基板が、各プレーヤのコントローラからの入力情報に基づきゲーム演算を行っていた理由は、プレーヤからの入力をゲームに直ぐに反映させるためである。特に、格闘ゲームでは、プレーヤの入力のタイミングが勝敗を左右するので、入力のレスポンスが遅い場合、プレーヤに不快感を与えることになってしまうからである。
【０００５】
しかし、図１に示すように、従来の格闘ゲームのゲームシステムでは、次のような問題が生じていた。
【０００６】
例えば、プレーヤＡがコンピュータプレーヤと対戦ゲームを行っている場合には、プレーヤＢはコンピュータプレーヤと対戦することはできないという問題がある。つまり、対面するプレーヤ同士が互いに独立してコンピュータプレーヤと対戦ゲームを行うことができないという問題が生じていた。これは、対面するプレーヤＡ、Ｂそれぞれのコントローラ、モニタが１つのゲーム基板を共有しているので、一方のプレーヤが既にコンピュータプレーヤと対戦するゲーム演算を行っている場合には、他方のプレーヤがコンピュータプレーヤと対戦するゲーム演算を行うことができないからである。
【０００７】
そのため、プレーヤＡがコンピュータプレーヤと対戦している場合に、プレーヤＢが対戦ゲームにエントリーすると、プレーヤＢ側が空き台（空きの状態）になるのを防ぐために、プレーヤＡはコンピュータプレーヤとの対戦を中断させてプレーヤＢとの対戦を開始させる処理を行っていた。
【０００８】
また、空き台を防ぐために、図２に示すように、ゲーム基板をプレーヤＡ、Ｂそれぞれに用意し、プレーヤＡ、Ｂそれぞれが使用するモニタとコントローラとを各プレーヤ用のゲーム基板に接続させて、ゲーム基板を相互に接続させる接続方式のゲームシステムを採用することも考えられる。しかし、プレーヤＡ側のゲーム基板は、プレーヤＢ側のゲーム基板から、プレーヤＢのコントローラから入力された入力情報を受信する処理を行うので、プレーヤＢのコントローラから入力された入力情報をゲームに反映させるまでに、数フレーム（例えば６０ｆｐｓの場合、１／６０〜４／６０秒）かかってしまい、入力のレスポンスが遅延するという問題が必然的に生じてしまう。
【０００９】
本発明は、以上の課題に鑑みたものであり、対戦ゲームシステムにおいて、各プレーヤからの入力をゲームに反映させるまでのラグの問題を回避しながら、従来よりもバリエーションのあるゲーム環境を実現できるゲームシステムを提供することにある。
【課題を解決するための手段】
【００１０】
（１）本発明は、
複数のゲーム基板と複数の入力部とを備え、複数のゲーム基板が相互に接続されると共に、複数の入力部が当該複数のゲーム基板それぞれと接続される対戦ゲームシステムであって、
入力部の入力情報に基づいて、プレーヤのエントリーを受け付けるエントリー受け付け部と、
プレーヤのエントリーを受け付けた入力部の入力情報に基づいてゲーム演算を行わせるゲーム基板を、前記複数のゲーム基板の中から選択するゲーム基板選択部とを含み、
前記ゲーム基板選択部が、
第１のプレーヤ、第２のプレーヤ各々がコンピュータプレーヤと対戦する場合には、第１のプレーヤのエントリーを受け付けた第１の入力部に対する第１のゲーム基板を選択すると共に、第２のプレーヤのエントリーを受け付けた第２の入力部に対する第２のゲーム基板を選択する処理を行い、
第１のプレーヤと第２のプレーヤとが対戦する場合には、当該第１の入力部、当該第２の入力部に対して共通の１つのゲーム基板を選択することを特徴とするゲームシステムに関する。
【００１１】
本発明によれば、プレーヤからの入力をゲームに反映させるまでのラグの問題を回避しながら、第１のプレーヤ、第２のプレーヤ各々が独立してコンピュータプレーヤと対戦ゲームを行うこともできるし、第１のプレーヤと第２のプレーヤとが対戦ゲームを行うこともできる。つまり、本発明によれば、従来よりもバリエーションのあるゲーム環境を実現できる。
【００１２】
（２）また、本発明のゲームシステムは、
前記エントリー受け付け部が、
エントリーを受け付ける際にマッチング要求を受け付け、マッチング要求を受け付けた場合に、第１のプレーヤと第２のプレーヤとをマッチングさせるようにしてもよい。
【００１３】
（３）また、本発明のゲームシステムは、
プレーヤの識別情報に対応づけてプレーヤの技量情報を記憶する記憶部とを更に含み、
エントリー受け付け部が、
エントリーを受け付ける際にプレーヤの識別情報を受け付け、マッチング要求を受け付けた場合に、プレーヤの識別情報に対応する技量情報に基づいて、第１のプレーヤと第２のプレーヤとをマッチングさせるようにしてもよい。
【発明を実施するための最良の形態】
【００１４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１５】
１．構成
（１）ゲームシステムの構成
図３に本実施形態のゲームシステムが備えるゲーム基板１０と、入力部１５０、モニタ１９０、音出力部１９２の機能ブロック図を示す。なお本実施形態のゲームシステムは図３の構成要素（各部）の一部を省略した構成としてもよい。
【００１６】
入力部１５０は、操作部１６０と、コイン投入部１６１、電子マネー制御部１６２とを備える。
【００１７】
操作部（コントローラ）１６０は、プレーヤがオブジェクト（キャラクタ、移動体等）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイなどにより実現できる。
【００１８】
また、操作部１６０は、加速度センサや撮像部、或いは角速度を検出するジャイロセンサを備えた入力機器によってプレーヤからの入力情報（操作情報）を入力できるものでもよい。例えば、入力機器は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力機器には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力機器には、入力機器と一体化されているゲーム装置、携帯型ゲーム装置、携帯電話なども含まれる。
【００１９】
例えば、入力機器に加速度センサが備えられている場合には、３軸（Ｘ軸、Ｙ軸、Ｚ軸）の加速度を検出する。すなわち、加速度センサは、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサは、５ｍｓｅｃ毎に加速度を検出している。また、加速度センサは、１軸、２軸、６軸の加速度を検出するものであってもよい。また、入力機器に備えられた加速度センサによって検出された加速度（例えば、重力加速度）に基づいて、入力機器の傾き（傾きの方向、大きさ）を求めてもよい。なお、加速度センサから検出された加速度は、入力機器の通信部によってゲーム装置（本体装置）に送信される。
【００２０】
また、入力機器に撮像部、赤外線フィルタ、レンズ、撮像素子（イメージセンサ）、画像処理回路を含む場合には次のように処理を行う。例えば、赤外線フィルタは、入力装置の前方に配置され、表示部１９０に関連付けられて配置されている光源から入射する光から赤外線のみを通過させる。レンズは、赤外線フィルタを透過した赤外線を集光して撮像素子へ出射する。撮像素子は、例えば、ＣＭＯＳセンサやＣＣＤのような固体撮像素子であり、レンズが集光した赤外線を撮像して撮像画像を生成する。撮像素子で生成された撮像画像は、画像処理回路で処理される。例えば、撮像素子から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報（特定位置）を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を複数検出する。また、複数の光源を利用して撮像画像上の位置情報を複数検出し、検出された位置情報の基準軸からの回転角度（傾き）を求め、光源に対する入力機器自体の傾きを求めてもよい。なお、検出した撮像画像上の位置情報は、通信部によって、本体装置に送信される。
【００２１】
コイン投入部１６１は、操作部１６０に対応づけて設置されたコイン投入口からコイン（お金、メダル）の投入を検出する処理を行う（検出信号を発生させる処理を行う）。また、プレーヤからのコイン返還の要求を受け付けると、コインを返還する処理を行う。
【００２２】
電子マネー制御部１６２は、操作部１６０に対応づけて設置された、カード読み取り装置が、プリペイド方式のカード、クレジット方式のカードに記録されている情報を読み取り、現金を使用せずに、ゲームの対価を受け付ける処理を行うものである。また、プレーヤからの返還の要求を受け付けると、受け付けた対価を無効にする処理を行う。
【００２３】
モニタ（表示部）１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。
【００２４】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２５】
ゲーム基板１０は、処理部１００、記憶部１７０、情報記憶媒体１８０、通信部１９６を備える。
【００２６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。なお、本実施形態の記憶部１７０は、プレーヤの識別情報に対応づけてプレーヤの技量情報を記憶する処理を行う。
【００２７】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００２８】
通信部１９６は外部（例えば他のゲーム基板）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２９】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信してゲーム基板を機能させる場合も本発明の範囲内に含む。
【００３０】
処理部１００（プロセッサ）は、操作部１６０からの入力情報（操作データ）やプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
【００３１】
この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３２】
処理部１００は、ゲーム演算部１１１、通信制御部１１２、ネットワーク設定部１１３、エントリー受け付け部１１４、表示制御部１１５、ゲーム基板選択部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３３】
ゲーム演算部１１１は、種々のゲーム演算処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始させる処理、ゲームを進行させる処理、ゲームの勝敗判定を行う処理、ゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。
【００３４】
ゲーム演算部１１１は、オブジェクト空間配置部、移動・動作処理部、仮想カメラ制御部を含む。
【００３５】
オブジェクト空間配置部は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３６】
移動・動作処理部は、オブジェクトの移動・動作演算を行う。すなわち操作部１６０によりプレーヤが入力した入力情報（操作データ）や、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求める処理を行う。なおフレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【００３７】
仮想カメラ制御部は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
【００３８】
つまり、本実施形態の仮想カメラ制御部は、プレーヤからの入力情報に基づき、軸回りに仮想カメラを移動させると共に、仮想カメラの向きを制御するようにしてもよい。
【００３９】
また、仮想カメラ制御部は、仮想カメラを、予め決められた回転角度で回転させてもよい。この場合には、仮想カメラの位置又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４０】
通信制御部１１２は、他のゲーム基板、サーバに送信するパケットを生成する処理、パケット送信先のゲーム基板のＩＰアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
【００４１】
パケットとは、ネットワークを介して通信する固まりであり、送信元ＩＰアドレス、送信先ＩＰアドレスを含むネットワークに必要なヘッダーと、送信元において書き込まれたデータがペイロードとからなるデータのことをいう。
【００４２】
本実施形態の通信制御部１１２は、画像を描画するフレームレートに応じてパケットを生成し、他のゲーム基板に生成したパケットを送信する処理を行う。具体的に説明すると、例えば、フレームレートが６０ｆｐｓである場合には、１／６０秒毎に、パケットのヘッダーの送信先ＩＰアドレスと送信先ポート番号に、他のゲーム基板のＩＰアドレスと使用するポート番号指定し、ヘッダーの送信元のＩＰアドレスと送信元ポート番号に、自ゲーム基板のＩＰアドレスと使用するポート番号を指定して、ゲームデータを含むデータをパケットのペイロードに入力し、生成したパケットを他のゲーム基板に送信する処理を行う。
【００４３】
ここで、ゲームデータとは、プレーヤからの入力情報、プレーヤキャラクタの移動情報などである。
【００４４】
また、本実施形態の通信制御部１１２は、他のゲーム基板から送信されたパケットを受信する処理を行う。そして、受信したパケットを解析し、パケットのペイロードに含まれるゲームデータを取得する。
【００４５】
また本実施形態の通信制御部１１２は、複数のゲーム基板間のゲームプレイが終了するまで、ゲームデータを互いに送受信する処理を行うことができる。
【００４６】
ネットワーク設定部１１３は、ゲームシステムで必要となるネットワーク情報を取得し、管理する処理等を行う。特に、本実施形態のネットワーク設定部１１３は、各ゲーム基板に個別に付与されるゲーム基板識別情報（オンラインゲームに参加できるゲーム基板を識別するために個別に付与されたデータ）と、ゲーム基板識別情報に対応付けられたパケットの送信先を指定する宛先情報とを取得し、管理する処理を行う。
【００４７】
また、宛先情報とは、ゲームシステムを構成する各ゲーム基板のＩＰアドレス、ポート番号とすることができる。ＩＰアドレスは、インターネット上もしくはＷＡＮで特定のゲーム基板を特定するためのグローバルＩＰアドレスとしてもよいし、ＬＡＮで特定のゲーム基板を特定するためのプライベートＩＰアドレスとしてもよい。
【００４８】
エントリー受け付け部１１４は、入力部の入力情報に基づいて、プレーヤのエントリーを受け付ける処理を行う。
【００４９】
具体的には、エントリー受け付け部１１４は、コイン投入部１６１によって所定枚数のコインの投入が検出された場合に、プレーヤからのスタートボタンの入力情報に基づいて、プレーヤからのエントリーを受け付ける処理を行う。なお、コイン投入部１６１によって所定枚数のコインの投入が検出された場合にプレーヤのエントリーを受け付ける処理を行ってもよい。
【００５０】
また、エントリー受け付け部１１４は、電子マネー制御部１６２において、対価を受け付けた場合に、プレーヤからのスタートボタンの入力情報に基づいて、プレーヤからのエントリーを受け付ける処理を行う。なお、電子マネー制御部１６２によって対価を受け付けた場合に、プレーヤのエントリーを受け付ける処理を行ってもよい。
【００５１】
エントリー受け付け部１１４は、エントリーを受け付ける際にマッチング要求を受け付け、マッチング要求を受け付けた場合に、第１のプレーヤと第２のプレーヤとをマッチングさせる処理を行う。かかる場合には、エントリーを受け付ける際にプレーヤの識別情報を受け付け、マッチング要求を受け付けた場合に、プレーヤの識別情報に対応する技量情報に基づいて、第１のプレーヤと第２のプレーヤとをマッチングさせる処理を行う。
【００５２】
表示制御部１１５は、種々のデータ、例えばゲーム演算結果（勝敗結果）を表示させる制御を行う。また、モードの選択画面を表示させる処理や、マッチング要求可能なプレーヤの情報（プレーヤ名、レベル、ゲーム成績など）を表示させる処理などを行う。
【００５３】
ゲーム基板選択部１１６は、プレーヤのエントリーを受け付けた入力部の入力情報に基づいてゲーム演算を行わせるゲーム基板を、複数のゲーム基板の中から選択する処理を行う。
【００５４】
ゲーム基板選択部１１６は、第１のプレーヤ、第２のプレーヤ各々がコンピュータプレーヤと対戦する場合には、第１のプレーヤのエントリーを受け付けた第１の入力部に対する第１のゲーム基板を選択すると共に、第２のプレーヤのエントリーを受け付けた第２の入力部に対する第２のゲーム基板を選択する処理を行い、第１のプレーヤと第２のプレーヤとが対戦する場合には、当該第１の入力部、当該第２の入力部に対して共通の１つのゲーム基板を選択する処理を行う。
【００５５】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００５６】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００５７】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００５８】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５９】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００６０】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００６１】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００６２】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７９（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７９に格納されるＺ値を参照する。そして参照されたＺバッファ１７９のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７９のＺ値を新たなＺ値に更新する。
【００６３】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００６４】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００６５】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２（１９２Ａ、１９２Ｂ）に出力する。
【００６６】
２．本実施形態の手法
図４は、本実施形態の対戦ゲームシステムが備えるモニタ、コントローラ（入力部の一例）、ゲーム基板の接続方式の一例を示す。本実施形態では、複数のゲーム基板と、複数のコントローラ、複数のモニタとを備える。そして、複数のゲーム基板が相互に接続されると共に、複数のコントローラが複数のゲーム基板それぞれと接続され、複数のモニタが複数のゲーム基板それぞれと接続されるゲームシステムを採用している。したがって、本実施形態のゲームシステムでは、入力のレスポンスの遅延というラグを発生させることなく、従来よりもバリエーションに富んだゲーム環境をプレーヤに提供することができる。以下、本実施形態の詳細について説明する。
【００６７】
（１）エントリーを受け付ける処理
本実施形態のゲームシステムでは、対価を受け付けてプレーヤからのエントリーを受け付ける処理を行っている。具体的には、コイン投入口からコイン（現金、メダル等）の投入を検出する処理を行い、コインの投入を検出すると対価を受け付けたものとみなし、コントローラのスタートボタンの入力情報に基づいてプレーヤのエントリーを受け付ける処理を行う。つまり、複数のコントローラのうち、プレーヤが入力操作を行うコントローラを、エントリー受け付け時に検知することができる。
【００６８】
なお、コイン投入口を予めコントローラに対応づけて設置し、コイン投入口からコインの投入を検出した場合に、どのコントローラによってプレーヤがエントリーしたのかを判断できるようにしてもよい。また、本実施形態では、電子マネーによって対価を受け付ける処理を行ってもよい。
【００６９】
また、本実施形態の対戦ゲームシステムは、勝利したプレーヤが継続して対戦ゲームを続行できる勝ち抜き方式を採用している。つまり、勝利したプレーヤに対しては、対価を受け付けることなくゲームを行うことができる。
【００７０】
一方、対戦ゲームに負けたプレーヤは、ゲームオーバーの処理がなされる。そのため、負けたプレーヤが再度対戦ゲームを行うためにはエントリーを行う必要がある。
【００７１】
本実施形態では、図５（Ａ）に示すように、コントローラ識別情報に対応づけて、モニタ識別情報と、デフォルトのゲーム基板識別情報とを予め対応づけておき、プレーヤがエントリーしたときのコントローラ識別情報に対応するデフォルトのゲーム基板が、エントリーを受け付ける処理を行っている。
【００７２】
なお、本実施形態のゲームシステムは、複数のゲーム基板のうち少なくとも１つのホスト機能を兼備するゲーム基板（以下、「ホストゲーム基板」という）が、ホストゲーム基板に接続される各コントローラからのスタートボタンの入力情報に基づいて、プレーヤのエントリーを受け付ける処理を行ってもよい。かかる場合には、複数のコントローラのうち、いずれのコントローラによってプレーヤがエントリーしたのかを、記憶させるようにしてもよい。また、ゲームシステムがサーバを備えている場合には、サーバが、ホストゲーム基板の処理を行うようにしてもよい。
【００７３】
（２）モードの選択を受け付ける手法
本実施形態のゲームシステムは、プレーヤからのエントリーを受け付けると、コンピュータプレーヤ対戦モード（練習モードも含む）、店舗内対戦モード、全国対戦モードのうち、いずれか１つのモードの選択を受け付ける処理を行う。
【００７４】
ここで、コンピュータプレーヤ対戦とは、プレーヤの操作対象のプレーヤキャラクタと、ゲーム基板内に予め用意された所与のアルゴリズムに基づいて処理されるコンピュータプレーヤと対戦ゲームを行わせるモードである。店舗内対戦モードとは、店舗内のプレーヤ同士をマッチングさせて対戦ゲームを行わせるモードである。また、全国対戦モードとは、全国の各店舗の複数プレーヤの中から対戦するプレーヤ同士をマッチングさせて、インターネットを介して接続される複数のゲーム基板が互いに通信して対戦ゲームを行わせるモードである。
【００７５】
本実施形態では、図５（Ａ）に示すように、プレーヤからのエントリーを受け付けたコントローラに対するデフォルト設定されたゲーム基板が、プレーヤからのモード選択を受け付ける処理を行ってもよい。なお、ホストゲーム基板、或いはサーバが各プレーヤからの入力情報に基づいて、プレーヤからのモード選択を受け付ける処理を行うようにしてもよい。
【００７６】
（３）マッチング処理
そして、プレーヤが選択したモードがコンピュータプレーヤ対戦モードである場合には、プレーヤーがエントリーしたコントローラに対応するゲーム基板、ホストゲーム基板、或いはサーバが、プレーヤとコンピュータプレーヤとをマッチングさせる処理を行う。コンピュータプレーヤとマッチングさせる場合には、プレーヤの識別情報に対応付けて記憶部（プレーヤが携帯可能なカード型の記憶部、ゲーム基板の記憶部）に記憶されているプレーヤのレベル（技量情報）に基づいて、プレーヤのレベルと同レベルのコンピュータプレーヤとマッチングさせる処理を行う。
【００７７】
また、プレーヤが選択したモードが店舗内対戦モード、全国対戦モードである場合には、マッチング要求があったものとみなし、ホストゲーム基板、或いはサーバ（マッチングサーバ）が、エントリーされたプレーヤの中から、対戦する第１、第２のプレーヤをマッチングさせるマッチング処理を行う。
【００７８】
本実施形態では、マッチング処理は、第１、第２のプレーヤのレベルが同レベルになるように自動的に設定している。
【００７９】
例えば、ホストゲーム基板、或いは、各ゲーム基板に接続されるサーバが、各ゲーム基板から、プレーヤ識別情報と共にマッチング要求の情報を受け付け、マッチング要求のあった複数のプレーヤの中から、レベルが一致するプレーヤ同士をマッチングさせる処理を行う。例えば、ホストゲーム基板、サーバの記憶部には、図６に示すように、プレーヤ識別情報に対応づけて、プレーヤのレベルと、マッチング要求フラグ（マッチング要求がある場合は１、マッチング要求がない場合は０）との関係が記憶されている。
【００８０】
そして、プレーヤ識別情報とマッチング要求フラグとに基づいて、マッチング要求のあるプレーヤのうち、レベルが一致するプレーヤ同士をマッチングさせる処理を行う。
【００８１】
例えば、（プレーヤ識別情報＝１）のプレーヤと（プレーヤ識別情報＝３）のプレーヤとのレベルが５で一致しているので（プレーヤ識別情報＝１）のプレーヤと、（プレーヤ識別情報＝３）のプレーヤとをマッチングさせる処理を行う。また、予めレベルが登録されていないプレーヤは、シリアルなプレーヤ識別情報を割り振ると共に、レベルをＮＵＬＬに設定し、レベルが登録されていないプレーヤ同士をマッチングさせる処理を行っている。
【００８２】
なお、全国対戦モードが選択された場合には、ネットワークに接続される各店舗におけるゲーム基板それぞれと接続されるサーバが、マッチング処理を行う。全国対戦モードにおいて、プレーヤ同士をマッチングさせる場合にも、店舗内対戦モードと同様に、各ゲーム基板から、プレーヤ識別情報と共にマッチング要求の情報を受け付け、マッチング要求のあった複数のプレーヤの中から、レベルが一致するプレーヤ同士をマッチングさせる処理を行う。
【００８３】
なお、マッチング処理において、エントリーを受け付けてから所定期間（例えば３０秒）以内に、対戦相手のプレーヤとのマッチングができない場合には、自動的にコンピュータプレーヤ対戦のモードに切り替えるように制御してもよい。
【００８４】
また、本実施形態では、プレーヤが希望する相手プレーヤの選択を受け付けて、プレーヤ同士をマッチングさせる処理を行ってもよい。
【００８５】
具体的には、マッチング要求のあるプレーヤの中から、互いにレベルが異なる複数のプレーヤをランダムに抽出し、プレーヤ（例えばプレーヤＡ）のモニタに表示させる。そして、プレーヤ（プレーヤＡ）が複数のプレーヤの中から対戦を希望する１のプレーヤ（プレーヤＢ）の選択を受け付けるようにする。そして、選択されたプレーヤ（プレーヤＢ）用のゲーム基板に、サーバが対戦希望要求情報を送信し、選択されたプレーヤ（プレーヤＢ）用のゲーム基板から対戦希望要求に対する応答を受信すると、プレーヤ（プレーヤＡ）と選択されたプレーヤ（プレーヤＢ）とをマッチングさせる処理を行う。
【００８６】
なお、本実施形態では、プレーヤのエントリーを受け付ける際に、プレーヤが携帯可能なカード型の記憶部に記憶されるプレーヤの識別情報を読み取ることで、プレーヤの識別情報を取得してもよいし、プレーヤの指紋認証等によってプレーヤを一意に識別してプレーヤの識別情報を取得するようにしてもよい。
【００８７】
（４）ゲーム基板を選択し、選択されたゲーム基板がゲーム演算を行う手法
本実施形態では、各プレーヤからのコントローラの入力情報に基づき、マッチングされたプレーヤ同士を対戦させて勝敗判定を行うゲーム演算を行わせるゲーム基板を、複数のゲーム基板の中から選択する処理を行っている。
【００８８】
本実施形態では、ホストゲーム基板、或いは、各ゲーム基板に接続されるサーバが、ゲーム演算を行わせるゲーム基板を、複数のゲーム基板の中から選択する処理を行っている。なお、図５（Ｂ）に示すように、各プレーヤからのコントローラの入力情報に基づき、ゲーム演算を行わせるゲーム基板が選択された場合には、コントローラと選択されたゲーム基板との対応関係を記憶させる。また、本実施形態では、選択されたゲーム基板がゲーム演算を行ったゲーム画像を出力するモニタと、ゲーム基板との対応関係を記憶させるようにしてもよい。
【００８９】
（ア）コンピュータプレーヤ対戦モードの場合
まず、コンピュータプレーヤ対戦モードの場合について説明する。本実施形態では、図５（Ａ）に示す対応関係に基づき、エントリーしたプレーヤのコントローラ識別情報に対応するデフォルトのゲーム基板を選択する処理を行っている。このようにすれば、各プレーヤは独立してコンピュータプレーヤとの対戦を行うことができる。つまり、エントリーを受け付けたプレーヤが操作するコントローラに対応するゲーム基板が、ゲーム演算処理を行うことになる。
【００９０】
例えば、図７に示すように、プレーヤＡ側においてプレーヤＡがコンピュータプレーヤ対戦を行い、プレーヤＢ側においてプレーヤＢがコンピュータプレーヤ対戦を行う場合には、プレーヤＡ側のコントローラ１６０ａに対応するプレーヤＡ側のゲーム基板１０ａが、ゲーム演算を行い、ゲーム演算中のゲーム画像を、ゲーム基板１０ａに対応するモニタ１９０ａに出力させる処理を行う。そして、プレーヤＢ側のコントローラ１６０ｂに対応するプレーヤＢ側のゲーム基板１０ｂが、ゲーム演算を行い、ゲーム演算中のゲーム画像を、ゲーム基板１０ｂに対応するモニタ１９０ｂに出力させる処理を行う。
【００９１】
このように、コントローラに対するゲーム基板を選択することによって、コントローラからの入力の遅延というラグを発生させることなく、プレーヤＡ、Ｂそれぞれが独立してコンピュータプレーヤとの対戦を行うことができる。
【００９２】
（イ）店舗内対戦モードの場合
次に、店舗内対戦モードにおける、ゲーム基板の選択手法について説明する。
【００９３】
本実施形態では、店舗内対戦モードでエントリーしたプレーヤＡ、Ｂが対戦する場合には、プレーヤＡ、Ｂそれぞれのコントローラ識別情報に対応するデフォルトのゲーム基板のうち、いずれか一方のゲーム基板を選択する処理を行っている。
【００９４】
つまり、図８に示すように、プレーヤＡとプレーヤＢとが対戦する場合には、プレーヤＡ側のコントローラ１６０ａと、プレーヤＢ側のコントローラ１６０ｂとに対して、共通の１つのゲーム基板１０ａを選択する処理を行っている。そして、プレーヤＡ側のゲーム基板１０ａが、ゲーム演算を行い、ゲーム演算中のゲーム画像を、選択されたゲーム基板１０ａに対応するモニタ１９０ａ、１９０ｂに出力させる処理を行う。
【００９５】
このようにすれば、各プレーヤは１つのゲーム基板を共有して対戦ゲームを行わせるので、コントローラからの入力の遅延というラグを発生させることなくゲーム演算を行うことができる。
【００９６】
本実施形態では、エントリーしたプレーヤＡ、Ｂそれぞれのコントローラ識別情報に対応するデフォルトのゲーム基板のうち、マッチング要求されたプレーヤ側（例えばプレーヤＡ側）のゲーム基板を選択するように制御している。なお、マッチング要求を行った側（例えばプレーヤＢ側）のゲーム基板を選択するようにしてもよい。
【００９７】
そして、ゲーム演算が終了し、勝敗が判定されると、各コントローラに対応するデフォルトのゲーム基板が、勝敗結果をそれぞれのモニタに表示させる処理を行う。
【００９８】
具体的には、図８の例によれば、プレーヤＡ側が勝利した場合には、ゲーム基板１０ａは、プレーヤＡに対して継続してゲームを行わせる処理を行い、例えば、中断したコンピュータプレーヤ対戦を続行させたり、或いは、他のプレーヤからのマッチング要求を受け付けて対戦ゲームを行わせる処理を行う。一方、敗者したプレーヤＢ側は、デフォルトのゲーム基板１０ｂによって、ゲームオーバーの処理を行い、プレーヤからエントリーを受け付ける処理を行う。
【００９９】
また、プレーヤＡ側が負けた場合には、ゲーム基板１０ａは、ゲームオーバーの処理を行う。そして、ゲーム基板１０ａからプレーヤＢ側のデフォルトのゲーム基板であるゲーム基板１０ｂに対戦ゲームのゲーム演算結果等のデータを送信する。そして、ホストゲーム基板（或いはサーバ）が、プレーヤＢ側のコントローラ１６０ｂに対して、選択するゲーム基板を、ゲーム基板１０ａからデフォルトのゲーム基板１０ｂに切り替える処理を行い、ゲーム基板１０ｂが、プレーヤＢに対して継続してゲームを行わせる処理を行う。
【０１００】
（ウ）全国対戦モードの場合
次に、全国対戦モードにおける、ゲーム基板の選択手法について説明する。
【０１０１】
本実施形態では、全国対戦モードが選択された場合に、エントリーしたプレーヤのコントローラ識別情報に対応するデフォルトのゲーム基板を選択する処理を行うようにしている。つまり、エントリーを受け付けたプレーヤが操作するコントローラに対応するデフォルトのゲーム基板が、対戦相手側のゲーム基板と通信処理を行い、ゲーム演算処理を行う。
【０１０２】
図９は、店舗ＡのプレーヤＡ側のコントローラに対応するゲーム基板１０ａと、店舗ＢのプレーヤＣ側のコントローラに対応するゲーム基板１０ｃとが接続され、ゲーム基板１０ａと、ゲーム基板１０ｃとがゲーム演算を行う例を示す。
【０１０３】
例えば、ゲーム基板１０ａは、ゲーム基板１０ｃから送信されたコントローラ１６０ｃから入力された入力情報を受信する処理を行う。そして受信したコントローラ１６０ｃから入力された入力情報と、コントローラ１６０ａから入力された入力情報とに基づいて、ゲーム演算を行う。同様に、ゲーム基板１０ｃは、ゲーム基板１０ａから送信されたコントローラ１６０ａから入力された入力情報を受信する処理を行う。そして受信したコントローラ１６０ａから入力された入力情報と、コントローラ１６０ｃから入力された入力情報とに基づいて、ゲーム演算を行う。
【０１０４】
このようにすれば、例えば、プレーヤＢ側のゲーム基板１０ｂがコンピュータプレーヤ対戦を行うゲーム演算を行うことも可能である。したがって、空き台を減らして稼働率を上げることが可能なゲームシステムを提供できる。
【０１０５】
（エ）ゲーム演算後の処理
本実施形態では、ゲーム演算が終了すると、プレーヤの識別情報に対応するレベルを更新する処理を行ってもよい。
【０１０６】
３．本実施形態の処理の流れ
図１０を用いて、本実施形態の処理の流れについて説明する。
【０１０７】
まず、エントリーを受け付ける処理を行う（ステップＳ１０）。次に、モードの選択を受け付ける処理を行う（ステップＳ１１）。そして、マッチング処理を行い（ステップＳ１２）、ゲーム基板を選択する処理を行い（ステップＳ１３）、選択されたゲーム基板にゲーム演算を行わせる処理を行う（ステップＳ１４）。以上で処理が終了する。
【０１０８】
４．応用例
（１）ゲーム基板、コントローラ、モニタがそれぞれ３つ以上の場合
本実施形態では、ゲーム基板、コントローラ、モニタがそれぞれ３つ以上の場合には、３つ以上のゲーム基板が相互に接続されると共に、３つ以上のコントローラそれぞれが３つ以上のゲーム基板それぞれと接続され、３つ以上のモニタそれぞれが３つ以上のゲーム基板それぞれと接続されるゲームシステムであってもよい。このようにすれば、従来では、プレーヤは対面する相手プレーヤとしか対戦できなかったが、隣のプレーヤや、斜め向かいのプレーヤと、入力のレスポンスの遅延を気にすることなく対戦してゲームプレイできる。
【０１０９】
また、ゲーム基板の個数と、コントローラの個数、モニタの個数はそれぞれ同一でもよいし、異なっていてもよい。かかる場合にも、ゲーム基板が相互に接続されると共に、コントローラそれぞれが、ゲーム基板それぞれと接続され、モニタそれぞれがゲーム基板それぞれと接続される接続方式を採用する。
【０１１０】
（２）本実施形態では、ホストゲーム基板、或いは、サーバが、ゲームシステムを構成する複数のゲーム基板それぞれの使用状況を常に監視するようにし、プレーヤからのエントリーを受け付けた場合に、使用されていないゲーム基板の中から１つのゲームを基板を選択し、選択されたゲーム基板にゲーム演算を行わせるようにしてもよい。
【０１１１】
例えば、ゲーム基板識別情報に対応づけて、使用状況のフラグ（使用中は１、未使用中は０）を設定し、フラグが０に設定されたゲーム基板の中から、ゲーム基板を選択する処理を行うようにしてもよい。なお、ゲーム基板が選択されると、ゲーム演算が終了するまで、フラグを１に設定し、ゲーム演算が終了するとフラグを０に設定する処理を行う。
【０１１２】
なお、プレーヤからのエントリーを受け付けた場合に、未使用中のゲーム基板が存在しない場合には、プレーヤを待たせる処理を行ったり、エントリー受け付け時の対価を返金する処理を行う。
【０１１３】
（３）本実施形態では、格闘ゲームシステムについて説明したが、プレーヤが協力して敵を攻撃する協力プレイのゲームシステムや、レースゲーム、スポーツゲーム、ロールプレイングゲーム、シューティングゲームに適用してもよい。
【図面の簡単な説明】
【０１１４】
【図１】従来のゲームシステムの説明図。
【図２】従来のゲームシステムの説明図。
【図３】本実施形態のゲームシステムの機能ブロック図。
【図４】本実施形態のゲームシステムの説明図。
【図５】図５（Ａ）（Ｂ）は、本実施形態のゲーム基板、コントローラ、モニタとの対応関係図。
【図６】本実施形態の技量情報に関するテーブル。
【図７】本実施形態のゲームシステムの説明図。
【図８】本実施形態のゲームシステムの説明図。
【図９】本実施形態のゲームシステムの説明図。
【図１０】フローチャート図。
【符号の説明】
【０１１５】
１０、１０ａ〜１０ｄ  ゲーム基板、
１００  処理部、
１１１  ゲーム演算部、
１１２  通信制御部、
１１３  ネットワーク設定部、
１１４  エントリー受け付け部、
１１５  表示制御部、
１１６  ゲーム基板選択部、
１２０  描画部、
１３０  音制御部、
１５０  入力部、
１６０  操作部、１６１  コイン投入部、１６２  電子マネー制御部、
１７０  記憶部、
１７２  主記憶部、１７４  描画バッファ、
１７６  オブジェクトデータ記憶部、
１７８  テクスチャ記憶部、
１７９  ｚバッファ、
１８０  情報記憶媒体、
１９０、１９０ａ〜１９０ｄ  モニタ、
１９２  音出力部、
１９６  通信部
【図１】
0005260122.tif 000002
【図２】
0005260122.tif 000003
【図３】
0005260122.tif 000004
【図４】
0005260122.tif 000005
【図５】
0005260122.tif 000006
【図６】
0005260122.tif 000007
【図１０】
0005260122.tif 000008
【図７】
0005260122.tif 000009
【図８】
0005260122.tif 000010
【図９】
0005260122.tif 000011