(57)【特許請求の範囲】
【請求項１】
端末装置と、サーバ装置と、を備えるシステムであって、
前記端末装置は、
パラメータが記憶されるパラメータ記憶部と、
ユーザから指示入力を受け付ける受付部と、
前記受け付けた指示入力に基づいて、前記記憶されたパラメータを更新する更新部と、
適切なタイミングで、前記サーバ装置に、前記パラメータが指定された要求を送信する要求送信部と、
前記サーバ装置から、前記要求に対する応答を受信する応答受信部と、
を備え、
前記サーバ装置は、
前記要求を受信する要求受信部と、
前記要求で指定されたパラメータと、当該要求を受け付けた時刻とが蓄積して記憶される要求記憶部と、
前記要求で指定されたパラメータと、前記要求記憶部に直近に記憶されたパラメータとが所定の範囲にある場合、前記要求記憶部に、当該要求で指定されたパラメータと、当該要求を受け付けた時刻とを蓄積する蓄積部と、
前記要求で指定されたパラメータと、前記要求記憶部に直近に記憶されたパラメータとが所定の範囲にある場合、前記端末装置に、前記要求に対する応答を送信する応答送信部と、
を備え、
前記応答受信部が、前記要求が送信されてから所定の時間内に前記応答を受信しない場合、前記更新部は、前記記憶されたパラメータを、当該パラメータにペナルティを課したパラメータで更新する
ことを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、
前記適切なタイミングは、所定の周期で生じる
ことを特徴とするシステム。
【請求項３】
請求項１に記載のシステムであって、
前記適切なタイミングは、前記受付部が前記パラメータを好転させる指示入力を受け付けると生じる
ことを特徴とするシステム。
【請求項４】
パラメータが記憶されるパラメータ記憶部と、
ユーザから指示入力を受け付ける受付部と、
前記受け付けた指示入力に基づいて、前記記憶されたパラメータを更新する更新部と、
適切なタイミングで、サーバ装置に、前記パラメータが指定された要求を送信する要求送信部と、
前記サーバ装置から、前記要求に対する応答を受信する応答受信部と、
を備え、
前記応答受信部が、前記要求が送信されてから所定の時間内に前記応答を受信しない場合、前記更新部は、前記記憶されたパラメータを、当該パラメータにペナルティを課したパラメータで更新する
ことを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの改変等の不正行為を防止するのに好適なシステム、端末装置、制御方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
近年、インターネット等のネットワークを利用したネットワークゲームが、普及している。ユーザは、ゲーム装置やパーソナルコンピュータ等を、ネットワークを介してサーバに接続させ、ゲームプログラムをダウンロードしたり、ゲームプレイを行ったりする。
【０００３】
このようなネットワークゲームにおいて、ゲームの実行状態に関するパラメータを不正に改変して、成績が悪くならないように、或いは、成績を上げようとする不正行為が行われることがある。このような不正行為を防止するため、様々な技術が提案されている。例えば、特許文献１には、サーバ装置に常時接続してゲームを行うようなシステムにおいて、セッションの異常終了を検出するスコアシステムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２２２８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方、ネットワークゲームにおいては、サーバ装置に常時接続しなくても端末装置側でゲームを進めることができる形態を採用するものもある。このような形態をとるネットワークゲームにおいては、端末装置側でデータが改変され、不正行為が行われてしまう場合がある。
【０００６】
本発明は、上記のような課題を解決するもので、データの改変等の不正行為を防止するのに好適なシステム、端末装置、制御方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の観点に係るシステムは、
端末装置と、サーバ装置と、を備えるシステムであって、
前記端末装置は、
パラメータが記憶されるパラメータ記憶部と、
ユーザから指示入力を受け付ける受付部と、
前記受け付けた指示入力に基づいて、前記記憶されたパラメータを更新する更新部と、
適切なタイミングで、前記サーバ装置に、前記パラメータが指定された要求を送信する要求送信部と、
前記サーバ装置から、前記要求に対する応答を受信する応答受信部と、
を備え、
前記サーバ装置は、
前記要求を受信する要求受信部と、
前記要求で指定されたパラメータと、当該要求を受け付けた時刻とが蓄積して記憶される要求記憶部と、
前記要求で指定されたパラメータと、前記要求記憶部に直近に記憶されたパラメータとが所定の範囲にある場合、前記要求記憶部に、当該要求で指定されたパラメータと、当該要求を受け付けた時刻とを蓄積する蓄積部と、
前記要求で指定されたパラメータと、前記要求記憶部に直近に記憶されたパラメータとが所定の範囲にある場合、前記端末装置に、前記要求に対する応答を送信する応答送信部と、
を備え、
前記応答受信部が、前記要求が送信されてから所定の時間内に前記応答を受信しない場合、前記更新部は、前記記憶されたパラメータを、当該パラメータにペナルティを課したパラメータで更新する
ことを特徴とする。
【０００８】
また、上記システムにおいて、
前記適切なタイミングは、所定の周期で生じる
ことを特徴とする。
【０００９】
また、上記システムにおいて、
前記適切なタイミングは、前記受付部が前記パラメータを好転させる指示入力を受け付けると生じる
ことを特徴とする。
【００１０】
本発明の第２の観点に係る端末装置は、
パラメータが記憶されるパラメータ記憶部と、
ユーザから指示入力を受け付ける受付部と、
前記受け付けた指示入力に基づいて、前記記憶されたパラメータを更新する更新部と、
適切なタイミングで、サーバ装置に、前記パラメータが指定された要求を送信する要求送信部と、
前記サーバ装置から、前記要求に対する応答を受信する応答受信部と、
を備え、
前記応答受信部が、前記要求が送信されてから所定の時間内に前記応答を受信しない場合、前記更新部は、前記記憶されたパラメータを、当該パラメータにペナルティを課したパラメータで更新する
ことを特徴とする。
【００１１】
本発明の第３の観点に係る制御方法は、
パラメータが記憶されるパラメータ記憶部と、受付部と、更新部と、要求送信部と、応答受信部と、を備える端末装置と、要求受信部と、要求で指定されたパラメータと、当該要求を受け付けた時刻とが蓄積して記憶される要求記憶部と、蓄積部と、応答送信部と、を備えるサーバ装置と、を備えるシステムが実行する制御方法であって、
前記端末装置において、
前記受付部が、ユーザから指示入力を受け付ける受付工程と、
前記更新部が、前記受け付けた指示入力に基づいて、前記記憶されたパラメータを更新する更新工程と、
前記要求送信部が、適切なタイミングで、前記サーバ装置に、前記パラメータが指定された要求を送信する要求送信工程と、
前記応答受信部が、前記サーバ装置から、前記要求に対する応答を受信する応答受信工程と、
を備え、
前記サーバ装置において、
前記要求受信部が、前記要求を受信する要求受信工程と、
前記蓄積部が、前記要求で指定されたパラメータと、前記要求記憶部に直近に記憶されたパラメータとが所定の範囲にある場合、前記要求記憶部に、当該要求で指定されたパラメータと、当該要求を受け付けた時刻とを蓄積する蓄積工程と、
前記応答送信部が、前記要求で指定されたパラメータと、前記要求記憶部に直近に記憶されたパラメータとが所定の範囲にある場合、前記端末装置に、前記要求に対する応答を送信する応答送信工程と、
を備え、
前記応答受信工程において、前記応答受信部が、前記要求が送信されてから所定の時間内に前記応答を受信しない場合、前記更新部は、前記記憶されたパラメータを、当該パラメータにペナルティを課したパラメータで更新する
ことを特徴とする。
【００１２】
本発明の第４の観点に係るプログラムは、
第１のコンピュータを端末装置として機能させ、第２のコンピュータをサーバ装置として機能させるプログラムであって、
前記第１のコンピュータを、
パラメータが記憶されるパラメータ記憶部、
ユーザから指示入力を受け付ける受付部、
前記受け付けた指示入力に基づいて、前記記憶されたパラメータを更新する更新部、
適切なタイミングで、前記サーバ装置に、前記パラメータが指定された要求を送信する要求送信部、
前記サーバ装置から、前記要求に対する応答を受信する応答受信部、
として機能させ、
前記第２のコンピュータを、
前記要求を受信する要求受信部、
前記要求で指定されたパラメータと、当該要求を受け付けた時刻とが蓄積して記憶される要求記憶部、
前記要求で指定されたパラメータと、前記要求記憶部に直近に記憶されたパラメータとが所定の範囲にある場合、前記要求記憶部に、当該要求で指定されたパラメータと、当該要求を受け付けた時刻とを蓄積する蓄積部、
前記要求で指定されたパラメータと、前記要求記憶部に直近に記憶されたパラメータとが所定の範囲にある場合、前記端末装置に、前記要求に対する応答を送信する応答送信部、
として機能させ、
前記応答受信部が、前記要求が送信されてから所定の時間内に前記応答を受信しない場合、前記更新部は、前記記憶されたパラメータを、当該パラメータにペナルティを課したパラメータで更新する
ように機能させることを特徴とする。
【００１３】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【００１４】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００１５】
本発明によれば、データの改変等の不正行為を防止するのに好適なシステム、端末装置、制御方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係るシステムの構成を示す図である。
【図２】端末装置とサーバ装置との通信の様子を示すセッション図である。
【図３】実施形態に係る端末装置又はサーバ装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図４】実施形態に係る端末装置の概要構成を示す図である。
【図５】実施形態に係るサーバ装置の概要構成を示す図である。
【図６】端末装置で実行されるプログラムの画像を示す図である。
【図７】パラメータテーブルを説明するための図である。
【図８】要求記憶テーブルを説明するための図である。
【図９】要求記憶テーブルを説明するための図である。
【図１０】パラメータテーブルを説明するための図である。
【図１１】パラメータテーブルを説明するための図である。
【図１２】要求記憶テーブルを説明するための図である。
【図１３】実施形態に係る端末装置の各部が行う処理を説明するためのフローチャートである。
【図１４】実施形態に係るサーバ装置の各部が行う処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１７】
実施形態にかかるシステム１は、図１に示すように、端末装置１００−１〜１００−ｋ（ｋは１以上の整数）とサーバ装置２００とから構成される。端末装置１００とサーバ装置２００とは、インターネット３００を経由して、接続される。
【００１８】
図２は、端末装置１００−１〜１００−ｋとサーバ装置２００との通信の様子を示すセッション図である。
【００１９】
端末装置１００−１は、サーバ装置２００に要求４１１を送信する（１０）。サーバ装置２００は、要求４１１を受信し、要求４１１が所定の条件を満たすと判断すると、端末装置１００−１に対して応答４２１を送信する（２０）。
【００２０】
また、端末装置１００−２は、サーバ装置２００に要求４１２を送信する（３０）。サーバ装置２００は、要求４１２を受信し、要求４１２が所定の条件を満たさないと判断すると、端末装置１００−２に応答を送信せず、そのまま待機する。
【００２１】
以下、端末装置１００−１〜１００−ｋを総称して「端末装置１００」という。また、端末装置１００が送信する要求４１１〜４１ｍ（ｍは１以上の整数）を総称して「要求４１０」という。また、サーバ装置２００が端末装置１００に対して送信する応答４２１〜４２ｎ（ｎは１以上の整数）を総称して「応答４２０」という。
【００２２】
（情報処理装置の概要構成）
以下、実施形態の端末装置１００又はサーバ装置２００が実現される情報処理装置５００について説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して実施形態を説明するが、以下の実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。従って、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００２３】
図３は、プログラムを実行することにより、本発明の実施形態に係る端末装置１００又はサーバ装置２００の機能を果たす典型的な情報処理装置５００の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２４】
情報処理装置５００は、ＣＰＵ（Central Processing Unit）５０１と、ＲＯＭ（Read Only Memory）５０２と、ＲＡＭ（Random Access Memory）５０３と、インターフェース５０４と、コントローラ５０５と、外部メモリ５０６と、画像処理部５０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ５０８と、ＮＩＣ（Network Interface Card）５０９と、音声処理部５１０と、を備える。
【００２５】
ＣＰＵ  ５０１は、情報処理装置５００全体の動作を制御し、各構成要素と接続され、制御信号やデータをやりとりする。また、ＣＰＵ  ５０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  ５０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００２６】
ＲＯＭ  ５０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記憶され、これが実行されることにより、ＤＶＤ−ＲＯＭに記憶されたプログラムをＲＡＭ  ５０３に読み出してＣＰＵ  ５０１による実行が開始される。また、ＲＯＭ  ５０２には、情報処理装置５００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記憶される。
【００２７】
ＲＡＭ  ５０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  ５０１は、ＲＡＭ  ５０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  ５０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、等の処理を行う。
【００２８】
コントローラ５０５は、インターフェース５０４を介して接続される。例えば、コントローラ５０５は、複数の方向を示す方向キー及び決定操作のための決定キーを備える。例えば、コントローラ５０５には、４方向を示す各方向ボタン（上方向キー、下方向キー、右方向キー、左方向キー）や決定操作等の所定の操作に対応付けられたＡボタン、Ｂボタン、Ｘボタン、Ｙボタン等が配置されている。そして、これらのボタンがユーザに押下されると、コントローラ５０５は、押下されたボタンに応じた操作入力を受け付ける。なお、コントローラ５０５は、キーボードやキーパッドであってもよい。
【００２９】
外部メモリ５０６は、インターフェース５０４を介して着脱自在に接続される。外部メモリ５０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。プレイヤは、コントローラ５０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ５０６に記憶させることができる。
【００３０】
画像処理部５０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  ５０１や画像処理部５０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部５０７が備えるフレームメモリ（図示せず）に記憶させる。フレームメモリに記憶された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部５０７に接続されるモニタへ出力される。これにより、各種の画像表示が可能となる。
【００３１】
また、画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００３２】
また、仮想空間が３次元にて構成される場合には、当該３次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００３３】
さらに、ＣＰＵ  ５０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報に従って、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。
【００３４】
ＤＶＤ−ＲＯＭドライブ５０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記憶される。ＣＰＵ  ５０１の制御によって、ＤＶＤ−ＲＯＭドライブ５０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  ５０３等に一時的に記憶される。
【００３５】
ＮＩＣ  ５０９は、情報処理装置５００をインターネット等のコンピュータ通信網に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格に従うものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  ５０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００３６】
音声処理部５１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカやヘッドフォンから出力させる。また、ＣＰＵ  ５０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカやヘッドフォンから出力させる。
【００３７】
ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩ（Musical Instrument Digital Interface）データである場合には、音声処理部５１０は、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭ（Pulse Code Modulation）データに変換する。また、ＡＤＰＣＭ（Adaptive Differential PCM）形式やＯｇｇ  Ｖｏｒｂｉｓ形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。音声データとしては、音声の波形データをディジタル化したＰＣＭデータを圧縮してサイズを小さくしたＭＰ３（MPEG Audio Layer-3）データ等を利用することが可能である。また、ＭＩＤＩ（Music Instruction Data Interface）データのように、音高、音長、音量、音色の種類を定義するデータを用意し、これにしたがって、予め用意された音源波形データを適宜選択・変形して再生する手法を採用してもよい。
【００３８】
このほか、情報処理装置５００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  ５０２、ＲＡＭ  ５０３、外部メモリ５０６、ＤＶＤ−ＲＯＭドライブ５０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００３９】
以上で説明した情報処理装置５００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、スマートフォン、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００４０】
例えば、一般的なコンピュータは、上記情報処理装置５００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、及び、ＮＩＣを備え、情報処理装置５００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ５０５ではなく、キーボードやマウス等を入力装置として利用する。
【００４１】
以下、上記情報処理装置５００において実現される実施形態の端末装置及びサーバ装置を有するシステムの概要構成について、図１乃至１４を参照して説明する。ゲーム用のプログラム及びデータが記憶されたＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ５０８に装着して、情報処理装置５００の電源を投入することにより、当該プログラムが実行され、実施形態に係るシステムが実現される。
【００４２】
（実施形態に係るシステムの概要構成）
実施形態に係るシステム１は、図１に示すように、端末装置１００及びサーバ装置２００を有する。また、端末装置１００は、図４に示すように、パラメータ記憶部１０１と、受付部１０２と、更新部１０３と、要求送信部１０４と、応答受信部１０５と、を備える。サーバ装置２００は、図５に示すように、要求受信部２０１と、要求記憶部２０２と、蓄積部２０３と、応答送信部２０４と、を備える。
【００４３】
本実施形態において、システム１は、ゲームプログラムを実行させ、管理するためのシステムであるとする。この場合、端末装置１００は、ユーザがゲームをプレイするゲーム機である。端末装置１００は、ゲーム開始時等、所定のタイミングで、サーバ装置２００に接続し、所定の情報が指定された要求を送信する。端末装置１００は、サーバ装置２００に接続しなくてもある一定期間、通常どおりにプレイすることができる。サーバ装置２００は、ゲームプログラムが実行される端末装置１００の識別情報や、ゲームの進行状況等が記録されるサーバである。サーバ装置２００は、端末装置１００から適宜要求を受け付け、端末装置１００に応答を送信する。
【００４４】
本実施形態のシステム１が対象とするゲームは、例えば、ＲＰＧ（Role Playing Game）である。ＲＰＧゲームでは、ユーザは、ユーザに割り当てられたキャラクタ（以下、「自キャラクタ」という）を操作して、敵キャラクタと対戦したり、アイテムを取得したりすることにより、自キャラクタを育成させることができる。ゲーム画像の例を図６に示す。ゲーム画像６００には、自キャラクタ６０１と、自キャラクタ６０１が対戦する敵キャラクタ６０２とが表示される。また、ゲーム画像６００には、キャラクタ６０１の体力を示すゲージ６０３及びキャラクタ６０１のレベルを示す欄６０４が表示される。
【００４５】
なお、システム１が対象とするゲームは、上記ＲＰＧに限らず、例えば、ユーザがキャラクタやチーム等を育成する育成シミュレーションゲームや、登場するキャラクタとコミュニケーションを楽しむキャラクターゲーム等のいかなる種類のゲームであってもよい。
【００４６】
キャラクタ６０１の体力は、例えば、初期値として“１００”が設定される。そして、体力の値は、自キャラクタ６０１の行動や、敵キャラクタ６０２からの攻撃によって受けたダメージ等に伴って減少する。ゲージ６０３が示す値が“０”になると、ゲームオーバとなる。自キャラクタ６０１のレベルは、例えば、初期値として“１”が設定される。そして、レベルは、自キャラクタ６０１が敵キャラクタ６０２を倒したり、所定のタスクを達成したりすることにより上昇する。レベルが高いほど、自キャラクタ６０１に使用させることができる技や武器の種類が増えたり、攻撃力が増したりする。また、レベルに応じて自キャラクタ６０１の外観を変化させることができる。
【００４７】
以下、端末装置１００の各部の機能について説明する。
【００４８】
パラメータ記憶部１０１には、パラメータが記憶される。
【００４９】
パラメータとは、端末装置１００で実行される処理の履歴や進行状態を示す情報である。例えば、パラメータは、ユーザが操作する自キャラクタ６０１の体力の値、自キャラクタ６０１のレベル、クリアしたステージ、クリアしなければならないタイムリミットまでの残り時間、ゲームの開始・終了日時、自キャラクタ６０１の外観を表す情報等である。本実施形態では、パラメータをキャラクタ６０１の体力及びレベルの値とする。
【００５０】
パラメータ記憶部１０１には、例えば、図７に示すような、パラメータテーブル１０１ａが格納される。パラメータテーブル１０１ａには、パラメータが更新された日時（更新日時１０１ａ１）と、自キャラクタ６０１のパラメータ（体力１０１ａ２、レベル１０１ａ３）とが対応付けて登録される。更新日時１０１ａ１の最初の履歴には、ユーザがゲームを開始した日時“２０１２／３／１  １８：００：００”が記載されているとする。図７のパラメータテーブル１０１ａは、例えば、ゲームが開始されてから３０秒後に、自キャラクタ６０１の体力が“９０”、レベルが“１”と更新されたことを示す。また、図７のパラメータテーブル１０１ａは、ゲームが開始されてから２５分後に、自キャラクタ６０１の体力が“６０”、レベルが“２”と更新されたことを示す。
【００５１】
実施形態において、ＲＡＭ  ５０３がパラメータ記憶部１０１として機能する。
【００５２】
受付部１０２は、ユーザから指示入力を受け付ける。
【００５３】
指示入力とは、例えば、パラメータの変動に影響を与える入力である。例えば、受付部１０２は、ユーザから自キャラクタ６０１を操作するための入力を受け付ける。
【００５４】
実施形態において、ＣＰＵ  ５０１及びコントローラ５０５が協働して、受付部１０２として機能する。
【００５５】
更新部１０３は、受け付けた指示入力に基づいて、記憶されたパラメータを更新する。
【００５６】
例えば、ユーザが、自キャラクタ６０１に敵キャラクタ６０２へ攻撃させる指示入力を行うと、更新部１０３は、当該攻撃に要する体力の値を求め、現在の体力の値から求めた体力の値だけ減少させる。また、敵キャラクタ６０２から攻撃を受け、ユーザが、自キャラクタ６０１に敵キャラクタ６０２の攻撃に対する防御をさせる指示入力を行うと、更新部１０３は、当該攻撃に対して行った防御の成否に基づいて失う体力の値を求め、現在の体力の値から求めた体力の値だけ減少させる。さらに、更新部１０３は、自キャラクタ６０１による攻撃や防御等の行動に基づいて、自キャラクタ６０１のレベルを更新する。なお、自キャラクタ６０１が攻撃等を受け、ユーザがそれに対して自キャラクタ６０１に対する操作をしなかった場合は、“何もさせない”という指示入力が行われたとして、更新部１０３は、自キャラクタ６０１のパラメータを更新する。
【００５７】
実施形態において、ＣＰＵ  ５０１が更新部１０３として機能する。
【００５８】
要求送信部１０４は、適切なタイミングで、サーバ装置２００に、パラメータが指定された要求４１０を送信する。
【００５９】
適切なタイミングとは、例えば、所定の周期で生じるタイミングである。本実施形態において、所定の周期は、ゲームが開始されてから３０分間隔であるとする。要求送信部１０４は、ゲームが開始されてから３０分毎に、自キャラクタ６０１のパラメータ（体力及びレベル）が指定された要求４１０をサーバ装置２００に送信する。例えば、ゲーム開始から３０分経過後に、要求送信部１０４は、図７のパラメータテーブル１０１ａを参照して現在のパラメータを求める。現在のパラメータは、体力が“６０”及びレベルが“２”であるので、要求送信部１０４は、体力“６０”及びレベル“２”が指定された要求４１０をサーバ装置２００に送信する。
【００６０】
あるいは、適切なタイミングとは、例えば、受付部１０２がパラメータを好転させる指示入力を受け付けると生じるタイミングである。パラメータを好転させる指示入力とは、例えば、ユーザがキャラクタ６０１の体力を回復させる操作や、体力を回復させるアイテムを取得する操作、レベルを上げる操作である。
【００６１】
なお、本実施形態において、適切なタイミングには、ゲーム開始時を含むものとする。すなわち、要求送信部１０４は、まず、ゲーム開始時にゲームの初期値である体力“１００”及びレベル“１”が指定された要求４１０をサーバ装置２００に送信する。
【００６２】
実施形態において、ＣＰＵ  ５０１及びＮＩＣ  ５０９が協働して、要求送信部１０４として機能する。
【００６３】
応答受信部１０５は、サーバ装置２００から、要求４１０に対する応答４２０を受信する。
【００６４】
例えば、ゲーム開始から３０分後に、要求送信部１０４が体力“６０”及びレベル“２”が指定された要求４１０をサーバ装置２００に送信したとする。サーバ装置２００が要求４１０を受信し、要求４１０の応答として応答４２０を送信すると、応答受信部１０５は、応答４２０を受信する。
【００６５】
実施形態において、ＣＰＵ  ５０１及びＮＩＣ  ５０９が協働して、応答受信部１０５として機能する。
【００６６】
次に、サーバ装置２００の各部の機能について説明する。
【００６７】
要求受信部２０１は、要求４１０を受信する。
【００６８】
例えば、ゲーム開始時に端末装置１００から体力“１００”及びレベル“１”が指定された要求４１０が送信されると、要求受信部２０１は、要求４１０を受信する。あるいは、ゲーム開始から３０分後に端末装置１００から体力“６０”及びレベル“２”が指定された要求４１０が送信されると、要求受信部２０１は、要求４１０を受信する。
【００６９】
実施形態において、ＣＰＵ  ５０１及びＮＩＣ  ５０９が協働して、要求受信部２０１として機能する。
【００７０】
要求記憶部２０２には、要求４１０で指定されたパラメータと、要求４１０を受け付けた時刻とが蓄積して記憶される。
【００７１】
要求記憶部２０２には、例えば、図８に示すような、要求記憶テーブル２０２ａが格納される。要求記憶テーブル２０２ａは、要求４１０を送信した端末装置の識別子（端末装置ＩＤ  ２０２ａ１）と、要求受信部２０１が要求４１０を受信した時刻（受信時刻２０２ａ２）と、要求４１０で指定されたパラメータ（体力２０２ａ３、レベル２０２ａ４）と、が対応付けて登録される。
【００７２】
例えば、図８の要求記憶テーブル２０２ａは、“２０１２／３／１  １８：００：０１”に要求４１０を受信し、要求４１０では、体力“１００”と、レベル“１”とが指定されていたことを示す。
【００７３】
実施形態において、ＲＡＭ  ５０３が要求記憶部２０２として機能する。
【００７４】
蓄積部２０３は、要求４１０で指定されたパラメータと、要求記憶部２０２に直近に記憶されたパラメータとが所定の範囲にある場合、要求記憶部２０２に、要求４１０で指定されたパラメータと、要求４１０を受け付けた時刻とを蓄積する。
【００７５】
上記所定の範囲とは、例えば、要求４１０で指定されたパラメータに不正な改変が加えられたとみなされない程度のパラメータの変動範囲である。例えば、所定の範囲は、ゲームプレイの経過時間から推定される体力やレベルの変動（上昇）範囲である。あるいは、パラメータにクリアしたステージの情報を含ませ、要求４１０で指定されたステージと直近に記憶されたステージとの差から、体力やレベルの変動範囲を推定してもよい。本実施形態では、所定の範囲はレベルについて判断するものとし、３０分毎のレベルの変動範囲は“＋１”とする。
【００７６】
例えば、端末装置１００−１（端末装置ＩＤ“１００−１”）から、体力“６０”及びレベル“２”が指定された要求４１０を受信したとする。蓄積部２０３は、まず、図８の要求記憶テーブル２０２ａを参照し、端末装置１００−１について直近（２０１２／３／１  １８：００：０１）に記憶されたパラメータとして、体力“１００”及びレベル“１”を求める。次に、蓄積部２０３は、要求４１０で指定されたレベル“２”と直近に記憶されたレベル“１”とを比較する。これら両者の差は１であって所定の範囲（“＋１”）内にあるので、パラメータに不正な改変は加えられていないとみなし、蓄積部２０３は、図９に示すように、要求記憶テーブル２０２ａに、要求４１０の受信時刻（２０１２／３／１  １８：３０：０１）と要求４１０で指定されたパラメータ（体力“６０”及びレベル“２”）とを対応づけて登録する。
【００７７】
一方、端末装置１００において、図１０のパラメータテーブル１０１ａのレベル１０１ａ３が不正に書き換えられ、例えば、レベルが“３”と更新されたとする。要求送信部１０４は、ゲーム開始から３０分経過すると（２０１２／３／１  １８：３０：００）、現在の体力“６０”及びレベル“３”とが指定された要求４１０をサーバ装置２００に送信する。要求受信部２０１は、要求４１０を受信し、蓄積部２０３は、要求４１０で指定されたレベル“３”と、直近に記憶されたレベル“１”とを比較する。この場合、要求４１０で指定されたレベル“３”と直近に記憶されたレベル“１”との差は２であって所定の範囲（“＋１”）を超えているので、パラメータに不正な改変が加えられたとみなし、蓄積部２０３は、要求記憶テーブル２０２ａに、要求を受信した時刻とパラメータとを登録しない。
【００７８】
実施形態において、ＣＰＵ  ５０１が蓄積部２０３として機能する。
【００７９】
応答送信部２０４は、要求４１０で指定されたパラメータと、要求記憶部２０２に直近に記憶されたパラメータとが所定の範囲にある場合、端末装置１００に、要求４１０に対する応答４２０を送信する。
【００８０】
例えば、端末装置１００−１から送信された要求４１０で指定されたレベル“２”と、要求記憶部２０２に直近に記憶されたレベル“１”との差は１であって所定の範囲（“＋１”）にあるので、パラメータに不正な改変は加えられなかったとみなし、応答送信部２０４は、端末装置１００−１に要求４１０に対する応答４２０を送信する。一方、端末装置１００−１から送信された要求４１０で指定されたレベル“３”と、要求記憶部２０２に直近に記憶されたレベル“１”との差は２であって所定の範囲（“＋１”）にないので、パラメータに不正な改変が加えられたとみなし、応答送信部２０４は、応答４２０を端末装置１００−１に送信しない。
【００８１】
そして、応答受信部１０５が、要求４１０が送信されてから所定の時間内に応答４２０を受信しない場合、更新部１０３は、記憶されたパラメータを、当該パラメータにペナルティを課したパラメータで更新する。
【００８２】
ペナルティを課したパラメータとは、ユーザにとって好ましくないパラメータの値である。例えば、要求送信部１０４が、所定の周期で体力やレベルが指定された要求４１０を送信する場合、ペナルティを課したパラメータとは、要求４１０で指定されたパラメータの値より低い値である。ペナルティを課したパラメータは、例えば、所定の範囲から逸脱している程度に基づいて定めるようにしてもよい。また、例えば、要求送信部１０４が、パラメータを好転させる指示入力が行われたタイミングで要求４１０を送信する場合、体力を回復させない、すなわち、パラメータを更新しないことによりペナルティを課すようにしてもよい。
【００８３】
上記所定の時間とは、例えば、要求送信部１０４が要求４１０を送信してから３０秒とする。例えば、ゲーム開始３０分後に体力“６０”、レベル“３”が指定された要求４１０が送信されると、上記のように応答送信部２０４により応答４２０は送信されないので、応答受信部１０５は、要求４１０を送信した時（２０１２／３／１  １８：３０：００）から所定の時間（“３０秒”）内に応答４２０を受信することはない。この場合、要求４１０を送信してから３０秒経過（２０１２／３／１  １８：３０：３０）すると、更新部１０３は、図１０のパラメータテーブル１０１ａに登録された体力又はレベルを減少させる。例えば、更新部１０３は、図１１に示すように、レベル“３”からレベルを“１”に減少して更新する。
【００８４】
なお、更新部１０３がペナルティを課したパラメータで更新した後、要求送信部１０４は、ペナルティを課したパラメータが指定された要求４１０をサーバ装置２００に送信するようにしてもよい。そして、サーバ装置２００の要求受信部２０１が要求４１０を受信すると、蓄積部２０３は、要求記憶部２０２に、当該要求４１０で指定されたパラメータと、要求４１０を受け付けた時刻とを蓄積するようにしてもよい。
【００８５】
例えば、端末装置１００−１の更新部１０３がペナルティを課したパラメータで更新した後、要求送信部１０４が、体力“６０”及びレベル“１”が指定された要求４１０をサーバ装置２００に送信したとする。この場合、サーバ装置２００の蓄積部２０３は、図１２に示すように、要求記憶テーブル２０２ａに、要求４１０を受信した時刻（２０１２／３／１  １８：３０：３１）と要求４１０で指定されたパラメータ（体力“６０”及びレベル“１”）とを対応づけて登録する。次に要求４１０が送信された場合は、蓄積部２０３及び応答送信部２０４は、ペナルティを課したパラメータと比較して所定の範囲か否かを判断する。
【００８６】
（実施形態に係るシステムの動作）
以下、実施形態に係るシステム１が行う動作について説明する。端末装置１００及びサーバ装置２００に電源が投入されると、端末装置１００及びサーバ装置２００の間で、図２に示す通信が開始される。具体的には、端末装置１００は、図１３のフローチャートに示す処理を行い、サーバ装置２００は、図１４のフローチャートに示す処理を行う。以下、各処理について説明する。
【００８７】
（実施形態に係る端末装置の動作）
端末装置１００が実現される情報処理装置５００に電源が投入されると、ＣＰＵ  ５０１は、図１３に示す処理を開始する。
【００８８】
受付部１０２は、ユーザから指示入力を受け付けたか否かを判断する（ステップＳ１０１）。受付部１０２がユーザからの指示入力を受け付けたと判断すると（ステップＳ１０１；Ｙｅｓ）、更新部１０３は、指示入力に基づいて、パラメータ記憶部１０１に記憶されるパラメータを更新する（ステップＳ１０２）。一方、受付部１０２がユーザからの指示入力を受け付けなかったと判断すると（ステップＳ１０１；Ｎｏ）、ステップＳ１０３に進む。
【００８９】
例えば、受付部１０２は、ユーザから自キャラクタ６０１に敵キャラクタ６０２へ攻撃させる指示入力を受け付けると、更新部１０３は、当該攻撃に要する体力の値を求め、現在の体力の値から求めた体力の値だけ減少させる。一方、受付部１０２が、ユーザから指示入力を受け付けなかったと判断すると、ステップＳ１０３に進む。
【００９０】
要求送信部１０４は、現在が適切なタイミングであるか否かを判断する（ステップＳ１０３）。要求送信部１０４が、現在が適切なタイミングであると判断すると（ステップＳ１０３；Ｙｅｓ）、要求送信部１０４は、パラメータが指定された要求４１０をサーバ装置２００に送信する（ステップＳ１０４）。一方、要求送信部１０４が、現在が適切なタイミングでないと判断すると（ステップＳ１０３；Ｎｏ）。ステップＳ１０１に戻る。
【００９１】
例えば、適切なタイミングとは、ゲーム開始から３０分の周期のタイミングであるとする。要求送信部１０４は、現在がゲーム開始から３０分の倍数の時間に該当すると判断すると、現在の体力の値及びレベルが指定された要求４１０をサーバ装置２００に送信する。一方、要求送信部１０４は、現在がゲーム開始から３０分の倍数の時間に該当しないと判断すると、ステップＳ１０１に戻る。
【００９２】
次に、応答受信部１０５は、所定の時間内に要求４１０に対する応答４２０を受信したか否かを判断する（ステップＳ１０５）。応答受信部１０５が、所定の時間内に応答４２０を受信したと判断すると（ステップＳ１０５；Ｙｅｓ）、ステップＳ１０１に戻る。一方、応答受信部１０５が所定の時間内に応答４２０を受信しなかったと判断すると（ステップＳ１０５；Ｎｏ）、更新部１０３は、ペナルティを課したパラメータで、パラメータ記憶部１０１に記憶されたパラメータを更新する（ステップＳ１０６）。
【００９３】
例えば、要求４１０（パラメータが体力“６０”及びレベル“２”）が送信されてから所定の時間（３０秒）以内に、応答受信部１０５が応答４２０を受信した場合、ステップＳ１０１に戻る。一方、要求４１０（パラメータが体力“６０”及びレベル“３”）が送信されてから３０秒以内に、応答受信部１０５が応答４２０を受信しなかった場合、更新部１０３は、パラメータテーブル１０１ａに登録された現在のレベル“３”をレベル“１”に更新する。
【００９４】
（実施形態に係るサーバ装置の動作）
サーバ装置２００が実現される情報処理装置５００に電源が投入されると、ＣＰＵ  ５０１は、図１４に示す処理を開始する。
【００９５】
要求受信部２０１は、端末装置１００から要求４１０を受信したか否かを判断する（ステップＳ２０１）。要求受信部２０１は、要求４１０を受信したと判断すると（ステップＳ２０１；Ｙｅｓ）、蓄積部２０３は要求４１０に指定されるパラメータと要求記憶部２０２に直近に記憶されたパラメータとが所定の範囲であるか否かを判断する（ステップＳ２０２）。一方、要求受信部２０１は、要求４１０を受信しないと判断すると（ステップＳ２０１；Ｎｏ）、そのまま待機する。
【００９６】
例えば、要求受信部２０１が端末装置１００−１から体力“６０”及びレベル“２”が指定された要求４１０を受信すると、蓄積部２０３は、レベル“２”と直近に記憶されたレベル“１”とが所定の範囲であるか否かを判断する。一方、要求受信部２０１が、端末装置１００から要求４１０を受信しない場合は、そのまま待機する。
【００９７】
ステップＳ２０２において、蓄積部２０３が、パラメータが所定の範囲であると判断すると（ステップＳ２０２；Ｙｅｓ）、蓄積部２０３は、要求４１０に指定されるパラメータを要求記憶部２０２に蓄積する（ステップＳ２０３）。そして、応答送信部２０４が応答４２０を送信する（ステップＳ２０４）。一方、蓄積部２０３が、パラメータが所定の範囲でないと判断すると（ステップＳ２０２；Ｎｏ）、ステップＳ２０１に戻る。
【００９８】
例えば、蓄積部２０３が、要求４１０で指定されたレベル“２”と直近に記憶されたレベル“１”とが所定の範囲（“＋１”）内であると判断すると、蓄積部２０３は、図９に示すように、要求記憶テーブル２０２ａに要求４１０で指定されたパラメータ（体力“６０”及びレベル“２”）と、要求４１０を受信した時刻（２０１２／３／１  １８：３０：０１）とを対応付けて登録する。そして、応答送信部２０４は、要求４１０を送信した端末装置１００−１に応答４２０を送信する。一方、要求４１０で指定されたレベルが“３”であった場合、蓄積部２０３は、要求４１０で指定されたレベルと直近に記憶されたレベルとが所定の範囲でないと判断し、ステップＳ２０１に戻る。
【００９９】
なお、サーバ装置２００が行う処理について図１４に示すフローチャートに限らない。例えば、ステップＳ２０２において、パラメータが所定の範囲であるか否かを判断するのは、蓄積部２０３ではなく、応答送信部２０４であってもよい。また、ステップＳ２０３とステップＳ２０４との順序は逆であってもよい。
【０１００】
本実施形態において、パラメータが所定の範囲にない場合はパラメータが不正に改変されたとみなし、サーバ装置２００は応答を送信しない。そして、端末装置１００はサーバ装置２００から応答を受信しないと、端末装置１００において自動的にパラメータにペナルティが課されてしまう。この様な構成により、サーバ装置２００に常時接続しなくてもゲームを進行することができるような端末装置１００において、サーバ装置への接続を促しつつ、データの不正な改変を防ぐことができる。
【０１０１】
なお、要求送信部１０４が、要求４１０をサーバ装置２００に送信しなかった場合も、サーバ装置２００から応答４２０は送信されないようにしてもよい。すなわち、端末装置１００から適当なタイミングで要求４１０が送信されない場合は、適切にサーバ装置２００に接続していないとみなし、端末装置１００の更新部１０３は、ペナルティを課したパラメータで更新する。
【０１０２】
例えば、端末装置１００において、サーバ装置２００に接続せずに長時間ゲームを実行させると、ある時点から、レベルが上昇しなくなったり、体力が回復しなかったり、或いは、体力を回復するアイテムを入手することができなくなったりする。このように構成することにより、ユーザに、サーバ装置２００に接続させることを促すことができる。
【０１０３】
また、本実施形態のシステムは、周期的に要求４１０を送信させることにより、ユーザがパラメータを改変する機会が少なくなるようにすることができる。
【０１０４】
また、本実施形態のシステムは、パラメータを好転させる指示入力が行われたタイミングでパラメータが指定された要求４１０を送信させることにより、ユーザにとって有利に改変しようとするタイミングでパラメータを検査することができるので、効果的に不正行為の防止を行うことができる。
【０１０５】
上記実施形態において、本発明はゲームプログラムを実行・管理するためのシステムに適用する例を説明したが、本発明の適用範囲はこれに限られず、パラメータが端末装置側で変更できるものであれば適用可能である。例えば、種々のウェブサービスにおいて適用可能である。例えば、内容の更新により電子通貨やポイントが貯まるブログサービスのシステムにおいて、内容の更新に係るパラメータが端末装置で改変される恐れがある場合などに有効である。
【産業上の利用可能性】
【０１０６】
本発明によれば、データの改変等の不正行為を防止するのに好適なシステム、端末装置、制御方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０１０７】
１  システム
１００  端末装置
１０１  パラメータ記憶部
１０２  受付部
１０３  更新部
１０４  要求送信部
１０５  応答受信部
２００  サーバ装置
２０１  要求受信部
２０２  要求記憶部
２０３  蓄積部
２０４  応答送信部
３００  インターネット
４１０、４１１、４１２  要求
４２０、４２１  応答
５００  情報処理装置
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３  ＲＡＭ
５０４  インターフェース
５０５  コントローラ
５０６  外部メモリ
５０７  画像処理部
５０８  ＤＶＤ−ＲＯＭドライブ
５０９  ＮＩＣ
５１０  音声処理部
６００  ゲーム画像
６０１  キャラクタ
６０２  敵キャラクタ
６０３  ゲージ
６０４  欄
【図１】
0005624075.tif 000002
【図２】
0005624075.tif 000003
【図３】
0005624075.tif 000004
【図４】
0005624075.tif 000005
【図５】
0005624075.tif 000006
【図６】
0005624075.tif 000007
【図７】
0005624075.tif 000008
【図８】
0005624075.tif 000009
【図９】
0005624075.tif 000010
【図１０】
0005624075.tif 000011
【図１１】
0005624075.tif 000012
【図１２】
0005624075.tif 000013
【図１３】
0005624075.tif 000014
【図１４】
0005624075.tif 000015