(57)【要約】【課題】ゲームプログラムを書き換えるといった不正に対し、通信負荷を抑制しつつ不正を防止することのできるゲームシステムを提供する。【解決手段】本願発明のゲームシステムに係るゲーム装置２は、オンラインゲームの進行に応じてオンラインゲームの個別プログラムを記憶し、記憶された個別プログラムのうちの不正検出対象プログラムを、ゲームサーバ３からの要求に応じてゲームサーバ３に送信するものであり、ゲームサーバ３は、ゲーム装置２に対して不正検出対象プログラムを送信するよう要求するとともに、ゲーム装置２から送信された不正検出対象プログラムと、ハードディスク装置３４によって記憶された正規のゲームプログラムの中から読み出した、正規の不正検出対象プログラムとを照合し、その照合結果に基づいて、ゲーム装置２から送信された不正検出対象プログラムが不正に変更されたものであるか否かを判別する。【選択図】図２
2007209530.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム装置と、このゲーム装置にネットワーク回線を通じて、複数の個別プログラムが組み合わされてなるオンラインゲームが実行可能に接続されるゲームサーバとを備え、
前記ゲーム装置は、
前記オンラインゲームの進行に応じて前記オンラインゲームの個別プログラムを記憶する第１記憶手段と、
前記第１記憶手段によって記憶された前記個別プログラムのうちの特定プログラムを、前記ゲームサーバからの要求に応じて前記ゲームサーバに送信する送信手段と、を有しており、
前記ゲームサーバは、
前記ゲーム装置に対して、前記第１記憶手段によって記憶された前記特定プログラムを、所定のタイミングで送信するよう要求する要求出力手段と、
前記オンラインゲームの正規のゲームプログラムを記憶する第２記憶手段と、
前記要求出力手段による要求に基づいて前記送信手段によって送信された前記特定プログラムと、前記第２記憶手段によって記憶された正規のゲームプログラムの中から読み出した、前記特定プログラムに対応する正規の特定プログラムとを照合する照合手段と、
前記照合手段による照合結果に基づいて、前記送信手段によって送信された特定プログラムが不正に変更されたものであるか否かを判別する判別手段と、を有していることを特徴とする、ゲームシステム。
【請求項２】
前記特定プログラムは、不正の検出対象となるプログラムである、請求項１に記載のゲームシステム。
【請求項３】
前記ゲーム装置は、
前記ゲームプログラムが記録された記録媒体から前記ゲームプログラムを読み込む読込手段を備え、
前記第１記憶手段は、
前記読込手段によって読み込まれた前記ゲームプログラムの個別プログラムを所定のメモリ領域に記憶する、請求項１又は２に記載のゲームシステム。
【請求項４】
前記個別プログラムは、
前記オンラインゲームの進行に基づいてゲーム上の複数の場面に対応して設けられており、
前記第１記憶手段は、
前記場面が切り替わるごとに、当該切り替わった場面に対応する個別プログラムを記憶する、請求項１ないし３のいずれかに記載のゲームシステム。
【請求項５】
前記要求出力手段は、
前記ゲーム装置において前記個別プログラムが前記第１記憶手段に記憶されているとき、前記ゲーム装置に対して前記特定プログラムを送信するよう要求する、請求項４に記載のゲームシステム。
【請求項６】
前記送信手段は、
前記特定プログラムを前記ゲームサーバに送信するとともに、前記特定プログラムを含む個別プログラムが実行中であることを示す制御信号を前記ゲームサーバに送信する、請求項１ないし５のいずれかに記載のゲームシステム。
【請求項７】
前記照合手段は、
前記送信手段によって送信された、前記個別プログラムが実行中であることの制御信号に基づいて、前記第２記憶手段によって記憶された正規のゲームプログラムの中から前記特定プログラムに対応する正規の特定プログラムを読み出して照合する、請求項６に記載のゲームシステム。
【請求項８】
ゲーム装置とネットワーク回線を通じて、複数の個別プログラムが組み合わされてなるオンラインゲームが実行可能に接続されるゲームサーバであって、
前記ゲーム装置に対して、前記ゲーム装置に記憶された、前記オンラインゲームの個別プログラムのうちの特定プログラムを、所定のタイミングで送信するよう要求する要求出力手段と、
前記オンラインゲームの正規のゲームプログラムを記憶する記憶手段と、
前記要求出力手段による要求に基づいて前記ゲーム装置から送信された前記特定プログラムと、前記記憶手段によって記憶された正規のゲームプログラムの中から読み出した、前記特定プログラムに対応する正規の特定プログラムとを照合する照合手段と、
前記照合手段による照合結果に基づいて、前記ゲーム装置から送信された特定プログラムが不正に変更されたものであるか否かを判別する判別手段と、を有していることを特徴とする、ゲームサーバ。
【請求項９】
コンピュータを、ゲーム装置とネットワーク回線を通じて、複数の個別プログラムが組み合わされてなるオンラインゲームが実行可能に接続されるゲームサーバとして機能させるためのゲームプログラムであって、
前記コンピュータを、
前記ゲーム装置に対して、前記ゲーム装置に記憶された、前記オンラインゲームの個別プログラムのうちの特定プログラムを、所定のタイミングで送信するよう要求する要求出力手段と、
前記オンラインゲームの正規のゲームプログラムを記憶する記憶手段と、
前記要求出力手段による要求に基づいて前記ゲーム装置から送信された前記特定プログラムと、前記記憶手段によって記憶された正規のゲームプログラムの中から読み出した、前記特定プログラムに対応する正規の特定プログラムとを照合する照合手段と、
前記照合手段による照合結果に基づいて、前記ゲーム装置から送信された特定プログラムが不正に変更されたものであるか否かを判別する判別手段として機能させるためのゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばインターネット等のネットワーク回線に接続されたゲームサーバと、ネットワーク回線を介してゲームサーバと通信を行うことによりオンラインゲームが実行可能なゲーム装置とを備えるゲームシステム、そのゲームシステムに含まれるゲームサーバ、及びゲームプログラムに関するものである。
【背景技術】
【０００２】
従来、例えばインターネットを通じてメーカによって設けられたゲームサーバと接続することにより、複数のプレーヤ同士が同一のゲーム画面上でプレイすることのできる、いわゆるオンラインゲームが提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２００４−７３２３３号公報
【０００４】
このオンラインゲームの中には、プレーヤの分身となるキャラクタ（以下、「メインキャラクタ」という。）が、例えば敵キャラクタであるモンスターを倒すといった指令を実行していくことにより進行されるアクションゲームがある。
【０００５】
この種のアクションゲームにおけるオンラインゲームでは、それに参加した複数のプレーヤが操作を行うと、各プレーヤが操作するメインキャラクタがそれぞれゲーム画面上で動作し、例えば複数のメインキャラクタが協力して敵キャラクタを倒すことができるといった面白みがある。
【０００６】
また、例えばメインキャラクタが画面上の所定のフィールドで所定のアイテムを採取したり、敵キャラクタを討伐したりすることにより、装備品としての武器や防具を取得することができるといった設定がされているものがある。このアクションゲームでは、武器や防具とは異なる種類のアイテムによって、武器や防具を生成したり、武器や防具をより強力にしたりすることができるように設定されている。
【０００７】
このアイテムは、それが希少（レア）なものであればあるほど、より強力な武器や防具を生成して所有でき、それらによって倒すことが比較的困難な敵キャラクタを倒すことができるので、プレーヤは、よりゲーム進行に有利となるアイテムを保有することを熱望する。
【０００８】
また、各メインキャラクタの武器及び防具は、そのキャラクタを操作するプレーヤが独自にオンラインゲームに参加して取得しているため、メインキャラクタ毎に異なっている場合が多い。したがって、一方のメインキャラクタが他方のメインキャラクタよりも強力な武器や防具を備えていると、一方のメインキャラクタを操作するプレーヤは他方のメインキャラクタを操作するプレーヤに対して一種の優越感を味わうことができるという面白みもある。
【０００９】
そのため、プレーヤは、よりレアなアイテムやより強力な武器及び防具を保有しようとするのであるが、プレーヤの中には、それらのアイテム、武器及び防具を不正な手段で取得しようとする者もいる。例えば、専用ツールや専用ソフトウェア等を用いて最初からデータを改ざんして、比較的入手が困難なアイテム、武器及び防具を作成する。
【００１０】
また、上記した専用ツール等を用いてゲームプログラムそのものを書き換えることにより、不正を行うプレーヤもいる。例えば、上記アクションゲームでは、メインキャラクタがアイテム、武器及び防具を金銭により購入することができるようになっているが、このような場合に、不正を行うプレーヤは、メインキャラクタが所有する金銭の額をゲームプログラムを書き換えることにより大きな固定値に設定してしまう。こうすると、メインキャラクタは、高価であるレアなアイテムや強力な武器及び防具を容易に所有することが可能となる。
【００１１】
このような不正を行うプレーヤが上記オンラインゲームに参加すれば、例えば強力な武器を用いて通常なら倒すことが困難な敵キャラクタをいとも簡単に倒してしまうことが生じ、これにより、ゲームバランスをくずし、他のプレーヤに不測の不利益を及ぼしたり、正当に入手した武器や防具、あるいはアイテムを用いてプレイする他のプレーヤを興醒めさせたりする等の不都合を生じる。
【００１２】
そのため、ゲーム提供会社（ゲームサーバ側）では、このようなゲームプログラムを改ざんすることにより不正を行うプレーヤを検出し、当該プレーヤのオンラインゲームへの参加を拒否するといったことを行っている。ここで、不正を検出する方法としては、以下の方法が考えられる。すなわち、ゲーム装置で実行されているゲームプログラムをゲームサーバに転送させ、ゲームサーバにおいて正規のゲームプログラムと照合することにより、プレーヤがゲームプログラムを書き換えたか否かを検出する。これにより、不正を検出することができる。
【００１３】
しかしながら、ゲームプログラムの全体をゲーム装置からゲームサーバに送信することは、ゲーム装置−ゲームサーバ間における通信負荷やゲームサーバにおける制御負荷が大となる。すなわち、ゲームサーバでは、何千、何万人といったプレーヤを管理してオンラインゲームを制御しており、複数人でチームを作って敵キャラクタを倒すといったゲームでは、一つのゲーム装置から他のゲーム装置に逐次一つのゲーム装置で行われた操作を操作信号として配信しなければならない。このような場合に、各ゲーム装置からゲームプログラムの全体が送信されると、通信負荷が大となり、通信制御に負担がかかったり、通信のための待ち時間が長くなってプレーヤにストレスが溜まったりするといった問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本願発明は、上記した事情のもとで考え出されたものであって、ゲームプログラムを書き換えるといった不正に対し、通信負荷を抑制しつつ不正を防止することのできるゲームシステム、そのゲームシステムに含まれるゲームサーバ、及びゲームプログラムを提供することを、その課題とする。
【課題を解決するための手段】
【００１５】
上記の課題を解決するため、本願発明では、次の技術的手段を講じている。
【００１６】
本願発明の第１の側面によって提供されるゲームシステムは、ゲーム装置と、このゲーム装置にネットワーク回線を通じて、複数の個別プログラムが組み合わされてなるオンラインゲームが実行可能に接続されるゲームサーバとを備え、前記ゲーム装置は、前記オンラインゲームの進行に応じて前記オンラインゲームの個別プログラムを記憶する第１記憶手段と、前記第１記憶手段によって記憶された前記個別プログラムのうちの特定プログラムを、前記ゲームサーバからの要求に応じて前記ゲームサーバに送信する送信手段と、を有しており、前記ゲームサーバは、前記ゲーム装置に対して、前記第１記憶手段によって記憶された前記特定プログラムを、所定のタイミングで送信するよう要求する要求出力手段と、前記オンラインゲームの正規のゲームプログラムを記憶する第２記憶手段と、前記要求出力手段による要求に基づいて前記送信手段によって送信された前記特定プログラムと、前記第２記憶手段によって記憶された正規のゲームプログラムの中から読み出した、前記特定プログラムに対応する正規の特定プログラムとを照合する照合手段と、前記照合手段による照合結果に基づいて、前記送信手段によって送信された特定プログラムが不正に変更されたものであるか否かを判別する判別手段と、を有していることを特徴としている（請求項１）。なお、前記特定プログラムは、不正の検出対象となるプログラムである（請求項２）。
【００１７】
この構成によれば、ゲームサーバからゲーム装置に対して第１記憶手段によって記憶された特定プログラム（不正の検出対象となるプログラム）を送信するよう要求があると、ゲーム装置は、第１記憶手段によって記憶された個別プログラムのうちの特定プログラムをゲームサーバに送信する。ゲームサーバでは、ゲーム装置から送信された特定プログラムと、第２記憶手段によって記憶された正規のゲームプログラムの中から読み出した、特定プログラムに対応する正規の特定プログラムとを照合する。そして、ゲームサーバでは、照合手段による照合結果に基づいて、送信手段によって送信された特定プログラムが不正に変更されたものであるか否かを判別する。これにより、ゲーム装置側で記憶された特定プログラムがゲームサーバにおいて照合されるので、ゲームプログラムを改ざんする不正を確実に検出することができるとともに、不正を検出するためにゲームプログラムの全体をゲームサーバに送信する場合に比べ、ゲームサーバとゲーム装置との通信負荷を軽減することができる。
【００１８】
また、このゲームシステムにおいて、前記ゲーム装置は、前記ゲームプログラムが記録された記録媒体から前記ゲームプログラムを読み込む読込手段を備え、前記第１記憶手段は、前記読込手段によって読み込まれた前記ゲームプログラムの個別プログラムを所定のメモリ領域に記憶するとよい（請求項３）。
【００１９】
また、このゲームシステムにおいて、前記個別プログラムは、前記オンラインゲームの進行に基づいてゲーム上の複数の場面に対応して設けられており、前記第１記憶手段は、前記場面が切り替わるごとに、当該切り替わった場面に対応する個別プログラムを記憶するとよい（請求項４）。
【００２０】
また、このゲームシステムにおいて、前記要求出力手段は、前記ゲーム装置において前記個別プログラムが前記第１記憶手段に記憶されているとき、前記ゲーム装置に対して前記特定プログラムを送信するよう要求するとよい（請求項５）。
【００２１】
また、このゲームシステムにおいて、前記送信手段は、前記特定プログラムを前記ゲームサーバに送信するとともに、前記特定プログラムを含む個別プログラムが実行中であることを示す制御信号を前記ゲームサーバに送信するとよい（請求項６）。
【００２２】
また、このゲームシステムにおいて、前記照合手段は、前記送信手段によって送信された、前記個別プログラムが実行中であることの制御信号に基づいて、前記第２記憶手段によって記憶された正規のゲームプログラムの中から前記特定プログラムに対応する正規の特定プログラムを読み出して照合するとよい（請求項７）。
【００２３】
本願発明の第２の側面によって提供されるゲームサーバは、ゲーム装置とネットワーク回線を通じて、複数の個別プログラムが組み合わされてなるオンラインゲームが実行可能に接続されるゲームサーバであって、前記ゲーム装置に対して、前記ゲーム装置に記憶された、前記オンラインゲームの個別プログラムのうちの特定プログラムを、所定のタイミングで送信するよう要求する要求出力手段と、前記オンラインゲームの正規のゲームプログラムを記憶する記憶手段と、前記要求出力手段による要求に基づいて前記ゲーム装置から送信された前記特定プログラムと、前記記憶手段によって記憶された正規のゲームプログラムの中から読み出した、前記特定プログラムに対応する正規の特定プログラムとを照合する照合手段と、前記照合手段による照合結果に基づいて、前記ゲーム装置から送信された特定プログラムが不正に変更されたものであるか否かを判別する判別手段と、を有していることを特徴としている（請求項８）。
【００２４】
本願発明の第３の側面によって提供されるゲームプログラムは、コンピュータを、ゲーム装置とネットワーク回線を通じて、複数の個別プログラムが組み合わされてなるオンラインゲームが実行可能に接続されるゲームサーバとして機能させるためのゲームプログラムであって、前記コンピュータを、前記ゲーム装置に対して、前記ゲーム装置に記憶された、前記オンラインゲームの個別プログラムのうちの特定プログラムを、所定のタイミングで送信するよう要求する要求出力手段と、前記オンラインゲームの正規のゲームプログラムを記憶する記憶手段と、前記要求出力手段による要求に基づいて前記ゲーム装置から送信された前記特定プログラムと、前記記憶手段によって記憶された正規のゲームプログラムの中から読み出した、前記特定プログラムに対応する正規の特定プログラムとを照合する照合手段と、前記照合手段による照合結果に基づいて、前記ゲーム装置から送信された特定プログラムが不正に変更されたものであるか否かを判別する判別手段として機能させることを特徴としている（請求項９）。
【００２５】
本願発明のその他の特徴および利点は、添付図面を参照して以下に行う詳細な説明によって、より明らかとなろう。
【発明を実施するための最良の形態】
【００２６】
以下、本願発明の好ましい実施の形態を、添付図面を参照して具体的に説明する。
【００２７】
図１は、本願発明に係るゲームシステムの一例を示す構成図である。このゲームシステムは、例えばインターネット等の通信回線１（以下、ネットワーク回線１という。）を介して複数のゲーム装置２がゲームサーバ３に接続されたものであり、各ゲーム装置を操作する複数のプレーヤが同一のゲーム空間を共有する、いわゆるオンラインゲーム（ネットワークゲーム）を構築するものである。
【００２８】
このゲームシステムは、オンラインゲームにおいてゲームプログラムを不当に改ざんしてオンラインゲームをプレイするプレーヤを検出し、当該プレーヤの本ゲームへの参加を防止することを目的としている。すなわち、オンラインゲームにおいては、不正を働くプレーヤがゲームに参加すると、当該プレーヤは他のプレーヤに比べ優位にオンラインゲームをプレイすることができるため、これによりゲームバランスがくずれ、他のプレーヤに迷惑が生じてしまうことになるからである。
【００２９】
この実施形態におけるオンラインゲームは、複数のプレーヤが各ゲーム装置を操作することによりゲーム画面上で動作するキャラクタ（以下、「ハンター」という。）同士が、互いに協力してゲーム（仮想空間）上の敵キャラクタ（例えば恐竜であり、以下「モンスター」という。）を倒すといった、いわゆるハンティングアクションゲームである。なお、本実施形態における発明は、上記ハンティングアクションゲームに適用されることに限るものではない。
【００３０】
ゲーム装置２は、ネットワーク回線１を介してゲームサーバ３と通信可能な機能を備えた、例えば家庭用テレビゲーム機、携帯型ゲーム機又はオンラインゲームのゲームソフトが搭載されているパーソナルコンピュータ等で構成されている。具体的には、ゲーム装置２は、本体１１、操作コントローラ１２、モニタ１３、ネットワークアダプタ１４、ディスク１５、及びメモリカード１６によって構成されている。
【００３１】
本体１１は、制御部２１、描画処理部２２、音声処理部２３、Ｉ／Ｏインターフェース部２６、ディスクドライブユニット２４、及びメモリカード接続ユニット２５によって構成されている。制御部２１には描画処理部２２、音声処理部２３、及びＩ／Ｏインターフェース部２６が接続されており、Ｉ／Ｏインターフェース部２６には、さらにディスクドライブユニット２４、メモリカード接続ユニット２５、操作コントローラ１２、モニタ１３及びネットワークアダプタ１４が接続されている。
【００３２】
ゲーム装置２では、上記ハンティングアクションゲームのソフトウェアが記録されたディスク１５がディスクドライブユニット２４に装着され、このディスクドライブユニット２４からディスク１５内のゲームプログラム及びゲームデータが制御部２１内のＲＡＭ２１ｃ（後述）に読み込まれ、ＣＰＵ２１ａ（後述）によってゲームプログラムが実行されることにより、プレーヤがゲーム内容を楽しむことができるようになっている。プレーヤは、操作コントローラ１２の操作部材１２ａ〜１２ｃ（後述）を操作することによりゲームを進行させることができる。
【００３３】
なお、ディスク１５には、オンラインゲームとしてハンティングアクションゲームを実行できるオンラインモードと、ゲーム装置２単体でハンティングアクションゲームを実行できるオフラインモードとが用意されている。
【００３４】
制御部２１は、本体１１の全体動作を司るマイクロコンピュータを有しており、マイクロコンピュータは、ＣＰＵ２１ａ、ＲＯＭ２１ｂ、及びＲＡＭ２１ｃ等からなり、各部は、それぞれバスラインで接続されている。ＣＰＵ２１ａは、ディスクドライブユニット２４によってディスク１５からＲＡＭ２１ｃに読み込まれるゲームプログラムを実行することより、ゲーム進行を統括的に制御する。
【００３５】
より具体的には、操作コントローラ１２からプレーヤが操作することによる操作信号が入力されると、ＣＰＵ２１ａは、ゲームプログラムにしたがってその操作信号に対する所定のゲーム進行処理を行い、その処理結果をモニタ１３に例えば三次元画像によって表示するとともに、モニタ１３のスピーカ１３ａ（後述）から効果音によって出力する。
【００３６】
ＲＯＭ２１ｂには、ディスクローディング機能等のゲーム装置２の基本的な機能やディスク１５に記録されたゲームプログラム及びゲームデータを読み出す手順等を示す基本プログラムが記憶されている。ＣＰＵ２１ａは、ディスクドライブユニット２４にディスク１５が装着されると、ＲＯＭ２１ｂの基本プログラムにしたがってディスクドライブユニット２４を動作させ、ディスク１５からゲームプログラム及びゲームデータをＲＡＭ２１ｃに読み込み、ゲーム開始状態に設定する。
【００３７】
ＲＡＭ２１ｃは、ディスクドライブユニット２４によってディスク１５から読み込まれたゲームプログラムやゲームデータが格納されるエリアと、ＣＰＵ２１ａがゲームプログラムや処理プログラムを実行するためのワークエリアとを提供するものである。
【００３８】
上記ゲームプログラムは、複数のプログラムが組み合わされて構成されており、例えばモニタ１３に表示されているハンターの動作を操作情報に基づいて制御したり、ハンターが「クエスト」と呼称される指令を受注したり、その「クエスト」を達成したりする等した場合のゲーム展開を制御するゲーム進行プログラム、プレーヤのオンラインゲームへの入場を制御するためのサーバ対応プログラム、ゲームサーバ３と間でデータ（例えば、他のプレーヤのゲーム装置２の操作データ等のデータ）の送受信を制御するためのネットワーク制御プログラム、及びモニタ１３に表示すべき三次元画像を制御するグラフィック制御プログラム等によって構成されている。
【００３９】
上記ゲームプログラムは、ディスク１５に記録されており、ゲームプログラムの各プログラムは、必要に応じてディスク１５から読み出され、ＲＡＭ２１ｃに格納される。ＲＡＭ２１ｃは、図２（ａ）に示すように、各プログラムに応じてそれらを格納するエリアが決められている。例えば、ゲーム進行プログラムは、ＲＡＭ２１ｃのアドレス「０×０１０００００」〜「０×０１７ｆｆｆｆ」に格納され、アドレス「０×０１８００００」〜「０×０１ｂｆｆｆｆ」には、ネットワーク制御プログラムが格納され、アドレス「０×０１ｃ００００」〜「０×０１ｆｆｆｆｆ」には、グラフィック制御プログラムが格納されるようになっている。
【００４０】
ゲーム進行プログラムは、さらに複数の個別プログラムによって構成されており、詳細は後述するが、各個別プログラムは、ゲーム進行にともなってモニタ１３に切り替えられて表示される各場面に対応して設けられている。したがって、ＲＡＭ２１ｃのアドレス「０×０１０００００」〜「０×０１７ｆｆｆｆ」には、場面が切り替えられることにともなって、各場面に対応した個別プログラムがディスク１５から読み出されて格納され、実行されるようになっている。
【００４１】
また、ゲーム進行プログラムには、不正の検出対象となる不正検出対象プログラムが含まれている。この不正検出対象プログラムは、例えばハンターの所持金や体力を増減させるための演算を行う演算処理プログラム等であり、不正を行うプレーヤが改ざんを行う可能性の高いプログラムである。この実施形態では、改ざんが行われる可能性の高いプログラムを不正の検出対象として不正を検出するようにしている。
【００４２】
なお、サーバ対応プログラムは、図２（ｂ）に示すように、ゲーム進行プログラムと同じアドレス「０×０１０００００」〜「０×０１７ｆｆｆｆ」に格納され、必要に応じてゲーム進行プログラムと切り替えられるようになっている。また、図２には示していないが、他のプログラムやゲームデータは、上記以外のアドレスで示される領域にそれぞれ格納される。
【００４３】
ＣＰＵ２１ａは、オフラインモードにおいては、操作コントローラ１２からのプレーヤの操作信号に基づき、また、オンラインモードにおいては、操作コントローラ１２からのプレーヤの操作情報とゲームサーバ３を介して入力される他のゲーム装置２の操作情報（ハンターに対するアクションの指令情報やハンターのゲーム画面上における位置の変化情報を含む）とに基づき、必要に応じてディスク１５からゲームプログラムや画像データ等をＲＡＭ２１ｃに読み込み、これらのデータを処理したりゲームプログラムを実行したりすることにより、モニタ１３に表示すべき三次元画像の内容を決定する。
【００４４】
描画処理部２２は、描画処理に必要な各種の演算処理を行うものである。ＣＰＵ２１ａは、モニタ１３に表示すべき画像を決定し、その画像の描画に必要な画像データ（背景、ハンター及びモンスターのポリゴンデータ、テクスチャーデータ、及び光源データ等）をＲＡＭ２１ｃから読み出して描画処理部２２に供給する。また、ＣＰＵ２１ａは、操作コントローラ１２から入力される操作情報やゲームサーバ３を介して入力される他のゲーム装置２からの操作情報（オンラインモードの場合）を描画処理部２２に供給する。
【００４５】
描画処理部２２は、ＣＰＵ２１ａから供給される画像データ及び操作情報に基づいて、描画に必要なデータ（ハンター、モンスター及び背景の位置関係、モニタ１３の画面上におけるハンター、モンスター及び背景を構成するポリゴンの座標、各ポリゴンに対応するテクスチャ、並びに各ポリゴンの反射特性等のデータ）を演算し、その演算結果に基づいて描画処理部２２内のＶＲＡＭ（図示せず）に描画処理を行う。描画処理が行われた画像データは、モニタ１３に出力されて表示される。
【００４６】
音声処理部２３は、効果音等の音声を発生させる処理に必要な各種の演算処理を行うものである。ＣＰＵ２１ａは、モニタ１３のスピーカ１３ａから出力すべき効果音若しくはＢＧＭの音響内容を決定すると、音声処理部２３に音声指令を出力する。音声処理部２３は、ＣＰＵ２１ａからの音声指令に基づき、ＲＡＭ２１ｃから効果音もしくはＢＧＭの音声データを読み出し、所定の加工処理とＤ／Ａ変換処理とを施した後、スピーカ１３ａに出力する。
【００４７】
なお、このオンラインゲームのオンラインモードでは、オフラインモードと異なり、プレーヤは他の複数のプレーヤとチームを組んで同一の「クエスト」を受注し、協力し合ってその「クエスト」を達成するようなゲーム進行が可能になっている。また、このハンティングアクションゲームでは、「クエスト」を達成するまでの制限時間が設けられている。すなわち、ハンターは、制限時間を経過するまでに「クエスト」を達成しなければ、「クエスト」失敗とみなされる。
【００４８】
また、オンラインモードでは、チームを組むプレーヤ間で実際に意思の疎通を図る必要があるため、チャット機能が設けられている。このチャット機能は、ゲームサーバ３によって制御され、ゲーム上においてチームを組んだハンター間で会話をするというゲーム進行によって実現されるようになっている。したがって、ＣＰＵ２１ａは、操作コントローラ１２からのプレーヤの操作信号がチャットによる会話の内容を示す信号であると判断した場合は、その内容をゲームサーバ３に送信し、ゲームサーバ３からチャットのデータを取得する。
【００４９】
ディスクドライブユニット２４は、ディスク１５に記録されたゲームプログラムやゲームデータを読み出すものである。
【００５０】
メモリカード接続ユニット２５は、ＣＰＵ２１ａによるメモリカード１６へのゲーム進行に関する情報の読み／書きを可能にするためのものである。ＣＰＵ２１ａは、ゲーム進行中やゲーム終了時にプレーヤから「データのセーブ」が指令されると、メモリカード接続ユニット２５を介してメモリカード１６に、ゲーム進行に関する情報、具体的にはハンターの属性情報（名前、性別、ゲームの習得度を示すレベル（ゲームレベル））、取得したゲームポイント、及び取得した各種アイテム等の情報を記憶する。
【００５１】
Ｉ／Ｏインターフェース部２６は、ディスクドライブユニット２４やメモリカード接続ユニット２５によって読み出されたゲームプログラムやゲームデータ、及び操作コントローラ１２からの操作信号等を制御部２１に伝送したり、制御部２１からの映像信号やオーディオ信号等をモニタ１３に伝送したりするものである。また、Ｉ／Ｏインターフェース部２６は、オンラインモードにおいては、ネットワーク１及びネットワークアダプタ１４を介してゲームサーバ３との間でデータの伝送を行うものである。
【００５２】
操作コントローラ１２は、ハンターを動作させたり、ゲームに関する各種の設定を行ったりするためにプレーヤによって操作されるものであり、複数のボタン１２ａと右レバー１２ｃと左レバー１２ｂとを有する。プレーヤによって操作コントローラ１２が操作されると、その操作信号が制御部２１に伝送され、モニタ１３に表示されたハンターが所定の動作を行う。所定の動作としては、例えば、走る、しゃがむ、崖をよじ登る等の移動動作や剣等を用いてモンスターを攻撃する等の攻撃動作がある。移動動作は、主に左レバー１２ｂによって操作され、攻撃動作は主に右レバー１２ｃによって操作される。
【００５３】
モニタ１３は、本体１１から送られてきた映像信号やオーディオ信号に応じてゲーム進行状態を示すゲーム画面を映し出したり、スピーカ１３ａから効果音等の音声を出力させたりするための装置である。モニタ１３は、映像信号やオーディオ信号を入力するための外部入力端子を備えた、例えばテレビジョン受像機によって構成されている。
【００５４】
ネットワークアダプタ１４は、ゲーム装置２の本体１１をネットワーク回線１に接続するための装置である。
【００５５】
ディスク１５は、例えばＤＶＤ−ＲＯＭ又はＣＤ−ＲＯＭ等によって構成されており、ディスク１５には、オフラインモード及びオンラインモードの両モードのゲームプログラムやそのゲームプログラムの実行に必要な種々のデータが記録されている。ゲームプログラムには、上述したように、ゲーム進行プログラム、サーバ対応プログラム、他のプレーヤによって制御されるハンターとチームを組んだ場合の他のプレーヤとのチャットを制御したり、他のプレーヤのゲーム装置２の操作データ等のデータを制御したりするネットワーク制御プログラム、三次元画像を表示させるためのグラフィック制御プログラム等が含まれる。
【００５６】
ネットワーク制御プログラムには、後述する不正検出プログラム（ゲームサーバ３側）に対応する対応プログラムが含まれている。すなわち、ゲームサーバ３において不正検出プログラムが起動されると、ＲＡＭ２１ｃに記憶されているゲーム進行プログラムの不正検出対象プログラムを送信するよう要求する要求信号がゲームサーバ３から送信されるが、上記対応プログラムは、この要求信号に応じてＲＡＭ２１ｃに記憶されている不正検出対象プログラムを送信するものである。
【００５７】
ゲームサーバ３は、ネットワーク回線１に接続された１台又は複数台のサーバによって構成されており、ネットワーク回線１を介して各ゲーム装置２との通信を制御するとともに、ネットワーク回線１を介して各ゲーム装置２において行われるオンラインゲームの進行を制御するものである。
【００５８】
ゲームサーバ３は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、ハードディスク装置３４、及びＩ／Ｆ（Interface）３５によって構成されている。ＲＯＭ３２、ＲＡＭ３３及びＩ／Ｆ３５は、バスライン３６で接続されている。また、ハードディスク装置３４は、Ｉ／Ｆ３５及びバスライン３６を介してＣＰＵ３１に接続されている。
【００５９】
ＣＰＵ３１は、ゲーム装置２のオンラインモードにおけるゲームの進行及び運営を統括制御する。ＣＰＵ３１は、オンラインモードでゲームが行われている各ゲーム装置２との間でゲームの進行に必要な各種のデータの送受信を行う。具体的には、ＣＰＵ３１は、各ゲーム装置２からのログイン要求、及びチームへの参加要求等の要求信号を受信するとともに、その要求に対する応答信号を、対応するゲーム装置２に返送する。
【００６０】
また、ＣＰＵ３１は、チームが組まれている複数のゲーム装置２のうち、いずれかのゲーム装置２からそのゲーム装置２によって制御されるハンターのゲーム空間上における位置の変化情報やステータス（例えばハンターの属性等）の変化情報、及びチャットのメッセージ情報が入力されると、その変化情報やメッセージ情報等を受信し、チームを組んでいる他のゲーム装置２に配信する。
【００６１】
また、ＣＰＵ３１は、ゲーム装置２からログアウトやチーム解散要求が入力されると、その要求をしたゲーム装置２及びチームを組んでいる他のゲーム装置２にゲーム進行を強制的に中断させる指令データを送信し、他のゲーム装置２にログアウト処理やチーム解散処理を行わせる。
【００６２】
ＲＯＭ３２には、ゲームサーバ３の基本的な機能、ハードディスク装置３４に記録されたデータを読み出す手順等を示す基本プログラム、及び各ゲーム装置２との通信を行うための通信制御プログラム等が記憶されている。
【００６３】
ＲＡＭ３３は、ＣＰＵ３１のワークエリアとして機能するものであり、ＲＡＭ３３には、ゲームの進行における必要なデータが随時記憶される。
【００６４】
Ｉ／Ｆ３５は、ハードディスク装置３４から読み出されたプログラムやデータをネットワーク回線１を介して各ゲーム装置２に送信したり、各ゲーム装置２からの操作信号やゲームに関する制御情報を受信し、ＣＰＵ３１に伝送したりするものである。
【００６５】
ハードディスク装置３４には、オンラインゲームの運用・管理を制御するための運用プログラム、各ゲーム装置２におけるオンラインゲームの進行を制御するための進行プログラムが記憶されている。
【００６６】
ゲームサーバ３が提供するオンラインゲームでは、不特定多数のプレーヤが任意のタイミングでオンラインゲームに入場してハンティングアクションゲームを実行し、任意のタイミングでオンラインゲームから退場するという行為が繰り返される。そのため、運用プログラムは、その入退場の変化を適正に制御したり、多数のゲーム装置２との双方向通信を適切に維持したりする機能を果たすプログラムである。
【００６７】
進行プログラムは、複数のゲーム装置２がチームを組むための処理やチームが組まれた複数のゲーム装置２間で相互に各ゲーム装置２の操作情報を中継したり、チャットを制御したり、各ゲーム装置２からの操作情報や制御情報に応じて、各ゲーム装置２に対して各ハンターの位置情報やステータス情報等をリアルタイムに返信したりする制御を行うプログラムである。
【００６８】
進行プログラムには、プレーヤによる不正を検出するための不正検出プログラムと、ゲーム装置２のディスク１５に記録されているゲームプログラムと同一の正規のゲームプログラムとが含まれている。
【００６９】
不正検出プログラムは、プレーヤによる不正な行為（例えば、特定のアイテムやゲーム上で取り扱われる金銭を正規のゲームルール以外の不正な方法で取得する行為等）を検出するプログラムである。本実施形態では、各ゲーム装置２においてオンラインゲームが実行されると、所定のタイミングで不正検出プログラムが実行される。
【００７０】
すなわち、詳細は後述するが、ゲーム装置２側で記憶されている不正検出対象プログラムがゲームサーバ３に送信され、送信された不正検出対象プログラムと、この不正検出対象プログラムに対応するゲームサーバ３側で記憶される正規の不正検出対象プログラムとが、ゲームサーバ３において照合されて、両者が一致するか否かが判別される。そして、両者が一致しない場合、ゲームサーバ３に送信されゲーム装置２で記憶されていた不正検出対象プログラムがプレーヤによって改ざんされたものであるとして、不正を検出する。
【００７１】
また、ハードディスク装置３４には、プレーヤの不正を検出した場合に、その不正情報（例えば発生日時、不正プレーヤのＩＤ、不正データの内容等）を記憶する領域が設けられている。この不正情報は、後にゲーム管理者等によって外部に出力（例えばプリントアウト）することができるようになっている。
【００７２】
ネットワーク回線１は、ゲームサーバ３及び複数のゲーム装置２を接続し、各装置を双方向の通信が可能なように接続する通信回線であり、本実施形態では、例えばインターネット回線が適用される。
【００７３】
ここで、本実施形態に係る上記ハンティングアクションゲーム（オンラインモード）の概要について説明する。このハンティングアクションゲームでは、図３に示すように、「ランド」と呼称される複数の大グループが設けられている。プレーヤは、複数の「ランド」の中から任意の「ランド」を選択することにより、オンラインゲームに参加することができる。
【００７４】
各「ランド」は、「エリア」と呼称される複数の小グループが設けられており、各「エリア」は、プレーヤのゲームレベルに応じて選択可能か否かが予め決められている。すなわち、複数の「エリア」は、プレーヤのゲームレベルの異なる多数のプレーヤが無制限に同じ「エリア」に集合するのを制限し、プレーヤのゲームレベルに応じて集合場所を分けるためのものである。いずれかの「ランド」を選択したプレーヤは、選択した「ランド」の中にある、自己のゲームレベルに応じたいずれかの「エリア」を選択することができる。
【００７５】
各「エリア」には、ハンター（プレーヤの分身）の生活拠点となる「街」と呼称されるフィールド（以下、「拠点フィールド」という。）が複数設けられている。いずれかの「エリア」を選択したプレーヤは、選択した「エリア」の中にあるいずれかの「街」を選択することができ、いずれかの「街」を選択することによって、プレーヤの分身であるハンターを登場させて、オンラインゲームをプレイすることができるようになっている。
【００７６】
拠点フィールド（街）には、図４に示すように、例えば「広場」、「酒場」、「武具工房」、「市場」、及び「ゲストハウス」等といった複数の施設が設けられている。「広場」は、プレーヤによってゲームが開始又は再開されるときにモニタ１３に最初に表示される場面であり、ハンターは、この「広場」から他の施設に移動できたり、他の施設から「広場」に戻れたりすることができるようになっている。「酒場」は、ハンターが集まり、情報交換をしたり、チームを組んだり、「クエスト」を受注したりするための施設であり、「武具工房」は、ハンターが所有する武器や防具を製造したり、強化したりできる施設である。また、「市場」は、ハンターがアイテムを売買できる施設であり、「ゲストハウス」は、ハンターが食事をしたり休息をとったりすることのできる施設である。
【００７７】
このハンティングアクションゲームでは、拠点フィールドの他に、モンスターが生息し、「クエスト」を達成させるためにハンターが移動するフィールド（以下、「狩場フィールド」という。）が設けられている。狩場フィールドには、例えば、「森と丘」のマップエリア、「ジャングル」のマップエリア、「砂漠」のマップエリア、及び「沼地」のマップエリア等のモンスターの種類と生息環境の異なる複数のマップエリア（各「ランド」に構成されている「エリア」とは異なる。）が設けられている。
【００７８】
さらに、各マップエリアには、「ベースキャンプ」、「丘陵地帯」、「森林」、及び「洞窟」等といった土地条件が異なる複数の地域が設定されている。「ベースキャンプ」は、ハンターが狩場フィールドの各マップエリアに入場する際、最初にモニタ１３に表示される場面であり、ハンターが狩場フィールドで採取したアイテムを納品したり、休息をしたりできる地域である。ハンターは、この「ベースキャンプ」から各地域に移動することができ、所定の地域では各地域間でも移動できるようになっている。
【００７９】
各プレーヤの操作するハンターは、拠点フィールドである「街」を生活の拠点とし、「クエスト」を受注し、必要に応じて他のハンターとチームを組んで「クエスト」に応じた狩場フィールドに向かう。狩場フィールドでは、各地域において「クエスト」を達成すべき行動（例えば所定のアイテムを採取する、所定のモンスターを討伐する等）を行う。
【００８０】
このハンティングアクションゲームでは、オンラインモードにおけるゲーム進行プログラムは、ゲーム進行に応じた複数の場面ごとに対応する個別プログラムに分かれている。例えば、クエストに出発するための準備をする場面である「酒場」には、この「酒場」の場面に対応する個別プログラムが設けられている。また、「クエスト」に応じた狩場フィールドに移動しモンスターをハンティングする場面である、例えば「森と丘」マップエリアの「丘陵地帯」には、この「丘陵地帯」の場面に対応する個別プログラムが設けられている。
【００８１】
これらの個別プログラムは、ハンターがある場面から他の場面に移動するたびに、移動された他の場面に対応する個別プログラムがディスク１５からその都度読み出され、ＲＡＭ２１ｃの所定領域（図２のアドレス「０×０１０００００」〜「０×０１７ｆｆｆｆ」参照）に書き込まれるようになっている。そして、ＲＡＭ２１ｃの所定領域に書き込まれた個別プログラムが処理されることにより、その個別プログラムに対応する場面がモニタ１３に表示される。
【００８２】
各ゲーム装置２でプレーヤによりオンラインモードによるゲームの開始若しくは再開の指示が行われると、ディスク１５からハンターのゲーム開始時若しくは再開時の画像データと上記拠点フィールドにおけるゲーム進行プログラム（個別プログラム）とが読み出され、画像データに基づいてモニタ１３にゲーム開始時若しくは再開時のゲーム画面が表示されてゲーム可能状態となる。
【００８３】
本実施形態では、初めてゲームを始めるときやゲームを一旦終了した後、再開するときは拠点フィールドである「街」の「広場」からゲーム可能状態となるように設定されているので、図５に示すように、ハンターＡが「街」の「広場」に居る状態の画像がモニタ１３に表示され、プレーヤはこの表示状態からハンターの動作を制御してゲームを進行させることになる。
【００８４】
そして、例えば、プレーヤがハンターの動作を制御して拠点フィールド内の「クエスト」を受注するための所定の場所（例えば「酒場」）に移動させると、ディスク１５から「酒場」内の画像データとその「酒場」内でのゲーム進行プログラム（個別プログラム）がディスク１５からＲＡＭ２１ｃに読み出され、図６に示すように、モニタ１３に「酒場」内のゲーム画面が表示される。このとき、場面が「広場」から「酒場」に切り替わったことを示す切替情報がゲームサーバ３に送信される。図６では、プレーヤが操作コントローラ１２を操作してハンターＡを酒場のマスターＢと会話させることができる。このとき、他のゲーム装置２を操作するプレーヤが同様に自己の操作するハンターを「酒場」に移動させると、場面が切り替わったことを示す切替情報がゲームサーバ３に送信される。
【００８５】
ゲームサーバ３は、場面が「酒場」に切り替わったことを示す切替情報を受信すると、その切替情報とそのハンターを特定する情報（ＩＤ情報）とを同一の「酒場」にハンターを移動させている他のゲーム装置２に送信する。各ゲーム装置２では、他のゲーム装置２により制御される切替情報とＩＤ情報とに基づいて、モニタ１３のゲーム画面に自機で制御されるハンターと他のゲーム装置２で制御されるハンターが「酒場」内に入っている画像が表示される。
【００８６】
この表示状態で、いずれかのプレーヤがハンターに「クエスト」を受注させる動作をさせ、さらにその「クエスト」に対して協力者を募集する動作をさせると、その募集情報がゲーム装置２からゲームサーバ３に送信される。ゲームサーバ３は、その募集情報を他のゲーム装置２に送信する。他のゲーム装置２では、その募集情報に基づいてモニタ１３に表示されたあるハンターが「クエスト」を受注し、協力者を募集していることを示す画像が表示される。
【００８７】
その後、チーム編成の調整のために各ゲーム装置２でチャット機能により相互に会話操作が行われると、ゲームサーバ３はそのチャット処理を制御するとともに、チャット操作によりチームを組むハンターが決定されると、その決定情報を関係する各ゲーム装置２に送信してチームによる「クエスト」達成のゲーム進行を可能にする。
【００８８】
その後は、各ゲーム装置２において、各プレーヤが各ハンターを「クエスト」達成の旅に出発させると、ゲーム画面が拠点フィールドから狩場フィールドに移行し、各プレーヤの操作に基づき「クエスト」達成のためのゲーム進行処理が行われることになる。例えばハンターが狩場フィールドの「森と丘」マップエリアの「ベースキャンプ」に移動されると、ディスク１５から「ベースキャンプ」内の画像データとその「ベースキャンプ」内でのゲーム進行プログラム（個別プログラム）がディスク１５からＲＡＭ２１ｃに読み出され、モニタ１３に「ベースキャンプ」内のゲーム画面が表示される。このとき、場面が「酒場」から「ベースキャンプ」に切り替わったことを示す切替情報がゲームサーバ３に送信される。
【００８９】
ゲーム進行処理では、各ゲーム装置２における操作情報は随時ゲームサーバ３に送信され、ゲームサーバ３を介してチームを構成するゲーム装置２相互で共有される。したがって、各ゲーム装置２ではチームを組んだ他のハンターの画像が必要に応じてモニタ１３に表示され、他のプレーヤの操作に応じて動作するようになる。
【００９０】
そして、その後のゲーム進行により、モンスターの討伐等の「クエスト」が達成されると、ゲーム画面が狩場フィールドから拠点フィールドの元の「広場」の画面に切り替えられて、ハンターは次の「クエスト」を受注可能な状態となる。この場合も、場面の切替情報がゲームサーバ３に送信されるとともに、ディスク１５から「広場」内の画像データとその「広場」内でのゲーム進行プログラム（個別プログラム）がディスク１５からＲＡＭ２１ｃに読み出され、モニタ１３に「広場」内のゲーム画面が表示される（図５参照）。
【００９１】
なお、上記の説明では、「クエスト」を受注したプレーヤがその「クエスト」に対して協力者を募集する場合について説明したが、プレーヤは協力者を募集することなく単独で狩場フィールドに移行し、「クエスト」を達成するためのゲーム進行を行うことも可能である。
【００９２】
ここで、不正プレーヤが行う不正処理の例を説明すると、不正処理としては、例えば、ハンターの所持金を増減する演算処理プログラムを変更する不正が挙げられる。このハンティングアクションゲームにおいては、ハンターがアイテム等の売買を行うことにより一定の金銭を入手する又は支払うようになっている。この金銭の受け渡しにおける処理は、例えば、拠点フィールドの「武具工房」や「市場」で武器や防具あるいはアイテムを売買する際に実行される。そのため、上記演算処理プログラムは、「武具工房」の場面に対応するゲーム進行プログラム（個別プログラム）や「市場」の場面に対応するゲーム進行プログラムに含まれている。
【００９３】
「武具工房」や「市場」でハンターが金銭を用いて売買を行うと、ゲーム装置２のＣＰＵ２１ａは、「所持金＝現在の所持金＋変更する金額」といった演算を行う。上式の「変更する金額」には、金銭を取得したとき（例えばアイテムを売ったとき）にはそのアイテムの売却価格に相当するプラスの数値が、金銭を支払ったとき（例えば武器を購入したとき）にはその武器の購入価格に相当するマイナスの数値がそれぞれ入力される。
【００９４】
ところが、不正を行うプレーヤは、専用ツール等を用いて、以下のようにＲＡＭ２１ｃの内容（演算処理プログラム）を書き換える。すなわち、「変更する金額」に例えば「９９９９９９９９」（オンラインゲーム中の最大所持金の値）といった固定値を代入する。このようにすれば、売買処理が発生するたびに、マイナスの数値を発生させないようにすることができ、すなわち、ハンターの所持金を常に最大となるようにすることができる。そのため、ハンターは、より強力で高価な武器や防具を購入することができるようになる。
【００９５】
このような不正のパターンとしては、上記の他に、ハンターが所有するアイテムを例えば売りに出してアイテムの所持数に変更が発生する場合、アイテムの所持数が最大になるようにする、といったことが挙げられる。アイテムの所持数を変更させる演算処理プログラムは、例えば「市場」の場面に対応するゲーム進行プログラム（個別プログラム）に含まれている。
【００９６】
また、他の不正処理としては、例えばプレーヤの体力を減らす演算処理プログラムを削除する不正が挙げられる。このハンティングアクションゲームにおいては、オンラインゲーム中にモンスターからの攻撃を受けた際に、ハンターの現在体力から、モンスター側の攻撃力に応じた数値を減算する処理が行われている。このハンターの体力を減算する演算処理プログラムは、例えば、狩場フィールドの「森と丘」マップエリアのいずれかの地域でモンスターを討伐する際に実行される。この場合、ＣＰＵ２１ａは、「ハンターの体力＝現在のハンターの体力−敵の攻撃力」といった演算を行う。
【００９７】
ところが、不正を行うプレーヤは、以下のようにＲＡＭ２１ｃの内容（演算処理プログラム）を書き換える。すなわち、上記処理に代えて、例えば「ハンターの体力」＝「現在の体力」といった演算を行うようにＲＡＭ２１ｃを書き換える。このようにすれば、モンスターに攻撃された際でもハンターはダメージを受けないようになる。また、演算自体を行わないように、ＲＡＭ２１ｃを書き換えることもできる。
【００９８】
このような不正のパターンとしては、上記の他に、制限時間がある「クエスト」において制限時間の設定をなくす、アイテムを使用する際にアイテムの所持数が減らないようにする、金銭を使っても金銭が減らないようにする、といったことが挙げられる。
【００９９】
また、他の不正処理としては、ハンターの動作を制御する演算処理プログラムを変更する不正が挙げられる。このハンティングアクションゲームにおいては、オンラインゲーム中にハンターが移動すれば、一定の数値が現在の位置に加算されることで移動と認識されるようになっている。このハンターの動作を制御する演算処理プログラムは、例えば、狩場フィールドの「森と丘」マップエリアのいずれかの地域でハンターが移動したときに実行される。この場合、ＣＰＵ２１ａは、「ハンターの位置＝現在位置＋移動距離（例えば１０ｃｍ）」といった演算を行う。
【０１００】
ところが、不正を行うプレーヤは、上記処理に代えて、移動距離の値を例えば４０ｃｍといった大きな固定値になるようにＲＡＭ２１ｃ（演算処理プログラム）を書き換える。このようにすれば、ハンターの移動する速度が何倍にもなることが可能になる。このような不正のパターンとしては、上記の他に、ハンターの攻撃力及び防御力を変更するといったことが挙げられる。
【０１０１】
また、他の不正処理としては、プログラムの分岐先を決定する判別プログラムを変更する不正が挙げられる。このハンティングアクションゲームにおいては、特定のフラグによって、例えば「クエスト」を達成するといった成功パターンの処理を行うか、「クエスト」の達成に失敗するといった失敗パターンの処理を行うかといった判別処理が行われる。この判別処理は、例えば、狩場フィールドの「森と丘」マップエリアのいずれかの地域でハンターが「クエスト」を達成したことを判別するときに実行される。
【０１０２】
ところが、不正を行うプレーヤは、上記特定のフラグを書き換えて、失敗パターンと判別する処理を成功パターンと判別する処理に書き換える。このようにすれば、常に成功パターンのみを選択するプログラムに変更することができる。
【０１０３】
このような不正のパターンとしては、上記の他に、次のマップエリアへの移動条件を満たしていないのにもかかわらず、先のマップエリアに移動することができる、といったことが挙げられる。例えば「森と丘」マップエリアにおける「クエスト」を全て達成していないのにもかかわらず、次のマップエリアである「ジャングル」マップエリアに移動することができるといった事象に相当する。
【０１０４】
本実施形態では、上記した演算処理プログラムや判別プログラムを不正検出対象プログラムと特定して不正検出対象プログラムに対して不正の検出を行うようにしている。すなわち、本実施形態では、ゲーム装置２のＲＡＭ２１ｃに記憶されている不正検出対象プログラムを一旦ゲームサーバ３に送信し、それをゲームサーバ３において正規の不正検出対象プログラムと照合するようにしている。このようにすれば、上記した不正によって書き換えられた内容は、ＲＡＭ２１ｃに記憶されている不正検出対象プログラムに挿入されているため、照合した不正検出対象プログラムの内容が一致していないことによって、不正検出対象プログラムが書き換えられたとして、プレーヤが不正を行ったことを認識することができる。
【０１０５】
次に、上記ゲームシステムにおける制御動作を、図７に示すフローチャートを参照して説明する。なお、以下では、プレーヤがオンラインモードを選択してゲームを行う場合について説明する。
【０１０６】
まず、プレーヤがディスク１５を本体１１のディスクドライブユニット２４に装着すると、ディスクドライブユニット２４は、ディスク１５に記憶されたゲームプログラム及びゲームデータ等を読み出し、ＲＡＭ２１ｃの所定領域に格納する（Ｓ１）。例えば、ＲＡＭ２１ｃのアドレス「０×０１０００００」〜「０×０１７ｆｆｆｆ」には、サーバ対応プログラムが格納される（図２（ｂ）参照）。また、ＲＡＭ２１ｃのアドレス「０×０１８００００」〜「０×０１ｂｆｆｆｆ」には、ネットワーク制御プログラムが格納され、アドレス「０×０１ｃ００００」〜「０×０１ｆｆｆｆｆ」には、グラフィック制御プログラムが格納される。
【０１０７】
ゲーム装置２では、まず、サーバ対応プログラムが起動し、プレーヤのオンラインモードでのオンラインゲームの参加を設定する入場処理が行われる。すなわち、ゲーム装置２からゲームサーバ３にプレーヤを認証するための情報（例えば、ＩＤ番号）等とともにログイン要求が送信される（Ｓ２）。このログイン要求に応じて、ゲームサーバ３では、それに応じた入場処理が行われる（Ｓ３）。すなわち、プレーヤの参加が許可されると、ゲームサーバ３からゲーム装置２にログインの許可情報が送信される。
【０１０８】
ログインの許可情報が送信されたゲーム装置２では、オンラインモードでのゲーム開始又はゲーム再開が可能になり、プレーヤは、任意の「ランド」、「エリア」を選択した後、ハンターを登場させる「街」を決定するための操作を行うと（Ｓ４）、ディスク１５から「街」の「広場」の場面に対応するゲーム進行プログラム（個別プログラム）がＲＡＭ２１ｃの所定領域に格納される（Ｓ５）。すなわち、図２（ａ）に示すように、ＲＡＭ２１ｃのアドレス「０×０１０００００」〜「０×０１７ｆｆｆｆ」には、サーバ対応プログラムに代えて、「広場」の場面に対応するゲーム進行プログラムが格納される。
【０１０９】
ゲーム装置２では、「広場」の場面に対応するゲーム進行プログラムが格納されると当該ゲーム進行プログラムが起動され、プレーヤが拠点フィールドを選択するための画面から「広場」の開始画面（図５参照）に切り替わり、それがモニタ１３に表示される（Ｓ６）。次いで、ゲーム装置２は、「広場」の開始画面に切り替わったことを示す切替信号をゲームサーバ３に送信する（Ｓ７）。本実施形態では、ゲーム装置２は、ゲーム進行にともなう場面がモニタ１３に表示されたとき、又はある場面から他の場面に切り替わったとき、そのことを示す切替信号がゲームサーバ３に送信される。この切替信号をゲームサーバ３が受信することにより、ゲームサーバ３では、各ゲーム装置２において、現在どの場面がモニタ１３に表示されているか、すなわち、表示されている場面に対応するゲーム進行プログラムが実行されているかを認識することができる。
【０１１０】
ゲームサーバ３は、「広場」の場面に切り替わったことを示す切替信号を受信すると（Ｓ８）、ハードディスク装置３４に記憶されている不正検出プログラムを起動させる。具体的には、ゲームサーバ３は、上記切替信号を受信してから所定時間経過後に、ゲーム装置２のＲＡＭ２１ｃ上の所定領域に記憶されているゲーム進行プログラムの不正検出対象プログラムを送信することを要求する送信要求信号をゲーム装置２に対して出力する（Ｓ９）。
【０１１１】
所定時間経過後に送信要求信号をゲーム装置２に出力するのは、不正を行うプレーヤが専用ツール等を用いて不正検出対象プログラムを書き換える時間を考慮したものである。すなわち、「広場」の場面に切り替わったことを示す切替信号が送信された後、即座に不正検出対象プログラムを送信することを示す送信要求信号を出力したのでは、未だ書き換えられていない不正検出対象プログラムがゲーム装置２から送信される可能性があるからである。
【０１１２】
ゲーム装置２は、ゲームサーバ３からの上記送信要求信号を受信すると（Ｓ１０）、ＲＡＭ２１ｃに記憶されている、ゲーム進行プログラムの不正検出対象プログラムを読み出し、ゲームサーバ３に対して送信する（Ｓ１１）。
【０１１３】
ゲーム装置２は、ＲＡＭ２１ｃの所定領域（例えばアドレス「０×０１０００００」〜「０×０１７ｆｆｆｆ」）に記憶されているゲーム進行プログラムの全てをゲームサーバ３に送信するのではなく、ゲーム進行プログラム中の、例えばハンターが金銭を用いて売買する際に起動される演算処理プログラムや例えば「クエスト」を達成したか否かを判別する判別プログラム等の不正検出対象プログラムを送信する。
【０１１４】
例えば、ゲーム装置２において現在実行されているゲーム進行プログラムが「市場」の画面に対応するゲーム進行プログラムである場合、「市場」の場面に対応するゲーム進行プログラムには、金銭を用いた売買に関する演算処理プログラムが含まれているため、その演算処理プログラムが送信されることになる。演算処理プログラムが送信されるのは、このような演算処理プログラムが、不正プレーヤによって不正される可能性が高いことに基づく。また、演算処理プログラムを送信すると、ＲＡＭ２１ｃに記憶されているゲーム進行プログラム全体を送信する場合に比べ、送信負荷がより軽減でき、送信時間もより短縮できるといった利点がある。
【０１１５】
ゲームサーバ３は、ゲーム装置２から送られた、不正検出対象プログラムを受信すると（Ｓ１２）、ゲームサーバ３のハードディスク装置３４に記憶されている、正規のゲーム進行プログラムの不正検出対象プログラムと比較する（Ｓ１３）。ゲームサーバ３では、ゲーム装置２側で現在実行されているゲーム進行プログラムを切替信号を受信していることにより認識しているため、実行されているゲーム進行プログラムの不正検出対象プログラムに対応する正規の不正検出対象プログラムを、ハードディスク装置３４から容易に読み出すことができる。
【０１１６】
すなわち、ゲーム進行プログラム中における不正検出対象プログラムのアドレス上の位置は、予め設定されているため、ゲームサーバ３側でも不正検出対象プログラムのアドレス上の位置を認識しており、ハードディスク装置３４から容易にゲーム進行プログラム中における正規の不正検出対象プログラムを読み出すことができる。
【０１１７】
上記比較結果により、ゲーム装置２から送信された不正検出対象プログラムと、ハードディスク装置３４に記憶されていた正規の不正検出対象プログラムとが異なる場合（Ｓ１４：ＮＯ）、ゲーム装置２のＲＡＭ２１ｃに読み込まれ、ゲームサーバ３に送信された不正検出対象プログラムの内容がユーザによって改ざんされており、不正が行われたものと判別する。
【０１１８】
プレーヤによって不正が行われたと判別された場合、そのときの不正情報（例えば不正が検出された時刻、改ざんされたゲームプログラムの内容、及び当該ゲーム装置２を使用するプレーヤのＩＤ等）をハードディスク装置３４に記憶する（Ｓ１５）。このように、不正情報をハードディスク装置３４に記憶するのは、後にこのゲーム管理者等が不正者を確認するためである。すなわち、不正情報は、どの部分がどのように改ざんされたのかをゲームサーバ３側で把握して、例えば改ざんの程度、傾向等を調査するためのデータとして用いられる。また、不正情報は、不正したプレーヤに対して不正を行ったことを認めさせるための証拠としても用いられる。
【０１１９】
次いで、ゲームサーバ３は、上記比較判別処理によって不正が検出されたことの不正通告信号を、当該ゲーム装置２に対して送信する（Ｓ１６）。その後、ゲームサーバ３は、ゲーム装置２との通信を遮断する（Ｓ１７）。
【０１２０】
ゲーム装置２では、上記不正通告信号をゲームサーバ３から受信したか否かの判別処理（Ｓ１８）を割り込み処理的に行っている。ステップＳ１８の判別処理によって、ゲームサーバ３からの不正通告信号を受信したと判別された場合（Ｓ１８：ＹＥＳ）、モニタ１３に表示されているゲーム進行画面の表示を即座に中止し、不正が検出されたことを表す不正通告画面をモニタ１３に表示する（Ｓ１９）。その後、ゲーム装置２は、ゲームサーバ３との通信を遮断する（Ｓ２０）。これにより、プレーヤに対して、不正を行ったのでゲームサーバ３との通信が遮断されたことを認識させることができる。
【０１２１】
このように、ゲームサーバ３では、正規の不正検出対象プログラムと、ゲーム装置２のＲＡＭ２１ｃに読み込まれた不正検出対象プログラムとを比較することにより、ゲーム装置２においてユーザが不正検出対象プログラムを改ざんしたか否かを判別するようにしている。したがって、ユーザが例えばアイテムのデータや武器及び防具のデータを改ざんする場合に加えて、ゲームプログラム自体を改ざんするような場合でも、容易にそのことを判別することができる。
【０１２２】
一方、ゲームサーバ３は、ステップＳ１４における比較処理によって、ゲーム装置２から送信された不正検出対象プログラムと、ハードディスク装置３４に記憶されていた正規の不正検出対象プログラムとが同一と判別した場合（Ｓ１４：ＹＥＳ）、ゲーム装置２のＲＡＭ２１ｃに読み込まれ、ゲームサーバ３に送信されてきた不正検出対象プログラムは、改ざんされていないとして、通常のゲーム進行処理を続行する。すなわち、ステップＳ８に戻り、ゲーム装置２からの場面が切り替えられたことを示す切替信号が送信されることを監視する。
【０１２３】
ゲーム装置２では、ステップＳ１８において上記不正通告信号がゲームサーバ３から送信されない場合（Ｓ１８：ＮＯ）、通常のゲーム進行処理が続行される。すなわち、プレーヤは、モニタ１３のゲーム画面を見ながら操作コントローラ１２を操作すると、その操作情報に基づいてゲーム進行プログラムが実行され、モニタ１３に表示される画像が変化し、ゲームが進行することになる。そして、ハンターが切り替えるべき場面へ移動したか否かが判別される（Ｓ２１）。
【０１２４】
ここで、プレーヤは、「クエスト」を受注するために、操作コントローラ１２を操作してハンターを「広場」から、「クエスト」を受注するための場所、例えば「酒場」に移動させると、ハンターが切り替えるべき場面へ移動したと判別され（Ｓ２１：ＹＥＳ）、処理はステップＳ５に戻り、ディスク１５から「酒場」の場面に対応するゲーム進行プログラム（個別プログラム）がＲＡＭ２１ｃの所定領域に格納される。すなわち、ＲＡＭ２１ｃの所定領域には、「広場」の場面に対応するゲーム進行プログラムに代えて、「酒場」の場面に対応するゲーム進行プログラムが格納される。
【０１２５】
ゲーム装置２では、「酒場」の場面に対応するゲーム進行プログラムが格納されると当該ゲーム進行プログラムが起動され、「酒場」の開始画面がモニタ１３に表示される（Ｓ６）。次いで、ゲーム装置２は、ゲームサーバ３に「広場」から「酒場」に場面が切り替わったことを示す切替信号を送信する（Ｓ７）。これにより、ゲームサーバ３では、ゲーム装置２において、「広場」から「酒場」に場面が切り替わり、「酒場」の場面に対応するゲーム進行プログラムが実行していることを認識することができる。
【０１２６】
ゲームサーバ３は、「酒場」の場面に切り替わったことを示す切替信号を受信すると（Ｓ８）、再びハードディスク装置３４に記憶されている不正検出プログラムを起動させる。このように、ゲームサーバ３では、場面が切り替わるごとに不正検出プログラムが実行される。
【０１２７】
ゲームサーバ３において不正検出プログラムが起動する（ＲＡＭ２１ｃの内容をゲーム装置２から送信させる）タイミングは、上記したようにゲーム装置２のモニタ１３に表示する場面が切り替わるごとであるので、ゲーム進行プログラムがＲＡＭ２１ｃに記憶されるごとに、ゲーム進行プログラムを書き換える不正を確実に検出することができる。
【０１２８】
なお、不正検出プログラムが起動される（不正検出対象プログラムがゲーム装置２から送信されて比較される）タイミングは、上記実施形態では場面が切り替えられてから所定時間経過後とされたが、これに限定されるものではない。例えば、場面が切り替えられて所定時間経過後に不正検出プログラムを起動させ、その後、新たな画面に切り替えられるまでの間、一定時間（例えば５分）経過ごとに不正検出プログラムを起動させるようにしてもよい。
【０１２９】
また、不正検出プログラムが起動されるタイミングは、ランダムなタイミングであってもよい。このような場合、場面が切り替えられたことを示す切替信号は、ゲーム装置２からゲームサーバ３に逐次送信されているので、ゲームサーバ３側では、ゲーム装置２側でどの場面でプレイされているかが容易に認識できる。
【０１３０】
また、不正検出プログラムが起動されるタイミングは、ゲームサーバ３側で、ゲームサーバ３とゲーム装置２とのデータの送受信の情報量が比較的小さいことを判断したときといった、通常のゲーム進行処理に支障のないときであってもよい。
【０１３１】
このように、専用ツールや専用ソフトウェア等を用い、不正にデータを改ざんするプレーヤに対して、当該プレーヤがオンラインゲームでプレイしようとした場合には、各ゲーム装置３から送信される不正検出対象プログラムを正規の不正検出対象プログラムと照合することにより、その不正を確実に検出することができるとともに、ゲームプログラムの全体をゲームサーバ３に送信する場合に比べ、ゲームサーバ３とゲーム装置２との通信負荷を軽減することができ、通信のための待ち時間が少ないことからプレーヤのいらだちを生じさせるようなこともない。
【０１３２】
また、検知された不正の内容は、ハードディスク装置３４に記憶され、例えばゲーム管理者がその内容を確認した上で、不正なゲームプログラムを所有しているプレーヤに対して事実確認及び警告等に利用することができる。これにより、不正なゲームプログラムを所有しているプレーヤがそのゲームプログラムを破棄等して正規の状態に戻せば、改ざんされたゲームプログラムをこのオンラインゲームに持ち込まれることが防止される。なお、不正なゲームプログラムを所有しているプレーヤがそのゲームプログラムを破棄等せずに、再び、オンラインゲームに参加しようとしたときには、その時点で回線を接続しないようにして参加を拒否するようにしてもよい。
【０１３３】
また、例えば一つのゲーム進行プログラムに含まれる不正検出対象プログラムが複数ある場合は、上記不正情報を用いて例えば不正が行われる頻度を、上記した不正検出対象プログラム別に統計的に調べ、不正が検出されることの多い不正検出対象プログラムから優先的に正規の不正検出対象プログラムと比較するようにしてもよい。
【０１３４】
もちろん、この発明の範囲は上述した実施の形態に限定されるものではない。例えば、本実施形態では、ハンティングアクションゲームのオンラインゲームに適用したゲームシステムについて述べたが、適用されるゲームはこれに限定されるものではなく、他のアクションゲームやロールプレーイングゲームやレーシングゲームや格闘ゲームにも適用することができる。
【図面の簡単な説明】
【０１３５】
【図１】本願発明に係るゲームシステムの一例を示す構成図である。
【図２】ゲーム装置のＲＡＭに格納されるプログラムを示す図である。
【図３】オンラインモードへの入場に関する構成を示す図である。
【図４】拠点フィールド及び狩場フィードの構成の一例を示す図である。
【図５】ハンターが「広場」に登場した際のゲーム画面の一例を示す図である。
【図６】ハンターが「酒場」で「クエスト」を受注する際のゲーム画面の一例を示す図である。
【図７】ゲームシステムにおける制御動作を示すフローチャートである。
【符号の説明】
【０１３６】
１  ネットワーク回線
２  ゲーム装置
３  ゲームサーバ
１１  本体
１２  操作コントローラ
１３  モニタ
１３ａ  スピーカ
１４  ネットワークアダプタ
１５  ディスク
１６  メモリカード
２１  制御部
２１ａ  ＣＰＵ（ゲーム装置の）
２１ｂ  ＲＯＭ
２１ｃ  ＲＡＭ
２２  描画処理部
２３  音声処置部
２４  ディスクドライブユニット
２５  メモリカード接続ユニット
２６  Ｉ／Ｏインターフェース部
３１  ＣＰＵ（ゲームサーバの）
３２  ＲＯＭ
３３  ＲＡＭ
３４  ハードディスク装置
３５  Ｉ／Ｆ
【図１】
2007209530.tif 000003
【図２】
2007209530.tif 000004
【図３】
2007209530.tif 000005
【図４】
2007209530.tif 000006
【図５】
2007209530.tif 000007
【図６】
2007209530.tif 000008
【図７】
2007209530.tif 000009