説明

ゲーム端末、ゲームシステム、ゲーム端末の制御方法、ならびに、プログラム

【課題】ゲーム状態を通信することによりゲームを進行させるゲームシステムにおいて、通信の解析を困難化するのに好適なゲーム端末等を提供する。
【解決手段】ゲーム端末200a,200bのそれぞれにおいて、記憶部201にはゲーム状態が記憶され、真正生成部202は真正メッセージを生成し、ダミー生成部203はダミーメッセージを生成する。送信部204は生成された真正メッセージとダミーメッセージを他のゲーム端末に送信し、受付部205はプレイヤーからの指示を受け付け、受信部206は他のゲーム端末から送信されたメッセージを受信する。更新部207は受信されたメッセージのうち真正メッセージに指定される他のゲーム端末のゲーム状態と受け付けられた指示とから、記憶部201に記憶されているゲーム状態を更新する。さらにダミー生成部203は他のゲーム端末との通信品質に応じてダミーメッセージを生成する頻度を変化させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム状態を通信することによりゲームを進行させるゲームシステムにおいて、通信の解析を困難化するのに好適なゲーム端末、ゲームシステム、ゲーム端末の制御方法、ならびに、プログラムに関する。
【背景技術】
【0002】
近年、インターネット等のネットワークを利用したネットワークゲーム(オンラインゲーム)が、普及してきている。オンラインゲームは、複数のプレイヤー端末をネットワークにて接続することにより、各プレイヤーが協力したり、または対戦したりして遊ぶタイプのゲームである。
【0003】
オンラインゲームでは、一部の悪意のあるプレイヤーによって行われる不正行為が問題となっている。このような不正行為は、チート行為とも呼ばれ、主としてメモリエリアに細工するなどの手法で、ゲームに使用されるデータを制作者の意図しないものに改変する行為である。例えば、キャラクターの能力を限度を超えて向上させたり、入手不可能なアイテムを使用できるようにしたりする行為がこれに当たり、チート行為を行うプレイヤーは、対戦ゲームを有利に進める等の目的で、自己に有利な状態にデータを改変してしまう。
【0004】
このようなチート行為は、単にゲームバランスを壊すだけでなく、とくにオンラインゲームでは、対戦相手を不利な状況に陥れるなど、多数のプレイヤーを巻き込むことになるため、悪影響を及ぼす度合が大きい。そのため、オンラインゲームにおけるチート行為を防止する技術が、様々に開発されている。例えば特許文献1には、ルータ装置を使用するオンラインゲームにおいて、ルータ装置の設定を変更することで通信対戦の結果を無効にしようとする等のチート行為を検出する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009−189622号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、チート行為を実行しようとするプレイヤーは、制作者側の防止手段をかいくぐるため、オンラインゲームで使用される様々なデータを利用することで、チート行為を達成しうる。例えば、複数のゲーム端末の間でやりとりされる通信データを解析することで、不正なデータを作成する手法もある。そのため、このような通信データの解析を困難にし、不正なデータが作成されるのを防止する技術が求められていた。
【0007】
本発明は、上記のような課題を解決するもので、ゲーム状態を通信することによりゲームを進行させるゲームシステムにおいて、通信の解析を困難化するのに好適なゲーム端末、ゲームシステム、ゲーム端末の制御方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の第1の観点に係るゲーム端末は、ゲーム端末が互いのゲーム状態を通信することによりゲームを進行させるゲームシステムにおけるゲーム端末であって、記憶部と、真正生成部と、ダミー生成部と、送信部と、受付部と、受信部と、更新部とを備える。
【0009】
本発明のゲームシステムが提供するゲームとして、例えば、2人のプレイヤーが対戦する対戦型ゲームが典型的である。このようなゲームシステムは、2つのゲーム端末を備え、一方のゲーム端末とその相手方ゲーム端末のそれぞれにおける現在のゲーム状態、すなわちそれぞれのプレイヤーが入力した操作指示を含めたゲームを構成する種々のパラメータを、ネットワークを介して通信してゲーム状態を共有しながら、ゲームを進行させる。
【0010】
また、本発明は、ゲーム端末を2つのみ備えるものに限らず、例えば多人数のプレイヤーが協力・対戦しながらゲームを進めるオンラインゲームのような、3つ以上のゲーム端末を用いて進行するゲームにおいても適用することができる。すなわち、本発明は、3つ以上のゲーム端末のうち、そのうち1つのゲーム端末と、他のゲーム端末と、の間でゲーム状態を通信することによりゲームを進行させるゲームシステムにおいて適用可能である。例えば、3つのゲーム端末として、ゲーム端末A、ゲーム端末B、ゲーム端末Cが備えられ、そのうちゲーム端末Aとゲーム端末B、ゲーム端末Bとゲーム端末C、ゲーム端末Cとゲーム端末A、のそれぞれにおいて互いのゲーム状態を通信することにより進行するゲームの場合には、これらゲーム端末Aとゲーム端末B、ゲーム端末Bとゲーム端末C、ゲーム端末Cとゲーム端末A、のそれぞれにおいて、本発明が実現されることになる。
【0011】
記憶部には、当該ゲーム端末のゲーム状態が記憶される。すなわち、記憶部は、ゲーム端末に設置されたメモリ領域であって、ゲームを構成する種々のパラメータが記憶される。
【0012】
真正生成部は、記憶部に記憶されているゲーム状態を指定するメッセージ(以下「真正メッセージ」という。)を生成する。ここで、メッセージとは、インターネット等のネットワークを介して接続された他のゲーム端末と通信する際の、通信データの伝送単位(パケット等)に相当する。このようなメッセージのうち、真正生成部は、記憶部に記憶されているゲーム状態を含んだメッセージ(真正メッセージ)を生成する。
【0013】
ダミー生成部は、生成された真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「ダミーメッセージ」という。)を生成する。ここで、ダミーメッセージとは、上記真正メッセージがゲーム状態を指定するものであったのに対し、そうではないメッセージを意味する。ダミー生成部は、受信したゲーム端末が真正メッセージと弁別するための弁別情報を付して、このようなダミーメッセージを生成する。
【0014】
送信部は、生成された真正メッセージと、生成されたダミーメッセージを、他のゲーム端末に送信する。すなわち、送信部は、インターネット等のネットワークを介して接続された他のゲーム端末に、生成されたメッセージを送信する。その際、真正メッセージを送信することで自己のゲーム端末のゲーム状態の情報を知らせるとともに、ダミーメッセージも送信することで、第三者にはどのメッセージに正しいゲーム状態が含まれているのかを認識できないようにする。
【0015】
受付部は、プレイヤーからの指示を受け付ける。すなわち、受付部は、ゲーム端末に接続されたコントローラやキーボード等によって、プレイヤーがゲームをプレイするための種々の操作指示を受け付ける。
【0016】
受信部は、他のゲーム端末から送信されたメッセージを受信する。すなわち、受信部は、他のゲーム端末が生成して送信した真正メッセージとダミーメッセージとを、受信する。
【0017】
更新部は、受信されたメッセージのうち真正メッセージに指定される他のゲーム端末のゲーム状態と、受け付けられた指示と、から、記憶部に記憶されているゲーム状態を更新する。すなわち、更新部は、プレイヤーからの操作指示を自己のゲーム状態に反映させるとともに、他のゲーム端末とゲーム状態を共有するため、受信した真正メッセージに含まれる他のゲーム端末のゲーム状態を、自己のゲーム状態に反映させる。
【0018】
さらに、ダミー生成部は、他のゲーム端末との通信品質に応じて、ダミーメッセージを生成する頻度を変化させる。すなわち、ダミー生成部は、他のゲーム端末との通信の際の、通信の速度や遅延、データの損失率や不連続性といった通信品質に応じて、ダミーメッセージを生成する頻度を増減させる。
【0019】
このような構成により、本発明のゲーム端末は、他のゲーム端末との間で互いのゲーム状態を通信する際のメッセージに、ダミーのメッセージを混在させる。その結果、真正メッセージとダミーメッセージとの区別ができない第三者は、どのメッセージに正しいゲーム状態が含まれるのかを認識できないため、通信中のメッセージを解析して他のゲーム端末に到達する前にゲーム状態を不正に書き換え、自己に有利となるようにゲームを進行させるようにする等のチート行為に利用することが困難になる。このときさらに、通信品質に応じてダミーメッセージを混在させる割合を変化させることにより、本発明のゲーム端末は、通信品質を大きく劣化させることなく、第三者による通信解析を困難にすることができる。
【0020】
また、本発明のゲーム端末において、
真正メッセージには、当該真正メッセージが生成された順序番号を表す順序情報が付され、
他のゲーム端末との通信品質は、受信されたメッセージのうち真正メッセージに付された順序情報により表される順序番号が連続している度合により測定される
ことも可能である。
【0021】
ここで「真正メッセージが生成された順序番号を表す順序情報」とは、真正メッセージが生成された時間的な順序を判別し、番号に対応付けて管理することのできる情報である。例えば、「1」,「2」,「3」…というような数値を用いて、数値の小さいものほど順序が先となるようにするものが典型的である。一方で、「A」,「B」,「C」…というようにアルファベットを用いて、「A」が1番目、「B」が2番目、「C」が3番目…というようにアルファベット順に順序番号を対応付けるものであってもよいし、他にも順序を番号に対応付けて管理できるものであれば、どのようなものであってもよい。
【0022】
例えば、真正生成部は、真正メッセージを1個ずつ生成する際に、「1」,「2」,「3」…というように、生成された順序を表す連続した番号を個々の真正メッセージに付する。このような順序番号が付されたメッセージが、2つのゲーム端末の間で通信される。そして、通信品質は、他のゲーム端末が付した番号の順序で真正メッセージを受信したかに基いて取得される。例えば、伝送中にデータが損失したり、伝送遅延によって受信順序が入れ替わっていたりした場合は、通信品質が低下したと判断される。
【0023】
このような構成により、本発明のゲーム端末は、受信した真正メッセージの順序番号が連続している度合により通信品質が低下しているか否かを測定し、ダミー生成部は、測定結果に応じてダミーメッセージを生成する頻度を変化させる。その結果、通信品質が低下している場合には、ダミーメッセージの生成頻度を減少させて送信するメッセージ数を抑制することで、通信品質がさらに低下することを防止することができる。
【0024】
また、本発明のゲーム端末において、
ダミー生成部は、受信されたメッセージのうち最後の真正メッセージに付された順序情報により表される順序番号と、送信されたメッセージのうち最後の真正メッセージに付された順序情報により表される順序番号と、の差の変化が小さくなるように、ダミーメッセージを生成する頻度を変化させる
ことも可能である。
【0025】
受信メッセージの順序番号と送信メッセージの順序番号との差の変化が小さい、ということは、単位時間当たりに受信するメッセージと送信するメッセージの数がほぼ等しい、ということに相当する。すなわちここでは、送受信する真正メッセージの数がほぼ等しくなるようにすることで、バランスのとれた通信を保ちながらゲームを進行させることができるようにする。
【0026】
具体的には、通信品質が悪化することにより単位時間当たりに受信した真正メッセージの数が減少すると、当該差の変化が増加する。このとき、ダミー生成部は、ダミーメッセージを生成する頻度を下げる。これにより、単位時間当たりに送信するメッセージの数が減少し、通信品質が改善されることが期待される。通信品質が改善されると、単位時間当たりに受信する真正メッセージの数の減少が抑制され、当該差の変化は小さくなる。このように、ダミー生成部は、受信メッセージの順序番号と送信メッセージの順序番号との差の変化が小さくなるように、ダミーメッセージを生成する頻度を調整する。
【0027】
また、本発明のゲーム端末において、
ダミー生成部は、受信されたメッセージのうち最後の真正メッセージに付された順序情報により表される順序番号と、送信されたメッセージのうち最後の真正メッセージに付された順序情報により表される順序番号と、の差、ならびに、当該差の変化に、所定の評価関数を適用した評価値が小さくなるように、ダミーメッセージを生成する頻度を変化させる
ことも可能である。
【0028】
ここでは、ダミー生成部は、受信メッセージの順序番号と送信メッセージの順序番号との差の変化の量だけに基いてダミーメッセージの生成頻度を調整するのではなく、所定の評価関数に基いてダミーメッセージの生成頻度を調整する。すなわち、当該差と当該差の変化との2つを入力値とし、評価値を返す所定の評価関数があらかじめ用意される。そして、ダミー生成部が、当該評価値に基いて、ダミーメッセージを生成する頻度を上げるのか下げるのかを判断する。
【0029】
このように本発明のゲーム端末は、順序番号の差の変化だけでなく、受信メッセージの順序番号と送信メッセージの順序番号との差にも基づいて、所定の評価関数を用いて、ダミーメッセージを生成する頻度を変化させる。これにより、本発明のゲーム端末は、ダミーメッセージの生成頻度をより柔軟に調整し、通信のバランスを保ちながらゲームを進行させることができる。とくに、受信メッセージの順序番号と送信メッセージの順序番号との差は、受信メッセージの総数と送信メッセージの総数の差に相当するものであるため、順序番号の差の変化だけに基づいて調整する場合に比べ、本発明のゲーム端末は、送受信するメッセージの総数にも着目して、通信のバランスを保つことができる。
【0030】
また、本発明のゲーム端末において、
記憶部には、ゲーム状態の履歴が記憶され、
ダミーメッセージには、記憶された履歴に含まれるゲーム状態のいずれかが指定される
ことも可能である。
【0031】
すなわち、記憶部には、現在のゲーム状態だけでなく、過去のゲーム状態も履歴として蓄積されて記憶される。そして、ダミー生成部は、真正生成部が現在のゲーム状態を含む真正メッセージを生成したように、履歴のうちのいずれかのゲーム状態に基いて、ダミーメッセージを生成する。
【0032】
このような構成により、本発明のゲーム端末は、ダミー生成部がダミーメッセージをまったく独自に生成するのではなく、記憶部に蓄積された過去のゲーム状態に基いて生成する。その結果、ダミーメッセージを生成する手間をかけずに、真正メッセージを模したダミーメッセージを生成することができる。
【0033】
また、本発明のゲーム端末において、
ゲーム状態には、チェックサム情報が含まれ、生成される真正メッセージにはゲーム状態の正しいチェックサム情報が指定され、生成されるダミーメッセージにはゲーム状態の誤ったチェックサム情報が指定される
ことも可能である。
【0034】
ここで、チェックサムとは、メッセージ内のデータを数値とみなしてその和をとったものであり、ゲーム端末は、メッセージに付されたチェックサム情報を用いて、受信したメッセージが真正メッセージか否かを区別する。
【0035】
すなわち、真正生成部は、指定するゲーム状態についてチェックサムを取得し、取得されたチェックサム情報を付して真正メッセージを生成し、ダミー生成部は、指定するゲーム状態について取得されるチェックサムとは異なるものを、チェックサム情報として付してダミーメッセージを生成する。このようなメッセージを受信したゲーム端末は、メッセージが指定するゲーム状態について改めてチェックサムを取得し、取得されたチェックサムがメッセージに付されたチェックサム情報と一致した場合に、受信したメッセージが真正メッセージであると判断する。
【0036】
上記目的を達成するため、本発明の第2の観点に係るゲームシステムは、ゲーム端末とサーバ装置が互いのゲーム状態を通信することによりゲームを進行させるゲームシステムである。すなわち、当該ゲームシステムは、プレイヤーが操作するゲーム端末(クライアント装置)をサーバ装置に接続し、当該ゲーム端末と当該サーバ装置との間でゲーム状態を通信しながら、ゲームを進行させる。具体的に、当該ゲームシステムにおけるゲーム端末とサーバ装置は、以下のような構成をとる。
【0037】
(a)当該ゲーム端末は、端末側記憶部、端末側真正生成部、端末側ダミー生成部、端末側送信部、受付部、端末側受信部、端末側更新部を備える。
端末側記憶部には、当該ゲーム端末のゲーム状態(以下「端末側ゲーム状態」という。)が記憶される。
端末側真正生成部は、端末側記憶部に記憶されている端末側ゲーム状態を指定するメッセージ(以下「端末側真正メッセージ」という。)を生成する。
端末側ダミー生成部は、生成された端末側真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「端末側ダミーメッセージ」という。)を生成する。
端末側送信部は、生成された端末側真正メッセージと、生成された端末側ダミーメッセージを、サーバ装置に送信する。
受付部は、プレイヤーからの指示を受け付ける。
端末側受信部は、サーバ装置から送信されたメッセージを受信する。
さらに、端末側ダミー生成部は、サーバ装置との通信品質に応じて、端末側ダミーメッセージを生成する頻度を変化させる。
【0038】
(b)当該サーバ装置は、サーバ側記憶部、サーバ側真正生成部、サーバ側ダミー生成部、サーバ側送信部、サーバ側受信部、サーバ側更新部を備える。
サーバ側記憶部には、当該サーバ装置のゲーム状態(以下「サーバ側ゲーム状態」という。)が記憶される。
サーバ側真正生成部は、サーバ側記憶部に記憶されているサーバ側ゲーム状態を指定するメッセージ(以下「サーバ側真正メッセージ」という。)を生成する。
サーバ側ダミー生成部は、生成されたサーバ側真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「サーバ側ダミーメッセージ」という。)を生成する。
サーバ側送信部は、生成されたサーバ側真正メッセージと、生成されたサーバ側ダミーメッセージを、ゲーム端末に送信する。
サーバ側受信部は、ゲーム端末から送信されたメッセージを受信する。
さらに、サーバ側ダミー生成部は、ゲーム端末との通信品質に応じて、サーバ側ダミーメッセージを生成する頻度を変化させる。
【0039】
(c)当該ゲーム端末の端末側更新部は、受信されたメッセージのうちサーバ側真正メッセージに指定されるサーバ側ゲーム状態と、受け付けられた指示と、から、端末側記憶部に記憶されている端末側ゲーム状態を更新する。
(d)当該サーバ装置のサーバ側更新部は、受信されたメッセージのうち端末側真正メッセージに指定される端末側ゲーム状態から、サーバ側記憶部に記憶されているサーバ側ゲーム状態を更新する。
【0040】
このような構成により、当該第2の観点に係る発明は、ゲーム端末とサーバ装置との間でゲーム状態を通信しあいながらゲームを進行させるゲームシステムにおいて、通信品質のバランスを保ちながらダミーのゲーム状態を表すメッセージを混在させることにより、第三者が通信中のゲーム状態を不正に書き換え、自己に有利となるようにゲームを進行させるようにする等のチート行為をすることを困難にすることができる。
【0041】
なお、当該第2の観点に係る発明は、1つのゲーム端末と1つのサーバ装置を備えるものが典型的であるが、これに限らず、2つ以上のゲーム端末と1つのサーバ装置を用いて進行されるゲームにおいても適用することができる。例えば、ゲーム端末Aとゲーム端末Bという2つのゲーム端末と、1つのサーバ装置とが備えられ、ゲーム端末Aとサーバ装置、ゲーム端末Bとサーバ装置、のそれぞれにおいて互いのゲーム状態を通信することにより進行するゲームの場合には、これらゲーム端末Aとサーバ装置、ゲーム端末Bとサーバ装置、のそれぞれにおいて、本発明が実現されることになる。
【0042】
上記目的を達成するため、本発明の第3の観点に係るゲーム端末の制御方法は、ゲーム端末が互いのゲーム状態を通信することによりゲームを進行させるゲームシステムにおけるゲームを提供し、記憶部、真正生成部、ダミー生成部、送信部、受付部、受信部、更新部を備えるゲーム端末が実行する制御方法であって、真正生成工程、ダミー生成工程、送信工程、受付工程、受信工程、更新工程を備える。
【0043】
記憶部には、当該ゲーム端末のゲーム状態が記憶される。
真正生成工程では、真正生成部が、記憶部に記憶されているゲーム状態を指定するメッセージ(以下「真正メッセージ」という。)を生成する。
ダミー生成工程では、ダミー生成部が、生成された真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「ダミーメッセージ」という。)を生成する。
送信工程では、送信部が、生成された真正メッセージと、生成されたダミーメッセージを、他のゲーム端末に送信する。
受付工程では、受付部が、プレイヤーからの指示を受け付ける。
受信工程では、受信部が、他のゲーム端末から送信されたメッセージを受信する。
更新工程では、更新部が、受信されたメッセージのうち真正メッセージに指定される他のゲーム端末のゲーム状態と、受け付けられた指示と、から、記憶部に記憶されているゲーム状態を更新する。
さらに、ダミー生成工程では、ダミー生成部が、他のゲーム端末との通信品質に応じて、ダミーメッセージを生成する頻度を変化させる。
【0044】
上記目的を達成するため、本発明の第4の観点に係るプログラムは、コンピュータを、上記のゲーム端末として機能させ、コンピュータに、上記のゲーム端末の制御方法の各工程を実行させるように構成する。
【0045】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読み取り可能な情報記憶媒体に記録することができる。
【0046】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配付・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配付・販売することができる。
【発明の効果】
【0047】
本発明によれば、ゲーム状態を通信することによりゲームを進行させるゲームシステムにおいて、通信の解析を困難化するのに好適なゲーム端末、ゲームシステム、ゲーム端末の制御方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0048】
【図1】本発明の実施形態に係るゲーム端末が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図2】実施形態1のゲームシステムに係る概要構成を示す模式図である。
【図3】(a)は真正メッセージの構成を、(b)はダミーメッセージの構成を、それぞれ簡略して示す図である。
【図4】2つのゲーム端末が通信している様子を示す図である。
【図5】(a)、(b)ともに、実施形態1において、受信した真正メッセージの順序番号が連続していない場合に、ダミーメッセージの送信頻度が低下される様子を示す図である。
【図6】本発明のゲーム端末に係る処理の流れを示すフローチャートである。
【図7】実施形態1において、ダミーメッセージを生成する頻度を調整する処理の流れを示すフローチャートである。
【図8】ゲーム端末が最後に送信した真正メッセージの順序番号と最後に受信した真正メッセージの順序番号の時間変化を示す図である。
【図9】実施形態2において、ダミーメッセージを生成する頻度を調整する処理の流れを示すフローチャートである。
【図10】実施形態3において、ダミーメッセージを生成する頻度を調整する処理の流れを示すフローチャートである。
【図11】実施形態4のゲームシステムに係る概要構成を示す模式図である。
【図12】実施形態4のゲームシステムに係るゲーム端末の処理の流れを示すフローチャートである。
【図13】実施形態4のゲームシステムに係るサーバ装置の処理の流れを示すフローチャートである。
【図14】実施形態5のゲームシステムにおいて、2つのゲーム端末が1つのサーバ装置を介して通信している様子を示す図である。
【発明を実施するための形態】
【0049】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0050】
(実施形態1)
図1は、本発明の実施形態に係るゲーム端末が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0051】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
【0052】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム端末等が実現される。
【0053】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0054】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0055】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行う、また、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0056】
インターフェース104を介して接続されたコントローラ105は、プレイヤーがゲーム実行の際に行う操作入力を受け付ける。例えばコントローラ105には、上下左右を示す操作入力を行うのに利用される方向ボタンや、決定操作、取消操作、メニュー表示などの指示入力を行うためのボタンが、その表面の所定の位置に配置される。これら各ボタンには圧力センサが配備され、いずれのボタンが押圧操作されているかを検知することができる。プレイヤーは、コントローラ105に配置されたこのような各ボタンを押圧操作することで、情報処理装置100への操作指示を入力する。
【0057】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。プレイヤーは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0058】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0059】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0060】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0061】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0062】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0063】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0064】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0065】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0066】
また、情報処理装置100は、画像処理部107がモニタへ画像を表示する際の所定の同期タイミングを利用して、時間を計測することができる。すなわち、モニタへの画像情報の出力は、所定の周期t秒(例えば1/60秒)ごとに行われるため、何回出力されたかをRAM 103内に用意されたカウンタ変数でカウントすることによって、時間を計測することができる。このほか、情報処理装置100は、その内部にRTC(Real Time Clock)を備え、時間計測のための処理に用いてもよい。
【0067】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0068】
また、プレイヤーからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータを利用することもできる。
【0069】
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム端末」に相当するものであるが、コンピュータ通信網を介して他の機器と通信を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【0070】
例えば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、及び、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
【0071】
図2は、本実施形態のゲームシステムに係る概要構成を示す模式図である。ここで、ゲーム端末200a,200bは、典型的には上述した情報処理装置100によって実現される。以下、図2を参照して概要構成を説明する。
【0072】
この図2に示されたゲームシステムは、2つのゲーム端末200a,200bが互いのゲーム状態を通信することによりゲームを進行させるゲームシステムであって、ゲーム端末200aは、記憶部201aと、真正生成部202aと、ダミー生成部203aと、送信部204aと、受付部205aと、受信部206aと、更新部207aを備え、ゲーム端末200bは、記憶部201bと、真正生成部202bと、ダミー生成部203bと、送信部204bと、受付部205bと、受信部206bと、更新部207bを備える。なお、ゲーム端末200a,200bは、時間を計測するため、画像処理部107の同期機能やRTC等によって実現される計時部を適宜備える。
【0073】
記憶部201a,201bには、当該ゲーム端末200a,200bのゲーム状態が記憶される。すなわち、記憶部201a,201bは、ゲーム端末200a,200bにて実行されているゲームの進行に必要となる種々のデータを記憶するための記憶領域であって、例えばRAM 103等の機能によって実現される。
【0074】
真正生成部202a,202bは、記憶部201a,201bに記憶されているゲーム状態を指定するメッセージ(以下「真正メッセージ」という。)を生成する。すなわち、真正生成部202a,202bは、記憶部201a,201bへアクセスし、記憶されたゲーム状態を取得し、取得されたゲーム状態を含む真正メッセージを生成する。そして、生成された真正メッセージを、後述する送信部204a,204bへ供給する。このような真正生成部202a,202bは、例えばCPU 101がROM 102やRAM 103等と協働することで実現される。
【0075】
ダミー生成部203a,203bは、生成された真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「ダミーメッセージ」という。)を生成する。すなわち、ダミー生成部203a,203bは、上記真正生成部202a,202bと同様に記憶部201a,201bに記憶されたゲーム状態を取得してメッセージを生成するが、ここでは真正メッセージを模したダミーメッセージを生成する。そして、生成されたダミーメッセージを、後述する送信部204a,204bへ供給する。さらに、ダミー生成部203a,203bは、他のゲーム端末、すなわち相手方ゲーム端末との通信品質に応じて、ダミーメッセージを生成する頻度を変化させる。すなわち、後述する受信部206a,206bによって受信されたメッセージに基いて現在の通信品質を取得し、ダミーメッセージを生成する頻度を調整する。このようなダミー生成部203a,203bは、例えばCPU 101がROM 102やRAM 103等と協働することで実現される。
【0076】
送信部204a,204bは、生成された真正メッセージと、生成されたダミーメッセージを、他のゲーム端末、すなわち相手方ゲーム端末に送信する。すなわち、送信部204a,204bは、真正生成部202a,202bから供給された真正メッセージと、ダミー生成部203a,203bから供給されたダミーメッセージとを、ネットワークを介して相手方ゲーム端末に送信する。このような送信部204a,204bは、例えばCPU 101が、ROM 102やRAM 103、そしてコンピュータ通信網に接続されたNIC 109と協働することで実現される。
【0077】
受付部205a,205bは、プレイヤーからの指示を受け付ける。ここで、プレイヤーは、ゲーム端末200aを操作しているプレイヤーAとゲーム端末200bを操作しているプレイヤーBとの2人のプレイヤーが存在し、受付部205aはプレイヤーAから、そして受付部205bはプレイヤーBから、ゲームをプレイするための種々の指示を受け付ける。そして、受付部205a,205bは、受け付けられた指示を後述する更新部207a,207bへ供給する。このような受付部205a,205bは、例えばインターフェース104を介して接続されたコントローラ105の機能によって実現される。
【0078】
受信部206a,206bは、他のゲーム端末、すなわち相手方ゲーム端末から送信されたメッセージを受信する。すなわち、受信部206a,206bは、他のゲーム端末、すなわち相手方ゲーム端末が生成して送信した真正メッセージとダミーメッセージとを、受信する。そして、受信したメッセージが真正メッセージなのかダミーメッセージなのかを判断する。例えば、送信データのチェックサム情報等に基づいて、真正メッセージとダミーメッセージを判別する。さらに、受信部206a,206bは、受信したメッセージのうち真正メッセージと判別されたものを、後述する更新部207a,207bへ供給する。このような受信部206a,206bは、例えばCPU 101が、ROM 102やRAM 103、そしてコンピュータ通信網に接続されたNIC 109と協働することで実現される。
【0079】
更新部207a,207bは、受信されたメッセージのうち真正メッセージに指定される他のゲーム端末、すなわち相手方ゲーム端末のゲーム状態と、プレイヤーから受け付けられた指示と、から、記憶部201a,201bに記憶されているゲーム状態を更新する。すなわち、更新部207a,207bは、受付部205a,205bから供給されたプレイヤーからの指示と、受信部206a,206bから供給された相手方ゲーム端末からの真正メッセージに含まれるゲーム状態と、を自己のゲーム状態に反映させるため、記憶部201a,201bにアクセスして、記憶されたゲーム状態を更新する。このような更新部207a,207bは、例えばCPU 101がROM 102やRAM 103等と協働することで実現される。
【0080】
図3は、本実施形態に係る真正メッセージ(図3(a))とダミーメッセージ(図3(b))の構成を簡略して示す図である。本実施形態では、この図3に示すような真正メッセージ300およびダミーメッセージ350が生成され、2つのゲーム端末200a,200b間で送受信される。
【0081】
真正メッセージ300は、図3(a)に示されるように、送信順序情報301T、受信順序情報302T、チェックサム情報303Tおよびデータ情報304Tをその構成要素として含む。
【0082】
送信順序情報301Tは、当該真正メッセージ300が生成された順序番号を表すものである。すなわち、真正生成部202は、真正メッセージ300を1個ずつ生成する際に、「1」,「2」,「3」…というような、生成された順序を表す連続した順序番号を、当該送信順序情報301Tとして生成された真正メッセージ300に付する。そして、付された順序に従って、真正メッセージ300は、相手方ゲーム端末へ送信される。なお、送信順序情報301Tは、必ずしも「1」,「2」,「3」…というような数値に限られず、例えばアルファベット等、真正メッセージ300が生成された順序の番号を表すことのできるものであればよい。
【0083】
受信順序情報302Tは、受信部206が受信したメッセージのうち、正しく受信できた最後の真正メッセージ300に付された送信順序情報301Tを表すものである。すなわちこれは、どの真正メッセージ300までを連続して正しく受信できたかの情報を、相手方ゲーム端末に伝えるためのものである。相手方ゲーム端末は、この受信順序情報302Tをもとに、真正メッセージ300を再度送信し直す必要があるか否かを判断する。
【0084】
チェックサム情報303Tは、当該メッセージが真正メッセージ300なのかダミーメッセージ350なのかを区別するためのものであり、以下のデータ情報304Tに含まれるデータを数値とみなしてその和をとったものである。メッセージを受信した相手方ゲーム端末は、改めてデータ情報304Tに含まれるデータを数値とみなして和をとり、それが当該チェックサム情報303Tと一致するか否かに基づいて、受信したメッセージが真正メッセージ300かダミーメッセージ350かを区別する。
【0085】
データ情報304Tは、記憶部201に記憶された最新のゲーム状態を指定するものであり、通常真正メッセージ300内で最も大きな割合を占める。ここに表される情報は、オンラインゲームを進行させる上で必要となる種々のデータ、例えばキャラクターの位置や状態、プレイヤーの操作情報などに対応するもので、この情報を含んだ真正メッセージ300が2つのゲーム端末200間において互いに通信しあうことで、それぞれのゲーム端末200での最新のゲーム状態が相手方ゲーム端末と共有される。
【0086】
なお、真正メッセージ300の構成要素はこれらに限られず、例えばメッセージの生成時刻情報やバージョン情報、送信先および送信元のアドレス情報、各種フラグ情報等を、構成要素として適宜含んでもよい。
【0087】
一方、ダミーメッセージ350は、図3(b)に示されるように、真正メッセージ300を模した構成をとるが、各構成要素の内容は、以下に説明するように真正メッセージ300のものとは異なる。
【0088】
ダミーメッセージ350の送信順序情報301Dは、真正メッセージ300の送信順序情報301Tを模したものであり、例えば、簡単に真正メッセージ300に似せるようにするため、直前に送信された真正メッセージ300の送信順序情報301Tがそのまま付される。あるいは例えば、真正メッセージ300の送信順序情報301Tとは別の連続した順序番号としてもよいし、ランダムな番号としてもよい。
【0089】
ダミーメッセージ350の受信順序情報302Dは、真正メッセージ300の受信順序情報302Tを模したものであり、真正メッセージ300と同様に受信した最後の真正メッセージ300に付された送信順序情報301Tを表すものにしてもよいし、ランダムなものにしてもよい。
【0090】
ダミーメッセージ350のチェックサム情報303Dは、真正メッセージ300におけるチェックサム情報303Tに相当するものであるが、ここでは故意に誤ったチェックサム情報が記載される。すなわちここには、以下のデータ情報304Dに含まれるデータを数値とみなしてその和をとったものとは異なる値が記載される。メッセージを受信した相手方ゲーム端末は、チェックサム情報303が正しいか誤っているかに基づいて、受信したメッセージが真正メッセージ300かダミーメッセージ350かを区別する事ができる。
【0091】
ダミーメッセージ350のデータ情報304Dは、真正メッセージ300のデータ情報304Tを模したものであり、ここに表された情報はオンラインゲームの進行に用いられないダミーのデータである。このようなダミーのデータ情報304Dを簡便に生成するため、本実施形態では、記憶部201に記憶された履歴に含まれるゲーム状態のいずれかを指定するものを、ダミーメッセージ350のデータ情報304Dとする。すなわち、記憶部201には、過去のゲーム状態を含む履歴が記憶され、真正メッセージ300のデータ情報304Tが記憶された最新のゲーム状態を指定するものであったのに対して、ダミーメッセージ350のデータ情報304Dは、記憶された過去のゲーム状態のいずれかを指定するものである。
【0092】
なお、ダミーメッセージ350のデータ情報304Dには、記憶部201に記憶された履歴に含まれるゲーム状態のいずれかに対して、乱数を使って一部を改変する等したものが対応付けられてもよい。ゲーム状態の一部が改変されることで、第三者はメッセージの解析がより困難になる。
【0093】
本実施形態におけるゲームシステムでは、このような構成を有する真正メッセージ300およびダミーメッセージ350を、2つのゲーム端末200が互いに送受信しあうことにより、ゲームが進行する。
【0094】
図4は、2つのゲーム端末200a,200bが通信している様子を示す図である。この図4は、2つのゲーム端末200a,200bが、コンピュータ通信網を介して接続されており、互いに真正メッセージ300およびダミーメッセージ350を送受信しあっている様子を示している。なお図4では、ダミーメッセージ350は、真正メッセージ300と区別する便宜上、斜線で塗り潰されて表現されている。
【0095】
ここで2つのゲーム端末200a,200bは、それぞれのメッセージに送信順序情報301を付して、送信する。具体的に図4では、メッセージ中の数字で示されたものが送信順序情報301に相当するものであり、真正メッセージ300には送信順に「1」,「2」,「3」,「4」…というような連続した番号が、ダミーメッセージ350には直前の真正メッセージ300の番号が付されている。
【0096】
そして、2つのゲーム端末200a,200bは、このような真正メッセージ300とダミーメッセージ350とを混在させて送信しあう。具体的に図4では、ゲーム端末200aは、真正メッセージ300a、ダミーメッセージ350a、真正メッセージ300b、真正メッセージ300c、真正メッセージ300d、ダミーメッセージ350b…というような順序で、相手方ゲーム端末200bへ向けて送信している。このときのダミーメッセージ350を混在させる割合は、後述するように通信品質に応じて変化するものであるが、初期状態では、例えばメッセージ全体の30%がダミーメッセージ350になるように、あらかじめ設定されていても良い。
【0097】
送信されたダミーメッセージ350a,350bは、通信路中では真正メッセージ300a〜300dと区別されずに、すなわちファイアウォールやルータによって不正なものとして破棄されることはなく伝送される。そして、送信された真正メッセージ300a〜300dとともに、相手方ゲーム端末200bの受信部206bにまで届けられる。
【0098】
このようなメッセージを受信した相手方ゲーム端末200bは、受信したメッセージが真正メッセージ300かダミーメッセージ350かを判断する。具体的には、メッセージに付されたチェックサム情報303を用いて、受信したメッセージが真正メッセージ300かダミーメッセージ350かを区別する。すなわち、メッセージ内のデータ情報304についてのデータを数値とみなして和を取得し、メッセージに付されたチェックサム情報303と一致するか否かを調べる。その結果、一致していれば、受信したメッセージは真正メッセージ300であると判断し、一致していなければ、受信したメッセージはダミーメッセージ350であると判断する。
【0099】
真正メッセージ300であると判断された受信メッセージは、その後更新部207bが、メッセージの指定するゲーム状態により記憶部201bに記憶されるゲーム状態を更新するのに用いられる。一方で、ダミーメッセージ350であると判断された受信メッセージは、記憶されるゲーム状態を更新するのに用いられることなく、破棄される。
【0100】
そして、このようなメッセージを受信した相手方ゲーム端末200bも、ゲーム端末200aと同様に、メッセージを生成し、ゲーム端末200aへ向けて送信する。すなわち、図4に示されるように、相手方ゲーム端末200bも、真正メッセージ300e、ダミーメッセージ350c、真正メッセージ300f、ダミーメッセージ350d、真正メッセージ300g、真正メッセージ300h…というような順序で、真正メッセージ300とダミーメッセージ350とを混在させて送信する。このようなメッセージを受信したゲーム端末200aは、ゲーム端末200bと同様に、チェックサム情報303を用いて受信したメッセージが真正メッセージ300かダミーメッセージ350かを区別する。そして、真正メッセージ300は、その指定するゲーム状態によって記憶部201に記憶されるゲーム状態を更新するのに用いられ、ダミーメッセージ350は破棄される。
【0101】
このように、2つのゲーム端末200a,200bは、コンピュータ通信網を介して互いにメッセージを送受信しあうことで現在のゲーム状態を共有しながら、オンラインゲームを進行させることができる。その際、メッセージにダミーメッセージ350を混在させることで、通信中のメッセージを解析して相手方ゲーム端末に到達される前にゲーム状態を不正に書き換え、自己に有利となるようにゲームを進行させるようにする等のチート行為をしようとする第三者にとっては、どれが解析するに値するメッセージなのかが区別しにくいものとなる。
【0102】
本実施形態では、この状態からさらに、2つのゲーム端末200a,200b間の通信品質に応じて、ダミーメッセージ350を生成・送信する頻度を変化させる。以下、図5を参照して説明する。
【0103】
図5は、受信した真正メッセージ300の順序番号が連続していない場合に、ダミーメッセージ350の送信頻度が低下される様子を示す図である。まず図5(a)は、ゲーム端末200bがゲーム端末200aへ向けて、真正メッセージ300e〜300hとダミーメッセージ350c,350dを混在させて送信している様子を示している。このとき、上記図4と同様に、真正メッセージ300e〜300hは、送信順序情報301Tとして順に「1」,「2」,「3」,「4」と付されて送信され、ダミーメッセージ350c,350dは、送信順序情報301Dとして直前の真正メッセージ300と同じ番号が付されて送信されている。
【0104】
その後、ゲーム端末200bが送信した真正メッセージ300e〜300hおよびダミーメッセージ350c,350dを、ゲーム端末200aが受信する。このとき、送信されたメッセージの一部が、伝送経路中でのデータ損失や伝送遅延といった何らかの理由により、ゲーム端末200aにまで到達しなかった場合を考える。
【0105】
具体的には図5(b)に示されるように、ゲーム端末200aが、送信順序情報301Tとして「1」,「2」,「4」と付された真正メッセージ300e,300f,300hは受信したが、「3」と付された真正メッセージ300gの受信ができていないような状態を考える。すなわち図5(b)では、伝送経路中でのデータ損失や伝送遅延等、何らかの理由により、真正メッセージ300gがゲーム端末200aにまで到達せず、後から送信されたはずの真正メッセージ300hがゲーム端末200aに先に到達している。
【0106】
本実施形態では、このようなメッセージの受信状況に応じて、ダミーメッセージ350の生成・送信頻度が調整される。すなわち、ゲーム端末200aが、受信した真正メッセージ300の送信順序情報301Tが連続しているか否かを測定する。そして、図5(b)のように真正メッセージ300gの受信ができていないため、送信順序情報301Tが連続していない場合には、自身が送信するダミーメッセージ350の頻度を下げる。
【0107】
ここで、送信順序情報301Tが連続していないということは、何らかの理由により伝送途中でメッセージが失われたか、伝送遅延等によりメッセージの順番が入れ替わったか、ということを意味するため、通信品質が悪化したと判断できる。このような悪化した通信品質のもとでは、多数のダミーメッセージ350が真正メッセージ300に混在していると、送信されるメッセージの総数がそれだけ多くなってしまい、さらなる伝送遅延やデータの損失を引き起こしてしまう。そのため、本実施形態でのゲーム端末200aは、ダミーメッセージ350の生成頻度を、例えばそれまでメッセージ全体の30%の割合だったものを10%の割合になるように低下させて、送信するメッセージの総数を減少させる。
【0108】
このように通信品質を悪化させないように考慮しつつダミーメッセージ350の生成・送信頻度を調整する行為は、第三者のメッセージ解析を防ぐためにも効果的である。すなわち、送受信されるメッセージを解析しようとする第三者は、通常通信品質が良好な環境にあることが多く、反対に通信品質が劣悪な環境でメッセージを解析しようとする第三者は少ない。本実施形態のもとでは、通信品質が良好な環境ではダミーメッセージ350の送信頻度は低下されないため、第三者がメッセージを解析することが多いと想定される環境においてメッセージに含まれるダミーメッセージ350に割合が相対的に高くすることができ、結果として第三者のメッセージの解析を困難なものにすることができる。
【0109】
なお、図5のように真正メッセージ300を不連続に受信した場合、ゲーム端末200aは、未受信の真正メッセージ300g以降で先に受信した真正メッセージ300hをバッファリングしておき、未受信の真正メッセージ300gが届くのを待つ。そして、未受信だった真正メッセージ300gを受信した後で、バッファリングしておいた真正メッセージ300hをゲーム状態の更新に用いてもよい。
【0110】
このとき、送信側のゲーム端末200bは、必要に応じて、未到達の真正メッセージ300gを再度送信し直す。すなわち、送信側のゲーム端末200bは、ゲーム端末200aから送られてくるメッセージに含まれる受信順序情報302Tを参照して、送信したはずの真正メッセージ300gが未到達であると判断し、送信し直してもよい。これにより、伝送中に欠損するなどして未到達であったメッセージが、ずっと未到達のままになることを防ぐことができる。
【0111】
図6は、本発明の実施形態1のゲーム端末200(200a,200b)に係る処理の流れを示すフローチャートである。ここまで説明してきた本実施形態におけるゲーム端末200において実現される処理の流れまとめて、以下に説明する。
【0112】
まず、ゲーム端末200のCPU 101は、各種の初期化処理を行う(ステップS601)。ここでは、ゲームを開始するために必要な画像や音声等の各種情報を、DVD−ROMドライブ108を用いてDVD−ROM等から読み込んだり、相手方ゲーム端末との通信を開始したりする。
【0113】
ゲームが開始されると、ゲーム端末200の受付部205が、プレイヤーからの指示を調査する(ステップS602)。すなわち、プレイヤーは、ゲームをプレイするため、コントローラ105のボタンを押圧するなどの各種操作を行う。ここでは受付部205が、プレイヤーからのこのような指示を、コントローラ105等によって受け付けたか否かを調べて、受け付けていた場合にその指示の内容をRAM 103に保持する。
【0114】
次に、ゲーム端末200の受信部206が、メッセージを受信したか否かを判定する(ステップS603)。すなわち受信部206は、相手方ゲーム端末からのメッセージが届いているか否かを判定する。
【0115】
メッセージを受信していない場合(ステップS603;NO)、ゲーム端末200の更新部207が、記憶部201に記憶されているゲーム状態を更新する(ステップS604)。すなわち、更新部207は、例えばゲームのキャラクターを移動させたり、ステージを進行させたり、音楽の再生を進めたり、といったゲームを構成する種々の要素の状態を更新して、ゲームを進行させる。
【0116】
このとき、上記ステップS602においてプレイヤーからの指示が受け付けられていた場合には、更新部207は当該指示をさらに反映させて、ゲーム状態を更新する。すなわち、更新部207は、受付部205が受け付けてRAM 103に保持されていたプレイヤーからの指示を参照し、当該指示に従ってゲーム状態を更新する。例えば、キャラクターを移動させたり敵に攻撃させたりすることでゲームを進めていくアクションゲームであれば、当該キャラクターを移動させたり敵に攻撃させたりするためのプレイヤーからの指示をゲーム状態に反映させて、ゲームを進行させる。
【0117】
一方で、ステップS603において、メッセージを受信したと判定された場合(ステップS603;YES)、ゲーム端末200の処理は、上記ステップS604の更新処理にすぐには移行しない。この場合は、まず受信部206が、受信したのが真正メッセージ300か否かを判定する(ステップS605)。
【0118】
受信部206は、例えば、メッセージ内のデータ情報304についてのデータを数値とみなして和を取得し、付されたチェックサム情報303と一致するか否かを調べる。一致した場合は、受信したメッセージが真正メッセージ300であると判定し、一致しなかった場合は、受信したメッセージがダミーメッセージ350であると判定する。
【0119】
ダミーメッセージ350を受信したと判定された場合(ステップS605;NO)、受信部206は、受信したダミーメッセージ350を破棄し(ステップS606)、その後で、更新部207がゲーム状態を更新する(ステップS604)。すなわち、受信したメッセージが真正メッセージ300ではなくダミーメッセージ350であった場合は、当該ダミーメッセージ350は、ゲーム状態の更新に用いることなく破棄される。そして、ステップS604の更新処理では、上述した処理と同様、更新部207が、プレイヤーからの指示が受け付けられていた場合には当該指示を反映させながら、記憶部201に記憶されたゲーム状態を更新する。
【0120】
一方で、ステップS605にて、真正メッセージ300を受信したと判定された場合(ステップS605;YES)、ゲーム端末200のダミー生成部203が、通信品質に基いて、ダミーメッセージ350の生成頻度を調整する(ステップS607)。ここでの処理の詳細は、改めて図7のフローチャートを参照しながら、以下に説明する。
【0121】
図7は、本実施形態において、ダミーメッセージ350を生成する頻度を調整する処理の流れを示すフローチャートである。本フローチャートが開始されると、まずゲーム端末200の受信部206が、受信した真正メッセージ300の順序番号は連続しているか否かを判定する(ステップS701)。すなわち本実施形態では、通信品質の指標として、受信した真正メッセージ300の順序番号の連続性が用いられる。
【0122】
具体的に説明すると、受信部206は、受信した真正メッセージ300に含まれる送信順序情報301Tから順序番号を取得する。そして、取得された順序番号が、それまでに受信していた真正メッセージ300の順序番号に1を足したものである場合に連続していると判定し、そうでない場合に連続していないと判定する。なお、ゲーム開始時において最初に真正メッセージ300を受信したときは、それまでに受信していた真正メッセージ300が存在しないため順序番号の連続性を判定することはできないが、この場合は便宜上、連続性があると判定される。
【0123】
連続していると判定された場合(ステップS701;YES)、ダミー生成部203が、ダミーメッセージ350の生成頻度を増大させる(ステップS702)。すなわちここでは、現在の通信品質は良好であり、送信するメッセージの総数を増やしても問題ないと判断され、ダミー生成部203がダミーメッセージ350を生成する頻度を増やす。これにより、後述する送信部204が送信するメッセージのうちダミーメッセージ350が占める割合が高められ、第三者によるメッセージの解析を困難化することができる。
【0124】
一方で、連続していないと判定された場合(ステップS701;NO)、ダミー生成部203が、ダミーメッセージ350の生成頻度を減少させる(ステップS703)。すなわちここでは、現在の通信品質は悪化しているため、送信するメッセージの総数を減らすべきと判断され、ダミー生成部203がダミーメッセージ350を生成する頻度を減らす。これにより、通信品質の回復をはかる。
【0125】
このように、受信した真正メッセージ300の順序番号の連続性に基いてダミーメッセージ350の生成頻度が調整されると、本フローチャートでの処理は終了し、ゲーム端末200の処理は、再び図6のフローチャートに戻る。そして、処理は更新部207がゲーム状態を更新する処理(ステップS604)へと移行する。
【0126】
真正メッセージ300の受信後であるここでの更新処理では、更新部207が、上記ステップS602にて受け付けられたプレイヤーからの指示を反映させるようにゲーム状態を更新することに加え、受信した真正メッセージ300が指定する相手方ゲーム端末のゲーム状態をも反映させて、記憶部201に記憶されたゲーム状態を更新する。すなわち、更新部207は、真正メッセージ300内のデータ情報304Tに含まれる相手方ゲーム端末のゲーム状態を取得し、自身のゲーム状態に反映させることで、最新のゲーム状態を相手方ゲーム端末と共有する。
【0127】
なお、ここでもし受信した真正メッセージ300が上記ステップS701にて順序番号が不連続あると判定されたものであり、当該順序番号よりも前の順序番号が付された真正メッセージ300が未受信である場合には、受信した真正メッセージ300は一旦RAM 103にバッファリングされる。そして、未受信の真正メッセージ300の受信後に、改めてステップS607の更新処理、すなわち当該バッファリングされた真正メッセージ300が指定する相手方ゲーム端末のゲーム状態を反映させて、記憶部201に記憶されたゲーム状態を更新する処理に用いられる。
【0128】
このようなステップS604における更新処理が行われると、その後ゲーム端末200は、現在が真正メッセージ300を生成するタイミングか否かを判定する(ステップS608)。すなわち、本実施形態でのゲーム端末200は、相手方ゲーム端末と互いのゲーム状態を定期的に共有するため、あらかじめ設定された周期ごとに真正メッセージ300を生成・送信する。そのためここでは、計時部の機能により時間を計測して、現在が真正メッセージ300を生成・送信すべき所定のタイミングか否かが判定される。
【0129】
現在が真正メッセージ300を生成するタイミングである場合(ステップS608;YES)、真正生成部202が真正メッセージ300を生成し(ステップS609)、そして送信部204が生成された真正メッセージ300を送信する(ステップS610)。すなわち、真正生成部202は、上記ステップS604にて更新された、自身の記憶部201に記憶されているゲーム状態を取得し、上記図3(a)に示されたような真正メッセージ300を生成する。そして、送信部204が生成された真正メッセージ300を相手方ゲーム端末へ向けて送信する。その後、処理はステップS611へ移行する。
【0130】
一方で、現在が真正メッセージ300を生成するタイミングでない場合(ステップS608;NO)、処理はこのような真正メッセージ300の生成・送信処理を通らずに、ステップS611へと移行する。
【0131】
次に、ステップS611では、ゲーム端末200は、現在がダミーメッセージ350を生成するタイミングか否かを判定する(ステップS611)。すなわちここでは、上記ステップS607にて調整されたダミーメッセージ350の生成頻度に基いて、現在がダミーメッセージ350を生成すべきタイミングかが判定される。
【0132】
現在がダミーメッセージ350を生成するタイミングである場合(ステップS611;YES)、ダミー生成部203がダミーメッセージ350を生成し(ステップS612)、そして送信部204が生成されたダミーメッセージ350を送信する(ステップS613)。すなわちここでは、ダミー生成部203は、記憶部201に記憶されているゲーム状態の履歴のうちのいずれかを選択し、選択されたゲーム状態を一部改変した上で、チェックサム情報303を故意に誤らせて付するなどの所定の処理を施して、上記図3(b)に示されたようなダミーメッセージ350を生成する。そして、送信部204が生成されたダミーメッセージ350を相手方ゲーム端末へ向けて送信する。その後、処理はステップS602へと戻る。
【0133】
一方で、現在がダミーメッセージ350を生成するタイミングでない場合(ステップS611;NO)、処理はこのようなダミーメッセージ350の生成・送信処理を通らずに、ステップS602へと戻る。
【0134】
この後、ステップS602へと戻ったゲーム端末200の処理は、ステップS602以降の処理を繰り返すことになる。すなわち、ゲーム端末200は、プレイヤーからの指示および受信した真正メッセージ300に基いてゲーム状態を更新し、更新したゲーム状態を含む真正メッセージ300を所定のタイミングで生成・送信し、さらに所定の頻度でダミーメッセージ350も生成・送信する。ゲーム端末200は、このような処理を繰り返しながらゲームを進行させる。
【0135】
このような構成により、本実施形態のゲーム端末200は、受信した真正メッセージ300の順序番号が連続している度合により通信品質が低下しているか否かを測定し、当該測定結果に応じて、ダミー生成部203がダミーメッセージ350を生成する頻度を変化させる。その結果、本実施形態のゲーム端末200は、通信品質が低下しているときにはダミーメッセージ350の生成頻度を減少させて送信するメッセージ数を抑制することで、通信品質がさらに低下することを防止しつつ、通信品質が良好なときはダミーメッセージ350の生成頻度を増加させることにより第三者の解析を困難なものにすることができる。
【0136】
(実施形態2)
次に、本発明の実施形態2について説明する。上記実施形態1では、ダミー生成部203が、受信した真正メッセージ300の順序番号が連続している度合により、ダミーメッセージ350を生成する頻度を変化させた。それに対して本実施形態では、ダミー生成部203が、受信された真正メッセージ300の順序番号と送信された真正メッセージ300の順序番号との差の変化が小さくなるように、ダミーメッセージ350を生成する頻度を変化させる。具体的に、図8を参照して説明する。
【0137】
図8は、ゲーム端末200が最後に送信した真正メッセージ300の順序番号と最後に受信した真正メッセージ300の順序番号の時間変化を示す図である。この図8は、縦軸に順序番号を、横軸に経過時間をとって、送受信された真正メッセージ300の順序番号が時間の経過とともにどのように変化するかを示している。
【0138】
まず、グラフ800aは、ゲーム端末200が相手方ゲーム端末へ向けて送信したメッセージのうち、最後に送信された真正メッセージ300に付された送信順序情報301Tにより表される順序番号についての時間変化を示している。すなわち、真正メッセージ300は、生成された順序を表す連続した順序番号が付されて生成・送信されるため、次々と送信されればされるほど順序番号の値は大きくなり、グラフは図中を上方に進む。ここで通常、2つのゲーム端末200間で共有されるゲーム状態を最新に保つため、真正メッセージ300は、一定頻度で絶えず生成・送信される。そのためこの図8のグラフ800aのように、順序番号は経過時間に比例して増大する。
【0139】
対して、グラフ800bは、ゲーム端末200が相手方ゲーム端末から受信したメッセージのうち、最後に受信された真正メッセージ300に付された送信順序情報301Tにより表される順序番号についての時間変化を示している。すなわち、受信された真正メッセージ300もまた、相手方ゲーム端末が連続した順序番号を付して生成・送信したものであるため、次々にメッセージを受信すればするほど順序番号の値は大きくなり、グラフは図中を上方に進む。
【0140】
ここで、相手方ゲーム端末も、自身のゲーム端末200と同じ頻度で真正メッセージ300を生成・送信しているため、通信品質が良好であれば、自身が送信している頻度と同じ頻度で真正メッセージ300を受信するはずである。具体的に説明すると、通信品質が良好の状態では、図8における区間801aのように、送信された真正メッセージ300についてのグラフ800aと、受信された真正メッセージ300についてのグラフ800bとは、時間の経過とともに、同じ傾きで増加していく。そのため、2つのグラフ800a,800b間の差に着目すると、異なる2つの時刻における順序番号の差802aと差802bとはほぼ等しいものとなる。すなわち、当該区間801aでは、順序番号についての差の変化はほぼゼロとなる。
【0141】
本実施形態では、このような順序番号の差の変化がゼロである区間801aでは、通信品質が良好であり、単位時間当たりに送信されるメッセージの総数を増やす猶予があると判断され、ダミーメッセージ350の生成頻度が高められる。その結果、第三者にとってはどのメッセージが解析に値する真正メッセージ300なのかを区別することがしにくい状況が作られることになる。
【0142】
一方で、通信量が多くなったり通信障害があったりといった理由により通信品質が悪くなってくると、ゲーム端末200は、相手方ゲーム端末が生成・送信した頻度では真正メッセージ300を受信することができなくなる。すなわちこのとき、図8における区間801bのように、受信された真正メッセージ300についてのグラフ800bは、区間801aでのときに比べて、増加する傾きが緩やかになる。一方で、真正メッセージ300の送信頻度は不変なため、グラフ800aとグラフ800bの差は大きく開いていく。具体的に、異なる2つの時刻での順序番号の差802cと差802dに着目すると、後の時刻での差802dは先の時刻での差802cに比べて大きなものとなっている。すなわち、当該区間801bでは順序番号の差の変化はゼロより大きな値をもつことになる。
【0143】
本実施形態では、このように順序番号の差の変化の値が増加すると、通信品質が悪化して、単位時間当たりに送信されるメッセージの総数を抑える必要があると判断され、ダミーメッセージ350の生成頻度が抑えられる。具体的に、本実施形態のゲーム端末200は、所定の閾値をあらかじめ用意しておき、順序番号の差の変化が当該所定の閾値を超えた場合に、ダミーメッセージ350が生成・送信される頻度が減らされる。
【0144】
ダミーメッセージ350の送信頻度が抑えられた結果、通信品質が回復すれば、再び真正メッセージ300の受信頻度は、送信頻度とほぼ同じものになる。具体的に、図8における区間801cのように、送信された真正メッセージ300についてのグラフ800aと、受信された真正メッセージ300についてのグラフ800bとは、時間の経過とともに、同じ傾きで増加していく状態に戻る。このとき、異なる2つの時刻における順序番号の差802eと差802fとの大きさは、ほぼ等しいものに戻る。順序番号についての差の変化がほぼゼロに戻ると、通信品質が回復したことにより単位時間当たりに送信されるメッセージの総数を増やす猶予が再び生まれたと判断され、ダミーメッセージ350が生成・送信される頻度が再び高められる。
【0145】
このように本実施形態では、送信された真正メッセージ300の順序番号と受信された真正メッセージ300の順序番号との差の変化に着目し、当該差の変化が小さくなるようにフィードバックをかけながら、ダミーメッセージ350の生成頻度が調整される。
【0146】
なお、ここで、グラフ800bを表す「最後に」受信された真正メッセージ300の順序番号とは、受信された真正メッセージ300のうち、「順序番号が連続しているものの中で最後に」受信されたものについての順序番号、とする。すなわち、相手方ゲーム端末が生成・送信した順序とは入れ替わったり、途中のメッセージが欠落したりした状態で受信された真正メッセージ300は、すぐには更新処理に用いられずに未受信の真正メッセージ300が受信されるまでバッファリングされるため、最後に受信された真正メッセージ300という概念には含めない方が典型的である。
【0147】
図9は、本実施形態において、ダミーメッセージ350を生成する頻度を調整する処理の流れを示すフローチャートである。ここまで述べたような本実施形態におけるゲーム端末200の処理の流れを、図9を参照しながら説明する。この図9のフローチャートは、上記実施形態1における図7のフローチャートに対応するもので、処理全体のフローチャート(図6)におけるステップS607での処理に対応するものである。すなわち、本実施形態におけるゲーム端末200の処理の全体の流れは、上記実施形態1でのフローチャート(図6)を踏襲しているが、ステップS607の処理が独自なものとなる。
【0148】
具体的に、本実施形態でのゲーム端末200は、メッセージを受信し(ステップS603;YES)、受信したのが真正メッセージ300であった場合(ステップS605;YES)、通信品質に基いてダミーメッセージ350の生成頻度を調整する(ステップS607)が、本実施形態ではこの調整処理が実施形態1とは異なるものとなる。そのため、本実施形態では、ステップS607の処理として、改めて図9を参照して説明する。
【0149】
本フローチャートが開始されると、まずゲーム端末200は、順序番号の差を取得する(ステップS901)。すなわち、最後に受信された真正メッセージ300の順序番号と最後に送信された真正メッセージ300の順序番号と、の差が取得される。
【0150】
次に、ゲーム端末200は、差の変化が閾値を超えたか否かを判定する(ステップS902)。すなわち、取得された順序番号の差について、それまでに取得されていた差との変化の量を求め、それがRAM 103にあらかじめ用意された閾値を超えたか否かを判定する。なお、ゲーム開始時など、それまでに取得されていた順序番号の差が存在せず、差の変化が取得できない場合もありうるが、その場合は便宜上、閾値を超えていないと判定される。
【0151】
閾値を超えていない場合(ステップS902;NO)、ダミー生成部203が、ダミーメッセージ350の生成頻度を増大させる(ステップS903)。すなわちここでは、現在の通信品質は良好であり、送信するメッセージの総数を増やしても問題ないと判断され、ダミー生成部203がダミーメッセージ350を生成する頻度を増やす。
【0152】
一方で、閾値を超えた場合(ステップS902;YES)、ダミー生成部203が、ダミーメッセージ350の生成頻度を減少させる(ステップS904)。すなわちここでは、現在の通信品質は悪化しているため、送信するメッセージの総数を減らすべきと判断され、ダミー生成部203がダミーメッセージ350を生成する頻度を減らす。
【0153】
なお、このときさらに、順序番号の差の変化が閾値を超えた場合だけでなく、単に差自体が一定の閾値を超えた場合にも、ダミー生成部203がダミーメッセージ350の生成頻度を減少させることにしてもよい。すなわち、差の変化のみに基づく場合には、通信品質の悪化が比較的軽度で、順序番号の差の変化が閾値を超えない程度の大きさで継続している状態での通信品質の改善がはかれない。しかし、単に順序番号の差が一定の閾値を超えた場合にダミーメッセージ350の生成頻度が減少することで、通信品質の悪化が比較的軽度な状態が継続している場合にも、通信品質の改善をはかることができる。
【0154】
このように、送受信された真正メッセージ300間の順序番号の差に基いてダミーメッセージ350の生成頻度が調整されると、本フローチャートでの処理は終了し、ゲーム端末200の処理は、上記図6のフローチャートに戻る。すなわち、この後、更新部207がゲーム状態を更新し(ステップS604)、真正メッセージ300を生成するタイミングであれば、真正メッセージ300を生成・送信し(ステップS608〜S610)、さらにダミーメッセージ350を生成するタイミングであれば、ダミーメッセージ350を生成・送信する(ステップS611〜S613)。その後、ゲーム端末200の処理はステップS602へと戻り、ステップS602以降の処理を繰り返すことになる。
【0155】
このような構成により、本実施形態では、ダミー生成部203が、受信された真正メッセージ300の順序番号と送信された真正メッセージ300の順序番号との差の変化が小さくなるように、ダミーメッセージ350を生成する頻度を変化させる。その結果、本実施形態のゲーム端末200は、単位時間当たりに送受信するメッセージの数をほぼ同じにすることで通信のバランスを保ちながら、ダミーメッセージ350を混在させてメッセージを送信することで第三者によるメッセージの解析を困難にして、ゲームを進行させることができる。
【0156】
(実施形態3)
次に、本発明の実施形態3について説明する。上記実施形態2では、ダミー生成部203が、受信された真正メッセージ300の順序番号と送信された真正メッセージ300の順序番号との差の変化が小さくなるように、ダミーメッセージ350の生成頻度を変化させた。それに対して、本実施形態でのダミー生成部203は、このような差の変化の値のみに基くだけでなく、より一般的な評価値に基いてダミーメッセージ350の生成頻度を変化させる。
【0157】
具体的には、本実施形態のゲーム端末200は、最後に受信された真正メッセージ300の順序番号と最後に送信された真正メッセージ300の順序番号との差z、および当該差の変化v(=dz/dt、すなわち単位時間dt当たりの差の変化dz)、の2つを入力値とする以下の[数1]ような評価関数E(z,v)を用意する。
【0158】
E(z,v) = a×z×z + b×v×v ・・・[数1]
【0159】
ここで、aおよびbは、ゼロ以上の定数である。すなわち、当該評価関数は、順序番号の差zと当該差の変化vの値にかかわらず必ずゼロ以上の値を返し、そして順序番号の差zと当該差の変化vが双方ともゼロに近いときに、ゼロに近い値を返す。
【0160】
本実施形態では、このような評価関数E(z,v)の評価値がなるべく小さくなるように、ダミー生成部203がダミーメッセージ350を生成する頻度を変化させる。評価値が小さくなるということは、順序番号の差zおよび当該差の変化vの双方が小さい、すなわち送受信するメッセージの総数がほぼ同じで、さらに単位時間当たりに送受信するメッセージの数もほぼ同じ、ということを意味する。そのため本実施形態では、2つのゲーム端末200間での送受信のバランスを保ちつつ、すなわち例えば送信メッセージ中のダミーメッセージ350の割合が増えすぎて送受信されるメッセージの数に差がつくことのないように、ダミーメッセージ350の生成頻度が調整される。具体的に、以下の図10のフローチャートを参照して説明する。
【0161】
図10は、本実施形態において、ダミーメッセージ350を生成する頻度を調整する処理の流れを示すフローチャートである。この図10のフローチャートは、上記実施形態1における図7のフローチャート、あるいは上記実施形態2における図9のフローチャートに対応するもので、処理全体のフローチャート(図6)におけるステップS607での処理に対応するものである。すなわち、本実施形態におけるゲーム端末200の処理の全体の流れは、上記実施形態1でのフローチャート(図6)を踏襲しているが、実施形態2と同様、ステップS607の処理が独自なものとなる。
【0162】
具体的に、本実施形態でのゲーム端末200は、メッセージを受信し(ステップS603;YES)、受信したのが真正メッセージ300であった場合(ステップS605;YES)、通信品質に基いてダミーメッセージ350の生成頻度を調整する(ステップS607)が、本実施形態ではこの調整処理が実施形態1とは異なるものとなる。そのため、本実施形態では、ステップS607の処理として、改めて図10を参照して説明する。
【0163】
本フローチャートが開始されると、まずゲーム端末200は、順序番号の差を取得する(ステップS1001)。すなわち、最後に受信された真正メッセージ300の順序番号と最後に送信された真正メッセージ300の順序番号と、の差が取得される。
【0164】
次に、ゲーム端末200は、取得された順序番号の差、および当該差の変化について、所定の評価関数を適用する(ステップS1002)。すなわち、順序番号の差zおよび当該差の変化vについて、上記[数1]に示されたような評価関数E(z,v)を適用し、評価値を取得する。
【0165】
そして、ゲーム端末200は、取得された評価値が小さくなったか否かを判定する(ステップS1003)。すなわちここでは、取得された評価値が、それまでに取得されていた評価値に比べて小さな値であるか否かを判定される。なお、ゲーム開始時など、それまでに取得されていた評価値が存在しない場合もありうるが、その場合は便宜上、評価値が小さくなったと判定される。
【0166】
評価値が小さくなった場合(ステップS1003;YES)、ダミー生成部203が、ダミーメッセージ350の生成頻度を、順方向に変化させる(ステップS1004)。すなわち、それまでダミーメッセージ350の生成頻度を増大させていた場合は、さらに増大させ、一方それまでダミーメッセージ350の生成頻度を減少させていた場合は、さらに減少させる。
【0167】
一方で、評価値が大きくなった場合(ステップS1003;NO)、ダミー生成部203が、ダミーメッセージ350の生成頻度を、逆方向に変化させる(ステップS1005)。すなわち、それまでダミーメッセージ350の生成頻度を増大させていた場合は、逆に減少させるように切り替え、一方それまでダミーメッセージ350の生成頻度を減少させていた場合は、逆に増大させるように切り替える。
【0168】
すなわち、このステップS1003〜S1005では、ダミーメッセージ350の生成頻度を増減させた結果、評価値がそれまでより小さくなれば、そのままの変化を続けて、さらに小さな評価値が得られないかを探る。一方で、評価値がそれまでより大きくなれば、逆の変化をさせて、評価値がさらに大きくなるのを防ぐ。このように、評価値の大きさの変動に応じてフィードバックをかけて、ダミーメッセージ350の生成頻度を変化させる。
【0169】
ステップS1003〜S1005によって評価値が小さくなるようにダミーメッセージ350の生成頻度が調整されると、本フローチャートでの処理は終了し、ゲーム端末200の処理は、上記図6のフローチャートに戻る。すなわち、この後、更新部207がゲーム状態を更新し(ステップS604)、真正メッセージ300を生成するタイミングであれば、真正メッセージ300を生成・送信し(ステップS608〜S610)、さらにダミーメッセージ350を生成するタイミングであれば、ダミーメッセージ350を生成・送信する(ステップS611〜S613)。その後、ゲーム端末200の処理はステップS602へと戻り、ステップS602以降の処理を繰り返すことになる。
【0170】
このような構成により、本実施形態では、ダミー生成部203が、受信された真正メッセージ300の順序番号と送信された真正メッセージ300の順序番号との差と当該差の変化に所定の評価関数を適用した評価値が小さくなるように、ダミーメッセージ350を生成する頻度を変化させる。その結果、本実施形態のゲーム端末200は、送受信するメッセージの総数をほぼ同じにし、さらに単位時間当たりに送受信するメッセージの数をほぼ同じにすることで通信のバランスを保ちながら、なるべく送信されるダミーメッセージ350の頻度を増やして、第三者によるメッセージの解析を困難にすることができる。
【0171】
(実施形態4)
次に、本発明の実施形態4について説明する。上記実施形態では、2つのゲーム端末200a,200bが互いのゲーム状態を通信することによりゲームを進行させた。それに対して、本実施形態では、1つのゲーム端末200と1つのサーバ装置が互いのゲーム状態を通信することによりゲームを進行させる。
【0172】
すなわち、本実施形態は、上記実施形態1〜3において、2つのゲーム端末200a,200bのうちのいずれか一方がサーバ装置の役割を果たす場合に相当するものであり、ここでは、1つのゲーム端末200においてプレイされるゲームのゲーム状態が、異なる場所にあるサーバ装置に通信され、更新されながら、ゲームが進行する。本実施形態は、このようなゲーム端末200とサーバ装置との間でゲーム状態が通信されるゲームシステムにおいて、通信中のゲーム状態が第三者によって不正に書き換えられることで、ゲームが不正に進行してしまうことを防止するためのものである。
【0173】
図11は、本実施形態のゲームシステムに係る概要構成を示す模式図である。この図11に示されたように、本実施形態のゲームシステムは、1つのゲーム端末200と1つのサーバ装置1150によって構成される。このようなゲーム端末200とサーバ装置1150は、典型的には上記図1にて示された情報処理装置100によって実現される。
【0174】
図11において、ゲーム端末200は、端末側記憶部1101と、端末側真正生成部1102と、端末側ダミー生成部1103と、端末側送信部1104と、受付部1105と、端末側受信部1106と、端末側更新部1107を備える。ここで、ゲーム端末200は、上記実施形態におけるゲーム端末200(200a,200b)と同等なものであり、その構成要素も上記図2において示されたものと同等なものであるが、後述する「サーバ側」の構成要素と区別するために、ここでは便宜上「端末側」という接頭語をつけて説明する。
【0175】
端末側記憶部1101には、当該ゲーム端末200のゲーム状態(以下「端末側ゲーム状態」という。)が記憶される。すなわち、端末側記憶部1101は、ゲームシステムにて実行されているゲームの進行に必要となる種々のデータを記憶するための記憶領域であって、例えばRAM 103等の機能によって実現される。
【0176】
端末側真正生成部1102は、端末側記憶部1101に記憶されている端末側ゲーム状態を指定するメッセージ(以下「端末側真正メッセージ」という。)を生成する。すなわち、端末側真正生成部1102は、端末側記憶部1101へアクセスし、記憶されたゲーム状態を取得し、取得されたゲーム状態を含む端末側真正メッセージを生成する。そして、生成された端末側真正メッセージを、後述する端末側送信部1104へ供給する。
【0177】
端末側ダミー生成部1103は、生成された端末側真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「端末側ダミーメッセージ」という。)を生成する。すなわち、端末側ダミー生成部1103は、上記端末側真正生成部1102と同様に端末側記憶部1101に記憶されたゲーム状態を取得してメッセージを生成するが、ここでは端末側真正メッセージを模した端末側ダミーメッセージを生成する。そして、生成された端末側ダミーメッセージを、後述する端末側送信部1104へ供給する。さらに、端末側ダミー生成部1103は、サーバ装置1150との通信品質に応じて、端末側ダミーメッセージを生成する頻度を変化させる。すなわち、後述する端末側受信部1106によって受信されたメッセージに基いて現在の通信品質を取得し、端末側ダミーメッセージを生成する頻度を調整する。
【0178】
端末側送信部1104は、生成された端末側真正メッセージと、生成された端末側ダミーメッセージを、サーバ装置1150に送信する。すなわち、端末側送信部1104は、端末側真正生成部1102から供給された端末側真正メッセージと、端末側ダミー生成部1103から供給された端末側ダミーメッセージとを、ネットワークを介してサーバ装置1150に送信する。
【0179】
受付部1105は、プレイヤーからの指示を受け付ける。すなわち、受付部1105は、プレイヤーからゲームをプレイするための種々の指示を受け付ける。そして、受付部1105は、受け付けられた指示を後述する端末側更新部1107へ供給する。
【0180】
端末側受信部1106は、サーバ装置1150から送信されたメッセージを受信する。すなわち、端末側受信部1106は、サーバ装置1150が生成して送信したサーバ側真正メッセージとサーバ側ダミーメッセージとを、受信する。そして、受信したメッセージがサーバ側真正メッセージなのかサーバ側ダミーメッセージなのかを判断する。例えば、送信データのチェックサム情報等に基づいて、サーバ側真正メッセージとサーバ側ダミーメッセージを判別する。さらに、端末側受信部1106は、受信したメッセージのうちサーバ側真正メッセージと判別されたものを、後述する端末側更新部1107へ供給する。
【0181】
端末側更新部1107は、受信されたメッセージのうちサーバ側真正メッセージに指定されるサーバ側ゲーム状態と、プレイヤーから受け付けられた指示と、から、端末側記憶部1101に記憶されている端末側ゲーム状態を更新する。すなわち、端末側更新部1107は、受付部1105から供給されたプレイヤーからの指示と、端末側受信部1106から供給されたサーバ装置1150からのサーバ側真正メッセージに含まれるゲーム状態と、を自己のゲーム状態に反映させるため、端末側記憶部1101にアクセスして、記憶されたゲーム状態を更新する。
【0182】
一方、サーバ装置1150もまた、ゲーム端末200と原則的には同様な構成要素を備える。ただし、サーバ装置1150はゲーム端末200とは異なり、プレイヤーからの指示を受け付けないため、受付部1105に相当するものを備えない。すなわち、サーバ装置1150は、サーバ側記憶部1151と、サーバ側真正生成部1152と、サーバ側ダミー生成部1153と、サーバ側送信部1154と、サーバ側受信部1156と、サーバ側更新部1157を備え、それぞれの構成要素は以下のような機能を有する。
【0183】
サーバ側記憶部1151には、当該サーバ装置1150のゲーム状態(以下「サーバ側ゲーム状態」という。)が記憶される。すなわち、サーバ側記憶部1151は、ゲームシステムにて実行されているゲームの進行に必要となる種々のデータを記憶するための記憶領域であって、例えばRAM 103等の機能によって実現される。
【0184】
サーバ側真正生成部1152は、サーバ側記憶部1151に記憶されているサーバ側ゲーム状態を指定するメッセージ(以下「サーバ側真正メッセージ」という。)を生成する。すなわち、サーバ側真正生成部1152は、サーバ側記憶部1151へアクセスし、記憶されたゲーム状態を取得し、取得されたゲーム状態を含むサーバ側真正メッセージを生成する。そして、生成されたサーバ側真正メッセージを、後述するサーバ側送信部1154へ供給する。
【0185】
サーバ側ダミー生成部1153は、生成されたサーバ側真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「サーバ側ダミーメッセージ」という。)を生成する。すなわち、サーバ側ダミー生成部1153は、上記サーバ側真正生成部1152と同様にサーバ側記憶部1151に記憶されたゲーム状態を取得してメッセージを生成するが、ここではサーバ側真正メッセージを模したサーバ側ダミーメッセージを生成する。そして、生成されたサーバ側ダミーメッセージを、後述するサーバ側送信部1154へ供給する。さらに、サーバ側ダミー生成部1153は、ゲーム端末200との通信品質に応じて、サーバ側ダミーメッセージを生成する頻度を変化させる。すなわち、後述するサーバ側受信部1156によって受信されたメッセージに基いて現在の通信品質を取得し、サーバ側ダミーメッセージを生成する頻度を調整する。
【0186】
サーバ側送信部1154は、生成されたサーバ側真正メッセージと、生成されたサーバ側ダミーメッセージを、ゲーム端末200に送信する。すなわち、サーバ側送信部1154は、サーバ側真正生成部1152から供給されたサーバ側真正メッセージと、サーバ側ダミー生成部1153から供給されたサーバ側ダミーメッセージとを、ネットワークを介してゲーム端末200に送信する。
【0187】
サーバ側受信部1156は、ゲーム端末200から送信されたメッセージを受信する。すなわち、サーバ側受信部1156は、ゲーム端末200が生成して送信した端末側真正メッセージと端末側ダミーメッセージとを、受信する。そして、受信したメッセージが端末側真正メッセージなのか端末側ダミーメッセージなのかを判断する。例えば、送信データのチェックサム情報等に基づいて、端末側真正メッセージと端末側ダミーメッセージを判別する。さらに、サーバ側受信部1156は、受信したメッセージのうち端末側真正メッセージと判別されたものを、後述するサーバ側更新部1157へ供給する。
【0188】
サーバ側更新部1157は、受信されたメッセージのうち端末側真正メッセージに指定される端末側ゲーム状態から、サーバ側記憶部1151に記憶されているサーバ側ゲーム状態を更新する。すなわち、サーバ側更新部1157は、サーバ側受信部1156から供給されたゲーム端末200からの端末側真正メッセージに含まれるゲーム状態を自己のゲーム状態に反映させるため、サーバ側記憶部1151にアクセスして、記憶されたゲーム状態を更新する。
【0189】
ここで、ゲーム端末200の端末側真正生成部1102において生成される端末側真正メッセージ、およびサーバ装置1150のサーバ側真正生成部1152において生成されるサーバ側真正メッセージは、双方とも上記図3(a)にて示された真正メッセージ300と同様な構成をとる。すなわち、端末側真正メッセージおよびサーバ側真正メッセージは、これらのメッセージが生成された順序番号を表す送信順序情報301Tと、受信した最後のメッセージの順序番号を表す受信順序情報302Tと、真正メッセージかダミーメッセージかを区別するためのチェックサム情報303Tと、そして記憶部(端末側記憶部1101またはサーバ側記憶部1151)に記憶された最新のゲーム状態を指定するためのデータ情報304Tと、を有する。
【0190】
さらに、ゲーム端末200の端末側ダミー生成部1103において生成される端末側ダミーメッセージ、およびサーバ装置1150のサーバ側ダミー生成部1153において生成されるサーバ側ダミーメッセージは、双方とも上記図3(b)にて示されたダミーメッセージ350と同様な構成をとる。すなわち、端末側ダミーメッセージおよびサーバ側ダミーメッセージは、送信順序情報301Tを模した送信順序情報301Dと、受信順序情報302Tを模した受信順序情報302Dと、真正メッセージかダミーメッセージかを区別するためのチェックサム情報303Dと、そしてデータ情報304Tを模したデータ情報304Dと、を有する。
【0191】
ここで、端末側真正メッセージおよびサーバ側真正メッセージのチェックサム情報303Tには、上記図3(a)の真正メッセージ300と同様、データ情報304Tに含まれるデータを数値とみなしてその和をとったものが含まれる。その一方で、端末側ダミーメッセージおよびサーバ側ダミーメッセージのチェックサム情報303Dには、上記図3(b)のダミーメッセージ350と同様、故意に誤ったチェックサム情報が記載される。すなわち、メッセージを受信したゲーム端末200またはサーバ装置1150は、改めてデータ情報に含まれるデータを数値とみなして和をとり、それが当該チェックサム情報と一致する場合には、受信したメッセージが真正メッセージ(端末側真正メッセージまたはサーバ側真正メッセージ)であると判定し、一致しない場合には、受信したメッセージがダミーメッセージ(端末側ダミーメッセージまたはサーバ側ダミーメッセージ)であると判定することができる。
【0192】
このように、本実施形態のゲームシステムでは、ゲーム端末200とサーバ装置1150が、送受信するメッセージにダミーメッセージを混入させながら互いのゲーム状態を通信することで、ゲームを進行させる。これにより、ゲーム端末200によりゲームをプレイしているプレイヤーは、第三者によって通信が解析され難い環境のもとで、遠隔にあるサーバ装置1150と共同で実現されるゲームをプレイすることができる。
【0193】
その際、本実施形態でのゲーム端末200およびサーバ装置1150は、現在の通信品質を測定し、それに応じてダミーメッセージを生成する頻度を変化させる。このときの通信品質は、典型的には上記実施形態1のように、受信されたメッセージの順序番号が連続している度合により測定される。なお本発明ではこれに限られず、上記実施形態2のように、受信されたメッセージの順序番号と送信されたメッセージの順序番号との差の変化が小さくなるように、ダミーメッセージを生成する頻度を変化させてもよい。あるいはまた、上記実施形態3のように、受信されたメッセージの順序番号と送信されたメッセージの順序番号との差と差の変化に所定の評価関数を適用した評価値が小さくなるように、ダミーメッセージを生成する頻度を変化させてもよい。これにより、通信品質のバランスを保つようにダミーメッセージの割合を調整しつつ、第三者による通信の解析を困難なものにすることができる。
【0194】
なお、本実施形態において、ここまで説明したゲーム端末200における各構成要素とサーバ装置1150における各構成要素は、原則的に同様なものであったが、それぞれ全く同じ機能を果たすものである必要はなく、異なる機能を有していてもよい。
【0195】
例えば、端末側更新部1107とサーバ側更新部1157とで、それぞれ更新する内容を区別し、メッセージに指定して送信するゲーム状態の内容を異なるものにしてもよい。具体的に説明すると、例えば、ステージを進行させたり、音楽の再生を進めたり、といった所定のシナリオに基づいたゲーム状態の更新をサーバ側更新部1157が担当し、キャラクターを移動させる等のプレイヤーから受け付けられた指示に基づいたゲーム状態の更新を端末側更新部1107が担当する等、ゲームの更新内容をゲーム端末200とサーバ装置1150で切り分ける、というものである。
【0196】
この場合、端末側更新部1107は、例えば、キャラクターを移動させたり敵に攻撃させたりすることでゲームを進めていくアクションゲームであれば、当該キャラクターを移動させたり敵に攻撃させたりするためのプレイヤーからの指示を端末側ゲーム状態に反映させて、ゲームを進行させる。当該プレイヤーからの指示が反映された端末側ゲーム状態は、メッセージに指定され、端末側送信部1104によりサーバ装置1150へと送信される。
【0197】
サーバ側更新部1157は、サーバ側受信部1156によりプレイヤーからの指示が反映された端末側ゲーム状態が受信されると、当該指示が反映されるように、サーバ側ゲーム状態を更新する。その上で、受信した端末側ゲーム状態の情報のみに基づいてサーバ側ゲーム状態を更新するだけでなく、例えば、ステージを進行させたり、音楽の再生を進めたり、といったようにゲームを進行させる所定のシナリオに基づいて、サーバ側ゲーム状態を更新する。当該更新されたサーバ側ゲーム状態は、メッセージに指定され、ゲーム端末200へと送信される。
【0198】
そして、再び端末側更新部1107は、端末側受信部1106により所定のシナリオが反映されたサーバ側ゲーム状態が受信されると、当該シナリオが反映されるように、端末側ゲーム状態を更新する。このとき、さらにプレイヤーから指示があると、端末側更新部1107は、当該指示を反映するようにさらに端末側ゲーム状態を更新する。これにより、負荷の大きな更新をサーバ装置1150に担当させ、一般的に使用できる資源の限られた環境にあることの多いプレイヤー側のゲーム端末200では、負荷の大きな更新を軽減するといった効果につなげることができる。
【0199】
図12は、本実施形態のゲームシステムに係るゲーム端末200の処理の流れを示すフローチャートである。この図12に示されたフローチャートは、上記図6に示されたフローチャートと原則的には同様なものであるが、上記図6ではメッセージを送受信する対象は相手方ゲーム端末であったのに対し、ここではメッセージを送受信する対象はサーバ装置1150になる。具体的に、以下に簡潔に説明する。
【0200】
まず、本実施形態のゲーム端末200は、ゲームが開始されると、各種の初期化処理を行い(ステップS1201)、そしてゲーム端末200の受付部1105が、プレイヤーからの指示を調査する(ステップS1202)。すなわち、コントローラ105等によってプレイヤーからの指示が受け付けたか否か、が調査される。
【0201】
次に、ゲーム端末200の端末側受信部1106が、サーバ装置1150からメッセージを受信したか否かを判定する(ステップS1203)。
【0202】
サーバ装置1150からメッセージを受信していない場合(ステップS1203;NO)、端末側更新部1107が、端末側記憶部1101に記憶されているゲーム状態を更新する(ステップS1204)。このとき、端末側更新部1107は、上記ステップS1202においてプレイヤーからの指示が受け付けられていた場合には当該指示を反映させてゲーム状態を更新し、ゲームを進行させる。
【0203】
一方で、サーバ装置1150からメッセージを受信した場合(ステップS1203;YES)は、端末側受信部1106が、受信したメッセージが真正メッセージか否かを判定する(ステップS1205)。端末側受信部1106は、例えば、メッセージ内のデータ情報304についてのデータを数値とみなして和を取得し、付されたチェックサム情報303と一致するか否かを調べる。一致した場合は、受信したメッセージが真正メッセージであると判定し、一致しなかった場合は、受信したメッセージがダミーメッセージであると判定する。
【0204】
ダミーメッセージを受信したと判定された場合(ステップS1205;NO)、端末側受信部1106は、サーバ装置1150から受信したダミーメッセージ、すなわちサーバ側ダミーメッセージを破棄し(ステップS1206)、その後で、端末側更新部1107がゲーム状態を更新する(ステップS1204)。
【0205】
一方で、真正メッセージを受信したと判定された場合(ステップS1205;YES)は、端末側ダミー生成部1103が、通信品質に基いて、自己が生成する端末側ダミーメッセージの生成頻度を調整し(ステップS1207)、受信したサーバ側真正メッセージと受け付けられた指示に基いて、端末側更新部1107がゲーム状態を更新する(ステップS1204)。
【0206】
このステップS1207における端末側ダミーメッセージの生成頻度を調整する処理の詳細は、上記実施形態1における図7のフローチャートに示された処理と同様なものとなる。すなわち、端末側ダミーメッセージの生成頻度は、受信されたサーバ側真正メッセージの順序番号が連続している度合に基いて調整される。なお本発明では、ここでの処理はこれに限られず、上記実施形態2における図9のフローチャートのように、受信されたメッセージの順序番号と送信されたメッセージの順序番号との差の変化が小さくなるように、ダミーメッセージを生成する頻度を変化させるものであってもよい。あるいはまた、上記実施形態3における図10のフローチャートのように、受信されたメッセージの順序番号と送信されたメッセージの順序番号との差と差の変化に所定の評価関数を適用した評価値が小さくなるように、ダミーメッセージを生成する頻度を変化させるものであってもよい。
【0207】
この後、ゲーム端末200は、現在が真正メッセージを生成するタイミングか否かを判定する(ステップS1208)。現在が真正メッセージを生成するタイミングである場合(ステップS1208;YES)、端末側真正生成部1102が端末側真正メッセージを生成し(ステップS1209)、そして端末側送信部1104が、サーバ装置1150へ、生成された端末側真正メッセージを送信する(ステップS1210)。一方で、現在が真正メッセージを生成するタイミングでない場合(ステップS1208;NO)、処理はこのような端末側真正メッセージの生成・送信処理を通らずに、ステップS1211へと移行する。
【0208】
さらに、ゲーム端末200は、現在がダミーメッセージを生成するタイミングか否かを判定する(ステップS1211)。現在がダミーメッセージを生成するタイミングである場合(ステップS1211;YES)、端末側ダミー生成部1103が端末側ダミーメッセージを生成し(ステップS1212)、そして端末側送信部1104が、サーバ装置1150へ、生成された端末側ダミーメッセージを送信する(ステップS1213)。一方で、現在がダミーメッセージを生成するタイミングでない場合(ステップS1211;NO)、処理はこのような端末側ダミーメッセージの生成・送信処理を通らずに、ステップS1202へと戻る。
【0209】
この後、ステップS1202へと戻ったゲーム端末200の処理は、ステップS1202以降の処理を繰り返すことになる。すなわち、ゲーム端末200は、プレイヤーからの指示および受信したサーバ側真正メッセージに基いてゲーム状態を更新し、更新したゲーム状態を含む端末側真正メッセージを所定のタイミングで生成・送信し、さらに所定の頻度で端末側ダミーメッセージも生成・送信する。ゲーム端末200は、このような処理を繰り返しながらゲームを進行させる。
【0210】
さらに図13は、本実施形態のゲームシステムに係るサーバ装置1150の処理の流れを示すフローチャートである。この図13に示されたフローチャートは、原則的には、上記図12のゲーム端末200のフローチャートに対してゲーム端末200とサーバ装置1150との関係が入れ替わったものとなる。具体的に、以下に簡潔に説明する。
【0211】
まず、本実施形態のサーバ装置1150は、ゲームが開始されると、各種の初期化処理を行う(ステップS1301)。この後、上記図12におけるゲーム端末200の処理ではプレイヤーからの指示を調査する処理が行われたが、サーバ装置1150は受付部を持たないため、本フローチャートではこれに相当する処理はない。
【0212】
次に、サーバ装置1150のサーバ側受信部1156が、ゲーム端末200からメッセージを受信したか否かを判定する(ステップS1303)。
【0213】
ゲーム端末200からメッセージを受信していない場合(ステップS1303;NO)、サーバ側更新部1157が、サーバ側記憶部1151に記憶されているゲーム状態を更新する(ステップS1304)。このとき、サーバ装置1150は外部からの入力を受け付けないため、サーバ側更新部1157は、あらかじめ用意されたゲームのシナリオに沿ってサーバ記憶部1151に記憶されているゲーム状態を更新し、ゲームを進行させることになる。
【0214】
一方で、ゲーム端末200からメッセージを受信した場合(ステップS1303;YES)は、サーバ側受信部1156が、受信したメッセージが真正メッセージか否かを判定する(ステップS1305)。サーバ側受信部1156は、例えば、メッセージ内のデータ情報304についてのデータを数値とみなして和を取得し、付されたチェックサム情報303と一致するか否かを調べる。一致した場合は、受信したメッセージが真正メッセージであると判定し、一致しなかった場合は、受信したメッセージがダミーメッセージであると判定する。
【0215】
ダミーメッセージを受信したと判定された場合(ステップS1305;NO)、サーバ側受信部1156は、ゲーム端末200から受信したダミーメッセージ、すなわち端末側ダミーメッセージを破棄し(ステップS1306)、その後で、サーバ側更新部1157がゲーム状態を更新する(ステップS1304)。
【0216】
一方で、真正メッセージを受信したと判定された場合(ステップS1305;YES)は、サーバ側ダミー生成部1153が、通信品質に基いて、自己が生成するサーバ側ダミーメッセージの生成頻度を調整し(ステップS1307)、受信した端末側真正メッセージに基いて、サーバ側更新部1157がゲーム状態を更新する(ステップS1304)。
【0217】
このステップS1307におけるサーバ側ダミーメッセージの生成頻度を調整する処理の詳細は、上記実施形態1における図7のフローチャートに示された処理と同様なものとなる。すなわち、サーバ側ダミーメッセージの生成頻度は、受信された端末側真正メッセージの順序番号が連続している度合に基いて調整される。なお本発明では、ここでの処理はこれに限られず、上記実施形態2における図9のフローチャートのように、受信されたメッセージの順序番号と送信されたメッセージの順序番号との差の変化が小さくなるように、ダミーメッセージを生成する頻度を変化させるものであってもよい。あるいはまた、上記実施形態3における図10のフローチャートのように、受信されたメッセージの順序番号と送信されたメッセージの順序番号との差と差の変化に所定の評価関数を適用した評価値が小さくなるように、ダミーメッセージを生成する頻度を変化させるものであってもよい。
【0218】
この後、サーバ装置1150は、現在が真正メッセージを生成するタイミングか否かを判定する(ステップS1308)。現在が真正メッセージを生成するタイミングである場合(ステップS1308;YES)、サーバ側真正生成部1152がサーバ側真正メッセージを生成し(ステップS1309)、そしてサーバ側送信部1154が、ゲーム端末200へ、生成されたサーバ側真正メッセージを送信する(ステップS1310)。一方で、現在が真正メッセージを生成するタイミングでない場合(ステップS1308;NO)、処理はこのようなサーバ側真正メッセージの生成・送信処理を通らずに、ステップS1311へと移行する。
【0219】
さらに、サーバ装置1150は、現在がダミーメッセージを生成するタイミングか否かを判定する(ステップS1311)。現在がダミーメッセージを生成するタイミングである場合(ステップS1311;YES)、サーバ側ダミー生成部1153がサーバ側ダミーメッセージを生成し(ステップS1312)、そしてサーバ側送信部1154が、ゲーム端末200へ、生成されたサーバ側ダミーメッセージを送信する(ステップS1313)。一方で、現在がダミーメッセージを生成するタイミングでない場合(ステップS1311;NO)、処理はこのようなサーバ側ダミーメッセージの生成・送信処理を通らずに、ステップS1303へと戻る。
【0220】
この後、ステップS1303へと戻ったサーバ装置1150の処理は、ステップS1303以降の処理を繰り返すことになる。すなわち、サーバ装置1150は、プレイヤーからの指示および受信した端末側真正メッセージに基いてゲーム状態を更新し、更新したゲーム状態を含むサーバ側真正メッセージを所定のタイミングで生成・送信し、さらに所定の頻度でサーバ側ダミーメッセージも生成・送信する。サーバ装置1150は、このような処理を繰り返しながらゲームを進行させる。
【0221】
このような構成により、本実施形態のゲームシステムでは、ゲーム端末200とサーバ装置1150が、送受信するメッセージにダミーメッセージを混入させながら互いのゲーム状態を通信することで、ゲームを進行させる。その際、当該ゲーム端末200および当該サーバ装置1150は、現在の通信品質を取得し、それに応じてダミーメッセージを生成する頻度を変化させる。その結果、本実施形態のゲームシステムは、ゲーム端末200とサーバ装置1150との間の通信品質のバランスを保ちながら、第三者によって通信が解析され難い環境のもとで実現されるゲームを提供することができる。
【0222】
(実施形態5)
次に、本発明の実施形態5について説明する。上記実施形態4におけるゲームシステムは、1つのゲーム端末200と1つのサーバ装置1150が、互いのゲーム状態を通信することによりゲームを進行させた。それに対して、本実施形態でのゲームシステムは、実施形態4をさらに発展させて、2つのゲーム端末200a,200bが、1つのサーバ装置1150を介して、互いのゲーム状態を通信することによりゲームを進行させる。このようなゲームシステムは、例えば、2人のプレイヤーが対戦するようなゲームに活用されうる。具体的に、図14を参照して以下に説明する。
【0223】
図14は、本実施形態のゲームシステムにおいて、2つのゲーム端末200a,200bが1つのサーバ装置1150を介して通信している様子を示す図である。この図14において、2つのゲーム端末200a,200bは、それぞれ別のプレイヤーAとプレイヤーBとによって操作され、指示が入力される。そして、ゲーム端末200aはサーバ装置1150とネットワークを介してメッセージを送受信し合い、ゲーム端末200bはサーバ装置1150とネットワークを介してメッセージを送受信し合う。すなわち、本実施形態では、ゲーム端末200aとサーバ装置1150、ゲーム端末200bとサーバ装置1150、のそれぞれにおいて、1つのゲーム端末200と1つのサーバ装置1150とから構成された上記実施形態4におけるゲームシステムが、実現されていると見ることができる。
【0224】
具体的に説明すると、ゲーム端末200a,200bはそれぞれ、プレイヤーAとプレイヤーBから受け付けられた指示と、サーバ装置1150から受信したサーバ側真正メッセージとから、記憶されたゲーム状態を更新する。そして、更新されたゲーム状態を指定する端末側真正メッセージを生成して、サーバ装置1150へと送信する。
【0225】
このとき、ゲーム端末200a,200bはそれぞれ、第三者からの通信の解析を困難にするため、サーバ装置1150との通信品質に応じた頻度により、端末側ダミーメッセージを生成して、端末側真正メッセージとともにサーバ装置1150へと送信する。
【0226】
一方、サーバ装置1150は、2つのゲーム端末200a,200bのそれぞれから受信した端末側真正メッセージに基いて記憶されたゲーム状態を更新し、そして更新されたゲーム状態を指定するサーバ側真正メッセージを生成して、各ゲーム端末200a,200bへと送信する。
【0227】
このとき、サーバ装置1150もまた、第三者からの通信の解析を困難にするため、それぞれのゲーム端末200a,200bとの通信品質に応じた頻度により、サーバ側ダミーメッセージを生成して、サーバ側真正メッセージとともに各ゲーム端末200a,200bへと送信する。その際、ゲーム端末200aとの通信品質とゲーム端末200bとの通信品質とは、必ずしも同一なものではないため、サーバ装置1150は、それぞれに対応した通信品質を測定し、そしてそれぞれに対応した頻度によりサーバ側ダミーメッセージを生成して、各ゲーム端末200a,200bへと送信することになる。
【0228】
このような構成により、本実施形態のゲームシステムでは、2つのゲーム端末200a,200bが、1つのサーバ装置1150を介して、送受信するメッセージにダミーメッセージを混入させながら互いのゲーム状態を通信することで、ゲームを進行させる。その際、当該ゲーム端末200a,200bおよび当該サーバ装置1150は、現在の通信品質を取得し、それに応じてダミーメッセージを生成する頻度を変化させる。その結果、本実施形態のゲームシステムは、ゲーム端末200a,200bとサーバ装置1150との間の通信品質のバランスを保ちながら、第三者によって通信が解析され難い環境のもとで実現されるゲームを提供することができる。
【0229】
(他の実施形態)
以上、本発明の実施の形態について説明したが、本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【0230】
例えば、上記実施形態では、ゲーム端末200は、チェックサム情報303を用いて、受信したメッセージが真正メッセージ300かダミーメッセージ350かを区別した。一方で、これに加えて、受信したメッセージが真正メッセージ300かダミーメッセージ350か、あるいはそのいずれでもないかを区別するようにしてもよい。
【0231】
具体的に説明すると、例えば、真正メッセージ300については、データ情報304Tにおけるデータの和を8で割った余りをチェックサム情報303Tとし、ダミーメッセージ350については、データ情報304Dにおけるデータの和を8で割った余りに1を加えたものをチェックサム情報303Dとする。このようなチェックサム情報303が付されたメッセージを受信したゲーム端末200は、改めてデータ情報304についての和をとり、当該和8で割った余りを取得した上で、付されたチェックサム情報303と比較する。その結果、付されたチェックサム情報303が取得された余りと等しければ、受信されたメッセージは真正メッセージ300であると判断され、付されたチェックサム情報303が取得された余りに1を加えたものであれば、受信されたメッセージはダミーメッセージ350であると判断される。
【0232】
一方で、それ以外の場合、すなわち付されたチェックサム情報303が取得された余りに2から7のいずれかの値を加えたものであった場合には、受信されたメッセージは、真正メッセージ300とダミーメッセージ350のいずれでもないと判断される。すなわちこれは、第三者による攻撃や伝送経路の障害等により、通信途中でメッセージが壊れたような場合に相当する。このような構成をとることで、ゲーム端末200は、受信したメッセージが真正かダミーかだけでなく、通信途中で壊されずに正しく受信できたものであるか否かもあわせて調べることができる。
【0233】
また、ゲーム端末200は、チェックサム情報303を用いずに、ダミーメッセージ350に特有の記号等を付することで、真正メッセージ300と区別するようにしてもよい。あるいは、チェックサム情報303のように、データ情報304に含まれるデータの和をとることに限らず、ゲーム端末200は、データ情報304に含まれるデータの積や平均をとって、その正誤により真正メッセージ300とダミーメッセージ350の区別をするようにしてもよい。
【0234】
また、上記実施形態では、送受信された真正メッセージ300に付された送信順序情報301Tに基いて、ダミー生成部203がダミーメッセージ350の生成頻度を変化させた。一方で、これに加えて、真正メッセージ300に付された受信順序情報302Tも参照するようにしてもよい。
【0235】
すなわち、受信順序情報302Tには、相手方ゲーム端末の受信部206が正しく受信した最後の真正メッセージ300に付された送信順序情報301Tが表されているため、受信順序情報302Tを参照することで、自身のゲーム端末200が送信した真正メッセージ300が相手方ゲーム端末にどのくらい正しく到達したかの指標を得ることができる。そのため、例えば、受信した真正メッセージ300に付された受信順序情報302Tの順序番号と、送信した真正メッセージ300に付された送信順序情報301Tの順序番号と、の差は、良好な通信品質のもとで正しく通信できている限り、一定の差以内に収まるはずである。ここでは、当該差を通信品質の指標として評価関数に組み入れ、その評価値に基いてダミー生成部203がダミーメッセージ350の生成頻度を変化させるようにしてもよい。
【0236】
また、上記実施形態1〜3では、2つのゲーム端末200a,200bが、互いのゲーム状態を通信することによりゲームを進行させた。一方で、ゲーム端末200の個数は2つに限られず、3つ以上であってもよい。すなわち、本発明は、3つ以上のゲーム端末200のうち、そのうち1つのゲーム端末200と、他のゲーム端末200と、の間でゲーム状態を通信することによりゲームを進行させるゲームシステムにおいて適用可能である。
【0237】
例えば、ゲーム端末A、ゲーム端末B、ゲーム端末Cという3つのゲーム端末200が備えられ、そのうちゲーム端末Aとゲーム端末B、ゲーム端末Bとゲーム端末C、ゲーム端末Cとゲーム端末A、のそれぞれにおいて互いのゲーム状態を通信することにより進行するゲームの場合には、これらゲーム端末Aとゲーム端末B、ゲーム端末Bとゲーム端末C、ゲーム端末Cとゲーム端末A、の3通りの組合せのそれぞれにおいて、上記実施形態1〜3における構成が実現されることになる。また、さらにゲーム端末200を4つ以上に増やした場合についても、上記実施形態1〜3における構成が実現されうる組合せが増えるだけであり、同様に考えることができる。
【0238】
また、上記実施形態4〜5では、1つあるいは2つのゲーム端末200と1つのサーバ装置1150が、互いのゲーム状態を通信することによりゲームを進行させた。一方で、ゲーム端末200の個数はこれらに限られず、3つ以上であってもよい。すなわち、本発明は、3つ以上のゲーム端末200が、1つのサーバ装置1150を介して、互いのゲーム状態を通信することによりゲームを進行させるゲームシステムにおいて、適用可能である。
【0239】
例えば、ゲーム端末A、ゲーム端末B、ゲーム端末Cという3つのゲーム端末200が、それぞれ1つのサーバ装置1150と互いにのゲーム状態を通信することにより進行するゲームの場合には、ゲーム端末Aとサーバ装置1150、ゲーム端末Bとサーバ装置1150、ゲーム端末Cとサーバ装置1150のそれぞれにおいて、上記実施形態4における構成が実現されることになる。また、さらにゲーム端末200を4つ以上に増やした場合についても、上記実施形態4における構成が実現されうる組合せが増えるだけであり、同様に考えることができる。
【0240】
このような3つ以上のゲーム端末200を用いた実施形態は、3つ以上のゲーム端末200のそれぞれには別々のプレイヤーが対応し、それぞれのプレイヤーが指示を入力しながらゲームを進行させるようなゲーム、すなわち例えば、多人数でチームを組んで対戦したり、シナリオを進めたりするようなオンラインゲームを実現する上で有効である。
【産業上の利用可能性】
【0241】
以上説明したように、本発明によれば、ゲーム状態を通信することによりゲームを進行させるゲームシステムにおいて、通信の解析を困難化するのに好適なゲーム端末、ゲームシステム、ゲーム端末の制御方法、ならびに、プログラムを提供することができる。
【符号の説明】
【0242】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
200(200a,200b) ゲーム端末
201(201a,201b) 記憶部
202(202a,202b) 真正生成部
203(203a,203b) ダミー生成部
204(204a,204b) 送信部
205(205a,205b) 受付部
206(206a,206b) 受信部
207(207a,207b) 更新部
300 真正メッセージ
301(301T,301D) 送信順序情報
302(302T,302D) 受信順序情報
303(303T,303D) チェックサム情報
304(304T,304D) データ情報
350 ダミーメッセージ
800(800a,800b) グラフ
801(801a〜801c) 区間
802(802a〜802f) 差
1101 端末側記憶部
1102 端末側真正生成部
1103 端末側ダミー生成部
1104 端末側送信部
1105 受付部
1106 端末側受信部
1107 端末側更新部
1150 サーバ装置
1151 サーバ側記憶部
1152 サーバ側真正生成部
1153 サーバ側ダミー生成部
1154 サーバ側送信部
1156 サーバ側受信部
1157 サーバ側更新部

【特許請求の範囲】
【請求項1】
ゲーム端末が互いのゲーム状態を通信することによりゲームを進行させるゲームシステムにおけるゲーム端末であって、
当該ゲーム端末のゲーム状態が記憶される記憶部、
前記記憶部に記憶されているゲーム状態を指定するメッセージ(以下「真正メッセージ」という。)を生成する真正生成部、
前記生成された真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「ダミーメッセージ」という。)を生成するダミー生成部、
前記生成された真正メッセージと、前記生成されたダミーメッセージを、他のゲーム端末に送信する送信部、
プレイヤーからの指示を受け付ける受付部、
前記他のゲーム端末から送信されたメッセージを受信する受信部、
前記受信されたメッセージのうち真正メッセージに指定される前記他のゲーム端末のゲーム状態と、前記受け付けられた指示と、から、前記記憶部に記憶されているゲーム状態を更新する更新部
を備え、
前記ダミー生成部は、前記他のゲーム端末との通信品質に応じて、前記ダミーメッセージを生成する頻度を変化させる
ことを特徴とするゲーム端末。
【請求項2】
請求項1に記載のゲーム端末であって、
前記真正メッセージには、当該真正メッセージが生成された順序番号を表す順序情報が付され、
前記他のゲーム端末との通信品質は、前記受信されたメッセージのうち真正メッセージに付された順序情報により表される順序番号が連続している度合により測定される
ことを特徴とするゲーム端末。
【請求項3】
請求項2に記載のゲーム端末であって、
前記ダミー生成部は、前記受信されたメッセージのうち最後の真正メッセージに付された順序情報により表される順序番号と、前記送信されたメッセージのうち最後の真正メッセージに付された順序情報により表される順序番号と、の差の変化が小さくなるように、前記ダミーメッセージを生成する頻度を変化させる
ことを特徴とするゲーム端末。
【請求項4】
請求項2に記載のゲーム端末であって、
前記ダミー生成部は、前記受信されたメッセージのうち最後の真正メッセージに付された順序情報により表される順序番号と、前記送信されたメッセージのうち最後の真正メッセージに付された順序情報により表される順序番号と、の差、ならびに、当該差の変化に、所定の評価関数を適用した評価値が小さくなるように、前記ダミーメッセージを生成する頻度を変化させる
ことを特徴とするゲーム端末。
【請求項5】
請求項1から4のいずれか1項に記載のゲーム端末であって、
前記記憶部には、前記ゲーム状態の履歴が記憶され、
前記ダミーメッセージには、前記記憶された履歴に含まれるゲーム状態のいずれかが指定される
ことを特徴とするゲーム端末。
【請求項6】
請求項5に記載のゲーム端末であって、
前記ゲーム状態には、チェックサム情報が含まれ、前記生成される真正メッセージにはゲーム状態の正しいチェックサム情報が指定され、前記生成されるダミーメッセージにはゲーム状態の誤ったチェックサム情報が指定される
ことを特徴とするゲーム端末。
【請求項7】
ゲーム端末とサーバ装置が互いのゲーム状態を通信することによりゲームを進行させるゲームシステムであって、
(a)当該ゲーム端末は、
当該ゲーム端末のゲーム状態(以下「端末側ゲーム状態」という。)が記憶される端末側記憶部、
前記端末側記憶部に記憶されている端末側ゲーム状態を指定するメッセージ(以下「端末側真正メッセージ」という。)を生成する端末側真正生成部、
前記生成された端末側真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「端末側ダミーメッセージ」という。)を生成する端末側ダミー生成部、
前記生成された端末側真正メッセージと、前記生成された端末側ダミーメッセージを、前記サーバ装置に送信する端末側送信部、
プレイヤーからの指示を受け付ける受付部、
前記サーバ装置から送信されたメッセージを受信する端末側受信部
を備え、
前記端末側ダミー生成部は、前記サーバ装置との通信品質に応じて、前記端末側ダミーメッセージを生成する頻度を変化させ、
(b)当該サーバ装置は、
当該サーバ装置のゲーム状態(以下「サーバ側ゲーム状態」という。)が記憶されるサーバ側記憶部、
前記サーバ側記憶部に記憶されているサーバ側ゲーム状態を指定するメッセージ(以下「サーバ側真正メッセージ」という。)を生成するサーバ側真正生成部、
前記生成されたサーバ側真正メッセージと弁別するための弁別情報を指定するメッセージ(以下「サーバ側ダミーメッセージ」という。)を生成するサーバ側ダミー生成部、
前記生成されたサーバ側真正メッセージと、前記生成されたサーバ側ダミーメッセージを、前記ゲーム端末に送信するサーバ側送信部、
前記ゲーム端末から送信されたメッセージを受信するサーバ側受信部
を備え、
前記サーバ側ダミー生成部は、前記ゲーム端末との通信品質に応じて、前記サーバ側ダミーメッセージを生成する頻度を変化させ、
(c)当該ゲーム端末は、
前記受信されたメッセージのうちサーバ側真正メッセージに指定される前記サーバ側ゲーム状態と、前記受け付けられた指示と、から、前記端末側記憶部に記憶されている端末側ゲーム状態を更新する端末側更新部
をさらに備え、
(d)当該サーバ装置は、
前記受信されたメッセージのうち端末側真正メッセージに指定される前記端末側ゲーム状態から、前記サーバ側記憶部に記憶されているサーバ側ゲーム状態を更新するサーバ側更新部
をさらに備える
ことを特徴とするゲームシステム。
【請求項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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2013−39276(P2013−39276A)
【公開日】平成25年2月28日(2013.2.28)
【国際特許分類】
【出願番号】特願2011−178926(P2011−178926)
【出願日】平成23年8月18日(2011.8.18)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】