説明

ゲーム装置、及び、ゲームサーバ

【課題】 ゲーム装置とゲームサーバとの間でデータの送受信を行いながら進行するゲームにおいて、通信遅延等に起因して発生する違和感を取り除くことが可能なゲーム装置を提供すること。
【解決手段】 プレーヤが操作する操作キャラクタの動作に関する操作をする手段と、入力された操作に基づく操作内容データをゲームサーバに送信する手段と、他のプレーヤが操作する他プレーヤキャラクタの動作に関する他キャラクタ動作データをゲームサーバから受信する手段と、入力される操作に応じて操作キャラクタの動作を制御するとともに、受信する他キャラクタ動作データに応じて他プレーヤキャラクタの動作を制御する動作制御手段と、操作内容データを送信してから所定期間内に、他キャラクタ動作データを受信しなかったと判断した場合には、他プレーヤキャラクタに所定の動作を行わせる偽装制御手段とを備えたゲーム装置。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置、及び、複数のゲーム装置と通信回線を介して接続され、複数の上記ゲーム装置において共通のゲーム空間で進行するゲームを制御するゲームサーバに関する。
【背景技術】
【0002】
近年、通信回線を介して複数のゲーム装置を接続し、これら複数のゲーム装置間でデータの送受信を行いながら進行するゲームが多数登場している。このような通信を使用したゲームに起こり得る根本的な問題として、ゲーム装置間又はゲーム装置とゲームサーバとの間での通信タイムラグや通信切断を挙げることができる。そのため、このような問題から生じる違和感に対してなんらかの処理がなされる必要があった。
【0003】
従来、ゲーム装置毎に行われるBGMの演奏に、ずれが生じることを解消するために、遅延時間を考慮して演奏の同期データを設定する通信ゲームシステムが存在する(例えば、特許文献1参照)。また、複数のゲーム装置が接続されたホストコンピュータが、いずれのゲーム装置から送信されてくるデータに対しても遅延時間を付加して個別にゲーム結果を導く通信ゲームシステムが存在する(例えば、特許文献2参照)。また、サッカーボールのような中立なキャラクタに関するデータ処理を複数のゲーム装置で切り替えて実行する機能を備えたゲーム装置が存在する(例えば、特許文献3参照)。また、各ゲーム装置間の遅延時間を予め行われる遅延チェックによって割り出して、以降の遅延時間に反映させるデータ処理方法が存在する(例えば、特許文献4参照)。特許文献1〜4の記載によれば、通信速度に起因して発生する音や画像のずれによる違和感を取り除き得る。
【0004】
【特許文献1】特開2000−153075号公報
【特許文献2】特開2001−17735号公報
【特許文献3】特開2001−149658号公報
【特許文献4】特開2001−198363号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、通信速度の違いに起因する違和感に対処するだけでは、上述したゲームにおいて発生する違和感を取り除くことができない場合があるといった問題があった。このような問題に鑑みて鋭意検討した結果、本発明者は、上述したゲームにおいては、多数のゲーム装置がゲームサーバ(ゲームサーバとして機能するゲーム装置)に接続することになるため、このゲームサーバに過度の負荷がかかった結果、処理速度が低下して違和感が発生する場合があることを見出した。ところが、上述したゲームにおける遅延時間の問題は、通信速度や処理速度といった種々の要素が複雑に絡み合っているため、音や画像のずれにより生じる違和感を完全に取り除くことは困難であるといった問題があった。
【0006】
本発明は、上述した課題に鑑みてなされたものであり、その目的は、通信回線を介して接続された複数のゲーム装置とゲームサーバとの間でデータの送受信を行いながら進行するゲームにおいて、通信の遅延やゲームサーバの処理速度の低下に起因して発生する違和感をより完全に取り除くことが可能なゲーム装置、及び、ゲームサーバを提供することにある。
【課題を解決するための手段】
【0007】
以上のような目的を達成するために、本発明は、以下のようなものを提供する。
(1) ゲームの進行を制御するゲームサーバと通信回線を介して接続されたゲーム装置であって、
プレーヤが操作する操作キャラクタの動作に関する操作を入力可能な操作入力手段と、
上記操作入力手段から入力された操作に基づく操作内容データを上記ゲームサーバに送信する操作内容データ送信手段と、
他のプレーヤが操作する他プレーヤキャラクタの動作に関する他キャラクタ動作データを上記ゲームサーバから受信する他キャラクタ動作データ受信手段と、
上記操作入力手段から入力される操作に応じて上記操作キャラクタの動作を制御するとともに、上記他キャラクタ動作データ受信手段から受信する他キャラクタ動作データに応じて他プレーヤキャラクタの動作を制御する動作制御手段と、
上記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを上記ゲームサーバから受信しなかったと判断した場合には、上記動作制御手段が制御する他プレーヤキャラクタに所定の動作を行わせる偽装制御手段と
を備えたことを特徴とするゲーム装置。
【0008】
(1)の発明によれば、操作入力手段(例えば、レバーやボタン等)から入力された操作に基づく操作内容データをゲームサーバに送信してから所定期間内に、当該操作内容データに応じた他のプレーヤが操作する他プレーヤキャラクタの動作に関する他キャラクタ動作データを上記ゲームサーバから受信しなかったと判断した場合には、他プレーヤキャラクタに所定の動作(例えば、対戦ゲームにおける防御)を行わせる。他プレーヤキャラクタが行う所定の動作は、ゲームサーバから所定期間内に他キャラクタ動作データを受信しなかった場合に、当該ゲーム装置において行われるものであり、この所定の動作自体は、当該ゲーム装置とゲームサーバ間での通信速度や、ゲームサーバの処理速度には影響を受けない。従って、通信の遅延やゲームサーバの処理速度の低下に起因して発生する違和感をより完全に取り除くことが可能である。
【0009】
さらに、本発明は、以下のようなものを提供する。
(2) 上記(1)のゲーム装置であって、
他プレーヤキャラクタの動作に関する偽装データを記憶する偽装データ記憶手段
を備え、
上記偽装制御手段は、上記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを上記ゲームサーバから受信しなかったと判断した場合には、上記動作制御手段が制御する他プレーヤキャラクタに、上記偽装データ記憶手段のなかから抽出した偽装データに基づいた動作を行わせることを特徴とする。
【0010】
(2)の発明によれば、操作内容データをゲームサーバに送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを上記ゲームサーバから受信しなかったと判断した場合には、他プレーヤキャラクタに、偽装データ記憶手段(例えば、ROM)のなかから抽出した偽装データに基づいた動作を行わせる。従って、偽装データ記憶手段に記憶する偽装データを変更することにより、他プレーヤキャラクタに行わせることができる動作を変更することかできる。
【0011】
さらに、本発明は、以下のようなものを提供する。
(3) 上記(1)のゲーム装置であって、
上記他キャラクタ動作データ受信手段から最後に受信した他キャラクタ動作データに基づいて、他プレーヤキャラクタの動作を決定する動作決定手段
を備え、
上記偽装制御手段は、上記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを上記ゲームサーバから受信しなかったと判断した場合には、上記動作制御手段が制御する他プレーヤキャラクタに、上記動作決定手段が決定した動作を行わせることを特徴とする。
【0012】
(3)の発明によれば、ゲームサーバから最後に受信した他キャラクタ動作データに基づいて、他プレーヤキャラクタの動作を動作決定手段(例えば、CPU)が決定する。そして、操作内容データをゲームサーバに送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを上記ゲームサーバから受信しなかったと判断した場合には、他プレーヤキャラクタに、上記動作決定手段が決定した動作を行わせる。従って、ゲームサーバから最後に受信した他キャラクタ動作データに基づいた動作を他プレーヤキャラクタに行わせるため、他キャラクタ動作データに基づく動作と、上記動作決定手段が決定した動作とを一連の動作とすることができる。
【0013】
さらに、本発明は、以下のようなものを提供する。
(4) 複数のゲーム装置と通信回線を介して接続され、複数の上記ゲーム装置において共通のゲーム空間で進行するゲームを制御するゲームサーバであって、
各プレーヤが操作するキャラクタの動作に関するキャラクタ動作データを各上記ゲーム装置から受信するキャラクタ動作データ受信手段と、
1の上記ゲーム装置から第1のキャラクタ動作データを受信してから所定期間内に、他の上記ゲーム装置から、当該第1のキャラクタ動作データに応じた第2のキャラクタ動作データを受信しなかったと判断した場合には、当該他のゲーム装置に係るキャラクタが所定の動作を行ったことを示す偽装動作データを当該他のゲーム装置以外のゲーム装置に送信する偽装動作データ送信手段と
を備えたことを特徴とするゲームサーバ。
【0014】
(4)の発明によれば、1のゲーム装置から第1のキャラクタ動作データを受信してから所定期間内に、他のゲーム装置から、当該第1のキャラクタ動作データに応じた第2のキャラクタ動作データを受信しなかったと判断した場合には、当該他のゲーム装置に係るキャラクタが所定の動作を行ったことを示す偽装動作データを当該他のゲーム装置以外のゲーム装置に送信する。その結果、偽装動作データを受信した当該他のゲーム装置以外のゲーム装置では、偽装動作データに基づく動作が行われることになる。従って、他のゲーム装置と当該ゲームサーバとの通信が遅延又は遮断した場合に、当該他のゲーム装置以外のゲーム装置における、当該他のゲーム装置に係るキャラクタの動作を違和感のないものとすることができる。
【0015】
さらに、本発明は、以下のようなものを提供する。
(5) 上記(4)のゲームサーバであって、
当該他のゲーム装置から最後にキャラクタ動作データを受信した後、1度も当該他のゲーム装置からキャラクタ動作データを受信することなく、上記偽装動作データ送信手段が偽装データを所定回数送信した場合に、当該キャラクタの動作を制御するキャラクタ動作制御手段
を備え、
上記偽装動作データ送信手段は、上記キャラクタ動作制御手段の制御に基づく偽装動作データを当該他のゲーム装置以外のゲーム装置に送信することを特徴とする。
【0016】
(5)の発明によれば、当該他のゲーム装置から最後にキャラクタ動作データを受信した後、1度も当該他のゲーム装置からキャラクタ動作データを受信することなく、偽装データを所定回数送信した場合に、当該キャラクタの動作を制御し、その制御に基づく偽装動作データを当該他のゲーム装置以外のゲーム装置に送信する。従って、偽装データを所定回数送信するという比較的長時間に渡って、当該他のゲーム装置からキャラクタ動作データを受信しない場合には、何らかの理由で通信が遮断されていることと考えられのであるが、このような場合に、コンピュータ(キャラクタ動作制御手段が制御するキャラクタ)との対戦に切り替えることができる。その結果、プレイを続けても全て所定の動作(例えば、対戦ゲームにおける防御)のみをし、他の動作(例えば、対戦ゲームにおける攻撃)を一切行わないという違和感のある演出となることを回避することができる。
【0017】
さらに、本発明は、以下のようなものを提供する。
(6) 上記(4)のゲームサーバであって、
当該他のゲーム装置から最後にキャラクタ動作データを受信した後、1度も当該他のゲーム装置からキャラクタ動作データを受信することなく、第2の所定期間が経過した場合に、当該キャラクタの動作を制御するキャラクタ動作制御手段
を備え、
上記偽装動作データ送信手段は、上記キャラクタ動作制御手段の制御に基づく偽装動作データを当該他のゲーム装置以外のゲーム装置に送信することを特徴とする。
【0018】
(6)の発明によれば、当該他のゲーム装置から最後にキャラクタ動作データを受信した後、1度も当該他のゲーム装置からキャラクタ動作データを受信することなく、第2の所定期間が経過した場合に、当該キャラクタの動作を制御し、その制御に基づく偽装動作データを当該他のゲーム装置以外のゲーム装置に送信する。従って、偽装データを第2の所定期間という比較的長時間に渡って、当該他のゲーム装置からキャラクタ動作データを受信しない場合には、何らかの理由で通信が遮断されていることと考えられのであるが、このような場合に、コンピュータ(キャラクタ動作制御手段が制御するキャラクタ)との対戦に切り替えることができる。その結果、プレイを続けても全て所定の動作(例えば、対戦ゲームにおける防御)のみをし、他の動作(例えば、対戦ゲームにおける攻撃)を一切行わないという違和感のある演出となることを回避することができる。
【0019】
さらに、本発明は、以下のようなものを提供する。
(7) 複数のゲーム装置を通信回線を介して接続し、複数の上記ゲーム装置において共通のゲームを進行するゲームシステムを構成するゲーム装置であって、
プレーヤが操作する操作キャラクタの動作に関する操作を入力可能な操作入力手段と、
上記操作入力手段から入力された操作に基づく操作内容データを他の上記ゲーム装置に送信する操作内容データ送信手段と、
他のプレーヤが操作する他プレーヤキャラクタの動作に関する他キャラクタ動作データを他の上記ゲーム装置から受信する他キャラクタ動作データ受信手段と、
上記操作入力手段から入力される操作に応じて上記操作キャラクタの動作を制御するとともに、上記他キャラクタ動作データ受信手段から受信する他キャラクタ動作データに応じて他プレーヤキャラクタの動作を制御する動作制御手段と、
上記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の上記ゲーム装置から受信しなかったと判断した場合には、上記動作制御手段が制御する、当該他のゲーム装置に係る他プレーヤキャラクタに所定の動作を行わせる偽装制御手段と
を備えたことを特徴とするゲーム装置。
【0020】
(7)の発明によれば、操作入力手段(例えば、レバーやボタン等)から入力された操作に基づく操作内容データを他のゲーム装置に送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の上記ゲーム装置から受信しなかったと判断した場合には、当該他のゲーム装置に係る他プレーヤキャラクタに所定の動作を行わせる。他プレーヤキャラクタが行う所定の動作は、他の上記ゲーム装置から所定期間内に他キャラクタ動作データを受信しなかった場合に、当該ゲーム装置において行われるものであり、この所定の動作自体は、当該ゲーム装置と他のゲーム装置と間での通信速度や、他のゲーム装置の処理速度には影響を受けない。従って、通信の遅延や他のゲーム装置の処理速度の低下に起因して発生する違和感をより完全に取り除くことが可能である。
【0021】
さらに、本発明は、以下のようなものを提供する。
(8) 上記(7)のゲーム装置であって、
他プレーヤキャラクタの動作に関する偽装データを記憶する偽装データ記憶手段
を備え、
上記偽装制御手段は、上記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の上記ゲーム装置から受信しなかったと判断した場合には、上記動作制御手段が制御する、当該他のゲーム装置に係る他プレーヤキャラクタに、上記偽装データ記憶手段のなかから抽出した偽装データに基づいた動作を行わせることを特徴とする。
【0022】
(8)の発明によれば、操作内容データを他のゲーム装置に送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の上記ゲーム装置から受信しなかったと判断した場合には、当該他のゲーム装置に係る他プレーヤキャラクタに、偽装データ記憶手段(例えば、ROM)のなかから抽出した偽装データに基づいた動作を行わせる。従って、偽装データ記憶手段に記憶する偽装データを変更することにより、他プレーヤキャラクタに行わせることができる動作を変更することかできる。
【0023】
さらに、本発明は、以下のようなものを提供する。
(9) 上記(7)のゲーム装置であって、
上記他キャラクタ動作データ受信手段から最後に受信した他キャラクタ動作データに基づいて、他プレーヤキャラクタの動作を決定する動作決定手段
を備え、
上記偽装制御手段は、上記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の上記ゲーム装置から受信しなかったと判断した場合には、上記動作制御手段が制御する、当該他のゲーム装置に係る他プレーヤキャラクタに、上記動作決定手段が決定した動作を行わせることを特徴とする。
【0024】
(9)の発明によれば、他のゲーム装置から最後に受信した他キャラクタ動作データに基づいて、他プレーヤキャラクタの動作を動作決定手段(例えば、CPU)が決定する。そして、操作内容データを他の上記ゲーム装置に送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の上記ゲーム装置から受信しなかったと判断した場合には、当該他のゲーム装置に係る他プレーヤキャラクタに、上記動作決定手段が決定した動作を行わせる。従って、他のゲーム装置から最後に受信した他キャラクタ動作データに基づいた動作を他プレーヤキャラクタに行わせるため、他キャラクタ動作データに基づく動作と、上記動作決定手段が決定した動作とを一連の動作とすることができる。
【発明の効果】
【0025】
本発明によれば、通信回線を介して接続された複数のゲーム装置とゲームサーバとの間でデータの送受信を行いながら進行するゲームにおいて、通信の遅延やゲームサーバの処理速度の低下に起因して発生する違和感をより完全に取り除くことが可能なゲーム装置、及び、ゲームサーバを提供することができる。
【発明を実施するための最良の形態】
【0026】
[第1実施形態]
図1は、第1実施形態に係るゲームシステムの構成図である。
ゲームシステム500は、複数の端末装置1と、複数の(ここでは15台の)端末装置1と各店舗毎に設けられた店舗サーバ2を介して通信可能に接続されたセンターサーバ3とを備え、さらに、店舗サーバ2を介して接続されたホール用表示装置6を店舗ごとに1台備えている。
【0027】
端末装置1は、プレーヤが操作レバー118、操作スイッチ119、タッチパネル14(図示せず)を介して行う所定の操作を受け付けるとともに、店舗サーバ2を介してセンターサーバ3や他の端末装置1から送信されるデータ等に基づいて、ゲームを進行するものである。
【0028】
なお、端末装置1には、それぞれ自機に固有のマシンIDが対応付けられている。
マシンIDには、端末装置1が接続されている店舗サーバ2ごとのコードと、端末装置1が配設されている店舗内での端末装置1ごとのコードとが含まれている。例えば、店舗Aの店舗サーバのコードがAであって、店舗A内における端末装置1のコードが1である場合には、この端末装置1のマシンIDはa1である。
【0029】
店舗サーバ2は、それぞれ複数(ここでは15台)の端末装置1、ホール用表示装置6、及び、センターサーバ3と通信可能に接続され、端末装置1とセンターサーバ3との間のデータの送受信を行う。
【0030】
センターサーバ3は、複数の端末装置1と店舗サーバ2を介して通信可能に接続されており、各プレーヤに関する履歴データ(図7参照)を有する。センターサーバ3は、本発明におけるマッチングサーバに相当するものであり、店舗サーバ2を介して端末装置1とデータの送受信を行うことにより、同一のプレーフィールドでゲームを行うプレーヤを決定し、さらに、同一のプレーフィールドでゲームを行うと決定した端末装置1のなかから、1の端末装置1をゲームサーバに指定する。ゲームサーバに指定された端末装置1(以下、マスター側端末装置1ともいう)は、同一のプレーフィールドでゲームを行うと決定された端末装置1間で実行されるゲームの進行を制御する。なお、このゲームシステムでは、最大6人まで同一のプレーフィールドにおいてゲームを行うことができる。
【0031】
ホール用表示装置6は、店舗サーバ2を介してセンターサーバ3と通信可能である。ホール用表示装置6は、サンターサーバ3の制御により、履歴データに基づいて集計されたゲームのランキング等が表示される。ホール用表示装置6は、端末装置1でゲームを行うすべてのプレーヤが視認可能に設置されている。
【0032】
図2は、1の店舗に設置された15台の端末装置とホール用表示装置との外観を示す斜視図である。
端末装置1は、本発明におけるゲーム装置に相当するものである。
なお、以下の説明では、ゲーム装置の一例として、2つのディスプレイ(第1ディスプレイ11及び第2ディスプレイ12)を備えた業務用ゲーム装置について説明するが、本発明は、この例に特に限定されず、家庭用ビデオゲーム装置を家庭用テレビジョンに接続することによって構成される家庭用ビデオゲーム装置、ビデオゲームプログラムを実行することによってビデオゲーム装置として機能するパーソナルコンピュータ等にも同様に適用することができる。
【0033】
図3は、本発明に係るゲームシステムにおいて実行されるゲームの構成を説明するための図である。
本実施形態において、端末装置1を用いて行われるゲームは、端末装置1を操作するプレーヤが、仮想ゲーム空間に存在するプレーフィールド上で操作キャラクタを操作して進行させるゲームであり、図3に示すように、対人戦が可能なステージと、対人戦が不可能なステージとの20のステージから構成されている。図3では、対人戦が可能なステージにのみその旨を記載している。
対人戦が不可能なステージ(以下、「ノーマルステージ」ともいう)では、1のプレーヤによりゲームが進行され、対人戦が可能なステージ(以下、「対人戦ステージ」ともいう)では、端末装置1を操作するプレーヤと、他の端末装置1を操作するプレーヤとが、同一のプレーフィールド上でキャラクタを操作して互いに対戦したり、協力したりしてゲームが進行される。従って、ノーマルステージにおいては、端末装置1では、他の端末装置1やセンターサーバ3と通信を行うことなく、ゲームが進行され、対人戦ステージにおいては、他の端末装置1やセンターサーバ3と通信を行いながら、ゲームが進行される。
【0034】
図4は、端末装置の外観を示す斜視図である。
図4に示すように、端末装置1は、筐体10と、筐体10の前面に所定角度で傾斜するように設けられた第1ディスプレイ11と、第1ディスプレイ11の上方に設けられた第2ディスプレイ12とを備えている。第1ディスプレイ11及び第2ディスプレイ12には、操作キャラクタを表す操作キャラクタ画像と、敵キャラクタを表す敵キャラクタ画像と、プレーフィールドを表すプレーフィールド画像とを含むゲーム画像が表示される(例えば、図11参照)。
【0035】
第1ディスプレイ11の前方には、タッチパネル14が設置されている。タッチパネル14は、プレーヤによる接触を検出可能であり、当該接触を検出した際に接触位置を示す検出信号を出力する。プレーヤはタッチパネル14に触れて各種の指示を入力することが可能である。
第2ディスプレイ12の左右両側には、音声を出力するスピーカ13が設置されている。
【0036】
第1ディスプレイ11の下側には、コインが投入されるコイン投入口15と、IDカードが挿入されるIDカード挿入口16とが設けられている。コイン投入口15に投入されたコインは、コインセンサ115(図示せず)によって検出される。また、IDカード挿入口16に挿入されたIDカードは、IDカードリーダ116(図示せず)によってIDデータが読み取られる。
【0037】
筐体10には、前方へ突出する操作台18が設けられており、操作台18の上面には、上下左右への指示入力が可能な操作レバー118及び複数の操作スイッチ119a、119b、119c(以下、操作スイッチ119a、119b、119cを総称して、操作スイッチ119ともいう)が設けられている。プレーヤは、操作レバー118、操作スイッチ119を操作して所定の指示を入力することが可能である。操作レバー118及び操作スイッチ119は、本発明における操作入力手段に相当するものである。
【0038】
図5は、端末装置のハードウェア構成を示すブロック図である。
制御部100は、端末装置1の全体の動作を制御するもので、CPU101と、ROM102と、RAM103とを備える。
【0039】
ROM102は、操作キャラクタ、敵キャラクタ、他プレーヤキャラクタ等を構成するキャラクタオブジェクト、背景を構成する背景オブジェクト、テクスチャデータ、各種の画像データ等を記憶する。キャラクタオブジェクト、背景オブジェクト等は3次元描画が可能なように、所定数のポリゴンで構成されている。
【0040】
また、ROM102は、ノーマルステージにおけるゲームを進行させるためのノーマルステージ用ゲームプログラムを記憶する。CPU101は、ノーマルステージが選択された場合には、ROM102に格納されたノーマルステージ用ゲームプログラムを実行し、ゲームを進行する処理を行う。
【0041】
また、ROM102は、対人戦ステージにおけるゲームを進行させるための対人戦ステージ用ゲームプログラムを記憶する。CPU101は、センターサーバ3によりゲームサーバとして指定された場合には、ROM102に格納された対人戦ステージ用ゲームプログラムを実行し、ゲームを進行する処理を行う。
【0042】
また、偽装データ記憶手段としてのROM102は、複数の偽装データを有する偽装データ抽出テーブルを記憶する。偽装データは、キャラクタを動作させるためのデータであり、1のプレーヤがある操作を行った際、他のプレーヤがその操作に対する操作を所定期間内に行わなかった場合に抽出されるデータである。通常、1のプレーヤがある操作を行った場合(例えば、攻撃を行った場合)、他のプレーヤは、その操作に対する操作(例えば、防御)を行う。従って、1のプレーヤがある操作を行った後、所定期間内にその操作に対する操作がなかった場合には、通信遅延等が発生しているとして、偽装データが抽出され、プレーヤの操作とは無関係に、キャラクタを動作させるのである。
【0043】
ROM102は、端末装置1に内蔵される記憶媒体であってもよく、装着脱可能な記憶媒体であってもよい。また、その両者からROM102が構成されていてもよい。
また、ROM102に記憶された各種データのうち装着脱可能な記録媒体に記憶され得るデータは、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等のドライバで読み取り可能にしてもよい。この場合、記録媒体は、例えばハードディスク、光ディスク、フレキシブルディスク、CD、DVD、半導体メモリ等である。
【0044】
RAM103は、処理途中の情報、変数等を一時的に格納する。例えば、オブジェクト位置情報、プレーヤ参加情報(図8参照)、プレーヤ情報等を記憶する。
オブジェクト位置情報は、プレーフィールド内におけるキャラクタ(操作キャラクタ、敵キャラクタ、他プレーヤキャラクタ等)や背景オブジェクトの位置を示すデータであり、第1ディスプレイ11及び第2ディスプレイ12に表示される画像の表示位置座標が含まれる。
プレーヤ参加情報は、同一のプレーフィールドでゲームを行うプレーヤ(端末装置1)を管理する情報であり、対人戦ステージが選択され且つゲームサーバとして指定された場合に、ゲーム開始時にセンターサーバ3から送信される。プレーヤ情報は、ゲームサーバに指定された場合に、ゲームの開始時に生成される情報であり、同一のプレーフィールドでゲームを行うプレーヤの履歴データから構成されている。この履歴データは、ゲーム開始時にセンターサーバ3から送信される。
【0045】
また、RAM103には、動作フラグやタイマを記憶する領域が設けられている。
動作フラグは、キャラクタが行う動作のパターンを示すフラグである。
【0046】
通信用インターフェイス回路104は、店舗サーバ2を介してサンターサーバ3や他の端末装置1とデータ(例えば、オブジェクト位置情報、履歴データ、操作内容データ等)の送受信を行うためのものである。操作内容データは、操作レバー118、操作スイッチ119、タッチパネル14を介してプレーヤが入力した操作入力に基づくデータであり、操作の内容を示すデータである。
【0047】
第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には、操作キャラクタの全身が表示されることはないが、操作キャラクタの視点から視認し得る手足等が表示される場合がある。
【0048】
音声再生部113は、ゲームサーバとしての当該端末装置1又はゲームサーバとしての他の端末装置1からの指示に従って、所定の音声やBGM等をスピーカ12に出力するものである。
タッチパネル14は、第1ディスプレイの前方に設けられた矩形状の薄層体であり、縦横にそれぞれ所定ピッチで線状の透明材からなる感圧素材を配列したものを透明カバーで被覆する等により構成されたものである。このタッチパネル14は従来公知のものを採用可能である。タッチパネル14は、接触された際に接触位置を示す検出信号を出力する。
【0049】
コインセンサ115は、コイン投入口15から投入されたコインを検出した際に所定の信号を制御部100に送信する。IDカードリーダ116は、IDカード挿入口16に挿入されたIDカード8から、IDコードを読み取り、制御部100に供給する。操作レバー118及び操作スイッチ119は、プレーヤによって操作された際に所定の信号を制御部100に供給する。
【0050】
図6は、センターサーバのハードウェア構成を示すブロック図である。
センターサーバ3は、センターサーバ3の全体の動作を制御する制御部300を備えている。制御部300は、CPU301と、ROM302と、RAM303とを備えている。
【0051】
ROM302には、エントリー要求を受け付けた端末装置1のなかから同一のプレーフィールドでゲームを行う端末装置1を決定するためのプログラムや、各種データの記憶(更新)、送受信の処理を行うための所定のプログラムが記憶されている。
【0052】
ROM302は、センターサーバ3に内蔵される記憶媒体であってもよく、装着脱可能な記憶媒体であってもよい。また、その両者からROM302が構成されていてもよい。
ROM302に記憶された各種データのうち装着脱可能な記録媒体に記憶され得るデータは、例えばハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等のドライバで読み取り可能にしてもよく、この場合、記録媒体は、例えばハードディスク、光ディスク、フレキシブルディスク、CD、DVD、半導体メモリ等である。
【0053】
RAM303は、例えば、各プレーヤのIDデータを含む履歴データ(図7参照)、プレーヤ参加情報(図8参照)等を記憶する。
通信用インターフェイス回路304は、各種データをインターネット等からなるネットワークを介して複数の店舗サーバ2に接続された複数の端末装置1やホール用表示装置6と送受信するためのものである。
【0054】
図7は、履歴データの一例を示す図である。
履歴データは、IDデータ毎に記憶されている。IDデータは、プレーヤごと(本実施形態では、P1、P2・・・)に割り当てられるデータであり、IDカード8(図示せず)に記憶されたデータに対応している。
操作キャラクタの欄には、操作キャラクタの各種パラメータが記憶されている。また、武器、防具の欄には、プレーヤが所有する武器又は防具毎に、その各種パラメータが記憶されている。武器や防具の熟練度は、これらを操作キャラクタが用いて(装備して)格闘することにより変化する。そして熟練度が変化することに応じて攻撃力や防御力等の各種パラメータが変化する。
【0055】
図8は、プレーヤ参加情報を示す図である。
左側の欄から順に、所定のルールに則ってプレーフィールド(ステージ)毎に付与されるプレーフィールドの識別番号であるプレーフィールド番号(FN)と、センターサーバ3に受け付けられた順番である受付順(RN)と、端末装置1の識別情報であるマシンID(CN)と、店舗サーバ2の識別番号である店舗サーバ記号(SN)と、端末装置1を操作するプレーヤの区分を表すプレーヤ区分(PC)との情報が格納されている。
プレーヤ区分PCには、端末装置1が人間のプレーヤによって操作される場合に「プレーヤ」が格納され、CPUプレーヤによって操作される場合に「CPUプレーヤ」が格納される。例えば、プレーフィールド番号1では、端末装置a1、端末装置a2、端末装置b1、端末装置c1、端末装置c2、端末装置c3の順にセンターサーバ3によってゲームへの参加を受け付けられたことを示している。
【0056】
図8に示したプレーヤ参加情報から、プレーフィールド番号1のプレーフィールドは、端末装置a1、a2、b1、c1、c2、c3から構成されていること、端末装置a1、a2は店舗サーバAに専用線を介して接続されていること、端末装置a1、a2、b1、c1、c2、c3は人間のプレーヤによって操作されていること等がわかる。
【0057】
このようにしてエントリーが受け付けられた後、同一のプレーフィールドでゲームを行うと決定した端末装置1のなかから、1の端末装置1がゲームサーバに指定され、当該端末装置1が、そのプレーフィールドにおけるゲームの進行を管理する。
例えば、図8に示すように、プレーフィールド1に受け付けられた端末装置a1、端末装置a2、端末装置b1、端末装置c1、端末装置c2、端末装置c3のなかから端末装置a1がゲームサーバに指定された場合には、プレーフィールド1におけるゲームの進行は、端末装置1により管理される。
【0058】
図9は、端末装置及びセンターサーバにおけるゲーム開始までの処理の流れを示すフローチャートである。
まず、端末装置1のCPU101は、コイン投入口15からのコインの投入を受け付ける(ステップS100)。CPU101は、コインを検出した際にコインセンサ115から出力される所定の信号を受信した場合、IDカードリーダ116によって、IDカード挿入口16に挿入されたIDカード8から、プレーヤのIDコードを読み取る(ステップS101)。次に、プレーヤの操作によるパスワードの入力を受け付ける(ステップS102)。
【0059】
次に、CPU101は、読み取ったIDコードを、プレーヤの操作により入力されたパスワードと共に、通信用インターフェイス回路104により、専用線5を介し、店舗サーバ2を経由してセンターサーバ3に送信する(ステップS103)。
【0060】
センターサーバ3のCPU301は、RAM303に記憶されたIDコードのなかに、端末装置1から受信したIDコードがあるか否かを判断し、さらに、IDコードがあると判断した場合には、そのIDコードに対応付けられてRAM303に記憶されたプレーヤのパスワードと、端末装置1から受信したパスワードとが合致するか否かを判断することにより認証を行う(ステップS301)。CPU301は、その結果を応答信号として端末装置1に送信する(ステップS302)。
【0061】
センターサーバ3からの応答信号を受信した場合、ゲームモードの選択を受け付ける(ステップS104)。ゲームモードの選択としては、ゲームを行うステージの選択や、対戦相手の選択(例えば、同一店舗の端末装置1でゲームを行うプレーヤでゲームを行うか否かの選択、CPUプレーヤを参加させるか否かの選択等)を行うことが可能である。
【0062】
次に、CPU101は、選択されたステージを示す情報や対戦相手に関する情報等を含むエントリー要求データを、店舗サーバ2を経由してセンターサーバ3に送信する(ステップS105)。
【0063】
一方、センターサーバ3のCPU301は、エントリーを受け付けると(ステップS303)、エントリーを受け付けたステージが対人戦ステージであるか否かを判断する(ステップS304)。エントリーを受け付けたステージが対人戦ステージではない(ノーマルステージである)と判断した場合には(ステップS304:NO)、当該端末装置1でゲームを行うプレーヤの履歴データをIDデータに基づいて抽出し(ステップS307)、当該端末装置1に送信する(ステップS308)。
【0064】
端末装置1では、履歴データをプレーヤ情報として受信した後(ステップS107)、初期設定処理を行う(ステップS108)。この初期設定処理においては、キャラクタ、背景等をプレーフィールド内の所定位置に配置してオブジェクト位置情報を生成する。また、敵キャラクタの生命力、魔力、攻撃力、防御力、移動力、攻撃命中率、クリティカルヒット率、攻撃回避率等を含む敵キャラクタ情報を生成する。その後、当該端末装置1においてゲームを開始する(ステップS109)。これにより、端末装置1において、当該端末装置1を操作する1のプレーヤによるゲーム(ノーマルステージ、図10参照)が進行されることになる。
【0065】
一方、エントリーを受け付けたステージが対人戦ステージであると判断した場合には(ステップS304:YES)、図8に示したプレーヤ参加情報を更新する(ステップS305)。
次に、CPU301は、同一のプレーフィールドでゲームを行うプレーヤ(対戦者)を決定するとともに、ゲームサーバとなる端末装置1を決定する(ステップS306)。なお、所定期間が経過しても人間のプレーヤが6人に満たない場合には、CPUプレーヤを設定する。なお、以下では、端末装置1aがゲームサーバとして決定された場合について説明することにする。
【0066】
次に、CPU301は、同一のプレーフィールドでゲームを行うプレーヤの履歴データ(図7参照)をRAM303から抽出する(ステップS307)。次に、CPU301は、抽出した履歴データを、ゲームサーバとして決定した端末装置1(本実施形態では、端末装置1a)に送信する(ステップS308)。
【0067】
センターサーバ3から各プレーヤのゲーム履歴データを受信したゲームサーバとしての端末装置1(端末装置1a)は、初期設定処理を行う(ステップS107)。この初期設定処理においては、キャラクタ、背景等をプレーフィールド内の所定位置に配置してオブジェクト位置情報を生成する。また、CPUプレーヤとしての敵キャラクタの生命力、魔力、攻撃力、防御力、移動力、攻撃命中率、クリティカルヒット率、攻撃回避率等を含む敵キャラクタ情報を生成する。その後、オブジェクト位置情報を、同一プレーフィールドでゲームを行う他の端末装置1に送信する。
その後、ゲーム(対人戦ステージ、図14、図17参照)を開始する(ステップS109)。
【0068】
ゲームサーバとして決定されなかった端末装置1(以下、スレーブ側端末装置1ともいう)は、ステップS106の処理の後、ステップS107、ステップS108の処理を行わず、ゲームサーバとして決定された端末装置1の制御によりゲームを開始する(ステップS109)。
【0069】
図10は、端末装置1において実行されるゲーム処理Aのサブルーチンを示すフローチャートである。
ゲーム処理Aは、ゲームモード選択(図9、ステップS104参照)において、ノーマルステージが選択された場合に実行される処理である。ノーマルステージで行われるゲームは、当該端末装置1を操作する1のプレーヤにより進行するゲームであり、プレーヤが操作する操作キャラクタが、端末装置1(CPUプレーヤ)が操作する敵キャラクタと格闘を行いながら、プレーフィールド内を移動し、所定の目的地を検索するゲームである。
【0070】
まず、CPU101は、各種情報自動変動処理を実行する(ステップS10)。この処理において、CPU101は、敵キャラクタを移動させたり、敵キャラクタに操作キャラクタを攻撃させたりする等、プレーヤの操作入力とは別にゲームの進行に応じて変動する各種の情報を変動させて更新する。例えば、敵キャラクタを移動させた場合には、オブジェクト位置情報を更新する。
【0071】
次に、ステップS11において、CPU101は、操作レバー118を介して移動入力があったか否かを判断する。移動入力があったと判断した場合、CPU101は、操作入力に応じて操作キャラクタを移動させ、オブジェクト位置情報を更新する(ステップS12)。一方、移動入力がなかったと判断した場合、処理をステップS13に移す。
【0072】
ステップS13において、CPU101は、操作スイッチ119を介して攻撃入力があったか否かを判断する。攻撃入力があったと判断した場合、CPU101は、攻撃の射程距離内に敵キャラクタが存在するか否かを判断し(ステップS14)、射程距離内に敵キャラクタが存在すると判断した場合には(ステップS14:YES)、攻撃の命中判定を行う(ステップS15)。この処理において、CPU101は、操作キャラクタの攻撃命中率及びクリティカルヒット率と、敵キャラクタの攻撃回避率とに基づいて、他のキャラクタに対して攻撃が命中するか否かを判定し、攻撃が命中すると判定した場合には、キャラクタの攻撃力と他のキャラクタの防御力とに基づいて他のキャラクタが受けるダメージを算出して敵キャラクタ情報を更新し、操作キャラクタの攻撃動作に応じてオブジェクト位置情報を更新する(ステップS16)。
一方、射程距離内に敵キャラクタが存在しないと判断した場合には(ステップS14:NO)、操作キャラクタの攻撃動作に応じてオブジェクト位置情報を更新する(ステップS117)。
【0073】
ステップS13において攻撃入力がなかったと判断した場合、CPU101は、敵キャラクタから操作キャラクタに対して攻撃があったか否かを判断する(ステップS18)。敵キャラクタから攻撃があったと判断した場合、CPU101は、攻撃の命中判定を行う(ステップS19)。この処理において、CPU101は、敵キャラクタの攻撃命中率及びクリティカルヒット率と、操作キャラクタの攻撃回避率とに基づいて、他のキャラクタに対して攻撃が命中するか否かを判定し、攻撃が命中すると判定した場合には、敵キャラクタの攻撃力と装備している防具の防御力を加算した操作キャラクタの防御力とに基づいて他のキャラクタが受けるダメージを算出して操作キャラクタ情報を更新し、敵キャラクタの攻撃動作に応じてオブジェクト位置情報を更新する(ステップS20)。
【0074】
ステップS18において敵キャラクタから攻撃がなかったと判断した場合、CPU101は、オブジェクト位置情報に基づいて、第2ディスプレイ12に敵キャラクタが表示されているか否かを判断する。第2ディスプレイ12に敵キャラクタが表示されていると判断した場合(ステップS21:YES)、CPU101は、操作レバー118及び/又は操作スイッチ119を介して特定の操作入力(例えば、操作レバー118の上方向と操作スイッチ119a、119b、119cとが同時に操作される入力)があったか否かを判断する(ステップS22)。特定の操作入力があったと判断した場合、CPU101は、操作キャラクタを動作させて、操作キャラクタ視点を特定操作入力時の後方視点に移動させ、敵キャラクタと対峙させるようにオブジェクト位置情報を更新する(ステップS23)。
【0075】
ステップS21において第2ディスプレイ12に敵キャラクタが表示されていないと判断した場合、又は、ステップS22において特定の操作入力がなかったと判断した場合、CPU101は、その他入力されたコマンドに応じた処理を実行し(ステップS24)、当該処理に応じて、オブジェクト位置情報、操作キャラクタ情報、敵キャラクタ情報等の情報を更新する(ステップS25)。
【0076】
ステップ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においてその他入力されたコマンドに応じた処理を実行した場合、当該処理に応じた画像を表示する。
【0077】
次に、ステップS27において、CPU101は、ステージのクリア条件を満たしたか否かを判断し、ステージのクリア条件を満たしていないと判断した場合には、処理をステップS10に戻す。一方、ステージのクリア条件を満たしたと判断した場合には、処理をステップS28に移す。
【0078】
ステップS28において、CPU101は、操作キャラクタ情報を含むプレーヤ情報をセンターサーバ3に送信する。これにより、センターサーバ3は、受信したプレーヤ情報を履歴データとして記憶することとなる。ステップS28の処理の後、本サブルーチンを終了する。
【0079】
図11〜図13は、第1ディスプレイ及び第2ディスプレイに表示される画像の一例を示す図である。
図11に示すように、第1ディスプレイ11には、操作キャラクタ90が敵キャラクタ91に対峙している画像が表示され、第2ディスプレイ12には、プレーヤ(操作キャラクタ90)にとって死角となる背後から敵キャラクタ92が迫っている画像が表示されている。
例えば、操作キャラクタ90が敵キャラクタ91を退治した後(図12参照)、特定の操作入力があったときには、図13に示すように、第1ディスプレイ11には、操作キャラクタ90が敵キャラクタ92に対峙している画像が表示される。
【0080】
ここで、図11に示す画像が表示されてから、図13の画像が表示されるまでの処理について図10を用いて説明する。
操作キャラクタ90が敵キャラクタ91(図11参照)を退治した後、図12に示すように、第2ディスプレイ12には、敵キャラクタ92が背後から迫っている画像が表示されているので、図10のステップS21:YESに相当する。このとき、特定の操作入力があった場合、図10のステップS22:YESに相当する。その結果、ステップS23の処理が実行され、図13に示すように、第1ディスプレイ11には、操作キャラクタ90が敵キャラクタ92に対峙している画像が表示される。
【0081】
このように、背後から敵キャラクタ(例えば、敵キャラクタ92)が襲ってきても、プレーヤは、ディスプレイ12に表示される画像(サブゲーム画像)を確認しさえすれば、周囲を警戒するための操作(例えば、背後を振り返る操作等)を行わなくとも、このような敵キャラクタを視認し得る。
【0082】
図14は、マスター側端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートであり、図17は、スレーブ側端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートである。
ゲーム処理Bは、ゲームモード選択(図9、ステップS104参照)において、対人戦ステージが選択された場合に実行される処理である。対人戦ステージで行われるゲームは、1の端末装置1を操作するプレーヤと他の端末装置1を操作するプレーヤとにより進行するゲームであり、1のプレーヤが操作する操作キャラクタと、他のプレーヤが操作する他プレーヤキャラクタとが格闘を行う格闘ゲームである。
【0083】
対人戦ステージにおいては、ゲームサーバの機能を兼ね備えるマスター側端末装置1と、スレーブ側端末装置1とがデータの送受信を行いながらゲームを進行する。
まず、図14を用いてマスター側端末装置1のゲーム処理Bについて説明する。
まず、CPU101は、操作レバー118、操作スイッチ119を介して操作入力があったか否かを判断する(ステップS200)。操作入力があったと判断した場合、CPU101は、当該操作が攻撃に関するものであるか否かを判断する(ステップS201)。攻撃に関するものであると判断した場合、CPU101は、当該操作(攻撃操作)を示す動作フラグと、タイマ(T=t)とをRAM103にセットする。
【0084】
図15は、操作内容データと動作フラグとの関係を説明するための図である。
図15に示すように、操作内容データに対して、動作フラグが対応付けられている。ステップS202において、例えば、入力された操作が攻撃パターン1(後述する操作内容データA1に相当)を示す場合、動作フラグF1とタイマT=t(t>0)がセットされる。また、ステップS202において、例えば、入力された操作が攻撃パターン2(後述する操作内容データA2に相当)を示す場合、動作フラグF2とタイマT=tがセットされ、入力された操作が攻撃パターン3(後述する操作内容データA3に相当)を示す場合、動作フラグF3とタイマT=tがセットされる。タイマは、セットされた後、カウントダウンが開始される。また、カウントダウンの途中で動作フラグが新たにセットされた場合には、タイマをリセット(T=t)する。
【0085】
ステップS201において入力かされた操作が攻撃に関するものではないと判断した場合、又は、ステップS202の処理の後、操作入力に応じて操作キャラクタを動作させ、動作に応じてオブジェクト位置情報を更新する(ステップS203)。この処理を実行するとき、CPU101は、入力された操作に応じて操作キャラクタの動作を制御する動作制御手段として機能する。
【0086】
次に、ステップS204において、入力された操作(操作パターン)に基づく操作内容データを他キャラクタ動作データとしてスレーブ側の端末装置1に送信する。この処理を実行するとき、CPU101は、操作内容データをスレーブ側端末装置1(本発明における他のゲーム装置)に送信する操作内容データ送信手段として機能する。
【0087】
ステップS200において操作入力がなかったと判断した場合、又は、ステップS204の処理の後、CPU101は、スレーブ側端末装置1から他キャラクタ動作データを受信したか否かを判断する(ステップS210)。他キャラクタ動作データを受信するとき、CPU101は、他キャラクタ動作データをスレーブ側端末装置1(本発明における他のゲーム装置)から受信する他キャラクタ動作データ受信手段として機能する。他キャラクタ動作データを受信したと判断した場合、CPU101は、動作フラグがRAM103にセットされているか否かを判断する(ステップS211)。動作フラグがセットされていると判断した場合、すべての動作フラグをクリアし(ステップS212)、処理をステップS213に移す。一方、動作フラグがセットされていないと判断した場合、処理をステップS213に移す。
【0088】
ステップS213において、CPU101は、受信した他キャラクタ動作データに基づいて他プレーヤキャラクタを動作させ、オブジェクト位置情報を更新する。この処理を実行するとき、CPU101は、受信した他キャラクタ動作データに応じて他プレーヤキャラクタの動作を制御する動作制御手段として機能する。ステップS213の処理の後、処理をステップS220に移す。
【0089】
ステップS210において他キャラクタ動作データを受信しなかったと判断した場合、CPU101は、動作フラグがRAM103にセットされているか否かを判断する(ステップS214)。動作フラグがセットされていると判断した場合、Tが0であるか否かを判断する(ステップS215)。Tが0であると判断した場合、偽装データをROM102から抽出する(ステップS216)。
【0090】
図16は、偽装データ抽出テーブルの一例を示す図である。
図16に示すように、各動作フラグに対して、複数の偽装データが対応付けられている。
偽装データは、各動作フラグが示す、操作キャラクタの攻撃パターンに対して、他プレーヤキャラクタがとり得る動作パターンを示すデータである。
ステップS216において、CPU101は、ROM102に記憶されている抽選プログラムを実行することにより、動作フラグが示す動作内容(攻撃パターン)に対する他プレーヤキャラクタの動作パターンを示す偽装データを抽出する。具体的には、例えば、動作フラグF1がセットされている場合には、偽装データN1〜N10のなかから1の偽装データを抽出し、動作フラグF2がセットされている場合には、偽装データN11〜N20のなかから1の偽装データンを抽出し、動作フラグF3がセットされている場合には、偽装データN21〜N30のなかから1の偽装データを抽出する。
【0091】
次に、ステップS217において、CPU101は、抽出した偽装データに基づいて他プレーヤキャラクタを動作させ、オブジェクト位置情報を更新する。この処理を実行するとき、CPU101は、他プレーヤキャラクタに、抽出した偽装データに基づいた動作を行わせる偽装制御手段として機能する。ステップS217の処理の後、処理をステップS220に移す。
【0092】
ステップS214において動作フラグがセットされていないと判断した場合、ステップS213の処理の後、又は、ステップS217の処理の後、CPU101は、キャラクタ情報に変動がある場合には、キャラクタの動作に基づいて、キャラクタ情報を更新する(ステップS220)。
【0093】
ステップS220の処理の後、CPU101は、オブジェクト位置情報に基づいて、第1ディスプレイ11に各キャラクタの動作後の画像を表示する(ステップS221)。また、第2ディスプレイ12には、プレーフィールド全体の見取り図を表示する(図示せず)。
【0094】
次に、ステップS222において、CPU101は、ステージのクリア条件(いずれか一方のキャラクタが敗北すること)を満たしたか否かを判断し、ステージのクリア条件を満たしていないと判断した場合には、処理をステップS200に戻す。一方、ステージのクリア条件を満たしたと判断した場合には、処理をステップS223に移す。
【0095】
ステップS223において、CPU101は、各キャラクタ情報(各プレーヤの操作キャラクタ情報)を含むプレーヤ情報をセンターサーバ3に送信する。これにより、センターサーバ3は、受信したプレーヤ情報を履歴データとして記憶することとなる。ステップS223の処理の後、本サブルーチンを終了する。
【0096】
次に、図17を用いてスレーブ側端末装置1のゲーム処理Bについて説明する。
まず、CPU101は、操作レバー118、操作スイッチ119を介して操作入力があったか否かを判断する(ステップS250)。操作入力があったと判断した場合、CPU101は、当該操作が攻撃に関するものであるか否かを判断する(ステップS251)。攻撃に関するものであると判断した場合、CPU101は、当該操作(攻撃操作)を示す動作フラグと、タイマ(S=s)とをRAM103にセットする(ステップS252)。タイマは、セットされた後、カウントダウンが開始される。また、カウントダウンの途中で動作フラグが新たにセットされた場合には、タイマをリセット(S=s)する。
【0097】
ステップS251において入力された操作が攻撃に関するものではないと判断した場合、又は、ステップS252の処理の後、CPU101は、操作入力に応じて操作キャラクタを動作させ、動作に応じてオブジェクト位置情報を更新する(ステップS253)。この処理を実行するとき、CPU101は、入力された操作に応じて操作キャラクタの動作を制御する動作制御手段として機能する。
次に、ステップS254において、入力された操作に基づく操作内容データを他キャラクタ動作データとしてマスター側の端末装置1に送信する。この処理を実行するとき、CPU101は、ゲームサーバとしてのマスター側端末装置1に操作内容データを送信する操作内容データ送信手段として機能する。
【0098】
ステップS250において操作入力がなかったと判断した場合、又は、ステップS254の処理の後、CPU101は、マスター側端末装置1から他キャラクタ動作データを受信したか否かを判断する(ステップS260)。他キャラクタ動作データを受信するとき、CPU101は、他キャラクタ動作データをゲームサーバとしてのマスター側端末装置1から受信する他キャラクタ動作データ受信手段として機能する。他キャラクタ動作データを受信したと判断した場合、CPU101は、動作フラグがRAM103にセットされているか否かを判断する(ステップS261)。動作フラグがセットされていると判断した場合、すべての動作フラグをクリアし(ステップS262)、処理をステップS263に移す。一方、動作フラグがセットされていないと判断した場合、処理をステップS263に移す。
【0099】
ステップS263において、CPU101は、受信した他キャラクタ動作データに基づいて他プレーヤキャラクタを動作させ、オブジェクト位置情報を更新する。この処理を実行するとき、CPU101は、受信した他キャラクタ動作データに応じて他プレーヤキャラクタの動作を制御する動作制御手段として機能する。ステップS263の処理の後、処理をステップS270に移す。
【0100】
ステップS260において他キャラクタ動作データを受信しなかったと判断した場合、CPU101は、動作フラグがRAM103にセットされているか否かを判断する(ステップS264)。動作フラグがセットされていると判断した場合、Sが0であるか否かを判断する(ステップS265)。Sが0であると判断した場合、偽装データをROM102から抽出する(ステップS266)。ステップS266において、CPU101は、ROM102に記憶されている抽選プログラムを実行することにより、動作フラグが示す動作内容に対する他プレーヤキャラクタの動作パターンを示す偽装データを抽出する。
【0101】
次に、ステップS267において、CPU101は、抽出した偽装データに基づいて他プレーヤキャラクタを動作させ、オブジェクト位置情報を更新する。この処理を実行するとき、CPU101は、他プレーヤキャラクタに、抽出した偽装データに基づいた動作を行わせる偽装制御手段として機能する。ステップS267の処理の後、処理をステップS270に移す。
【0102】
ステップS264において動作フラグがセットされていないと判断した場合、ステップS263の処理の後、又は、ステップS267の処理の後、CPU101は、オブジェクト位置情報に基づいて、第1ディスプレイ11に各キャラクタの動作後の画像を表示する(ステップS270)。また、第2ディスプレイ12には、プレーフィールド全体の見取り図を表示する(図示せず)。
【0103】
次に、ステップS271において、CPU101は、ステージのクリア条件(いずれか一方のキャラクタが敗北すること)を満たしたか否かを判断し、ステージのクリア条件を満たしていないと判断した場合には、処理をステップS250に戻す。一方、ステージのクリア条件を満たしたと判断した場合には、本サブルーチンを終了する。
【0104】
図18、図19は、第1ディスプレイに表示される画像の一例を示す図である。
図18に示すにように、第1ディスプレイには、キャラクタ95が武器を振り上げてキャラクタ94を攻撃しようとしている様子が示されている。キャラクタ94は、マスター側端末装置1を操作するプレーヤにより操作されるキャラクタであり、キャラクタ95は、スレーブ側端末装置1を操作するプレーヤにより操作されるキャラクタである。
図19では、図18に示したキャラクタ95の攻撃に対して、キャラクタ94が後退してこれを防いでいる様子が示されている。
【0105】
ここで、マスター側端末装置1において、図18に示す画像が表示されてから、図19に示す画像が表示される場合についての処理について図14を用いてながら説明する。
マスター側端末装置1においては、キャラクタ94が本発明における操作キャラクタに相当し、キャラクタ95が本発明における他プレーヤキャラクタに相当する。
マスター側端末装置1では、キャラクタ95(他プレーヤキャラクタ)にキャラクタ94(操作キャラクタ)を攻撃させる旨を示す他キャラクタ動作データを受信すると(図14、ステップS210:YES)、キャラクタ95に、キャラクタ94を攻撃させる(図14、ステップS213)。その結果、その後に実行される画像表示処理(図14、ステップS221)により、キャラクタ95が、キャラクタ94を攻撃する画像が表示される(図18参照)。
その後、マスター側端末装置1を操作するプレーヤにより操作レバー118、操作スイッチ119が操作され、キャラクタ94(操作キャラクタ)を後退させて攻撃を防御する操作入力があった場合には(図14、ステップS200:YES)、操作キャラクタとしてのキャラクタ94を当該入力に応じて動作させる(図14、ステップS203)。その結果、その後に実行される画像表示処理(図14、ステップS221)により、キャラクタ95の攻撃に対して、キャラクタ94が後退して攻撃を防御する画像が表示される(図19参照)。
【0106】
次に、スレーブ側端末装置1において、図18に示す画像が表示されてから、図19に示す画像が表示される場合についての処理について図17を用いてながら説明する。
スレーブ側端末装置1においては、キャラクタ95が本発明における操作キャラクタに相当し、キャラクタ94が本発明における他プレーヤキャラクタに相当する。
スレーブ側端末装置1では、スレーブ側端末装置1を操作するプレーヤにより操作レバー118、操作スイッチ119が操作され、操作キャラクタとしてのキャラクタ95に他プレーヤキャラクタとしてのキャラクタ94を攻撃させる操作入力があった場合には(図17、ステップS250:YES)、操作キャラクタとしてのキャラクタ95を当該入力に応じて動作させる(図17、ステップS253)。その結果、その後に実行される画像表示処理(図17、ステップS270)により、キャラクタ95(操作キャラクタ)がキャラクタ94(他プレーヤキャラクタ)を攻撃する画像が表示される(図18参照)。
その後、キャラクタ94(他プレーヤキャラクタ)を後退させてキャラクタ95の攻撃を防御する旨を示す他キャラクタ動作データを受信すると(図17、ステップS260:YES)、キャラクタ94(他プレーヤキャラクタ)を当該入力に応じて動作させる。その結果、その後に実行される画像表示処理(図17、ステップS270)により、キャラクタ95の攻撃に対して、キャラクタ94が後退して攻撃を防御する画像が表示される(図19参照)。
【0107】
マスター側端末装置1とスレーブ側端末装置1との間でのデータ送受信について、通信タイムラグや通信切断がない場合には、上記の処理により、図18に示す画像が表示された後、図19に示す画像が、マスター側端末装置1とスレーブ側端末装置1とに表示される。
【0108】
ここで、マスター側端末装置1とスレーブ側端末装置1との間でのデータ送受信について、通信の遅延等があった場合についての処理、及び、各端末装置1に表示される画像について説明する。ここでは、各端末装置1(マスター側端末装置1とスレーブ側端末装置1)に図18に示す画像が表示された後に通信の遅延があった場合について説明する。
【0109】
以下では、スレーブ側端末装置1における処理、及び、表示される画像について説明する。
スレーブ側端末装置1では、操作キャラクタとしてのキャラクタ95に他プレーヤキャラクタとしてのキャラクタ94を攻撃させる操作入力があった場合には、動作フラグと、タイマ(S=s)をセットする(図17、ステップS252)。例えば、武器(剣)を振り下ろす旨の攻撃入力があった場合には、当該攻撃パターンを示す動作フラグである動作フラグF1をセットし、タイマ(S=s)をセットする。動作フラグとタイマのセット後、操作入力に応じてキャラクタを動作させ(図17、ステップS253)、その結果としての画像を表示する(図18参照)。
【0110】
図18に示す画像が表示された後、マスター側端末装置1では、キャラクタ94を後退させる指示入力があった場合、マスター側端末装置1では、図19に示すように、キャラクタ95の攻撃に対して、キャラクタ94が後退して攻撃を防御する画像が表示される。
【0111】
一方で、図18に示す画像が表示された後に、マスター側端末装置1から送信されるデータについて時間s以上の通信タイムラグがあった場合、マスター側端末装置1からは、上記操作に基づく操作内容データをスレーブ側端末装置1に送信しているのであるが、スレーブ側端末装置1では、これを受信するタイミングが遅れることになる。
このとき、スレーブ側端末装置1では、マスター側端末装置1から他キャラクタ動作データを受信することなく(ステップS260:NO)、動作フラグF1について(ステップS264:YES)、s=0となったときに(ステップS265:YES)、偽装データが抽出されることとなる(ステップS266)。
偽装データは、図16に示す複数のなかから選択されることとなる。例えば、防具で攻撃を回避する回避パターン1を示す偽装データN1が選択された場合、キャラクタ94(他プレーヤキャラクタ)を偽装データN1に応じて動作させる。その結果、その後に実行される画像表示処理(図17、ステップS270)により、キャラクタ95の攻撃に対して、キャラクタ94が防具で攻撃を回避する画像が表示される(図20)。
【0112】
このように、スレーブ側端末装置1によれば、操作レバー118、操作スイッチ119から入力された操作に基づく操作内容データをマスター側端末装置1(他のゲーム装置)に送信してから時間s以内(所定期間内)に、当該操作内容データに応じた他キャラクタ動作データをマスター側端末装置1(他のゲーム装置)から受信しなかったと判断した場合には、マスター側端末装置1(他のゲーム装置)に係るキャラクタ94(他プレーヤキャラクタ)に偽装データに基づいた所定の動作を行わせる。キャラクタ94(他プレーヤキャラクタ)が行う所定の動作は、マスター側端末装置1(他のゲーム装置)から所定期間内に他キャラクタ動作データを受信しなかった場合に、スレーブ側端末装置1において行われるものであり、この所定の動作自体は、スレーブ側端末装置1とマスター側端末装置1(他のゲーム装置)と間での通信速度や、マスター側端末装置1(他のゲーム装置)の処理速度には影響を受けない。従って、通信の遅延やマスター側端末装置1(他のゲーム装置)の処理速度の低下に起因して発生する違和感をより完全に取り除くことが可能である。
また、偽装処理が行われた場合、マスター側端末装置1には、図19に示す画像が表示される一方、スレーブ側端末装置1には、図20に示す画像が表示され、互いに異なる画像が表示されることとなるが、マスター側端末装置1キャラクタ94の攻撃に対して、攻撃が失敗したという結果自体は同一である。本実施形態では、攻撃に対してのみ必ずその攻撃が失敗するように制御するため、通信遅延が発生している期間に、プレーヤ情報が変動することがない。従って、通信復帰後、画面に表示されているキャラクタの動作とは無関係に、突然にプレーヤ情報が変動してしまうという違和感を発生させないようにすることが可能である。
【0113】
また、スレーブ側端末装置1によれば、ROM102(偽装データ記憶手段)に記憶する偽装データを変更することにより、キャラクタ94(他プレーヤキャラクタ)に行わせることができる動作を変更することかできる。
【0114】
第1実施形態では、ROM102に複数の偽装データを記憶しておき、抽選により1の偽装データを抽出し、抽出した偽装データに基づいて他プレーヤキャラクタを動作させる場合について説明したが、本発明においてはこの例に限定されず、偽装演算プログラムを記憶しておき、動作決定手段として機能するCPUに、偽装演算プログラムを読み出して実行させることにより、他プレーヤキャラクタにさせる動作を演算し、演算結果に基づいて、他プレーヤキャラクタを動作させることとしてもよい。具体的には、操作内容データを他のゲーム装置に送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の上記ゲーム装置から受信しなかったと判断した場合には、他の上記ゲーム装置から最後に受信した他キャラクタ動作データに基づいて、他プレーヤキャラクタの動作を決定し、当該他のゲーム装置に係る他プレーヤキャラクタに、決定した動作を行わせる。このように構成した場合、他キャラクタ動作データに基づく動作と、上記動作決定手段(CPU)が決定した動作とを一連の動作とすることができるからである。
【0115】
第1実施形態では、センターサーバ3により決定された端末装置1がゲームサーバとしての機能をも担う場合について説明した。次に、ゲームシステムが、ゲーム装置とは別にゲームサーバを備えている場合について説明する。
【0116】
[第2実施形態]
第2実施形態に係るゲームシステムは、ゲームサーバを備えている点以外は、第1実施形態に係るゲームシステムと略同様の外観、回路構成等を有し、各ゲーム装置に表示される画像も略同様であるから、ここでの説明は省略することにする。
また、第2実施形態に係るゲームシステムにおける処理は、第1実施形態に係るゲームシステムにおける処理と略同様であるから、ここでは、第1実施形態に係るゲームシステムにおける処理と異なる点について説明することとする。
図21は、第2実施形態に係るゲームシステムの他の一例の構成図である。
ゲームシステム1500は、複数の端末装置1001と、複数の端末装置1001と各店舗毎に設けられた店舗サーバ1002を介して通信可能に接続されたセンターサーバ1003とを備え、さらに、店舗サーバ1002を介して接続されたホール用表示装置1006を店舗ごとに1台備えている。
【0117】
センターサーバ1003は、マッチングサーバ1004と、複数のゲームサーバ1005a、1005b、・・・を備えている。
マッチングサーバ1004は、履歴データの管理、ゲーム開始時におけるプレーヤの認証、同一のプレーフィールドでゲームを行う端末装置1001の決定(マッチング)、マッチングしたゲーム装置間でのゲームの進行を制御するゲームサーバの指定を行う。
【0118】
ゲームサーバ1005a、1005b、・・・は、マッチングサーバ1004によりマッチングされたゲーム装置間でのゲームの進行を制御する。特に、ゲーム処理Bに係るゲームの進行を制御する。
【0119】
図22は、ゲームサーバにおいて実行されるゲーム処理Bのサブルーチンを示すフローチャートであり、図25は、端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートである。
以下では、ゲームサーバ1005aが、端末装置1001a、1001b、1001c、1001d、1001e、1001f(以下、端末装置1001a〜1001fともいう)の6台の間におけるゲームの進行を制御している場合について説明する。
【0120】
まず、図22を用いゲームサーバのゲーム処理Bについて説明する。
まず、ゲームサーバ1005aは、端末装置1001a〜1001fのいずれかから、攻撃に関するキャラクタ動作データ(第1のキャラクタ動作データ)を受信したか否かを判断する(ステップS400)。攻撃に関するキャラクタ動作データを受信したと判断した場合、動作フラグと、タイマ(G=g)とをセットする(ステップS401)。
図23は、第2実施形態における操作内容データと動作フラグとタイマとの関係を説明するための図である。
図23に示すように、キャラクタ動作データに対して、動作フラグとタイマとが対応付けられている。例えば、ステップS400において、端末装置1001aからキャラクタ動作データを受信した場合、その動作に応じたいずれかの動作フラグ(Fna)と、その動作フラグに対応するタイマがセットされる。例えば、キャラクタ動作データA1aを受信した場合、動作フラグF1aがセットされ、キャラクタ動作データA2aを受信した場合、動作フラグF2aがセットされる。F1aは、端末装置1001aのキャラクタが、端末装置1001bのキャラクタを攻撃する旨を示す動作フラグである。F2aは、端末装置1001aのキャラクタが、端末装置1001cのキャラクタを攻撃する旨を示す動作フラグである。
また、例えば、ステップS400において、端末装置1001bからキャラクタ動作データを受信した場合、その動作に応じたいずれかの動作フラグ(Fnb)と、その動作フラグに対応するタイマがセットされる。例えば、キャラクタ動作データA1bを受信した場合、動作フラグF1bがセットされ、キャラクタ動作データA2bを受信した場合、動作フラグF2bがセットされる。F1bは、端末装置1001bのキャラクタが、端末装置1001aのキャラクタを攻撃する旨を示す動作フラグであり、F2bは、端末装置1001bのキャラクタが、端末装置1001cを攻撃する旨を示す動作フラグである。
タイマは、セットされた後、カウントダウンが開始される。タイマは、複数セットされた場合には、夫々独立してカウントダウンを行う。
【0121】
ステップS401の処理の後、ゲームサーバ1005aは、受信した攻撃に関する当該キャラクタ動作データを、送信元以外のすべての端末装置1001に送信する(ステップS402)。例えば、攻撃に関する当該キャラクタ動作データを、端末装置1001aから受信した場合、端末装置1001b〜1001fに、受信したキャラクタ動作データを送信する。
【0122】
ステップS400において攻撃に関するキャラクタ動作データを受信していない場合、又は、ステップS402の処理の後、ゲームサーバ1005aは、端末装置1001a〜1001fのいずれかから、防御に関するキャラクタ動作データを受信したか否かを判断する(ステップS410)。端末装置1001a〜1001fのいずれかから、防御に関するキャラクタ動作データを受信したとき、ゲームサーバ1005aは、キャラクタ動作データ受信手段として機能する。防御に関する他キャラクタ動作データ(第2のキャラクタ動作データ)を受信したと判断した場合、ゲームサーバ1005aは、動作フラグがセットされているか否かを判断する(ステップS411)。動作フラグがセットされていると判断した場合、当該防御が、いずれかの動作フラグが示す動作に対する防御であるか否かを判断する(ステップS412)。いずれかの動作フラグが示す動作に対する防御であると判断した場合、当該動作フラグをクリアする(ステップS413)。
【0123】
ステップS411において動作フラグがセットされていないと判断した場合、ステップS412においていずれかの動作フラグが示す動作に対する防御ではないと判断した場合、又は、ステップS413の処理の後、ゲームサーバ1005aは、ステップS410において受信したキャラクタ動作データを、送信元以外のすべての端末装置1001に送信する(ステップS414)。
【0124】
ステップS410において防御に関するキャラクタ動作データを受信しなかったと判断した場合、ゲームサーバ1005aは、動作フラグがセットされているか否かを判断する(ステップS415)。動作フラグがセットされていると判断した場合、いずれかのタイマについてGxが0であるか否かを判断する(ステップS416)。Gxが0であると判断した場合、ゲームサーバ1005aに記憶されている偽装動作データを抽出する(ステップS417)。
【0125】
次に、ステップS418において、ゲームサーバ1005aは、抽出した偽装データを、キャラクタ動作データとして、偽装データに係る端末装置1001以外に送信する。例えば、偽装データが端末装置1001aに係るキャラクタの動作に関する偽装データである場合には、端末装置1001b〜1001fに送信する。ステップS418の処理を実行するとき、ゲームサーバ1005aは、偽装動作データを偽装データに係る端末装置1001以外(本発明における、当該他のゲーム装置以外)の端末装置1001に送信する偽装動作データ送信手段として機能する。
【0126】
図24は、第2実施形態における偽装動作データ抽出テーブルの一例を示す図である。
図24に示すように、各動作フラグに対して、複数の偽装動作データが対応付けられている。
例えば、動作フラグF1aがセットされ、且つ、G1a=0の場合、ステップS417において、偽装動作データN1b、N2b、N3b・・・のなかから1の偽装動作データが抽出される。偽装動作データN1b、N2b、N3b・・・は、端末装置1001bのキャラクタの動作に関する偽装動作データである。この場合、偽装動作データを受信した端末装置1001では、端末装置1001aのキャラクタの攻撃に対して、端末装置1001bのキャラクタが偽装動作データN1b、N2b、N3b・・・に基づく回避動作を行う画像が表示されることになる。
【0127】
ステップS414の処理の後、ステップS418の処理の後、ステップS415において動作フラグがないと判断した場合、又は、ステップS416においてGx=0ではないと判断した場合、ゲームサーバ1005aは、受信したキャラクタ動作データ、及び/又は、抽出した偽装動作データに基づいてキャラクタ情報を更新する(ステップS420)。
【0128】
ステップS420の処理の後、ゲームサーバ1005aは、ステージのクリア条件(例えば、いずれかのキャラクタが敗北すること、いずれか1のキャラクタのみが生き残ること等)を満たしたか否かを判断し、ステージのクリア条件を満たしていないと判断した場合には、処理をステップS400に戻す。一方、ステージのクリア条件を満たしたと判断した場合には、処理をステップS422に移す。
【0129】
ステップS422において、CPU101は、各キャラクタ情報(各プレーヤの操作キャラクタ情報)を含むプレーヤ情報をマッチングサーバ1004に送信する。これにより、マッチングサーバ1004は、受信したプレーヤ情報を履歴データとして記憶することとなる。ステップS422の処理の後、本サブルーチンを終了する。
【0130】
次に、図25を用いて第2実施形態に係る端末装置1のゲーム処理Bについて説明する。
まず、端末装置1001は、操作入力があったか否かを判断する(ステップS500)。操作入力があったと判断した場合、端末装置1001は、当該操作が攻撃に関するものであるか否かを判断する(ステップS501)。攻撃に関するものであると判断した場合、端末装置1001は、当該操作(攻撃操作)を示す動作フラグと、タイマ(Lx=l)とをセットする(ステップS502)。
【0131】
ステップS501において入力かされた操作が攻撃に関するものではないと判断した場合、又は、ステップS502の処理の後、端末装置1001は、操作入力に応じて操作キャラクタを動作させ、動作に応じてオブジェクト位置情報を更新する(ステップS503)。
次に、ステップS504において、操作入力に応じた操作内容データをキャラクタ動作データとしてゲームサーバ1005aに送信する。
【0132】
ステップS500において操作入力がなかったと判断した場合、又は、ステップS504の処理の後、端末装置1001は、ゲームサーバ1005aからキャラクタ動作データを受信したか否かを判断する(ステップS510)。キャラクタ動作データを受信したと判断した場合、端末装置1001は、動作フラグがセットされているか否かを判断する(ステップS511)。動作フラグがセットされていると判断した場合、受信したキャラクタ動作データが、セットされている動作フラグのいずれかに対する動作に関するキャラクタ動作データである場合には、当該動作フラグをクリアし(ステップS512)、処理をステップS513に移す。一方、動作フラグがセットされていないと判断した場合、処理をステップS513に移す。
【0133】
ステップS513において、端末装置1001は、受信したキャラクタ動作データに基づいて他プレーヤキャラクタを動作させ、オブジェクト位置情報を更新する。その後、処理をステップS520に移す。
【0134】
ステップS510において他キャラクタ動作データを受信しなかったと判断した場合、端末装置1001は、動作フラグがセットされているか否かを判断する(ステップS514)。動作フラグがセットされていると判断した場合、いずれかのLが0であるか否かを判断する(ステップS515)。いずれかのLが0であると判断した場合、偽装データを抽出する(ステップS516)。
【0135】
次に、ステップS517において、端末装置1001は、抽出した偽装データに基づいて他プレーヤキャラクタを動作させ、オブジェクト位置情報を更新する。その後、処理をステップS520に移す。
【0136】
ステップS514において動作フラグがセットされていないと判断した場合、ステップS515においてLが0ではないと判断した場合、ステップS513の処理の後、又は、ステップS517の処理の後、端末装置1001は、オブジェクト位置情報に基づいて、第1ディスプレイ11に各キャラクタの動作後の画像を表示する(ステップS520)。
【0137】
次に、ステップS521において、端末装置1001は、ステージのクリア条件を満たしたか否かを判断し、ステージのクリア条件を満たしていないと判断した場合には、処理をステップS500に戻す。一方、ステージのクリア条件を満たしたと判断した場合には、本サブルーチンを終了する。
【0138】
第2実施形態では、攻撃に関するキャラクタ動作データが本発明における第1のキャラクタ動作データであり、防御に関するキャラクタ動作データが本発明における第2のキャラクタ動作データである場合について説明したが、本発明において、第1のキャラクタ動作データ及び第2のキャラクタ動作データはこの例に限定されるものではない。
【0139】
本発明において、ゲームサーバは、1のゲーム装置(他のゲーム装置)から最後にキャラクタ動作データを受信した後、1度も当該ゲーム装置(当該他のゲーム装置)からキャラクタ動作データを受信することなく、偽装データを所定回数送信した場合に、当該キャラクタの動作を制御することとしてもよい。このとき、ゲームサーバは、キャラクタ動作制御手段として機能する。また、本発明において、ゲームサーバは、1のゲーム装置(他のゲーム装置)最後にキャラクタ動作データを受信した後、1度も当該ゲーム装置(当該他のゲーム装置)からキャラクタ動作データを受信することなく、第2の所定期間が経過した場合に、当該キャラクタの動作を制御することとしてもよい。このとき、ゲームサーバは、キャラクタ動作制御手段として機能する。偽装データを所定回数送信するという比較的長時間に渡って、当該他のゲーム装置からキャラクタ動作データを受信しない場合や、偽装データを第2の所定期間という比較的長時間に渡って、当該他のゲーム装置からキャラクタ動作データを受信しない場合には、何らかの理由で通信が遮断されていることと考えられのであるが、このような場合に、コンピュータ(キャラクタ動作制御手段が制御するキャラクタ)との対戦に切り替えることができるからである。その結果、プレイを続けても全て所定の動作(例えば、対戦ゲームにおける防御)のみをし、他の動作(例えば、対戦ゲームにおける攻撃)を一切行わないという違和感のある演出となることを回避することができる。
【0140】
以上、本発明の実施形態を説明したが、具体例を例示したに過ぎず、特に本発明を限定するものではなく、各手段等の具体的構成は、適宜設計変更可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
【図面の簡単な説明】
【0141】
【図1】第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】操作内容データと動作フラグとの関係を説明するための図である。
【図16】偽装データ抽出テーブルの一例を示す図である。
【図17】スレーブ側端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートである。
【図18】第1ディスプレイに表示される画像の一例を示す図である。
【図19】第1ディスプレイに表示される画像の一例を示す図である。
【図20】第1ディスプレイに表示される画像の一例を示す図である。
【図21】第2実施形態に係るゲームシステムの他の一例の構成図である。
【図22】第2実施形態に係るゲームサーバにおいて実行されるゲーム処理Bのサブルーチンを示すフローチャートである。
【図23】第2実施形態における操作内容データと動作フラグとタイマとの関係を説明するための図である。
【図24】第2実施形態における偽装データ抽出テーブルの一例を示す図である。
【図25】第2実施形態に係る端末装置において実行されるゲーム処理Bのサブルーチンを示すフローチャートである。
【符号の説明】
【0142】
1、1001 端末装置
2、1002 店舗サーバ
3、1003 センターサーバ
4、1004 通信回線
5、1005 専用線
6、1006 ホール用表示装置
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) 操作スイッチ
304 インターフェイス回路群
1004 マッチングサーバ
1005 ゲームサーバ
500、1500 ゲームシステム

【特許請求の範囲】
【請求項1】
ゲームの進行を制御するゲームサーバと通信回線を介して接続されたゲーム装置であって、
プレーヤが操作する操作キャラクタの動作に関する操作を入力可能な操作入力手段と、
前記操作入力手段から入力された操作に基づく操作内容データを前記ゲームサーバに送信する操作内容データ送信手段と、
他のプレーヤが操作する他プレーヤキャラクタの動作に関する他キャラクタ動作データを前記ゲームサーバから受信する他キャラクタ動作データ受信手段と、
前記操作入力手段から入力される操作に応じて前記操作キャラクタの動作を制御するとともに、前記他キャラクタ動作データ受信手段から受信する他キャラクタ動作データに応じて他プレーヤキャラクタの動作を制御する動作制御手段と、
前記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを前記ゲームサーバから受信しなかったと判断した場合には、前記動作制御手段が制御する他プレーヤキャラクタに所定の動作を行わせる偽装制御手段と
を備えたことを特徴とするゲーム装置。
【請求項2】
他プレーヤキャラクタの動作に関する偽装データを記憶する偽装データ記憶手段
を備え、
前記偽装制御手段は、前記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを前記ゲームサーバから受信しなかったと判断した場合には、前記動作制御手段が制御する他プレーヤキャラクタに、前記偽装データ記憶手段のなかから抽出した偽装データに基づいた動作を行わせることを特徴とする請求項1に記載のゲーム装置。
【請求項3】
前記他キャラクタ動作データ受信手段から最後に受信した他キャラクタ動作データに基づいて、他プレーヤキャラクタの動作を決定する動作決定手段
を備え、
前記偽装制御手段は、前記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを前記ゲームサーバから受信しなかったと判断した場合には、前記動作制御手段が制御する他プレーヤキャラクタに、前記動作決定手段が決定した動作を行わせることを特徴とする請求項1に記載のゲーム装置。
【請求項4】
複数のゲーム装置と通信回線を介して接続され、複数の前記ゲーム装置において共通のゲーム空間で進行するゲームを制御するゲームサーバであって、
各プレーヤが操作するキャラクタの動作に関するキャラクタ動作データを各前記ゲーム装置から受信するキャラクタ動作データ受信手段と、
1の前記ゲーム装置から第1のキャラクタ動作データを受信してから所定期間内に、他の前記ゲーム装置から、当該第1のキャラクタ動作データに応じた第2のキャラクタ動作データを受信しなかったと判断した場合には、当該他のゲーム装置に係るキャラクタが所定の動作を行ったことを示す偽装動作データを当該他のゲーム装置以外のゲーム装置に送信する偽装動作データ送信手段と
を備えたことを特徴とするゲームサーバ。
【請求項5】
当該他のゲーム装置から最後にキャラクタ動作データを受信した後、1度も当該他のゲーム装置からキャラクタ動作データを受信することなく、前記偽装動作データ送信手段が、偽装データを所定回数送信した場合に、当該キャラクタの動作を制御するキャラクタ動作制御手段
を備え、
前記偽装動作データ送信手段は、前記キャラクタ動作制御手段の制御に基づく偽装動作データを当該他のゲーム装置以外のゲーム装置に送信することを特徴とする請求項4に記載のゲームサーバ。
【請求項6】
当該他のゲーム装置から最後にキャラクタ動作データを受信した後、1度も当該他のゲーム装置からキャラクタ動作データを受信することなく、第2の所定期間が経過した場合に、当該キャラクタの動作を制御すキャラクタ動作制御手段
を備え、
前記偽装動作データ送信手段は、前記キャラクタ動作制御手段の制御に基づく偽装動作データを当該他のゲーム装置以外のゲーム装置に送信することを特徴とする請求項4に記載のゲームサーバ。
【請求項7】
複数のゲーム装置を通信回線を介して接続し、複数の前記ゲーム装置において共通のゲームを進行するゲームシステムを構成するゲーム装置であって、
プレーヤが操作する操作キャラクタの動作に関する操作を入力可能な操作入力手段と、
前記操作入力手段から入力された操作に基づく操作内容データを他の前記ゲーム装置に送信する操作内容データ送信手段と、
他のプレーヤが操作する他プレーヤキャラクタの動作に関する他キャラクタ動作データを他の前記ゲーム装置から受信する他キャラクタ動作データ受信手段と、
前記操作入力手段から入力される操作に応じて前記操作キャラクタの動作を制御するとともに、前記他キャラクタ動作データ受信手段から受信する他キャラクタ動作データに応じて他プレーヤキャラクタの動作を制御する動作制御手段と、
前記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の前記ゲーム装置から受信しなかったと判断した場合には、前記動作制御手段が制御する、当該他のゲーム装置に係る他プレーヤキャラクタに所定の動作を行わせる偽装制御手段と
を備えたことを特徴とするゲーム装置。
【請求項8】
他プレーヤキャラクタの動作に関する偽装データを記憶する偽装データ記憶手段
を備え、
前記偽装制御手段は、前記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の前記ゲーム装置から受信しなかったと判断した場合には、前記動作制御手段が制御する、当該他のゲーム装置に係る他プレーヤキャラクタに、前記偽装データ記憶手段のなかから抽出した偽装データに基づいた動作を行わせることを特徴とする請求項7に記載のゲーム装置。
【請求項9】
前記他キャラクタ動作データ受信手段から最後に受信した他キャラクタ動作データに基づいて、他プレーヤキャラクタの動作を決定する動作決定手段
を備え、
前記偽装制御手段は、前記操作内容データ送信手段から操作内容データを送信してから所定期間内に、当該操作内容データに応じた他キャラクタ動作データを他の前記ゲーム装置から受信しなかったと判断した場合には、前記動作制御手段が制御する、当該他のゲーム装置に係る他プレーヤキャラクタに、前記動作決定手段が決定した動作を行わせることを特徴とする請求項7に記載のゲーム装置。

【図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

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate