(57)【特許請求の範囲】
【請求項１】
ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから、当該コマンドの内容に応じて決定される待機時間後に当該コマンドを実行する処理を繰り返すゲームを進行させるためのゲームプログラムが実行されるホスト端末と、
通信回線を介して前記ホスト端末と接続され、前記ゲームをプレイするプレイヤが利用するゲスト端末と、
を備え、
前記ゲスト端末は、
前記ゲームのコマンドを入力するコマンド入力手段と、
前記ゲームのコマンドが入力された入力時刻を取得する入力時刻取得手段と、
前記コマンド入力手段により入力されたコマンド、及び当該コマンドの入力時刻を示す情報を前記ホスト端末へ送信するコマンド送信手段と、
を含み、
前記ホスト端末は、
前記ゲスト端末からのコマンド、及び当該コマンドの入力時刻を示す情報を受信するコマンド受信手段と、
前記ゲスト端末からのコマンドを受信した受信時刻を取得する受信時刻取得手段と、
前記受信時刻と前記入力時刻との差分に基づいて、当該コマンドの内容に応じて決定された、当該コマンドを実行するまでの待機時間を短縮させる待機時間短縮手段と、
を含む、
ことを特徴とする通信ゲームシステム。
【請求項２】
前記ホスト端末は、
ゲーム画面の表示変更内容及び当該ゲーム画面の表示変更指示を含む表示変更情報を生成する表示変更情報生成手段と、
前記表示変更情報を前記ゲスト端末に送信する表示変更情報送信手段と、
を含み、
前記ゲスト端末は、
前記ホスト端末から送信される前記表示変更情報を受信する表示変更情報受信手段と、
ゲーム画面を表示する表示手段と、
前記表示変更情報に従って前記ゲーム画面の表示変更処理を実行する表示制御手段と、
を含み、
前記表示変更情報送信手段は、前記ゲスト端末から受信したコマンドの実行に先立って、当該コマンドに対応する前記表示変更情報を前記ゲスト端末に送信する、
ことを特徴とする、請求項１に記載の通信ゲームシステム。
【請求項３】
前記表示変更情報送信手段がコマンドに対応する前記表示変更情報を送信するタイミングは、当該コマンドを受信した受信時刻と当該コマンドが入力された入力時刻との差分に基づいて決定される、
ことを特徴とする、請求項２に記載の通信ゲームシステム。
【請求項４】
前記ホスト端末は、
ゲーム画面の表示変更内容及び当該ゲーム画面の表示変更指示を含む表示変更情報を生成する表示変更情報生成手段と、
前記表示変更情報を前記ゲスト端末に送信する表示変更情報送信手段と、
を含み、
前記ゲスト端末は、
前記ホスト端末から送信される前記表示変更情報を受信する表示変更情報受信手段と、
ゲーム画面を表示する表示手段と、
前記表示変更情報に従って前記ゲーム画面の表示変更処理を実行する表示制御手段と、
を含み、
前記表示変更情報は、コマンドの実行に伴う前記ゲーム内のキャラクタのアニメーションが継続される時間であるアニメーション継続時間を示す情報を含み、
前記アニメーション継続時間は、前記受信時刻と前記入力時刻との差分に基づいて決定される、
ことを特徴とする、請求項１に記載の通信ゲームシステム。
【請求項５】
ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから、当該コマンドの内容に応じて決定される待機時間後に当該コマンドを実行する処理を繰り返すゲームを進行させるためのゲームプログラムが実行されるホスト端末であって、
前記ホスト端末と通信回線を介して接続され前記ゲームをプレイするプレイヤが利用するゲスト端末から、前記ゲスト端末において入力されたコマンド、及び当該コマンドの入力時刻を示す情報を受信するコマンド受信手段と、
前記ゲスト端末からのコマンドを受信した受信時刻を取得する受信時刻取得手段と、
前記受信時刻と前記入力時刻との差分に基づいて、当該コマンドの内容に応じて決定された、当該コマンドを実行するまでの待機時間を短縮させる待機時間短縮手段と、
を備えることを特徴とするホスト端末。
【請求項６】
ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから、当該コマンドの内容に応じて決定される待機時間後に当該コマンドを実行する処理を繰り返すゲームを進行させるためのゲームプログラムであって、
ホスト端末を、
前記ホスト端末と通信回線を介して接続され前記ゲームをプレイするプレイヤが利用するゲスト端末から、前記ゲスト端末において入力されたコマンド、及び当該コマンドの入力時刻を示す情報を受信するコマンド受信手段と、
前記ゲスト端末からのコマンドを受信した受信時刻を取得する受信時刻取得手段と、
前記受信時刻と前記入力時刻との差分に基づいて、当該コマンドの内容に応じて決定された、当該コマンドを実行するまでの待機時間を短縮させる待機時間短縮手段と、
として機能させることを特徴とするゲームプログラム。
【請求項７】
ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから、当該コマンドの内容に応じて決定される待機時間後に当該コマンドを実行する処理を繰り返すゲームを進行させるための方法であって、
前記ゲームに関するコマンド、及び当該コマンドの入力時刻を示す情報を通信回線を介して受信するコマンド受信ステップと、
前記コマンドを受信した受信時刻を取得する受信時刻取得ステップと、
前記受信時刻と前記入力時刻との差分に基づいて、当該コマンドの内容に応じて決定された、当該コマンドを実行するまでの待機時間を短縮させる待機時間短縮ステップと、
を実行することを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ゲームシステム、ホスト端末、ゲームプログラム、及び方法に関する。
【背景技術】
【０００２】
従来、ＭＯ（Multiplayer Online）ゲームなど、複数プレイヤが同時に参加できるマルチプレイゲームが提案されている。マルチプレイゲームは、通信回線を介して接続された複数の端末を含んで構成される通信ゲームシステムにおいて実行される。複数の端末はマルチプレイゲームに参加する各プレイヤが利用するものである。これにより、各プレイヤは地理的に離れた場所に居ながらにして、同じゲームに参加することができる。
【０００３】
上記のような通信ゲームシステムは、複数の端末を含むため、各端末におけるゲームに関する処理を行うタイミング（例えばゲーム画面の表示タイミングなど）が互いに異なる場合がある。従来、このような処理タイミングのずれを調整する技術が提案されている。例えば、特許文献１には、マルチプレイゲームを行うための通信ゲームシステムにおいて、ゲームデータ配信装置とゲーム装置との間におけるゲーム画面表示タイミングを同期させる技術が開示されている。特許文献１に開示の通信ゲームシステムにおいては、ゲームデータ配信装置とゲーム装置の動作クロックが異なるために生じる両装置間におけるゲーム画面表示タイミングのずれを修正すべく、ゲーム画面の切り替え時において、両端末における画像同期信号の位相を再設定することで、両端末間のゲーム画面表示タイミングを同期させている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３９６６４８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マルチプレイゲームが実行される通信ゲームシステムにおいて、ゲームプレイヤの一人であるホストプレイヤが利用するホスト端末においてゲームを進行させるゲームプログラムが実行され、その他のプレイヤであるゲストプレイヤは、ゲスト端末からホスト端末にアクセスすることでマルチプレイゲームに参加するという形態をとる場合がある。この場合、ゲスト端末は、ゲストプレイヤからのコマンドの入力処理、ホスト端末へのコマンド送信処理、あるいはホスト端末からのゲーム画面の表示変更指示に従った表示変更処理などを実行する。
【０００６】
このような通信ゲームシステムにおいては、ホスト端末とゲスト端末との間において、通信回線を介してゲームに関するデータの送受信が行われることから、ホスト端末とゲスト端末との間においてどうしても通信遅延が生じてしまう。そうすると、例えば、ホスト端末がゲスト端末からのコマンドを受信するタイミングは、当該コマンドがゲスト端末に入力されたタイミングよりも遅れてしまう。これにより、マルチプレイゲームにおいて、例えばホストプレイヤとゲストプレイヤが同時にコマンドを入力したとしても、ゲストプレイヤのコマンドの実行タイミングは、ホストプレイヤのコマンドの実行タイミングよりも遅れてしまうことになる。
【０００７】
マルチプレイゲームの中には、ゲームの進行に応じて適時プレイヤがコマンドを入力し、コマンド入力から所定の待機時間経過後に当該コマンドが実行されるというゲームがある。例えば、ＡＴＢ（Active Time Battle）システムを採用したＲＰＧ（Role Playing Game）においては、各プレイヤは、自分が操作するゲーム内のキャラクタに対して、所定時間毎にタイミングよくコマンドを入力する必要がある。このようなゲームにおいては、各キャラクタの行動タイミング（つまりコマンドの実行タイミング）がゲームのプレイ内容に大きく影響する。そのため、ホスト端末とゲスト端末との間における通信遅延によるコマンドの実行タイミングのずれを低減する必要がある。
【０００８】
また、コマンドの実行に伴ってゲーム画面の表示変更処理が行われる場合（例えばコマンドの実行に伴ってゲーム内のキャラクタが動く場合など）がある。このような場合、ホスト端末におけるゲーム画面の表示変更処理の開始と同時に当該表示変更処理を指示する表示変更情報がゲスト端末へ送信されるならば、ホスト端末とゲスト端末との間における通信遅延により、ゲスト端末における当該表示変更情報の受信タイミングは、ホスト端末における表示変更処理開始タイミングよりも遅れてしまう。その結果、ホスト端末とゲスト端末との間でゲーム画面の表示変更処理タイミングがずれてしまうという問題も指摘できる。
【０００９】
本発明の目的は、通信回線を介して接続されたホスト端末及びゲスト端末を利用して行うマルチプレイゲームにおいて、ホスト端末とゲスト端末との間における通信遅延がゲームのプレイ内容に与える影響を低減することにある。あるいは、本発明の目的は、通信回線を介して接続されたホスト端末及びゲスト端末を利用して行うマルチプレイゲームにおいて、ホスト端末とゲスト端末間におけるゲーム画面の表示変更処理タイミングのずれを低減することにある。
【課題を解決するための手段】
【００１０】
本発明に係る通信ゲームシステムは、ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから、当該コマンドの内容に応じて決定される待機時間後に当該コマンドを実行する処理を繰り返すゲームを進行させるためのゲームプログラムが実行されるホスト端末と、通信回線を介して前記ホスト端末と接続され、前記ゲームをプレイするプレイヤが利用するゲスト端末と、を備え、前記ゲスト端末は、前記ゲームのコマンドを入力するコマンド入力手段と、前記ゲームのコマンドが入力された入力時刻を取得する入力時刻取得手段と、前記コマンド入力手段により入力されたコマンド、及び当該コマンドの入力時刻を示す情報を前記ホスト端末へ送信するコマンド送信手段と、を含み、前記ホスト端末は、前記ゲスト端末からのコマンド、及び当該コマンドの入力時刻を示す情報を受信するコマンド受信手段と、前記ゲスト端末からのコマンドを受信した受信時刻を取得する受信時刻取得手段と、前記受信時刻と前記入力時刻との差分に基づいて、当該コマンドの内容に応じて決定された、当該コマンドを実行するまでの待機時間を短縮させる待機時間短縮手段と、を含む、ことを特徴とする。
【００１１】
望ましくは、前記ホスト端末は、ゲーム画面の表示変更内容及び当該ゲーム画面の表示変更指示を含む表示変更情報を生成する表示変更情報生成手段と、前記表示変更情報を前記ゲスト端末に送信する表示変更情報送信手段と、を含み、前記ゲスト端末は、前記ホスト端末から送信される前記表示変更情報を受信する表示変更情報受信手段と、ゲーム画面を表示する表示手段と、前記表示変更情報に従って前記ゲーム画面の表示変更処理を実行する表示制御手段と、を含み、前記表示変更情報送信手段は、前記ゲスト端末から受信したコマンドの実行に先立って、当該コマンドに対応する前記表示変更情報を前記ゲスト端末に送信する、ことを特徴とする。
【００１２】
望ましくは、前記表示変更情報送信手段がコマンドに対応する前記表示変更情報を送信するタイミングは、当該コマンドを受信した受信時刻と当該コマンドが入力された入力時刻との差分に基づいて決定される、ことを特徴とする。
【００１３】
望ましくは、前記ホスト端末は、ゲーム画面の表示変更内容及び当該ゲーム画面の表示変更指示を含む表示変更情報を生成する表示変更情報生成手段と、前記表示変更情報を前記ゲスト端末に送信する表示変更情報送信手段と、を含み、前記ゲスト端末は、前記ホスト端末から送信される前記表示変更情報を受信する表示変更情報受信手段と、ゲーム画面を表示する表示手段と、前記表示変更情報に従って前記ゲーム画面の表示変更処理を実行する表示制御手段と、を含み、前記表示変更情報は、コマンドの実行に伴う前記ゲーム内のキャラクタのアニメーションが継続される時間であるアニメーション継続時間を示す情報を含み、前記アニメーション継続時間は、前記受信時刻と前記入力時刻との差分に基づいて決定される、ことを特徴とする。
【００１４】
また、本発明は、ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから、当該コマンドの内容に応じて決定される待機時間後に当該コマンドを実行する処理を繰り返すゲームを進行させるためのゲームプログラムが実行されるホスト端末であって、前記ホスト端末と通信回線を介して接続され前記ゲームをプレイするプレイヤが利用するゲスト端末から、前記ゲスト端末において入力されたコマンド、及び当該コマンドの入力時刻を示す情報を受信するコマンド受信手段と、前記ゲスト端末からのコマンドを受信した受信時刻を取得する受信時刻取得手段と、前記受信時刻と前記入力時刻との差分に基づいて、当該コマンドの内容に応じて決定された、当該コマンドを実行するまでの待機時間を短縮させる待機時間短縮手段と、を備えることを特徴とする。
【００１５】
また、本発明は、ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから、当該コマンドの内容に応じて決定される待機時間後に当該コマンドを実行する処理を繰り返すゲームを進行させるためのゲームプログラムであって、ホスト端末を、前記ホスト端末と通信回線を介して接続され前記ゲームをプレイするプレイヤが利用するゲスト端末から、前記ゲスト端末において入力されたコマンド、及び当該コマンドの入力時刻を示す情報を受信するコマンド受信手段と、前記ゲスト端末からのコマンドを受信した受信時刻を取得する受信時刻取得手段と、前記受信時刻と前記入力時刻との差分に基づいて、当該コマンドの内容に応じて決定された、当該コマンドを実行するまでの待機時間を短縮させる待機時間短縮手段と、として機能させることを特徴とする。
【００１６】
また、本発明は、ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから、当該コマンドの内容に応じて決定される待機時間後に当該コマンドを実行する処理を繰り返すゲームを進行させるための方法であって、前記ゲームに関するコマンド、及び当該コマンドの入力時刻を示す情報を通信回線を介して受信するコマンド受信ステップと、前記コマンドを受信した受信時刻を取得する受信時刻取得ステップと、前記受信時刻と前記入力時刻との差分に基づいて、当該コマンドの内容に応じて決定された、当該コマンドを実行するまでの待機時間を短縮させる待機時間短縮ステップと、を実行することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、通信回線を介して接続されたホスト端末及びゲスト端末を利用して行うマルチプレイゲームにおいて、ホスト端末とゲスト端末との間における通信遅延がゲームのプレイ内容に与える影響を低減することができる。あるいは、本発明によれば、通信回線を介して接続されたホスト端末及びゲスト端末を利用して行うマルチプレイゲームにおいて、ホスト端末とゲスト端末間におけるゲーム画面の表示変更処理タイミングのずれを低減することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係る通信ゲームシステムの構成概略図である。
【図２】ゲスト端末の構成概略図である。
【図３】ホスト端末の構成概略図である。
【図４】本実施形態に係るゲーム画面の一例を示す図である。
【図５】従来における、ホスト端末とゲスト端末での各処理の実行タイミングを示す図である。
【図６】本実施形態におけるホスト端末とゲスト端末での各処理の実行タイミングを示す図である。
【図７】変形例におけるホスト端末とゲスト端末での各処理の実行タイミングを示す図である。
【図８】本実施形態に係る通信ゲームシステムの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について説明する。
【００２０】
図１は、本実施形態に係る通信ゲームシステム１０の構成概略図が示されている。通信ゲームシステム１０は、サーバ１２、ホスト端末１４、及び複数のゲスト端末１６ａ〜ｃ（以下複数のゲスト端末を総称して「ゲスト端末１６」と記載する）を含んで構成される。サーバ１２とホスト端末１４、及びサーバ１２とゲスト端末１６は、ＬＡＮ、インターネット、あるいは携帯電話回線などを含む通信回線を介して互いに接続される。ホスト端末１４とゲスト端末１６は、サーバ１２を介して通信可能である。本実施形態では、サーバ１２とホスト端末１４、及びサーバ１２とゲスト端末１６は、無線通信回線を介して接続される。なお、本実施形態では、ゲスト端末１６が３つ設けられているが、ゲスト端末１６としては少なくとも１つ設けられればよい。
【００２１】
サーバ１２は、複数プレイヤが同時に参加できるマルチプレイゲーム（以下単に「ゲーム」と記載する）を配信するものである。本実施形態では、サーバ１２が配信するゲームは、ゲームの進行に応じて適時プレイヤからコマンドが入力され、コマンドが入力されてから所定の待機時間経過後（当該待機時間はコマンドの内容やコマンドの対象となったキャラクタのパラメータなどに応じて定められてよい）に当該コマンドが実行されるゲームである。また、サーバ１２は、ゲームが開始される時に、ホスト端末１４及びゲスト端末１６に対してゲーム開始信号を同報送信する。
【００２２】
ホスト端末１４は、サーバ１２が配信するゲームのホストプレイヤが利用する端末である。ホスト端末１４は、サーバ１２からゲームプログラムをダウンロードし、後述の記憶部５８に記憶させる。そして、ホスト端末１４は、ゲームを進行させるべく当該ゲームプログラムを実行する。ホスト端末１４は、スマートフォン、タブレット型コンピュータ、あるいはパーソナルコンピュータなどであってよい。ホスト端末１４の詳細については図３を参照して後述する。
【００２３】
ゲスト端末１６は、ホスト端末１４において実行されるゲームに参加するゲストプレイヤが利用する端末である。ゲスト端末１６はゲストプレイヤの人数分用意される。本実施形態では、ゲストプレイヤは３人いるため、それに応じてゲスト端末１６が３つ設けられている。ゲスト端末１６は、ゲストプレイヤからのコマンド入力を受け付ける処理、入力されたコマンドをホスト端末１４へ送信する処理、あるいはホスト端末１４から送信されてくる表示変更情報（後述）に基づいたゲーム画面の表示変更処理などを行うものである。ゲスト端末１６も、ホスト端末１４同様、スマートフォン、タブレット型コンピュータ、あるいはパーソナルコンピュータなどであってよい。
【００２４】
以下、図２を参照してゲスト端末１６の詳細について説明する。図２には、ゲスト端末１６の構成概略図が示されている。
【００２５】
表示手段としての表示部３０は、例えば液晶パネルなどから構成される。表示部３０は、後述の制御部４０からの指示に従って、ゲーム画面などを表示するものである。
【００２６】
コマンド入力手段としての入力部３２は、例えばタッチパネル、あるいはボタンなどから構成される。入力部３２は、ゲストプレイヤがゲームに対するコマンドを入力するためのものである。
【００２７】
コマンド送信手段、及び表示変更情報受信手段としての通信部３４は、例えば、ＬＡＮやインターネットに接続するためのＬＡＮカード、あるいは携帯電話回線に接続するためのアンテナなどから構成される。通信部３４は、入力部３２から入力されたコマンド、及び、当該コマンドを入力した入力時刻を示すコマンド入力時刻情報（これは制御部４０により取得される）をホスト端末１４に対して送信する。当該送信処理は制御部４０からの制御により行われる。通信部３４は、コマンドが入力されると、直ちにコマンド及びコマンド入力時刻情報をホスト端末１４に送信する。また、通信部３４は、ゲーム画面の表示変更内容を示す情報、及びゲーム画面の表示変更指示を含む表示変更情報をホスト端末１４から受信する。
【００２８】
タイマ３６は、例えばクロック発生部と、当該クロックをカウントするカウンタ回路などから構成される。本実施形態では、タイマ３６は、ゲーム開始時点からの経過時間を計測する。タイマ３６は、ゲーム開始時点においてサーバ１２から同報送信されるゲーム開始信号をトリガとして、時間計測を開始する。タイマ３６による計測時間は制御部４０に送られる。
【００２９】
記憶部３８は、例えばＲＯＭ、ＲＡＭ、あるいはハードディスクなどから構成される。記憶部３８には、ゲーム画面を表示するために必要な画像、例えば、ゲーム内のキャラクタの画像やＧＵＩが記憶される。
【００３０】
制御部４０は、例えばＣＰＵ、あるいはマイクロプロセッサなどから構成される。制御部４０は、ゲスト端末１６の各部を制御する。制御部４０は、ホスト端末１４から受信した表示変更情報に従って、表示部３０に表示されたゲーム画面の表示変更処理を実行する。つまり、制御部４０は表示制御手段としても機能する。
【００３１】
また、制御部４０は、ゲストプレイヤからコマンドが入力された時の時刻である入力時刻を取得する入力時刻取得手段としても機能する。入力時刻取得手段としての制御部４０は、入力部３２においてコマンドが入力されたことをトリガとしてタイマ３６の計測時間を取得する。上述の通り、タイマ３６はゲーム開始時点からの経過時間を計測するから、本実施形態では、コマンドの入力時刻としてゲーム開始時点から当該コマンドが入力された時点までの経過時間が取得される。コマンドの入力時刻を示すコマンド入力時刻情報は、当該コマンドに関連付けられた上で、ホスト端末１４に送信される。
【００３２】
以下、図３を参照してホスト端末１４の詳細について説明する。図３には、ホスト端末１４の構成概略図が示されている。なお、ホスト端末１４の各部のハードウェア構成はゲスト端末１６のハードウェア構成と同様であるため、ホスト端末１４の各部のハードウェア構成の説明は省略する。
【００３３】
表示部５０は、後述の制御部６０からの指示に従って、ゲーム画面などを表示するものである。
【００３４】
入力部５２は、ホストプレイヤがゲームに対するコマンドを入力するためのものである。
【００３５】
コマンド受信手段、及び表示変更情報送信手段としての通信部５４は、ゲスト端末１６から送信されてくるコマンド及びコマンド入力時刻情報を受信する。当該コマンド及びコマンド入力時刻情報は、制御部６０に送られる。また、通信部５４は、制御部６０において生成される表示変更情報をゲスト端末１６へ送信する。
【００３６】
タイマ５６は、ゲーム開始時点からの経過時間を計測する。タイマ５６は、ゲーム開始時点においてサーバ１２から同報送信されるゲーム開始信号をトリガとして、時間計測を開始する。タイマ５６による計測時間は制御部６０に送られる。
【００３７】
記憶部５８には、サーバ１２からダウンロードされた、ゲームを進行させるためのゲームプログラムなどが記憶される。
【００３８】
制御部６０は、ホスト端末１４の各部を制御する。また、制御部６０は、記憶部５８に記憶されたゲームプログラムに従ってゲームロジックを回す（つまりゲームを進行させる）。また、制御部６０は、ゲームプログラムに従って表示部５０に表示されたゲーム画面の表示変更処理を行う。
【００３９】
制御部６０は、ゲスト端末１６から送信されてくるコマンドを受信した時刻である受信時刻を取得する受信時刻取得手段としても機能する。受信時刻取得手段としての制御部６０は、ゲスト端末１６からコマンドを受信したことをトリガとしてタイマ５６の計測時間を取得する。上述の通り、タイマ５６はゲーム開始時点からの経過時間を計測するから、本実施形態では、コマンドの受信時刻として、ゲーム開始時点から当該コマンドをゲスト端末１６から受信した時点までの経過時間が取得される。
【００４０】
制御部６０は、ゲスト端末１６から受信したコマンドを実行するまでの待機時間を短縮させる待機時間短縮手段としても機能する。詳しくは後述するが、ホスト端末１４とゲスト端末１６との間に通信経路が存在することから、ホスト端末１４におけるゲスト端末１６からのコマンドの受信時刻は、ゲスト端末１６における当該コマンドの入力（送信）時刻から遅れることになる。制御部６０は、コマンドを受信してから当該コマンドを実行するまでの間の待機時間を短縮することで、ホスト端末１４とゲスト端末１６との間の通信遅延による、ゲストプレイヤが入力したコマンドの実行タイミングの遅延を解消する。
【００４１】
制御部６０は、コマンドを受信した受信時刻と、当該コマンドがゲスト端末１６において入力された入力時刻とに基づいて、当該コマンドの待機時間を短縮する。具体的には、ゲスト端末１６から送信されてくるコマンド入力時刻情報に基づいてコマンドの入力時刻を取得し、当該コマンドを受信した受信時刻と入力時刻との差分を演算する。そして、演算された差分と同じ時間だけ当該コマンドの待機時間を短縮させる。これにより、ホスト端末１４とゲスト端末１６との間の通信遅延による、ゲストプレイヤが入力したコマンドの実行タイミングの遅延が解消される。
【００４２】
また、制御部６０は、ゲスト端末１６に送信される表示変更情報を生成する表示変更情報生成手段としても機能する。当該表示変更情報は、上述のように、ゲーム画面における表示変更内容を示す情報、及びゲーム画面の表示変更指示を含むものである。なお、ゲーム画面の表示変更とは、ゲーム画面全体あるいはその一部の要素の表示開始、表示内容の変動、及び表示終了（消去）を含む概念である。ゲーム画面における表示変更内容を示す情報としては、例えば、ゲーム画面に表示されたキャラクタの動作（アニメーション）を示す情報や、当該アニメーションの継続時間を示す情報が含まれる。後述のように、アニメーション継続時間は、制御部６０によって適宜設定される。
【００４３】
制御部６０は、ゲームの進行に応じて、適時、表示変更情報をゲスト端末１６に送信する。例えば、ゲスト端末１６から送信されてきたコマンドを実行した場合に、ゲスト端末１６の表示部３０において、ゲストプレイヤが入力したコマンドに対応するキャラクタのアニメーションを行わせるための表示変更情報を送信する。
【００４４】
以下、本実施形態に係る通信ゲームシステム１０の処理の流れを説明する前に、図４を参照して本実施形態に係るゲームについて説明する。
【００４５】
図４には、ホスト端末１４の表示部５０、又はゲスト端末１６の表示部３０に表示されるゲーム画面の例を示す図である。本実施形態に係るゲームは、ＡＴＢ（Active Time Battle）システムを採用したＭＯＲＰＧである。具体的には、各プレイヤに対応する味方キャラクタ７０ａ〜ｃ、及び７０ｈ（以下、これらを総称して「味方キャラクタ７０」と記載する）に対して各プレイヤがコマンドを入力することで、敵キャラクタ７２を倒すというゲームである。本実施形態では、味方キャラクタ７０ｈはホストプレイヤが操作し、味方キャラクタ７０ａ〜ｃは、ゲストプレイヤａ〜ｃが操作するものである。敵キャラクタ７２は、ゲームプログラムに従って行動する。
【００４６】
各味方キャラクタ７０の下部には、タイムゲージ７４ａ〜ｃ、及び７４ｈ（以下、これらを総称して「タイムゲージ７４」と記載する）が表示される。タイムゲージ７４においては、時間が経過するにつれ左端から右端へ向かって着色部分が伸びていく。着色部分がタイムゲージ７４の右端に到達すると、対応するキャラクタが行動可能となる。つまり、当該キャラクタに対してコマンドの入力が許可される。キャラクタにおいて一旦コマンドが実行されると、タイムゲージ７４がクリアされ（着色部分が消去され）、再度左端から着色部分が伸びていく。このように、各キャラクタに対しては、所定の行動待ち時間毎にコマンド入力が可能となる。なお、敵キャラクタ７２も同様に、行動待ち時間が経過する毎に行動する。
【００４７】
画面下部に配置されたコマンドアイコン領域７６に、コマンドを入力するためのボタンが設置されている。例えば、ゲストプレイヤａは、コマンドアイコン領域７６に表示された複数のボタンのうち、味方キャラクタ７０ａに実行させたいコマンドを選択し、ボタンを押下する。これにより、ゲスト端末１６ａにおいてコマンドが入力される。
【００４８】
本実施形態に係るゲームにおいては、味方キャラクタ７０にコマンドが入力されてから直ちに当該コマンドが実行されず、所定の待機時間経過後に当該コマンドが実行される。例えば、ゲストプレイヤａが「まほう１」コマンドを入力した場合、所定の待機時間が経過するまで、味方キャラクタ７０ａが「まほう１」を詠唱するようなアニメーションが実行される。当該待機時間経過後に、味方キャラクタ７０ａが「まほう１」を実行する。また、ゲストプレイヤａが「たたかう」コマンドを入力した場合、所定の待機時間が経過するまで、味方キャラクタ７０ａが武器を構えるようなアニメーションが実行される。当該待機時間経過後に、味方キャラクタ７０ａが「たたかう」を実行する。
【００４９】
以上の処理を繰り返すことで、敵キャラクタ７２を倒すか、あるいは味方キャラクタ７０の全部が倒されるまでゲームが継続する。なお、図４の例においては、各プレイヤは１つの味方キャラクタを操作しているが、各プレイヤが、２つ又はそれ以上の味方キャラクタを操作可能としてもよい。
【００５０】
以下、図５〜７を参照して、従来の（つまり本発明が適用されていない）通信ゲームシステムにおける各処理の実行タイミングと比較しつつ、本実施形態に係る通信ゲームシステムにおける各処理の実行タイミングについて説明する。具体的には、ゲスト端末１６においてコマンドが入力されてからホスト端末１４において当該コマンドが実行され、ホスト端末１４及びゲスト端末１６における当該コマンドの実行に伴うアニメーションの終了までにおける各処理の実行タイミングについて説明する。なお、図５〜７においては、横軸が時間軸を示している。
【００５１】
図５には、従来の通信ゲームシステムにおけるホスト端末及びゲスト端末における各処理の実行タイミングが示されている。まず、時刻ｔ１において、ゲストプレイヤが、自己が操作する味方キャラクタ（以下「ゲストキャラクタ」と記載する）に対するコマンドをゲスト端末で入力する。コマンドが入力されると、当該コマンドは直ちにホスト端末に送信される。しかし、ホスト端末とゲスト端末との間における通信遅延により、ホスト端末が当該コマンドを受信するのは、時刻ｔ１よりも遅れた時刻ｔ２となる。
【００５２】
ホスト端末が当該コマンドを受信してから待機時間Ｐ１後に当該コマンドが実行されるものとする。仮に、ホストプレイヤがホスト端末において同コマンドを時刻ｔ１において入力した場合、当該コマンドは時刻ｔ１から待機時間Ｐ１経過後である時刻ｔ３において実行される。しかしながら、ゲストプレイヤが同時刻ｔ１においてコマンドを入力した場合、当該コマンドが実行されるタイミングは、ホスト端末が当該コマンドを受信してから、つまり時刻ｔ２から待機時間Ｐ１経過後である時刻ｔ３ａとなってしまう。つまり、ゲストプレイヤが入力するコマンドは、ホストプレイヤが入力するコマンドに比して、ｔ２−ｔ１で表される時間分その実行が遅れてしまう。
【００５３】
これにより、例えば、時刻ｔ３と時刻ｔ３ａとの間において敵キャラクタが行動する場合、時刻ｔ１においてホストプレイヤがコマンドを入力すれば、当該コマンドは敵キャラクタの行動よりも先に実行されるのに、同時刻ｔ１においてゲストプレイヤがコマンドを入力した場合、当該コマンドは敵キャラクタの行動よりも後に実行されることになってしまう。このように、通信遅延によるゲスト端末からのコマンドの実行遅れがゲームの内容に影響する場合がある。
【００５４】
時刻ｔ３ａにおいてホスト端末で当該コマンドが実行されると、ホスト端末の画面上においてゲストキャラクタが当該コマンドに対応するアニメーションを開始する。当該アニメーションはアニメーション継続時間Ｐ２の間継続するものとする。したがって、ホスト端末においては、当該アニメーションが終了するのは、時刻ｔ３ａからアニメーション継続時間Ｐ２経過後である時刻ｔ５となる。
【００５５】
また、時刻ｔ３ａにおいてホスト端末でコマンドが実行されると、それと共に、ゲスト端末の画面上のゲストキャラクタに同アニメーションを行わせるための表示変更情報がゲスト端末に送信される。ホスト端末とゲスト端末との間における通信遅延により、ゲスト端末が当該表示変更情報を受信するのは、時刻ｔ３ａよりも遅れた時刻ｔ４となる。なお、ホスト端末とゲスト端末間の通信遅延量が一定であるならば、当該遅れ時間（ｔ４−ｔ３ａ）は、コマンドの受信遅れ時間（ｔ２−ｔ１）と同等となる。
【００５６】
ゲスト端末は、時刻ｔ４において表示変更情報を受信すると、当該表示変更情報に基づいて画面上においてゲストキャラクタのアニメーションを開始する。その結果、ゲスト端末においては、当該アニメーションが終了するのは、時刻ｔ４からアニメーション継続時間Ｐ２経過後である時刻ｔ５ａとなる。つまり、ホスト端末とゲスト端末との間において、ゲーム画面の表示変更処理のタイミングずれが生じてしまう。
【００５７】
図６には、本実施形態に係る通信ゲームシステムにおける各処理の実行タイミングが示されている。
【００５８】
まず、時刻ｔ１において、ゲストプレイヤはゲスト端末１６にコマンドを入力する。コマンドが入力されると、当該コマンドは直ちにホスト端末１４に送信される。それと共に、制御部４０が取得した当該コマンドの入力時刻（時刻ｔ１）を示す入力時刻情報がホスト端末１４に送信される。ホスト端末１４とゲスト端末１６との間における通信遅延により、ホスト端末１４が当該コマンドを受信するのは、時刻ｔ１よりも遅れた時刻ｔ２となる。
【００５９】
ホスト端末１４が時刻ｔ２においてコマンド及び入力時刻情報を受信すると、制御部６０は、当該コマンドを受信した受信時刻を取得する。そして、受信時刻（時刻ｔ２）と入力時刻（時刻ｔ１）の差分であるｔ２−ｔ１を演算する。当該コマンドは、入力されてから待機時間Ｐ１後に実行されるものとすると、制御部６０は、当該コマンドの待機時間をＰ３＝Ｐ１−（ｔ２−ｔ１）に修正する。
【００６０】
そして、制御部６０は、コマンドを受信した時刻である時刻ｔ２から修正待機時間Ｐ３経過後である時刻ｔ３において当該コマンドを実行する。時刻ｔ３は、ホストプレイヤがホスト端末において同コマンドを時刻ｔ１において入力した場合に当該コマンドが実行される時刻である。このように、制御部６０が、ゲスト端末１６におけるコマンドの入力時刻と、ホスト端末１４における当該コマンドの受信時刻に基づいて、当該コマンドの待機時間を修正することで、ホスト端末１４とゲスト端末１６との間における通信遅延の影響によるゲスト端末１６からのコマンドの実行タイミングの遅延が解消される。つまり、ホスト端末１４において入力されたコマンドと、同時刻にゲスト端末１６において入力されたコマンドとを同じ時刻に実行することができる。
【００６１】
時刻ｔ３においてホスト端末１４で当該コマンドが実行されると、ホスト端末１４の表示部５０上において、当該コマンドに対応するゲストキャラクタのアニメーションが開始される。当該アニメーションはアニメーション継続時間Ｐ２の間継続するものとする。したがって、図６に示される通り、ホスト端末１４においては、当該アニメーションが終了するのは、時刻ｔ３からアニメーション継続時間Ｐ２経過後である時刻ｔ５となる。
【００６２】
時刻ｔ３においてホスト端末１４でコマンドが実行されると、ホスト端末１４は、ゲスト端末１６の表示部３０上の当該コマンドに対応するゲストキャラクタに同アニメーションを行わせるための表示変更情報をゲスト端末１６に送信する。ここで、当該表示変更情報に含まれるアニメーション継続時間は、コマンド受信時に演算した受信時刻（時刻ｔ２）と入力時刻（時刻ｔ１）の差分であるｔ２−ｔ１に基づいて短縮されたアニメーション継続時間である。具体的には、当該コマンドに対応するアニメーション継続時間がＰ２であったとすると、当該表示変更情報に含まれるアニメーション継続時間は、Ｐ４＝Ｐ２−（ｔ２−ｔ１）となる。
【００６３】
ホスト端末１４とゲスト端末１６との間における通信遅延により、ゲスト端末１６が当該表示変更情報を受信するのは、時刻ｔ３よりも遅れた時刻ｔ４となる。ホスト端末１４とゲスト端末１６と間の通信遅延量が一定であるならば、当該遅れ時間（ｔ４−ｔ３）は、コマンドの受信遅れ時間（ｔ２−ｔ１）と同等となる。ここで、ゲスト端末１６が受信した表示変更情報には、修正アニメーション継続時間Ｐ４が含まれているから、ゲスト端末１６の表示部３０においては、時刻ｔ４から修正アニメーション継続時間Ｐ４経過後の時刻ｔ５に当該アニメーションが終了する。なお、ゲスト端末１６の制御部４０は、アニメーション継続時間を短縮するため、例えば当該アニメーションを早送りで実行する。
【００６４】
このように、ゲスト端末１６におけるコマンドの入力時刻と、ホスト端末１４における当該コマンドの受信時刻に基づいて、当該コマンドに対応する表示変更情報に含まれるアニメーション継続時間が短縮されることで、当該コマンドに対応するゲストキャラクタのアニメーションの終了時刻が、ホスト端末１４とゲスト端末１６との間において一致する。つまり、ホスト端末１４とゲスト端末１６とにおいて、アニメーション開始時刻は異なるものの、少なくともアニメーション終了時刻の同期を取ることができる。
【００６５】
図７には、本実施形態の変形例における各処理の実行タイミングが示されている。
【００６６】
図７に示された変形例は、図６に示した基本実施形態に比して、ゲスト端末１６からのコマンドの実行に先立って、ホスト端末１４が当該コマンドに対応する表示変更情報をゲスト端末１６に送信する点において異なる。
【００６７】
時刻ｔ２においてゲスト端末１６からコマンド及び入力時刻情報をホスト端末１４が受信し、当該コマンドの受信時刻（時刻ｔ２）と当該コマンドの入力時刻（時刻ｔ１）の差分であるｔ２−ｔ１が演算される。制御部６０は、演算された当該差分に基づいて、当該コマンドに対応する表示変更情報の送信タイミングを決定する。
【００６８】
具体的には、制御部６０は、まず、ゲスト端末１６からコマンドを受信したタイミング（時刻ｔ２）において、基本実施形態と同様に当該コマンドの修正待機時間Ｐ３を演算する。そして、コマンド受信時刻（時刻ｔ２）と当該修正待機時間Ｐ３とに基づいて、当該コマンドが実行される時刻である時刻ｔ３を特定する。さらに、特定された時刻ｔ３から、演算された当該差分であるｔ２−ｔ１分だけ遡った時刻（時刻ｔ６）を特定する。そして、時刻ｔ６において、ゲスト端末１６に対して当該コマンドに対応する表示変更情報を送信する。
【００６９】
ホスト端末１４とゲスト端末１６との間における通信遅延により、ゲスト端末１６が当該表示変更情報を受信するのは、時刻ｔ６よりも遅れた時刻ｔ４となる。ゲスト端末１６とホスト端末１４間の通信遅延量が一定であるならば、当該遅れ時間（ｔ４−ｔ６）は、コマンドの受信遅れ時間（ｔ２−ｔ１）とほぼ同一となるため、ホスト端末１４における当該コマンドに対応するアニメーションの実行開始時刻ｔ３と、ゲスト端末１６におけるアニメーションの実行開始時刻ｔ４とが一致する。
【００７０】
このように、変形例によれば、ホスト端末１４とゲスト端末１６との間で、コマンドに対するアニメーションの表示開始時刻を一致させることができ、両端末間における表示変更処理の同期を取ることができる。
【００７１】
以下、図８に示されたフローチャートに従って、通信ゲームシステム１０の処理の流れについて説明する。
【００７２】
ステップＳ１０において、サーバ１２からホスト端末１４にゲームプログラムがダウンロードされ、ホスト端末１４においてゲームが開始されると、サーバ１２は、ホスト端末１４及びゲスト端末１６に対してゲーム開始信号を同報送信する。
【００７３】
ステップＳ１２において、ゲーム開始信号を受けたホスト端末１４はゲーム開始時刻を記録すると共に時間計測が開始される。同様に、ステップＳ１４において、ゲーム開始信号を受けたゲスト端末１６はゲーム開始時刻を記録すると共に時間計測が開始される。
【００７４】
ステップＳ１６において、ホスト端末１４は、ゲストキャラクタの行動待ち時間が経過し、ゲストキャラクタに対するコマンド入力が許可されたか否かを判定する。ゲストキャラクタに対するコマンド入力が許可された場合、ステップＳ１８において、ホスト端末１４は当該ゲストキャラクタに対するコマンド入力許可信号をゲスト端末１６に送信する。
【００７５】
ステップＳ２０において、コマンド入力許可信号を受けたゲスト端末１６において、ゲストプレイヤは、当該ゲストキャラクタに対するコマンドを入力する。
【００７６】
ステップＳ２２において、ゲスト端末１６は、当該コマンドが入力された入力時刻を取得し、入力されたコマンド、及び当該入力時刻を示す入力時刻情報をホスト端末１４に送信する。
【００７７】
ステップＳ２４において、ホスト端末１４は、ゲスト端末１６からのコマンド、及び入力時刻情報を受信する。ここで、ホスト端末１４は、当該コマンドを受信した時刻である受信時刻を取得する。
【００７８】
ステップＳ２６において、ホスト端末１４は、ステップＳ２４において取得した受信時刻と、ゲスト端末１６からの入力時刻情報を参照して得られるコマンド入力時刻に基づいて、当該コマンドに対する修正待機時間を演算する。
【００７９】
ステップＳ２８において、ホスト端末１４は、当該コマンドを受信してからステップＳ２６で演算した修正待機時間が経過したか否かを判定する。ホスト端末１４は、修正待機時間が経過するまで待機し、ステップＳ３０に進む。
【００８０】
ステップＳ３０において、ホスト端末１４は、当該コマンドを実行する。それと共に、ホスト端末１４の表示部５０において、ゲストキャラクタを当該コマンドに応じて動作させるアニメーションを開始する。さらに、ホスト端末１４は、ゲスト端末１６に表示されたゲストキャラクタのアニメーションを行うための表示変更情報をゲスト端末１６に送信する。当該表示変更情報に含まれるアニメーション継続時間は、ステップＳ２４において取得した受信時刻と、ゲスト端末１６からの入力時刻情報を参照して得られるコマンド入力時刻に基づいて短縮された、修正アニメーション継続時間である。
【００８１】
ステップＳ３２において、表示変更情報を受けたゲスト端末１６は、表示部３０において、表示変更情報に従って、修正アニメーション継続時間の間、ゲストキャラクタのアニメーションを実行する。
【００８２】
以上、本発明に係る実施形態を説明したが、本発明は上記実施形態に限られるものではなく、本発明の趣旨を逸脱しない限りにおいて種々の変更が可能である。
【符号の説明】
【００８３】
１０  通信ゲームシステム、１２  サーバ、１４  ホスト端末、１６ａ〜ｃ  ゲスト端末、３０，５０  表示部、３２，５２  入力部、３４，５４  通信部、３６，５６  タイマ、３８，５８  記憶部、４０，６０  ＣＰＵ。
【要約】      （修正有）【課題】通信回線を介して接続されたホスト端末及びゲスト端末を利用して行うマルチプレイゲームにおいて、ホスト端末とゲスト端末との間における通信遅延がゲームのプレイ内容に与える影響を低減する。【解決手段】ゲスト端末においてゲームに対するコマンドが入力されると、ゲスト端末において、当該コマンドを入力した入力時刻が取得される。当該コマンド及び当該入力時刻を示す情報は、ゲームプログラムが実行されるホスト端末に送信される。ホスト端末は、当該コマンドを受信した受信時刻を取得する。ホスト端末は、当該コマンドの受信時刻と当該コマンドのゲスト端末における入力時刻との差分に基づいて、当該コマンドを実行するまでの待機時間を短縮させる。【選択図】図６【図２】
0006000484.tif 000002
【図３】
0006000484.tif 000003
【図５】
0006000484.tif 000004
【図６】
0006000484.tif 000005
【図７】
0006000484.tif 000006
【図８】
0006000484.tif 000007
【図１】
0006000484.tif 000008
【図４】
0006000484.tif 000009