(57)【特許請求の範囲】
【請求項１】
複数のユーザに複数のゲームを提供するゲームシステムであって、
前記複数のユーザの各ユーザにより使用される端末装置を介して、当該各ユーザに前記複数のゲームのうちいずれか一つを提供する提供部、
当該各ユーザにより使用される端末装置を介して前記各ユーザから発せられた将来のプレイ期間を指定する期間予約を受け付ける期間受付部、
前記受け付けられた期間予約に指定された期間と、前記受け付けられた期間予約を発したユーザと、前記受け付けられた期間予約を発したユーザに現在提供されているゲームと、を、指定するプレイ予約を蓄積する蓄積部、
前記各ユーザにより使用される端末装置から送信された候補問合せを受信する問合せ受信部、
前記複数のゲームの各ゲームについて、当該各ゲームが現在提供されているユーザの人数と、前記蓄積されたプレイ予約のうち当該各ゲームについて現在を含む期間予約を指定するプレイ予約の数と、に基づいて、当該各ゲームの負荷を推定する推定部、
前記推定された負荷に基づいて、当該各ゲームを提供可能か否かを判定する判定部、
前記候補問合せが受け付けられると、前記複数のゲームのうち前記判定部により提供可能と判定されたゲームと、当該候補問合せを送信した端末装置を使用するユーザならびに現在を含む期間予約を指定するプレイ予約に指定されるゲームと、を、候補として指定する候補応答を、当該候補問合せを送信した端末装置に送信する応答送信部、
前記候補応答の送信先の端末装置から、当該候補応答に指定されたゲームのいずれかを指定する切替要求を受信する要求受信部、
前記切替要求が受信されると、前記提供部により前記切替要求を送信した端末装置を使用するユーザに提供されるゲームを、当該ユーザに現在提供しているゲームから、前記切替要求に指定されるゲームへ、切り替える切替部
を備えることを特徴とするゲームシステム。
【請求項２】
請求項１に記載のゲームシステムであって、
前記期間予約には、当該期間予約を発したユーザ以外の共同ユーザがさらに指定され、
前記期間受付部により受け付けられた第１期間予約と、前記期間受付部により受け付けられた第２期間予約と、に対して、
前記第１期間予約を発した第１ユーザに現在提供されているゲームと、前記第２期間予約を発した第２ユーザに現在提供されているゲームと、が一致し、
当該第１期間予約に指定された第１期間と、当該第２期間予約に指定された第２期間と、が一致し、
当該第１期間予約に指定された共同ユーザは、前記第２ユーザであり、
当該第２期間予約に指定された共同ユーザは、前記第１ユーザであるならば、当該第１期間予約に対する第１プレイ予約と、当該第２期間予約に対する第２プレイ予約と、が、前記蓄積部により蓄積される
ことを特徴とするゲームシステム。
【請求項３】
請求項１または２に記載のゲームシステムであって、
前記ゲームシステムは、複数のサーバ装置により構成され、
前記推定された負荷に基づいて、前記複数のゲームを、前記複数のいずれのサーバ装置に提供させるか、が決定される
ことを特徴とするゲームシステム。
【請求項４】
請求項１から３のいずれか１項に記載のゲームシステムであって、
前記複数のゲームには、共通するルールに基づいて異なるユーザによりプレイされる２以上のゲームが含まれる
ことを特徴とするゲームシステム。
【請求項５】
コンピュータを、複数のユーザに複数のゲームを提供するゲームシステムとして機能させるプログラムであって、当該プログラムは、当該コンピュータを、
前記複数のユーザの各ユーザにより使用される端末装置を介して、当該各ユーザに前記複数のゲームのうちいずれか一つを提供する提供部、
当該各ユーザにより使用される端末装置を介して前記各ユーザから発せられた将来のプレイ期間を指定する期間予約を受け付ける期間受付部、
前記受け付けられた期間予約に指定された期間と、前記受け付けられた期間予約を発したユーザと、前記受け付けられた期間予約を発したユーザに現在提供されているゲームと、を、指定するプレイ予約を蓄積する蓄積部、
前記各ユーザにより使用される端末装置から送信された候補問合せを受信する問合せ受信部、
前記複数のゲームの各ゲームについて、当該各ゲームが現在提供されているユーザの人数と、前記蓄積されたプレイ予約のうち当該各ゲームについて現在を含む期間予約を指定するプレイ予約の数と、に基づいて、当該各ゲームの負荷を推定する推定部、
前記推定された負荷に基づいて、当該各ゲームを提供可能か否かを判定する判定部、
前記候補問合せが受け付けられると、前記複数のゲームのうち前記判定部により提供可能と判定されたゲームと、当該候補問合せを送信した端末装置を使用するユーザならびに現在を含む期間予約を指定するプレイ予約に指定されるゲームと、を、候補として指定する候補応答を、当該候補問合せを送信した端末装置に送信する応答送信部、
前記候補応答の送信先の端末装置から、当該候補応答に指定されたゲームのいずれかを指定する切替要求を受信する要求受信部、
前記切替要求が受信されると、前記提供部により前記切替要求を送信した端末装置を使用するユーザに提供されるゲームを、当該ユーザに現在提供しているゲームから、前記切替要求に指定されるゲームへ、切り替える切替部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユーザに複数のゲームを提供するゲームシステムにおいて、ゲームを提供する負荷を分散させるのに好適なゲームシステム、ゲーム制御方法、ならびに、これらを１つ以上のコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、ＭＭＯＲＰＧ（Massively Multiplayer Online Role-Playing Game）においては、同じゲームのルールに基づいて運営される複数のサーバを用意し、ユーザにいずれのサーバを利用するかを選択させることで、負荷分散を図る技術が利用されている。このサーバを「シャード（shard）」と呼ぶ。
【０００３】
各シャードによって提供されるゲームは、同じ設定、同じ規則に基づくが、参加するユーザが異なるため、ゲームの進行は互いに異なるものとなる。
【０００４】
したがって、シャード全体を一つのゲームシステムとして見た場合、当該ゲームシステムは、複数のゲームを提供していることになる。
【０００５】
また、あるゲームの１つのステージ（場面やセッション等）と、別のステージ（場面やセッション等）と、が、異なるサーバによってユーザに提供されることもある。これらのサーバをまとめて一つのゲームシステムとして見た場合には、当該ゲームシステムは、ステージが異なる複数のゲームを提供している、と考えることができる。
【０００６】
このほか、複数の互いに異なるゲームが、複数のサーバによって提供されることもある。
【０００７】
このように、複数のサーバにより複数のユーザに提供されるゲームは、上記のようなＭＭＯＲＰＧに限らず、ソーシャルゲームやネットワーク対戦ゲームなど、種々のものが考えられる。
【０００８】
このようなゲームシステムにおいては、ユーザは、自分の使用するゲーム専用端末や携帯電話、パーソナルコンピュータで、自分の意思でいずれか１つのゲームをプレイするかを決めて、当該ゲームをプレイし、さらに、現在プレイしているゲームから他のゲームに、プレイの対象を切り替えることができる。
【０００９】
ここで、複数のユーザにデータ配信等を行うネットワークシステムにおいて、クライアントから要求があると、ネットワーク回線の利用状況に基づいて、データ配信等を行うか、その要求を拒否して再要求タイミングを指示するか、を選択する技術が、特許文献１に提案されている。
【００１０】
したがって、サーバごとの負荷分散を図る場合には、特許文献１に開示される技術を応用して、ユーザがゲームの切り替えを希望する際に、切り替え先のゲームを提供するサーバの負荷状況に基づいて、その切り替えを承認するか、それとも拒否するか、を、決定するようなゲームシステムを実現することは可能である。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００４−３４８１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、ユーザが切り替えを希望した後に、切り替えが拒否される結果となった場合には、ユーザの失望は大きく、ゲームに対する興味を失わせることとなる。したがって、ゲームを提供する際の負荷を適切に推測して、ゲームの切り替えが可能か否かをユーザに適切に提示するゲームシステムが望まれている。
【００１３】
本発明は、上記のような課題を解決するもので、複数のユーザに複数のゲームを提供するゲームシステムにおいて、ゲームを提供する負荷を分散させるのに好適なゲームシステム、ゲーム制御方法、ならびに、これらを１つ以上のコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１５】
本発明の第１の観点に係るゲームシステムは、複数のユーザに複数のゲームを提供し、
前記複数のユーザの各ユーザにより使用される端末装置を介して、当該各ユーザに前記複数のゲームのうちいずれか一つを提供する提供部、
当該各ユーザにより使用される端末装置を介して前記各ユーザから発せられた将来のプレイ期間を指定する期間予約を受け付ける期間受付部、
前記受け付けられた期間予約に指定された期間と、前記受け付けられた期間予約を発したユーザと、前記受け付けられた期間予約を発したユーザに現在提供されているゲームと、を、指定するプレイ予約を蓄積する蓄積部、
前記各ユーザにより使用される端末装置から送信された候補問合せを受信する問合せ受信部、
前記複数のゲームの各ゲームについて、当該各ゲームが現在提供されているユーザの人数と、前記蓄積されたプレイ予約のうち当該各ゲームについて現在を含む期間予約を指定するプレイ予約の数と、に基づいて、当該各ゲームの負荷を推定する推定部、
前記推定された負荷に基づいて、当該各ゲームを提供可能か否かを判定する判定部、
前記候補問合せが受け付けられると、前記複数のゲームのうち前記判定部により提供可能と判定されたゲームと、当該候補問合せを送信した端末装置を使用するユーザならびに現在を含む期間予約を指定するプレイ予約に指定されるゲームと、を、候補として指定する候補応答を、当該候補問合せを送信した端末装置に送信する応答送信部、
前記候補応答の送信先の端末装置から、当該候補応答に指定されたゲームのいずれかを指定する切替要求を受信する要求受信部、
前記切替要求が受信されると、前記提供部により前記切替要求を送信した端末装置を使用するユーザに提供されるゲームを、当該ユーザに現在提供しているゲームから、前記切替要求に指定されるゲームへ、切り替える切替部
を備えるように構成する。
【００１６】
また、本発明のゲームシステムにおいて、
前記期間予約には、当該期間予約を発したユーザ以外の共同ユーザがさらに指定され、
前記期間受付部により受け付けられた第１期間予約と、前記期間受付部により受け付けられた第２期間予約と、に対して、
前記第１期間予約を発した第１ユーザに現在提供されているゲームと、前記第２期間予約を発した第２ユーザに現在提供されているゲームと、が一致し、
当該第１期間予約に指定された第１期間と、当該第２期間予約に指定された第２期間と、が一致し、
当該第１期間予約に指定された共同ユーザは、前記第２ユーザであり、
当該第２期間予約に指定された共同ユーザは、前記第１ユーザである
ならば、当該第１期間予約に対する第１プレイ予約と、当該第２期間予約に対する第２プレイ予約と、が、前記蓄積部により蓄積される
ように構成する。
【００１７】
また、本発明のゲームシステムにおいて、
前記ゲームシステムは、複数のサーバ装置により構成され、
前記推定された負荷に基づいて、前記複数のゲームを、前記複数のいずれのサーバ装置に提供させるか、が決定される
ように構成する。
【００１８】
また、本発明のゲームシステムにおいて、
前記複数のゲームには、共通するルールに基づいて異なるユーザによりプレイされる２以上のゲームが含まれる
ように構成する。
【００１９】
本発明の第２の観点に係るゲーム制御方法は、複数のユーザに複数のゲームを提供するゲームシステムにより実行されるゲーム制御方法であって、当該ゲームシステムは、提供部、期間受付部、蓄積部、問合せ受信部、推定部、判定部、応答送信部、要求受信部、切替部を備え、
前記提供部が、前記複数のユーザの各ユーザにより使用される端末装置を介して、当該各ユーザに前記複数のゲームのうちいずれか一つを提供する提供工程、
前記期間受付部が、当該各ユーザにより使用される端末装置を介して前記各ユーザから発せられた将来のプレイ期間を指定する期間予約を受け付ける期間受付工程、
前記蓄積部が、前記受け付けられた期間予約に指定された期間と、前記受け付けられた期間予約を発したユーザと、前記受け付けられた期間予約を発したユーザに現在提供されているゲームと、を、指定するプレイ予約を蓄積する蓄積工程、
前記問合せ受信部が、前記各ユーザにより使用される端末装置から送信された候補問合せを受信する問合せ受信工程、
前記推定部が、前記複数のゲームの各ゲームについて、当該各ゲームが現在提供されているユーザの人数と、前記蓄積されたプレイ予約のうち当該各ゲームについて現在を含む期間予約を指定するプレイ予約の数と、に基づいて、当該各ゲームの負荷を推定する推定工程、
前記判定部が、前記推定された負荷に基づいて、当該各ゲームを提供可能か否かを判定する判定工程、
前記候補問合せが受け付けられると、前記応答送信部が、前記複数のゲームのうち前記判定部により提供可能と判定されたゲームと、当該候補問合せを送信した端末装置を使用するユーザならびに現在を含む期間予約を指定するプレイ予約に指定されるゲームと、を、候補として指定する候補応答を、当該候補問合せを送信した端末装置に送信する応答送信工程、
前記要求受信部が、前記候補応答の送信先の端末装置から、当該候補応答に指定されたゲームのいずれかを指定する切替要求を受信する要求受信工程、
前記切替要求が受信されると、前記切替部が、前記提供部により前記切替要求を送信した端末装置を使用するユーザに提供されるゲームを、当該ユーザに現在提供しているゲームから、前記切替要求に指定されるゲームへ、切り替える切替工程
を備えるように構成する。
【００２０】
本発明の第３の観点に係るプログラムは、コンピュータを、複数のユーザに複数のゲームを提供するゲームシステムとして機能させ、当該プログラムは、当該コンピュータを、
前記複数のユーザの各ユーザにより使用される端末装置を介して、当該各ユーザに前記複数のゲームのうちいずれか一つを提供する提供部、
当該各ユーザにより使用される端末装置を介して前記各ユーザから発せられた将来のプレイ期間を指定する期間予約を受け付ける期間受付部、
前記受け付けられた期間予約に指定された期間と、前記受け付けられた期間予約を発したユーザと、前記受け付けられた期間予約を発したユーザに現在提供されているゲームと、を、指定するプレイ予約を蓄積する蓄積部、
前記各ユーザにより使用される端末装置から送信された候補問合せを受信する問合せ受信部、
前記複数のゲームの各ゲームについて、当該各ゲームが現在提供されているユーザの人数と、前記蓄積されたプレイ予約のうち当該各ゲームについて現在を含む期間予約を指定するプレイ予約の数と、に基づいて、当該各ゲームの負荷を推定する推定部、
前記推定された負荷に基づいて、当該各ゲームを提供可能か否かを判定する判定部、
前記候補問合せが受け付けられると、前記複数のゲームのうち前記判定部により提供可能と判定されたゲームと、当該候補問合せを送信した端末装置を使用するユーザならびに現在を含む期間予約を指定するプレイ予約に指定されるゲームと、を、候補として指定する候補応答を、当該候補問合せを送信した端末装置に送信する応答送信部、
前記候補応答の送信先の端末装置から、当該候補応答に指定されたゲームのいずれかを指定する切替要求を受信する要求受信部、
前記切替要求が受信されると、前記提供部により前記切替要求を送信した端末装置を使用するユーザに提供されるゲームを、当該ユーザに現在提供しているゲームから、前記切替要求に指定されるゲームへ、切り替える切替部
として機能させるように構成する。
【００２１】
本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等の、非一時的なコンピュータ読取可能な情報記憶媒体に記録することができる。
【００２２】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２３】
本発明によれば、複数のユーザに複数のゲームを提供するゲームシステムにおいて、ゲームを提供する負荷を分散させるのに好適なゲームシステム、ゲーム制御方法、ならびに、これらを１つ以上のコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係るゲームシステムを実現するためのハードウェア構成を示す説明図である。
【図２】本発明の実施形態に係るゲームシステムの概要構成を示す説明図である。
【図３】本発明の実施形態に係るゲームシステムにおいて実行されるゲーム制御方法の制御の流れを示すフローチャートである。
【図４】本発明の実施形態に係る端末装置にて実行される端末処理の制御の流れを示すフローチャートである。
【図５】ゲームの識別名が端末装置の画面に表示される一例を示す説明図である。
【図６】ゲームの識別名が端末装置の画面に表示される一例を示す説明図である。
【図７】ゲームの識別名が端末装置の画面に表示される一例を示す説明図である。
【図８】プレイ予約をする期間の入力をユーザに求める画面の表示例を示す説明図である。
【図９Ａ】共同プレイ可能なＲＰＧゲームの表示例を示す説明図である。
【図９Ｂ】共同プレイ可能なＲＰＧゲームの表示例を示す説明図である。
【図１０Ａ】共同プレイのプレイ予約をする期間の入力をユーザに求める画面の表示例を示す説明図である。
【図１０Ｂ】共同プレイのプレイ予約をする期間の入力をユーザに求める画面の表示例を示す説明図である。
【図１１】ゲームシステムにおいて実行されるゲーム制御処理の制御の流れの一部を説明するフローチャートである。
【発明を実施するための形態】
【００２５】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用のサーバ装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００２６】
図１は、本実施形態に係るゲームシステムを実現するためのハードウェア構成を示す説明図である。以下、本図を参照して説明する。
【００２７】
本図に示すように、ゲームシステム１０１は、１台もしくは複数のサーバ装置１０２からなり、サーバ装置１０２は、インターネットや携帯電話通信網などのコンピュータ通信網を介して端末装置１０４に通信可能に接続される。
【００２８】
サーバ装置１０２が複数用意されている場合は、各サーバ装置１０２は、自律的に、あるいは、負荷分散装置（図示せず）の制御によって、適宜負荷分散を行う。
【００２９】
ゲームシステム１０１は、端末装置１０４に対して、複数のゲームを提供する。ここで想定するゲームの単位であるが、同じ世界観、同じ設定、同じゲーム規則でプレイされるゲームであっても、参加するユーザーが異なっている場合には、異なるゲームとして考える。
【００３０】
たとえば、従来のＭＭＯＲＰＧでは、同じ世界観、同じ設定、同じゲーム規則でプレイされるゲームが、異なるサーバ装置によって提供される場合には、シャードが異なるため、ゲーム展開も互いに異なることになる。このようにシャードが異なるものは、本実施形態では、ゲームが異なる、と考える。
【００３１】
したがって、本実施形態においては、すなわち、複数のゲームには、共通するルールに基づいて異なるユーザによりプレイされる２以上のゲームが含まれることになり、１台のサーバ装置１０２によってゲームシステム１０１が実現されている場合であっても、複数のシャードを提供することができる。
【００３２】
すなわち、複数のゲームを提供する際に、ゲームそのものの提供の負荷が小さい場合や、端末装置１０４を介してゲームをプレイしているユーザ数が少ない場合には、サーバ装置１０２そのものにおける負荷も小さい。そこで、負荷が少ない場合には、１台のサーバ装置１０２が複数のゲームを提供することができる。
【００３３】
一方、プレイ中のユーザ数が多くなると、サーバ装置１０２における負荷も大きくなる。そこで、サーバ装置１０２を複数用意している態様では、複数のサーバ装置１０２のうち、負荷が高いサーバ装置１０２から、負荷が少ないサーバ装置１０２へ、あるゲームの提供を委譲する。
【００３４】
また、サーバ装置１０２を複数用意している態様において、あるサーバ装置１０２と、別のサーバ装置１０２と、において、両者の負荷が十分に低く、両者が提供するゲームをまとめて１台のサーバ装置１０２で提供可能である、と考えられる場合には、ゲームの提供を委譲する。
【００３５】
このような負荷分散には、種々の公知技術を適用することが可能であり、サーバ装置１０２が自律的に行ったり、負荷分散を制御する制御サーバを別途用意する等の手法を採用することができる。
【００３６】
ユーザが端末装置１０４を利用してゲームをプレイしようとする際には、端末装置１０４において、所望のゲームの識別名を管理すれば十分であり、複数のゲーム装置１０２のいずれから提供されているか、を、具体的に認識する必要はない。
【００３７】
上記のように、従来のＭＭＯＲＰＧでは、サーバ装置の名称によって、シャードを区別している。本実施形態においては、異なるシャードにおいてプレイされるゲームは、異なるゲームとみなし、これらのゲームが１台のサーバ装置１０２によって提供されることもありうる。
【００３８】
なお、各サーバ装置１０２は、所定のサーバ用プログラムをコンピュータが実行することによって実現される。
【００３９】
一般に、コンピュータにおいては、ハードディスクやフラッシュメモリ等の不揮発性記憶装置に記録されたプログラムを、ＣＰＵ（Central Processing Unit）が読み出して、各種の計算や解釈を行うことにより、各種の処理が実行される。これらのプログラムは、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）等の非一時的な情報記録媒体から、ハードディスク等にインストールされる。
【００４０】
また、コンピュータが実行する処理において、計算に一時的に必要となる情報は、ＲＡＭ（Random Access Memory）等の高速な情報記憶装置に格納される。
【００４１】
このほか、コンピュータはＮＩＣ（Network Interface Card）等を介してコンピュータ通信網に接続され、ユーザが利用する端末装置１０４と通信する。
【００４２】
本実施形態においては、プログラムを実行することにより、ＣＰＵは、各端末装置１０４を介して、各ゲームに参加している各ユーザからの操作指示等を受け付け、当該各ゲームごとに、当該操作指示に基づいて当該各ゲームそのものの進行パラメータや、当該各ゲームにおける各ユーザの各種パラメータを更新し、更新後の各種パラメータに基づいて、当該各ゲームの現在の進行状況を知らせる情報を各端末装置１０４に送って、当該各ゲームに参加中の各ユーザに知らせる、という処理を繰り返す。
【００４３】
サーバ用コンピュータに対して直接、管理者が指示を行う場合には、サーバ用コンピュータに接続されたキーボードやマウスを利用し、処理の結果を直接確認する場合には、サーバ用コンピュータに接続されたディスプレイに表示させるのが典型的であるが、管理者は、ＮＩＣを介して接続された他の端末装置１０４から指示を行い、当該端末装置１０４に処理結果を表示させるような態様を採用しても良い。
【００４４】
なお、本ゲームシステム１０１において提供されるゲームは複数であるが、あるユーザがある時点でプレイできるゲームの数は、１つである。すなわち、ユーザは、複数のゲームを切り替えてプレイすることができる。すなわち、ユーザがあるゲームをプレイ（ログイン）するためには、他のゲームのプレイを中断（ログアウト）する必要がある。
【００４５】
図２は、本実施形態に係るゲームシステム１０１の概要構成を示す説明図である。以下、本図を参照して説明する。
【００４６】
本実施形態に係るゲームシステム１０１は、上記のように、１台もしくは複数のコンピュータが、サーバ用プログラムを実行してサーバ装置１０２として機能することにより実現され、ゲームシステム１０１は、複数のユーザに複数のゲームを提供する。
【００４７】
ここで、ゲームシステム１０１は、提供部２０１、期間受付部２０２、蓄積部２０３、問合せ受信部２０４、推定部２０５、判定部２０６、応答送信部２０７、要求受信部２０８、切替部２０９を備える。
【００４８】
ここで、提供部２０１は、複数のユーザの各ユーザにより使用される端末装置１０４を介して、当該各ユーザに複数のゲームのうちいずれか一つを提供する。
【００４９】
上記のように、同じ世界観や共通する設定、ルールで運営されるゲームであっても、異なるユーザが参加する状況では、ゲームの展開は異なる。本実施例では、ゲームの進行パラメータが異なるように運営されていれば、異なるゲームである、とみなすこととする。
【００５０】
また、各ユーザは、一つの端末装置１０４を介して一つのゲームの提供を受けることができるが、複数のゲームを同時にプレイすることはできない。すなわち、ユーザは、あるゲームＸのプレイ中に別のゲームＹをプレイしたくなったら、使用している端末装置１０４において、ゲームＸをログアウトしてゲームＹにログインする等、ゲームＸからゲームＹへの切り替えをする必要がある。各ユーザのゲームの切り替えについては、後述する切替部２０９が管理する。
【００５１】
各ゲームの提供は、ＣＰＵが、ゲームの展開を管理するための各種パラメータをハードディスク等で管理し、各ゲームに参加する端末装置１０４からＮＩＣを介して送られてくる各種のコマンド等に応じて、ＲＡＭを一時的な記憶領域として使用しつつ、各種パラメータを更新し、更新後のゲームの展開を表すゲーム情報をＮＩＣを介して各端末装置１０４に送信する、という処理を繰り返すことによって実現される。
【００５２】
一方、期間受付部２０２は、当該各ユーザにより使用される端末装置１０４を介して各ユーザから発せられた将来のプレイ期間を指定する期間予約を受け付ける。
【００５３】
すなわち、端末装置１０４を介してゲームＸの提供を受けているユーザが将来、現在プレイ中のゲームＸをプレイしたいと考えている場合には、その将来のプレイ用の期間を予約することができる。本実施形態では、端末装置１０４においてユーザが現在提供を受けているゲームがいずれであるか、は、ゲームシステム１０１が管理している。したがって、端末装置１０４から期間予約を受け付けたときには、当該端末装置１０４のユーザは誰で、当該端末装置１０４に提供しているゲームは何かを知得することが可能である。すなわち、期間予約に、ユーザやゲームの識別名は、必ずしも指定する必要はない。
【００５４】
なお、期間予約が端末装置１０４から発せられるタイミングは、ゲームの構成によって変化するが、一般には、期間予約用のメニュー項目を選択したり、期間予約を行うためのアイテムを使用したり、当該ゲーム内において期間予約が可能なゲーム内の場所に当該ユーザが到達したりして、ユーザが期間を選択した時点である。
【００５５】
なお、二人のユーザが一緒にゲームをプレイしている間に、将来また一緒にプレイすることを約束するために、共同して期間予約を行う態様もある。この態様については、後述する。
【００５６】
さらに、蓄積部２０３は、受け付けられた期間予約に指定された期間と、受け付けられた期間予約を発したユーザと、受け付けられた期間予約を発したユーザに現在提供されているゲームと、を、指定するプレイ予約を蓄積する。
【００５７】
本実施形態では、期間予約は、ＣＰＵの制御の下、ＮＩＣを介して、端末装置１０４から受信され、プレイ予約に係る情報は、ハードディスク等に蓄積、保存される。
【００５８】
そして、問合せ受信部２０４は、各ユーザにより使用される端末装置１０４から送信された候補問合せを受信する。
【００５９】
この候補問合せは、端末装置１０４を使用しているユーザが現段階で切り替え可能なゲームはいずれであるか、を問い合わせるためのもので、ＣＰＵの制御の下、ＮＩＣを介して端末装置１０４から受信される。
【００６０】
なお、候補問合せが端末装置１０４から発せられるタイミングは、ゲームの構成によって変化する。たとえば、定期的、間欠的に問い合わせが発せられるようにしても良いし、ゲーム切り替え用のメニュー項目に選択用のカーソルが近付いたり、ゲーム切り替えを行うためのアイテムに選択用のカーソルが近付いたり、当該ゲーム内においてゲーム切り替えが可能なゲーム内の場所と当該ユーザの当該ゲーム内における位置が所定の閾値以上に近付いたりした時点等に発せられるようにしても良い。
【００６１】
なお、候補問合せを行うことそのものは、ユーザの明示的な指示によっても良いが、典型的には、ゲームの切り替えをユーザが行う可能性が高いと予想されるタイミングの少し前に、自動的に行うこととする。上記は、切り替えが起きる少し前のタイミングの例である。
【００６２】
一方、推定部２０５は、複数のゲームの各ゲームについて、当該各ゲームが現在提供されているユーザの人数と、蓄積されたプレイ予約のうち当該各ゲームについて現在を含む期間予約を指定するプレイ予約の数と、に基づいて、当該各ゲームの負荷を推定する。
【００６３】
すなわち、ゲームシステムが提供しているゲームのそれぞれについて、
（ａ）当該ゲームに現在ログイン中のユーザの人数、
（ｂ）当該ゲームに現在はログインしていないが、現在を含む期間予約をしているユーザの人数（現在を含む期間予約を指定するプレイ予約の数）
に基づいて、今後の当該ゲームの提供の負荷を推定するものである。最も単純には、上記（ａ）（ｂ）の２種類の人数の和を、ゲームの負荷の推定値とする。
【００６４】
このほか、現在のゲーム提供に係るＣＰＵの占有時間やＲＡＭの使用量、ＮＩＣを介する通信量や通信遅延等を上記（ａ）の人数で割り、上記（ａ）（ｂ）の人数の和を乗じることで、ゲームの負荷の推定値としても良い。これらの推定に係る計算は、ＣＰＵによって実行され、推定結果はＲＡＭ等に保存される。
【００６５】
さらに、判定部２０６は、推定された負荷に基づいて、当該各ゲームを提供可能か否かを判定する。
【００６６】
最も単純な手法は、各ゲームの負荷に閾値を設け、推定された負荷が当該閾値以下であれば当該各ゲームを提供可能である、と判定する手法であるこの判断は、ＣＰＵによって実行され、判定結果はＲＡＭ等に保存される。
【００６７】
上記の推定ならびに判定は、候補問い合わせが受け付けられるごとに実行することとしても良いし、定期的、間欠的に実行して、最新の判定結果を以降の処理で利用することとしても良い。
【００６８】
そして、候補問合せが受け付けられると、応答送信部２０７は、複数のゲームのうち判定部２０６により提供可能と判定されたゲームと、当該候補問合せを送信した端末装置１０４を使用するユーザならびに現在を含む期間予約を指定するプレイ予約に指定されるゲームと、を、候補として指定する候補応答を、当該候補問合せを送信した端末装置１０４に送信する。
【００６９】
すなわち、候補応答に指定される候補のゲームは、
（ａ）当該ゲームにユーザがログインしたとしても、負荷が高過ぎることがないため、十分なサービスが提供できる、
（ｂ）当該端末装置１０４を利用しているユーザが予約済みのゲームであって、予約期間に至っている
のいずれかを満たすゲームである。
【００７０】
候補応答は、ＣＰＵがＲＡＭ等に保存された判定結果を参照することによって生成され、その送信は、ＣＰＵの制御の下、ＮＩＣが実行する。
【００７１】
候補応答を受信した端末装置１０４は、ユーザに対して、候補応答に指定される候補のゲームへの切り替えが可能であることを提示して、候補のいずれかへの切り替えを行うか否かを問い合わせる。
【００７２】
この結果、ユーザが、候補の中からいずれかを切り替え先のゲームとして選択すると、端末装置１０４は、ゲームシステム１０１に対して、切替要求を送信する。
【００７３】
一方、要求受信部２０８は、候補応答の送信先の端末装置１０４から、当該候補応答に指定されたゲームのいずれかを指定する切替要求を受信する。
【００７４】
切替要求の受信は、ＣＰＵの制御の下、ＮＩＣが実行する。
【００７５】
さらに、切替要求が受信されると、切替部２０９は、提供部２０１により切替要求を送信した端末装置１０４を使用するユーザに提供されるゲームを、当該ユーザに現在提供しているゲームから、切替要求に指定されるゲームへ、切り替える。
【００７６】
この際に、ユーザに提供されるゲームが当該ユーザによる予約に係るゲームであって現在が予約期間内である場合には、当該ユーザの当該ゲームに対する当該予約期間を指定するプレイ予約を、蓄積部２０３から削除する。
【００７７】
図３は、本実施形態に係るゲームシステム１０１において実行されるゲーム制御方法の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００７８】
上記のように、ゲームシステム１０１は、１台のサーバ装置１０２によって実現することも可能であるし、複数台のサーバ装置１０２が負荷分散をしつつ共働して動作することによって実現することも可能である。以下、ゲームシステム１０１全体の制御の流れについて説明する。
【００７９】
ゲーム制御方法は、ゲームシステム１０１を実現する１台もしくは複数台のサーバ装置１０２が、所定のプログラムを実行することによって開始され、まず、各種の初期化を実行する（ステップＳ３０１）。
【００８０】
ついで、ゲームシステム１０１は、各ゲームを現在プレイしているユーザ数と、当該各ゲームに対してされた現在を含む期間予約を指定するプレイ予約の数と、に基づいて、各ゲームの提供に要する負荷を推定する（ステップＳ３０２）。
【００８１】
なお、初期化（ステップＳ３０１）の直後に、負荷の推定（ステップＳ３０２）を実行した場合には、各ゲームをプレイしているユーザ数はいずれも０となるが、それ以降繰り返し処理を行ってステップＳ３０２に至った場合には、後述するように、プレイ中のユーザ数が変化する。
【００８２】
端末装置１０４等、各種の機器から送信されたパケットを受信する（ステップＳ３０３）。パケットが受信されたら、ゲームシステム１０１は、当該パケットの種類を調べる（ステップＳ３０４）。
【００８３】
パケットの種類が、端末装置１０４から送信された候補問合せである場合（ステップＳ３０３；候補問合せ）、ゲームシステム１０１は、候補問合せに指定された端末装置１０４のユーザの識別名を取得する（ステップＳ３０５）。
【００８４】
そして、現在を含む期間予約を指定するプレイ予約のうち、当該取得されたユーザの識別名に係るプレイ予約を取得して、当該取得されたプレイ予約に係るゲームの識別名を抽出する（ステップＳ３０６）。なお、ユーザがゲームのプレイ予約をしていない場合や、予約の期間外である場合には、ここで取得されるゲームの識別名はゼロ個となる。
【００８５】
そして、ゲームシステム１０１は、ステップＳ３０２において推定された各ゲームの負荷に基づいて、当該各ゲームが提供可能か否かを判定して、提供可能なゲームの識別名を抽出する（ステップＳ３０７）。ゲームシステム１０１の運営者は、ユーザ登録をしたユーザの数や稼働率等から、ゲームシステム１０１を実現するためのサーバ装置１０２の性能や台数を計画するので、ほとんどの場合、抽出されるゲームの識別名は１個以上となる。
【００８６】
ついで、ゲームシステム１０１は、ステップＳ３０６において抽出されたゲームの識別名と、ステップＳ３０７において抽出されたゲームの識別名と、を候補として指定する候補応答を生成し（ステップＳ３０８）、当該生成された候補応答をステップＳ３０３において受信された候補問合せを送信した端末装置１０４に送信して（ステップＳ３０９）、ステップＳ３５１に進む。
【００８７】
さて、ステップＳ３０３において受信されたパケットの種類が、端末装置１０４から送信された切替要求である場合（ステップＳ３０３；切替要求）、ゲームシステム１０１は、当該切替要求に指定されているユーザの識別名ならびにゲームの識別名を取得する（ステップＳ３１１）。
【００８８】
切替要求は、ステップＳ３０９において送信された候補問合せに呼応するものである。すなわち、ある端末装置１０４を使用しているユーザから送信される切替要求に指定されるべきゲームの識別名は、当該端末装置１０４に対して送信された候補要求に候補として指定されたゲームの識別名のいずれかでなければならない。
【００８９】
すると、ゲームシステム１０１は、取得された識別名を有するユーザに対して、取得された識別名を有するゲームを提供するように、各種の設定を更新する（ステップＳ３１２）。
【００９０】
複数のゲームを提供するゲームシステム１０１では、以下のような情報がＣＰＵの制御の下、ハードディスクにより実現されるデータベースによって管理されている。
（１）各ユーザが、現在ログイン中であるか否か。
（２）ログイン中の各ユーザが、現在いずれのゲームをプレイ中であるか。
（３）ログイン中の各ユーザがプレイしているゲームにおける当該ユーザに関するゲームの進行状況ならびに状態パラメータ。
【００９１】
ステップＳ３１２においては、切替要求を送信したユーザに関するこれらの情報を更新することになる。
【００９２】
さらに、ゲームシステム１０１は、取得されたユーザの識別名ならびに取得されたゲームの識別名に係るプレイ予約であって、現在を予約期間に含むプレイ予約が蓄積されていれば、これを削除する（ステップＳ３１３）。
【００９３】
さらに、ゲームシステム１０１は、取得された識別名のユーザに取得された識別名のゲームを提供するため、端末装置１０４に、現在のゲームの進行状況やユーザの状態パラメータなどを指定した、切替応答を生成し（ステップＳ３１４）、これを送信して（ステップＳ３１５）、ステップＳ３５１に進む。
【００９４】
なお、切替が失敗した場合には、その旨を表す切替応答を、ゲームシステム１０１から端末装置１０４へ送信することとして、ゲーム進行の管理をより厳密に行うこととしても良い。
【００９５】
このほか、ステップＳ３０３において受信されたパケットの種類が、端末装置１０４から送信された進行要求である場合（ステップＳ３０３；進行要求）、ゲームシステム１０１は、当該進行要求に指定されているユーザの識別名ならびに当該ユーザに関する進行情報を取得する（ステップＳ３２１）。
【００９６】
ここで、進行情報は、ユーザに提供されているゲームを進行させるための情報であり、典型的には、ユーザがゲームに対して行った指示操作を指定する情報である。
【００９７】
なお、ある程度の期間は端末装置１０４がゲームシステム１０１と通信をしないままゲームを進行させることを可能として、通信負荷を抑制するような態様では、端末装置１０４においてローカルにゲームがプレイされることによって、ゲームの進行状況ならびに状態パラメータが変化する。このような態様では、変化後の状態パラメータが、進行状況に指定されることになる。
【００９８】
そして、ゲームシステム１０１は、取得された識別名のユーザが現在プレイ中のゲームにおける当該ユーザに関するゲームの進行状況ならびに状態パラメータを、取得された進行情報に基づいて更新する（ステップＳ３２２）。
【００９９】
そして、更新後のゲームの進行状況ならびに状態パラメータに基づいて、進行応答を生成し（ステップＳ３２３）、当該生成された進行応答を、ステップＳ３０３において受信された進行要求に呼応して、端末装置１０４に送信し（ステップＳ３２４）、ステップＳ３５１に進む。
【０１００】
このように、ステップＳ３２１〜ステップＳ３２４における処理は、一般的なサーバ・クライアント型の通信ゲームにおける処理と同様である。
【０１０１】
さて、ステップＳ３０３において受信されたパケットの種類が、将来のプレイ期間を予約するための予約要求であった場合（ステップＳ３０３；予約要求）、ゲームシステム１０１は、
（ａ）当該予約要求の送信元の端末装置１０４を使用しているユーザの識別名ならびに当該ユーザに現在提供しているゲームの識別名と、
（ｂ）当該予約要求に指定される将来のプレイ期間と、
を取得する（ステップＳ３３１）。
【０１０２】
典型的には、予約要求には、ユーザの識別名とゲームの識別名が指定されているのが典型的である。ただし、端末装置１０４単位でゲームを提供している場合には、予約要求の送信元の端末装置１０４を使用しているユーザならびに当該ユーザに提供しているゲームは、ゲームシステム１０１において管理されているので、予約要求への指定を省略することも可能である。
【０１０３】
また、将来のプレイ期間は、当該ユーザが当該ゲームのプレイを将来行うための期間予約に係るプレイ期間である。典型的には、予約要求には、当該ユーザがプレイを開始しようと考える開始日時が指定されており、プレイ期間としては、当該開始日時から所定の猶予時間（典型的には数十分乃至数時間）を経過するまでが、プレイ期間として取り扱われる。
【０１０４】
そして、ゲームシステム１０１は、取得されたユーザの識別名ならびにゲームの識別名と取得されたプレイ期間とをまとめたプレイ予約を、蓄積部２０３に蓄積し（ステップＳ３３２）、予約が完了した旨を知らせる予約応答を生成して（ステップＳ３３３）、当該予約要求の送信元の端末装置１０４に当該予約応答を送信して（ステップＳ３３４）、ステップＳ３５１に進む。
【０１０５】
なお、ステップＳ３３２において、プレイ予約を蓄積する際には、以下のような制限やこれらを組み合わせた制限を課すことも可能である。
（ａ）あるユーザがあるゲームについて予約できるプレイ予約の数は最大１個とする。
（ｂ）あるユーザが予約できるプレイ予約の総個数に上限を設ける。
（ｃ）あるゲームについてされる各ユーザからのある時点におけるプレイ予約の総数に上限を設ける。
（ｄ）特定の予約条件が満たされた場合にのみ、プレイ予約を蓄積する。
【０１０６】
上記のような制限に抵触したため、予約に失敗した場合には、ゲームシステム１０１は、その旨を予約応答に指定して、端末装置１０４に通知する。
【０１０７】
さて、ステップＳ３０３において受信されたパケットの種類が、このほかの要求であった場合（ステップＳ３０３；その他）、ゲームシステム１０１は、当該要求に対応する処理を実行して（ステップＳ３４１）、処理の結果を表す応答を生成し（ステップＳ３４２）、当該生成された応答を要求送信元の通信機器に送信して（ステップＳ３４３）、ステップＳ３５１に進む。
【０１０８】
なお、ユーザが初めてゲームシステム１０１にユーザ登録をした直後は、当該ユーザが現在プレイ中のゲームは存在しないこととなるが、ユーザ登録の際に、候補問合せならびに候補応答の送受がゲームシステム１０１と端末装置１０４との間で実行される。そして、ユーザが候補の中からゲームを選択すると、切替要求が端末装置１０４からゲームシステム１０１に送信され、当該ユーザに提供されているゲームが「なし」から、選択されたゲームへ切り替えられることになる。
【０１０９】
さて、各種の処理が実行された後、ゲームシステム１０１は、予約期間が超過しているプレイ予約を削除する（ステップＳ３５１）。
【０１１０】
さらに、各種の管理処理を実行した後（ステップＳ３５２）、ステップＳ３０２に戻る。なお、管理処理としては、たとえば、ステップＳ３０２において推定された負荷に基づいて、各ゲームを提供するサーバ装置１０２の台数を増減する等の負荷分散処理などが含まれる。これらの処理には、各種の公知技術を含む種々の技術を適用することが可能である。
【０１１１】
上記のように、ゲームシステム１０１は、一旦起動してその処理を開始した後は、終了しないことを前提として動作するが、停電や故障などが生じる場合に備え、ハードディスク等に、各ユーザのプレイ状況やゲームの進行状況、プレイ予約の情報などを保存している。
【０１１２】
そして、ステップＳ３０１における初期化時には、これらの保存された情報に基づいて、ゲームシステム１０１の停止前の状態に復帰するように構成するのが一般的である。
【０１１３】
さて、以下では、ゲームシステム１０１と通信する端末装置１０４について説明する。
【０１１４】
端末装置１０４としては、携帯電話、スマートフォン、パーソナルコンピュータ、エンターテインメント装置、ゲーム装置など、各種の情報処理装置を利用することができる。これらの情報処理装置は、メモリやハードディスクなどの容量、ＣＰＵの演算能力、付加されている入出力装置の構成などは異なるものの、本質的にはサーバ装置１０２と同様のコンピュータによって実現されている。
【０１１５】
端末装置１０４を実現する各種の情報処理装置は、ＤＶＤ−ＲＯＭ（Compact Disk Read Only Memory）等の非一時的な情報記録媒体からインストールしたプログラムや、サーバ装置１０２からダウンロードしたプログラムなどを実行することによって、端末装置１０４として機能する。
【０１１６】
端末装置１０４は、一般的な通信ゲームにて実装されている要素に加えて、ユーザがプレイ可能なゲームの候補をユーザに提示して、ユーザに新たなゲームを選択させ、ゲームシステム１０１と共働して、当該ユーザへ提供されるゲームの切り替えを行う点に特徴がある。
【０１１７】
図４は、本実施形態に係る端末装置１０４にて実行される端末処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１１８】
端末処理は、端末装置１０４において、ゲームの提供を受けるためのプログラムが起動することによって開始される。なお、当該プログラムは、ゲームシステム１０１からゲームの提供を受けるための専用プログラムでも良いし、ゲームシステム１０１がウェブサービスを介してゲームを提供する態様を採用する場合には、各種のウェブ文書やウェブから入手可能なマルチメディア情報をユーザが閲覧、視聴できるようにするためのブラウザプログラムであっても良い。プログラムそのものの起動は、通常は、ユーザの指示操作に基づいて行われるが、タイマーなどを用いて定期的に行うことも可能である。
【０１１９】
端末処理が開始されると、端末装置１０４は、各種の初期化を行う（ステップＳ４０１）。この初期化では、端末装置１０４を使用するユーザの識別名やゲームシステム１０１を構成するサーバ装置の識別名の取得等が行われる。典型的には、ユーザの識別名は、ユーザ登録がなされた後、あるいは、ユーザによる入力がなされた後に、端末装置１０４を実現するコンピュータの不揮発性記憶領域に記憶される。このほか、ブラウザプログラムにより保存されるクッキー内にユーザの識別名を保存する態様もある。
【０１２０】
ついで、端末装置１０４は、ゲームシステム１０１に対して、候補問合せを送信する（ステップＳ４０２）。候補問合せには、ステップＳ４０１で取得されたユーザの識別名が指定される。
【０１２１】
すると、ゲームシステム１０１は、当該識別名を有するユーザがプレイ可能なゲームの識別名を指定した候補応答を送信してくる。そこで、端末装置１０４は、この候補応答を受信する（ステップＳ４０３）。
【０１２２】
さらに、端末装置１０４は、受信された候補応答に指定されたゲームの識別名を取得し（ステップＳ４０４）、取得された切り替えの候補となるゲームの識別名を端末装置１０４の画面に表示して（ステップＳ４０５）、ユーザにいずれかを選択させる（ステップＳ４０６）。
【０１２３】
図５は、ゲームの識別名が端末装置１０４の画面に表示される一例を示す説明図である。以下、本図を参照して説明する。
【０１２４】
本図に示すように、端末装置１０４の画面５０１には、ゲームの識別名５０２（「ゲームＡ」「ゲームＣ」）が複数表示されている。ユーザは、ゲームの識別名５０２の先頭に表示されている数字（「１」「２」）と同じキーを端末装置１０４で押圧操作することにより、当該ゲームを選択することができる。
【０１２５】
また、画面５０１には、現在注目しているゲームの識別名５０２を表すカーソル５０３も表示されている。ユーザは、端末装置１０４の方向キーを操作することにより、カーソル５０３を移動させることができる。ユーザが、所望のゲームの識別名５０２にカーソル５０３を移動させた後、端末装置１０４の決定キーを操作すると、当該ゲームが選択される。
【０１２６】
また、切り替えをキャンセルして今のゲームを継続するための項目５０９（「[０]キャンセル」）や、種々のメニューを表示するための項目５１０（「[*]メニュー」）も、画面に表示されている。
【０１２７】
図６は、ゲームの識別名が端末装置１０４の画面に表示される他の例を示す説明図である。以下、本図を参照して説明する。
【０１２８】
本図に示す表示例では、画面５０１には、ユーザが選択可能なゲームの識別名５０２が表示されるほか、ユーザが選択不可能なゲームの識別名５０４（「ゲームＢ」「ゲームＤ」）も表示されている。本表示例では、先頭に数字キーの表示がないこと、および、ゲームの識別名５０４に打消線が引かれていることにより、ユーザが選択不可能であることを明示している。ユーザが方向キーを操作してカーソル５０３を移動させた場合にも、選択不可能なゲームの識別名５０４は、スキップされる。
【０１２９】
ゲームシステム１０１が、候補応答に、現在提供されているすべてのゲームの識別名と、当該ユーザがプレイ可能なゲームの識別名と、の両方を指定することで、このような表示が可能となる。
【０１３０】
このほか、端末装置１０４において、ユーザがユーザ登録をしたゲームの識別名のリストを管理しておき、リスト内の識別名のそれぞれが、候補応答に指定されたゲームの識別名か否かを、判定することによって、このような表示をすることとしても良い。
【０１３１】
なお、ユーザがゲームのメニュー項目を適宜選択することによって、図５、図６に示す表示が行われるようにしても良い。メニューの表示ならびにメニュー内の項目選択については、公知の各種の技術を適用することが可能である。
【０１３２】
図７は、ゲームの識別名が端末装置１０４の画面に表示される他の例を示す説明図である。以下、本図を参照して説明する。
【０１３３】
本図に示す表示例は、画面５０１内にＲＰＧ（Roll Playing Game）のようなマップが表示されており、ユーザが方向キーを用いて移動させるキャラクター５２１がカーソルの役割を果たすものとして、表示されている。
【０１３４】
また、マップ内には、キャラクター５２１が移動可能な領域５１０が斜線で表示されている。
【０１３５】
本図に示す例では、画面左下にキャラクター５２１が表示されており、移動可能な領域５１０は、広場から複数の道５１２が伸びた形状をしている。
【０１３６】
道５１２の行き先を表す標識５１５内に、選択可能なゲームの識別名が表示されている。また、道５１２には封鎖されているものがあり、封鎖されている道５１２の行き先を表す標識５１５内には、選択不可能なゲームの識別名が表示されている。
【０１３７】
ユーザは、端末装置１０４の方向キー等を操作して、マップ内でキャラクター５２１（カーソル５０３）を移動させる。本態様では、キャラクター５２１（カーソル５０３）が選択可能なゲームの識別名（「ゲームＡ」「ゲームＣ」）が標識５１５内に表示された道５１２を進むようにユーザが操作を行うと、当該道５１２の行き先のゲームが選択されたことになる。
【０１３８】
選択不可能なゲームの識別名（「ゲームＢ」「ゲームＤ」）が標識５１５内に表示された道５１２は、封鎖されており、キャラクター５２１（カーソル５０３）は、その道５１２を進むことはできない。本実施例では、ゲーム内で頻繁に使用されるキャラクター５２１の移動という操作を、ゲームの切替先の選択としても利用しているのである。
【０１３９】
なお、本表示例では、ゲームの識別名５０２、５０４は、一つの世界のマップ内における村や町などの名称に相当する。すなわち、本表示例におけるゲームシステムでは、町や村単位でゲームが構成されており、町や村の移動は、ゲームの切替を意味することになる。
【０１４０】
本表示例は、「町や村の人口密度が高過ぎる場合には、町や村への人の流入を防止するため、道が封鎖される」というアナロジーによって、ゲームの切替が可能か否かを提示するのである。
【０１４１】
なお、ユーザがゲームのプレイ予約をしている場合には、当該ゲームの提供の負荷が高くとも、当該ゲームの識別名は、当該ユーザによる選択の候補となる。したがって、プレイ予約をしているユーザに対しては、負荷が高いゲームであっても、そのゲームに至る道５１２は封鎖されずに画面５０１に表示されることになる。
【０１４２】
図７に示す表示例は、他のユーザと共同でゲームを進めるようなＲＰＧにおいても利用が可能である。このような態様については、後に掲げる実施例において説明する。
【０１４３】
さて、ユーザからのゲームの選択を受け付けた端末装置１０４は、選択されたゲームの識別名を指定する切替要求を、ゲームシステム１０１に送信して（ステップＳ４０７）、新たなゲームを提供するために必要な各種の情報が指定された切替応答をゲームシステム１０１から受信する（ステップＳ４０８）。
【０１４４】
そして、端末装置１０４は、受信された切替応答に指定された情報に基づいて、新たなゲームのための初期化を実行する（ステップＳ４０９）。具体的には、端末装置１０４のＲＡＭ等に、ゲームの進行状況や各種の状態パラメータ、ゲームの進行状況をユーザに提示するために使用される各種の画像情報などが格納される。
【０１４５】
そして、端末装置１０４は、ＲＡＭ等に格納されているゲームの進行状況や各種の状態パラメータに基づいて、画面５０１に、切替後のゲームの状態を表す情報を表示して（ステップＳ４１０）、ユーザにゲームの進行状況を提示する。
【０１４６】
そして、端末装置１０４は、ユーザから、現在プレイ中のゲームに対する指示入力を受け付ける（ステップＳ４１１）。
【０１４７】
当該指示入力が、ゲームを進行させるための指示入力である場合には（ステップＳ４１２；進行）、当該指示入力に基づいて、ゲームの進行情報を指定する進行要求をゲームシステム１０１に送信して（ステップＳ４１３）、ゲームシステム１０１から進行応答を受信する（ステップＳ４１４）。
【０１４８】
そして、端末装置１０４は、受信された進行応答に基づいて、ＲＡＭ等に格納されているゲームの進行状況や各種の状態パラメータを更新して（ステップＳ４１５）、ステップＳ４１０に戻る。
【０１４９】
当該指示入力が、ゲームを切り替える指示入力である場合には（ステップＳ４１１；切替）、ステップＳ４０２に進み、候補の取得ならびにユーザによる選択を経て、新たなゲームをユーザに提供する（ステップＳ４０２〜ステップＳ４１５）。
【０１５０】
なお、図７に開示するような態様でゲームの切り替えを行う場合には、ステップＳ４１１におけるゲームを切り替えるための指示入力として、「ゲームに至るための道５１２が画面５０１内に表示されるような位置にキャラクター５２１を移動させる指示入力」を採用することができる。
【０１５１】
また、ゲームシステム１０１に対して候補問合せを行ってから一定の期間（典型的には、数分〜数十分）は、新たな候補問合せを省略し、最後に得られている候補応答に基づいて、切り替え可能なゲームの表示を行うこととしても良い。
【０１５２】
当該指示入力が、ゲームのプレイ予約を求める指示入力である場合には（ステップＳ４１１；予約）、端末装置１０４は、ユーザに予約期間の入力を求める（ステップＳ４２１）。ここで、ユーザは、所定のメニュー項目を選択したり、提供されているゲームにおいて所定の操作を行うことで、プレイ予約をすることができる。
【０１５３】
さて、図８は、プレイ予約をする期間の入力をユーザに求める画面の表示例を示す説明図である。以下、本図を参照して説明する。
【０１５４】
図８は、図７に示すゲームの状態でプレイ予約をしようとしている場合を想定した表示例である。なお、ユーザがプレイ中のゲームは、「ゲームＧ」であることを想定している。
【０１５５】
本図に示すように、画面５０１の中央に、ゲームの予約を行う旨のポップアップウィンドウ５３１が表示されている。ポップアップウィンドウ５３１内には、プレイ予約がされる日時を編集するための日時領域５３２が用意されている。
【０１５６】
日時領域５３２には、将来の日時が表示されている。ユーザは、端末装置１０４が備える方向キー等を操作することによって、この日時を編集することができる。日時の編集が完了したら、ユーザは端末装置１０４が備える決定キー等を操作する。すると、日時領域５３２に表示されていた日時が、端末装置１０４に受け付けられる。なお、日時の編集ならびに入力については、上記のような方向キーや決定キーを用いる手法に限られず、種々の公知の技術を適用することができる。
【０１５７】
ここで、当該日時を開始時点とし、当該日時から所定の時間（典型的には数十分から数時間）経過した後を終了時点とする期間が、プレイ予約がされた予約期間となり、当該予約期間内であれば、当該ゲームの提供の負荷が高い場合であっても、当該予約をしたユーザは当該ゲームのプレイを開始することができる。
【０１５８】
なお、予約期間の入力は、ポップアップウィンドウを用いる形態には限られない。たとえば、各種ウェブサイトにおけるフォームへの情報入力と同様の形態によって、予約期間を入力することも可能である。
【０１５９】
そして、端末装置１０４は、入力された予約期間を指定する予約要求をゲームシステム１０１に送信し（ステップＳ４２２）、当該予約要求に呼応する予約応答をゲームシステム１０１から受信して（ステップＳ４２３）、予約応答に指定された結果を画面に表示してユーザに知らせてから（ステップＳ４２４）、ステップＳ４１０に戻る。
【０１６０】
このほか、当該指示入力が、ゲームの進行、切替、予約以外を指示する指示入力である場合には（ステップＳ４１１；その他）、対応する処理を実行して（ステップＳ４３１）、ステップＳ４１０に戻る。なお、当該指示入力として、ゲームを終了する指示入力がなされた場合には、ステップＳ４１０に戻らずに、ゲームを終了しても良い。
【０１６１】
このようなゲームシステム１０１と端末装置１０４の組み合わせは、複数のゲームを提供する一例であり、その他の態様であっても、あるゲームをプレイ中に、当該ゲームを将来プレイする期間が予約できるようなゲームシステムであれば、本発明の原理を適用することにより、ゲームの提供に要する負荷を考慮して、適切にユーザ数を制御することができるようになる。
【０１６２】
特に、ゲームシステム１０１が１つのサーバ装置１０４により構成されている実施例では、あるゲームの負荷が高くなると推定された場合には、そのゲームのプレイ予約をしていないユーザのログインを防止することで、負荷が高くなることを抑制する。
【０１６３】
また、ゲームシステム１０１が、複数のサーバ装置により構成されている場合には、推定部２０５により推定された負荷に基づいて、複数のゲームを、複数のいずれのサーバ装置に提供させるか、が決定されるように構成することが可能である。
【０１６４】
すなわち、従来は、現在ログインしているユーザ数や、現在の通信負荷、現在のＣＰＵ負荷などを元に負荷分散を図っていたが、本実施形態では、プレイ予約の数も考慮して、今後の負荷をより適切に予想して、負荷分散を図るとともに、プレイ予約の有無によってログインの可否を調整することによって、負荷が高くなり過ぎることを防止することができる。
【実施例２】
【０１６５】
上記の実施例では、あるゲームＧをプレイ中のユーザＸは、当該ゲームＧの将来のプレイ予約を単独ですることができたが、本実施例は、将来のプレイ予約は、共同で行うことを要することとする。
【０１６６】
すなわち、ユーザＸとユーザＹが、それぞれの端末装置１０４を介して、あるゲームＧを、共同でプレイしている状況を考える。このようなゲームＧとしては、たとえばＭＭＯＲＰＧ（Massively Multiplayer Online Role Playing Game）などのほか、少人数協力型のＲＰＧ、ユーザＸとユーザＹが対戦する通信対戦ゲーム（たとえばチェスやポーカー、対戦格闘ゲーム、対戦アクションゲームなど、種々の態様がありうる。）を採用することができる。
【０１６７】
図９Ａ、図９Ｂは、共同プレイ可能なＲＰＧゲームの表示例を示す説明図である。以下、本図を参照して説明する。
【０１６８】
図９Ａは、ユーザＸが使用する端末装置１０４の画面５０１に表示される表示例であり、図９Ｂは、ユーザＸが使用する端末装置１０４の画面５０１に表示される表示例である。
【０１６９】
いずれの図においても、画面５０１内には、ユーザＸが操作するキャラクター５２１ｘと、ユーザＹが操作するキャラクター５２１ｙと、が、表示されている。
【０１７０】
ユーザＸが使用する端末装置１０４では、キャラクター５２１ｘがカーソル５０３として機能するため、図９Ａにおいては、キャラクター５２１ｘが強調表示されている。
【０１７１】
ユーザＹが使用する端末装置１０４では、キャラクター５２１ｙがカーソル５０３として機能するため、図９Ｂにおいては、キャラクター５２１ｙが強調表示されている。
【０１７２】
ここで、ユーザＸとユーザＹとが、将来一緒に共同プレイをしようと考えたとする。本実施形態では、ユーザＸとユーザＹは、キャラクター５２１ｘとキャラクター５２１ｙのゲーム世界における位置を近付けてから、メニューから共同プレイの予約を行う項目を選択することとする。
【０１７３】
すると、端末装置１０４にゲームを提供しているゲームシステム１０１は、当該端末装置１０４を使用しているユーザが操作するキャラクター５２１に、ゲーム世界において最も近くにいる他のキャラクター５２１を取得し、当該他のキャラクター５２１を操作する他のユーザが使用する他の端末装置１０４を取得する。
【０１７４】
そして、ゲームシステム１０１は、２台の端末装置１０４のそれぞれが、相手方の端末装置１０４を操作するユーザとの共同プレイ予約を希望する状態になったら、その旨を当該２台の端末装置１０４に通知する。
【０１７５】
すると、２台の端末装置１０４はそれぞれ、当該他のキャラクター５２１との共同プレイのプレイ予約をする期間をユーザに問い合わせる。この際に、２台の端末装置１０４は、直接、あるいは、ゲームシステム１０１を介して間接的に希望する予約期間の情報のやりとりを行う。
【０１７６】
このほか、ゲームの進行が、ゲーム世界内で近傍に配置されているキャラクター５２１を操作するユーザが使用する端末装置１０４同士の直接通信、ならびに、適宜ゲームシステム１０１を介した間接通信により進行する場合には、共同プレイのプレイ予約の端末装置１０４のユーザが、ほぼ同時（典型的には、数秒〜数十秒以内）に共同プレイの予約を行う項目を選択した場合に、以下のように予約期間の情報のやりとりを行うこととしても良い。
【０１７７】
図１０Ａ、図１０Ｂは、共同プレイのプレイ予約をする期間の入力をユーザに求める画面の表示例を示す説明図である。以下、本図を参照して説明する。
【０１７８】
図１０Ａは、ユーザＸが使用する端末装置１０４の画面５０１に表示される表示例であり、図１０Ｂは、ユーザＸが使用する端末装置１０４の画面５０１に表示される表示例である。
【０１７９】
図１０Ａに示すポップアップウィンドウ５３１ａには、ユーザＹとの共同プレイをする期間を、ユーザＸが入力するための日時領域５３２ａが表示されており、図１０Ｂに示すポップアップウィンドウ５３１ｂには、ユーザＸとの共同プレイをする期間を、ユーザＹが入力するための日時領域５３２ｂが表示されている。
【０１８０】
ユーザＸやユーザＹは、上記実施例と同様に、自身が使用する端末装置１０４の方向キー等を用いて、日時領域５３２ａ、５３２ｂに表示される日時を編集することができる。
【０１８１】
いずれか一方のユーザが日時を編集すると、両者の日時領域５３２ａ、５３２ｂに表示される日時を一致させるため、編集された日時の情報は、他方のユーザの端末装置１０４にも伝達される。
【０１８２】
予約期間に同意したユーザＸとユーザＹは、上記実施例と同様に、決定キー等を用いて、当該日時で予約をしようとする。
【０１８３】
すると、２台の端末装置１０４から、入力された日時に対する予約期間と、相手方のユーザの識別名と、を指定した予約要求が、ゲームシステム１０１に対して送信される。
【０１８４】
ゲームシステム１０１により受信された予約要求は、後述するように、ゲームシステム１０１において、一定の期間（典型的には数秒〜数十秒）保管される。
【０１８５】
図１１は、ゲームシステム１０１において実行されるゲーム制御処理の制御の流れの一部を説明するフローチャートである。以下、本図を参照して説明する。
【０１８６】
本図では、図３に示す制御フローにおけるステップＳ３３１〜Ｓ３３４を置換する処理を図示している。すなわち、ゲームシステム１０１が、いずれかの端末装置１０４から予約要求を受信すると（ステップＳ３０３；予約要求）、ゲームシステム１０１は、以下の処理を行う。
【０１８７】
まず、受信された予約要求Ｋに対して、
（ａ）予約要求Ｋを送信した端末装置１０４を使用しているユーザの識別名Ｐ、
（ｂ）識別名Ｐのユーザに提供しているゲームの識別名Ｇ、
（ｃ）予約要求Ｋに指定されている相手方のユーザの識別名Ｑ、
（ｄ）予約要求Ｋに指定されている予約期間Ｃ
を取得する（ステップＳ８０１）。
【０１８８】
ついで、ゲームシステム１０１は、保管済みの予約要求の中から、他の予約要求であって、以下の条件を満たすものがあるか調べる（ステップＳ８０２）。
【０１８９】
すなわち、保管済みの予約要求Ｈにおいて、
（ｅ）予約要求Ｈを送信した他の端末装置１０４を使用しているユーザの識別名Ｑ、
（ｆ）識別名Ｑのユーザに提供しているゲームの識別名Ｇ、
（ｇ）予約要求Ｈに指定されている相手方のユーザの識別名Ｐ、
（ｈ）予約要求Ｈに指定されている予約期間Ｃ
を満たすものを探す。
【０１９０】
上記の条件を満たす予約要求Ｈが見つからなければ（ステップＳ８０２；Ｎｏ）、最新に受信された予約要求Ｋを保管して（ステップＳ８０３）、ステップＳ８１１に進む。
【０１９１】
一方、見つかった場合（ステップＳ８０２；Ｙｅｓ）、ゲームシステム１０１は、２つの予約要求Ｋ、Ｈを有効であるとみなして、上記実施形態と同様に、両ユーザに対するプレイ予約を蓄積し（ステップＳ８０４）、予約要求Ｋ、Ｈの送信元である２つの端末装置１０４に、予約が完了した旨を表す予約応答を送信する（ステップＳ８０５）。さらに、予約要求Ｈを保管先から削除して（ステップＳ８０６）、ステップＳ８１１に進む。
【０１９２】
さらに、保管済の予約要求のうち、受信してから所定の期間が徒過したものを抽出し（ステップＳ８１１）、抽出された予約要求のそれぞれの送信元の端末装置１０４に、予約が失敗した旨を表す予約応答を送信して（ステップＳ８１２）、ステップＳ３４１に進む。
【０１９３】
このように、本実施形態では、２人のユーザが共同して同じゲーム、同じ日時の予約を希望する場合にのみ、プレイ予約が成立する。
【０１９４】
予約期間になってもユーザがプレイを開始しないことが頻発すると、ゲームの提供の負荷の推測が難しくなるが、本実施形態では、２人のユーザに一緒に同じゲームを同じ時期にプレイする旨を約束させることで、プレイの無断キャンセルを抑制できるようになる。
【０１９５】
本実施形態では、プレイ予約を介してユーザ同士の結束をさらに高めることが可能になるとともに、ゲームシステム１０１における負荷の推測を正確にして、効率の良い負荷分散を図ることが可能となる。
【０１９６】
なお、上記の説明では、共同プレイの予約は２人でされるものとしていたが、同様の処理を行うことにより、３人以上の共同プレイについても、対応をすることが可能である。
【産業上の利用可能性】
【０１９７】
以上説明したように、本発明によれば、複数のユーザに複数のゲームを提供するゲームシステムにおいて、ゲームを提供する負荷を分散させるのに好適なゲームシステム、ゲーム制御方法、ならびに、これらを１つ以上のコンピュータにて実現するプログラムを提供することができる。
【符号の説明】
【０１９８】
１０１  ゲームシステム
１０２  サーバ装置
１０４  端末装置
２０１  提供部
２０２  期間受付部
２０３  蓄積部
２０４  問合せ受信部
２０５  推定部
２０６  判定部
２０７  応答送信部
２０８  要求受信部
２０９  切替部
５０１  画面
５０２  選択可能なゲームの識別名
５０３  カーソル
５０４  選択不可能なゲームの識別名
５０９  項目
５１０  項目
５１１  移動可能な領域
５１２  道
５１５  標識
５２１  キャラクター
５３１  ポップアップウィンドウ
５３２  日時領域
【図１】
0005624074.tif 000002
【図２】
0005624074.tif 000003
【図３】
0005624074.tif 000004
【図４】
0005624074.tif 000005
【図５】
0005624074.tif 000006
【図６】
0005624074.tif 000007
【図７】
0005624074.tif 000008
【図８】
0005624074.tif 000009
【図９Ａ】
0005624074.tif 000010
【図９Ｂ】
0005624074.tif 000011
【図１０Ａ】
0005624074.tif 000012
【図１０Ｂ】
0005624074.tif 000013
【図１１】
0005624074.tif 000014