説明

ゲームシステム、及び、ゲームサーバ

【課題】 複数のゲーム装置とゲームサーバとでデータの送受信を行いながら進行するゲームにおいて、ゲームの公平性を保つことが可能なゲームシステムを提供すること。
【解決手段】 複数のゲーム装置とゲームサーバとを備えたゲームシステムであって、ゲーム装置は、操作手段が操作された時刻を示す操作時刻データを計時手段から取得する手段と、操作手段の操作に基づく操作内容データに、取得した操作時刻データを含めて、ゲームサーバに送信する手段とを備え、ゲームサーバは、ゲーム開始時に各ゲーム装置の計時手段を同期させる手段と、複数の各ゲーム装置から操作内容データを受信する手段と、各ゲーム装置から受信した操作内容データに含まれる操作時刻データを比較して、操作入力の順を判断する手段と、判断した操作入力の順に基づいて、ゲームを進行するゲーム進行手段とを備えたゲームシステム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のゲーム装置と、前記複数のゲーム装置と通信回線を介してデータの送受信を行うことが可能なゲームサーバとを備えたゲームシステム、及び、当該ゲームシステムを構成するゲームサーバに関する。
【背景技術】
【0002】
近年、通信回線を介して複数のゲーム装置、又は、複数のゲーム装置とゲームサーバとを接続し、これらの間でデータの送受信を行いながら進行するゲームが多数登場している。このような通信を使用したゲームに起こり得る根本的な問題として、ゲーム装置間又はゲーム装置とゲームサーバとの間での通信タイムラグや通信切断を挙げることができる。そのため、このような問題から生じる違和感に対してなんらかの処理がなされる必要があった。
【0003】
従来、ゲーム装置毎に行われるBGMの演奏に、ずれが生じることを解消するために、遅延時間を考慮して演奏の同期データを設定する通信ゲームシステムが存在する(例えば、特許文献1参照)。また、複数のゲーム装置が接続されたホストコンピュータが、いずれのゲーム装置から送信されてくるデータに対しても遅延時間を付加して個別にゲーム結果を導く通信ゲームシステムが存在する(例えば、特許文献2参照)。また、サッカーボールのような中立なキャラクタに関するデータ処理を複数のゲーム装置で切り替えて実行する機能を備えたゲーム装置が存在する(例えば、特許文献3参照)。また、各ゲーム装置間の遅延時間を予め行われる遅延チェックによって割り出して、以降の遅延時間に反映させるデータ処理方法が存在する(例えば、特許文献4参照)。特許文献1〜4の記載によれば、通信速度に起因して発生する音や画像のずれによる違和感を取り除き得る。
【0004】
【特許文献1】特開2000−153075号公報
【特許文献2】特開2001−17735号公報
【特許文献3】特開2001−149658号公報
【特許文献4】特開2001−198363号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1〜4では、音や画像のずれによる違和感を取り除き得るとしても、例えば、1のプレーヤが操作するゲーム装置とゲームサーバとの通信速度が、他のプレーヤが操作するゲーム装置とゲームサーバとの通信速度よりも遅い場合には、1のプレーヤが他のプレーヤよりも先に操作したにも関わらず、他のプレーヤが先に操作したように判断される場合があるといったように、通信速度の差に起因して、ゲームの公平性を欠いてしまうといった問題があった。
【0006】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、複数のゲーム装置とゲームサーバとでデータの送受信を行いながら進行するゲームにおいて、ゲームの公平性を保つことが可能なゲームシステム、及び、当該ゲームシステムを構成するゲームサーバを提供することにある。
【課題を解決するための手段】
【0007】
以上のような目的を達成するために、本発明は、以下のようなものを提供する。
(1) 複数のゲーム装置と、上記複数のゲーム装置と通信回線を介してデータの送受信を行うことが可能なゲームサーバとを備えたゲームシステムであって、
上記複数の各ゲーム装置は、
時刻を計時する計時手段と、
プレーヤによる操作に応じて操作信号を出力する操作手段と、
上記操作手段から出力される操作信号を検出したことを契機として、上記操作手段が操作された時刻を示す操作時刻データを上記計時手段から取得する操作時刻データ取得手段と、
上記操作手段から出力された操作信号に基づく操作内容データに、上記操作時刻データ取得手段が取得した操作時刻データを含めて、上記ゲームサーバに送信する操作内容データ送信手段と
を備え、
上記ゲームサーバは、
ゲーム開始時に、上記複数の各ゲーム装置が備える計時手段が計時する時刻を同期させる時刻同期手段と、
上記複数の各ゲーム装置から操作内容データを受信する操作内容データ受信手段と、
上記操作内容データ受信手段が上記複数の各ゲーム装置から受信した操作内容データに含まれる操作時刻データを比較して、上記複数の各ゲーム装置においてなされた操作入力の順を判断する操作順判断手段と、
上記操作順判断手段が判断した操作入力の順と、上記操作内容データ受信手段が受信した操作内容データが示す操作内容とに基づいて、ゲームを進行するゲーム進行手段と
を備えたことを特徴とするゲームシステム。
【0008】
(1)の発明によれば、ゲームサーバは、ゲーム開始時に、複数の各ゲーム装置が計時する時刻を同期させる。そして、上記複数の各ゲーム装置では、操作手段(例えば、操作レバー等)が操作されると、操作された時刻を示す操作時刻データが含められた、操作内容を示す操作内容データがゲームサーバに送信される。ゲームサーバでは、上記複数の各ゲーム装置から受信した操作内容データに含まれる操作時刻データを比較して、上記複数の各ゲーム装置においてなされた操作入力の順を判断し、判断した操作入力の順と、操作内容データが示す操作内容とに基づいて、ゲームが進行される。従って、ゲームサーバが受信する操作内容データの順自体が、実際に各ゲーム装置において各プレーヤが操作した順ではなくとも、ゲームサーバにおいて進行するゲーム自体は、実際に各ゲーム装置において各プレーヤが操作した順に、その操作内容に基づいて行われる。その結果、各ゲーム装置とゲームサーバとの間に通信速度の違いがあっても、ゲームの公平性を保つことが可能になる。
【0009】
さらに、本発明は、以下のようなものを提供する。
(2) 上記(1)のゲームシステムを構成するゲームサーバであって、
ゲーム開始時に、上記複数の各ゲーム装置が備える計時手段が計時する時刻を同期させる時刻同期手段と、
上記複数の各ゲーム装置から操作内容データを受信する操作内容データ受信手段と、
上記操作内容データ受信手段が上記複数の各ゲーム装置から受信した操作内容データに含まれる操作時刻データを比較して、上記複数の各ゲーム装置においてなされた操作入力の順を判断する操作順判断手段と、
上記操作順判断手段が判断した操作入力の順と、上記操作内容データ受信手段が受信した操作内容データが示す操作内容とに基づいて、ゲームを進行するゲーム進行手段と
を備えたことを特徴とするゲームサーバ。
【0010】
(2)の発明によれば、ゲーム開始時に、複数の各ゲーム装置が計時する時刻を同期させる。そして、上記複数の各ゲーム装置から、操作時刻データを含む操作内容データを受信すると、受信した操作時刻データを比較して、上記複数の各ゲーム装置においてなされた操作入力の順を判断し、判断した操作入力の順と、操作内容データが示す操作内容とに基づいて、ゲームが進行される。従って、ゲームサーバが受信する操作内容データの順自体が、実際に各ゲーム装置において各プレーヤが操作した順ではなくとも、ゲームサーバにおいて進行するゲーム自体は、実際に各ゲーム装置において各プレーヤが操作した順に、その操作内容に基づいて行われる。その結果、各ゲーム装置とゲームサーバとの間に通信速度の違いがあっても、ゲームの公平性を保つことが可能になる。
【発明の効果】
【0011】
本発明によれば、複数のゲーム装置、又は、複数のゲーム装置とゲームサーバとでデータの送受信を行いながら進行するゲームにおいて、ゲームの公平性を保つことが可能なゲームシステム、及び、当該ゲームシステムを構成するゲームサーバを提供することが可能になる。
【発明を実施するための最良の形態】
【0012】
図1は、本実施形態に係るゲームシステムの構成図である。
ゲームシステム500は、複数の端末装置1と、複数の(ここでは15台の)端末装置1と各店舗毎に設けられた店舗サーバ2を介して通信可能に接続されたセンターサーバ3とを備え、さらに、店舗サーバ2を介して接続されたホール用表示装置6を店舗ごとに1台備えている。
【0013】
端末装置1は、プレーヤが操作レバー118、操作スイッチ119、タッチパネル14(図示せず)を介して行う所定の操作を受け付けるとともに、店舗サーバ2を介してセンターサーバ3や他の端末装置1から送信されるデータ等に基づいて、ゲームを進行するものである。
【0014】
なお、端末装置1には、それぞれ自機に固有のマシンIDが対応付けられている。
マシンIDには、端末装置1が接続されている店舗サーバ2ごとのコードと、端末装置1が配設されている店舗内での端末装置1ごとのコードとが含まれている。例えば、店舗Aの店舗サーバのコードがAであって、店舗A内における端末装置1のコードが1である場合には、この端末装置1のマシンIDはa1である。
【0015】
店舗サーバ2は、それぞれ複数(ここでは15台)の端末装置1、ホール用表示装置6、及び、センターサーバ3と通信可能に接続され、端末装置1とセンターサーバ3との間のデータの送受信を行う。
【0016】
センターサーバ3は、複数の端末装置1と店舗サーバ2を介して通信可能に接続されており、各プレーヤに関する履歴データ(図7参照)を有する。センターサーバ3は、店舗サーバ2を介して端末装置1とデータの送受信を行うことにより、同一のプレーフィールドでゲームを行うプレーヤを決定し、さらに、同一のプレーフィールドでゲームを行うと決定した端末装置1のなかから、1の端末装置1をゲームサーバに指定する。ゲームサーバに指定された端末装置1(以下、マスター側端末装置1ともいう)は、同一のプレーフィールドでゲームを行うと決定された端末装置1間で実行されるゲームの進行を制御する。
なお、このゲームシステムでは、最大6人まで同一のプレーフィールドにおいてゲームを行うことができる。
【0017】
ホール用表示装置6は、店舗サーバ2を介してセンターサーバ3と通信可能である。ホール用表示装置6は、サンターサーバ3の制御により、履歴データに基づいて集計されたゲームのランキング等が表示される。ホール用表示装置6は、端末装置1でゲームを行うすべてのプレーヤが視認可能に設置されている。
【0018】
図2は、1の店舗に設置された15台の端末装置とホール用表示装置との外観を示す斜視図である。
端末装置1は、本発明におけるゲーム装置に相当するものである。
なお、以下の説明では、ゲーム装置の一例として、2つのディスプレイ(第1ディスプレイ11及び第2ディスプレイ12)を備えた業務用ゲーム装置について説明するが、本発明は、この例に特に限定されず、家庭用ビデオゲーム装置を家庭用テレビジョンに接続することによって構成される家庭用ビデオゲーム装置、ビデオゲームプログラムを実行することによってビデオゲーム装置として機能するパーソナルコンピュータ等にも同様に適用することができる。
【0019】
図3は、本実施形態に係るゲームシステムにおいて実行されるゲームの構成を説明するための図である。
本実施形態において、端末装置1を用いて行われるゲームは、端末装置1を操作するプレーヤが、仮想ゲーム空間に存在するプレーフィールド上で操作キャラクタを操作して進行させるゲームであり、図3に示すように、対人戦が可能なステージと、対人戦が不可能なステージとの20のステージから構成されている。図3では、対人戦が可能なステージにのみその旨を記載している。
対人戦が不可能なステージ(以下、「ノーマルステージ」ともいう)では、1のプレーヤによりゲームが進行され、対人戦が可能なステージ(以下、「対人戦ステージ」ともいう)では、端末装置1を操作するプレーヤと、他の端末装置1を操作するプレーヤとが、同一のプレーフィールド上でキャラクタを操作して互いに対戦したり、協力したりしてゲームが進行される。従って、ノーマルステージにおいては、端末装置1では、他の端末装置1やセンターサーバ3と通信を行うことなく、ゲームが進行され、対人戦ステージにおいては、他の端末装置1やセンターサーバ3と通信を行いながら、ゲームが進行される。
【0020】
図4は、端末装置の外観を示す斜視図である。
図4に示すように、端末装置1は、筐体10と、筐体10の前面に所定角度で傾斜するように設けられた第1ディスプレイ11と、第1ディスプレイ11の上方に設けられた第2ディスプレイ12とを備えている。第1ディスプレイ11及び第2ディスプレイ12には、操作キャラクタを表す操作キャラクタ画像と、敵キャラクタを表す敵キャラクタ画像と、プレーフィールドを表すプレーフィールド画像とを含むゲーム画像が表示される(例えば、図11参照)。
【0021】
第1ディスプレイ11の前方には、タッチパネル14が設置されている。タッチパネル14は、プレーヤによる接触を検出可能であり、当該接触を検出した際に接触位置を示す検出信号を出力する。プレーヤはタッチパネル14に触れて各種の指示を入力することが可能である。
第2ディスプレイ12の左右両側には、音声を出力するスピーカ13が設置されている。
【0022】
第1ディスプレイ11の下側には、コインが投入されるコイン投入口15と、IDカードが挿入されるIDカード挿入口16とが設けられている。コイン投入口15に投入されたコインは、コインセンサ115(図示せず)によって検出される。また、IDカード挿入口16に挿入されたIDカードは、IDカードリーダ116(図示せず)によってIDデータが読み取られる。
【0023】
筐体10には、前方へ突出する操作台18が設けられており、操作台18の上面には、上下左右への指示入力が可能な操作レバー118及び複数の操作スイッチ119a、119b、119c(以下、操作スイッチ119a、119b、119cを総称して、操作スイッチ119ともいう)が設けられている。プレーヤは、操作レバー118、操作スイッチ119を操作して所定の指示を入力することが可能である。
【0024】
図5は、端末装置のハードウェア構成を示すブロック図である。
制御部100は、端末装置1の全体の動作を制御するもので、CPU101と、ROM102と、RAM103とを備える。
【0025】
ROM102は、操作キャラクタ、敵キャラクタ、他プレーヤキャラクタ等を構成するキャラクタオブジェクト、背景を構成する背景オブジェクト、テクスチャデータ、各種の画像データ等を記憶する。キャラクタオブジェクト、背景オブジェクト等は3次元描画が可能なように、所定数のポリゴンで構成されている。
【0026】
また、ROM102は、ノーマルステージにおけるゲームを進行させるためのノーマルステージ用ゲームプログラムを記憶する。このノーマルステージ用ゲームプログラムは、ノーマルステージにおけるゲームにおいて、特に、ゲーム進行に応じて第1ディスプレイ11及び第2ディスプレイ12に画像を表示する各種処理を実行させるためのプログラムである。CPU101は、ノーマルステージが選択された場合には、ROM102に格納されたノーマルステージ用ゲームプログラムを実行し、ゲームを進行する処理を行う。
【0027】
また、ROM102は、対人戦ステージにおけるゲームを進行させるための対人戦ステージ用ゲームプログラムを記憶する。CPU101は、センターサーバ3によりゲームサーバとして指定された場合には、ROM102に格納された対人戦ステージ用ゲームプログラムを実行し、ゲームを進行する処理を行う。
【0028】
ROM102は、端末装置1に内蔵される記憶媒体であってもよく、装着脱可能な記憶媒体であってもよい。また、その両者からROM102が構成されていてもよい。
また、ROM102に記憶された各種データのうち装着脱可能な記録媒体に記憶され得るデータは、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等のドライバで読み取り可能にしてもよい。この場合、記録媒体は、例えばハードディスク、光ディスク、フレキシブルディスク、CD、DVD、半導体メモリ等である。
【0029】
RAM103は、処理途中の情報、変数等を一時的に格納する。例えば、オブジェクト位置情報、プレーヤ参加情報(図8参照)、プレーヤ情報等を記憶する。
オブジェクト位置情報は、プレーフィールド内におけるキャラクタ(操作キャラクタ、敵キャラクタ、他プレーヤキャラクタ等)や背景オブジェクトの位置を示すデータであり、第1ディスプレイ11及び第2ディスプレイ12に表示される画像の表示位置座標が含まれる。
プレーヤ参加情報は、同一のプレーフィールドでゲームを行うプレーヤ(端末装置1)を管理する情報であり、対人戦ステージが選択され且つゲームサーバとして指定された場合に、ゲーム開始時にセンターサーバ3から送信される。プレーヤ情報は、ゲームサーバに指定された場合に、ゲームの開始時に生成される情報であり、同一のプレーフィールドでゲームを行うプレーヤの履歴データから構成されている。この履歴データは、ゲーム開始時にセンターサーバ3から送信される。
【0030】
通信用インターフェイス回路104は、店舗サーバ2を介してサンターサーバ3や他の端末装置1とデータ(例えば、オブジェクト位置情報、履歴データ、操作内容データ等)の送受信を行うためのものである。操作内容データは、操作レバー118、操作スイッチ119、タッチパネル14を介してプレーヤが入力した操作入力に基づくデータであり、操作の内容を示すデータである。
【0031】
第1描画処理部111及び第2描画処理部112は、操作キャラクタと敵キャラクタ又は他プレーヤキャラクタとの対戦を含む各種のゲーム画像を第1ディスプレイ11及び第2ディスプレイ12に表示させるもので、VDP(Video date Processor)やビデオRAM等を備える。第1描画処理部111及び第2描画処理部112は、上記操作内容データに従って、RAM103に格納されたオブジェクト位置情報及びプレーヤ情報を参照する。そして、ROM102に格納されたオブジェクト(例えば、キャラクタオブジェクト、背景オブジェクト等)を3次元空間上での位置から擬似3次元空間上での位置へ変換するための計算、光源計算処理等を行うとともに、上記計算結果に基づいてビデオRAMに対して描画すべき画像データの書き込み処理(例えば、ポリゴンで指定されるビデオRAMの領域に対するテクスチャデータのマッピング等)を行うことにより、ゲーム画像を生成し、第1ディスプレイ11及び第2ディスプレイ12に出力する。その結果、第1ディスプレイ11及び第2ディスプレイ12には、ゲーム画像(例えば、対戦画像等)が表示される。
特に、ゲームがノーマルステージにおいて進行している場合には、第1描画処理部111は、操作キャラクタ視点に基づく画像(メインゲーム画像)を第1ディスプレイ11に表示し、第2描画処理部112は、操作キャラクタから操作キャラクタ後方を見た後方視点に基づく画像(サブゲーム画像)を第2ディスプレイに表示する。本実施形態では、操作キャラクタ視点が、操作キャラクタ後方から当該操作キャラクタの方向を見る視点である場合について説明するが、操作キャラクタ視点は、操作キャラクタの視点であってもよい。なお、このように構成した場合、第1ディスプレイ11には、操作キャラクタの全身が表示されることはないが、操作キャラクタの視点から視認し得る手足等が表示される場合がある。
【0032】
音声再生部113は、ゲームサーバとしての当該端末装置1又はゲームサーバとしての他の端末装置1からの指示に従って、所定の音声やBGM等をスピーカ12に出力するものである。
タッチパネル14は、第1ディスプレイの前方に設けられた矩形状の薄層体であり、縦横にそれぞれ所定ピッチで線状の透明材からなる感圧素材を配列したものを透明カバーで被覆する等により構成されたものである。このタッチパネル14は従来公知のものを採用可能である。タッチパネル14は、接触された際に接触位置を示す検出信号を出力する。
【0033】
コインセンサ115は、コイン投入口15から投入されたコインを検出した際に所定の信号を制御部100に送信する。IDカードリーダ116は、IDカード挿入口16に挿入されたIDカード8から、IDコードを読み取り、制御部100に供給する。操作レバー118及び操作スイッチ119は、プレーヤによって操作された際に所定の操作信号を制御部100に供給する。操作レバー118及び操作スイッチ119は、本発明における操作手段に相当するものである。
【0034】
計時手段としての内蔵時計120は、現在時刻を計時する。マスター側端末装置1が備えるCPU101は、ゲーム開始時に、同一のプレーフィールドでゲームを行うと決定した他の端末装置1が備える内蔵時計120を、マスター側端末装置1が備える内蔵時計120と同期させる。本実施形態では、内蔵時計120が時刻を計時する場合について説明するが、本発明においてはこれに限定されず、例えば、計時手段として、CPU101の動作プログラム上で計時が行われることとしてもよい。
【0035】
図6は、センターサーバのハードウェア構成を示すブロック図である。
センターサーバ3は、センターサーバ3の全体の動作を制御する制御部300を備えている。制御部300は、CPU301と、ROM302と、RAM303とを備えている。
【0036】
ROM302には、エントリー要求を受け付けた端末装置1のなかから同一のプレーフィールドでゲームを行う端末装置1を決定するためのプログラムや、各種データの記憶(更新)、送受信の処理を行うための所定のプログラムが記憶されている。
【0037】
ROM302は、センターサーバ3に内蔵される記憶媒体であってもよく、装着脱可能な記憶媒体であってもよい。また、その両者からROM302が構成されていてもよい。
ROM302に記憶された各種データのうち装着脱可能な記録媒体に記憶され得るデータは、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等のドライバで読み取り可能にしてもよく、この場合、記録媒体は、例えばハードディスク、光ディスク、フレキシブルディスク、CD、DVD、半導体メモリ等である。
【0038】
RAM303は、例えば、各プレーヤのIDデータを含む履歴データ(図7参照)、プレーヤ参加情報(図8参照)等を記憶する。
通信用インターフェイス回路304は、各種データをインターネット等からなるネットワークを介して複数の店舗サーバ2に接続された複数の端末装置1やホール用表示装置6と送受信するためのものである。
【0039】
図7は、履歴データの一例を示す図である。
履歴データは、IDデータ毎に記憶されている。IDデータは、プレーヤごと(本実施形態では、P1、P2・・・)に割り当てられるデータであり、IDカード8(図示せず)に記憶されたデータに対応している。
操作キャラクタの欄には、操作キャラクタの各種パラメータが記憶されている。また、武器、防具の欄には、プレーヤが所有する武器又は防具毎に、その各種パラメータが記憶されている。武器や防具の熟練度は、これらを操作キャラクタが用いて(装備して)格闘することにより変化する。そして熟練度が変化することに応じて攻撃力や防御力等の各種パラメータが変化する。
【0040】
図8は、プレーヤ参加情報を示す図である。
左側の欄から順に、所定のルールに則ってプレーフィールド(ステージ)毎に付与されるプレーフィールドの識別番号であるプレーフィールド番号(FN)と、センターサーバ3に受け付けられた順番である受付順(RN)と、端末装置1の識別情報であるマシンID(CN)と、店舗サーバ2の識別番号である店舗サーバ記号(SN)と、端末装置1を操作するプレーヤの区分を表すプレーヤ区分(PC)との情報が格納されている。
プレーヤ区分PCには、端末装置1が人間のプレーヤによって操作される場合に「プレーヤ」が格納され、CPUプレーヤによって操作される場合に「CPUプレーヤ」が格納される。例えば、プレーフィールド番号1では、端末装置a1、端末装置a2、端末装置b1、端末装置c1、端末装置c2、端末装置c3の順にセンターサーバ3によってゲームへの参加を受け付けられたことを示している。
【0041】
図8に示したプレーヤ参加情報から、プレーフィールド番号1のプレーフィールドは、端末装置a1、a2、b1、c1、c2、c3から構成されていること、端末装置a1、a2は店舗サーバAに専用線を介して接続されていること、端末装置a1、a2、b1、c1、c2、c3は人間のプレーヤによって操作されていること等がわかる。
【0042】
このようにしてエントリーが受け付けられた後、同一のプレーフィールドでゲームを行うと決定した端末装置1のなかから、1の端末装置1がゲームサーバに指定され、当該端末装置1が、そのプレーフィールドにおけるゲームの進行を管理する。
例えば、図8に示すように、プレーフィールド1に受け付けられた端末装置a1、端末装置a2、端末装置b1、端末装置c1、端末装置c2、端末装置c3のなかから端末装置a1がゲームサーバに指定された場合には、プレーフィールド1におけるゲームの進行は、端末装置1により管理される。
【0043】
図9は、端末装置及びセンターサーバにおけるゲーム開始までの処理の流れを示すフローチャートである。
まず、端末装置1のCPU101は、コイン投入口15からのコインの投入を受け付ける(ステップS100)。CPU101は、コインを検出した際にコインセンサ115から出力される所定の信号を受信した場合、IDカードリーダ116によって、IDカード挿入口16に挿入されたIDカード8から、プレーヤのIDコードを読み取る(ステップS101)。次に、プレーヤの操作によるパスワードの入力を受け付ける(ステップS102)。
【0044】
次に、CPU101は、読み取ったIDコードを、プレーヤの操作により入力されたパスワードと共に、通信用インターフェイス回路104により、専用線5を介し、店舗サーバ2を経由してセンターサーバ3に送信する(ステップS103)。
【0045】
センターサーバ3のCPU301は、RAM303に記憶されたIDコードのなかに、端末装置1から受信したIDコードがあるか否かを判断し、さらに、IDコードがあると判断した場合には、そのIDコードに対応付けられてRAM303に記憶されたプレーヤのパスワードと、端末装置1から受信したパスワードとが合致するか否かを判断することにより認証を行う(ステップS301)。CPU301は、その結果を応答信号として端末装置1に送信する(ステップS302)。
【0046】
センターサーバ3からの応答信号を受信した場合、ゲームモードの選択を受け付ける(ステップS104)。ゲームモードの選択としては、ゲームを行うステージの選択や、対戦相手の選択(例えば、同一店舗の端末装置1でゲームを行うプレーヤでゲームを行うか否かの選択、CPUプレーヤを参加させるか否かの選択等)を行うことが可能である。
【0047】
次に、CPU101は、選択されたステージを示す情報や対戦相手に関する情報等を含むエントリー要求データを、店舗サーバ2を経由してセンターサーバ3に送信する(ステップS105)。
【0048】
一方、センターサーバ3のCPU301は、エントリーを受け付けると(ステップS303)、エントリーを受け付けたステージが対人戦ステージであるか否かを判断する(ステップS304)。エントリーを受け付けたステージが対人戦ステージではない(ノーマルステージである)と判断した場合には(ステップS304:NO)、当該端末装置1でゲームを行うプレーヤの履歴データをIDデータに基づいて抽出し(ステップS307)、当該端末装置1に送信する(ステップS308)。
【0049】
端末装置1では、履歴データをプレーヤ情報として受信した後(ステップS107)、初期設定処理を行う(ステップS108)。この初期設定処理においては、キャラクタ、背景等をプレーフィールド内の所定位置に配置してオブジェクト位置情報を生成する。また、敵キャラクタの生命力、魔力、攻撃力、防御力、移動力、攻撃命中率、クリティカルヒット率、攻撃回避率等を含む敵キャラクタ情報を生成する。その後、当該端末装置1においてゲームを開始する(ステップS110)。これにより、端末装置1において、当該端末装置1を操作する1のプレーヤによるゲーム(ノーマルステージ、図10参照)が進行されることになる。なお、ノーマルステージが選択された場合には、ステップS109の同期処理を実行しない。
【0050】
一方、エントリーを受け付けたステージが対人戦ステージであると判断した場合には(ステップS304:YES)、図8に示したプレーヤ参加情報を更新する(ステップS305)。
次に、CPU301は、同一のプレーフィールドでゲームを行うプレーヤ(対戦者)を決定するとともに、ゲームサーバとなる端末装置1を決定する(ステップS306)。なお、所定期間が経過しても人間のプレーヤが6人に満たない場合には、CPUプレーヤを設定する。
【0051】
次に、CPU301は、同一のプレーフィールドでゲームを行うプレーヤの履歴データ(図7参照)をRAM303から抽出する(ステップS307)。次に、CPU301は、抽出した履歴データを、ゲームサーバとして決定した端末装置1(マスター側端末装置1)に送信する(ステップS308)。
【0052】
ゲームサーバとしてのマスター側端末装置1が備えるCPU101は、センターサーバ3から各プレーヤのゲーム履歴データを受信すると(ステップS107)、プレーヤ情報としてRAM103に記憶する。次に、マスター側端末装置1が備えるCPU101は、初期設定処理を行う(ステップS108)。この初期設定処理においては、キャラクタ、背景等をプレーフィールド内の所定位置に配置してオブジェクト位置情報を生成する。また、CPUプレーヤとしての敵キャラクタの生命力、魔力、攻撃力、防御力、移動力、攻撃命中率、クリティカルヒット率、攻撃回避率等を含む敵キャラクタ情報を生成する。その後、オブジェクト位置情報を、同一プレーフィールドでゲームを行う他の端末装置1に送信する。
【0053】
次に、ステップS109において、マスター側端末装置1が備えるCPU101は、同期処理を行う。この同期処理において、マスター側端末装置1が備えるCPU101は、所定の時計同期用信号を、同一のプレーフィールドでゲームを行うと決定した他の端末装置1(以下、スレーブ側端末装置1ともいう)に送信する。具体的には、現在時刻を示すデータをスレーブ側端末装置1に送信する。これにより各スレーブ側端末装置1の内蔵時計120を、マスター側端末装置1が備える内蔵時計120に同期させるこの処理を実行するとき、CPU101は、各端末装置1が備える内蔵時計120が計時する時刻を同期させる時刻同期手段として機能する。
その後、ゲーム(対人戦ステージ、図14、図15参照)を開始する(ステップS109)。
【0054】
スレーブ側端末装置1は、ステップS106の処理の後、ステップS107、ステップS108の処理を行わず、ステップS109においてマスター側端末装置1との間で内蔵時計120の同期処理を行い、ゲームサーバとしてのマスター側端末装置1の制御によりゲームを開始する(ステップS110)。
【0055】
図10は、端末装置1において実行されるゲーム処理Aのサブルーチンを示すフローチャートである。
ゲーム処理Aは、ゲームモード選択(図9、ステップS104参照)において、ノーマルステージが選択された場合に実行される処理である。ノーマルステージで行われるゲームは、当該端末装置1を操作する1のプレーヤにより進行するゲームであり、プレーヤが操作する操作キャラクタが、端末装置1(CPUプレーヤ)が操作する敵キャラクタと格闘を行いながら、プレーフィールド内を移動し、所定の目的地を検索するゲームである。
【0056】
まず、CPU101は、各種情報自動変動処理を実行する(ステップS10)。この処理において、CPU101は、敵キャラクタを移動させたり、敵キャラクタに操作キャラクタを攻撃させたりする等、プレーヤの操作入力とは別にゲームの進行に応じて変動する各種の情報を変動させて更新する。例えば、敵キャラクタを移動させた場合には、オブジェクト位置情報を更新する。
【0057】
次に、ステップS11において、CPU101は、操作レバー118を介して移動入力があったか否かを判断する。移動入力があったと判断した場合、CPU101は、操作入力に応じて操作キャラクタを移動させ、オブジェクト位置情報を更新する(ステップS12)。一方、移動入力がなかったと判断した場合、処理をステップS13に移す。
【0058】
ステップS13において、CPU101は、操作スイッチ119を介して攻撃入力があったか否かを判断する。攻撃入力があったと判断した場合、CPU101は、攻撃の射程距離内に敵キャラクタが存在するか否かを判断し(ステップS14)、射程距離内に敵キャラクタが存在すると判断した場合には(ステップS14:YES)、攻撃の命中判定を行う(ステップS15)。この処理において、CPU101は、操作キャラクタの攻撃命中率及びクリティカルヒット率と、敵キャラクタの攻撃回避率とに基づいて、他のキャラクタに対して攻撃が命中するか否かを判定し、攻撃が命中すると判定した場合には、キャラクタの攻撃力と他のキャラクタの防御力とに基づいて他のキャラクタが受けるダメージを算出して敵キャラクタ情報を更新し、操作キャラクタの攻撃動作に応じてオブジェクト位置情報を更新する(ステップS16)。
一方、射程距離内に敵キャラクタが存在しないと判断した場合には(ステップS14:NO)、操作キャラクタの攻撃動作に応じてオブジェクト位置情報を更新する(ステップS117)。
【0059】
ステップS13において攻撃入力がなかったと判断した場合、CPU101は、敵キャラクタから操作キャラクタに対して攻撃があったか否かを判断する(ステップS18)。敵キャラクタから攻撃があったと判断した場合、CPU101は、攻撃の命中判定を行う(ステップS19)。この処理において、CPU101は、敵キャラクタの攻撃命中率及びクリティカルヒット率と、操作キャラクタの攻撃回避率とに基づいて、他のキャラクタに対して攻撃が命中するか否かを判定し、攻撃が命中すると判定した場合には、敵キャラクタの攻撃力と装備している防具の防御力を加算した操作キャラクタの防御力とに基づいて他のキャラクタが受けるダメージを算出して操作キャラクタ情報を更新し、敵キャラクタの攻撃動作に応じてオブジェクト位置情報を更新する(ステップS20)。
【0060】
ステップS18において敵キャラクタから攻撃がなかったと判断した場合、CPU101は、オブジェクト位置情報に基づいて、第2ディスプレイ12に敵キャラクタが表示されているか否かを判断する。第2ディスプレイ12に敵キャラクタが表示されていると判断した場合(ステップS21:YES)、CPU101は、操作レバー118及び/又は操作スイッチ119を介して特定の操作入力(例えば、操作レバー118の上方向と操作スイッチ119a、119b、119cとが同時に操作される入力)があったか否かを判断する(ステップS22)。特定の操作入力があったと判断した場合、CPU101は、操作キャラクタを動作させて、操作キャラクタ視点を特定操作入力時の後方視点に移動させ、敵キャラクタと対峙させるようにオブジェクト位置情報を更新する(ステップS23)。
【0061】
ステップS21において第2ディスプレイ12に敵キャラクタが表示されていないと判断した場合、又は、ステップS22において特定の操作入力がなかったと判断した場合、CPU101は、その他入力されたコマンドに応じた処理を実行し(ステップS24)、当該処理に応じて、オブジェクト位置情報、操作キャラクタ情報、敵キャラクタ情報等の情報を更新する(ステップS25)。
【0062】
ステップS26において、CPU101は、オブジェクト位置情報に基づいて以下の画像を第1ディスプレイ11及び第2ディスプレイ12に表示する。このとき、第1ディスプレイ11には、操作キャラクタ視点に基づく画像、第2ディスプレイ12には、後方視点に基づく画像を表示する。
(a)ステップS12において、操作キャラクタを移動させた場合、移動後の画像を表示する。
(b)ステップS13において攻撃入力があり、且つ、攻撃の射程距離内に敵キャラクタが存在した場合(ステップS14:YES)、当該敵キャラクタを攻撃する画像を表示する。
(c)ステップS13において攻撃入力があり、且つ、攻撃の射程距離内に敵キャラクタが存在しなかった場合(ステップS14:NO)、操作キャラクタが攻撃を空振りする画像を表示する。
(d)ステップS18において敵キャラクタから攻撃があった場合(ステップS18:YES)、敵キャラクタが操作キャラクタを攻撃する画像を表示する。
(e)ステップS21において第2ディスプレイ12に敵キャラクタが表示されており(例えば、図12参照)、且つ、特定の操作入力があったと判断した場合(ステップS22:YES)、第2ディスプレイ12に表示されていた敵キャラクタに対峙する画像(例えば、図13参照)を第1ディスプレイ11に表示する。
(f)ステップS24においてその他入力されたコマンドに応じた処理を実行した場合、当該処理に応じた画像を表示する。
【0063】
次に、ステップS27において、CPU101は、ステージのクリア条件を満たしたか否かを判断し、ステージのクリア条件を満たしていないと判断した場合には、処理をステップS10に戻す。一方、ステージのクリア条件を満たしたと判断した場合には、処理をステップS28に移す。
【0064】
ステップS28において、CPU101は、操作キャラクタ情報を含むプレーヤ情報をセンターサーバ3に送信する。これにより、センターサーバ3は、受信したプレーヤ情報を履歴データとして記憶することとなる。ステップS28の処理の後、本サブルーチンを終了する。
【0065】
図11〜図13は、第1ディスプレイ及び第2ディスプレイに表示される画像の一例を示す図である。
図11に示すように、第1ディスプレイ11には、操作キャラクタ90が敵キャラクタ91に対峙している画像が表示され、第2ディスプレイ12には、プレーヤ(操作キャラクタ90)にとって死角となる背後から敵キャラクタ92が迫っている画像が表示されている。
例えば、操作キャラクタ90が敵キャラクタ91を退治した後(図12参照)、特定の操作入力があったときには、図13に示すように、第1ディスプレイ11には、操作キャラクタ90が敵キャラクタ92に対峙している画像が表示される。
【0066】
ここで、図11に示す画像が表示されてから、図13の画像が表示されるまでの処理について図10を用いて説明する。
操作キャラクタ90が敵キャラクタ91(図11参照)を退治した後、図12に示すように、第2ディスプレイ12には、敵キャラクタ92が背後から迫っている画像が表示されているので、図10のステップS21:YESに相当する。このとき、特定の操作入力があった場合、図10のステップS22:YESに相当する。その結果、ステップS23の処理が実行され、図13に示すように、第1ディスプレイ11には、操作キャラクタ90が敵キャラクタ92に対峙している画像が表示される。
【0067】
このように、端末装置1では、背後から敵キャラクタ(例えば、敵キャラクタ92)が襲ってきても、プレーヤは、ディスプレイ12に表示される画像(サブゲーム画像)を確認しさえすれば、周囲を警戒するための操作(例えば、背後を振り返る操作等)を行わなくとも、このような敵キャラクタを視認し得る。
【0068】
図14は、マスター側端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートであり、図15は、スレーブ側端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートである。
ゲーム処理Bは、ゲームモード選択(図9、ステップS104参照)において、対人戦ステージが選択された場合に実行される処理である。対人戦ステージで行われるゲームは、1の端末装置1を操作するプレーヤと他の端末装置1を操作するプレーヤとにより進行するゲームであり、1のプレーヤが操作する操作キャラクタと、他のプレーヤが操作する他プレーヤキャラクタとが格闘を行う格闘ゲームである。
【0069】
対人戦ステージにおいては、ゲームサーバの機能を兼ね備えるマスター側端末装置1と、スレーブ側端末装置1とがデータの送受信を行いながらゲームを進行する。
まず、図14を用いてマスター側端末装置1のゲーム処理Bについて説明する。
まず、CPU101は、操作レバー118、操作スイッチ119を介して操作入力があったか否かを判断する(ステップS200)。操作入力があったと判断した場合、CPU101は、操作入力に応じて操作キャラクタを動作させ、オブジェクト位置情報を更新する(ステップS201)。
次に、ステップS202において、CPU101は、操作入力があった時刻を示すマスター側操作時刻データを内蔵時計120から取得し、RAM103に記憶する。この処理を実行するとき、CPU101は、内蔵時計120から操作時刻データを取得する操作時刻データ取得手段として機能する。
【0070】
次に、ステップS203において、CPU101は、入力された操作内容を示すマスター側操作内容データを、同一のプレーフィールドでゲームを行う他のスレーブ側端末装置1に送信する。
【0071】
ステップS200において操作入力がなかったと判断した場合、又は、ステップS203の処理の後、CPU101は、スレーブ側端末装置1からスレーブ側操作内容データを受信したか否かを判断する(ステップS210)。ステップS210においてスレーブ側操作内容データを受信するとき、CPU101は、スレーブ側操作内容データを受信する操作内容データ受信手段として機能する。スレーブ側操作内容データを受信したと判断した場合、スレーブ側操作内容データに応じて他プレーヤキャラクタを動作させ、オブジェクト位置情報を更新する(ステップS211)。
次に、ステップS212において、CPU101は、スレーブ側操作内容データに含まれるスレーブ側操作時刻データ(図15、ステップS253参照)を抽出し、RAM103に記憶する。
次に、ステップS213において、CPU101は、ステップS210において受信したスレーブ側操作内容データを送信元以外の他のスレーブ側端末装置1に送信する。
【0072】
ステップS210においてスレーブ側操作内容データを受信していないと判断した場合、又は、ステップS213の処理の後、CPU101は、RAM103に記憶したマスター側操作時刻データとスレーブ側操作時刻データとに基づいて、各端末装置1においてなされた操作入力の順を判断する(ステップS220)。この処理において、CPU101は、1の操作内容データを受信し、さらに、当該1の操作内容データに応じた他の操作内容データを受信した後に、操作入力の順を判断する。このとき、CPU101は、1の操作内容データを受信してから所定の受付期間を経過しても他の操作内容データを受信しない場合には、当該他の操作内容データに係る操作入力がなかったものとみなして操作入力の順を判断する。この処理を実行するとき、CPU101は、各端末装置1においてなされた操作入力の順を判断する操作順判断手段として機能する。
【0073】
次に、CPU101は、命中判定を行う(ステップS221)。この処理において、例えば、マスター側操作内容データが防御動作に関するデータであり、スレーブ側操作内容データが攻撃動作に関するデータである場合、マスター側操作時刻データと、スレーブ側操作時刻データとが示す時刻を比較して、その差が所定期間以内(例えば、1秒以内)であれば、攻撃が不成立であると判定し、所定期間以内でなければ、攻撃が成立であると判定する。
【0074】
次に、ステップS222において、CPU101は、攻撃が成立したと判定した場合には、各キャラクタの攻撃力と防御力とに基づいて受けるダメージを算出してキャラクタ情報を更新する。ステップS221、ステップS222の処理を実行するとき、CPU101は、操作入力の順と、操作内容データが示す操作内容とに基づいて、ゲームを進行するゲーム進行手段として機能する。
【0075】
ステップS222の処理の後、CPU101は、オブジェクト位置情報に基づいて、第1ディスプレイ11に各キャラクタの動作後の画像を表示する(ステップS223)。また、第2ディスプレイ12には、プレーフィールド全体の見取り図を表示する(図示せず)。
【0076】
次に、ステップS225において、CPU101は、ステージのクリア条件(例えば、操作キャラクタが敗北すること、又は、操作キャラクタのみが生き残ること)を満たしたか否かを判断し、ステージのクリア条件を満たしていないと判断した場合には、処理をステップS200に戻す。一方、ステージのクリア条件を満たしたと判断した場合には、処理をステップS226に移す。
【0077】
ステップS226において、CPU101は、各キャラクタ情報(各プレーヤの操作キャラクタ情報)を含むプレーヤ情報をセンターサーバ3に送信する。これにより、センターサーバ3は、受信したプレーヤ情報を履歴データとして記憶することとなる。ステップS226の処理の後、本サブルーチンを終了する。
【0078】
次に、図15を用いてスレーブ側端末装置1のゲーム処理Bについて説明する。
まず、CPU101は、操作レバー118、操作スイッチ119を介して操作入力があったか否かを判断する(ステップS250)。操作入力があったと判断した場合、CPU101は、操作入力に応じて操作キャラクタを動作させ、オブジェクト位置情報を更新する(ステップS251)。
次に、ステップS252において、CPU101は、内蔵時計120からスレーブ側操作時刻データを取得し、RAM103に記憶する。この処理を実行するとき、CPU101は、内蔵時計120から操作時刻データを取得する操作時刻データ取得手段として機能する。
【0079】
次に、ステップS253において、CPU101は、入力された操作内容を示すスレーブ側操作内容データに、取得したスレーブ側操作時刻データを含めてマスター側端末装置1に送信する。この処理を実行するとき、CPU101は、スレーブ側操作内容データに、スレーブ側操作時刻データを含めて、ゲームサーバとしてのマスター側端末装置1に送信する操作内容データ送信手段として機能する。
【0080】
ステップS250において操作入力がなかったと判断した場合、又は、ステップS253の処理の後、CPU101は、マスター側端末装置1から、マスター側操作内容データ又は他のスレーブ側端末装置1に係るスレーブ側操作内容データを受信したか否かを判断する(ステップS260)。
マスター側操作内容データ又は他のスレーブ側端末装置1に係るスレーブ側操作内容データを受信したと判断した場合、CPU101は、受信した操作内容データに応じて他プレーヤキャラクタを動作させ、オブジェクト位置情報を更新する(ステップS261)。
【0081】
ステップS260においてマスター側操作内容データ又は他のスレーブ側端末装置1に係るスレーブ側操作内容データを受信していないと判断した場合、又は、ステップS261の処理の後、CPU101は、第1ディスプレイ11に各キャラクタの動作後の画像を表示する(ステップS262)。また、第2ディスプレイ12には、プレーフィールド全体の見取り図を表示する(図示せず)。
【0082】
次に、ステップS265において、CPU101は、ステージのクリア条件を満たしたか否かを判断し、ステージのクリア条件を満たしていないと判断した場合には、処理をステップS250に戻す。一方、ステージのクリア条件を満たしたと判断した場合には、本サブルーチンを終了する。
【0083】
図16、図17は、第1ディスプレイに表示される画像の一例を示す図である。
図16に示すにように、第1ディスプレイには、キャラクタ95が、武器を振り上げてキャラクタ94を攻撃しようとしている様子が示されている。キャラクタ94は、マスター側端末装置1を操作するプレーヤにより操作されるキャラクタであり、キャラクタ95は、スレーブ側端末装置1を操作するプレーヤにより操作されるキャラクタである。
図17では、図16に示したキャラクタ95の攻撃に対して、キャラクタ94が後退してこれを防いでいる様子が示されている。
【0084】
ここで、マスター側端末装置1において、図16に示す画像が表示されてから、図17に示す画像が表示される場合についての処理について図14を用いてながら説明する。
マスター側端末装置1においては、キャラクタ94が操作キャラクタに相当し、キャラクタ95が他プレーヤキャラクタに相当する。
マスター側端末装置1では、キャラクタ95(他プレーヤキャラクタ)にキャラクタ94(操作キャラクタ)を攻撃させる旨を示す操作内容データを受信すると(図14、ステップS210:YES)、キャラクタ95に、キャラクタ94を攻撃させる(図14、ステップS211)。その結果、その後に実行される画像表示処理(図14、ステップS223)により、キャラクタ95が、キャラクタ94を攻撃する画像が表示される(図16参照)。
その後、マスター側端末装置1を操作するプレーヤにより操作レバー118、操作スイッチ119が操作され、キャラクタ94(操作キャラクタ)を後退させて攻撃を防御する操作入力があった場合には(図14、ステップS200:YES)、操作キャラクタとしてのキャラクタ94を当該入力に応じて動作させる(図14、ステップS201)。その結果、その後に実行される画像表示処理(図14、ステップS223)により、キャラクタ95の攻撃に対して、キャラクタ94が後退して攻撃を防御する画像が表示される(図17参照)。
【0085】
次に、スレーブ側端末装置1において、図16に示す画像が表示されてから、図17に示す画像が表示される場合についての処理について図15を用いてながら説明する。
スレーブ側端末装置1においては、キャラクタ95が操作キャラクタに相当し、キャラクタ94が他プレーヤキャラクタに相当する。
スレーブ側端末装置1では、スレーブ側端末装置1を操作するプレーヤにより操作レバー118、操作スイッチ119が操作され、操作キャラクタとしてのキャラクタ95に他プレーヤキャラクタとしてのキャラクタ94を攻撃させる操作入力があった場合には(図15、ステップS250:YES)、操作キャラクタとしてのキャラクタ95を当該入力に応じて動作させる(図15、ステップS251)。その結果、その後に実行される画像表示処理(図15、ステップS262)により、キャラクタ95(操作キャラクタ)がキャラクタ94(他プレーヤキャラクタ)を攻撃する画像が表示される(図16参照)。
その後、キャラクタ94(他プレーヤキャラクタ)を後退させてキャラクタ95の攻撃を防御する旨を示す操作内容データを受信すると(図15、ステップS261:YES)、キャラクタ94(他プレーヤキャラクタ)を当該入力に応じて動作させる。その結果、その後に実行される画像表示処理(図25、ステップS262)により、キャラクタ95の攻撃に対して、キャラクタ94が後退して攻撃を防御する画像が表示される(図17参照)。
【0086】
以上、ゲームシステム500、マスター側端末装置1及びスレーブ側端末装置1によれば、ゲームサーバとしてのマスター側端末装置1は、ゲーム開始時に、スレーブ側端末装置1が計時する時刻を同期させる。そして、ゲーム装置としてのスレーブ側端末装置1では、操作レバー118、操作スイッチ119が操作されると、操作された時刻を示すスレーブ側操作時刻データが含められた、操作内容を示すスレーブ側操作内容データがマスター側端末装置1に送信される。
また、ゲーム装置としてのマスター側端末装置1では、操作レバー118、操作スイッチ119が操作されると、操作された時刻を示すマスター側操作時刻データが取得される。
ゲームサーバとしてのマスター側端末装置1では、取得したマスター側操作時刻データと、スレーブ側端末装置1から受信したスレーブ側操作内容データに含まれるスレーブ側操作時刻データを比較して、各端末装置1においてなされた操作入力の順を判断し、判断した操作入力の順と、操作内容データが示す操作内容とに基づいて、ゲームを進行する。従って、ゲームサーバとしてのマスター側端末装置1が受信する操作内容データの順自体が、実際に各端末装置1(ゲーム装置)において各プレーヤが操作した順ではなくとも、ゲームサーバとしてのマスター側端末装置1において進行するゲーム自体は、実際に各端末装置1(ゲーム装置)において各プレーヤが操作した順に、その操作内容に基づいて行われる。その結果、各スレーブ側端末装置1(ゲーム装置)とゲームサーバとしてのマスター側端末装置1との間に通信速度の違いがあっても、ゲームの公平性を保つことが可能になる。
【0087】
本実施形態では、マスター側端末装置1が、本発明におけるゲームサーバであり、且つ、本発明におけるゲーム装置である場合について説明した。すなわち、本発明におけるゲームサーバの機能を端末装置1(マスター側端末装置1)が備えている場合について説明した。しかしながら、本発明においては、ゲーム装置とゲームサーバとが別々に設けられていてもよい。
【0088】
本実施形態では、マスター側端末装置1から現在時刻を示すデータを送信することにより、同一のプレーフィールドでゲームを行うすべてのスレーブ側端末装置1が備える内蔵時計120を同期させる場合について説明したが、本発明において、時刻同期手段が、時刻を同期させる方法は、これに限定されない。時刻を同期させる方法としては、例えば、計時手段を同期させるための調整ゲームを実行し、この調整ゲームにおいて各ゲーム装置から送信される操作内容データの受信タイミングに基づいて、各ゲーム装置から送信されるデータの遅延時間を算出し、この遅延時間を加味して、時刻調整信号を各ゲーム装置に送信する方法が挙げられる。
【0089】
本実施形態では、1の操作内容データを受信してから所定の受付期間を経過しても他の操作内容データを受信しない場合には、当該他の操作内容データに係る操作入力がなかったものとみなして操作入力の順を判断する場合について説明した。この場合、通信遅延時間が長く、他の操作内容データを、受付期間の経過後に受信した場合には、当該他の操作内容データは、ゲームに反映されない。しかしながら、ゲームサーバは、当該他の操作内容データを受信した時刻と、当該他の操作内容データに含まれる操作時刻データとに基づいて、当該他の操作内容データの送信元のゲーム装置との通信における遅延時間を算出することが可能である。そのため、ゲームサーバは、その後のゲーム進行においては、当該ゲーム装置との通信に関して、受付期間を、算出した遅延期間に基づいて変更することができる。これにより、実際には操作したにも関わらず、受付期間の経過(所謂、通信遅延によるタイムアウト)により操作内容がゲームに反映されないことを防止することが可能になる。
また、上述のようにして遅延時間を算出した場合、その後のゲームの進行においては、操作時刻データを用いなくとも、遅延時間を加味して操作入力の順を判断することが可能になる。従って、本発明において、上述のようにして遅延時間を算出する構成とした場合には、少なくとも、遅延時間の算出が行われるまで、操作内容データに、操作時刻データを含めることとすればよく、その後は操作内容データに操作時刻データを含めない構成としてもよい。これにより、ゲーム装置における処理を簡略化することができるからである。
【0090】
以上、本発明の実施形態を説明したが、具体例を例示したに過ぎず、特に本発明を限定するものではなく、各手段等の具体的構成は、適宜設計変更可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【図面の簡単な説明】
【0091】
【図1】本実施形態に係るゲームシステムの構成図である。
【図2】1つの店舗に設置された15台の端末装置とホール用表示装置との外観を示す斜視図である。
【図3】本実施形態に係るゲームシステムにおいて実行されるゲームの構成を説明するための図である。
【図4】端末装置の外観を示す斜視図である。
【図5】端末装置のハードウェア構成を示すブロック図である。
【図6】センターサーバのハードウェア構成を示すブロック図である。
【図7】履歴データを示す図である。
【図8】プレーヤ参加情報を示す図である。
【図9】端末装置及びセンターサーバにおけるゲーム開始までの処理の流れを示すフローチャートである。
【図10】端末装置において実行されるゲーム処理Aのサブルーチンを示すフローチャートである。
【図11】第1ディスプレイ及び第2ディスプレイに表示される画像の一例を示す図である。
【図12】第1ディスプレイ及び第2ディスプレイに表示される画像の一例を示す図である。
【図13】第1ディスプレイ及び第2ディスプレイに表示される画像の一例を示す図である。
【図14】マスター側端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートである。
【図15】スレーブ側端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートである。
【図16】第1ディスプレイに表示される画像の一例を示す図である。
【図17】第1ディスプレイに表示される画像の一例を示す図である。
【符号の説明】
【0092】
1 端末装置
2 店舗サーバ
3 センターサーバ
4 通信回線
5 専用線
6 ホール用表示装置
8 IDカード
10 筐体
11 第1ディスプレイ
12 第2ディスプレイ
13 スピーカ
14 タッチパネル
15 コイン投入口
16 IDカード挿入口
18 操作台
90 操作キャラクタ
91、92 敵キャラクタ
94、95 キャラクタ(操作キャラクタ又は他プレーヤキャラクタ)
100、300 制御部
101、301 CPU
102、302 ROM
103、303 RAM
104 通信用インターフェイス回路
111 第1描画処理部
112 第2描画処理部
113 音声再生部
115 コインセンサ
116 IDカードリーダ
118 操作レバー
119(119a、119b、119c) 操作スイッチ
120 内蔵時計
304 インターフェイス回路群
500 ゲームシステム

【特許請求の範囲】
【請求項1】
複数のゲーム装置と、前記複数のゲーム装置と通信回線を介してデータの送受信を行うことが可能なゲームサーバとを備えたゲームシステムであって、
前記複数の各ゲーム装置は、
時刻を計時する計時手段と、
プレーヤによる操作に応じて操作信号を出力する操作手段と、
前記操作手段から出力される操作信号を検出したことを契機として、前記操作手段が操作された時刻を示す操作時刻データを前記計時手段から取得する操作時刻データ取得手段と、
前記操作手段から出力された操作信号に基づく操作内容データに、前記操作時刻データ取得手段が取得した操作時刻データを含めて、前記ゲームサーバに送信する操作内容データ送信手段と
を備え、
前記ゲームサーバは、
ゲーム開始時に、前記複数の各ゲーム装置が備える計時手段が計時する時刻を同期させる時刻同期手段と、
前記複数の各ゲーム装置から操作内容データを受信する操作内容データ受信手段と、
前記操作内容データ受信手段が前記複数の各ゲーム装置から受信した操作内容データに含まれる操作時刻データを比較して、前記複数の各ゲーム装置においてなされた操作入力の順を判断する操作順判断手段と、
前記操作順判断手段が判断した操作入力の順と、前記操作内容データ受信手段が受信した操作内容データが示す操作内容とに基づいて、ゲームを進行するゲーム進行手段と
を備えたことを特徴とするゲームシステム。
【請求項2】
請求項1に記載のゲームシステムを構成するゲームサーバであって、
ゲーム開始時に、前記複数の各ゲーム装置が備える計時手段が計時する時刻を同期させる時刻同期手段と、
前記複数の各ゲーム装置から操作内容データを受信する操作内容データ受信手段と、
前記操作内容データ受信手段が前記複数の各ゲーム装置から受信した操作内容データに含まれる操作時刻データを比較して、前記複数の各ゲーム装置においてなされた操作入力の順を判断する操作順判断手段と、
前記操作順判断手段が判断した操作入力の順と、前記操作内容データ受信手段が受信した操作内容データが示す操作内容とに基づいて、ゲームを進行するゲーム進行手段と
を備えたことを特徴とするゲームサーバ。

【図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】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate