(57)【要約】【課題】ネットワーク対戦ゲームにおいて、ある端末に通信の切断があった場合でも、他の端末はゲームを継続することができるゲームシステムを提供すること。【解決手段】サーバの監視手段によって少なくとも１の前記端末との間の通信が切断したと判断された場合、サーバの履歴記憶手段に記憶されている、当該１の端末が切断する直前までのデータの履歴である切断前履歴を読み出し、切断前履歴を他の１または複数の端末に送信し、当該他の端末は、サーバから受信した切断前履歴に基づいてゲーム実行手段によりゲームを再実行し、その後、切断された端末に代えて仮想入力データ処理手段を稼働させることにより、ゲームを続行するようになっている。【選択図】図１
2006288769.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、前記サーバと通信回線を通じて通信可能な複数の端末とから構成され、前記端末において対戦ゲームを実行するゲームシステムにおいて、
前記サーバは、
前記端末との間でデータを送受信する通信手段と、
前記サーバから前記端末へ送信したデータおよび前記各端末から受信したデータの履歴を記憶する履歴記憶手段と、
前記端末との間の通信状態を監視する監視手段と、を有し、
前記各端末は、
前記サーバとの間でデータを送受信する通信手段と、
操作者が前記ゲームの操作を入力するための入力手段と、
前記入力手段からの入力データを処理する入力データ処理手段と、
仮想操作者による仮想ゲーム操作を実行し得る仮想入力データ処理手段と、
他機からのゲーム処理データ、前記入力データ処理手段による処理データおよび前記仮想入力データ処理手段による処理データのいずれか複数の処理データに基づきゲーム処理を実行すると共に前記サーバの前記履歴記憶手段に前記ゲーム実行手段により実行されたゲーム結果を記憶させるべく該ゲーム結果を前記通信手段を介して前記サーバに送信させるゲーム実行手段と、
前記ゲーム実行手段により実行されたゲーム結果を画面表示する表示手段と、を有し、
前記サーバは、
前記監視手段によって少なくとも１の前記端末との間の通信が切断したと判断された場合、前記履歴記憶手段から、当該１の端末が切断する直前までのデータの履歴である切断前履歴を読み出し、
前記切断前履歴を他の１または複数の端末に送信し、
当該他の端末は、
前記サーバから受信した前記切断前履歴に基づいて前記ゲーム実行手段によりゲームを再実行し、
その後、切断された前記端末に代えて前記仮想入力データ処理手段を稼働させることにより、ゲームを続行するようになっている、
ことを特徴とするゲームシステム。
【請求項２】
請求項１記載のゲームシステムにおいて、
前記サーバは、
前記１の端末の切断後、前記監視手段により当該１の端末が再接続したと判断された場合、前記履歴記憶手段に記憶された前記他の端末で再接続直前までのデータの履歴である再接続履歴を、前記通信手段によって前記再接続履歴を当該１の端末に送信し、
当該１の端末は、
前記サーバから受信した前記再接続履歴に基づいて前記ゲーム実行手段によりゲームを再実行し、
前記仮想入力データ処理手段を稼働させていた他の端末は、該仮想入力データ処理手段を停止すると共に前記サーバから受信した前記再接続履歴に基づいて前記ゲーム実行手段によりゲームを再実行し、
その後、各々のゲーム実行手段によりゲームを続行するようになっている、
ことを特徴とするゲームシステム。
【請求項３】
請求項１または２に記載のゲームシステムにおいて、
前記各端末は、ゲームの再実行の様子を前記表示手段に表示可能となっていることを特徴とするゲームシステム。
【請求項４】
複数のゲーム実行端末と通信回線を通じて通信可能なゲーム用サーバであって、
前記サーバは、
前記端末との間でデータを送受信する通信手段と、
前記サーバから前記端末へ送信したデータおよび前記各端末から受信したデータの履歴を記憶する履歴記憶手段と、
前記端末との通信状態を監視する監視手段と、を有し、
前記監視手段によって少なくとも１の前記端末との間の通信が切断したと判断された場合、前記履歴記憶手段から、当該１の端末が切断する直前までのデータの履歴である切断前履歴を読み出し、
前記切断前履歴を他の端末に送信する、
ことを特徴とするゲーム用サーバ。
【請求項５】
請求項４記載のゲーム用サーバにおいて、
前記１の端末の切断後、前記監視手段により当該１の端末が再接続したと判断された場合、前記履歴記憶手段に記憶された前記他の端末で再接続直前までのデータの履歴である再接続履歴を、前記通信手段によって当該１の端末に送信する、
ことを特徴とするゲーム用サーバ。
【請求項６】
複数の端末へ送信したデータおよび前記複数の端末から受信したデータの履歴を記憶する履歴記憶手段と、前記端末との通信状態を監視する監視手段と、端末との間でデータを送受信する通信手段とを有するサーバと、前記サーバと通信回線を通じて通信可能な複数の端末とから構成されたゲームシステムにおける前記端末にインストールされ、該端末にて対戦ゲームを実行するゲームプログラムであって、
前記端末を、
操作者が前記ゲームの操作を入力するための入力手段からの入力データを処理する入力データ処理手段と、
仮想操作者による仮想ゲーム操作を実行し得る仮想入力データ処理手段と、
他機からのゲーム処理データ、前記入力データ処理手段による処理データおよび前記仮想入力データ処理手段による処理データのいずれか複数の処理データに基づきゲーム処理を実行すると共に前記サーバの前記履歴記憶手段に前記ゲーム実行手段により実行されたゲーム結果を記憶させるべく該ゲーム結果を前記通信手段を介して前記サーバに送信させるゲーム実行手段として機能させ、
更に、当該端末において、自機以外の他の端末と前記サーバとの間の通信が切断されたことを示すデータを前記サーバから受信した場合、該サーバからの要請に基づき、その通信が切断される直前までのデータの履歴である切断前履歴を受信し、
前記ゲーム実行手段により前記サーバから受信した前記切断前履歴に基づいてゲームを再実行し、
その後、切断された前記端末に代えて前記仮想入力データ処理手段が稼働するように機能させることを特徴とするゲームプログラム。
【請求項７】
請求項６記載のゲームプログラムであって、
前記端末を、
更に、前記切断された端末に代えて仮想入力データ処理手段が稼働しており、かつ該切断された端末が再接続したことを示すデータを前記サーバから受信した場合、該サーバから前記切断された端末の再接続直前までのデータの履歴である再接続履歴を、前記通信手段によって前記再接続履歴を受信し、
前記ゲーム実行手段により前記サーバから受信した前記再接続履歴に基づいてゲームを再実行すると共に前記仮想入力データ処理手段は停止し、
その後、前記ゲーム実行手段によりゲームを続行するように機能させることを特徴とするゲームプログラム。
【請求項８】
請求項６または７記載のゲームプログラムであって、
前記端末を、
更に、自機端末と前記サーバとの間の通信が切断された後、再接続したことを示すデータを前記サーバから受信した場合、該サーバから前記切断された端末の再接続直前までのデータの履歴である再接続履歴を、前記通信手段によって前記再接続履歴を受信し、
前記ゲーム実行手段により前記サーバから受信した前記再接続履歴に基づいてゲームを再実行し、
その後、前記ゲーム実行手段によりゲームを続行するように機能させることを特徴とするゲームプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバと、前記サーバと通信回線を通じて通信可能な複数の端末とから構成され、前記端末において対戦ゲームを実行するゲームシステムに関する発明であり、特にサーバと端末との間で通信が切断され、または再接続された場合の処理に特徴を有する発明である。
【背景技術】
【０００２】
近年、サーバと通信回線を通じて通信可能とした複数の端末との間でゲームを行う、いわゆるネットワーク対戦ゲームが盛んに行われている。ネットワークゲームにおいて、端末ごとにゲーム処理が可能であって、各端末は自機のゲーム処理に必要な処理を実行し、その結果だけをサーバを通じて他機に送信するというシステムが知られている。このシステムでは、自機で実行されたゲーム処理の結果と他機で実行されたゲーム処理の結果とに基づいてゲーム画面を生成し、ゲーム画面を構成することで、複数の端末が１つのゲーム空間を共有することができるようになっている。
【特許文献１】特開２００３−１１７２４６
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、このシステムを採用すると、他機に通信の切断が生じた場合、自機は当該他機のゲーム処理の情報を保持していない。そのため、他機の通信切断により自機もゲームを継続することができない。これを回避するために、通信エラー時のプログラムを別途用意しておき、通信エラー後は独立したゲームをさせることが考えられるが、非常用プログラムを保持することはメモリの負担になるし、対戦ゲームの継続性は失われる。また、通信エラーを生じた端末が再接続しても、もはやゲームに復帰できない。また、当該他機のゲーム処理を逐一自機においても実行することが考えられるが、通信エラーという非常時のために常に複数端末間で重複した処理が実行されるのは不合理であるし、通信量が大きくなりすぎる。
【０００４】
本発明は、上記課題を解決するものであり、その目的は、端末ごとにゲーム処理が可能であって、各端末は自機のゲーム処理に必要な処理を実行し、その結果だけをサーバを通じて他機に送信するというシステムにおいて、通常時の通信やＣＰＵ負荷が増すことなく、ある端末に通信の切断があった場合でも、他の端末はゲームを継続することができるゲームシステムおよびそのシステムに用いるサーバ並びにゲームプログラムを提供することにある。また、他の目的は、通信が切断した端末が再接続した場合に容易にゲームに復帰することが可能なゲームシステムおよびそのシステムに用いるサーバ並びにゲームプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明のゲームシステムは、サーバと、前記サーバと通信回線を通じて通信可能な複数の端末とから構成され、前記端末において対戦ゲームを実行するゲームシステムにおいて、前記サーバは、前記端末との間でデータを送受信する通信手段と、前記サーバから前記端末へ送信したデータおよび前記各端末から受信したデータの履歴を記憶する履歴記憶手段と、前記端末との間の通信状態を監視する監視手段と、を有し、前記各端末は、前記サーバとの間でデータを送受信する通信手段と、操作者が前記ゲームの操作を入力するための入力手段と、前記入力手段からの入力データを処理する入力データ処理手段と、仮想操作者による仮想ゲーム操作を実行し得る仮想入力データ処理手段と、他機からのゲーム処理データ、前記入力データ処理手段による処理データおよび前記仮想入力データ処理手段による処理データのいずれか複数の処理データに基づきゲーム処理を実行すると共に前記サーバの前記履歴記憶手段に前記ゲーム実行手段により実行されたゲーム結果を記憶させるべく該ゲーム結果を前記通信手段を介して前記サーバに送信させるゲーム実行手段と、前記ゲーム実行手段により実行されたゲーム結果を画面表示する表示手段と、を有し、前記サーバは、前記監視手段によって少なくとも１の前記端末との間の通信が切断したと判断された場合、前記履歴記憶手段から、当該１の端末が切断する直前までのデータの履歴である切断前履歴を読み出し、前記切断前履歴を他の１または複数の端末に送信し、当該他の端末は、前記サーバから受信した前記切断前履歴に基づいて前記ゲーム実行手段によりゲームを再実行し、その後、切断された前記端末に代えて前記仮想入力データ処理手段を稼働させることにより、ゲームを続行するようになっている。このシステムによれば、仮想入力データ処理手段の適宜な利用により、通信エラーという非常時においてもサーバからのデータ履歴に基づき通常と同じゲームプログラムにより処理することで、１の端末の通信切断に対処することができ、例えば非常時用プログラムを別途用意する必要がないので、メモリに余計な負担をかけることがない。また、非常時に備えて常に複数端末で重複した処理を行う必要もなく、通信やＣＰＵの負荷は非常時の切り替えの際の一時的なものに抑えることができる。そして、ゲームに継続性をもたせることができる。また、例えば麻雀ゲームのように４プレイヤが必要なゲームで４つの端末が接続していない状態でゲームを開始した場合に通信エラーが生じたとしても、仮想プレイヤのプレイも継続させることができ、さらに、仮想プレイヤが複数ある場合、そのプレイを接続されている複数のプレイヤに分担するようにすれば各端末での処理の軽減が図られる。
【０００６】
また、前記サーバは、前記１の端末の切断後、前記監視手段により当該１の端末が再接続したと判断された場合、前記履歴記憶手段に記憶された前記他の端末で再接続直前までのデータの履歴である再接続履歴を、前記通信手段によって前記再接続履歴を当該１の端末に送信し、当該１の端末は、前記サーバから受信した前記再接続履歴に基づいて前記ゲーム実行手段によりゲームを再実行し、前記仮想入力データ処理手段を稼働させていた他の端末は、該仮想入力データ処理手段を停止すると共に前記サーバから受信した前記再接続履歴に基づいて前記ゲーム実行手段によりゲームを再実行し、その後、各々のゲーム実行手段によりゲームを続行するようになっていると良い。これにより、上記同様にサーバからのデータ履歴に基づき通常と同じゲームプログラムにより処理でき、メモリ、ＣＰＵや通信負荷が増大することなく、通信エラーを生じた端末を再接続した際にも容易にゲームに復帰することができる。
【０００７】
また、再接続後、前記ゲームの再実行の様子を、ゲーム画面に表示することにより、切断された側の操作者は、切断から再接続するまでの間に行われたゲーム内容が確認できるようになり、ゲームに復帰しやすくなる。
【発明を実施するための最良の形態】
【０００８】
図１は、ネットワークゲームの概略図である。サーバ１は、インターネット３に接続されている。また携帯電話２ａ、２ｂは、携帯電話通信網４を通じてインターネット３に接続される。
【０００９】
図２は、サーバ１のブロック図である。通信手段１１０は、インターネット３および携帯電話通信網４を介して携帯電話２ａ、２ｂとの間でデータを送受信する。監視手段１２０は、携帯電話２の通信が接続されているかどうかを判断する。切断された端末が再接続したときは、端末ごとに割り当てられているシリアルナンバーデータを識別することにより、再接続したことを判断することができる。履歴記憶手段１３０は、携帯電話２から送信されてくるゲームプレイの履歴を記憶する。ＣＰＵ１４０は、通信手段１１０、監視手段１２０、履歴記憶手段１３０の各手段に指令を出すほか、対戦相手の組み合わせ、リアルプレイヤや仮想プレイヤのゲーム処理を実行させる負担先の決定等を行う。メモリ１５０は、サーバの処理に必要なプログラムおよびデータを記憶する。
【００１０】
図３は、携帯電話２（２ａ、２ｂ）のブロック図である。この携帯電話２には、携帯電話通信網４およびインターネット３を介してサーバ１との間でデータを送受信する通信手段２１０と、プレイヤ（操作者）からのゲーム操作の入力を受け付ける入力手段２３０と、入力手段２３０からの入力データを後記ゲーム実行手段２５０にて処理可能なデータとして処理する入力データ処理手段２４０と、上記通信手段２１０を介してのサーバ１からのデータ及び入力データ処理手段２４０からのデータに基づき、メモリ２６０に記憶された対戦ゲームプログラムを実行するゲーム実行手段２５０とが設けられている。
また、携帯電話２には、仮想プレイヤ（いわゆるＣＰＵプレイヤ）によるゲーム操作をシミュレートするべく、仮想入力処理手段２７０が設けられている。この仮想入力処理手段２７０は、例えば３人以上で行う対戦ゲームにおいて、ネットワーク上に対戦者が２人のみしか存在しない場合に、残りの対戦者をコンピュータが代行するためのものである。後記するように、この仮想入力処理手段２７０を通信切断時に切断した端末の代わりとして他のプレイヤはゲームを続行することとなる。
【００１１】
次に本発明にかかるネットワークゲームの内容について説明する。本実施例では、いわゆる４人打ち麻雀ゲームを例にとって説明する。
【００１２】
携帯電話２ａおよび２ｂは、携帯電話通信網４およびインターネット３を介して、サーバ１に接続する。
【００１３】
サーバ１は、ＣＰＵによって、携帯電話２ａと２ｂとを対戦相手としてマッチングする。この場合、現実の操作者によってプレイされるプレイヤは２人である。ここでは、携帯電話２ａの操作者をリアルプレイヤ１といい、携帯電話２ｂの操作者をリアルプレイヤ２という。４人打ち麻雀ゲームを成立させるために、残りの２人分のプレイを仮想プレイヤのプレイとして実行させなければならない。仮想プレイヤのプレイは、携帯電話２ａ、２ｂの各仮想入力処理手段２７０により１人分ずつ実現される。サーバは、携帯電話２ａに仮想プレイヤ１を実行させ、携帯電話２ｂに仮想プレイヤ２を実行させる命令を、携帯電話２ａおよび携帯電話２ｂに送信する。その振り分けは、サーバ１のマッチングの際に行われ、いずれかの携帯電話２の負担のみが大きくならないように、均等に振り分けられるように調整される。
【００１４】
サーバ１は、各プレイヤがプレイする順番を決定する。本実施例では、リアルプレイヤ１、仮想プレイヤ１、リアルプレイヤ２、仮想プレイヤ２の順でゲームを行う。サーバ１は、ゲームを開始する命令を携帯電話２ａおよび携帯電話２ｂに送信する。
【００１５】
サーバ１は、各牌のデータを有しており、牌をランダムに並べ替え、牌の山となるデータを作成する。そして、牌の山から順番に各プレイヤの最初の手牌を配牌する。配牌は、履歴記憶手段１３０に記憶する。そして、サーバ１は、携帯電話２ａに対しては、リアルプレイヤ１および仮想プレイヤ１の配牌データを送信する。携帯電話２ｂに対しては、リアルプレイヤ２および仮想プレイヤ２の配牌データを送信する。
【００１６】
図４は、携帯電話２ａの表示手段２２０のゲーム画面である。携帯電話２ａのゲーム実行手段２５０は、サーバ１から受信したリアルプレイヤ１および仮想プレイヤ１の配牌データに基づき、リアルプレイヤ１については牌の表面の画像を画面の手牌エリア３０１に表示する。仮想プレイヤ１については、牌の内容が見えないように裏面の画像を画面の手牌エリア３０２に表示する。配牌データがない、リアルプレイヤ２については手牌エリア３０３に、仮想プレイヤ２については手牌エリア３０４に、裏面の画像を画面に表示する。
【００１７】
同様にして、携帯電話２ｂにおいても、サーバ１から受信したリアルプレイヤ２、および仮想プレイヤ２の配牌データに基づき、リアルプレイヤ２については牌の表面の画像を画面に表示する。仮想プレイヤ２については、牌の内容が見えないように裏面の画像を画面に表示する。配牌データがないリアルプレイヤ１および仮想プレイヤ１については、裏面の画像を画面に表示する。
【００１８】
サーバ１は、牌の山から、リアルプレイヤ１のツモ牌データを取り出し、履歴記憶手段１３０に記憶する。そして、そのツモ牌データを携帯電話２ａに送信する。
【００１９】
携帯電話２ａは、サーバ１から受信したリアルプレイヤ１のツモ牌データに基づきツモ牌画像を画面の手牌エリア３０１に表示する。そして、入力データ処理手段２４０は、リアルプレイヤ１からの入力に基づく処理を実行する。この処理は、実際には捨て牌の選択等、リアルプレイヤ１の入力に基づくゲーム実行手段２４０に対する処理である。そして、ゲーム実行手段２５０は、入力データ処理手段２４０からのデータに基づきゲームを進行させ、その結果を画像として表示手段２２０のゲーム画面に表示する。例えば、ツモ牌が「一萬」であり、リアルプレイヤ１が「一萬」を捨てる操作を入力した場合、手牌エリア３０１から「一萬」の牌を消去し、捨て牌エリア３０５に表示する。そして、通信手段２１０は、サーバ１に対し、リアルプレイヤ１が「一萬」を捨てたことを示すデータを送信する。
【００２０】
サーバ１は、携帯電話２ａから受信したリアルプレイヤ１のゲームの結果を履歴記憶手段１３０に記憶するとともに、リアルプレイヤ１のゲームの結果を携帯電話２ｂに送信する。
【００２１】
携帯電話２ｂのゲーム実行手段２４０は、サーバ１から受信したリアルプレイヤ１のゲームの結果に基づき、表示手段２２０のゲーム画面の捨て牌エリアに、「一萬」の牌の画像を表示させる。
【００２２】
次に、サーバ１は、牌の山から、仮想プレイヤ１のツモ牌データを取り出し、履歴記憶手段１３０に記憶する。そして、そのツモ牌データを携帯電話２ａに送信する。
【００２３】
携帯電話２ａは、サーバ１から受信した仮想プレイヤ１のツモ牌データに基づき、仮想入力データ処理手段２７０にて仮想プレイヤ１の捨て牌を選択する処理を実行し、ゲーム実行手段２５０は、その処理結果に基づきゲームを進行させ、その結果を画像として表示手段２２０のゲーム画面に表示する。例えば、サーバ１から受信したツモ牌が「九萬」のとき、仮想入力データ処理手段２７０は、プログラムに基づき手牌の中の「二萬」を捨てると判断する。ゲーム実行手段２５０は、捨て牌エリア３０５に「二萬」の牌の画像を表示する。そして、通信手段２１０により、サーバ１に対し、仮想プレイヤ１が「二萬」を捨てたことを示すデータを送信する。
【００２４】
サーバ１では、携帯電話２ａから受信した仮想プレイヤ１のゲームの結果を履歴記憶手段１３０に記憶するとともに、そのツモ牌データを仮想プレイヤ１のゲームの結果を携帯電話２ｂに送信する。
【００２５】
携帯電話２ｂのゲーム実行手段２５０は、サーバから受信した仮想プレイヤ１のゲームの結果に基づき、表示手段２２０のゲーム画面の捨て牌エリアに、「二萬」の牌を表示させる。
【００２６】
続いて、携帯電話２ｂでは、リアルプレイヤ２は、仮想プレイヤ１の捨てた「二萬」の牌を「チー」するとする。まず、リアルプレイヤ２により「チー」を行う入力が行われる。入力データ処理手段２４０及びゲーム実行手段２５０は、「チー」の入力に従い、「チー」の場合のゲーム処理（「一萬」および「三萬」を手牌エリアから除き、「二萬」を捨て牌エリアから除き、図示しないチーエリアにこの３つの牌を移動するとともに、捨て牌を選択させる）を実行する。そして、このゲームの結果に基づき「一萬」「二萬」「三萬」の画像をチーエリアに表示する。そして操作者が「六萬」を捨てた場合は「六萬」を捨て牌エリアに表示する。そして、通信手段２１０により、サーバ１に対し、この結果を示すデータを送信する。
【００２７】
サーバ１では、携帯電話２ｂから受信したリアルプレイヤ２のゲームの結果を履歴記憶手段１３０に記憶するとともに、リアルプレイヤ２のゲームの結果を携帯電話２ａに送信する。
【００２８】
携帯電話２ａは、サーバ１から受信したリアルプレイヤ２のゲームの結果に基づき、「一萬」「二萬」「三萬」の画像をリアルプレイヤ２のチーエリアに表示し、捨て牌エリア３０５に、「六萬」の牌を表示する。
【００２９】
続いて、サーバ１は、牌の山から、仮想プレイヤ２のツモ牌データを取り出し、履歴記憶手段１３０に記憶する。そして、携帯電話２ａに送信する。
【００３０】
携帯電話２ｂは、サーバ１から受信した仮想プレイヤ２のツモ牌データに基づき、仮想入力データ処理手段２７０にて仮想プレイヤ２の入力処理を実行し、ゲーム実行手段２５０は、ゲームを進行させ、その結果の画像を画面に表示する。例えば、サーバから受信したツモ牌が「四萬」であり、仮想入力データ処理手段２７０が「四萬」を捨てると判断した場合、ゲーム実行手段２５０は捨て牌エリア４０５に「四萬」の牌を表示させる。そして、サーバ１にゲームの結果を送信する。
【００３１】
サーバ１では、携帯電話２ｂから受信した仮想プレイヤ２のゲームの結果を履歴記憶手段１３０に記憶するとともに、仮想プレイヤ２のゲーム結果を携帯電話２ａに送信する。
【００３２】
携帯電話２ａは、サーバ１から受信した仮想プレイヤ２のゲーム結果に基づき、画面の捨て牌エリア３０５に、「四萬」の牌を表示する。
【００３３】
上記処理によって対戦麻雀ゲームが継続していく。すなわち、携帯電話２ａのゲーム実行手段２５０、入力データ処理手段２４０、仮想入力データ処理手段２７０は、自機が処理を負担するリアルプレイヤ１と仮想プレイヤ１のプレイについては、最初の手牌データおよびその後の配牌データ等に基づきゲーム処理を行い、携帯電話２ｂが処理を負担するリアルプレイヤ２と仮想プレイヤ２のプレイについては、ゲームの結果を受信して表示する。他方、携帯電話２ｂのゲーム実行手段２５０、入力データ処理手段２４０、仮想入力データ処理手段２７０は、その逆で、自機が処理を負担するリアルプレイヤ２と仮想プレイヤ２のプレイについては、最初の手牌データおよびその後の配牌データ等に基づきゲーム処理を行い、携帯電話２ａが処理を負担するリアルプレイヤ１と仮想プレイヤ１のプレイについては、ゲームの結果を受信して表示する制御を行う。サーバ１は、各プレイヤへの配牌データと、携帯電話２ａおよび２ｂのゲームの結果の履歴を逐一記憶する。
【００３４】
次に、携帯電話２ａの通信が切断された場合のサーバ１、携帯電話２ａ、２ｂの処理について説明する。サーバ１の監視手段１２０は、携帯電話２ａの通信が切断されたと判断する。監視手段１２０は、所定時間携帯電話２ａからの再接続を待機する。所定時間が経過しても再接続されない場合、ＣＰＵ１４０は携帯電話２ａとの通信が切断されたことを示すフラグを携帯電話２ｂに送信する。続いて、携帯電話２ａの通信が切断される直前までの全てのプレイヤ（リアルプレイヤ２、仮想プレイヤ２分を含む）のゲームの結果データの履歴である切断前履歴を携帯電話２ｂに送信する。
【００３５】
携帯電話２ｂのゲーム実行手段２５０は、サーバ１から上記フラグを受信したら、サーバ１から受信した切断前履歴に基づいて、ゲームの始めから携帯電話２ａの切断前までのゲームを再実行する。なお、この再実行処理は画面に表示されず、バックグラウンドで実行される。
【００３６】
そして、携帯電話２ａで処理されていたリアルプレイヤ１および仮想プレイヤ１のプレイを仮想的に続行させるべく、仮想入力データ処理手段２７０がリアルプレイヤ１および仮想プレイヤ１分の処理が開始する。本実施例の場合、既に仮想プレイヤ２分の処理が仮想入力データ処理手段２７０により行われているので、リアルプレイヤ１および仮想プレイヤ１分の処理の追加になるが、仮想プレイヤ分の処理が切断前に行われていない場合には、仮想入力データ処理手段２７０はこの時点でその作動を開始することとなる。従って、この時点から、リアルプレイヤ１のプレイは、実質的に仮想プレイヤと同様の処理となり、仮想入力データ処理手段２７０で自動的に実行されることになる。すなわち、携帯電話２ｂにおいては、リアルプレイヤ２のプレイのみが実際の操作者の入力に基づいて実行され、リアルプレイヤ１、仮想プレイヤ１、仮想プレイヤ２の入力処理を仮想入力データ処理手段２７０により自動的に実行することになり、携帯電話２ｂは、対戦相手なしにサーバ１との間との通信のみでゲームを続行することとなる。
【００３７】
サーバ１は、携帯電話２ｂにおいて単独でゲームが行われているものと判断し、携帯電話２ｂの配牌データを履歴記憶手段に記憶し、携帯電話２ｂに送信し、また、携帯電話２ｂで実行されたゲームの結果を受信し、履歴記憶手段１３０に記憶することを繰り返す。
【００３８】
上記のとおり、本実施例のゲームシステムでは、携帯電話２ｂには、携帯電話２ａで処理されていたリアルプレイヤ２および仮想プレイヤ２の最初の手牌およびその後の配牌のデータは送信されておらず、携帯電話２ａの切断時のリアルプレイヤ１および仮想プレイヤ１の手牌の内容を認識していない。これは、携帯電話のＣＰＵの処理能力、メモリ容量、通信の負荷等を考慮したものであるが、携帯電話２ｂにおいてゲームを継続させるためには、携帯電話２ｂに、携帯電話２ａの切断時のリアルプレイヤ１および仮想プレイヤ１の手牌の内容を把握させる必要がある。そこで、携帯電話２ａの切断前までの履歴を再実行させることで、携帯電話２ａの切断時のリアルプレイヤ１および仮想プレイヤ１の手牌を把握させる。そして、リアルプレイヤ２以外のプレイヤの入力については仮想入力データ処理手段２７０で自動的に実行することにより、携帯電話２ｂの操作者は、携帯電話２ａの切断に影響されることなく、引き続きゲームを継続することが可能となる。
【００３９】
なお、本実施例では２つの携帯電話による対戦ゲームであるため、携帯電話２ａが担当していた仮想プレイヤ１のプレイを携帯電話２ｂに負担させることになるが、例えば３つの携帯電話ａ、ｂ、ｃによる対戦ゲームである場合は、サーバは仮想プレイヤの負担先を任意に決定することができる。具体的には、携帯電話ａが仮想プレイヤのプレイを担当しており、携帯電話ｂ、ｃは担当していない場合において、携帯電話ａの通信が切断されると、サーバは、携帯電話ａのリアルプレイヤのプレイを携帯電話ｂに、仮想プレイヤのプレイを携帯電話ｃに分担して負担させることができる。また、同様の場合において、携帯電話ｂの通信が切断された場合、携帯電話ａにこれ以上の負担がかからないよう、携帯電話ｃに携帯電話ｂのリアルプレイヤのプレイを負担させる。すなわち、サーバのＣＰＵは、各携帯電話の担当するプレイヤをその負担が偏らないように配分する手段を有している。このようにすることで、各携帯電話間の処理の負担を軽減させる。
【００４０】
また、携帯電話ａの通信切断後、携帯電話ｂではリアルプレイヤ１と仮想プレイヤ１をもプレイすることにしたが、これらのプレイについては、いわゆる「ツモ切り」という軽い処理を行って、携帯電話ｂの処理負担を軽減してもよい。
【００４１】
次に、携帯電話２ａの通信が再接続した場合について説明する。
【００４２】
携帯電話２ａは、切断後、サーバに再接続する。サーバ１の監視手段１２０は、携帯電話２ａのシリアルナンバーデータを認識し、再接続したと判断する。ＣＰＵ１４０は履歴記憶手段１３０から、携帯電話２ａの通信が再接続される直前までのゲームプレイの履歴である再接続前履歴を読み出し、通信手段１１０によって携帯電話２ａに再接続前履歴を送信する。
【００４３】
携帯電話２ａのゲーム実行手段は、サーバ１から受信した再接続前履歴に基づいて、ゲームをその始めから携帯電話２ａの再接続前まで再実行する。
再実行は画面に表示されず、バックグラウンドで実行することもできるが、再実行の様子を画面に表示してもよい。また、表示する／しないを選択可能としても良い。画面に再実行の様子を表示することで、操作者は、切断から再接続までの間に携帯電話２ｂ側にて自動的に行われたリアルプレイヤ１のプレイ内容を確認することができる。再実行が完了すると、携帯電話２ａは、その再接続時のリアルプレイヤ１および仮想プレイヤ１の手牌の内容または状態を記憶する。
【００４４】
一方、サーバ１は、携帯電話２ｂに対し、携帯電話２ａが再接続されたことを示すフラグを送信する。携帯電話２ｂは、このサーバ１から受信したフラグに基づき、リアルプレイヤ１および仮想プレイヤ１のプレイの仮想入力データ処理手段２７０による処理を停止する。
【００４５】
携帯電話２ａの再接続後は、携帯電話２ａにおいてリアルプレイヤ１および仮想プレイヤ１のプレイが実行され、携帯電話２ｂにおいてリアルプレイヤ２および仮想プレイヤ２のプレイが実行される。このようにして、携帯電話２ａの操作者はゲームに復帰することができる。
【００４６】
次に、本発明にかかるネットワークゲームの各構成の処理について図６、図７のフローチャートに基づき説明する。説明を簡便にするため、２つの端末２がサーバ１に接続する場合について説明する。
【００４７】
図５のフローチャートはサーバ１側の処理を示す。まず、ゲームをスタートするために、サーバ１は、各端末２の対戦組み合わせ、すなわちマッチングを行う（Ｓ１０１）。マッチングが成立し対戦相手（例えば端末２ａ、２ｂ）を決定すると、対戦ゲーム処理を開始する（Ｓ１０２）。
【００４８】
サーバ１は、監視手段１２０により、各端末２の通信状態を監視する。これは、実際には各端末２との間で通信エラーが発生したかどうかを監視するものである（Ｓ１０３）。この監視は、ゲーム終了まで継続して行われる（Ｓ１０４）。
そして、１の端末２に通信エラーが発生したと判断すると、当該エラー発生端末２の再接続のために所定時間待機する（Ｓ１０５）。所定時間内に、エラー発生端末２が再接続した場合は継続して対戦ゲーム処理を行う（Ｓ１０６、Ｓ１０７）。
【００４９】
一方、所定時間内にエラー発生端末２からの再接続がない場合、エラー発生時までのゲームプレイの履歴（切断前履歴）を、通信状態が正常な正常端末２に送信する（Ｓ１１０）。そして、正常端末２における単独ゲームとして処理を開始する（Ｓ１１１）。単独ゲームとして処理を開始した後、サーバ１は、エラー発生端末２からの再接続があるかどうかをゲーム終了まで監視する（Ｓ１１２）。
ゲーム終了までエラー発生端末２から再接続がない場合、そのままゲームを終了させる（Ｓ１１３）。
【００５０】
エラー発生端末２から再接続があった場合、再接続時までの履歴を、そのエラー発生端末２に送信し（Ｓ１１４）、対戦ゲーム処理を再開する（Ｓ１１５）。
なお、すべての端末２との間で通信エラーを生じた場合、サーバ１はゲーム処理を中止する（Ｓ１０９）。
【００５１】
図６のフローチャートは、各端末２側の処理を示す。端末のゲーム実行手段は、自機のリアルプレイヤの順番であるかどうかを判断する（Ｓ２１０）。自機リアルプレイヤの順番であれば、入力手段からの入力に応じてゲーム処理を行う（Ｓ２０２）。ゲーム処理は、麻雀ゲームでは「ポン」、「チー」などのゲーム内容に応じた処理である。
【００５２】
次に、端末２は、自機が担当する仮想プレイヤの順番であるかどうかを判断する（Ｓ２０３）。自機が担当する仮想プレイヤの順番であれば、ゲーム実行手段２５０及び仮想入力データ処理手段２７０によりゲーム処理を行う（Ｓ２０４）。また、自機リアルプレイヤの順番でなければ、サブルーチンＡの処理を行う（Ｓ２０６）。
【００５３】
図７は、サブルーチンＡの処理を示すフローチャートである。
サーバ１との通信により、他機において処理されたゲームの結果があるかどうかを判断する（Ｓ３０１）。他機において処理されたゲームの結果がある場合は、そのプレイを自機画面上に表示させる（Ｓ３０２）。他機において処理されたゲームの結果がまだないと判断した場合、自機の通信エラーが発生したかどうかを判断する（Ｓ３０３）。自機に通信エラーがない場合は、他機にエラーが生じているかどうかをサーバ１に問い合わせる（Ｓ３０４）。サーバ１から、他機通信エラーを示すデータを受信した場合、フラグをたてる（Ｓ３０５）。
【００５４】
サブルーチンＡの処理の結果、フラグが立っている状態（Ｆ＝１）であると判断した場合（Ｓ２０７）は、サーバ１から、他機通信エラー発生時までのゲームプレイの履歴（切断前履歴）を受信する（Ｓ２１０）。自機のゲーム実行手段２５０は、サーバ１から受信した履歴に基づいて、ゲームを再実行する（Ｓ２１１）。再実行が完了すると、単独ゲーム処理を行う（Ｓ２１２）。単独ゲーム処理の間は、自機で実行されたゲームの結果をサーバ１に送信し、サーバ１は、受信した結果を履歴記憶手段１３０に記憶する。
【００５５】
そして、単独ゲーム処理を行っている間、他機からの再接続があった場合、自機は、サーバから他機再接続のデータを受信し（Ｓ２１３）、フラグを戻し（Ｆ＝０）、正常な状態の対戦ゲーム処理に戻る（Ｓ２１４）。
【００５６】
サブルーチンＡの処理において、自機通信エラーが生じたと判断した場合（Ｓ３０３）、自機は再接続を開始する（Ｓ３０７）。サーバが許容する所定時間内であれば、自機通信エラー発生時までのゲームプレイの履歴を受信することはないので、正常の対戦ゲーム処理に戻る（Ｓ３０８）。サーバが許容する所定時間を超えて再接続すると、自機の通信再接続時までの他機によるゲームプレイの履歴（再接続前履歴）をサーバから受信することになる（Ｓ３０８）。当該履歴を受信すると、ゲーム実行手段２５０は、自機の通信再接続時までの履歴に基づいて、ゲームを再実行し、正常な対戦ゲーム処理に戻る（Ｓ３０９）。
【００５７】
なお、本発明は、上記実施例に限定されるものではない。上記実施例では、説明を簡便化するため、２つの端末を想定して説明したが、端末の数は３以上でもよい。その場合、１の端末の通信が切断した場合でも残りの端末間で対戦を続行する。そして、切断した端末のリアルプレイヤを残りの端末で上記の手順により担当すると共に、切断した端末で仮想プレイヤも担当していた場合にはその仮想プレイヤとを残りの端末で担当することとなる。また、上記実施例は、麻雀ゲームを例にとって説明したが、これに限られず、ポーカーや神経衰弱などのトランプゲーム、将棋、囲碁、チェスなどのゲームであってもよい。
【００５８】
更に、上記フローチャートはあくまで一実施例であり、その具体的処理に限定されず、本発明を実現可能な処理であれば、様々な具体的処理があり、それらの処理も本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施の形態に係るネットワークゲームの概略図である。
【図２】サーバ１のブロック図である。
【図３】携帯電話２（２ａ、２ｂ）のブロック図である。
【図４】携帯電話２ａの表示手段２２０のゲーム画面である。
【図５】サーバ１側の処理を示すフローチャートである。
【図６】各端末２側の処理を示すフローチャートである。
【図７】サブルーチンＡの処理を示すフローチャートである。
【符号の説明】
【００６０】
１  サーバ、２  携帯電話機、３  インターネット、４  携帯電話通信網、１１０  通信手段、１２０  監視手段、１３０  履歴記憶手段、１４０  ＣＰＵ、１５０  メモリ、２１０  通信手段、２２０  表示手段、２３０  入力手段、２４０  入力データ処理手段、２５０  ゲーム実行手段、２６０メモリ、２７０  仮想入力データ処理手段、３０１  リアルプレイヤ１手牌エリア、３０２、仮想プレイヤ１手牌エリア、３０３  リアルプレイヤ２手牌エリア、３０４  仮想プレイヤ２手牌エリア、３０５  捨て牌エリア。
【図１】
2006288769.tif 000003
【図２】
2006288769.tif 000004
【図３】
2006288769.tif 000005
【図４】
2006288769.tif 000006
【図５】
2006288769.tif 000007
【図６】
2006288769.tif 000008
【図７】
2006288769.tif 000009
【手続補正書】
【提出日】平成18年8月11日(2006.8.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
サーバと、前記サーバと通信回線を通じて通信可能な複数の端末とから構成され、前記端末において対戦ゲームを実行するゲームシステムにおいて、
前記サーバは、
前記端末との間でデータを送受信する通信手段と、
前記サーバから前記端末へ送信したデータおよび前記各端末から受信したデータの履歴を記憶する履歴記憶手段と、
前記端末との間の通信状態を監視する監視手段と、
前記履歴記憶手段からデータを読み出し、通信手段に前記端末へ当該データの送信を指令する指令手段と、を有し、
前記各端末は、
前記サーバとの間でデータを送受信する通信手段と、
操作者が前記ゲームの操作を入力するための入力手段と、
前記入力手段からの入力データを処理する入力データ処理手段と、
仮想操作者による仮想ゲーム操作を実行し得る仮想入力データ処理手段と、
他の端末からのゲーム処理データ、前記入力データ処理手段による処理データおよび前記仮想入力データ処理手段による処理データのいずれか複数の処理データに基づきゲーム処理を実行すると共に前記サーバの前記履歴記憶手段に当該ゲーム処理の実行の結果であるゲーム結果を記憶させるべく該ゲーム結果を前記通信手段を介して前記サーバに送信させるゲーム実行手段と、
前記ゲーム実行手段により実行されたゲーム結果を画面表示する表示手段と、を有し、
前記サーバは、
前記監視手段によって少なくとも１の前記端末との間の通信が切断したと判断された場合、前記指令手段により、前記履歴記憶手段から、当該切断された１の端末が切断する直前までのデータの履歴である切断前履歴を読み出し、
前記通信手段により前記切断前履歴を、サーバに接続されている他の１または複数の端末に送信し、
当該切断前履歴を送信された他の端末は、
前記サーバから受信した前記切断前履歴に基づいて前記ゲーム実行手段によりゲームを再実行し、
その後、前記仮想入力データ処理手段は、前記切断された１の端末に代わり処理を実行し、前記ゲーム実行手段は、当該仮想入力データ処理手段からの処理データに基づき、ゲームを続行するようになっている、
ことを特徴とするゲームシステム。
【請求項２】
請求項１記載のゲームシステムにおいて、
前記サーバは、
前記切断された１の端末の切断後、前記監視手段により当該切断された１の端末が再接続したと判断された場合、前記指令手段により、前記履歴記憶手段に記憶された前記サーバに接続されている他の端末で実行された再接続直前までのデータの履歴である再接続履歴を読み出し、前記通信手段によって前記再接続履歴を当該切断された１の端末に送信し、
当該切断された１の端末は、
前記サーバから受信した前記再接続履歴に基づいて前記ゲーム実行手段によりゲームを再実行し、
前記サーバに接続されている他の端末の前記仮想入力データ処理手段は、前記切断された１の端末に代わり実行していた処理を停止し、
その後、各々のゲーム実行手段によりゲームを続行するようになっている、
ことを特徴とするゲームシステム。
【請求項３】
請求項１または２に記載のゲームシステムにおいて、
前記各端末は、ゲームの再実行の様子を前記表示手段に表示可能となっていることを特徴とするゲームシステム。
【請求項４】
複数のゲーム実行端末と通信回線を通じて通信可能なゲーム用サーバであって、
前記サーバは、
前記端末との間でデータを送受信する通信手段と、
前記サーバから前記端末へ送信したデータおよび前記各端末から受信したデータの履歴を記憶する履歴記憶手段と、
前記端末との通信状態を監視する監視手段と、
前記履歴記憶手段からデータを読み出し、通信手段に前記端末へ当該データの送信を指令する指令手段と、を有し、
前記監視手段によって少なくとも１の前記端末との間の通信が切断したと判断された場合、前記指令手段により、前記履歴記憶手段から、当該切断された１の端末が切断する直前までのデータの履歴である切断前履歴を読み出し、
前記通信手段により、サーバに接続されている他の端末において再実行するために前記切断前履歴を、サーバに接続されている他の端末に送信する、
ことを特徴とするゲーム用サーバ。
【請求項５】
請求項４記載のゲーム用サーバにおいて、
前記切断された１の端末の切断後、前記監視手段により当該切断された１の端末が再接続したと判断された場合、前記指令手段により、前記履歴記憶手段に記憶された前記サーバに接続されている他の端末で実行された再接続直前までのデータの履歴である再接続履歴を読み出し、前記通信手段によって、前記切断された１の端末において再実行するために前記再接続履歴を、当該切断された１の端末に送信する、
ことを特徴とするゲーム用サーバ。
【請求項６】
複数の端末へ送信したデータおよび前記複数の端末から受信したデータの履歴を記憶する履歴記憶手段と、前記端末との通信状態を監視する監視手段と、端末との間でデータを送受信する通信手段とを有するサーバと、前記サーバと通信回線を通じて通信可能な複数の端末とから構成されたゲームシステムにおける前記端末にインストールされ、該端末にて対戦ゲームを実行するゲームプログラムであって、
前記端末を、
前記サーバとの間でデータを送受信する通信手段と、
操作者が前記ゲームの操作を入力するための入力手段からの入力データを処理する入力データ処理手段と、
仮想操作者による仮想ゲーム操作を実行し得る仮想入力データ処理手段と、
他の端末からのゲーム処理データ、前記入力データ処理手段による処理データおよび前記仮想入力データ処理手段による処理データのいずれか複数の処理データに基づきゲーム処理を実行すると共に前記サーバの前記履歴記憶手段に当該ゲーム処理の実行の結果であるゲーム結果を記憶させるべく該ゲーム結果を前記通信手段を介して前記サーバに送信させるゲーム実行手段として機能させ、
更に、当該端末において、前記通信手段により、自機以外の他の端末と前記サーバとの間の通信が切断されたことを示すデータを前記サーバから受信した場合、該サーバからの要請に基づき、該切断された他の端末の通信が切断される直前までのデータの履歴である切断前履歴を受信し、
前記ゲーム実行手段により前記サーバから受信した前記切断前履歴に基づいてゲームを再実行し、
その後、前記仮想入力データ処理手段は、前記切断された他の端末に代わり処理を実行し、前記ゲーム実行手段は、当該仮想入力データ処理手段からの処理データに基づき、ゲームを続行するように機能させることを特徴とするゲームプログラム。
【請求項７】
請求項６記載のゲームプログラムであって、
前記端末を、
更に、前記仮想入力データ処理手段が前記切断された他の端末に代わり処理を実行し、かつ前記通信手段により該切断された他の端末が再接続したことを示すデータを前記サーバから受信した場合、前記仮想入力データ処理手段は前記切断された他の端末に代わって実行していた処理を停止し、その後、前記ゲーム実行手段によりゲームを続行するように機能させることを特徴とするゲームプログラム。
【請求項８】
複数の端末へ送信したデータおよび前記複数の端末から受信したデータの履歴を記憶する履歴記憶手段と、前記端末との通信状態を監視する監視手段と、端末との間でデータを送受信する通信手段とを有するサーバと、前記サーバと通信回線を通じて通信可能な複数の端末とから構成されたゲームシステムにおける前記端末にインストールされ、該端末にて対戦ゲームを実行するゲームプログラムであって、
前記端末を、
前記サーバとの間でデータを送受信する通信手段と、
操作者が前記ゲームの操作を入力するための入力手段からの入力データを処理する入力データ処理手段と、
仮想操作者による仮想ゲーム操作を実行し得る仮想入力データ処理手段と、
他の端末からのゲーム処理データ、前記入力データ処理手段による処理データおよび前記仮想入力データ処理手段による処理データのいずれか複数の処理データに基づきゲーム処理を実行すると共に前記サーバの前記履歴記憶手段に当該ゲーム処理の実行の結果であるゲーム結果を記憶させるべく該ゲーム結果を前記通信手段を介して前記サーバに送信させるゲーム実行手段として機能させ、
更に、当該端末において、前記通信手段により、前記サーバとの間の通信が切断された後、再接続した場合、前記サーバと接続されていた他の端末において実行された再接続直前までのデータの履歴である再接続履歴を、前記通信手段によって受信し、
前記ゲーム実行手段により前記サーバから受信した前記再接続履歴に基づいてゲームを再実行し、
その後、前記ゲーム実行手段によりゲームを続行するように機能させることを特徴とするゲームプログラム。