特許法第30条第2項適用 平成29年11月2日、https://itunes.apple.com/、https://itunes.apple.com/jp/app/id940320341、https://play.google.com/、https://play.google.com/store/apps/details?id=jp.konami.prospia、https://www.amazon.co.jp/、https://www.amazon.co.jp/dp/B072LZSKQG、https://www.konami.com/、https://www.konami.com/pawa/、https://www.konami.com/games/prospi_a/、https://twitter.com/pawapuro_pro
以下、本発明の実施形態の例を図面に基づいて説明する。
[1.ゲームシステムの構成]図1は、本発明の実施形態に係るゲームシステムの全体構成を示す。図1に示すように、本実施形態に係るゲームシステム1は、第1ゲーム端末10-1及び第2ゲーム端末10-2等を含む複数のゲーム端末と、サーバ装置30を含む。複数のゲーム端末の各々とサーバ装置30とはネットワークNに接続されている。このため、複数のゲーム端末の各々とサーバ装置30との間で相互にデータ通信が可能である。また、複数のゲーム端末の間でも相互にデータ通信が可能である。以下では、第1ゲーム端末10-1、第2ゲーム端末10-2、・・・の各々を総称して「ゲーム端末10」と記載することもある。
ゲーム端末10は、ユーザが操作するコンピュータである。より具体的には、ゲーム端末10は、ユーザがゲームをプレイするために使用するコンピュータである。例えば、ゲーム端末10は、家庭用ゲーム機(据置型ゲーム機)、携帯用ゲーム機、遊戯施設等に設置される業務用ゲーム機、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、デスクトップ型コンピュータ、又はラップトップ型コンピュータである。
図1に示すように、ゲーム端末10は制御部11、記憶部12、通信部13、入力部14、表示部15、及び音声出力部16を含む。制御部11は少なくとも一つのマイクロプロセッサを含み、記憶部12に記憶されたオペレーティングシステムやその他のプログラムに従って情報処理を実行する。記憶部12は、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、ハードディスクドライブ、又はソリッドステートドライブ)を含む。記憶部12はプログラムやデータを記憶するためのものである。通信部13は、ネットワークNを介して他の装置とデータ通信するためのものである。
入力部14は、ユーザがゲームに対する指示を行うためのものである。入力部14は、例えば、タッチパネル、ボタン(キー)、スティック(レバー)、マウス、マイク、又はセンサ等を含む。なお、入力部14は、ゲーム端末10に有線又は無線で接続された外部装置(ゲームコントローラ等)として設けられてもよいし、ゲーム端末10自体に設けられてもよい。以下では、ユーザが入力部14を介してゲームに対する指示を行う行為を「ゲーム操作」と記載する。
表示部15は、例えば液晶ディスプレイ又は有機ELディスプレイ等であり、制御部11による制御の下で画像を表示する。音声出力部16は、例えばスピーカ又はヘッドホン等であり、制御部11による制御の下で音声を出力する。なお、表示部15や音声出力部16は、ゲーム端末10に外部装置として接続された表示装置や音声出力装置であってもよいし、ゲーム端末10自体に設けられた表示装置や音声出力装置であってもよい。
サーバ装置30は例えばサーバコンピュータである。図1に示すように、サーバ装置30は制御部31、記憶部32、及び通信部33を含む。制御部31、記憶部32、通信部33は、ゲーム端末10の制御部11、記憶部12、通信部13と基本的に同様であるため、説明を省略する。サーバ装置30はデータベースDBにアクセスできる。データベースDBはサーバ装置30内に構築されてもよいし、サーバ装置30とは別のサーバコンピュータ内に構築されてもよい。
ゲーム端末10又はサーバ装置30は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)を備えてもよい。プログラムやデータは、情報記憶媒体を介してゲーム端末10又はサーバ装置30に供給されて、記憶部12又は記憶部32に記憶されてもよい。なお、プログラムやデータは、ネットワークNを介して遠隔地からゲーム端末10又はサーバ装置30に供給されてもよい。
なお以下では、タッチパネルを備えたスマートフォン又はタブレット型コンピュータがゲーム端末10である場合を想定する。
[2.ゲームの概要]ゲームシステム1では、複数のゲーム端末10をそれぞれ使用する複数のユーザが参加する各種ゲームが実行される。
例えば、複数のゲーム端末10が第1ゲーム端末10-1と第2ゲーム端末10-2とを含む場合、第1ゲーム端末10-1を使用する第1ユーザと、第2ゲーム端末10-2を使用する第2ユーザとが上記「複数のユーザ」に相当する。また例えば、複数のゲーム端末10が第1ゲーム端末10-1、第2ゲーム端末10-2、・・・、第nゲーム端末10-nを含む場合、第1ゲーム端末10-1を使用する第1ユーザ、第2ゲーム端末10-2を使用する第2ユーザ、・・・、第nゲーム端末10-nを使用する第nユーザが上記「複数のユーザ」に相当する。
「複数のユーザが参加するゲーム」とは、例えば、複数のユーザが対戦する対戦ゲームである。例えば、野球ゲーム、サッカーゲーム、バスケットボールゲーム、又はアイスホッケーゲーム等の対戦スポーツゲームが「複数のユーザが対戦する対戦ゲーム」の一例に相当する。また例えば、レースゲーム、格闘ゲーム、又はカードゲーム等も「複数のユーザが対戦する対戦ゲーム」の一例に相当する。これらのゲームに限られず、他の種類の対戦ゲームも「複数のユーザが対戦する対戦ゲーム」の一例に相当する。
また、「複数のユーザが参加するゲーム」とは、例えば、複数のユーザが協力して共通の目的を達成することを目指すゲームであってもよい。「目的」とは、例えば、対戦に勝利すること、敵を退治すること、ゲーム空間内の所定の地点に到達すること、ゲームアイテムを入手すること、又はゲーム成績が所定の基準を満たすこと等である。例えば、複数のユーザが共通のチームを操作して、対戦相手のチームとの試合に勝利することを目指すスポーツゲームが「複数のユーザが協力して共通の目的を達成することを目指すゲーム」の一例に相当する。なお、この場合の「試合」とはスポーツゲームの一部として実行されるものである。また例えば、複数のユーザがグループ(チーム又はパーティ等)を組んで、他のグループとの戦闘に勝利したり、特定の敵を退治したり、特定のゲームアイテムを入手したりすることを目指すアクションゲームやロールプレイングゲーム等も「複数のユーザが協力して共通の目的を達成することを目指すゲーム」の一例に相当する。
以下では、ゲームシステム1で実行されるゲームの一例として、ユーザが操作するチームと他のユーザが操作するチームとの間で野球の試合が行われる野球ゲームについて主に説明する。以下では、第1ゲーム端末10-1を使用する第1ユーザが操作する第1チームと、第2ゲーム端末10-2を使用する第2ユーザが操作する第2チームとの間で野球の試合が行われる場合の例について主に説明する。この野球ゲームは、野球ゲームプログラムが第1ゲーム端末10-1と第2ゲーム端末10-2との各々で実行されることによって実行される。なお、上記の試合は野球ゲームの一部として実行される。すなわち、試合は、野球ゲームに係るすべてのゲーム処理のうちの一部に相当する。
図2は、試合中に第1ゲーム端末10-1、第2ゲーム端末10-2、及びサーバ装置30によって実行される基本的な処理の一例について説明するための図である。試合中には図2に示す処理が繰り返し実行される。
図2に示すように、第1ゲーム端末10-1の制御部11(以下では「制御部11-1」と記載する。)は、第1ユーザによって行われたゲーム操作に関するゲーム操作データを取得し(S100-1)、通信部13を介して、ゲーム操作データをサーバ装置30に送信する(S102-1)。
「ゲーム操作データ」は、第1ユーザによって行われたゲーム操作の内容を示すデータであってもよいし、ゲーム操作に応じて実行されるべきゲーム制御の内容を示すデータであってもよい。例えば、ユーザが指をタッチパネルに接触させることによって打者キャラクタに打撃動作を行わせる野球ゲームにおいて、第1チームの打者キャラクタが打席に立っている状態で第1ユーザが打者キャラクタに打撃動作を行わせるために指をタッチパネルに接触させた場合、ステップS102-1では、ユーザが指をタッチパネルに接触させたことを示すデータをゲーム操作データとしてサーバ装置30に送信してもよいし、打者キャラクタに打撃動作を行わせることを示すデータをゲーム操作データとしてサーバ装置30に送信してもよい。
同様に、第2ゲーム端末10-2の制御部11(以下では「制御部11-2」と記載する。)は、第2ユーザによって行われたゲーム操作の内容を示すゲーム操作データを取得し(S100-2)、通信部13を介して、ゲーム操作データをサーバ装置30に送信する(S102-2)。ステップS100-2,S102-2はステップS100-1,S102-1と同様である。
サーバ装置30は、通信部33を介して、第1ゲーム端末10-1又は第2ゲーム端末10-2から送信されたゲーム操作データを受信する(S300)。そして、サーバ装置30の制御部31は、第1ゲーム端末10-1から受信したゲーム操作データを第2ゲーム端末10-2に送信し、第2ゲーム端末10-2から受信したゲーム操作データを第1ゲーム端末10-1に送信する(S302)。なお、制御部31は、第1ゲーム端末10-1から受信したゲーム操作データを第1ゲーム端末10-1と第2ゲーム端末10-2との両方に送信し、第2ゲーム端末10-2から受信したゲーム操作データを第1ゲーム端末10-1と第2ゲーム端末10-2との両方に送信してもよい。
第1ゲーム端末10-1は、通信部13を介して、ステップS302でサーバ装置30から送信されたゲーム操作データを受信する(S104-1)。そして制御部11-1は、ステップS100-1で取得されたゲーム操作データ(第1ゲーム端末10-1で取得されたゲーム操作データ)と、ステップS104-1で受信されたゲーム操作データ(第2ゲーム端末10-2で取得されたゲーム操作データ)に基づいて、第1ゲーム端末10-1の記憶部12に記憶されるゲーム状況データを更新する(S106-1)。
なお、ステップS302において、第1ゲーム端末10-1から受信したゲーム操作データが第1ゲーム端末10-1と第2ゲーム端末10-2との両方に送信される場合には、制御部11-1は、ステップS104-1で受信されたゲーム操作データ(第1ゲーム端末10-1で取得されたゲーム操作データと第2ゲーム端末10-2で取得されたゲーム操作データ)に基づいて、第1ゲーム端末10-1の記憶部12に記憶されるゲーム状況データを更新してもよい。
「ゲーム状況データ」はゲームの現在の状況を示すデータである。例えば、ゲーム状況データはゲーム空間の現在の状況を示すデータを含む。ここで、「ゲーム空間」は、記憶部12に構築される仮想的な空間であり、三つの座標軸が関連付けられた仮想的な3次元空間であってもよいし、二つの座標軸が関連付けられた仮想的な2次元平面であってもよい。「ゲーム空間」には1又は複数のゲームオブジェクトが配置される。例えば、野球ゲームの場合、野球場を表すゲーム空間が構築され、選手キャラクタやボールがゲーム空間に配置されることになり、「ゲーム空間の現在の状況を示すデータ」は、ゲーム空間に配置されるゲームオブジェクトの現在の状態を示すデータを含む。この場合、選手キャラクタの位置、向き、姿勢、移動方向、移動速度、現在行っている動作種類、ボールを保持しているか否か等を示すデータや、ボールの位置、移動方向、移動速度等を示すデータが「ゲームオブジェクトの状態を示すデータ」の一例に相当する。また、ゲーム状況データはゲームの進行状況を示すデータを含む。例えば、野球ゲームの場合、現在のイニング、両チームの得点等を示すデータが「ゲームの進行状況を示すデータ」の一例に相当する。
ステップS106-1では、第1ユーザのゲーム操作に応じたゲーム制御や第2ユーザのゲーム操作に応じたゲーム制御が行われるようにして、ゲーム制御データが更新される。例えば、第1ユーザの操作対象の選手キャラクタに第1ユーザのゲーム操作に応じた動作を行わせ、第2ユーザの操作対象の選手キャラクタに第2ユーザのゲーム操作に応じた動作を行わせるようにして、ゲーム制御データが更新される。
ステップS106-2の実行後、制御部11-1は、更新されたゲーム状況データに基づいて、ゲームの状況を示すゲーム画像を第1ゲーム端末10-1の表示部15に表示させる(S108-1)。「ゲーム画像」とは、例えば、ゲーム空間を所与の視点から見た様子を表す画像である。野球ゲームの場合、ゲーム画像は野球場を表すゲーム空間を所与の視点から見た様子を画像であり、試合の現在の状況を表す試合画像となる。
同様に、第2ゲーム端末10-2の制御部11-2は、ステップS302でサーバ装置30から送信されたゲーム操作データを受信する(S104-2)。そして制御部11-2は、受信したゲーム操作データに基づいて、第2ゲーム端末10-2の記憶部12に記憶されるゲーム状況データを更新する(S106-2)。また制御部11-2は、更新されたゲーム状況データに基づいて、ゲームの状況を示すゲーム画像を第2ゲーム端末10-2の表示部15に表示させる(S108-2)。
なお、第1ゲーム端末10-1と第2ゲーム端末10-2とではゲーム状況データが同じになるように処理される。すなわち、第1ゲーム端末10-1と第2ゲーム端末10-2とでは、ゲーム状況データを更新するためのアルゴリズムや乱数シード等として、共通のアルゴリズムや乱数シード等が用いられる。このため、ゲーム処理の結果がランダムに決定される場合であっても、第1ゲーム端末10-1と第2ゲーム端末10-2との両方で同じ結果が得られる。
野球ゲームでは、試合が正常に終了した時点で得点が多い方のユーザが勝者となり、得点が少ない方のユーザが敗者となる。
「試合が正常に終了した時点」とは、所定のルールに則って試合が最後まで実行されて試合の結果が確定された時点である。例えば、一般的な野球のルールによれば、9回裏の終了時点でいずれか一方のチームがリードしている場合に試合が終了するため、この場合、9回裏の終了時点が「試合が正常に終了した時点」に相当する。また、9回表の終了時点で後攻チームがリードしていたことによって試合が終了した場合、9回表の終了時点が「試合が正常に終了した時点」に相当する。また、9回裏の途中で後攻チームがリードした状態になったことによって試合が終了した場合、9回裏の途中で後攻チームがリードした状態になった時点が「試合が正常に終了した時点」に相当する。また、9回裏の終了時点で同点であったことによって延長戦に突入し、延長戦のイニングの裏の終了時点でいずれか一方のチームがリードしていることによって試合が終了した場合、当該イニングの裏の終了時点が「試合が正常に終了した時点」に相当する。なお、いわゆるコールドゲームのルールが有効である場合、コールドゲームが成立した時点が「試合が正常に終了した時点」に相当する。
以下、上記の野球ゲームにおいて、第1ゲーム端末10-1と第2ゲーム端末10-2とのいずれか一方が通信不調状態になってしまった場合に、通信不調状態になった一方のゲーム端末10のユーザと他方のゲーム端末10のユーザとの双方の不満を抑制しつつ、試合を途中で終了させるための技術について説明する。
図3は、試合中に第2ゲーム端末10-2が通信不調状態になった場合に第1ゲーム端末10-1とサーバ装置30とによって行われる動作の一例について説明するための図である。図3に示す動作は、後述の図10A~図10Eに示す処理がプログラムに従って実行されることによって実現される。
「通信不調状態」とは、例えば、ゲーム端末10とサーバ装置30との間の通信が正常に行われていない状態である。言い換えれば、ゲーム端末10からのデータがサーバ装置30で受信されない状態である。第2ゲーム端末10-2が通信不調状態になった場合、第2ゲーム端末10-2のゲーム操作データがサーバ装置30で受信されなくなり(図2のステップS300参照)、その結果、第2ゲーム端末10-2のゲーム操作データが第1ゲーム端末10-1に送信されなくなる(図2のステップS302参照)。
図3に示す例では、サーバ装置30が、試合中に第2ゲーム端末10-2が通信不調状態になったことを検知している(OP300)。
例えば、各ゲーム端末10では、アクティブなプログラムが野球ゲームプログラムから他のプログラムに切り替えられた場合や、ゲーム端末10の電源を切断する操作やゲーム端末10をスリープ状態(休止状態)にする操作が行われた場合等に、野球ゲームプログラムがサスペンドになる。例えば、第2ゲーム端末10-2において野球ゲームプログラムがサスペンドになった場合に第2ゲーム端末10-2は所定の通知(以下では「サスペンド通知」と記載する。)をサーバ装置30に送信する。そして、第2ゲーム端末10-2からのサスペンド通知がサーバ装置30で受信された場合にサーバ装置30は第2ゲーム端末10-2が通信不調状態になったと判定する。
また例えば、各ゲーム端末10はキープアライブ情報を定期的にサーバ装置30に送信する。例えば、第2ゲーム端末10-2からのキープアライブ情報がサーバ装置30で受信されない状態が所定期間にわたって継続した場合にサーバ装置30は第2ゲーム端末10-2が通信不調状態になったと判定する。ゲーム端末10で野球ゲームプログラムが強制終了された場合等には、上述のサスペンド通知がサーバ装置30に送信されないが、このような場合、キープアライブ情報もサーバ装置30に送信されなくなるため、キープアライブ情報に関する上記判定を行うによって、サーバ装置30は当該ゲーム端末10が通信不調状態になったことを検知できる。
第2ゲーム端末10-2が通信不調状態になった場合、サーバ装置30は第2ゲーム端末10-2の通信不調フラグを「1」に設定する(OP302)。
「第2ゲーム端末10-2の通信不調フラグ」とは、第2ゲーム端末10-2が通信不調状態であるか否かを示す情報である。値「0」又は「1」が第2ゲーム端末10-2の通信不調フラグに設定される。値「0」は第2ゲーム端末10-2が通信不調状態でないことを示し、値「1」は第2ゲーム端末10-2が通信不調状態であることを示す。なお、第2ゲーム端末10-2の通信不調フラグは試合開始時に値「0」に初期化される。
さらに、サーバ装置30は、第2ゲーム端末10-2が通信不調状態になったことを示す通知(以下では「通信不調通知」と記載する。)を第1ゲーム端末10-1に送信する(OP304)。
また、サーバ装置30は終了指示受付条件が満足したか否かを判定し、終了指示受付条件が満足された場合に第1ゲーム端末10-1(第1ユーザ)の終了指示受付フラグを「1」に更新する(OP306)。
「終了指示受付条件」とは、第1ゲーム端末10-1で第1ユーザから終了指示の受付を開始するために満足されるべき条件である。また、「終了指示」は、試合を途中で終了させることを指示するものである。終了指示の詳細については後述する(後述の図5参照)。
例えば、第2ゲーム端末10-2が通信不調状態になってから所定時間が経過した場合に終了指示受付条件が満足されたと判定される。または、サーバ装置30が第2ゲーム端末10-2から切断通知を所定回数受信した場合に終了指示受付条件が満足されたと判定される。
また、「第1ゲーム端末10-1の終了指示受付フラグ」とは、第1ゲーム端末10-1で第1ユーザから終了指示を受け付けるか否かを示す情報である。言い換えれば、第1ゲーム端末10-1で第1ユーザが終了指示を行うことを許容するか否かを示す情報である。値「0」又は「1」が終了指示受付フラグに設定される。値「0」は第1ゲーム端末10-1で第1ユーザから終了指示を受け付けてはいけないことを示し、値「1」は第1ゲーム端末10-1で第1ユーザから終了指示を受け付けてもよいことを示す。なお、第1ゲーム端末10-1の終了指示受付フラグは試合開始時に値「0」に初期化される。
第1ゲーム端末10-1は、サーバ装置30から送信された通信不調通知を受信する(OP100)。この場合、第1ゲーム端末10-1は、ゲーム(試合)の状況が第2ユーザのゲーム操作データを必要な状況になるのを待つ(OP102)。
「第2ユーザのゲーム操作データ」とは、第2ゲーム端末10-2で取得されるゲーム操作データである(図2のステップS100-1)。また、「第2ユーザのゲーム操作データを必要な状況」とは、ゲーム(試合)を進行させるために第2ユーザのゲーム操作データが必要な状況である。言い換えれば、ゲーム状況データを更新するために第2ユーザのゲーム操作データが必要な状況である。
例えば、打者キャラクタが第1ユーザのゲーム操作に応じて打撃動作を行い、投手キャラクタが第2ユーザのゲーム操作に応じて投球動作を行い、守備についている第2チームの選手キャラクタがコンピュータの制御に応じて守備動作を行う場面の場合、投手キャラクタによる投球動作が行われてから、投手キャラクタによる次の投球動作が行われるまでの間、第2ユーザがゲーム操作を行う必要はないため、第2ユーザのゲーム操作データは必要ない。このため、この場合、第1ゲーム端末10-1は、投手キャラクタによって投球動作が行われる状況になった場合に、ゲームの状況が第2ユーザのゲーム操作データを必要な状況になったと判定する。
ゲームの状況が第2ユーザのゲーム操作データを必要な状況になった場合、第1ゲーム端末10-1は試合(ゲーム)の進行を中断し、通知画像を表示部15に表示する(OP104)。
通知画像は、対戦相手(第2ユーザ)のゲーム操作データを受信するのを待っていることを第1ユーザに通知するための画像である。図4は通知画像の一例を示す。図4に示すように、通知画像G10は、対戦相手(第2ユーザ)からの応答を待っていること、すなわち、対戦相手(第2ユーザ)のゲーム操作データを受信するのを待っていることを示す要素E11を含む。なお、「要素」は画像を構成する要素であり、例えばテキスト又は画像等である。図4に示すような通知画像G10が表示されることによって、第1ユーザは、第2ゲーム端末10-2が通信不調状態になり、第2ユーザからの応答を待っていること(第2ユーザのゲーム操作データを受信するのを待っていること)を把握できる。
上述したように、ゲームシステム1では、第2ゲーム端末10-2が通信不調状態になったとしても、第1ゲーム端末10-1は、ゲームの状況が第2ユーザのゲーム操作データを必要な状況になるまでゲーム(試合)の進行を中断させずにゲームを進行させ、ゲームの状況が第2ユーザのゲーム操作データを必要な状況になった時点でゲームの進行を中断させ、表示部15に表示される画像をゲーム画像(試合画像)から通知画像に変える。後述するように、通知画像G10が表示された後、すぐに第2ゲーム端末10-2が通信不調状態から通常状態に戻った場合には、通知画像G10が消えることになるが(後述の図6の動作OP128参照)、このような場合、通知画像G10が表示されることによって第1ユーザにストレスを感じさせてしまうおそれがある。この点、ゲームシステム1によれば、できる限り通知画像G10を表示させないように図ることができ、その結果、ユーザにストレスを感じさせないように図ることができる。
通知画像G10が表示部15に表示されている場合、所与のタイミングで、第1ゲーム端末10-1は、第1ユーザからの終了指示の受付を開始してもよいか否かの問合せをサーバ装置30に送信する(OP106)。例えば、通知画像G10が表示部15に表示されてから所定時間が経過した場合に、第1ゲーム端末10-1は上記問合せをサーバ装置30に送信する。
サーバ装置30は、第1ゲーム端末10-1から送信された問合せを受信する(OP308)。この場合、第1ゲーム端末10-1の終了指示受付フラグが「1」であれば、サーバ装置30は、第1ユーザからの終了指示の受付を開始してもよいことを示す受付開始許可を第1ゲーム端末10-1に送信する(OP310)。
図3に示す例では、第1ゲーム端末10-1の終了指示付フラグが「1」に更新された後で問合せがサーバ装置30で受信されているが、第1ゲーム端末10-1の終了指示付フラグが「1」に更新される前に問合せがサーバ装置30で受信される場合もある。この場合、第1ゲーム端末10-1の終了指示受付フラグが「1」でないため、サーバ装置30は、第1ユーザからの終了指示の受付を開始してはいけないことを示す不許可を第1ゲーム端末10-1に送信する。この場合、所定時間が経過した後で、第1ゲーム端末10-1は問合せをサーバ装置30に再度送信する。
第1ゲーム端末10-1は、サーバ装置30から送信された受付開始許可を受信する(OP108)。この場合、第1ゲーム端末10-1は終了指示受付画像を表示部15に表示する(OP110)。
終了指示受付画像は終了指示を受け付けるための画像である。図5は終了指示受付画像の一例を示す。図5に示すように、終了指示受付画像G20は、対戦相手(第2ユーザ)からの応答を待っていること、すなわち、対戦相手(第2ユーザ)のゲーム操作データを受信するのを待っていることを示す要素E21と、終了指示を受け付けるための要素E22とを含む。「終了指示」とは、第2ユーザのゲーム操作データが受信されるのを待つことなく、「第1ユーザの勝利、第2ユーザの敗北)」という結果で試合を途中で終了させることをゲームシステム1に指示するものである。
終了指示受付画像G20が表示されている間、第1ゲーム端末10-1は、終了指示操作が第1ユーザによって行われたか否か(すなわち、要素E22が第1ユーザによって選択されたか否か)や、終了指示受付画像G20が表示部15に表示されてから所定時間が経過したか否かを監視する(OP112)。
終了指示操作が第1ユーザによって行われた場合、すなわち、要素E22が第1ユーザによって選択された場合(OP112:Yes)、第1ゲーム端末10-1は、「第1ユーザの勝利、第2ユーザの敗北)」という結果で試合を途中で終了させることを要求することを示す終了要求をサーバ装置30に送信する(OP114)。
また、終了指示受付画像G20が表示部15に表示されてから、終了指示操作が行われることなく(要素E22が選択されることなく)、所定時間が経過した場合にも(OP112:Yes)、第1ゲーム端末10-1は、「第1ユーザの勝利、第2ユーザの敗北)」という結果で試合を途中で終了させることを要求することを示す終了要求をサーバ装置30に送信する(OP114)。
サーバ装置30は、第1ゲーム端末10-1から送信された終了要求を受信する(OP312)。この場合、サーバ装置30は、「第1ユーザの勝利、第2ユーザの敗北)」という結果で試合(ゲーム)を途中で終了させる(OP314)。また、サーバ装置30は、第1ユーザによる終了指示に応じて試合が終了したことを第2ユーザに通知する。例えば、第1ユーザによる終了指示に応じて試合が終了したことを示すメッセージ又は電子メールを第2ユーザ宛に送信したり、第2ユーザによってゲームプログラムが次回起動された際に、第1ユーザによる終了指示に応じて試合が終了したことを示すメッセージを表示したりする。このため、第2ユーザは、第1ユーザによる終了指示に応じて試合が終了したことを把握できる。
ゲームシステム1では、第1ゲーム端末10-1の第1ユーザと、第2ゲーム端末10-2の第2ユーザとの間の試合中に第2ゲーム端末10-2が通信不調状態になった場合に、以上のような動作が行われることによって、第1ユーザは自らの意思で試合を途中で終了させることができるようになり、中断されたゲームの再開を待つより他ないという不満を第1ユーザに与えないようにすることができる。また、上記のような場合、通信不調状態になった第2ゲーム端末10-2を使用していた第2ユーザが敗北し、終了指示を行った第1ユーザが勝利したと決定されるが、対戦相手の第1ユーザの意思によって試合が終了して第2ユーザが敗北したと決定されるため、第2ユーザも納得せざるを得ず、第2ユーザの納得を得ることができ、第2ユーザの不満を低減することができる。
またゲームシステム1では、第2ゲーム端末10-2が通信不調状態になった場合、直ちに終了指示の受付を開始せずに、終了指示受付条件が満足されるのを待って終了指示の受付を開始するようになっている。このため、第2ゲーム端末10-2が一時的に通信不調状態になったような場合には終了指示を受け付けないようにすることができ、その結果、第2ゲーム端末10-2が一時的に通信不調状態になったような場合には試合が終了されないようにすることができる。
またゲームシステム1では、終了指示受付画像G20が第1ゲーム端末10-1の表示部15に表示されてから所定時間が経過した場合に、終了指示操作が行われていなかったとしても、試合を終了させるようになっている。このため、通信不調状態になった第2ゲーム端末10-2が通常状態に回復することもなく、終了指示も行われない状態が長く続いてしまうことを回避することができる。
図6は、試合中に第2ゲーム端末10-2が通信不調状態になった場合の第1ゲーム端末10-1とサーバ装置30との動作の他の一例について説明するための図である。図6は、第2ゲーム端末10-2が通信不調状態になった後で、終了指示受付条件が満足される前に第2ゲーム端末10-2が通信不調状態から通常状態に戻った場合の第1ゲーム端末10-1とサーバ装置30との動作の例を示している。図6に示す動作も、後述の図10A~図10Eに示す処理がプログラムに従って実行されることによって実現される。
図6の動作OP320~OP324は図3の動作OP300~OP304と同じであり、図6の動作OP120~OP124は図3の動作OP100~OP104と同じであるため、これらについては説明を省略する。
図6に示す例では、終了指示受付条件が満足される前に、第2ゲーム端末10-2が通信不調状態から通常状態(正常状態)に戻ったことをサーバ装置30が検知している(OP326)。
例えば、各ゲーム端末10では、野球ゲームプログラムがアクティブなプログラムになった場合等に所定の通知(以下では「アクティブ通知」と記載する。)をサーバ装置30に送信する。このため、例えば、第2ゲーム端末10-2からのアクティブ通知がサーバ装置30で受信された場合に、サーバ装置30は第2ゲーム端末10-2が通信不調状態から通常状態に戻ったと判定する。
なお、各ゲーム端末10では、強制終了された野球ゲームプログラムが再起動された場合にも所定の通知(アクティブ通知)をサーバ装置30に送信する。このため、例えば、第2ゲーム端末10-2において野球ゲームプログラムが強制終了され、その後、野球ゲームプログラムが再起動された場合には、アクティブ通知が第2ゲーム端末10-2からサーバ装置30に送信され、当該アクティブ通知がサーバ装置30で受信された場合に、サーバ装置30は第2ゲーム端末10-2が通信不調状態から通常状態に戻ったと判定する。なお、第2ゲーム端末10-2からのキープアライブ情報がサーバ装置30で受信された場合に、サーバ装置30は第2ゲーム端末10-2が通信不調状態から通常状態に戻ったと判定するようにしてもよい。
第2ゲーム端末10-2が通信不調状態から通常状態に戻った場合、サーバ装置30は第2ゲーム端末10-2の通信不調フラグを「0」に更新する(OP328)。またサーバ装置30は、第2ゲーム端末10-2が通信不調状態から通常状態に回復したことを示す通知(以下では「通信回復通知」と記載する。)を第1ゲーム端末10-1に送信する(OP330)。
第1ゲーム端末10-1は、サーバ装置30から送信された通信回復通知を受信する(OP126)。この場合、第1ゲーム端末10-1は試合(ゲーム)を再開させる(OP128)。この場合、第2ゲーム端末10-2が通信不調状態から通常状態に戻ったことによって、第2ユーザのゲーム操作データがサーバ装置30を介して第1ゲーム端末10-1に供給されることになるため(図2のステップS102-2,S300,S302,S104-1)、第1ゲーム端末10-1は通知画像G10の表示を終了してゲーム画像(試合画像)を表示部15に表示させることによって、中断されていた試合を再開する。
なお、この後、再度、第2ゲーム端末10-2が通信不調状態になった場合には、図3(又は図6)に示す動作と同様の動作がサーバ装置30と第1ゲーム端末10-1とによって行われることになる。
図7A及び図7Bは、試合中に第2ゲーム端末10-2が通信不調状態になった場合の第1ゲーム端末10-1とサーバ装置30との動作の他の一例について説明するための図である。図7A及び図7Bは、第2ゲーム端末10-2が通信不調状態になり、かつ、終了指示受付条件が満足された後で第2ゲーム端末10-2が通信不調状態から通常状態に戻った場合の第1ゲーム端末10-1とサーバ装置30との動作の例を示している。図7A及び図7Bに示す動作も、後述の図10A~図10Eに示す処理がプログラムに従って実行されることによって実現される。
図7Aの動作OP340~OP350は図3の動作OP300~OP310と同じであり、図7Aの動作OP130~OP140は図3の動作OP100~OP110と同じであるため、これらについては説明を省略する。
図7A及び図7Bに示す例では、終了指示受付条件が満足された後で、第2ゲーム端末10-2が通信不調状態から通常状態に戻ったことをサーバ装置30が検知している(OP352)。
この場合、サーバ装置30は第2ゲーム端末10-2の通信不調フラグを「0」に更新する(OP354)。またサーバ装置30は通信回復通知を第1ゲーム端末10-1に送信する(OP356)。動作OP354,OP356は図6の動作OP328,OP330と同様である。
第1ゲーム端末10-1は、サーバ装置30から送信された通信回復通知を受信する(OP142)。この場合、制御部11-1は試合(ゲーム)を再開させる(OP144)。動作OP142,OP144は図6の動作OP126,OP128と同様である。
また、図7A及び図7Bに示す例では、以上のようにして試合が再開された後で、第2ゲーム端末10-2が通信不調状態になったことをサーバ装置30が再度検知している(OP360)。
この場合、サーバ装置30は第2ゲーム端末10-2の通信不調フラグを「1」に設定する(OP362)。またサーバ装置30は、通信不調通知と受付開始許可とを第1ゲーム端末10-1に送信する(OP364)。この場合、第1ユーザの終了指示受付フラグが「1」に設定された状態になっているため(OP346参照)、サーバ装置30は、第2ゲーム端末10-2が通信不調状態になったことを示す通信不調通知とともに、第1ユーザからの終了指示の受付を開始してもよいことを示す受付開始許可を第1ゲーム端末10-1に送信する。この点で動作OP364は図3の動作OP304と異なる。
第1ゲーム端末10-1は、サーバ装置30から送信された通信不調通知と受付開始許可とを受信する(OP150)。この場合、第1ゲーム端末10-1は終了指示受付画像G20を表示部15に表示する(OP152)。この場合、通信不調通知とともに受付開始許可が受信されるため、第1ゲーム端末10-1は、第2ゲーム端末10-2が通信不調状態になったことのみを示す通知画像G10を表示部15に表示することなく、第1ユーザから終了指示を受け付けるための終了指示受付画像G20を表示部15に表示する。この点で動作OP150,OP152は図3の動作OP100~OP110と異なる。
終了指示受付画像G20が表示された後の動作OP154,OP156,OP366,OP368は、図3の動作OP112,OP114,OP312,OP314と同様であるため、これらについては説明を省略する。
図7A及び図7Bに示す例では、第1ユーザからの終了指示の受付が開始された後で試合が再開され、その後で、再度、第2ゲーム端末10-2が通信不調状態になっている。上述したように、このような場合には、通知画像G10を表示することなく、直ちに、終了指示受付画像G20を表示することによって、第1ユーザからの終了指示の受付を直ちに開始するようになっている。このため、例えば、第2ユーザが第1ユーザに対する嫌がらせを行うべく試合中に故意に第2ゲーム端末10-2を通信不調状態にして通常状態に戻すことを繰り返した場合に、第1ユーザは直ちに試合を終了させることができる。
図8は、試合中に第2ゲーム端末10-2が通信不調状態になった場合の第1ゲーム端末10-1とサーバ装置30との動作の他の一例について説明するための図である。図8は、図7Aに示した例において、サーバ装置30が通信回復通知を第1ゲーム端末10-1に送信する前にサーバ装置30が終了要求を第1ゲーム端末10-1から受信した場合の第1ゲーム端末10-1とサーバ装置30との動作の例を示している。言い換えれば、サーバ装置30が終了要求を第1ゲーム端末10-1から受信する直前に第2ゲーム端末10-2が通信不調状態から通常状態に戻った場合の第1ゲーム端末10-1とサーバ装置30との動作の例を示している。図8に示す動作も、後述の図10A~図10Eに示す処理がプログラムに従って実行されることによって実現される。
図8の動作OP370~OP384は図7Aの動作OP340~OP354と同じであり、図8の動作OP160~OP170は図7Aの動作OP130~OP140と同じである。また、図8の動作OP172は、終了指示操作が行われた場合の図3,7Bの動作OP114,OP156と同様である。このため、これらについては説明を省略する。
図8に示す例では、第1ゲーム端末10-1から終了要求を受信する直前に、サーバ装置30は第2ゲーム端末10-2が通信不調状態から通常状態に戻ったことを検知し(OP382)、第2ゲーム端末10-2の通信不調フラグを「0」に戻している(OP384)。しかしながら、第1ゲーム端末10-1から終了要求を受信する直前に、第2ゲーム端末10-2が通信不調状態から通常状態に戻っていたとしても、第1ゲーム端末10-1から終了要求を受信した場合には(OP386)、サーバ装置30は直ちに試合を終了させる(OP388)。動作OP386,OP388は図3の動作OP312,OP314と同様である。なお、動作OP384の後、第1ゲーム端末10-1から終了要求を受信する前に、サーバ装置30が通信回復通知を第1ゲーム端末10-1に送信した場合には、図7Aの動作OP356,OP142,OP144と同様の動作が行われることによって、試合が再開される。
この後、再度、第2ゲーム端末10-2が通信不調状態になった場合には、図7Bに示す動作と同様の動作がサーバ装置30と第1ゲーム端末10-1とによって行われることになる。
なお、図3~図8では、第2ゲーム端末10-2が通信不調状態になった場合の第1ゲーム端末10-1とサーバ装置30との動作の例について示したが、第1ゲーム端末10-1が通信不調状態になった場合には第2ゲーム端末10-2とサーバ装置30とが図3~図8に示した動作と同様の動作を行うことになる。
[3.機能ブロック]次に、以上に説明した動作を実現するための構成について説明する。図9はゲームシステム1で実現される機能ブロックの一例を示す。
図9に示すように、各ゲーム端末10は、データ記憶部1000と、ゲーム操作受付部1010と、送信部1020と、受信部1030と、ゲーム状況データ更新部1040と、ゲーム画像表示制御部1050と、通知表示制御部1060と、通知表示制限部1070と、問合せ部1080と、終了指示受付部1090と、終了制御部1100とを含む。このうち、データ記憶部1000は記憶部12によって実現され、送信部1020及び受信部1030は制御部11及び通信部13によって実現され、他の機能ブロックは制御部11によって実現される。
またサーバ装置30は、データ記憶部3000と、受信部3010と、送信部3020と、継続制御部3030と、通信状態判定部3040と、終了指示受付条件判定部3050と、返答部3060と、終了制御部3070と、対戦結果決定部3080と、終了通知制御部3090とを含む。このうち、データ記憶部3000は記憶部32又はデータベースDBによって実現され、受信部3010及び送信部3020は制御部31及び通信部33によって実現され、他の機能ブロックは制御部31によって実現される。
[3-1]各ゲーム端末10のデータ記憶部1000は、ゲームを実行するために必要なデータを記憶する。
例えば、ゲーム状況データD1001がデータ記憶部1000に記憶される。ゲーム状況データD1001はゲームの現在の状況を示すデータである。例えば、ゲーム状況データD1001はゲーム空間の現在の状況を示すデータを含む。「ゲーム空間」は、記憶部12に構築される仮想的な空間であり、三つの座標軸が関連付けられた仮想的な3次元空間であってもよいし、二つの座標軸が関連付けられた仮想的な2次元平面であってもよい。「ゲーム空間」には1又は複数のゲームオブジェクトが配置され、「ゲーム空間の現在の状況を示すデータ」は、ゲーム空間に配置されるゲームオブジェクトの現在の状態を示すデータを含む。
例えば、野球ゲーム、サッカーゲーム、バスケットボールゲーム、又はアイスホッケーゲーム等のスポーツゲームの場合、試合会場を表すゲーム空間が構築され、選手キャラクタやボール等(ゲームオブジェクトの一例)がゲーム空間に配置される。この場合、選手キャラクタの位置、向き、姿勢、移動方向、移動速度、現在行っている動作種類、ボールを保持しているか否か等を示すデータや、ボールの位置、移動方向、移動速度等を示すデータが「ゲームオブジェクトの現在の状態を示すデータ」の一例に相当する。
また例えば、レースゲームの場合、レース場を表すゲーム空間が構築され、レースカー等(ゲームオブジェクトの一例)がゲーム空間に配置される。この場合、レースカーの位置、向き、移動方向、移動速度等が「ゲームオブジェクトの現在の状態を示すデータ」の一例に相当する。また例えば、格闘ゲーム、アクションゲーム、又はロールプレイングゲームの場合、ゲームキャラクタ(ゲームオブジェクトの一例)がゲーム空間に配置される。この場合、ゲームキャラクタの位置、向き、姿勢、移動方向、移動速度、現在行っている動作種類、ヒットポイント(ライフポイント)等を示すデータが「ゲームオブジェクトの現在の状態を示すデータ」の一例に相当する。また例えば、カードゲームの場合、ゲームカード(ゲームオブジェクトの一例)がゲーム空間に配置される。この場合、ゲームカードの位置、向き等を示すデータが「ゲームオブジェクトの現在の状態を示すデータ」の一例に相当する。
また、ゲーム状況データD1001はゲームの進行状況を示すデータを含む。例えば、野球ゲームの場合、現在のイニング、両チームの得点等を示すデータが「ゲームの進行状況を示すデータ」の一例に相当する。また例えば、サッカーゲームの場合、試合開始からの経過時間、両チームの得点等を示すデータが「ゲームの進行状況を示すデータ」の一例に相当する。
[3-2]サーバ装置30のデータ記憶部3000も、ゲームを実行するために必要なデータを記憶する。
例えば、フラグデータD3001がデータ記憶部3000に記憶される。フラグデータD3001は、各ゲーム端末10の通信不調フラグや終了指示受付フラグを示すデータである。
[3-3]各ゲーム端末10のゲーム操作受付部1010はゲーム操作を受け付ける。
「ゲーム操作」とは、ユーザが入力部14を介してゲームに対する指示を行う行為である。例えば、タッチパネルをタッチしたり、ボタンを押下したり、スティックを傾倒したり、マウスを動かしたり、マイクに音声を入力したり、センサにジェスチャを検出させたりする行為が「ゲーム操作」の一例に相当する。
「ゲーム操作を受け付ける」とは、ユーザによって行われたゲーム操作の内容を取得することである。例えば、ユーザによってタッチパネルがタッチされたことを示す情報を取得すること、ユーザによってタッチされた位置を示す情報を取得すること、ユーザによって操作されたボタンを示す情報を取得すること、ユーザによって傾倒されたスティックの傾倒方向や角度を示す取得すること、マイクに入力された音声を示す情報を取得すること、又は、センサによって検出されたユーザのジェスチャを示す情報を取得すること等が「ゲーム操作を受け付ける」ことの一例に相当する。
先述の野球ゲームの例の場合、ゲーム操作受付部1010は、例えば、打者キャラクタに打撃動作を行わせるための打撃操作、又は、投手キャラクタに投球動作を行わせるための投球操作を受け付ける。
[3-4]各ゲーム端末10の送信部1020は、ゲーム操作に応じたデータをサーバ装置30に送信する。
「ゲーム操作に応じたデータ」とは、ゲーム操作の内容を示すデータであってもよいし、ゲーム操作に応じて行われるべきゲーム制御の内容を示すデータであってもよい。なお、ゲーム操作とゲーム制御の内容との対応関係を示す対応関係情報に基づいて、ゲーム操作に応じて行われるべきゲーム制御の内容は特定される。例えば、ゲーム操作に応じてゲームオブジェクトが動作するゲームの場合、ゲーム操作に応じてゲームオブジェクトが行うべき動作の内容を示すデータが「ゲーム制御の内容を示すデータ」の一例に相当する。
[3-5]サーバ装置30の受信部3010は、複数のゲーム端末10の各々から送信されたデータを受信する。すなわち、受信部3010は、複数のゲーム端末10の各々の送信部1020によって送信されたデータを受信する。
[3-6]サーバ装置30の送信部3020は、複数のゲーム端末10の各々から受信されたデータを、少なくとも、当該データの送信元以外のゲーム端末10に送信する。
先述の野球ゲームの例の場合、送信部3020は、第1ゲーム端末10-1の送信部1020から送信されたデータを第2ゲーム端末10-2に送信する。また送信部3020は、第2ゲーム端末10-2の送信部1020から送信されたデータを第1ゲーム端末10-1に送信する。
なお、送信部3020は、複数のゲーム端末10の各々から受信されたデータを当該データの送信元のゲーム端末10にも送信してもよい。すなわち、送信部3020は、第1ゲーム端末10-1の送信部1020から送信されたデータを第1ゲーム端末10-1と第2ゲーム端末10-2と両方に送信してもよい。同様に、送信部3020は、第2ゲーム端末10-2の送信部1020から送信されたデータを第1ゲーム端末10-1と第2ゲーム端末10-2と両方に送信してもよい。
[3-7]各ゲーム端末10の受信部1030は、サーバ装置30から送信されたデータを受信する。すなわち、受信部1030は、サーバ装置30の送信部3020によって送信されたデータを受信する。
[3-8]各ゲーム端末10のゲーム状況データ更新部1040は、ゲーム操作受付部1010によって受け付けられるゲーム操作と、受信部1030によって受信されるデータとに基づいて、ゲーム状況データを更新する。
「ゲーム操作受付部1010によって受け付けられるゲーム操作と、受信部1030によって受信されるデータとに基づいて、ゲーム状況データを更新する」とは、ゲーム端末10で受け付けられたゲーム操作に応じて行われるべきゲーム制御と、他のゲーム端末10で受け付けられたゲーム操作に応じて行われるべきゲーム制御とが行われるようにして、ゲーム状況データを更新することである。なお、「他のゲーム端末で受け付けられたゲーム操作に応じて行われるべきゲーム制御」は、受信部1030によって受信されるデータに基づいて特定される。また、サーバ装置30の送信部3020が複数のゲーム端末10の各々から受信されたデータを当該データの送信元以外のゲーム端末10にも送信する場合には、「ゲーム端末10で受け付けられたゲーム操作に応じて行われるべきゲーム制御」は、受信部1030によって受信されるデータに基づいて特定されてもよい。すなわち、例えば、サーバ装置30の送信部3020が第1ゲーム端末10-1から受信されたデータを第2ゲーム端末10-2とともに第1ゲーム端末10-1にも送信する場合には、第1ゲーム端末10-1では、「第1ゲーム端末10-1で受け付けられたゲーム操作に応じて行われるべきゲーム制御」を受信部1030によって受信されるデータに基づいて特定してもよい。
[3-9]各ゲーム端末10のゲーム画像表示制御部1050は、ゲーム状況データに基づいて、ゲームの状況を示すゲーム画像を当該ゲーム端末10の表示部15に表示させるための制御を行う。
「画像を表示部15に表示させるための制御」とは、画像を生成して表示部15に表示させることである。なお、「画像を表示部15に表示させるための制御」とは、他の装置から受信された画像を表示部15に表示させることであってもよい。例えば、ゲーム画像表示制御部1050は、ゲーム空間を所与の視点から見た様子を示すゲーム画像を生成して表示部15に表示させる。
[3-10]サーバ装置30の通信状態判定部3040は、複数のゲーム端末10のうちの少なくとも一つが通信不調状態になったか否かを判定する。
「通信不調状態」とは、例えば、サーバ装置30とゲーム端末10との間の通信が正常に行われていない状態である。具体的には、例えば、サーバ装置30とゲーム端末10との間の通信が切断された状態(通信切断状態)である。言い換えれば、ゲーム端末10からのデータがサーバ装置30で受信できていない状態である。
例えば、各ゲーム端末10ではゲームプログラムがサスペンドになった場合に所定の通知(サスペンド通知)がサーバ装置30に送信するようになっており、いずれかのゲーム端末10からのサスペンド通知がサーバ装置30で受信された場合に、通信状態判定部3040は当該ゲーム端末10が「通信不調状態」になったと判定する。なお、ゲーム端末10では、アクティブなプログラムがゲームプログラムから他のプログラムに切り替えられた場合にゲームプログラムがサスペンドになる。また、ゲーム端末10では、ゲーム端末10をスリープ状態(休止状態)にするための操作や、ゲーム端末10の電源を切断する操作が行われた場合にもゲームプログラムがサスペンドになる。
また例えば、各ゲーム端末10はキープアライブ情報を定期的にサーバ装置30に送信するようになっており、いずれかのゲーム端末10からのキープアライブ情報がサーバ装置30で受信されない状態が所定期間にわたって継続した場合に、通信状態判定部3040は当該ゲーム端末10が「通信不調状態」になったと判定する。ゲーム端末10でゲームプログラムが強制終了された場合、ゲーム端末10の通信機能(無線LAN通信機能又はモバイルデータ通信機能等)がオフにされた場合、ゲーム端末10が機内モードに設定された場合や、ゲーム端末10が通信接続している通信機器(ルータ等)の電源がオフにされた場合には、上述のサスペンド通知がサーバ装置30に送信されない。しかしながら、このような場合、キープアライブ情報もサーバ装置30に送信されなくなるため、キープアライブ情報に関する上記判定によって、当該ゲーム端末10が「通信不調状態」になったと判定することができる。
[3-11]サーバ装置30の継続制御部3030は、複数のゲーム端末10のうちの少なくとも一つが通信不調状態から通常状態に戻った場合に、当該少なくとも一つのゲーム端末10以外のゲーム端末10にゲームの実行を継続させるための制御を行う。
「通常状態」とは、通信不調状態ではない状態であり、例えば、ゲーム端末10とサーバ装置30との間の通信が正常に行われている状態である。言い換えれば、ゲーム端末10からのデータがサーバ装置30で正常に受信できている状態である。
「複数のゲーム端末10のうちの少なくとも一つが通信不調状態から通常状態に戻った場合」とは、通信不調状態になったと判定されたゲーム端末10が通常状態に戻った場合である。例えば、通信不調状態になったと判定されたゲーム端末10からのアクティブ通知がサーバ装置30で受信された場合に、当該ゲーム端末10は通信不調状態から通常状態に戻ったと判定される。また例えば、通信不調状態になったと判定されたゲーム端末10からのキープアライブ情報がサーバ装置30で受信された場合に、当該ゲーム端末10は通信不調状態から通常状態に戻ったと判定される。
「ゲームの実行を継続させるための制御を行う」とは、例えば、ゲームの実行を継続するようにゲーム端末10に通知することである。また例えば、ゲームの実行を継続するために必要なデータをゲーム端末10に送信することであってもよい。
複数のゲーム端末10のうちの少なくとも一つが通信不調状態になった場合には、その旨が通信不調状態になったゲーム端末10以外のゲーム端末10に通知され、ゲームの進行が中断されることになる。このため、継続制御部3030は、通信不調状態になったゲーム端末10が通常状態に戻った場合に、通信不調状態になったゲーム端末10以外のゲーム端末10にゲームの進行を再開させるための制御を行う。例えば、継続制御部3030は、ゲームの進行を再開させるための通知をゲーム端末10に送信したり、通信不調状態から通常状態に戻ったゲーム端末10が受信したデータを他のゲーム端末10に送信したりすることによって、ゲームの進行を再開させるための制御を行う。
[3-12]各ゲーム端末10の通知表示制御部1060は、他のゲーム端末10が通信不調状態になったと判定された場合に、所定の通知を当該ゲーム端末10の表示部15に表示させるための制御を行う。また、各ゲーム端末10の通知表示制限部1070は、他のゲーム端末10が通信不調状態になったと判定された場合に、ゲーム状況データを更新するために当該他のゲーム端末10のデータが必要になるまで、上記所定の通知の表示を制限する。
「所定の通知」とは、他のゲーム端末10が通信不調状態になったと判定されたことを示す通知である。または、他のゲーム端末が通信不調状態から通常状態に戻るのを待っていることを示す通知であってもよい。あるいは、他のゲーム端末からのデータを待っていることを示す通知であってもよい。また、「所定の通知」はテキストであってもよいし、画像であってもよい。
「ゲーム状況データを更新するために他のゲーム端末10のデータが必要になるまで」とは、例えば、「ゲームを進行させる(ゲーム状況データを更新する)ために他のゲーム端末10を使用しているユーザのゲーム操作が必要になるまで」を意味する。
例えば、所与のタイミングになるまで、他のゲーム端末10を使用するユーザのゲーム操作が不要である場合、「所与のタイミングになるまで」が「ゲーム状況データを更新するために他のゲーム端末のデータが必要になるまで」の一例に相当する。すなわち、他のゲーム端末10を使用するユーザのゲーム操作を受け付ける機会が限られている場合、「当該機会になるまで」が「ゲーム状況データを更新するために他のゲーム端末のデータが必要になるまで」の一例に相当する。
具体的には、例えば、野球ゲームにおいて、他のゲーム端末10を使用するユーザが投手キャラクタのみを操作している場合であれば、「投手キャラクタによる次の投球が行われるまで」が「ゲーム状況データを更新するために他のゲーム端末10のデータが必要になるまで」の一例に相当する。また例えば、各ユーザのターンが順番に行われるゲームの場合であれば、「他のゲーム端末10を使用するユーザのターンが到来するまで」が「ゲーム状況データを更新するために他のゲーム端末10のデータが必要になるまで」の一例に相当する。
「ゲーム状況データを更新するために他のゲーム端末10のデータが必要になるまで、所定の通知の表示を制限する」とは、ゲーム状況データを更新するために他のゲーム端末10のデータが必要になるまで、所定の通知を表示しないようにし、ゲーム状況データを更新するために他のゲーム端末10のデータが必要になったら、所定の通知を表示するようにすることである。
先述の野球ゲームの例の場合、通知画像G10(要素E11)が上記「所定の通知」の一例に相当する。例えば、第2ゲーム端末10-2が通信不調状態になった場合、通知表示制御部1060は、ゲームを進行させるために第2ゲーム端末10-2を使用している第2ユーザのゲーム操作データを必要な状況になるのを待ち、当該状況になったら、通知画像G10を表示部15に表示する(図3の動作OP102,OP104)。言い換えれば、第2ゲーム端末10-2が通信不調状態になった場合、通知表示制限部1070は、ゲームを進行させるために第2ゲーム端末10-2を使用している第2ユーザのゲーム操作データを必要な状況になるまで、通知画像G10の表示を制限する。
[3-13]サーバ装置30の終了指示受付条件判定部3050は、他のゲーム端末10が通信不調状態になったと判定された後で、所定条件が満足されたか否かを判定する。
「所定条件」とは、終了指示の受付を開始してもよいか否かの判断基準となる条件(終了指示受付条件)である。例えば、他のゲーム端末10が通信不調状態になったと判定されてから、当該他のゲーム端末10が通常状態に戻ることなく、所定期間が経過した場合に、終了指示受付条件判定部3050は「所定条件」が満足されたと判定する。また例えば、他のゲーム端末10が通信不調状態になったと判定された後で、当該他のゲーム端末10からサスペンド通知を所定回数受信した場合に、終了指示受付条件判定部3050は「所定条件」が満足されたと判定する。
[3-14]各ゲーム端末10の問合せ部1080は、通知表示制御部1060によって所定の通知が表示された後、所与のタイミングで、終了指示の受付を開始してもよいか否かの問合せをサーバ装置30に送信する。
「終了指示」とは、複数のユーザが参加するゲームを途中で終了させるようにゲームシステム1に指示することである。ここで、「ゲームを途中で終了させる」とは、ゲームが正常に終了する前の時点でゲームを終了させることである。「ゲームが正常に終了する」とは、対戦ゲームの場合であれば、所定のルールに則って対戦が最後まで実行されて終了することである。すなわち、所定のルールに則って対戦が最後まで実行されて、最終的な対戦結果が正式に確定されて対戦が終了することである。また、「ゲームが正常に終了する」とは、ゲームクリアとなって終了する(ゲームにおける目的が達成されて終了する)こと、又は、ゲームオーバーとなって終了する(ゲームにおける目的を達成できずに終了する)ことであってもよい。
「問合せ」とは、終了指示の受付を開始してもよいか否かをサーバ装置30に問い合わせるためのデータである。言い換えれば、終了指示を受け付けるための受付画像を表示部15に表示してもよいか否かをサーバ装置30に問い合わせるためのデータである。また、「所与のタイミングで」とは、例えば「所定時間が経過するごとに」である。
先述の野球ゲームの例の場合、問合せ部1080は、通知画像G10が表示されている間において、所定時間が経過するごとに、終了指示の受付を開始してもよいか否かの問合せをサーバ装置30に送信する(図3の動作OP106)。
[3-15]サーバ装置30の返答部3060は、他のゲーム端末10が通信不調状態になったと判定された後で、所定条件(終了指示受付条件)が満足されたと判定された場合に、問合せに応じて、終了指示の受付開始許可を、当該問合せの送信元のゲーム端末10に送信する。
「受付開始許可」とは、終了指示の受付を開始することを許可するためのデータである。言い換えれば、終了指示を受け付けるための受付画像を表示部15に表示することを許可するためのデータである。
先述の野球ゲームの例では、例えば、第2ゲーム端末10-2が通信不調状態になったと判定され、第1ゲーム端末10-1の問合せ部1080からの問合せがサーバ装置30で受信された場合に(図3の動作OP308)、返答部3060は、終了指示受付条件が満足されていれば(すなわち、第1ゲーム端末10-1の終了指示受付フラグが「1」であれば)、終了指示の受付開始許可を第1ゲーム端末10-1に送信する(図3の動作OP310)。
[3-16]各ゲーム端末10の終了指示受付部1090は、他のゲーム端末10が通信不調状態になったと判定された場合に、ユーザから終了指示を受け付ける。
「終了指示を受け付ける」とは、終了指示を示す操作(終了指示操作)を受け付けることである。なお、終了指示を示すデータを受信することであってもよい。例えば、終了指示受付部1090は、終了指示を受け付けるための受付画像を表示部15に表示させるための制御を行うことによって、ユーザから終了指示を受け付ける。ここで、「受付画像」とは、終了指示を受け付けるために表示部15に表示される画像である。すなわち、終了指示のための操作を行うために表示部15に表示される画像である。
なお、終了指示受付部1090は、他のゲーム端末10が通信不調状態になったと判定された後、所定条件(終了指示受付条件)が満足された場合に、終了指示の受付を開始する。例えば、終了指示受付部1090は、返答部3060によって送信される受付開始許可に応じて、終了指示の受付を開始する。
先述の野球ゲームの例の場合、終了指示受付画像G20が「受付画像」の一例に相当する。例えば、第2ゲーム端末10-2が通信不調状態になったと判定され、サーバ装置30の返答部3060によって送信された受付開始許可が第1ゲーム端末10-1で受信された場合に、終了指示受付部1090は終了指示受付画像G20を表示部15に表示させることによって、終了指示の受付を開始する(図3の動作OP108,OP110)。
なお、終了指示受付部1090は、第2ゲーム端末10-2が通信不調状態になったと判定され、かつ、所定条件(終了指示受付条件)が満足された後で第2ゲーム端末10-2が通信不調状態から通常状態に戻った場合において(図7Aの動作OP352)、当該他のゲーム端末10が通信不調状態になったと再度判定された場合(図7Bの動作OP360)に、所定条件が満足される前であっても、終了指示の受付を開始する(図7Bの動作OP152)。
[3-17]各ゲーム端末10の終了制御部1100やサーバ装置30の終了制御部3070は、通信不調状態になったと判定されたゲーム端末10以外のゲーム端末10を使用するユーザによる終了指示に応じて、複数のゲーム端末10をそれぞれ使用する複数のユーザが参加するゲームを終了させるための制御を行う。
「ゲームを終了させるための制御を行う」とは、ゲームを途中で終了させるための制御を行うことである。また、「終了指示に応じて、ゲームを終了させるための制御を行う」とは、終了指示を受け付けた場合に、無条件に、ゲームを終了させるための制御を行うことである。または、終了指示を受け付けた場合に、所定条件の下、ゲームを終了させるための制御を行うことであってもよい。
また、終了制御部1100や終了制御部3070は、他のゲーム端末10が通信不調状態になったと判定され、かつ、終了指示の受付が開始されてから所定期間が経過した場合に、終了指示が受け付けられなかったとしても、ゲームを終了させるための制御を行うようにしてもよい。
先述の野球ゲームの例では、例えば、第2ゲーム端末10-2が通信不調状態になったと判定された場合に、終了制御部1100は、第1ゲーム端末10-1を使用する第1ユーザによる終了指示に応じて、試合を終了させるための制御として、終了要求をサーバ装置30に送信する(図3の動作OP112)。
また例えば、第2ゲーム端末10-2が通信不調状態になったと判定され、かつ、終了指示受付画像が第1ゲーム端末10-1の表示部15に表示されてから(すなわち、第1ユーザからの終了指示の受付が開始されてから)所定期間が経過した場合に、終了制御部1100は、第1ユーザから終了指示を受け付けなかったとしても、試合を終了させるための制御として、終了要求をサーバ装置30に送信する(図3の動作OP114)。
また、第1ゲーム端末10-1から送信された終了要求がサーバ装置30で受信された場合に、終了制御部3070は試合の途中であっても試合を終了させるための制御を行う(図3の動作OP312,314)。例えば、終了制御部3070は、試合を終了させるための制御として、ゲームを終了させるように各ゲーム端末10に通知したり、ゲームを実行するために必要なデータを各ゲーム端末10に送信するのをやめたりする。
[3-18]複数のゲーム端末10をそれぞれ使用する複数のユーザが対戦する対戦ゲームの場合、サーバ装置30の対戦結果決定部3080は、複数のゲーム端末10のうちの少なくとも一つが通信不調状態になったと判定された場合において、通信不調状態になったと判定されたゲーム端末10以外のゲーム端末10を使用するユーザによる終了指示に応じて対戦ゲームが終了する場合に、通信不調状態になったと判定されたゲーム端末10を使用するユーザが敗北したと決定する。
「通信不調状態になったと判定されたゲーム端末10を使用するユーザが敗北したと決定する」とは、いずれかのゲーム端末10が通信不調状態になった時点の対戦の状況(得点等)に関わらず、通信不調状態になったと判定されたゲーム端末10を使用するユーザが敗北し、他のゲーム端末10を使用するユーザが勝利したと決定することである。例えば、得点を競う対戦ゲームの場合、通信不調状態になったと判定されたゲーム端末10を使用するユーザが所定の得点差で敗北したと決定してもよい。
先述の野球ゲームの例では、例えば、第2ゲーム端末10-2が通信不調状態になったと判定され、第1ゲーム端末10-1を使用する第1ユーザによる終了指示に応じて試合が終了する場合に、対戦結果決定部3080は、第1ゲーム端末10-1を使用する第1ユーザが試合に勝利し、第2ゲーム端末10-2を使用する第2ユーザが試合に敗北したと決定する(図3の動作OP314)。この場合、第2ユーザのチームがリードしていたとしても、対戦結果決定部3080は第1ユーザが試合に勝利し、第2ユーザが試合に敗北したと決定する。
[3-19]サーバ装置30の終了通知制御部3090は、通信不調状態になったと判定されたゲーム端末10以外のゲーム端末10を使用するユーザによる終了指示に応じてゲームが終了したことを、通信不調状態になったと判定されたゲーム端末10のユーザに通知するための制御を行う。
「ゲームが終了したことを、通信不調状態になったと判定されたゲーム端末のユーザに通知するための制御を行う」とは、不調状態になったと判定されたゲーム端末10以外のゲーム端末10を使用するユーザによる終了指示に応じてゲームが途中で終了したことを示すテキスト又は画像を、通信不調状態になったと判定されたゲーム端末10からのアクセスがあった場合に当該ゲーム端末10の表示部15に表示させることであってもよい。または、不調状態になったと判定されたゲーム端末10以外のゲーム端末10を使用するユーザによる終了指示に応じてゲームが途中で終了したことを示すテキスト又は画像等を、メッセージ又は電子メール等として、通信不調状態になったと判定されたゲーム端末10のユーザ宛に送信することである。
先述の野球ゲームの例では、例えば、第2ゲーム端末10-2が通信不調状態になったと判定され、第1ゲーム端末10-1を使用する第1ユーザによる終了指示に応じて試合が終了する場合に、終了通知制御部3090は、第1ユーザによる終了指示に応じて試合が終了したことを第2ユーザに通知するための制御を行う。例えば、第2ユーザの第2ゲーム端末10-2からのアクセスがあった場合に、終了通知制御部3090は、第1ユーザによる終了指示に応じて試合が終了したことを示すテキスト又は画像等を第2ゲーム端末10-2の表示部15に表示する。また例えば、終了通知制御部3090は、第1ユーザによる終了指示に応じて試合が終了したことを示すメッセージ又は電子メールを第2ユーザ宛に送信する。
[4.処理]次に、以上に説明した機能ブロックを実現するためにゲームシステム1で実行される処理について説明する。
[4-1]例えば、図2に示した処理がプログラムに従って実行されることによって、ゲーム端末10のゲーム操作受付部1010、送信部1020、受信部1030、ゲーム状況データ更新部1040、ゲーム画像表示制御部1050や、サーバ装置30の受信部3010、送信部3020が実現される。
[4-2]また例えば、図10A~図10Eに示す処理がプログラムに従って実行されることによって、ゲーム端末10の通知表示制御部1060、通知表示制限部1070、問合せ部1080、終了指示受付部1090、終了制御部1100や、サーバ装置30の継続制御部3030、通信状態判定部3040、終了指示受付条件判定部3050、返答部3060、終了制御部3070、対戦結果決定部3080、終了通知制御部3090が実現される。
図10A~図10Eは、第1ゲーム端末10-1を使用する第1ユーザと、第2ゲーム端末10-2を使用する第2ユーザとが野球ゲームで試合を行っている最中に第2ゲーム端末10-2が通信不調状態になった場合に第1ゲーム端末10-1とサーバ装置30との間で実行される処理について主に示している。図10A~図10Eに示す処理がプログラムに従って実行されることによって、図3~図8で説明した動作が実現される。
なお、図10A~図10Eでは、上記試合中に第2ゲーム端末10-2が通信不調状態になった場合について示しているが、上記試合中に第1ゲーム端末10-1が通信不調状態になった場合には、第2ゲーム端末10-2とサーバ装置30との間で図10A~図10Eと同様の処理が実行される。
図10Aに示すように、試合開始時に、サーバ装置30の制御部31は、第1ゲーム端末10-1と第2ゲーム端末10-2との各々の通信不調フラグを「0」に初期化し、第1ゲーム端末10-1と第2ゲーム端末10-2との各々の終了指示受付フラグを「0」に初期化する(S310)。
また制御部31は第2ゲーム端末10-2が通信不調状態になったか否かを監視する(S312)。例えば、第2ゲーム端末10-2からのサスペンド通知がサーバ装置30で受信された場合に、制御部31は第2ゲーム端末10-2が通信不調状態になったと判定する。また例えば、第2ゲーム端末10-2からのキープアライブ情報がサーバ装置30で受信されない状態が所定期間にわたって継続した場合に、制御部31は第2ゲーム端末10-2が通信不調状態になったと判定する。
なお、図10A~図10Eでは、第2ゲーム端末10-2が通信不調状態になった場合に第1ゲーム端末10-1とサーバ装置30との間で実行される処理を示しているため、図10Aには示されていないが、実際には、制御部31は第1ゲーム端末10-1が通信不調状態になったか否かも判定する。
第2ゲーム端末10-2が通信不調状態になった場合(S312:Yes)、制御部31は第2ゲーム端末10-2の通信不調フラグを「1」に更新する(S314)。また、制御部31は第1ゲーム端末10-1の終了指示フラグが「0」であるか否かを判定し(S316)、第1ゲーム端末10-1の終了指示フラグが「0」である場合に(S316:Yes)、制御部31は、通信部33を介して、第2ゲーム端末10-2が通信不調状態になったことを示す通信不調通知を第1ゲーム端末10-1に送信する(S318)。
ステップS318の実行後、サーバ装置30の制御部31は、第2ゲーム端末10-2が通信不調状態から通常状態に戻ったか否かを判定する(S320)。例えば、第2ゲーム端末10-2からのアクティブ通知等がサーバ装置30で受信された場合に、制御部31は第2ゲーム端末10-2が通信不調状態から通常状態に戻ったと判定する。
第2ゲーム端末10-2が通信不調状態から通常状態に戻っていない場合(S320:No)、制御部31は終了指示条件が満足されたか否かを判定する(S322)。例えば、第2ゲーム端末10-2が通信不調状態になってから所定時間が経過した場合に、制御部31は終了指示受付条件が満足されたと判定する。また例えば、サーバ装置30が第2ゲーム端末10-2からサスペンド通知を所定回数受信した場合に、制御部31は終了指示受付条件が満足されたと判定する。
終了指示条件が満足されていない場合(S322:No)、制御部11-1はステップS320に戻る。一方、終了指示条件が満足された場合(S322:Yes)、制御部11-1は第1ゲーム端末10-1の終了指示受付フラグを「1」に更新する(S324)。その後、制御部31は、第2ゲーム端末10-2が通信不調状態から通常状態に戻ったか否かを監視する(S326)。ステップS326はステップS320と同様である。
第1ゲーム端末10-1は、通信部13を介して、ステップS318でサーバ装置30から送信された通信不調通知を受信する(S110)。この場合、制御部11-1は、ゲーム(試合)の状況が第2ユーザのゲーム操作データを必要な状況になったか否かを監視する(S112)。ゲームの状況が第2ユーザのゲーム操作データを必要な状況になった場合(S112:Yes)、制御部11-1は通知画像G10を表示部15に表示する(S114)。
通知画像G10が表示部15に表示されている場合、図10Bに示すように、制御部11-1は、終了指示の受付を開始してもよいか否かの問合せを行うべきタイミング(問合せタイミング)が到来したか否かを監視する(S120)。例えば、所定時間ごとに問合せタイミングは到来する。
問合せタイミングが到来した場合(S120:Yes)、制御部11-1は、通信部33を介して、終了指示の受付を開始してもよいか否かの問合せをサーバ装置30に送信する(S122)。
サーバ装置30は、通信部33を介して、ステップS122で第1ゲーム端末10-1から送信された問合せを受信する(S330)。この場合、制御部31は第1ゲーム端末10-1の終了指示受付フラグが「1」であるか否かを判定する(S332)。そして、当該判定結果に基づいて、制御部31は、通信部33を介して、第1ゲーム端末10-1で終了指示の受付を開始してもよいことを示す受付開始許可と、第1ゲーム端末10-1で終了指示の受付を開始してはいけないことを示す不許可とのいずれか一方を第1ゲーム端末10-1に送信する(S334)。すなわち、第1ゲーム端末10-1の終了指示受付フラグが「1」である場合に、制御部31は受付開始許可を第1ゲーム端末10-1に送信し、第1ゲーム端末10-1の終了指示受付フラグが「1」でない場合に、制御部31は不許可を第1ゲーム端末10-1に送信する。その後、制御部11-1はステップS326に戻る。
第1ゲーム端末10-1は、通信部13を介して、ステップS334でサーバ装置30から送信された受付開始許可又は不許可を受信する(S124)。この場合、制御部11-1は受付開始許可が受信されたか否かを判定する(S126)。そして、受付開始許可が受信された場合(S126:Yes)、制御部11-1は終了指示受付画像G20を表示部15に表示する(S128)。一方、受付開始許可が受信されていない場合(S126:No)、制御部11-1はステップS120に戻る。
図10AのステップS316において、第1ゲーム端末10-1の終了指示受付フラグが「0」でないと判定された場合(S316:No)、すなわち、第1ゲーム端末10-1の終了指示受付フラグが「1」である場合、図10Cに示すように、制御部11-1は、通信部13を介して、第2ゲーム端末10-2が通信不調状態になったことを示す通信不調通知と、第1ゲーム端末10-1で終了指示の受付を開始してもよいことを示す受付開始許可とを第1ゲーム端末10-1に送信する(S340)。
第1ゲーム端末10-1は、通信部13を介して、ステップS340でサーバ装置30から送信された通信不調通知と受付開始許可とを受信する(S130)。この場合、制御部11-1は、通知画像G10を表示することなく、いきなり終了指示受付画像G20を表示する(S132)。
図10AのステップS320又はS326において、第2ゲーム端末10-2が通信不調状態から通常状態に戻ったと判定された場合(S320又はS326:Yes)、図10Dに示すように、制御部31は第2ゲーム端末10-2の通信不調フラグを「0」に更新する(S350)。また制御部31は、通信部33を介して、第2ゲーム端末10-2が通信不調状態から通常状態に戻ったことを示す通信回復通知を第1ゲーム端末10-1に送信する(S352)。その後、制御部31はステップS312に戻る。
なお、通信回復通知を第1ゲーム端末10-1に送信する前(ステップS352の実行前)に、第1ゲーム端末10-1から終了要求を受信した場合には(後述の図10EのステップS360)、制御部31は、終了要求に対する処理を優先する。すなわち、この場合、制御部31は通信回復通知を第1ゲーム端末10-1に送信せずに(ステップS352を実行せずに)、試合を途中で終了させるための処理を実行する(後述の図10EのステップS362~S366)。
第1ゲーム端末10-1は、通信部13を介して、ステップS352でサーバ装置30から送信された通信回復通知を受信する(S140)。この場合、制御部11-1は試合を再開させる(S142)。例えば、制御部11-1は、表示部15に表示される画像を通知画像G10又は終了指示受付画像G20から試合画像(ゲーム画像)に変更することによって、中断されていた試合を再開させる。
図10BのステップS128又は図10CのステップS132において終了指示受付画像G20が表示部15に表示された後、図10Eに示すように、制御部11-1は終了指示操作が行われたか否かを判定する(S150)。すなわち、制御部11-1は、終了指示受付画像G20の要素E22が選択されたか否かを判定する。
終了指示操作が行われていない場合(S150:No)、制御部11-1は、終了指示受付画像G20が表示されてから所定時間が経過したか否かを判定する(S152)。終了指示受付画像G20が表示されてから所定時間が経過していない場合(S152:No)、制御部11-1はステップS150に戻る。
一方、終了指示操作が行われた場合(S150:Yes)、又は、終了指示受付画像G20が表示されてから所定時間が経過した場合(S152:Yes)、制御部11-1は、通信部13を介して、試合の途中終了を要求することを示す終了要求をサーバ装置30に送信する(S154)。
サーバ装置30は、通信部33を介して、ステップS154で第1ゲーム端末10-1から送信された終了要求を受信する(S360)。この場合、制御部31は、試合を途中で終了させるための終了処理を実行する(S362)。例えば、制御部31は試合結果を決定する。すなわち、制御部31は、終了指示を行った第1ユーザを試合の勝者として決定し、第2ユーザを試合の敗者として決定する。
また制御部31は、通信部33を介して、試合を終了させたことを示す終了通知を第1ゲーム端末10-1に送信する(S364)。さらに制御部31は第2ユーザへの終了通知処理を実行する(S366)。「第2ユーザへの終了通知処理」とは、第1ユーザの終了指示に応じて試合を終了させたことを第2ユーザに通知するための処理である。例えば、制御部31は、第1ユーザの終了指示に応じて試合を終了させたことを示すメッセージ又は電子メールを第2ユーザ宛に送信したり、第2ユーザがゲームを次回プレイする(ゲームシステム1を次回利用する)際に、1ユーザの終了指示に応じて試合を終了させたことを示すメッセージを第2ゲーム端末10-2の表示部15に表示するための処理を実行したりする。
第1ゲーム端末10-1は、通信部13を介して、ステップS366でサーバ装置30から送信された終了通知を受信する(S156)。この場合、制御部11-1は試合結果を表示部15に表示し、試合を終了する(S158)。
[5.まとめ]ゲームシステム1によれば、例えば、第1ゲーム端末10-1の第1ユーザと、第2ゲーム端末10-2の第2ユーザとの間の試合中に第2ゲーム端末10-2が通信不調状態になった場合に、第1ユーザによる終了指示に応じて試合を終了させるようにしたため、第1ユーザは自らの意思で試合を途中で終了させることができるようになり、中断されたゲームの再開を待つより他ないという不満を第1ユーザに与えないようにすることができる。また、対戦相手の第1ユーザの意思によって試合が終了したのであれば、第2ユーザも納得せざるを得ず、第2ユーザの不満も低減することができる。このように、ゲームシステム1によれば、通信不調状態になった第2ゲーム端末10-2を使用していた第2ユーザと、対戦相手の第1ユーザとの双方の不満を抑制しつつ、試合を終了させることが可能になる。
またゲームシステム1によれば、例えば、第2ゲーム端末10-2が通信不調状態になり、かつ、第1ユーザによる終了指示に応じて試合が終了する場合に、通信不調状態になった第2ゲーム端末10-2を使用していた第2ユーザが敗北し、終了指示を行った第1ユーザが勝利したと決定される。ゲームシステム1によれば、対戦相手の第1ユーザの意思によって試合が終了した結果として第2ユーザが敗北したと決定されるため、第2ユーザも納得せざるを得ず、第2ユーザの納得を得ることができ、第2ユーザの不満を低減できる。
またゲームシステム1によれば、例えば、第2ゲーム端末10-2が通信不調状態になり、かつ、第1ユーザによる終了指示に応じて試合が終了した場合に、その旨が第2ユーザに通知されるため、第1ユーザによる終了指示に応じて試合が終了した事実を第2ユーザが把握できるようになり、その結果、試合が終了したことに対する第2ユーザの不満を低減できる。
またゲームシステム1によれば、例えば、第2ゲーム端末10-2が通信不調状態になった場合に通知画像G10を第1ゲーム端末10の表示部15に表示するようにしたため、第2ゲーム端末10-2が通信不調状態になったことを第1ユーザが把握できる。
またゲームシステム1によれば、例えば、第2ゲーム端末10-2が通信不調状態になった場合に、第2ユーザのゲーム操作データを必要な状況になるまで、通知画像G10の表示を制限するようにしたため、できる限り通知画像G10を表示しないように図ることができる。例えば、通知画像G10が表示された後、すぐに第2ゲーム端末10-2が通信不調状態から通常状態に戻った場合には、通知画像G10が消えることになるが、このような場合、通知画像G10が表示されることによって第1ユーザにストレスを感じさせてしまうおそれがある。この点、ゲームシステム1によれば、できる限りユーザにストレスを感じさせないように図ることができる。
またゲームシステム1によれば、例えば、第2ゲーム端末10-2が通信不調状態になった後、無条件に終了指示の受付を開始せずに、終了指示受付条件が満足された場合に終了指示の受付を開始するようにしたため、第2ゲーム端末10-2が一時的に通信不調状態になったような場合には終了指示を受け付けないようにすることができ、その結果、第2ゲーム端末10-2が一時的に通信不調状態になったような場合には試合が終了されないようにすることができる。
またゲームシステム1によれば、例えば、第2ゲーム端末10-2が通信不調状態になり、かつ、終了指示受付条件が満足された後で第2ゲーム端末10-2が通信不調状態から通常状態に戻った場合において、第2ゲーム端末10-2が再度通信不調状態になった場合に、直ちに終了指示受付画像G20を第1ゲーム端末10-1の表示部15に表示することによって終了指示の受付を開始するようにしたことによって、第2ゲーム端末10-2が繰り返し通信不調状態になる場合に第1ユーザが直ちに試合を終了できるようになる。例えば、第2ユーザが第1ユーザに対して嫌がらせを行うべく故意に第2ゲーム端末10-2を通信不調状態にして通常状態に戻すことを繰り返す場合、第1ユーザは速やかに試合を終了させることができる。
またゲームシステム1によれば、終了指示受付条件判定部3050をサーバ装置30に設けたことによって、終了指示受付条件が満足されたか否かの管理をサーバ装置30で一元的に行うことができるようになる。さらにゲームシステム1によれば、終了指示の受付を開始してもよいか否かの問合せを第1ゲーム端末10-1がサーバ装置30に送信し、当該問合せに応じて、サーバ装置30が受付開始許可を第1ゲーム端末10-1に送信するようにしたため、終了指示受付条件が満足された場合にサーバ装置30が能動的に受付開始許可を第1ゲーム端末10-1に送信する態様に比べて、ゲームシステム1の構成をシンプルにすることができる。
またゲームシステム1によれば、例えば、第2ゲーム端末10-2が通信不調状態になり、かつ、終了指示受付画像G20が第1ゲーム端末10-1の表示部15に表示されてから所定期間が経過した場合に、終了指示操作が行われていなかったとしても、試合を終了させるようにしたため、通信不調状態になった第2ゲーム端末10-2が通常状態に回復することもなく、終了指示も行われない状態が長く続いてしまうことを回避することができる。
[6.変形例]本発明は以上に説明した実施形態に限定されるものではない。
以上では、第1ゲーム端末10-1を使用する第1ユーザと、第2ゲーム端末10-2を使用する第2ユーザとの2名のユーザが対戦する場合について主に説明したが、本発明は、3名以上のユーザが対戦する場合にも適用できる。例えば、第1ゲーム端末10-1を使用する第1ユーザと、第2ゲーム端末10-2を使用する第2ユーザと、第3ゲーム端末10-3を使用する第3ユーザとの3名のユーザとの対戦中に第2ゲーム端末10-2が通信不調状態になった場合、終了指示受付条件が満足されたら、第1ユーザと第3ユーザとの各々から終了指示を受け付けるようにし、第1ユーザと第3ユーザとの両方から終了指示を受け付けた場合に試合を終了させるようにしてもよい。この場合、第1ユーザと第3ユーザとの一方から終了指示を受け付けた場合に試合を終了させるようにしてもよい。
また、本発明は、複数のユーザが対戦する対戦ゲーム以外のゲームにも適用できる。本発明は、複数のユーザが協力して共通の目的を達成することを目指すゲームにも適用できる。本発明は、複数のゲーム端末10をそれぞれ使用する複数のユーザが参加するゲームに適用できる。
[7.付記]以上のような記載から、本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために、適宜図面に記載された符号を括弧書きで記載するが、それにより本発明が図示の態様に限定されるものではない。
1)本発明の一態様に係るゲームシステム(1)は、複数のゲーム端末(10-1,10-2)とサーバ装置(3)とを含むゲームシステム(1)において、前記サーバ装置(30)は、前記複数のゲーム端末(10-1,10-2)のうちの少なくとも一つが通信不調状態になったか否かを判定する判定手段(3040)を含み、前記複数のゲーム端末(10-1,10-2)の各々は、他のゲーム端末が前記通信不調状態になったと判定された場合に、ユーザから終了指示を受け付ける受付手段(1090)を含み、前記ゲームシステム(1)は、前記通信不調状態になったと判定されたゲーム端末(10-2)以外のゲーム端末(10-1)を使用するユーザによる前記終了指示に応じて、前記複数のゲーム端末(10-1,10-2)をそれぞれ使用する複数のユーザが参加するゲームを終了させるための制御を行う終了制御手段(1100又は3090)をさらに含む。
9)本発明の一態様に係るサーバ装置(30)は、複数のゲーム端末(10-1,10-2)と通信可能なサーバ装置(30)において、前記複数のゲーム端末(10-1,10-2)のうちの少なくとも一つが通信不調状態になったか否かを判定する判定手段(3040)と、前記複数のゲーム端末(10-1,10-2)のうちの少なくとも一つ(10-2)が前記通信不調状態になったと判定された場合に、前記複数のゲーム端末(10-1,10-2)のうちの他のゲーム端末(10-1)を使用するユーザから終了指示を受け付けるための制御を行う手段(3060)と、前記他のゲーム端末を使用するユーザによる前記終了指示に応じて、前記複数のゲーム端末をそれぞれ使用する複数のユーザが参加するゲームを終了させるための制御を行う終了制御手段(3090)とを含む。
10)本発明の一態様に係るゲーム端末(10-1)は、複数のゲーム端末(10-1,10-2)のうちの一のゲーム端末(10-1)において、前記複数のゲーム端末(10-1,10-2)のうちの他のゲーム端末(10-2)が通信不調状態になったと判定された場合に、ユーザから終了指示を受け付ける受付手段(1090)と、前記ユーザによる前記終了指示に応じて、前記複数のゲーム端末をそれぞれ使用する複数のユーザが参加するゲームを終了させるための制御を行う終了制御手段(1100)とを含む。
11)また、本発明の一態様に係るプログラムは、9)に記載のサーバ装置(30)、又は、10)に記載のゲーム端末(10-1)としてコンピュータを機能させるためのプログラムである。
12)また、本発明の一態様に係る情報記憶媒体は、11)に記載のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
13)本発明の一態様に係るゲームシステム(1)の制御方法は、複数のゲーム端末(10-1,10-2)とサーバ装置(30)とを含むゲームシステム(1)の制御方法において、前記複数のゲーム端末(10-1,10-2)のうちの少なくとも一つが通信不調状態になったか否かを判定する判定ステップ(S312)と、前記複数のゲーム端末(10-1,10-2)のうちの少なくとも一つ(10-2)が前記通信不調状態になったと判定された場合に、前記複数のゲーム端末(10-1,10-2)のうちの他のゲーム端末(10-1)を使用するユーザから終了指示を受け付ける受付ステップ(S128,S132,S150)と、前記通信不調状態になったと判定されたゲーム端末(10-2)以外のゲーム端末(10-1)を使用するユーザによる前記終了指示に応じて、前記複数のゲーム端末(10-1,10-2)をそれぞれ使用する複数のユーザが参加するゲームを終了させるための制御を行う終了制御ステップ(S154~S158,S360~S366)とをさらに含む。
14)本発明の一態様に係るサーバ装置(30)の制御方法は、複数のゲーム端末(10-1,10-2)と通信可能なサーバ装置(30)の制御方法において、前記複数のゲーム端末(10-1,10-2)のうちの少なくとも一つが通信不調状態になったか否かを判定する判定ステップ(S312)と、前記複数のゲーム端末のうちの少なくとも一つ(10-2)が前記通信不調状態になったと判定された場合に、前記複数のゲーム端末(10-1,10-2)のうちの他のゲーム端末(10-1)を使用するユーザから終了指示を受け付けるための制御を行うステップ(S330~S334,S340)と、前記他のゲーム端末(10-1)を使用するユーザによる前記終了指示に応じて、前記複数のゲーム端末(10-1,10-2)をそれぞれ使用する複数のユーザが参加するゲームを終了させるための制御を行う終了制御ステップ(S360~S366)とを含む。
15)本発明の一態様に係るゲーム端末(10-1)の制御方法は、複数のゲーム端末(10-1,10-2)のうちの一のゲーム端末(10-1)の制御方法において、前記複数のゲーム端末(10-1,10-2)のうちの他のゲーム端末(10-2)が通信不調状態になったと判定された場合に、ユーザから終了指示を受け付ける受付ステップ(S128,S132,S150)と、前記ユーザによる前記終了指示に応じて、前記複数のゲーム端末(10-1,10-2)をそれぞれ使用する複数のユーザが参加するゲームを終了させるための制御を行う終了制御ステップ(S154~S158)とを含む。
上記1)、9)~15)に記載の発明によれば、少なくとも一つのゲーム端末が通信不調状態になったと判定された場合に、通信不調状態になったゲーム端末以外のゲーム端末を使用するユーザによる終了指示に応じて、複数のユーザが参加するゲームを終了させるための制御を行うようにしたため、通信不調状態になったゲーム端末以外のゲーム端末を使用するユーザは自らの意思でゲームを途中で終了させることができるようになり、中断されたゲームの再開を待つより他ないという不満を当該ユーザに与えないようにすることができる。また、通信不調状態になったゲーム端末以外のゲーム端末を使用するユーザ(すなわち、一緒にゲームをプレイしていた他のユーザ)の意思によってゲームが終了したのであれば、通信不調状態になったゲーム端末を使用するユーザも納得せざるを得ず、当該ユーザの不満も低減することができる。このように、本発明によれば、通信不調状態になったゲーム端末を使用するユーザと他のユーザとの双方の不満を抑制しつつ、ゲームを終了させることが可能になる。
2)本発明の一態様では、前記ゲームは、前記複数のユーザが対戦する対戦ゲームであり、前記ゲームシステム(1)は、前記複数のゲーム端末(10-1,10-2)のうちの少なくとも一つ(10-2)が前記通信不調状態になったと判定された場合において、前記通信不調状態になったと判定されたゲーム端末(10-2)以外のゲーム端末(10-1)を使用するユーザによる前記終了指示に応じて前記対戦ゲームが終了する場合に、前記通信不調状態になったと判定されたゲーム端末(10-2)を使用するユーザが敗北したと決定する対戦結果決定手段(3080)をさらに含むようにしてもよい。
2)に記載の発明によれば、通信不調状態になったゲーム端末以外のゲーム端末を使用するユーザによる終了指示に応じて対戦ゲームが終了する場合に、通信不調状態になったゲーム端末を使用するユーザが敗北したと決定される。本発明によれば、通信不調状態になったゲーム端末以外のゲーム端末のユーザ(すなわち、一緒に対戦ゲームをプレイしていた他のユーザ)の意思によって対戦ゲームが終了した結果として通信不調状態になったゲーム端末のユーザが敗北したと決定されるため、通信不調状態になったゲーム端末のユーザも納得せざるを得ず、当該ユーザの納得を得ることができ、当該ユーザの不満を低減できる。
3)本発明の一態様では、前記複数のゲーム端末(10-1,10-2)の各々は、前記他のゲーム端末(10-2)が前記通信不調状態になったと判定された場合に、所定の通知(G10)を表示手段(15)に表示させるための制御を行う手段(1060)をさらに含み、前記受付手段(1090)は、前記他のゲーム端末(10-1)が前記通信不調状態になったと判定された後、所定条件(例えば終了指示受付条件)が満足された場合に、前記終了指示の受付を開始するようにしてもよい。
3)に記載の発明によれば、他のゲーム端末が通信不調状態になったと判定された後、所定条件が満足された場合に、終了指示の受付を開始するようにしたため、他のゲーム端末が一時的に通信不調状態になったような場合には終了指示を受け付けないようにすることができ、その結果、他のゲーム端末が一時的に通信不調状態になったような場合にはゲームが終了されないようにすることができる。また本発明によれば、他のゲーム端末が通信不調状態になったと判定された場合に所定の通知を表示手段に表示させるための制御を行うようにしたため、通信不調状態になったゲーム端末があることを他のゲーム端末を使用するユーザが把握できる。
4)本発明の一態様では、前記複数のゲーム端末(10-1,10-2)の各々は、前記所定の通知(G10)が表示された後、所与のタイミングで、前記終了指示の受付を開始してもよいか否かの問合せを前記サーバ装置(30)に送信する問合せ手段(1080)をさらに含み、前記サーバ装置(30)は、前記他のゲーム端末(10-2)が前記通信不調状態になったと判定された後で、前記所定条件が満足されたか否かを判定する所定条件判定手段(3050)と、前記他のゲーム端末(10-2)が前記通信不調状態になったと判定された後で、前記所定条件が満足されたと判定された場合に、前記問合せに応じて、前記終了指示の受付開始許可を、当該問合せの送信元のゲーム端末(10-1)に送信する返答手段(3060)と、を含み、前記受付手段(1090)は、前記受付開始許可に応じて、前記終了指示の受付を開始するようにしてもよい。
4)に記載の発明によれば、他のゲーム端末が通信不調状態になったと判定された後で所定条件が満足されたか否かの管理をサーバ装置で一元的に行うことができるようになる。また本発明によれば、終了指示の受付を開始してもよいか否かの問合せを各ゲーム端末がサーバ装置に送信し、当該問合せに応じて、サーバ装置が受付開始許可をゲーム端末に送信するようにしたため、他のゲーム端末が通信不調状態になったと判定された後で所定条件が満足された場合にサーバ装置が能動的に受付開始許可を各ゲーム端末に送信する態様に比べて、ゲームシステムをシンプルな構成にすることができる。
5)本発明の一態様では、前記複数のゲーム端末(10-1,10-2)の各々は、ゲームの状況を示すゲーム状況データを記憶する記憶手段(1000)と、ゲーム操作を受け付けるゲーム操作受付手段(1010)と、前記ゲーム操作に応じたデータを前記サーバ装置に送信する第1送信手段(1020)と、をさらに含み、前記サーバ装置(30)は、前記複数のゲーム端末(10-1,10-2)の各々から送信された前記データを受信する第2受信手段(3010)と、前記複数のゲーム端末(10-1,10-2)の各々から受信された前記データを、少なくとも、当該データの送信元以外のゲーム端末に送信する第2送信手段(3020)と、を含み、前記複数のゲーム端末(10-1,10-2)の各々は、前記サーバ装置(30)から送信された前記データを受信する第1受信手段(1030)と、前記ゲーム操作受付手段(1010)によって受け付けられる前記ゲーム操作と、前記第1受信手段(1030)によって受信される前記データとに基づいて、前記ゲーム状況データを更新する更新手段(1040)と、前記ゲーム状況データに基づいて、前記ゲームの状況を示すゲーム画像を当該ゲーム端末の表示手段(15)に表示させるための制御を行う表示制御手段(1050)と、前記他のゲーム端末が前記通信不調状態になったと判定された場合に、前記ゲーム状況データを更新するために当該他のゲーム端末の前記データが必要になるまで、前記所定の通知(G10)の表示を制限する制限手段(1070)と、をさらに含むようにしてもよい。
5)に記載の発明によれば、他のゲーム端末が通信不調状態になったと判定された場合に、ゲーム状況データを更新するために当該他のゲーム端末のデータが必要になるまで、所定の通知の表示を制限するようにしたため、できる限り通知を表示しないように図ることができる。例えば、所定の通知が表示された後、すぐに他のゲーム端末が通信不調状態から通常状態に戻った場合には、当該通知が消えることになる。このような場合、当該通知が表示されることによってユーザにストレスを感じさせてしまう場合があるが、本発明によれば、できる限りユーザにストレスを感じさせないように図ることができる。
6)本発明の一態様では、前記サーバ装置(30)は、前記複数のゲーム端末(10-1,10-2)のうちの少なくとも一つ(10-2)が前記通信不調状態から通常状態に戻った場合に、当該少なくとも一つのゲーム端末(10-2)以外のゲーム端末(10-1)に前記ゲームの実行を継続させるための制御を行う継続制御手段(3030)をさらに含み、前記受付手段(1090)は、前記他のゲーム端末(10-2)が前記通信不調状態になったと判定され、かつ、前記所定条件(終了指示受付条件)が満足された後で当該他のゲーム端末(10-2)が前記通信不調状態から前記通常状態に戻った場合において、当該他のゲーム端末(10-2)が前記通信不調状態になったと再度判定された場合に、前記所定条件が満足される前であっても、前記終了指示の受付を開始するようにしてもよい。
6)に記載の発明によれば、他のゲーム端末が通信不調状態になり、かつ、所定条件が満足された後で当該他のゲーム端末が通信不調状態から通常状態に戻った場合において、当該他のゲーム端末が再度通信不調状態になった場合に、所定条件が満足される前であっても、終了指示の受付を開始するようにしたことによって、繰り返し通信不調状態になる他のゲーム端末が存在する場合にユーザが直ちにゲームを終了できるようになる。例えば、嫌がらせを行うべく故意にゲーム端末を通信不調状態にして通常状態に戻すことを繰り返す他のユーザが存在する場合がある。本発明によれば、上記のような他のユーザが存在する場合に、ユーザは正式にゲームを終了させることができる。
7)本発明の一態様では、前記終了制御手段(1100又は3090)は、前記他のゲーム端末(10-2)が前記通信不調状態になったと判定され、かつ、前記終了指示の受付が開始されてから所定期間が経過した場合に、前記終了指示が受け付けられなかったとしても、前記ゲームを終了させるための制御を行うようにしてもよい。
7)に記載の発明によれば、他のゲーム端末が通信不調状態になったと判定され、かつ、終了指示の受付が開始されてから所定期間が経過した場合に、終了指示が受け付けられなかったとしても、ゲームを終了させるための制御を行うようにしたため、通信不調状態になったゲーム端末が通常状態に回復することもなく、終了指示も行われない状態が長く続いてしまうことを回避することができる。
8)本発明の一態様では、前記ゲームシステム(1)は、前記通信不調状態になったと判定されたゲーム端末(10-2)以外のゲーム端末(10-1)を使用するユーザによる前記終了指示に応じて前記ゲームが終了したことを、前記通信不調状態になったと判定されたゲーム端末(10-2)のユーザに通知するための制御を行う終了通知制御手段(3090)をさらに含むようにしてもよい。
8)に記載の発明によれば、通信不調状態になったゲーム端末以外のゲーム端末を使用するユーザによる終了指示に応じてゲームが終了したことが、通信不調状態になったゲーム端末のユーザに通知されるため、通信不調状態になったゲーム端末のユーザが、通信不調状態になったゲーム端末以外のゲーム端末を使用するユーザによる終了指示に応じてゲームが終了した事実を把握できるようになり、その結果、通信不調状態になったゲーム端末のユーザの、ゲームが終了したことに対する不満を低減できる。