説明

不正行為防止方法及び装置

【課題】 プレイヤの意図により、プレイヤに有利なゲーム成績だけをホストに送信することを防止する。
【解決手段】 ゲームの開始回数Nsと、ゲームの正常終了回数Neとを比較する(S5)。両者が一致しない場合、例えば両者の差が“3”を越えた場合、異常信号が発生する。この異常信号に基づいて、ゲーム装置はエラー画面やアラーム音を出力し、不正行為が行われたことを通知する(S6)。エラー通知によりプレイヤの羞恥心が刺激されるので、以降の不正行為の防止につながると期待できる。また、発生した異常信号に基づいて、以降に行うゲームの成績にペナルティを与えることもできる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム中の不正行為を防止する方法及び装置に関する。
【背景技術】
【0002】
近年、ネットワークでゲーム装置を接続してゲーム成績をホストに収集し、全国または店舗内のプレイヤのランキングを各プレイヤのゲーム成績に基づいて算出することが行われている。算出されたランキングは、ゲーム終了時にゲーム装置において表示される。プレイヤのゲーム成績が良いほど、プレイヤは上位にランキングされる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
従って、プレイヤは少しでも上位にランキングされたいがために、良いゲーム成績を残そうとする。それが高じると、ゲーム成績が思わしくない場合、そのゲーム成績がホストに送信されて自らのランキングが低下するのを防止しようとするプレイヤ心理が働く。その結果、プレイヤは、思わしくない結果に終わりそうなゲームが正常に終了する前に、ゲーム成績がホストに送信されるのを防ごうとする。
【0004】
例えば、アーケードゲームでゲーム中に、ゲーム装置の電源スイッチを切ることによりゲームを強制的に停止させ、ゲーム成績がホストに送信されるのを防ごうとすることが挙げられる。この行為は、プレイヤにとってゲーム展開が不利になった場合、ゲームの異常終了を発生させることで、ゲームの無効化やホストへのゲーム成績の記録を防止するために行われる。
【0005】
このような行為により思わしくないゲーム成績の送信が妨害された場合、その行為を行ったプレイヤのランキングは結果として低下しない。従って、正確なゲーム成績に基づく正しいランキングができなくなり、その他のプレイヤと不正行為を行ったプレイヤとの間でランキングに不公平が生じる。
本発明は、プレイヤの意図により、プレイヤに有利なゲーム成績だけをホストに送信することを防止することを目的とする。
【課題を解決するための手段】
【0006】
前記課題を解決するために、本発明1は、ネットワークを介して他のゲーム装置と接続され、ネットワーク対戦ゲームを実行するゲーム装置が行う不正行為防止方法を提供する。この方法は、下記のステップを含む。
・前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別ステップ、
・前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数を、プレイヤ識別子毎に検出する異常回数検出ステップ、
・前記異常回数に基づいて、異常信号を発生させる異常信号発生ステップ。
【0007】
本発明の不正行為防止方法は、ゲームシステムを構成するゲーム装置により実行される。ゲームシステムは、各ゲーム装置及びホストを含む。各ゲーム装置は、LANなどの内部ネットワークと、インターネットなどの外部ネットワークとを介して互いに接続され、ネットワーク対戦ゲームを実行する。さらに各ゲーム装置は、ホストに対しゲーム成績を送信する。ゲーム成績はホストにより集計され、これに基づいてプレイヤのランキングが演算される。演算結果は、ゲーム装置からの要求を受けて、ホストからゲーム装置に送信される。各ゲーム装置を操作するプレイヤは、ゲームが終了する毎に、その時の自分のランキングを確認することができる。
【0008】
ネットワーク対戦ゲームが正常に終了しない場合、つまり異常終了には、故意による異常終了と偶然による異常終了とが含まれる。故意による異常終了とは、例えばプレイヤがLANケーブルをゲーム装置から引き抜いたことによる終了や、プレイヤがゲーム装置の電源を切ることによる終了が挙げられる。偶然による異常終了とは、例えばインターネットが混雑してゲーム装置とホストとの通信が中断したことによる終了が挙げられる。
【0009】
本発明では、異常回数が大きい場合、プレイヤが不正行為を何回か働いたことによる故意の異常終了が発生したと見なし、異常信号を発生する。偶然による異常終了はそれほど頻繁に発生しないので、異常回数があまりに多い場合には、故意による異常終了の可能性が高いと考えられるからである。異常信号発生後、エラー通知を出力したり、ゲームの開始を禁止することにより、その後の不正行為に対する抑止力とすることができる。
【0010】
なお、不正行為をしたプレイヤに何らかのペナルティを付与してもよい。ペナルティの付与により、有効に不正行為を防止することが期待できる。例えば、ホストによりゲーム成績を示す累計獲得ポイントを減点したり、ランキングを下げることが可能である。
発明2は、前記発明1において、前記異常信号発生ステップは、前記異常回数が所定の上限値を超えているか否かを判断し、超えている場合に前記異常信号を発生させる不正行為防止方法を提供する。
【0011】
異常回数は、故意による異常終了も偶然による異常終了も含む回数を示す。しかし、その回数があまりにも多い場合には、故意による異常終了が大半を占めると判断することができる。従って、異常回数が所定の上限値を超えた場合、故意による異常終了が相当回数発生していると見なし、異常信号を発生させるとよい。
これとは異なり、プレイヤがLANケーブルを引き抜いたことを検出したり、ゲーム装置の電源をゲーム成績の送信終了前に落としたことを検出した場合、故意による異常終了と判断してもよい。
【0012】
LANケーブルの引き抜きの検出は、例えば次のように行う。LAN上のルータに対して応答要求を送信し、その応答要求に対する応答が所定時間経過してもない場合、何らかの通信障害が外部ネットワークまたは内部ネットワークに発生したと判断する。このとき、内部ネットワーク上のルータに応答要求を送信しても、その送信が所定時間以内に完了しない場合、内部ネットワーク上の通信障害が発生していると判断することができる。そして、この内部ネットワーク上の通信障害を、LANケーブルの引き抜きによるものと推定してもよい。逆に外部ネットワーク上で通信障害が発生している場合、ルータから応答が返ってくるので、内部ネットワーク上の通信障害とは区別することができる。
【0013】
発明3は、前記発明1において、前記異常信号発生ステップで発生した前記異常信号に基づいて、エラー通知を出力する異常処理ステップをさらに含む不正行為防止方法を提供する。
故意による異常終了と判断できる場合には、エラー画面の出力やアラーム音の出力を行う。これにより、プレイヤの羞恥心を刺激し、それ以上の不正行為を予防することができる。
【0014】
発明4は、発明3において、異常処理ステップが、前記異常信号に基づいて前記ネットワーク対戦ゲームの実行を禁止する不正行為防止方法を提供する。
不正行為を働いたと判断されると続けてゲームができない、というペナルティを与えることで、不正行為を抑制できる可能性がある。異常信号発生後、所定の期間が経過するまでは、ゲームの実行を禁止するようにしてもよい。
【0015】
発明5は、発明1〜4において、前記ゲーム装置は、前記ネットワークを介してホストに接続されている場合の不正行為防止方法を提供する。ここで、前記異常回数検出ステップは、下記のステップを含む。
・前記識別ステップで受け付けたプレイヤ識別子に対応する開始回数及び終了回数を、前記ホストから取得する第1取得ステップ、
・取得した開始回数及び終了回数の差を演算することにより、前記異常回数を算出する演算ステップ。
【0016】
ここで、開始回数は、前記プレイヤ識別子で識別されるプレイヤが、前記ネットワーク対戦ゲームを開始した回数の累計を示す。また、終了回数は、前記プレイヤ識別子で識別されるプレイヤが、前記ネットワーク対戦ゲームを正常に終了した回数の累計を示す。
ホストは、プレイヤ識別子毎に、開始回数及び終了回数を記憶している。従って、ゲーム装置は、受け付けたプレイヤ識別子に対応する開始回数及び終了回数をホストから取得し、その差を演算することで、異常回数を算出することができる。
【0017】
発明6は、発明5において、下記ステップをさらに含む不正行為防止方法を提供する。
・前記ネットワーク対戦ゲームの実行開始に伴い、前記プレイヤ識別子に対応する開始回数のインクリメントを、前記ホストに要求する開始回数更新ステップ、
・前記ネットワーク対戦ゲームが正常に終了した後に、前記プレイヤ識別子に対応する終了回数のインクリメントを、前記ホストに要求する終了回数更新ステップ。
【0018】
ゲームが正常に終了したときは、ホストに記憶される開始回数と終了回数とが等しくなる。しかし、ゲームが正常に終了しなかったときは、開始回数の方が終了回数よりも多くなる。なぜなら、終了回数のインクリメントが行われないからである。従って、開始回数と終了回数との差が、ゲームの異常終了回数を示すようになる。
発明7は、前記発明6において、前記異常信号発生ステップは、前記異常信号発生後、前記開始回数及び前記終了回数のリセット要求を前記ホストに送信する不正行為防止方法を提供する。
【0019】
異常信号発生に基づいて、エラー画面の出力やゲーム実行の中止などの異常処理を行う場合がある。この場合、異常信号発生後に開始回数や終了回数をリセットすることで、例えば3回異常終了する毎に異常処理を実行できる。リセット要求を、異常信号発生後に所定期間が経過してから送信してもよい。異常信号に基づく何らかのペナルティを発生させれば、所定期間内を不正行為に対するペナルティ期間とすることができるからである。
【0020】
発明8は、前記発明1〜4において、前記ゲーム装置は、前記ネットワークを介してホストに接続されている場合の不正行為防止方法を提供する。この方法において、前記異常回数検出ステップは、前記識別ステップで受け付けたプレイヤ識別子に対応する異常回数を、前記ホストから取得する第2取得ステップを含む。
各プレイヤが異常終了した回数をホストに記憶しておき、この回数に基づいて異常信号を発生させる。ホストは、各プレイヤIDと異常回数とを対応付けて記憶する。異常回数は、ゲーム装置からの要求に応じてホストがインクリメントする。ホストが異常回数を管理することで、プレイヤが使用するゲーム装置をゲーム実行の度に変更しても、プレイヤ毎に異常回数をカウントすることができる。
【0021】
発明9は、前記発明8において、下記ステップをさらに含む不正行為防止方法を提供する。
・所定のタイミングで、前回のゲーム装置動作時にネットワーク対戦ゲームを正常に終了させなかったプレイヤのプレイヤ識別子を検出する検出ステップ、
・前記検出ステップでの検出結果に基づき、前記プレイヤ識別子に対応する異常回数の更新を、前記ホストに要求する異常回数更新ステップ。
【0022】
ゲーム装置が起動したときに、前回のゲーム装置動作時にゲームを異常終了させたプレイヤの異常回数が、カウントアップされる。
例えば、ゲーム装置のCPUは、ネットワーク対戦ゲームが異常終了したとき、異常終了フラグとプレイヤIDとをゲーム装置のハードディスクに書き込む。その後、ゲーム装置が動作を終了し、例えば再度ゲーム装置が起動したとき、ゲーム装置のCPUはハードディスクを参照する。参照した結果、あるプレイヤIDに対する異常終了フラグが“ON”であれば、ゲーム装置はホストに対し、そのプレイヤIDを指定して異常回数のインクリメントを要求する。これにより、ゲーム装置が起動するときに、ネットワーク対戦ゲームを異常終了させたプレイヤの異常回数を更新することができる。
【0023】
発明10は、前記発明9において、前記検出ステップは、下記ステップを有している不正行為防止方法を提供する。
・前記ネットワーク対戦ゲームに関するゲーム情報と前記プレイヤ識別子とを、前記ゲーム装置の不揮発性記憶領域に書き込む書込ステップ、
・前記ネットワーク対戦ゲームが正常終了した場合、前記不揮発性記憶領域に書き込まれたゲーム情報及びプレイヤ識別子を消去する消去ステップ、
・所定のタイミングで、前記ゲーム情報に対応するプレイヤ識別子を、前記不揮発性記憶領域から検索する検索ステップ。
【0024】
ゲーム実行中は、常にゲーム情報が、プレイヤIDと共に、ゲーム装置のハードディスクなどに書き込まれている。ゲームが正常終了した場合は、ゲーム情報が削除される。逆に、ゲームが異常終了した場合、ゲーム情報とプレイヤIDとがハードディスクに残ってしまう。従って、所定のタイミング、例えばゲーム装置起動時にハードディスクを検索することにより、ゲームを異常終了させたプレイヤのIDをゲーム装置からホストに送信し、そのプレイヤの異常回数のインクリメントを要求することができる。すなわち、次回のゲーム開始に先立ち、ゲーム装置が前回動作していたときにゲームを異常終了させたプレイヤの異常回数を、インクリメントすることができる。
【0025】
なお、ゲーム情報及びプレイヤIDをゲーム装置のハードディスクから検索するタイミングは、ゲーム装置が動作している時であればよい。ただし、ゲーム装置の起動時に検索すれば、ゲーム装置の電源を落とすことにより異常終了したゲームのプレイヤのIDを、いち早く検出し、そのプレイヤの異常回数をいち早くインクリメントすることができる。
また、プレイヤIDに加え、ゲーム情報を併せてホストに送信すれば、そのプレイヤのランキングの演算にそのゲーム情報を反映させることもできる。
【0026】
ここで、ゲーム情報とは、マージャンゲームであれば、プレイヤ及び対戦相手の点棒の値や、局数である。またサッカーゲームであれば、プレイヤ及び対戦相手の各得点数や、前半戦/後半戦/延長戦などの局面が挙げられる。
なお、ゲームが異常終了したか否かだけを判断するのであれば、ゲーム情報として異常終了フラグを用いるのでもよい。例えば、ゲーム開始と共に異常終了フラグ“ON”とプレイヤIDとを、ハードディスクに書き込む。ゲームの正常終了と共に異常終了フラグ及びプレイヤIDを削除すれば、異常終了フラグ“ON”とプレイヤIDとが残っているか否かに基づいて、ゲームが異常終了したか否かを判断することができる。
【0027】
発明11は、前記発明10において、前記異常回数更新ステップは、前記検索ステップにおいて検索されたゲーム情報に基づいて、前記プレイヤ識別子に対応する異常回数の更新を前記ホストに要求するか否かを判断する不正行為防止方法を提供する。
ゲーム情報をハードディスクに書き込めば、プレイヤの故意による異常終了なのか偶然による異常終了なのかを判別できる。つまり、ゲーム情報に含まれるゲーム成績がプレイヤに不利であれば、故意による異常終了と判断できる。逆に、ゲーム成績がプレイヤに有利であれば、偶然による異常終了と判断することができる。この判断に基づいて、プレイヤの異常回数を更新することにより、故意による異常終了をより正確に計数することができる。
【0028】
発明12は、前記発明9において、前記異常信号発生ステップは、前記異常信号発生後、前記識別ステップで受け付けたプレイヤ識別子に対応する異常回数のリセットを、前記ホストに要求する不正行為防止方法を提供する。
異常信号発生に基づいてエラー画面の出力やゲーム実行の中止など異常処理を行う場合がある。この場合、異常信号発生後に異常回数をリセットすることで、例えば3回異常終了する毎に異常処理を実行できる。異常信号に基づく何らかのペナルティを発生させてもよい。また、リセット要求を、異常信号発生後所定期間が経過してから送信してもよい。ペナルティと組み合わせれば、その所定期間内を、不正行為に対するペナルティ期間とすることができる。
【0029】
発明13は、ネットワークを介して他のゲーム装置と接続され、ネットワーク対戦ゲームを実行する不正行為防止機能付ゲーム装置を提供する。このゲーム装置は、下記手段を含んでいる。
・前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別手段、
・前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数を、プレイヤ識別子毎に検出する異常回数検出手段、
・前記異常回数に基づいて、異常信号を発生させる異常信号発生手段。
【0030】
このゲーム装置は、前記発明1の方法を実行し、発明1と同様の作用効果を奏する。
発明14は、ネットワークを介して他のゲーム装置と接続され、ネットワーク対戦ゲームを実行するゲーム装置が行う不正行為防止プログラムを提供する。このプログラムは、下記手段として前記ゲーム装置を機能させる。
・前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別手段、
・前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数を、プレイヤ識別子毎に検出する異常回数検出手段、及び
・前記異常回数に基づいて、異常信号を発生させる異常信号発生手段。
【0031】
このプログラムは、前記発明1のステップをゲーム装置に実行させ、発明1と同様の作用効果を実現する。
【発明の効果】
【0032】
ゲームが正常に終了しなかった異常回数をプレイヤごとにカウントし、異常回数に基づいた対抗措置を執ることにより、不正行為を防止することができる。
【発明を実施するための最良の形態】
【0033】
<第1実施形態>
〔概要〕
第1実施形態のゲーム装置は、ゲームを開始した回数(以下、開始回数という)Nsと、ゲームを正常に終了した回数(以下、終了回数という)Neとを比較する。その結果、両者が一致しない場合、ゲーム装置は異常信号を発生させる。本実施形態では、両者の差が“3”を越えた場合に、異常信号が発生する。この異常信号に基づいて、ゲーム装置はエラー画面やアラーム音を出力し、不正行為が行われたことを通知する。エラー通知によりプレイヤの羞恥心が刺激されるので、以降の不正行為の防止につながると期待できる。また、発生した異常信号に基づいて、以降に行うゲームの成績にペナルティを与えることもできる。
【0034】
〔構成〕
図1は、本発明の第1実施形態例に係るゲーム装置を含むゲームシステムの概略構成を示す説明図である。このゲームシステムは、センターサーバ1と複数のゲーム装置2a,2a’,2b,2b’・・・とを含んでいる。各ゲーム装置2は、例えば店舗A,B・・・に設置されている。店舗A内のゲーム装置2a,2a’は、互いに内部ネットワーク5a、例えばLAN(Local Area Network)により接続されている。同様に、店舗B内のゲーム装置2b,2b’は、互いに内部ネットワーク5bにより接続されている。さらに、店舗A、B内のLAN5a、5bは、それぞれ各店舗に設置されたルータ4a,4bを介し、インターネットなどの外部ネットワーク3に接続されている。外部ネットワーク3には、センターサーバ1が接続されている。
【0035】
(1)センターサーバ
センターサーバ1は、プレイヤ毎の個人データを記憶し、ゲーム装置2からの要求に応じて個人データを要求元ゲーム装置に送信する。図1に示すように、センターサーバ1は下記の要素(a)〜(e)を備えている。
(a)CPU101:後述するデータ蓄積部103に格納されている制御プログラムを読み出し、実行する。
(b)RAM102:ゲームを行うに当たりプレイヤ個人が設定するデータや、過去の戦績に基づくデータなど、ゲーム毎に異なる個人データを一時的に記憶する。
(c)データ蓄積部103:データ蓄積部103は、例えばハードディスクを用いて実現できる。制御プログラムやゲーム装置2から送信されてくる個人データなどを記憶する。個人データには、プレイヤの認証に用いられるパスワードや、プレイヤごとのゲームの開始回数Ns、終了回数Neが含まれる。
(d)ネットワーク通信部104:外部ネットワーク3を介し、ゲーム装置2とデータの送受信を行う。
【0036】
上記の構成を有するセンターサーバ1は、各ゲーム装置2からゲーム成績を受信し、これを集計してプレイヤのランキングを演算する。演算結果は、ゲーム装置2からの要求に応じ、センターサーバ1からゲーム装置2に送信される。各ゲーム装置2を操作するプレイヤは、ゲームが終了する毎に、その時の自分のランキングを例えばモニタ上で確認することができる。
【0037】
(2)ゲーム装置
(2−1)ハードウェア構成
図2は、ゲーム装置2のハードウェア構成を示す。ゲーム装置2は、センターサーバ1から取得した個人データに基づいて、他のゲーム装置2と外部ネットワーク3及び/または内部ネットワーク5を介し、ゲームを行う。ゲーム装置2は、下記(a)〜(o)の要素を有している。
(a)CPU201:後述するハードディスク203に記憶されている制御プログラムを実行する。
(b)RAM202:各種変数やパラメータなどを一時的に記憶する。
(c)ハードディスク203:制御プログラムや各種パラメータなどを記憶する。
(d)ネットワーク通信部204:外部ネットワーク3及び内部ネットワーク5を介し、センターサーバ1や他のゲーム装置2とデータの送受信を行う。
(e)モニタ206:ゲーム画像を表示する。
(f)描画処理部205:モニタ206に表示する画像データを生成する。
(g)スピーカ208:ゲーム実行中やデモ画面表示中のサウンドを出力する。
(h)音声再生部207:スピーカ208に発音させるためのサウンドデータを生成する。
(i)入力操作部211:ジョイスティックや操作ボタンなどから構成されプレイヤの指示入力を受け付ける。
(j)カードリーダ・ライタ212:挿入される磁気カードに対してデータの読取・書込処理を実行する。
(k)コイン受付部213:挿入されるコインによるクレジットを受け付ける。
(l)通常起動ボタン214:ゲームが正常終了した後にゲーム装置2を起動するためのボタンである。このボタンは、ゲーム装置本体の外部に露出して設けられている。このボタンの押下により、ゲーム装置は起動し、デモ画面を表示しながら磁気カードの挿入を待機する待機モードに入る。
(m)特殊起動ボタン215:ゲームの異常終了回数が多いプレイヤに対して出されるエラー通知出力を解除するためのボタンである。このボタンは、ゲーム装置本体に外付けまたは内蔵された開閉可能な鍵付きボックスに内蔵されている。エラー通知出力は、このボタンの押下により解除される。
(n)外部機器制御部210:操作部カードリーダ・ライタ212、コイン受付部213、通常起動ボタン214、特殊起動ボタン215などの外部機器を制御する。
(o)外部入出力制御部209:カードリーダ・ライタ212やコイン受付部213などの外部機器に対する制御信号を生成する。また、カードリーダ・ライタ212やコイン受付部213、通常起動ボタン214や特殊起動ボタン215などの外部機器からの検出信号を受信してCPU201に送出する。
【0038】
上記のように構成されたゲーム装置2は、ハードディスク203に記憶された制御プログラムに従い、次のようにしてゲームを実行する。プレイヤは、ゲーム装置2において自己の所有する磁気カードをカードリーダ・ライタ212に挿入し、コイン受付部213にコインを投入する。ゲーム装置2は、カードリーダ・ライタ212に挿入された磁気カードからプレイヤを識別するプレイヤIDを読み取り、センターサーバ1のデータ蓄積部105に格納されている個人データをダウンロードする。
【0039】
ゲーム装置2は、個人データに含まれているパスワードに基づいて、プレイヤの認証処理を行う。プレイヤを承認した場合、ゲーム装置2は、個人データに含まれている開始回数Nsと終了回数Neとを比較する。両者の差が所定の範囲内であれば、ゲーム装置2は、対戦相手のネットワークアドレスを取得する。つまり、認証されたプレイヤがネットワーク対戦を希望した場合、ゲーム装置2は、自己のネットワークアドレスをセンターサーバ1に送信し、対戦相手のネットワークアドレスを取得する。その後、ゲーム装置2は、取得した対戦相手のネットワークアドレスに基づいて、ネットワーク対戦ゲームの実行を開始する。
【0040】
ネットワーク対戦ゲームの実行中は、ゲーム装置間でデータの送受信が行われる。送受信されるデータの例としては、センターサーバ1からダウンロードした個人データや、プレイヤの操作指示入力を示す入力データ、画像や音声を出力するための出力データを挙げることができる。図3(A)は、入力データの一例を示す。この例は、サッカーゲームの入力データを示す。この入力データは、「上下左右いずれのレバーが入力されたか」、「5つあるボタンのいずれが入力されたか」、を示す。図3(B)は、出力データの一例を示す。出力データは、ゲーム画面を表示するためのフレームデータやサウンドを出力するための音声データである。この例では、サッカーゲームの場合の出力データの例を示している。出力データは、データの種類に応じた時間間隔で送信される。例えばフレームデータであれば1/30(sec)毎に送信される。
【0041】
(2−2)機能構成
図4は、ゲーム装置2の機能構成を示すブロック図である。ゲーム装置2は、識別部21、ゲーム実行部22、異常回数検出部23、異常信号発生部24、異常処理部25及び第1更新部26を有している。これらの各部は、CPU201が実行するプログラムにより実現される。以下、ゲーム装置2が有する機能について、さらに詳細に説明する。説明をわかりやすくするために、ゲーム装置2aがゲーム装置2bと対戦中のゲーム装置2aの機能について説明するが、各ゲーム装置2は同じ機能を有している。
【0042】
(2−2−1)プレイヤの識別
識別部21は、ゲーム装置2aを操作するプレイヤを識別するためのプレイヤIDの入力を受け付ける。例えば、識別部21は、ゲーム装置2aに挿入される磁気カードからプレイヤIDを読み取る。さらに、識別部21は、読み込んだプレイヤIDの個人データを、センターサーバ1からダウンロードし、プレイヤの認証を行う。
【0043】
(2−2−2)ゲームの実行
ゲーム実行部22は、例えばサッカーゲームや麻雀ゲームなどのネットワーク対戦ゲームを実行する。また、ゲーム実行部22は、CPU対戦を実行したり、対戦者のいないゲームを実行する場合もある。対戦者のいないゲームとしては、指定された音楽に合わせて楽器による入力や歌を歌う音楽ゲームをあげることができる。
【0044】
(2−2−3)異常回数の検出
異常回数検出部23は、ダウンロードされた個人データから、認証されたプレイヤのプレイヤIDに対応する異常回数Nwを演算する。異常回数Nwは、認証されたプレイヤが、ネットワーク対戦ゲームを正常に終了しなかった回数の累計を示す。
この実施形態では、異常回数検出部23は、認証したプレイヤIDに対応する開始回数Ns及び終了回数Neを、個人データから抽出する。さらに、異常回数検出部23は、開始回数Ns及び終了回数Neの差を演算することにより、異常回数Nwを算出する(Ns−Ne=Nw)。ここで、開始回数Nsは、プレイヤIDで識別されるプレイヤが、ネットワーク対戦ゲームを開始した回数の累計を示す。また、終了回数Neは、プレイヤIDで識別されるプレイヤが、ネットワーク対戦ゲームを正常に終了した回数の累計を示す。
【0045】
ここで、ネットワーク対戦ゲームが正常に終了しない場合、つまり異常終了には、故意による異常終了と偶然による異常終了とが含まれる。故意による異常終了の原因としては、例えばプレイヤがLANケーブルをゲーム装置から引き抜いたり、プレイヤがゲーム装置の電源を切ることが考えられる。偶然による異常終了の原因としては、例えばインターネットが混雑してゲーム装置とセンターサーバ1との通信が中断することが考えられる。
【0046】
(2−2−4)異常信号の発生
異常信号発生部24は、異常回数検出部23が演算した異常回数Nwに基づいて、異常信号を発生させる。本実施形態では、異常回数Nwが所定の範囲を超えた場合、プレイヤが不正行為を何回か働いたことによる故意の異常終了が発生したと見なし、異常信号を発生させる。より具体的には、異常信号発生部24は、異常回数Nwが所定の上限値Maxを超えているか否かを判断し、超えている場合に前記異常信号を発生させる。これは、偶然による異常終了はそれほど頻繁に発生しないので、異常回数があまりに多い場合には、故意による異常終了の可能性が高いと考えられるからである。異常信号発生後、所定の異常処理を実行することにより、その後の不正行為に対する抑止力とすることができる。異常処理としては、例えば、エラー通知を出力したり、ゲームの開始を禁止することが挙げられる。
【0047】
(2−2−5)開始回数及び終了回数のインクリメント
第1更新部25は、ネットワーク対戦ゲームの実行開始に伴い、プレイヤIDに対応する開始回数Nsのインクリメントを、センターサーバ1に要求する。要求のタイミングは、ゲームの実行開始直後が好適と考えられる。また、第1更新部25は、ネットワーク対戦ゲームが正常に終了した後に、プレイヤIDに対応する終了回数Neのインクリメントを、センターサーバ1に要求する。
【0048】
ゲームが正常に終了したときは、センターサーバ1に記憶される開始回数Nsと終了回数Neとが等しくなる。しかし、ゲームが正常に終了しなかったときは、開始回数Nsの方が終了回数Neよりも多くなる。なぜなら、終了回数Neのインクリメントが行われないからである。従って、開始回数Nsと終了回数Neとをそれぞれ異なるタイミングで独立に更新することで、両者の差がゲームが異常終了した回数Nwを示すようになる。
【0049】
なお、第1更新部25は、開始回数Nsまたは終了回数Neとともに、ゲーム装置2aが設置されている店舗を識別する店舗IDを、センターサーバ1に送信してもよい。センターサーバ1が、どの店舗で不正行為が行われているかを把握できるようになる。また、第1更新部25は、開始回数Nsまたは終了回数Neとともに、時刻情報をセンターサーバ1に送信してもよい。これにより、センターサーバ1は、不正行為が行われている日時や時間帯を把握できるようになる。さらに、センターサーバ1は、不正行為が行われた日時から一定期間は、磁気カードを使用不可状態とするなどのペナルティを課すことが可能となる。
【0050】
(2−2−6)エラー発生通知
異常処理部26は、異常信号発生部24が生成した異常信号に基づいて、エラー通知を出力する。エラー通知の出力形態としては、エラー画面の出力やアラーム音の出力が一例として挙げられる。異常回数Nwが上限値Maxを超えた場合、つまり故意による異常終了が多いと判断できる場合、エラー通知を出力する。これにより、プレイヤの羞恥心を刺激し、それ以上の不正行為を予防することができる。
【0051】
さらに、異常処理部26は、異常信号に基づいて、ネットワーク対戦ゲームの実行を禁止することもできる。不正行為を働いたと判断されると続けてゲームができない、というペナルティを与えることで、不正行為を抑制できる可能性がある。異常信号発生後、所定の期間が経過するまでは、ゲームの実行を禁止するようにしてもよい。
例えば、異常処理部26は、エラー通知出力後、特殊起動ボタンが押下されるまで、ゲームの開始を禁止してもよい。特殊起動ボタンは、例えばゲームセンターの店員だけが持っている鍵付きボックスに内蔵されており、店員が鍵を開けない限り押下できない。エラー通知出力状態を解除するには、特殊起動ボタンの押下が必要である。従って、故意によりゲームを異常終了させたプレイヤが再びゲームをしたい場合、店員を呼び、鍵付きボックスを開けてもらい、特殊起動ボタンを押してもらわなければならなくなる。これは、店員に対して自分の不正行為が露呈することを意味するので、プレイヤの羞恥心を刺激し、不正行為の抑制につながると期待できる。
【0052】
ちなみに、通常起動ボタンは、ゲーム装置2aの本体外部に取り付けられ、誰でも押下可能になっている。ゲームセンターの営業が始まるときには、ゲーム装置2aは通常起動ボタンの押下により起動する。ここで「ゲーム装置2aの起動」とは、実際にゲームを実行する意味ではない。例えば、ゲームのデモンストレーションを実行するプログラムを起動させ、カードの挿入やコインの投入を受け付ける状態とすることが考えられる。
【0053】
なお、異常処理部26は、不正行為をしたプレイヤに何らかのペナルティを付与してもよい。ペナルティの付与により、不正行為の抑制力を高めることができる。例えば、異常処理部26は、センターサーバ1に対し、ゲーム成績を示す累計獲得ポイントの減点を要求したり、ランキングを下げることを要求したりすることができる。
(2−2−7)開始回数及び終了回数のリセット
異常信号発生部24は、異常信号発生後、開始回数Ns及び終了回数Neのリセット要求を、センターサーバ1に送信する。これにより、異常信号発生部24は、異常終了がMax回発生する毎に、異常処理を実行することができる。異常回数Nwが上限値Maxを超えるごとに、開始回数Nsや終了回数Neがリセットされるからである。また、異常信号発生部24は、リセット要求を、異常信号発生後に所定期間が経過してから送信してもよい。異常信号に基づく何らかのペナルティを発生させる場合、所定期間内を不正行為に対するペナルティ期間とすることができるからである。
【0054】
さらに、異常信号発生部24は、開始回数Ns及び終了回数Neのリセット要求を、エラー通知出力後かつ特殊起動ボタンが押下された後に送信することが好ましい。なぜなら、特殊起動ボタンにより正当にエラー通知を解除しない限り、ゲームを行うことができない状態にプレイヤを置くことができるからである。例えば、プレイヤが、エラー通知出力後にゲーム装置2aの電源を落とすことによりエラー通知出力の解除を図ることも考えられる。しかし、その場合、開始回数Ns及び終了回数Neがリセットされていないので、再度エラー通知が出力される。すなわち、正当にエラー通知を解除した場合にのみ、開始回数Ns及び終了回数Neのリセット要求を送信することで、特殊起動ボタンを実効あるものとすることができる。
【0055】
〔処理の流れ〕
次に、ゲーム装置2及びセンターサーバ1が行う処理について、より詳細に説明する。まず、説明を容易にするために、ゲーム装置2a、2bが対戦する場合のゲーム装置2aの処理について説明するが、ゲーム装置2bの処理も同じである。
(1)ゲーム装置のメインルーチン
図5は、ゲーム装置2aが行うメインルーチンの流れの一例を示すフローチャートである。ゲーム装置2aの電源が投入されると、下記の処理が開始される。
【0056】
ステップS1〜S2:CPU201は、デモ画面を表示しながらゲームの実行の指示を待機する(S1)。例えば、コインが投入され、磁気カードがカードリーダ・ライタ212に挿入されると(S2)、ステップS3に移行する。
ステップS3:CPU201は、カードリーダ・ライタ212が読み込んだプレイヤIDを取得する。
【0057】
ステップS4:CPU201は、読み込んだプレイヤIDをセンターサーバ1に送信し、プレイヤIDに応じた個人データをダウンロードする。次いで、CPU201は、プレイヤに対してパスワードの入力を要求し、個人データに含まれるパスワードと比較することによりプレイヤ本人か否かを認証することが好ましい。
ステップS5:CPU201は、個人データに含まれる開始回数Nsと終了回数Neとの差が、所定の上限値Maxを超えているか否かを判断する((Ns−Ne)>Max)。言い換えれば、CPU201は、異常回数Nwが上限値Maxを超えているか否かを、判断する。ここでは、説明を容易にするために、“Max=3”とする。(Ns−Ne)>3の場合はステップS6に移行し、その他の場合は後述するステップS9に移行する。
【0058】
ステップS6:CPU201は、エラー通知を出力する。例えば、「ゲームを開始できません。」などのエラーメッセージが、表示されたり、スピーカ出力されたりする。
ステップS7〜S8:CPU201は、特殊起動ボタンの押下を待機し(S7)、特殊起動ボタンが押されると、開始回数Ns及び終了回数Neのリセット要求を、センターサーバ1に送信する(S8)。すなわち、特殊起動ボタンにより正当にエラー通知出力が解除された場合にのみ、開始回数Ns及び終了回数Neがリセットされる。この段階で、プレイヤが特殊起動ボタンを押さずにゲーム装置2aの電源を落としても、開始回数Ns及び終了回数Neはそのままの値である。したがって、プレイヤが再度ゲーム装置2aを起動させても、再びエラー通知が出力されるにとどまり、プレイヤはゲームを開始することができない。
【0059】
ステップS9:エラー通知が正当に解除された場合か(S8)、または異常回数Nwが3を超えていない場合(S5)、CPU201は、後述する対戦相手決定処理を実行する。この処理では、CPU201は、対戦相手のゲーム装置2bのIPアドレスを取得する。
ステップS10:CPU201は、取得したIPアドレスに基づいてゲームを実行する。ゲームの実行は、本メインルーチンとは独立に行われる。この例では、ゲームは、正常に終了する場合と、異常終了する場合とがある。異常終了する原因としては、外部ネットワーク3の通信障害や、内部ネットワーク5の通信障害、ゲーム装置2aの電源が落とされることなどが挙げられる。ゲーム装置2aからLANケーブルを引き抜くことは、内部ネットワーク5の通信障害の一因となる。
【0060】
ステップS11:CPU201は、個人データに含まれていた開始回数Nsをインクリメントし、新たな開始回数NsとプレイヤIDとをセンターサーバ1に送信する(Ns→Ns+1)。これにより、センターサーバ1に記憶されている該当プレイヤの開始回数Nsが更新される。
ステップS12〜S14:CPU201は、ゲームの終了を待機する(S12)。ゲームが終了した場合、CPU201はゲームが正常終了したか否かを判断する(S13)。ゲームが正常終了した場合、CPU201は終了回数Neをインクリメントし、新たな終了回数NeとプレイヤIDとをセンターサーバ1に送信する(S14)。これにより、センターサーバ1に記憶されている該当プレイヤの終了回数Neが更新される。ゲームが正常に終了しなかった場合、前記ステップS1に戻り、前述の処理を繰り返す。つまり、ゲーム装置2は、再びデモ画面を表示しながら、磁気カードの挿入を待機する。
【0061】
ステップS15:CPU201はゲームを続行するか否かを判断し、続行する場合はステップS9に戻って新たな対戦相手の通信アドレスをセンターサーバ1から取得する。ゲームを続行しない場合、前記ステップS1に戻り、デモ画面を表示しながらカードの挿入を待機する。
なお、CPU201は、開始回数Nsまたは終了回数Neとともに、ゲーム装置2aが設置されている店舗を識別する店舗IDを、センターサーバ1に送信してもよい。センターサーバ1が、どの店舗で不正行為が行われているかを把握できるようになる。また、CPU201は、開始回数Nsまたは終了回数Neとともに、時刻情報をセンターサーバ1に送信してもよい。逆に、センターサーバ1側でデータ受信時の時刻情報を記憶してもよい。これにより、不正行為が行われている日時や時間帯を把握できるようになる。さらに、センターサーバ1は、不正行為が行われた日時から一定期間は、磁気カードを使用不可状態とするなどのペナルティを課すことが可能となる。
【0062】
以上の処理により、異常終了させたプレイヤに対してエラー通知を行い、プレイヤの羞恥心を不正行為に対する抑止力とすることができる。また、エラー通知後に正当にエラー通知出力を解除した場合にのみ異常回数をリセットすることで、エラー通知を実効あるものとすることができる。本処理では、開始回数Nsと終了回数Neとを異なるタイミングで更新するので、ゲームが正常終了したときだけ両者が一致するようになり、異常終了の回数を正確に計数することができる。
【0063】
(2)ゲーム装置の対戦相手決定処理
図6は、前記メインルーチンのステップS9において実行される、対戦相手決定処理の流れの一例を示すフローチャートである。この処理では、CPU201は、対戦相手のゲーム装置のIPアドレスを、センターサーバ1から取得する。
ステップS101:CPU201は、自分自身のIPアドレスをセンターサーバ1に送信し、センターサーバ1のRAM202に記憶されている募集リストへのIPアドレスの登録を要求する。募集リストには、対戦相手を探しているゲーム装置2のIPアドレスが書き込まれる。
【0064】
ステップS102〜S103:CPU201は、他のゲーム装置2bから対戦要求を受信したか否かを判断し(S102)、まだであればセンターサーバ1から募集リストを取得する(S103)。対戦要求を受信していれば、後述するステップS110に移行する。
ステップS104〜S105:CPU201は、募集リストに、自分のアドレス以外のIPアドレスが登録されているかどうかを判断し(S104)、“Yes”と判断するといずれかのIPアドレスを選択する(S105)。
【0065】
ステップS106:CPU201は、選択したIPアドレスに対し、対戦要求コマンドが記述された対戦要求パケットを送信する。
ステップS107〜S109:CPU201は、送信した対戦要求パケットに対する返答パケットの受信を待機し(S107)、“対戦OK”の応答を受信すると(S108)、自分のIPアドレスを募集リストから抹消するようセンターサーバ1に要求する(S109)。対戦が拒否された場合(S108)、再び前記ステップS102に戻り、前述の処理を繰り返す。
【0066】
ステップS110:CPU201は、IPアドレスを募集リストに登録した後に対戦要求を受信した場合(S102)、“対戦OK”の返答パケットを要求元に送信し(S110)、自分自身のIPアドレスを募集リストから抹消してもらう(S109)。
以上の処理により、ゲーム装置2aは、ネットワーク対戦ゲームを行う対戦者のIPアドレスを取得することができる。なお、対戦者の数は、ゲームにより異なる。例えばサッカーゲームであれば1名であるが、麻雀ゲームであれば3名である。
【0067】
(3)センターサーバの処理
図7は、センターサーバ1が行う処理の流れの一例を示すフローチャートである。この処理は、センターサーバ1の起動により開始する。センターサーバ1のCPU101は、個人データをゲーム装置2に送信する処理(S41〜S43)、募集リストへの登録(S44〜S46)、募集リストからの抹消(S47〜S48)、個人データをゲーム装置2から受信する処理(S49〜S50)を行う。
【0068】
ステップS41〜S43:CPU101は、いずれかのゲーム装置2から個人データの要求を受信すると(S41)、要求された個人データをデータ蓄積部103から読み出し(S42)、要求元に送信する(S43)。個人データは、プレイヤIDと対応付けられてデータ蓄積部103に記憶されている。個人データには、プレイヤ認証に用いられるパスワードや、開始回数Ns、終了回数Neが含まれる。
【0069】
ステップS44〜S46:CPU101は、いずれかのゲーム装置2から募集リストへのIPアドレスの登録要求を受信すると(S44)、募集リストへそのゲーム装置2のIPアドレスを登録し(S45)、募集リストを要求元に送信する(S46)。
ステップS47〜S48:CPU101は、いずれかのゲーム装置2から募集リストからのIPアドレスの抹消要求を受信すると(S47)、募集リストから該当IPアドレスを削除する(S48)。募集リストにはまだ対戦相手が未定のゲーム装置のIPアドレスだけを掲載しておくために、対戦相手が決まったゲーム装置のIPアドレスを募集リストから削除するのである。
【0070】
ステップS49〜S50:CPU101は、いずれかのゲーム装置2からプレイヤID及び個人データを受信すると(S49)、そのプレイヤIDに対応する個人データを更新する。受信する個人データとしては、開始回数Nsや終了回数Ne、ゲーム成績が挙げられる。
ステップS51:CPU101は、例えばセンターサーバ1の電源がオフになるまで、前述の処理を繰り返す。
【0071】
以上の処理により、センターサーバ1は、ゲーム装置2に個人データや対戦相手のIPアドレスを送信する。また、センターサーバ1は、ゲーム装置2から個人データの一部を受信すると、プレイヤIDと対応付けてそれを記憶する。記憶した個人データのうちゲーム成績は、プレイヤのランキングを演算するために用いられる。
なお、前述したように、センターサーバ1は、開始回数Nsまたは終了回数Neを受信した時刻を、個人データに追加して書き込んでもよい。不正行為が行われる日時を推定したり、不正行為が行われてから一定期間をペナルティ期間とすることができる。さらに、センターサーバ1は、開始回数Nsと正常終了回数Neとの差に基づいて、ゲーム成績にペナルティを与えることもできる。
【0072】
〔効果〕
本実施形態では、開始回数Nsと終了回数Neとを異なるタイミングで更新することにより、ゲームが正常に終了しなかった回数Nwをプレイヤごとにカウントする。異常回数に基づいてエラー通知を出力することで、さらなる不正行為を防止することができる。エラー通知後のゲームの実行を、特殊起動ボタンにより制限することで、さらにエラー通知を実効あるものとできる。しかも、エラー通知出力の解除を正当に行った場合にのみ異常回数をリセットすることで、特殊起動ボタンを有効に不正行為防止に役立てることができる。
【0073】
<第2実施形態>
〔概要〕
第2実施形態のゲーム装置は、ゲームが異常終了した回数Nwをセンターサーバから取得する。取得した異常回数Nwに基づいて、異常信号が発生する。本実施形態では、異常回数Nwが“3”を越えた場合に、異常信号が発生する。この異常信号に基づいて、ゲーム装置はエラー画面やアラーム音を出力し、不正行為が行われたことを通知する。エラー通知によりプレイヤの羞恥心が刺激されるので、以降の不正行為の防止につながると期待できる。また、発生した異常信号に基づいて、以降に行うゲームの成績にペナルティを与えることもできる。
【0074】
〔構成〕
図8は、第2実施形態にかかるゲーム装置2の機能構成を示すブロック図である。この実施形態におけるシステム構成、センターサーバ1及びゲーム装置2のハードウェア構成は、前記第1実施形態と同様である。
ゲーム装置2は、識別部21、ゲーム実行部22、異常回数検出部27、異常信号発生部24、異常処理部25及び第2更新部26を有している。図中、第1実施形態で述べた機能と同様の機能を持つ構成要素には、同一の符号を付して示している。これらの各部は、CPU201が実行するプログラムにより実現される。以下、ゲーム装置2が有する機能について、さらに詳細に説明する。説明をわかりやすくするために、ゲーム装置2aがゲーム装置2bと対戦中のゲーム装置2aの機能について説明するが、各ゲーム装置2は同じ機能を有している。
【0075】
(1)プレイヤの識別
識別部21は、プレイヤIDの入力を受け付け、個人データをセンターサーバ1からダウンロードし、プレイヤの認証を行う。識別部21の機能は、前記第1実施形態と同様である。
(2)ゲームの実行
ゲーム実行部22は、ネットワーク対戦ゲームを実行する。ゲーム実行部22の機能は、前記第1実施形態と同様である。
【0076】
(3)異常回数の検出
異常回数検出部27は、ダウンロードされた個人データから、認証されたプレイヤのプレイヤIDに対応する異常回数Nwを演算する。異常回数Nwは、認証されたプレイヤが、ネットワーク対戦ゲームを正常に終了しなかった回数の累計を示す。
この実施形態では、異常回数検出部27は、認証したプレイヤIDに対応する異常回数Nwを、識別部21がダウンロードした個人データから抽出する。本実施形態では、各プレイヤが異常終了した回数Nwをセンターサーバ1に記憶しておき、この回数に基づいて異常信号を発生させる。各プレイヤIDと異常回数とは、センターサーバ1により対応付けて記憶される。異常回数Nwは、ゲーム装置2からの要求に応じて更新される。センターサーバ1が異常回数を管理することで、プレイヤが使用するゲーム装置をゲーム実行の度に変更しても、プレイヤ毎に異常回数をカウントすることができる。
【0077】
ここで、ネットワーク対戦ゲームが正常に終了しない場合、つまり異常終了には、故意による異常終了と偶然による異常終了とが含まれるのは、前記第1実施形態と同様である。
(4)ゲーム情報の書き込み
異常回数検出部27は、ネットワーク対戦ゲームの実行中に、ゲーム情報及びプレイヤIDを、ゲーム装置2の不揮発性記憶領域、例えばハードディスク203に書き込む。異常回数検出部27は、ゲームが正常終了した場合、書き込んだゲーム情報及びプレイヤIDを、ハードディスク203から削除する。従って、ネットワーク対戦ゲームが正常に終了しない場合、ゲーム情報とプレイヤIDとが、ハードディスク203に残る。従って、所定のタイミング、例えばゲーム装置起動時にハードディスク203を検索することにより、ゲームを異常終了させたプレイヤのIDをゲーム装置2からセンターサーバ1に送信し、そのプレイヤの異常回数Nwのインクリメントを要求することができる。
【0078】
ゲーム情報としては、プレイヤや対戦相手のゲーム成績をあげることができる。また、異常終了フラグ“ON”をゲーム情報として用いてもよい。例えば、マージャンゲームであれば、「プレイヤ及び対戦相手の点棒の値や局数」を、ゲーム情報として用いることができる。また、サッカーゲームであれば、「プレイヤ及び対戦相手の各得点数や、前半戦/後半戦/延長戦などの局面」が挙げられる。
【0079】
なお、ゲームが異常終了したか否かだけを判断するのであれば、ゲーム情報として異常終了フラグを用いるのでもよい。例えば、ゲーム開始と共に異常終了フラグ“ON”とプレイヤIDとを、ハードディスクに書き込む。ゲームの正常終了と共に異常終了フラグ及びプレイヤIDを削除すれば、異常終了フラグ“ON”とプレイヤIDとが残っているか否かに基づいて、ゲームが異常終了したか否かを判断することができる。
【0080】
一方、ゲーム情報として少なくとも対戦成績、すなわち参戦者の点数などをハードディスク203に書き込めば、その対戦成績に基づいて、プレイヤの故意による異常終了なのか偶然による異常終了なのかを判別できる。つまり、対戦成績がプレイヤに不利であれば、故意による異常終了と判断できる。逆に、対戦成績がプレイヤに有利であれば、偶然による異常終了と判断することができる。後述するように、この判断は、第2更新部28が行う。
【0081】
(5)異常回数の更新
異常回数検出部27は、所定のタイミングで、前回のゲーム装置動作時にネットワーク対戦ゲームを正常に終了させなかったプレイヤのプレイヤIDを検出する。具体的には、異常回数検出部27は、例えばゲーム装置2が起動したとき、ハードディスク203に残っているゲーム情報とプレイヤIDとを検索する。第2更新部28は、この検索結果に基づき、プレイヤIDに対応する異常回数Nwの更新を、センターサーバ1に要求する。
【0082】
ゲーム装置の起動時に検索及び異常回数Nwの更新を行うことで、次回のゲーム開始に先立ち、ゲーム装置が前回動作していたときにゲームを異常終了させたプレイヤの異常回数を、インクリメントすることができる。言い換えれば、ゲーム装置2が起動したときに、前回のゲーム装置動作時にゲームを異常終了させたプレイヤの異常回数Nwが更新される。例えば、異常回数検出部27は、ハードディスク203を参照した結果、あるプレイヤIDに対する異常終了フラグが“ON”であれば、センターサーバ1に対し、そのプレイヤIDを指定して異常回数Nwのインクリメントを要求する。これにより、ゲーム装置2が起動するときに、ネットワーク対戦ゲームを異常終了させたプレイヤの異常回数Nwを更新することができる。
【0083】
なお、ゲーム情報及びプレイヤIDをゲーム装置のハードディスクから検索するタイミングは、ゲーム装置が動作している時であればよい。ゲーム装置が起動してから所定時間毎にゲーム情報を検索してもよい。ゲーム装置2の起動時に検索すれば、ゲーム装置2の電源を落とすことによりゲームが異常終了した場合、そのゲームのプレイヤのIDをいち早く検出し、そのプレイヤの異常回数Nwをいち早くインクリメントすることができる。
【0084】
第2更新部28は、プレイヤIDに加え、ゲーム情報を併せてセンターサーバ1に送信してもよい。そのプレイヤのランキングの演算に、そのゲーム情報を反映させることができる。
また、第2更新部28は、検索されたゲーム情報とプレイヤIDとに基づいて、そのプレイヤIDに対応する異常回数Nwの更新を、無条件にセンターサーバ1に要求してもよい。つまり、第2更新部28は、ゲーム情報がハードディスク203に残っている場合は、対応するプレイヤIDの異常回数Nwの更新を要求してもよい。例えば、ゲーム情報として異常終了フラグが用いられている場合である。
【0085】
一方、第2更新部28は、検索されたゲーム情報に基づいて、プレイヤIDに対応する異常回数Nwの更新を要求するか否かを、判断することもできる。例えば、ゲーム情報に対戦成績が含まれる場合である。この場合、その対戦成績がプレイヤに不利であれば、故意による異常終了と判断できる。逆に、対戦成績がプレイヤに有利であれば、偶然による異常終了と判断することができる。この判断に基づいて、第2更新部28は、プレイヤの異常回数Nwの更新要求を送信するか否かを判断してもよい。これにより、故意による異常終了をより正確に計数することができる。
【0086】
(6)異常信号の発生
異常信号発生部24は、異常回数検出部27が演算した異常回数Nwに基づいて、異常信号を発生させる。異常信号発生部24の機能は、前記第1実施形態と同様である。本実施形態では、異常回数Nwが所定の範囲、例えば上限値Maxを超えた場合、プレイヤが不正行為を何回か働いたことによる故意の異常終了が発生したと見なし、異常信号を発生させる。第1実施形態と同様、異常回数Nwがあまりに多い場合には、故意による異常終了の可能性が高いと考えられるからである。異常信号発生後、所定の異常処理を実行することにより、その後の不正行為に対する抑止力とすることができる。異常処理としては、例えば、エラー通知を出力したり、ゲームの開始を禁止することが挙げられる。
【0087】
(7)エラー発生通知
異常処理部26は、異常信号発生部24が生成した異常信号に基づいて、エラー通知を出力する。エラー通知を出力することにより、プレイヤの羞恥心を刺激し、それ以上の不正行為を予防することができる。異常処理部26の機能は、前記第1実施形態と同様である。
【0088】
さらに、異常処理部26は、異常信号に基づいて、ネットワーク対戦ゲームの実行を禁止することもできる。不正行為を働いたと判断されると続けてゲームができない、というペナルティを与えることで、不正行為を抑制できる可能性がある。異常信号発生後、所定の期間が経過するまでは、ゲームの実行を禁止するようにしてもよい。
例えば、異常処理部26は、エラー通知出力後、特殊起動ボタンが押下されるまで、ゲームの開始を禁止してもよい。これにより、プレイヤは、店員に特殊起動ボタンを押してもらうように頼まない限りゲームを実行できなくなるので、不正行為をしなくなると期待できる。
【0089】
なお、異常処理部26は、不正行為をしたプレイヤに何らかのペナルティの付与、例えばゲーム成績の減点やランキングの低下を行ってもよい。ペナルティの付与により、不正行為の抑制力を高めることができる。
(8)異常回数のリセット
異常信号発生部24は、異常信号発生後、異常回数のリセット要求を、センターサーバ1に送信する。これにより、異常信号発生部24は、異常終了がMax回発生する毎に、異常処理を実行することができる。異常信号発生部24の機能は、送信するデータが異常回数Nwであることを除き、前記第1実施形態と同様である。
【0090】
異常信号発生部24は、リセット要求を、異常信号発生後に所定期間が経過してから送信してもよい。異常信号に基づく何らかのペナルティを発生させる場合、所定期間内を不正行為に対するペナルティ期間とすることができるからである。
さらに、異常信号発生部24は、異常回数Nwのリセット要求を、エラー通知出力後かつ特殊起動ボタンが押下された後に送信することが好ましい。なぜなら、特殊起動ボタンにより正当にエラー通知を解除しない限り、ゲームを行うことができない状態にプレイヤを置くことができるからである。
【0091】
〔処理の流れ〕
次に、ゲーム装置2が行う処理について、より詳細に説明する。説明を容易にするために、ゲーム装置2a、2bが対戦する場合のゲーム装置2aの処理について説明するが、ゲーム装置2bの処理も同じである。なお、センターサーバ1の処理の流れは、第1実施形態(図7)と同様である。
【0092】
(1)ゲーム装置のメインルーチン
図9は、ゲーム装置2aが行うメインルーチンの流れの一例を示すフローチャートである。ゲーム装置2aの電源が投入されると、下記の処理が開始される。
ステップS21〜S22:CPU201は、ハードディスク203の所定の領域を参照し、プレイヤID及びゲーム情報がハードディスク203に記憶されているか否かを判断する(S21)。記憶されている場合、CPU201は、プレイヤIDをセンターサーバ1に送信し、そのプレイヤIDに対応付けられた異常回数Nwのインクリメントを要求する。この要求に応じ、対象の異常回数Nwが更新される(Nw→Nw+1)(S22)。
【0093】
なお、CPU201は、ハードディスク203に書き込まれたゲーム情報を、プレイヤIDと共にセンターサーバ1に送信することも可能である。異常終了したゲーム情報をセンターサーバ1に送信すれば、自己に不利なゲーム情報の送信を阻もうとしたプレイヤの目論見がはずれ、不正行為の抑制力となる可能性がある。また、プレイヤに不利なゲーム情報をプレイヤのランキングに反映させることで、不正行為を無効化することができる。
【0094】
ステップS23〜S24:CPU201は、デモ画面を表示しながらゲームの実行の指示を待機する(S23)。例えば、コインが投入され、磁気カードがカードリーダ・ライタ212に挿入されると(S24)、ステップS25に移行する。
ステップS25:CPU201は、カードリーダ・ライタ212が読み込んだプレイヤIDを取得する。
【0095】
ステップS26:CPU201は、読み込んだプレイヤIDをセンターサーバ1に送信し、プレイヤIDに応じた個人データをダウンロードする。次いで、CPU201は、プレイヤに対してパスワードの入力を要求し、個人データに含まれるパスワードと比較することによりプレイヤ本人か否かを認証することが好ましい。
ステップS27:CPU201は、個人データに含まれる異常回数Nwが、所定の上限値Maxを超えているか否かを判断する(Nw>Max)。ここでは、説明を容易にするために、“Max=3”とする。Nw>3の場合はステップS28に移行し、その他の場合は後述するステップS30に移行する。
【0096】
ステップS28:CPU201は、エラー通知を出力する。例えば、「ゲームを開始できません。」などのエラーメッセージが、表示されたり、スピーカ出力されたりする。
ステップS29〜S30:CPU201は、特殊起動ボタンの押下を待機し(S29)、特殊起動ボタンが押されると、異常回数Nwのリセット要求を、センターサーバ1に送信する(S30)。すなわち、特殊起動ボタンにより正当にエラー通知出力が解除された場合にのみ、異常回数Nwがリセットされる。この段階で、プレイヤが特殊起動ボタンを押さずにゲーム装置2aの電源を落としても、異常回数Nwはそのままの値である。したがって、プレイヤが再度ゲーム装置2aを起動させても、再びエラー通知が出力されるにとどまり、プレイヤはゲームを開始することができない。
【0097】
ステップS31:エラー通知が正当に解除された場合か(S30)、または異常回数Nwが3を超えていない場合(S27)、CPU201は、前述の対戦相手決定処理(図6)を実行する。この処理により、CPU201は、対戦相手のゲーム装置2bのIPアドレスを取得する。
ステップS32:CPU201は、取得したIPアドレスに基づいてゲームを実行する。ゲームの実行は、本メインルーチンとは独立に行われる。この例では、ゲームは、正常に終了する場合と、異常終了する場合とがある。異常終了する原因としては、外部ネットワーク3の通信障害や、内部ネットワーク5の通信障害、ゲーム装置2aの電源が落とされることなどが挙げられる。ゲーム装置2aからLANケーブルを引き抜くことは、内部ネットワーク5の通信障害の一因となる。ゲームの実行中に、CPU201は、ハードディスク203の所定の領域に、ゲーム情報を書き込んでいく。例えばマージャンゲームであれば、プレイヤ及び対戦者の点棒の点数や局面が、ゲーム情報として書き込まれる。
【0098】
ステップS33〜S34:CPU201は、ゲームの終了を待機する(S33)。ゲームが終了した場合、CPU201はゲームが正常終了したか否かを判断する(S34)。ゲームが正常に終了した場合、CPU201は、ハードディスク203に書き込んだゲーム情報及びプレイヤIDを削除する。ゲームが正常に終了しなかった場合、CPU201は、再び前記ステップS21に戻り、前述の処理を繰り返す。従って、ゲームを異常終了させたプレイヤの異常回数Nwは、ステップS21で更新されることになる。
【0099】
ステップS35:ゲームが正常終了した場合、CPU201は、ハードディスク203の所定の領域に書き込んでいるゲーム情報を削除する。その後、CPU201はゲームを続行するか否かを判断し、続行する場合はステップS31に戻って新たな対戦相手の通信アドレスをセンターサーバ1から取得する。ゲームを続行しない場合、前記ステップS23に戻り、デモ画面を表示しながらカードの挿入を待機する。
【0100】
以上の処理により、異常終了させたプレイヤに対してエラー通知を行い、プレイヤの羞恥心を不正行為に対する抑止力とすることができる。また、エラー通知後に正当にエラー通知出力を解除した場合にのみ異常回数をリセットすることで、エラー通知を実効あるものとすることができる。本処理では、異常終了したプレイヤのID及びゲーム情報をゲーム装置2に記憶しておくことにより、ゲーム装置の起動時にそのプレイヤの異常回数を更新することができる。
【0101】
〔効果〕
本実施形態では、ゲーム装置2の起動時に異常回数Nwを更新することにより、ゲームが正常に終了しなかった回数をプレイヤごとにカウントする。異常回数Nwに基づいてエラー通知を出力することで、さらなる不正行為を防止することができる。エラー通知後のゲームの実行を、特殊起動ボタンにより制限することで、さらにエラー通知を実効あるものとできる。しかも、エラー通知出力の解除を正当に行った場合にのみ異常回数をリセットすることで、特殊起動ボタンを有効に不正行為防止に役立てることができる。
【0102】
<その他の実施形態>
(A)前記第1,2実施形態では、異常回数Nwが所定の上限値を超えた場合、プレイヤによる故意の異常終了の蓋然性が高いと判断し、異常信号を発生させている。これとは異なり、プレイヤがLANケーブルを引き抜いたことを検出したり、ゲーム装置の電源をゲーム成績の送信終了前に落としたことを検出した場合、故意による異常終了と判断してもよい。
【0103】
LANケーブルの引き抜きの検出は、例えば次のように行う。LAN上のルータに対して応答要求を送信し、その応答要求に対する応答が所定時間経過してもない場合、何らかの通信障害が外部ネットワークまたは内部ネットワークに発生したと判断する。このとき、内部ネットワーク上のルータに応答要求を送信しても、その送信が所定時間以内に完了しない場合、内部ネットワーク上の通信障害が発生していると判断することができる。そして、この内部ネットワーク上の通信障害を、LANケーブルの引き抜きによるものと推定してもよい。逆に外部ネットワーク上で通信障害が発生している場合、ルータから応答が返ってくるので、内部ネットワーク上の通信障害とは区別することができる。
【0104】
また、LANケーブルの引き抜きの検出を、次のように行うこともできる。ゲーム装置2からセンターサーバ1へのゲーム成績の送信が、ネットワーク対戦ゲームの終了から所定時間以内に完了するか否かを、CPU201は監視する。所定時間以内にゲーム成績の送信が完了しない場合、CPU201は、ネットワーク対戦ゲームが正常に終了しなかったと判断する。パケットの送信ができない場合、物理的にパケットをゲーム装置から送り出せないので、LANケーブルが引き抜かれていると判断できる。
【0105】
(B)上述の例では、異なる店舗に設置されたゲーム装置2a、2b同士が対戦する場合を例にとり説明したが、本発明は、同一店舗に設置されたゲーム装置2a,2a’同士が対戦する場合にも適用可能である。また、ゲーム装置2において、CPU対戦でゲームを行う場合や対戦相手がいないゲームを実行する場合にも、本発明は適用可能である。さらに、複数プレイヤが同一のゲーム装置2で対戦する場合にも、本発明は適用可能である。
【0106】
ここで、対戦相手がいないゲームの一例としては、ゲームが指定するタイミングに合わせて楽器を模した入力装置で入力を行う音楽ゲームをあげることができる。
(C)前述の方法をコンピュータ上で実行するためのプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、CD−ROM、DVD、光磁気ディスク(MO)、その他のものが挙げられる。
【産業上の利用可能性】
【0107】
本発明は、プレイヤのゲーム成績やランキングを管理するセンターサーバと接続されたゲーム装置に適用可能である。
【図面の簡単な説明】
【0108】
【図1】第1実施形態例に係るゲーム装置を含むゲームシステムの概略構成を示す説明図
【図2】図2に示すゲーム装置のハードウェア構成図
【図3】(A)入力データの一例を示す説明図(B)出力データの一例を示す説明図
【図4】ゲーム装置の機能構成を示すブロック図
【図5】ゲーム装置が行うメインルーチンの流れの一例を示すフローチャート
【図6】対戦相手決定処理の流れの一例を示すフローチャート
【図7】センターサーバが行う処理の流れの一例を示すフローチャート
【図8】第2実施形態にかかるゲーム装置の機能構成を示すブロック図
【図9】ゲーム装置が行うメインルーチンの流れの一例を示すフローチャート
【符号の説明】
【0109】
1:センターサーバ
2:ゲーム装置
3:外部ネットワーク(インターネット)
5:内部ネットワーク(LAN)
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム中の不正行為を防止する方法及び装置に関する。
【背景技術】
【0002】
近年、ネットワークでゲーム装置を接続してゲーム成績をホストに収集し、全国または店舗内のプレイヤのランキングを各プレイヤのゲーム成績に基づいて算出することが行われている。算出されたランキングは、ゲーム終了時にゲーム装置において表示される。プレイヤのゲーム成績が良いほど、プレイヤは上位にランキングされる。
【発明の開示】
【発明が解決しようとする課題】
【0003】
従って、プレイヤは少しでも上位にランキングされたいがために、良いゲーム成績を残そうとする。それが高じると、ゲーム成績が思わしくない場合、そのゲーム成績がホストに送信されて自らのランキングが低下するのを防止しようとするプレイヤ心理が働く。その結果、プレイヤは、思わしくない結果に終わりそうなゲームが正常に終了する前に、ゲーム成績がホストに送信されるのを防ごうとする。
【0004】
例えば、アーケードゲームでゲーム中に、ゲーム装置の電源スイッチを切ることによりゲームを強制的に停止させ、ゲーム成績がホストに送信されるのを防ごうとすることが挙げられる。この行為は、プレイヤにとってゲーム展開が不利になった場合、ゲームの異常終了を発生させることで、ゲームの無効化やホストへのゲーム成績の記録を防止するために行われる。
【0005】
このような行為により思わしくないゲーム成績の送信が妨害された場合、その行為を行ったプレイヤのランキングは結果として低下しない。従って、正確なゲーム成績に基づく正しいランキングができなくなり、その他のプレイヤと不正行為を行ったプレイヤとの間でランキングに不公平が生じる。
本発明は、プレイヤの意図により、プレイヤに有利なゲーム成績だけをホストに送信することを防止することを目的とする。
【課題を解決するための手段】
【0006】
前記課題を解決するために、本発明1は、ネットワークを介して他のゲーム装置及びホストと接続され、ネットワーク対戦ゲームを実行するゲーム装置が行う不正行為防止方法を提供する。この方法は、下記のステップを含む。
・前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別ステップ、
・前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数であって、前記識別ステップで受け付けたプレイヤ識別子に対応する異常回数を、前記ホストから取得する異常回数検出ステップ、
・前記異常回数に基づいて、異常信号を発生させる異常信号発生ステップ、
前記ネットワーク対戦ゲームの実行中に、前記ネットワーク対戦ゲームに関するゲーム情報と前記プレイヤ識別子とを、前記ゲーム装置の不揮発性記憶領域に書き込む書込ステップ、
前記ネットワーク対戦ゲームが正常終了した場合、前記不揮発性記憶領域に書き込まれたゲーム情報及びプレイヤ識別子を消去する消去ステップ、
前記ゲーム装置が起動したとき、前記ゲーム情報に対応するプレイヤ識別子を、前記異常回数検出ステップの実行前に、前記不揮発性記憶領域から検索する検索ステップ、
前記検索ステップで検索されたプレイヤ識別子に対応する異常回数の更新を、前記異常回数検出ステップの実行前に、前記ホストに要求する異常回数更新ステップ。
【0007】
本発明の不正行為防止方法は、ゲームシステムを構成するゲーム装置により実行される。ゲームシステムは、各ゲーム装置及びホストを含む。各ゲーム装置は、LANなどの内部ネットワークと、インターネットなどの外部ネットワークとを介して互いに接続され、ネットワーク対戦ゲームを実行する。さらに各ゲーム装置は、ホストに対しゲーム成績を送信する。ゲーム成績はホストにより集計され、これに基づいてプレイヤのランキングが演算される。演算結果は、ゲーム装置からの要求を受けて、ホストからゲーム装置に送信される。各ゲーム装置を操作するプレイヤは、ゲームが終了する毎に、その時の自分のランキングを確認することができる。
【0008】
ネットワーク対戦ゲームが正常に終了しない場合、つまり異常終了には、故意による異常終了と偶然による異常終了とが含まれる。故意による異常終了とは、例えばプレイヤがLANケーブルをゲーム装置から引き抜いたことによる終了や、プレイヤがゲーム装置の電源を切ることによる終了が挙げられる。偶然による異常終了とは、例えばインターネットが混雑してゲーム装置とホストとの通信が中断したことによる終了が挙げられる。
【0009】
本発明では、異常回数が大きい場合、プレイヤが不正行為を何回か働いたことによる故意の異常終了が発生したと見なし、異常信号を発生する。偶然による異常終了はそれほど頻繁に発生しないので、異常回数があまりに多い場合には、故意による異常終了の可能性が高いと考えられるからである。異常信号発生後、エラー通知を出力したり、ゲームの開始を禁止することにより、その後の不正行為に対する抑止力とすることができる。
【0010】
なお、不正行為をしたプレイヤに何らかのペナルティを付与してもよい。ペナルティの付与により、有効に不正行為を防止することが期待できる。例えば、ホストによりゲーム成績を示す累計獲得ポイントを減点したり、ランキングを下げることが可能である。
各プレイヤが異常終了した回数をホストに記憶しておき、この回数に基づいて異常信号を発生させる。ホストは、各プレイヤIDと異常回数とを対応付けて記憶する。異常回数は、ゲーム装置からの要求に応じてホストがインクリメントする。ホストが異常回数を管理することで、プレイヤが使用するゲーム装置をゲーム実行の度に変更しても、プレイヤ毎に異常回数をカウントすることができる。
【0011】
ゲーム装置が起動したときに、前回のゲーム装置動作時にゲームを異常終了させたプレイヤの異常回数が、カウントアップされる。
例えば、ゲーム装置のCPUは、ネットワーク対戦ゲームが異常終了したとき、異常終了フラグとプレイヤIDとをゲーム装置のハードディスクに書き込む。その後、ゲーム装置が動作を終了し、例えば再度ゲーム装置が起動したとき、ゲーム装置のCPUはハードディスクを参照する。参照した結果、あるプレイヤIDに対する異常終了フラグが“ON”であれば、ゲーム装置はホストに対し、そのプレイヤIDを指定して異常回数のインクリメントを要求する。これにより、ゲーム装置が起動するときに、ネットワーク対戦ゲームを異常終了させたプレイヤの異常回数を更新することができる。
【0012】
ゲーム実行中は、常にゲーム情報が、プレイヤIDと共に、ゲーム装置のハードディスクなどに書き込まれている。ゲームが正常終了した場合は、ゲーム情報が削除される。逆に、ゲームが異常終了した場合、ゲーム情報とプレイヤIDとがハードディスクに残ってしまう。従って、所定のタイミング、例えばゲーム装置起動時にハードディスクを検索することにより、ゲームを異常終了させたプレイヤのIDをゲーム装置からホストに送信し、そのプレイヤの異常回数のインクリメントを要求することができる。すなわち、次回のゲーム開始に先立ち、ゲーム装置が前回動作していたときにゲームを異常終了させたプレイヤの異常回数を、インクリメントすることができる。
【0013】
なお、ゲーム情報及びプレイヤIDをゲーム装置のハードディスクから検索するタイミングは、ゲーム装置が動作している時であればよい。ただし、ゲーム装置の起動時に検索すれば、ゲーム装置の電源を落とすことにより異常終了したゲームのプレイヤのIDを、いち早く検出し、そのプレイヤの異常回数をいち早くインクリメントすることができる。
また、プレイヤIDに加え、ゲーム情報を併せてホストに送信すれば、そのプレイヤのランキングの演算にそのゲーム情報を反映させることもできる。
【0014】
ここで、ゲーム情報とは、マージャンゲームであれば、プレイヤ及び対戦相手の点棒の値や、局数である。またサッカーゲームであれば、プレイヤ及び対戦相手の各得点数や、前半戦/後半戦/延長戦などの局面が挙げられる。
なお、ゲームが異常終了したか否かだけを判断するのであれば、ゲーム情報として異常終了フラグを用いるのでもよい。例えば、ゲーム開始と共に異常終了フラグ“ON”とプレイヤIDとを、ハードディスクに書き込む。ゲームの正常終了と共に異常終了フラグ及びプレイヤIDを削除すれば、異常終了フラグ“ON”とプレイヤIDとが残っているか否かに基づいて、ゲームが異常終了したか否かを判断することができる。
【0015】
発明2は、前記発明1において、前記異常信号発生ステップは、前記異常回数が所定の上限値を超えているか否かを判断し、超えている場合に前記異常信号を発生させる不正行為防止方法を提供する。
異常回数は、故意による異常終了も偶然による異常終了も含む回数を示す。しかし、その回数があまりにも多い場合には、故意による異常終了が大半を占めると判断することができる。従って、異常回数が所定の上限値を超えた場合、故意による異常終了が相当回数発生していると見なし、異常信号を発生させるとよい。
【0016】
これとは異なり、プレイヤがLANケーブルを引き抜いたことを検出したり、ゲーム装置の電源をゲーム成績の送信終了前に落としたことを検出した場合、故意による異常終了と判断してもよい。
LANケーブルの引き抜きの検出は、例えば次のように行う。LAN上のルータに対して応答要求を送信し、その応答要求に対する応答が所定時間経過してもない場合、何らかの通信障害が外部ネットワークまたは内部ネットワークに発生したと判断する。このとき、内部ネットワーク上のルータに応答要求を送信しても、その送信が所定時間以内に完了しない場合、内部ネットワーク上の通信障害が発生していると判断することができる。そして、この内部ネットワーク上の通信障害を、LANケーブルの引き抜きによるものと推定してもよい。逆に外部ネットワーク上で通信障害が発生している場合、ルータから応答が返ってくるので、内部ネットワーク上の通信障害とは区別することができる。
【0017】
発明3は、前記発明1において、前記異常信号発生ステップで発生した前記異常信号に基づいて、エラー通知を出力する異常処理ステップをさらに含む不正行為防止方法を提供する。
故意による異常終了と判断できる場合には、エラー画面の出力やアラーム音の出力を行う。これにより、プレイヤの羞恥心を刺激し、それ以上の不正行為を予防することができる。
【0018】
発明4は、発明3において、異常処理ステップが、前記異常信号に基づいて前記ネットワーク対戦ゲームの実行を禁止する不正行為防止方法を提供する。
不正行為を働いたと判断されると続けてゲームができない、というペナルティを与えることで、不正行為を抑制できる可能性がある。異常信号発生後、所定の期間が経過するまでは、ゲームの実行を禁止するようにしてもよい。
【0019】
発明は、前記発明において、前記異常回数更新ステップは、前記検索ステップにおいて検索されたゲーム情報に基づいて、前記プレイヤ識別子に対応する異常回数の更新を前記ホストに要求するか否かを判断する不正行為防止方法を提供する。
ゲーム情報をハードディスクに書き込めば、プレイヤの故意による異常終了なのか偶然による異常終了なのかを判別できる。つまり、ゲーム情報に含まれるゲーム成績がプレイヤに不利であれば、故意による異常終了と判断できる。逆に、ゲーム成績がプレイヤに有利であれば、偶然による異常終了と判断することができる。この判断に基づいて、プレイヤの異常回数を更新することにより、故意による異常終了をより正確に計数することができる。
【0020】
発明は、前記発明において、前記異常信号発生ステップは、前記異常信号発生後、前記識別ステップで受け付けたプレイヤ識別子に対応する異常回数のリセットを、前記ホストに要求する不正行為防止方法を提供する。
異常信号発生に基づいてエラー画面の出力やゲーム実行の中止など異常処理を行う場合がある。この場合、異常信号発生後に異常回数をリセットすることで、例えば3回異常終了する毎に異常処理を実行できる。異常信号に基づく何らかのペナルティを発生させてもよい。また、リセット要求を、異常信号発生後所定期間が経過してから送信してもよい。ペナルティと組み合わせれば、その所定期間内を、不正行為に対するペナルティ期間とすることができる。
【0021】
発明7は、前記発明1において、前記ゲーム情報は、前記ネットワーク対戦ゲームの対戦成績を含んでいる不正行為防止方法を提供する。
不揮発性記憶領域に書き込まれたゲーム情報中の対戦成績がプレイヤに不利であれば、恋による異常終了と判断できる。逆に対戦成績がプレイヤに有利であれば、偶然による異常終了と判断することができる。
【0022】
発明は、ネットワークを介して他のゲーム装置及びホストと接続され、ネットワーク対戦ゲームを実行する不正行為防止機能付ゲーム装置を提供する。このゲーム装置は、下記手段を含んでいる。
・前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別手段、
・前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数であって、前記識別手段が受け付けたプレイヤ識別子に対応する異常回数を、前記ホストから取得する異常回数検出手段、
・前記異常回数に基づいて、異常信号を発生させる異常信号発生手段、
前記ネットワーク対戦ゲームの実行中に、前記ネットワーク対戦ゲームに関するゲーム情報と前記プレイヤ識別子とを、前記ゲーム装置の不揮発性記憶領域に書き込む書込手段、
前記ネットワーク対戦ゲームが正常終了した場合、前記不揮発性記憶領域に書き込まれたゲーム情報及びプレイヤ識別子を消去する消去手段、
前記ゲーム装置が起動したとき、前記ゲーム情報に対応するプレイヤ識別子を、前記異常回数検出ステップの実行前に、前記不揮発性記憶領域から検索する検索手段、
前記検索手段が検索したプレイヤ識別子に対応する異常回数の更新を、前記異常回数検出ステップの実行前に、前記ホストに要求する異常回数更新手段
【0023】
このゲーム装置は、前記発明1の方法を実行し、発明1と同様の作用効果を奏する。
発明は、ネットワークを介して他のゲーム装置及びホストと接続され、ネットワーク対戦ゲームを実行するゲーム装置が行う不正行為防止プログラムを提供する。このプログラムは、下記手段として前記ゲーム装置を機能させる。
・前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別手段、
・前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数であって、前記識別手段が受け付けたプレイヤ識別子に対応する異常回数を、前記ホストから取得する異常回数検出手段、
・前記異常回数に基づいて、異常信号を発生させる異常信号発生手段、
前記ネットワーク対戦ゲームの実行中に、前記ネットワーク対戦ゲームに関するゲーム情報と前記プレイヤ識別子とを、前記ゲーム装置の不揮発性記憶領域に書き込む書込手段、
・前記ネットワーク対戦ゲームが正常終了した場合、前記不揮発性記憶領域に書き込まれたゲーム情報及びプレイヤ識別子を消去する消去手段、
・前記ゲーム装置が起動したとき、前記ゲーム情報に対応するプレイヤ識別子を、前記異常回数検出ステップの実行前に、前記不揮発性記憶領域から検索する検索手段、及び
前記検索手段が検索したプレイヤ識別子に対応する異常回数の更新を、前記異常回数検出ステップの実行前に、前記ホストに要求する異常回数更新手段。
【0024】
このプログラムは、前記発明1のステップをゲーム装置に実行させ、発明1と同様の作用効果を実現する。
【発明の効果】
【0025】
ゲームが正常に終了しなかった異常回数をプレイヤごとにカウントし、異常回数に基づいた対抗措置を執ることにより、不正行為を防止することができる。
【発明を実施するための最良の形態】
【0026】
<第1実施形態>
〔概要〕
第1実施形態のゲーム装置は、ゲームを開始した回数(以下、開始回数という)Nsと、ゲームを正常に終了した回数(以下、終了回数という)Neとを比較する。その結果、両者が一致しない場合、ゲーム装置は異常信号を発生させる。本実施形態では、両者の差が“3”を越えた場合に、異常信号が発生する。この異常信号に基づいて、ゲーム装置はエラー画面やアラーム音を出力し、不正行為が行われたことを通知する。エラー通知によりプレイヤの羞恥心が刺激されるので、以降の不正行為の防止につながると期待できる。また、発生した異常信号に基づいて、以降に行うゲームの成績にペナルティを与えることもできる。
【0027】
〔構成〕
図1は、本発明の第1実施形態例に係るゲーム装置を含むゲームシステムの概略構成を示す説明図である。このゲームシステムは、センターサーバ1と複数のゲーム装置2a,2a’,2b,2b’・・・とを含んでいる。各ゲーム装置2は、例えば店舗A,B・・・に設置されている。店舗A内のゲーム装置2a,2a’は、互いに内部ネットワーク5a、例えばLAN(Local Area Network)により接続されている。同様に、店舗B内のゲーム装置2b,2b’は、互いに内部ネットワーク5bにより接続されている。さらに、店舗A、B内のLAN5a、5bは、それぞれ各店舗に設置されたルータ4a,4bを介し、インターネットなどの外部ネットワーク3に接続されている。外部ネットワーク3には、センターサーバ1が接続されている。
【0028】
(1)センターサーバ
センターサーバ1は、プレイヤ毎の個人データを記憶し、ゲーム装置2からの要求に応じて個人データを要求元ゲーム装置に送信する。図1に示すように、センターサーバ1は下記の要素(a)〜(e)を備えている。
(a)CPU101:後述するデータ蓄積部103に格納されている制御プログラムを読み出し、実行する。
(b)RAM102:ゲームを行うに当たりプレイヤ個人が設定するデータや、過去の戦績に基づくデータなど、ゲーム毎に異なる個人データを一時的に記憶する。
(c)データ蓄積部103:データ蓄積部103は、例えばハードディスクを用いて実現できる。制御プログラムやゲーム装置2から送信されてくる個人データなどを記憶する。個人データには、プレイヤの認証に用いられるパスワードや、プレイヤごとのゲームの開始回数Ns、終了回数Neが含まれる。
(d)ネットワーク通信部104:外部ネットワーク3を介し、ゲーム装置2とデータの送受信を行う。
【0029】
上記の構成を有するセンターサーバ1は、各ゲーム装置2からゲーム成績を受信し、これを集計してプレイヤのランキングを演算する。演算結果は、ゲーム装置2からの要求に応じ、センターサーバ1からゲーム装置2に送信される。各ゲーム装置2を操作するプレイヤは、ゲームが終了する毎に、その時の自分のランキングを例えばモニタ上で確認することができる。
【0030】
(2)ゲーム装置
(2−1)ハードウェア構成
図2は、ゲーム装置2のハードウェア構成を示す。ゲーム装置2は、センターサーバ1から取得した個人データに基づいて、他のゲーム装置2と外部ネットワーク3及び/または内部ネットワーク5を介し、ゲームを行う。ゲーム装置2は、下記(a)〜(o)の要素を有している。
(a)CPU201:後述するハードディスク203に記憶されている制御プログラムを実行する。
(b)RAM202:各種変数やパラメータなどを一時的に記憶する。
(c)ハードディスク203:制御プログラムや各種パラメータなどを記憶する。
(d)ネットワーク通信部204:外部ネットワーク3及び内部ネットワーク5を介し、センターサーバ1や他のゲーム装置2とデータの送受信を行う。
(e)モニタ206:ゲーム画像を表示する。
(f)描画処理部205:モニタ206に表示する画像データを生成する。
(g)スピーカ208:ゲーム実行中やデモ画面表示中のサウンドを出力する。
(h)音声再生部207:スピーカ208に発音させるためのサウンドデータを生成する。
(i)入力操作部211:ジョイスティックや操作ボタンなどから構成されプレイヤの指示入力を受け付ける。
(j)カードリーダ・ライタ212:挿入される磁気カードに対してデータの読取・書込処理を実行する。
(k)コイン受付部213:挿入されるコインによるクレジットを受け付ける。
(l)通常起動ボタン214:ゲームが正常終了した後にゲーム装置2を起動するためのボタンである。このボタンは、ゲーム装置本体の外部に露出して設けられている。このボタンの押下により、ゲーム装置は起動し、デモ画面を表示しながら磁気カードの挿入を待機する待機モードに入る。
(m)特殊起動ボタン215:ゲームの異常終了回数が多いプレイヤに対して出されるエラー通知出力を解除するためのボタンである。このボタンは、ゲーム装置本体に外付けまたは内蔵された開閉可能な鍵付きボックスに内蔵されている。エラー通知出力は、このボタンの押下により解除される。
(n)外部機器制御部210:操作部カードリーダ・ライタ212、コイン受付部213、通常起動ボタン214、特殊起動ボタン215などの外部機器を制御する。
(o)外部入出力制御部209:カードリーダ・ライタ212やコイン受付部213などの外部機器に対する制御信号を生成する。また、カードリーダ・ライタ212やコイン受付部213、通常起動ボタン214や特殊起動ボタン215などの外部機器からの検出信号を受信してCPU201に送出する。
【0031】
上記のように構成されたゲーム装置2は、ハードディスク203に記憶された制御プログラムに従い、次のようにしてゲームを実行する。プレイヤは、ゲーム装置2において自己の所有する磁気カードをカードリーダ・ライタ212に挿入し、コイン受付部213にコインを投入する。ゲーム装置2は、カードリーダ・ライタ212に挿入された磁気カードからプレイヤを識別するプレイヤIDを読み取り、センターサーバ1のデータ蓄積部105に格納されている個人データをダウンロードする。
【0032】
ゲーム装置2は、個人データに含まれているパスワードに基づいて、プレイヤの認証処理を行う。プレイヤを承認した場合、ゲーム装置2は、個人データに含まれている開始回数Nsと終了回数Neとを比較する。両者の差が所定の範囲内であれば、ゲーム装置2は、対戦相手のネットワークアドレスを取得する。つまり、認証されたプレイヤがネットワーク対戦を希望した場合、ゲーム装置2は、自己のネットワークアドレスをセンターサーバ1に送信し、対戦相手のネットワークアドレスを取得する。その後、ゲーム装置2は、取得した対戦相手のネットワークアドレスに基づいて、ネットワーク対戦ゲームの実行を開始する。
【0033】
ネットワーク対戦ゲームの実行中は、ゲーム装置間でデータの送受信が行われる。送受信されるデータの例としては、センターサーバ1からダウンロードした個人データや、プレイヤの操作指示入力を示す入力データ、画像や音声を出力するための出力データを挙げることができる。図3(A)は、入力データの一例を示す。この例は、サッカーゲームの入力データを示す。この入力データは、「上下左右いずれのレバーが入力されたか」、「5つあるボタンのいずれが入力されたか」、を示す。図3(B)は、出力データの一例を示す。出力データは、ゲーム画面を表示するためのフレームデータやサウンドを出力するための音声データである。この例では、サッカーゲームの場合の出力データの例を示している。出力データは、データの種類に応じた時間間隔で送信される。例えばフレームデータであれば1/30(sec)毎に送信される。
【0034】
(2−2)機能構成
図4は、ゲーム装置2の機能構成を示すブロック図である。ゲーム装置2は、識別部21、ゲーム実行部22、異常回数検出部23、異常信号発生部24、異常処理部25及び第1更新部26を有している。これらの各部は、CPU201が実行するプログラムにより実現される。以下、ゲーム装置2が有する機能について、さらに詳細に説明する。説明をわかりやすくするために、ゲーム装置2aがゲーム装置2bと対戦中のゲーム装置2aの機能について説明するが、各ゲーム装置2は同じ機能を有している。
【0035】
(2−2−1)プレイヤの識別
識別部21は、ゲーム装置2aを操作するプレイヤを識別するためのプレイヤIDの入力を受け付ける。例えば、識別部21は、ゲーム装置2aに挿入される磁気カードからプレイヤIDを読み取る。さらに、識別部21は、読み込んだプレイヤIDの個人データを、センターサーバ1からダウンロードし、プレイヤの認証を行う。
【0036】
(2−2−2)ゲームの実行
ゲーム実行部22は、例えばサッカーゲームや麻雀ゲームなどのネットワーク対戦ゲームを実行する。また、ゲーム実行部22は、CPU対戦を実行したり、対戦者のいないゲームを実行する場合もある。対戦者のいないゲームとしては、指定された音楽に合わせて楽器による入力や歌を歌う音楽ゲームをあげることができる。
【0037】
(2−2−3)異常回数の検出
異常回数検出部23は、ダウンロードされた個人データから、認証されたプレイヤのプレイヤIDに対応する異常回数Nwを演算する。異常回数Nwは、認証されたプレイヤが、ネットワーク対戦ゲームを正常に終了しなかった回数の累計を示す。
この実施形態では、異常回数検出部23は、認証したプレイヤIDに対応する開始回数Ns及び終了回数Neを、個人データから抽出する。さらに、異常回数検出部23は、開始回数Ns及び終了回数Neの差を演算することにより、異常回数Nwを算出する(Ns−Ne=Nw)。ここで、開始回数Nsは、プレイヤIDで識別されるプレイヤが、ネットワーク対戦ゲームを開始した回数の累計を示す。また、終了回数Neは、プレイヤIDで識別されるプレイヤが、ネットワーク対戦ゲームを正常に終了した回数の累計を示す。
【0038】
ここで、ネットワーク対戦ゲームが正常に終了しない場合、つまり異常終了には、故意による異常終了と偶然による異常終了とが含まれる。故意による異常終了の原因としては、例えばプレイヤがLANケーブルをゲーム装置から引き抜いたり、プレイヤがゲーム装置の電源を切ることが考えられる。偶然による異常終了の原因としては、例えばインターネットが混雑してゲーム装置とセンターサーバ1との通信が中断することが考えられる。
【0039】
(2−2−4)異常信号の発生
異常信号発生部24は、異常回数検出部23が演算した異常回数Nwに基づいて、異常信号を発生させる。本実施形態では、異常回数Nwが所定の範囲を超えた場合、プレイヤが不正行為を何回か働いたことによる故意の異常終了が発生したと見なし、異常信号を発生させる。より具体的には、異常信号発生部24は、異常回数Nwが所定の上限値Maxを超えているか否かを判断し、超えている場合に前記異常信号を発生させる。これは、偶然による異常終了はそれほど頻繁に発生しないので、異常回数があまりに多い場合には、故意による異常終了の可能性が高いと考えられるからである。異常信号発生後、所定の異常処理を実行することにより、その後の不正行為に対する抑止力とすることができる。異常処理としては、例えば、エラー通知を出力したり、ゲームの開始を禁止することが挙げられる。
【0040】
(2−2−5)開始回数及び終了回数のインクリメント
第1更新部25は、ネットワーク対戦ゲームの実行開始に伴い、プレイヤIDに対応する開始回数Nsのインクリメントを、センターサーバ1に要求する。要求のタイミングは、ゲームの実行開始直後が好適と考えられる。また、第1更新部25は、ネットワーク対戦ゲームが正常に終了した後に、プレイヤIDに対応する終了回数Neのインクリメントを、センターサーバ1に要求する。
【0041】
ゲームが正常に終了したときは、センターサーバ1に記憶される開始回数Nsと終了回数Neとが等しくなる。しかし、ゲームが正常に終了しなかったときは、開始回数Nsの方が終了回数Neよりも多くなる。なぜなら、終了回数Neのインクリメントが行われないからである。従って、開始回数Nsと終了回数Neとをそれぞれ異なるタイミングで独立に更新することで、両者の差がゲームが異常終了した回数Nwを示すようになる。
【0042】
なお、第1更新部25は、開始回数Nsまたは終了回数Neとともに、ゲーム装置2aが設置されている店舗を識別する店舗IDを、センターサーバ1に送信してもよい。センターサーバ1が、どの店舗で不正行為が行われているかを把握できるようになる。また、第1更新部25は、開始回数Nsまたは終了回数Neとともに、時刻情報をセンターサーバ1に送信してもよい。これにより、センターサーバ1は、不正行為が行われている日時や時間帯を把握できるようになる。さらに、センターサーバ1は、不正行為が行われた日時から一定期間は、磁気カードを使用不可状態とするなどのペナルティを課すことが可能となる。
【0043】
(2−2−6)エラー発生通知
異常処理部26は、異常信号発生部24が生成した異常信号に基づいて、エラー通知を出力する。エラー通知の出力形態としては、エラー画面の出力やアラーム音の出力が一例として挙げられる。異常回数Nwが上限値Maxを超えた場合、つまり故意による異常終了が多いと判断できる場合、エラー通知を出力する。これにより、プレイヤの羞恥心を刺激し、それ以上の不正行為を予防することができる。
【0044】
さらに、異常処理部26は、異常信号に基づいて、ネットワーク対戦ゲームの実行を禁止することもできる。不正行為を働いたと判断されると続けてゲームができない、というペナルティを与えることで、不正行為を抑制できる可能性がある。異常信号発生後、所定の期間が経過するまでは、ゲームの実行を禁止するようにしてもよい。
例えば、異常処理部26は、エラー通知出力後、特殊起動ボタンが押下されるまで、ゲームの開始を禁止してもよい。特殊起動ボタンは、例えばゲームセンターの店員だけが持っている鍵付きボックスに内蔵されており、店員が鍵を開けない限り押下できない。エラー通知出力状態を解除するには、特殊起動ボタンの押下が必要である。従って、故意によりゲームを異常終了させたプレイヤが再びゲームをしたい場合、店員を呼び、鍵付きボックスを開けてもらい、特殊起動ボタンを押してもらわなければならなくなる。これは、店員に対して自分の不正行為が露呈することを意味するので、プレイヤの羞恥心を刺激し、不正行為の抑制につながると期待できる。
【0045】
ちなみに、通常起動ボタンは、ゲーム装置2aの本体外部に取り付けられ、誰でも押下可能になっている。ゲームセンターの営業が始まるときには、ゲーム装置2aは通常起動ボタンの押下により起動する。ここで「ゲーム装置2aの起動」とは、実際にゲームを実行する意味ではない。例えば、ゲームのデモンストレーションを実行するプログラムを起動させ、カードの挿入やコインの投入を受け付ける状態とすることが考えられる。
【0046】
なお、異常処理部26は、不正行為をしたプレイヤに何らかのペナルティを付与してもよい。ペナルティの付与により、不正行為の抑制力を高めることができる。例えば、異常処理部26は、センターサーバ1に対し、ゲーム成績を示す累計獲得ポイントの減点を要求したり、ランキングを下げることを要求したりすることができる。
(2−2−7)開始回数及び終了回数のリセット
異常信号発生部24は、異常信号発生後、開始回数Ns及び終了回数Neのリセット要求を、センターサーバ1に送信する。これにより、異常信号発生部24は、異常終了がMax回発生する毎に、異常処理を実行することができる。異常回数Nwが上限値Maxを超えるごとに、開始回数Nsや終了回数Neがリセットされるからである。また、異常信号発生部24は、リセット要求を、異常信号発生後に所定期間が経過してから送信してもよい。異常信号に基づく何らかのペナルティを発生させる場合、所定期間内を不正行為に対するペナルティ期間とすることができるからである。
【0047】
さらに、異常信号発生部24は、開始回数Ns及び終了回数Neのリセット要求を、エラー通知出力後かつ特殊起動ボタンが押下された後に送信することが好ましい。なぜなら、特殊起動ボタンにより正当にエラー通知を解除しない限り、ゲームを行うことができない状態にプレイヤを置くことができるからである。例えば、プレイヤが、エラー通知出力後にゲーム装置2aの電源を落とすことによりエラー通知出力の解除を図ることも考えられる。しかし、その場合、開始回数Ns及び終了回数Neがリセットされていないので、再度エラー通知が出力される。すなわち、正当にエラー通知を解除した場合にのみ、開始回数Ns及び終了回数Neのリセット要求を送信することで、特殊起動ボタンを実効あるものとすることができる。
【0048】
〔処理の流れ〕
次に、ゲーム装置2及びセンターサーバ1が行う処理について、より詳細に説明する。まず、説明を容易にするために、ゲーム装置2a、2bが対戦する場合のゲーム装置2aの処理について説明するが、ゲーム装置2bの処理も同じである。
(1)ゲーム装置のメインルーチン
図5は、ゲーム装置2aが行うメインルーチンの流れの一例を示すフローチャートである。ゲーム装置2aの電源が投入されると、下記の処理が開始される。
【0049】
ステップS1〜S2:CPU201は、デモ画面を表示しながらゲームの実行の指示を待機する(S1)。例えば、コインが投入され、磁気カードがカードリーダ・ライタ212に挿入されると(S2)、ステップS3に移行する。
ステップS3:CPU201は、カードリーダ・ライタ212が読み込んだプレイヤIDを取得する。
【0050】
ステップS4:CPU201は、読み込んだプレイヤIDをセンターサーバ1に送信し、プレイヤIDに応じた個人データをダウンロードする。次いで、CPU201は、プレイヤに対してパスワードの入力を要求し、個人データに含まれるパスワードと比較することによりプレイヤ本人か否かを認証することが好ましい。
ステップS5:CPU201は、個人データに含まれる開始回数Nsと終了回数Neとの差が、所定の上限値Maxを超えているか否かを判断する((Ns−Ne)>Max)。言い換えれば、CPU201は、異常回数Nwが上限値Maxを超えているか否かを、判断する。ここでは、説明を容易にするために、“Max=3”とする。(Ns−Ne)>3の場合はステップS6に移行し、その他の場合は後述するステップS9に移行する。
【0051】
ステップS6:CPU201は、エラー通知を出力する。例えば、「ゲームを開始できません。」などのエラーメッセージが、表示されたり、スピーカ出力されたりする。
ステップS7〜S8:CPU201は、特殊起動ボタンの押下を待機し(S7)、特殊起動ボタンが押されると、開始回数Ns及び終了回数Neのリセット要求を、センターサーバ1に送信する(S8)。すなわち、特殊起動ボタンにより正当にエラー通知出力が解除された場合にのみ、開始回数Ns及び終了回数Neがリセットされる。この段階で、プレイヤが特殊起動ボタンを押さずにゲーム装置2aの電源を落としても、開始回数Ns及び終了回数Neはそのままの値である。したがって、プレイヤが再度ゲーム装置2aを起動させても、再びエラー通知が出力されるにとどまり、プレイヤはゲームを開始することができない。
【0052】
ステップS9:エラー通知が正当に解除された場合か(S8)、または異常回数Nwが3を超えていない場合(S5)、CPU201は、後述する対戦相手決定処理を実行する。この処理では、CPU201は、対戦相手のゲーム装置2bのIPアドレスを取得する。
ステップS10:CPU201は、取得したIPアドレスに基づいてゲームを実行する。ゲームの実行は、本メインルーチンとは独立に行われる。この例では、ゲームは、正常に終了する場合と、異常終了する場合とがある。異常終了する原因としては、外部ネットワーク3の通信障害や、内部ネットワーク5の通信障害、ゲーム装置2aの電源が落とされることなどが挙げられる。ゲーム装置2aからLANケーブルを引き抜くことは、内部ネットワーク5の通信障害の一因となる。
【0053】
ステップS11:CPU201は、個人データに含まれていた開始回数Nsをインクリメントし、新たな開始回数NsとプレイヤIDとをセンターサーバ1に送信する(Ns→Ns+1)。これにより、センターサーバ1に記憶されている該当プレイヤの開始回数Nsが更新される。
ステップS12〜S14:CPU201は、ゲームの終了を待機する(S12)。ゲームが終了した場合、CPU201はゲームが正常終了したか否かを判断する(S13)。ゲームが正常終了した場合、CPU201は終了回数Neをインクリメントし、新たな終了回数NeとプレイヤIDとをセンターサーバ1に送信する(S14)。これにより、センターサーバ1に記憶されている該当プレイヤの終了回数Neが更新される。ゲームが正常に終了しなかった場合、前記ステップS1に戻り、前述の処理を繰り返す。つまり、ゲーム装置2は、再びデモ画面を表示しながら、磁気カードの挿入を待機する。
【0054】
ステップS15:CPU201はゲームを続行するか否かを判断し、続行する場合はステップS9に戻って新たな対戦相手の通信アドレスをセンターサーバ1から取得する。ゲームを続行しない場合、前記ステップS1に戻り、デモ画面を表示しながらカードの挿入を待機する。
なお、CPU201は、開始回数Nsまたは終了回数Neとともに、ゲーム装置2aが設置されている店舗を識別する店舗IDを、センターサーバ1に送信してもよい。センターサーバ1が、どの店舗で不正行為が行われているかを把握できるようになる。また、CPU201は、開始回数Nsまたは終了回数Neとともに、時刻情報をセンターサーバ1に送信してもよい。逆に、センターサーバ1側でデータ受信時の時刻情報を記憶してもよい。これにより、不正行為が行われている日時や時間帯を把握できるようになる。さらに、センターサーバ1は、不正行為が行われた日時から一定期間は、磁気カードを使用不可状態とするなどのペナルティを課すことが可能となる。
【0055】
以上の処理により、異常終了させたプレイヤに対してエラー通知を行い、プレイヤの羞恥心を不正行為に対する抑止力とすることができる。また、エラー通知後に正当にエラー通知出力を解除した場合にのみ異常回数をリセットすることで、エラー通知を実効あるものとすることができる。本処理では、開始回数Nsと終了回数Neとを異なるタイミングで更新するので、ゲームが正常終了したときだけ両者が一致するようになり、異常終了の回数を正確に計数することができる。
【0056】
(2)ゲーム装置の対戦相手決定処理
図6は、前記メインルーチンのステップS9において実行される、対戦相手決定処理の流れの一例を示すフローチャートである。この処理では、CPU201は、対戦相手のゲーム装置のIPアドレスを、センターサーバ1から取得する。
ステップS101:CPU201は、自分自身のIPアドレスをセンターサーバ1に送信し、センターサーバ1のRAM202に記憶されている募集リストへのIPアドレスの登録を要求する。募集リストには、対戦相手を探しているゲーム装置2のIPアドレスが書き込まれる。
【0057】
ステップS102〜S103:CPU201は、他のゲーム装置2bから対戦要求を受信したか否かを判断し(S102)、まだであればセンターサーバ1から募集リストを取得する(S103)。対戦要求を受信していれば、後述するステップS110に移行する。
ステップS104〜S105:CPU201は、募集リストに、自分のアドレス以外のIPアドレスが登録されているかどうかを判断し(S104)、“Yes”と判断するといずれかのIPアドレスを選択する(S105)。
【0058】
ステップS106:CPU201は、選択したIPアドレスに対し、対戦要求コマンドが記述された対戦要求パケットを送信する。
ステップS107〜S109:CPU201は、送信した対戦要求パケットに対する返答パケットの受信を待機し(S107)、“対戦OK”の応答を受信すると(S108)、自分のIPアドレスを募集リストから抹消するようセンターサーバ1に要求する(S109)。対戦が拒否された場合(S108)、再び前記ステップS102に戻り、前述の処理を繰り返す。
【0059】
ステップS110:CPU201は、IPアドレスを募集リストに登録した後に対戦要求を受信した場合(S102)、“対戦OK”の返答パケットを要求元に送信し(S110)、自分自身のIPアドレスを募集リストから抹消してもらう(S109)。
以上の処理により、ゲーム装置2aは、ネットワーク対戦ゲームを行う対戦者のIPアドレスを取得することができる。なお、対戦者の数は、ゲームにより異なる。例えばサッカーゲームであれば1名であるが、麻雀ゲームであれば3名である。
【0060】
(3)センターサーバの処理
図7は、センターサーバ1が行う処理の流れの一例を示すフローチャートである。この処理は、センターサーバ1の起動により開始する。センターサーバ1のCPU101は、個人データをゲーム装置2に送信する処理(S41〜S43)、募集リストへの登録(S44〜S46)、募集リストからの抹消(S47〜S48)、個人データをゲーム装置2から受信する処理(S49〜S50)を行う。
【0061】
ステップS41〜S43:CPU101は、いずれかのゲーム装置2から個人データの要求を受信すると(S41)、要求された個人データをデータ蓄積部103から読み出し(S42)、要求元に送信する(S43)。個人データは、プレイヤIDと対応付けられてデータ蓄積部103に記憶されている。個人データには、プレイヤ認証に用いられるパスワードや、開始回数Ns、終了回数Neが含まれる。
【0062】
ステップS44〜S46:CPU101は、いずれかのゲーム装置2から募集リストへのIPアドレスの登録要求を受信すると(S44)、募集リストへそのゲーム装置2のIPアドレスを登録し(S45)、募集リストを要求元に送信する(S46)。
ステップS47〜S48:CPU101は、いずれかのゲーム装置2から募集リストからのIPアドレスの抹消要求を受信すると(S47)、募集リストから該当IPアドレスを削除する(S48)。募集リストにはまだ対戦相手が未定のゲーム装置のIPアドレスだけを掲載しておくために、対戦相手が決まったゲーム装置のIPアドレスを募集リストから削除するのである。
【0063】
ステップS49〜S50:CPU101は、いずれかのゲーム装置2からプレイヤID及び個人データを受信すると(S49)、そのプレイヤIDに対応する個人データを更新する。受信する個人データとしては、開始回数Nsや終了回数Ne、ゲーム成績が挙げられる。
ステップS51:CPU101は、例えばセンターサーバ1の電源がオフになるまで、前述の処理を繰り返す。
【0064】
以上の処理により、センターサーバ1は、ゲーム装置2に個人データや対戦相手のIPアドレスを送信する。また、センターサーバ1は、ゲーム装置2から個人データの一部を受信すると、プレイヤIDと対応付けてそれを記憶する。記憶した個人データのうちゲーム成績は、プレイヤのランキングを演算するために用いられる。
なお、前述したように、センターサーバ1は、開始回数Nsまたは終了回数Neを受信した時刻を、個人データに追加して書き込んでもよい。不正行為が行われる日時を推定したり、不正行為が行われてから一定期間をペナルティ期間とすることができる。さらに、センターサーバ1は、開始回数Nsと正常終了回数Neとの差に基づいて、ゲーム成績にペナルティを与えることもできる。
【0065】
〔効果〕
本実施形態では、開始回数Nsと終了回数Neとを異なるタイミングで更新することにより、ゲームが正常に終了しなかった回数Nwをプレイヤごとにカウントする。異常回数に基づいてエラー通知を出力することで、さらなる不正行為を防止することができる。エラー通知後のゲームの実行を、特殊起動ボタンにより制限することで、さらにエラー通知を実効あるものとできる。しかも、エラー通知出力の解除を正当に行った場合にのみ異常回数をリセットすることで、特殊起動ボタンを有効に不正行為防止に役立てることができる。
【0066】
<第2実施形態>
〔概要〕
第2実施形態のゲーム装置は、ゲームが異常終了した回数Nwをセンターサーバから取得する。取得した異常回数Nwに基づいて、異常信号が発生する。本実施形態では、異常回数Nwが“3”を越えた場合に、異常信号が発生する。この異常信号に基づいて、ゲーム装置はエラー画面やアラーム音を出力し、不正行為が行われたことを通知する。エラー通知によりプレイヤの羞恥心が刺激されるので、以降の不正行為の防止につながると期待できる。また、発生した異常信号に基づいて、以降に行うゲームの成績にペナルティを与えることもできる。
【0067】
〔構成〕
図8は、第2実施形態にかかるゲーム装置2の機能構成を示すブロック図である。この実施形態におけるシステム構成、センターサーバ1及びゲーム装置2のハードウェア構成は、前記第1実施形態と同様である。
ゲーム装置2は、識別部21、ゲーム実行部22、異常回数検出部27、異常信号発生部24、異常処理部25及び第2更新部26を有している。図中、第1実施形態で述べた機能と同様の機能を持つ構成要素には、同一の符号を付して示している。これらの各部は、CPU201が実行するプログラムにより実現される。以下、ゲーム装置2が有する機能について、さらに詳細に説明する。説明をわかりやすくするために、ゲーム装置2aがゲーム装置2bと対戦中のゲーム装置2aの機能について説明するが、各ゲーム装置2は同じ機能を有している。
【0068】
(1)プレイヤの識別
識別部21は、プレイヤIDの入力を受け付け、個人データをセンターサーバ1からダウンロードし、プレイヤの認証を行う。識別部21の機能は、前記第1実施形態と同様である。
(2)ゲームの実行
ゲーム実行部22は、ネットワーク対戦ゲームを実行する。ゲーム実行部22の機能は、前記第1実施形態と同様である。
【0069】
(3)異常回数の検出
異常回数検出部27は、ダウンロードされた個人データから、認証されたプレイヤのプレイヤIDに対応する異常回数Nwを演算する。異常回数Nwは、認証されたプレイヤが、ネットワーク対戦ゲームを正常に終了しなかった回数の累計を示す。
この実施形態では、異常回数検出部27は、認証したプレイヤIDに対応する異常回数Nwを、識別部21がダウンロードした個人データから抽出する。本実施形態では、各プレイヤが異常終了した回数Nwをセンターサーバ1に記憶しておき、この回数に基づいて異常信号を発生させる。各プレイヤIDと異常回数とは、センターサーバ1により対応付けて記憶される。異常回数Nwは、ゲーム装置2からの要求に応じて更新される。センターサーバ1が異常回数を管理することで、プレイヤが使用するゲーム装置をゲーム実行の度に変更しても、プレイヤ毎に異常回数をカウントすることができる。
【0070】
ここで、ネットワーク対戦ゲームが正常に終了しない場合、つまり異常終了には、故意による異常終了と偶然による異常終了とが含まれるのは、前記第1実施形態と同様である。
(4)ゲーム情報の書き込み
異常回数検出部27は、ネットワーク対戦ゲームの実行中に、ゲーム情報及びプレイヤIDを、ゲーム装置2の不揮発性記憶領域、例えばハードディスク203に書き込む。異常回数検出部27は、ゲームが正常終了した場合、書き込んだゲーム情報及びプレイヤIDを、ハードディスク203から削除する。従って、ネットワーク対戦ゲームが正常に終了しない場合、ゲーム情報とプレイヤIDとが、ハードディスク203に残る。従って、所定のタイミング、例えばゲーム装置起動時にハードディスク203を検索することにより、ゲームを異常終了させたプレイヤのIDをゲーム装置2からセンターサーバ1に送信し、そのプレイヤの異常回数Nwのインクリメントを要求することができる。
【0071】
ゲーム情報としては、プレイヤや対戦相手のゲーム成績をあげることができる。また、異常終了フラグ“ON”をゲーム情報として用いてもよい。例えば、マージャンゲームであれば、「プレイヤ及び対戦相手の点棒の値や局数」を、ゲーム情報として用いることができる。また、サッカーゲームであれば、「プレイヤ及び対戦相手の各得点数や、前半戦/後半戦/延長戦などの局面」が挙げられる。
【0072】
なお、ゲームが異常終了したか否かだけを判断するのであれば、ゲーム情報として異常終了フラグを用いるのでもよい。例えば、ゲーム開始と共に異常終了フラグ“ON”とプレイヤIDとを、ハードディスクに書き込む。ゲームの正常終了と共に異常終了フラグ及びプレイヤIDを削除すれば、異常終了フラグ“ON”とプレイヤIDとが残っているか否かに基づいて、ゲームが異常終了したか否かを判断することができる。
【0073】
一方、ゲーム情報として少なくとも対戦成績、すなわち参戦者の点数などをハードディスク203に書き込めば、その対戦成績に基づいて、プレイヤの故意による異常終了なのか偶然による異常終了なのかを判別できる。つまり、対戦成績がプレイヤに不利であれば、故意による異常終了と判断できる。逆に、対戦成績がプレイヤに有利であれば、偶然による異常終了と判断することができる。後述するように、この判断は、第2更新部28が行う。
【0074】
(5)異常回数の更新
異常回数検出部27は、所定のタイミングで、前回のゲーム装置動作時にネットワーク対戦ゲームを正常に終了させなかったプレイヤのプレイヤIDを検出する。具体的には、異常回数検出部27は、例えばゲーム装置2が起動したとき、ハードディスク203に残っているゲーム情報とプレイヤIDとを検索する。第2更新部28は、この検索結果に基づき、プレイヤIDに対応する異常回数Nwの更新を、センターサーバ1に要求する。
【0075】
ゲーム装置の起動時に検索及び異常回数Nwの更新を行うことで、次回のゲーム開始に先立ち、ゲーム装置が前回動作していたときにゲームを異常終了させたプレイヤの異常回数を、インクリメントすることができる。言い換えれば、ゲーム装置2が起動したときに、前回のゲーム装置動作時にゲームを異常終了させたプレイヤの異常回数Nwが更新される。例えば、異常回数検出部27は、ハードディスク203を参照した結果、あるプレイヤIDに対する異常終了フラグが“ON”であれば、センターサーバ1に対し、そのプレイヤIDを指定して異常回数Nwのインクリメントを要求する。これにより、ゲーム装置2が起動するときに、ネットワーク対戦ゲームを異常終了させたプレイヤの異常回数Nwを更新することができる。
【0076】
なお、ゲーム情報及びプレイヤIDをゲーム装置のハードディスクから検索するタイミングは、ゲーム装置が動作している時であればよい。ゲーム装置が起動してから所定時間毎にゲーム情報を検索してもよい。ゲーム装置2の起動時に検索すれば、ゲーム装置2の電源を落とすことによりゲームが異常終了した場合、そのゲームのプレイヤのIDをいち早く検出し、そのプレイヤの異常回数Nwをいち早くインクリメントすることができる。
【0077】
第2更新部28は、プレイヤIDに加え、ゲーム情報を併せてセンターサーバ1に送信してもよい。そのプレイヤのランキングの演算に、そのゲーム情報を反映させることができる。
また、第2更新部28は、検索されたゲーム情報とプレイヤIDとに基づいて、そのプレイヤIDに対応する異常回数Nwの更新を、無条件にセンターサーバ1に要求してもよい。つまり、第2更新部28は、ゲーム情報がハードディスク203に残っている場合は、対応するプレイヤIDの異常回数Nwの更新を要求してもよい。例えば、ゲーム情報として異常終了フラグが用いられている場合である。
【0078】
一方、第2更新部28は、検索されたゲーム情報に基づいて、プレイヤIDに対応する異常回数Nwの更新を要求するか否かを、判断することもできる。例えば、ゲーム情報に対戦成績が含まれる場合である。この場合、その対戦成績がプレイヤに不利であれば、故意による異常終了と判断できる。逆に、対戦成績がプレイヤに有利であれば、偶然による異常終了と判断することができる。この判断に基づいて、第2更新部28は、プレイヤの異常回数Nwの更新要求を送信するか否かを判断してもよい。これにより、故意による異常終了をより正確に計数することができる。
【0079】
(6)異常信号の発生
異常信号発生部24は、異常回数検出部27が演算した異常回数Nwに基づいて、異常信号を発生させる。異常信号発生部24の機能は、前記第1実施形態と同様である。本実施形態では、異常回数Nwが所定の範囲、例えば上限値Maxを超えた場合、プレイヤが不正行為を何回か働いたことによる故意の異常終了が発生したと見なし、異常信号を発生させる。第1実施形態と同様、異常回数Nwがあまりに多い場合には、故意による異常終了の可能性が高いと考えられるからである。異常信号発生後、所定の異常処理を実行することにより、その後の不正行為に対する抑止力とすることができる。異常処理としては、例えば、エラー通知を出力したり、ゲームの開始を禁止することが挙げられる。
【0080】
(7)エラー発生通知
異常処理部26は、異常信号発生部24が生成した異常信号に基づいて、エラー通知を出力する。エラー通知を出力することにより、プレイヤの羞恥心を刺激し、それ以上の不正行為を予防することができる。異常処理部26の機能は、前記第1実施形態と同様である。
【0081】
さらに、異常処理部26は、異常信号に基づいて、ネットワーク対戦ゲームの実行を禁止することもできる。不正行為を働いたと判断されると続けてゲームができない、というペナルティを与えることで、不正行為を抑制できる可能性がある。異常信号発生後、所定の期間が経過するまでは、ゲームの実行を禁止するようにしてもよい。
例えば、異常処理部26は、エラー通知出力後、特殊起動ボタンが押下されるまで、ゲームの開始を禁止してもよい。これにより、プレイヤは、店員に特殊起動ボタンを押してもらうように頼まない限りゲームを実行できなくなるので、不正行為をしなくなると期待できる。
【0082】
なお、異常処理部26は、不正行為をしたプレイヤに何らかのペナルティの付与、例えばゲーム成績の減点やランキングの低下を行ってもよい。ペナルティの付与により、不正行為の抑制力を高めることができる。
(8)異常回数のリセット
異常信号発生部24は、異常信号発生後、異常回数のリセット要求を、センターサーバ1に送信する。これにより、異常信号発生部24は、異常終了がMax回発生する毎に、異常処理を実行することができる。異常信号発生部24の機能は、送信するデータが異常回数Nwであることを除き、前記第1実施形態と同様である。
【0083】
異常信号発生部24は、リセット要求を、異常信号発生後に所定期間が経過してから送信してもよい。異常信号に基づく何らかのペナルティを発生させる場合、所定期間内を不正行為に対するペナルティ期間とすることができるからである。
さらに、異常信号発生部24は、異常回数Nwのリセット要求を、エラー通知出力後かつ特殊起動ボタンが押下された後に送信することが好ましい。なぜなら、特殊起動ボタンにより正当にエラー通知を解除しない限り、ゲームを行うことができない状態にプレイヤを置くことができるからである。
【0084】
〔処理の流れ〕
次に、ゲーム装置2が行う処理について、より詳細に説明する。説明を容易にするために、ゲーム装置2a、2bが対戦する場合のゲーム装置2aの処理について説明するが、ゲーム装置2bの処理も同じである。なお、センターサーバ1の処理の流れは、第1実施形態(図7)と同様である。
【0085】
(1)ゲーム装置のメインルーチン
図9は、ゲーム装置2aが行うメインルーチンの流れの一例を示すフローチャートである。ゲーム装置2aの電源が投入されると、下記の処理が開始される。
ステップS21〜S22:CPU201は、ハードディスク203の所定の領域を参照し、プレイヤID及びゲーム情報がハードディスク203に記憶されているか否かを判断する(S21)。記憶されている場合、CPU201は、プレイヤIDをセンターサーバ1に送信し、そのプレイヤIDに対応付けられた異常回数Nwのインクリメントを要求する。この要求に応じ、対象の異常回数Nwが更新される(Nw→Nw+1)(S22)。
【0086】
なお、CPU201は、ハードディスク203に書き込まれたゲーム情報を、プレイヤIDと共にセンターサーバ1に送信することも可能である。異常終了したゲーム情報をセンターサーバ1に送信すれば、自己に不利なゲーム情報の送信を阻もうとしたプレイヤの目論見がはずれ、不正行為の抑制力となる可能性がある。また、プレイヤに不利なゲーム情報をプレイヤのランキングに反映させることで、不正行為を無効化することができる。
【0087】
ステップS23〜S24:CPU201は、デモ画面を表示しながらゲームの実行の指示を待機する(S23)。例えば、コインが投入され、磁気カードがカードリーダ・ライタ212に挿入されると(S24)、ステップS25に移行する。
ステップS25:CPU201は、カードリーダ・ライタ212が読み込んだプレイヤIDを取得する。
【0088】
ステップS26:CPU201は、読み込んだプレイヤIDをセンターサーバ1に送信し、プレイヤIDに応じた個人データをダウンロードする。次いで、CPU201は、プレイヤに対してパスワードの入力を要求し、個人データに含まれるパスワードと比較することによりプレイヤ本人か否かを認証することが好ましい。
ステップS27:CPU201は、個人データに含まれる異常回数Nwが、所定の上限値Maxを超えているか否かを判断する(Nw>Max)。ここでは、説明を容易にするために、“Max=3”とする。Nw>3の場合はステップS28に移行し、その他の場合は後述するステップS30に移行する。
【0089】
ステップS28:CPU201は、エラー通知を出力する。例えば、「ゲームを開始できません。」などのエラーメッセージが、表示されたり、スピーカ出力されたりする。
ステップS29〜S30:CPU201は、特殊起動ボタンの押下を待機し(S29)、特殊起動ボタンが押されると、異常回数Nwのリセット要求を、センターサーバ1に送信する(S30)。すなわち、特殊起動ボタンにより正当にエラー通知出力が解除された場合にのみ、異常回数Nwがリセットされる。この段階で、プレイヤが特殊起動ボタンを押さずにゲーム装置2aの電源を落としても、異常回数Nwはそのままの値である。したがって、プレイヤが再度ゲーム装置2aを起動させても、再びエラー通知が出力されるにとどまり、プレイヤはゲームを開始することができない。
【0090】
ステップS31:エラー通知が正当に解除された場合か(S30)、または異常回数Nwが3を超えていない場合(S27)、CPU201は、前述の対戦相手決定処理(図6)を実行する。この処理により、CPU201は、対戦相手のゲーム装置2bのIPアドレスを取得する。
ステップS32:CPU201は、取得したIPアドレスに基づいてゲームを実行する。ゲームの実行は、本メインルーチンとは独立に行われる。この例では、ゲームは、正常に終了する場合と、異常終了する場合とがある。異常終了する原因としては、外部ネットワーク3の通信障害や、内部ネットワーク5の通信障害、ゲーム装置2aの電源が落とされることなどが挙げられる。ゲーム装置2aからLANケーブルを引き抜くことは、内部ネットワーク5の通信障害の一因となる。ゲームの実行中に、CPU201は、ハードディスク203の所定の領域に、ゲーム情報を書き込んでいく。例えばマージャンゲームであれば、プレイヤ及び対戦者の点棒の点数や局面が、ゲーム情報として書き込まれる。
【0091】
ステップS33〜S34:CPU201は、ゲームの終了を待機する(S33)。ゲームが終了した場合、CPU201はゲームが正常終了したか否かを判断する(S34)。ゲームが正常に終了した場合、CPU201は、ハードディスク203に書き込んだゲーム情報及びプレイヤIDを削除する。ゲームが正常に終了しなかった場合、CPU201は、再び前記ステップS21に戻り、前述の処理を繰り返す。従って、ゲームを異常終了させたプレイヤの異常回数Nwは、ステップS21で更新されることになる。
【0092】
ステップS35:ゲームが正常終了した場合、CPU201は、ハードディスク203の所定の領域に書き込んでいるゲーム情報を削除する。その後、CPU201はゲームを続行するか否かを判断し、続行する場合はステップS31に戻って新たな対戦相手の通信アドレスをセンターサーバ1から取得する。ゲームを続行しない場合、前記ステップS23に戻り、デモ画面を表示しながらカードの挿入を待機する。
【0093】
以上の処理により、異常終了させたプレイヤに対してエラー通知を行い、プレイヤの羞恥心を不正行為に対する抑止力とすることができる。また、エラー通知後に正当にエラー通知出力を解除した場合にのみ異常回数をリセットすることで、エラー通知を実効あるものとすることができる。本処理では、異常終了したプレイヤのID及びゲーム情報をゲーム装置2に記憶しておくことにより、ゲーム装置の起動時にそのプレイヤの異常回数を更新することができる。
【0094】
〔効果〕
本実施形態では、ゲーム装置2の起動時に異常回数Nwを更新することにより、ゲームが正常に終了しなかった回数をプレイヤごとにカウントする。異常回数Nwに基づいてエラー通知を出力することで、さらなる不正行為を防止することができる。エラー通知後のゲームの実行を、特殊起動ボタンにより制限することで、さらにエラー通知を実効あるものとできる。しかも、エラー通知出力の解除を正当に行った場合にのみ異常回数をリセットすることで、特殊起動ボタンを有効に不正行為防止に役立てることができる。
【0095】
<その他の実施形態>
(A)前記第1,2実施形態では、異常回数Nwが所定の上限値を超えた場合、プレイヤによる故意の異常終了の蓋然性が高いと判断し、異常信号を発生させている。これとは異なり、プレイヤがLANケーブルを引き抜いたことを検出したり、ゲーム装置の電源をゲーム成績の送信終了前に落としたことを検出した場合、故意による異常終了と判断してもよい。
【0096】
LANケーブルの引き抜きの検出は、例えば次のように行う。LAN上のルータに対して応答要求を送信し、その応答要求に対する応答が所定時間経過してもない場合、何らかの通信障害が外部ネットワークまたは内部ネットワークに発生したと判断する。このとき、内部ネットワーク上のルータに応答要求を送信しても、その送信が所定時間以内に完了しない場合、内部ネットワーク上の通信障害が発生していると判断することができる。そして、この内部ネットワーク上の通信障害を、LANケーブルの引き抜きによるものと推定してもよい。逆に外部ネットワーク上で通信障害が発生している場合、ルータから応答が返ってくるので、内部ネットワーク上の通信障害とは区別することができる。
【0097】
また、LANケーブルの引き抜きの検出を、次のように行うこともできる。ゲーム装置2からセンターサーバ1へのゲーム成績の送信が、ネットワーク対戦ゲームの終了から所定時間以内に完了するか否かを、CPU201は監視する。所定時間以内にゲーム成績の送信が完了しない場合、CPU201は、ネットワーク対戦ゲームが正常に終了しなかったと判断する。パケットの送信ができない場合、物理的にパケットをゲーム装置から送り出せないので、LANケーブルが引き抜かれていると判断できる。
【0098】
(B)上述の例では、異なる店舗に設置されたゲーム装置2a、2b同士が対戦する場合を例にとり説明したが、本発明は、同一店舗に設置されたゲーム装置2a,2a’同士が対戦する場合にも適用可能である。また、ゲーム装置2において、CPU対戦でゲームを行う場合や対戦相手がいないゲームを実行する場合にも、本発明は適用可能である。さらに、複数プレイヤが同一のゲーム装置2で対戦する場合にも、本発明は適用可能である。
【0099】
ここで、対戦相手がいないゲームの一例としては、ゲームが指定するタイミングに合わせて楽器を模した入力装置で入力を行う音楽ゲームをあげることができる。
(C)前述の方法をコンピュータ上で実行するためのプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、CD−ROM、DVD、光磁気ディスク(MO)、その他のものが挙げられる。
【産業上の利用可能性】
【0100】
本発明は、プレイヤのゲーム成績やランキングを管理するセンターサーバと接続されたゲーム装置に適用可能である。
【図面の簡単な説明】
【0101】
【図1】第1実施形態例に係るゲーム装置を含むゲームシステムの概略構成を示す説明図
【図2】図2に示すゲーム装置のハードウェア構成図
【図3】(A)入力データの一例を示す説明図(B)出力データの一例を示す説明図
【図4】ゲーム装置の機能構成を示すブロック図
【図5】ゲーム装置が行うメインルーチンの流れの一例を示すフローチャート
【図6】対戦相手決定処理の流れの一例を示すフローチャート
【図7】センターサーバが行う処理の流れの一例を示すフローチャート
【図8】第2実施形態にかかるゲーム装置の機能構成を示すブロック図
【図9】ゲーム装置が行うメインルーチンの流れの一例を示すフローチャート
【符号の説明】
【0102】
1:センターサーバ
2:ゲーム装置
3:外部ネットワーク(インターネット)
5:内部ネットワーク(LAN)

【特許請求の範囲】
【請求項1】
ネットワークを介して他のゲーム装置と接続され、ネットワーク対戦ゲームを実行するゲーム装置が行う不正行為防止方法であって、
前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別ステップと、
前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数を、プレイヤ識別子毎に検出する異常回数検出ステップと、
前記異常回数に基づいて、異常信号を発生させる異常信号発生ステップと、
を含むことを特徴とする、不正行為防止方法。
【請求項2】
前記異常信号発生ステップは、前記異常回数が所定の上限値を超えているか否かを判断し、超えている場合に前記異常信号を発生させることを特徴とする、請求項1に記載の不正行為防止方法。
【請求項3】
前記異常信号発生ステップで発生した前記異常信号に基づいて、エラー通知を出力する異常処理ステップをさらに含むことを特徴とする、請求項1に記載の不正行為防止方法。
【請求項4】
前記異常処理ステップは、前記異常信号に基づいて前記ネットワーク対戦ゲームの実行を禁止することを特徴とする、請求項3に記載の不正行為防止方法。
【請求項5】
前記ゲーム装置は、前記ネットワークを介してホストに接続されており、
前記異常回数検出ステップは、
前記識別ステップで受け付けたプレイヤ識別子に対応する開始回数及び終了回数を、前記ホストから取得する第1取得ステップと、
取得した開始回数及び終了回数の差を演算することにより、前記異常回数を算出する演算ステップと、を有し、
前記開始回数は、前記プレイヤ識別子で識別されるプレイヤが、前記ネットワーク対戦ゲームを開始した回数の累計を示し、
前記終了回数は、前記プレイヤ識別子で識別されるプレイヤが、前記ネットワーク対戦ゲームを正常に終了した回数の累計を示している、
ことを特徴とする、請求項1〜4のいずれかに記載の不正行為防止方法。
【請求項6】
前記ネットワーク対戦ゲームの実行開始に伴い、前記プレイヤ識別子に対応する開始回数のインクリメントを、前記ホストに要求する開始回数更新ステップと、
前記ネットワーク対戦ゲームが正常に終了した後に、前記プレイヤ識別子に対応する終了回数のインクリメントを、前記ホストに要求する終了回数更新ステップと、
をさらに含むことを特徴とする、請求項5に記載の不正行為防止方法。
【請求項7】
前記異常信号発生ステップは、前記異常信号発生後、前記開始回数及び前記終了回数のリセット要求を、前記ホストに送信することを特徴とする、請求項6に記載の不正行為防止方法。
【請求項8】
前記ゲーム装置は、前記ネットワークを介してホストに接続されており、
前記異常回数検出ステップは、
前記識別ステップで受け付けたプレイヤ識別子に対応する異常回数を、前記ホストから取得する第2取得ステップを含んでいることを特徴とする、請求項1〜4のいずれかに記載の不正行為防止方法。
【請求項9】
所定のタイミングで、前回のゲーム装置動作時にネットワーク対戦ゲームを正常に終了させなかったプレイヤのプレイヤ識別子を検出する検出ステップと、
前記検出ステップでの検出結果に基づき、前記プレイヤ識別子に対応する異常回数の更新を、前記ホストに要求する異常回数更新ステップと、
をさらに含むことを特徴とする、請求項8に記載の不正行為防止方法。
【請求項10】
前記検出ステップは、
前記ネットワーク対戦ゲームに関するゲーム情報と前記プレイヤ識別子とを、前記ゲーム装置の不揮発性記憶領域に書き込む書込ステップと、
前記ネットワーク対戦ゲームが正常終了した場合、前記不揮発性記憶領域に書き込まれたゲーム情報及びプレイヤ識別子を消去する消去ステップと、
前記ゲーム装置が起動したとき、前記ゲーム情報に対応するプレイヤ識別子を、前記不揮発性記憶領域から検索する検索ステップと、
を有していることを特徴とする、請求項9に記載の不正行為防止方法。
【請求項11】
前記異常回数更新ステップは、前記検索ステップにおいて検索されたゲーム情報に基づいて、前記プレイヤ識別子に対応する異常回数の更新を前記ホストに要求するか否かを、判断することを特徴とする、請求項10に記載の不正行為防止方法。
【請求項12】
前記異常信号発生ステップは、前記異常信号発生後、前記識別ステップで受け付けたプレイヤ識別子に対応する異常回数のリセットを、前記ホストに要求することを特徴とする、請求項9に記載の不正行為防止方法。
【請求項13】
ネットワークを介して他のゲーム装置と接続され、ネットワーク対戦ゲームを実行する不正行為防止機能付ゲーム装置であって、
前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別手段と、
前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数を、プレイヤ識別子毎に検出する異常回数検出手段と、
前記異常回数に基づいて、異常信号を発生させる異常信号発生手段と、
を含むことを特徴とする、不正行為防止機能付ゲーム装置。
【請求項14】
ネットワークを介して他のゲーム装置と接続され、ネットワーク対戦ゲームを実行するゲーム装置が行う不正行為防止プログラムであって、
前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別手段、
前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数を、プレイヤ識別子毎に検出する異常回数検出手段、及び
前記異常回数に基づいて、異常信号を発生させる異常信号発生手段、
として前記ゲーム装置を機能させることを特徴とする、不正行為防止プログラム。
【特許請求の範囲】
【請求項1】
ネットワークを介して他のゲーム装置及びホストと接続され、ネットワーク対戦ゲームを実行するゲーム装置が行う不正行為防止方法であって、
前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別ステップと、
前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数であって、前記識別ステップで受け付けたプレイヤ識別子に対応する異常回数を、前記ホストから取得する異常回数検出ステップと、
前記異常回数に基づいて、異常信号を発生させる異常信号発生ステップと、
前記ネットワーク対戦ゲームの実行中に、前記ネットワーク対戦ゲームに関するゲーム情報と前記プレイヤ識別子とを、前記ゲーム装置の不揮発性記憶領域に書き込む書込ステップと、
前記ネットワーク対戦ゲームが正常終了した場合、前記不揮発性記憶領域に書き込まれたゲーム情報及びプレイヤ識別子を消去する消去ステップと、
前記ゲーム装置が起動したとき、前記ゲーム情報に対応するプレイヤ識別子を、前記異常回数検出ステップの実行前に、前記不揮発性記憶領域から検索する検索ステップと、
前記検索ステップで検索されたプレイヤ識別子に対応する異常回数の更新を、前記異常回数検出ステップの実行前に、前記ホストに要求する異常回数更新ステップと、
を含むことを特徴とする、不正行為防止方法。
【請求項2】
前記異常信号発生ステップは、前記異常回数が所定の上限値を超えているか否かを判断し、超えている場合に前記異常信号を発生させることを特徴とする、請求項1に記載の不正行為防止方法。
【請求項3】
前記異常信号発生ステップで発生した前記異常信号に基づいて、エラー通知を出力する異常処理ステップをさらに含むことを特徴とする、請求項1に記載の不正行為防止方法。
【請求項4】
前記異常処理ステップは、前記異常信号に基づいて前記ネットワーク対戦ゲームの実行を禁止することを特徴とする、請求項3に記載の不正行為防止方法。
【請求項5】
前記異常回数更新ステップは、前記検索ステップにおいて検索されたゲーム情報に基づいて、前記プレイヤ識別子に対応する異常回数の更新を前記ホストに要求するか否かを、判断することを特徴とする、請求項1に記載の不正行為防止方法。
【請求項6】
前記異常信号発生ステップは、前記異常信号発生後、前記識別ステップで受け付けたプレイヤ識別子に対応する異常回数のリセットを、前記ホストに要求することを特徴とする、請求項1に記載の不正行為防止方法。
【請求項7】
前記ゲーム情報は、前記ネットワーク対戦ゲームの対戦成績を含んでいることを特徴とする、請求項1に記載の不正行為防止方法。
【請求項8】
ネットワークを介して他のゲーム装置及びホストと接続され、ネットワーク対戦ゲームを実行する不正行為防止機能付ゲーム装置であって、
前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別手段と、
前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数であって、前記識別手段が受け付けたプレイヤ識別子に対応する異常回数を、前記ホストから取得する異常回数検出手段と、
前記異常回数に基づいて、異常信号を発生させる異常信号発生手段と、
前記ネットワーク対戦ゲームの実行中に、前記ネットワーク対戦ゲームに関するゲーム情報と前記プレイヤ識別子とを、前記ゲーム装置の不揮発性記憶領域に書き込む書込手段と、
前記ネットワーク対戦ゲームが正常終了した場合、前記不揮発性記憶領域に書き込まれたゲーム情報及びプレイヤ識別子を消去する消去手段と、
前記ゲーム装置が起動したとき、前記ゲーム情報に対応するプレイヤ識別子を、前記異常回数検出ステップの実行前に、前記不揮発性記憶領域から検索する検索手段と、
前記検索手段が検索したプレイヤ識別子に対応する異常回数の更新を、前記異常回数検出ステップの実行前に、前記ホストに要求する異常回数更新手段と、
を含むことを特徴とする、不正行為防止機能付ゲーム装置。
【請求項9】
ネットワークを介して他のゲーム装置及びホストと接続され、ネットワーク対戦ゲームを実行するゲーム装置が行う不正行為防止プログラムであって、
前記ゲーム装置を操作するプレイヤを識別するためのプレイヤ識別子の入力を受け付ける識別手段、
前記ゲーム装置で前記ネットワーク対戦ゲームが正常に終了しなかった回数の累計を示す異常回数であって、前記識別手段が受け付けたプレイヤ識別子に対応する異常回数を、前記ホストから取得する異常回数検出手段、
前記異常回数に基づいて、異常信号を発生させる異常信号発生手段、
前記ネットワーク対戦ゲームの実行中に、前記ネットワーク対戦ゲームに関するゲーム情報と前記プレイヤ識別子とを、前記ゲーム装置の不揮発性記憶領域に書き込む書込手段、
前記ネットワーク対戦ゲームが正常終了した場合、前記不揮発性記憶領域に書き込まれたゲーム情報及びプレイヤ識別子を消去する消去手段、
前記ゲーム装置が起動したとき、前記ゲーム情報に対応するプレイヤ識別子を、前記異常回数検出ステップの実行前に、前記不揮発性記憶領域から検索する検索手段、及び
前記検索手段が検索したプレイヤ識別子に対応する異常回数の更新を、前記異常回数検出ステップの実行前に、前記ホストに要求する異常回数更新手段、
として前記ゲーム装置を機能させることを特徴とする、不正行為防止プログラム。

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