説明

ゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、プログラム

【課題】多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置等を提供する。
【解決手段】ゲーム装置401の記憶部501には、各操作対象の位置とオブジェクトの位置および状態とが記憶され、指示入力受付部502により受け付けられた指示入力に基づいて、自位置更新部503が当該ゲーム装置401に割り当てられる操作対象の位置を更新し、親機モードのゲーム装置401において親オブジェクト状態更新部507がオブジェクトの状態を更新し、子機モードのゲーム装置401では親機から送信された情報に基づいて子オブジェクト状態更新部509がオブジェクトの状態を更新し、親委譲部511は、次に親機になるゲーム装置401を決定して、当該決定されたゲーム装置401のモードを親機にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することを目的とする。
【背景技術】
【0002】
近年、オンラインゲーム(ネットワークゲーム)が種々開発されており、人気を博している。このようなオンラインゲームでは、多くのプレイヤがコンピュータネットワークを介して、ゲームの進行を同時に共有することができる。
【0003】
このようなオンラインゲームの例として、野球やサッカー等のスポーツゲームや、対戦型のアクションゲーム、そして、MMO・RPG(Massively Multiplayer Online Role Playing Game)と言われるオンライン・ロールプレイングゲーム等が挙げられる。例えばMMO・RPGでは、複数のプレイヤがそれぞれのプレイヤキャラクタ(パーティ)を操作し、様々なマップや、洞窟、塔等で表現されたダンジョン(迷路等)の冒険や探索を、同時に共有することができる。
【0004】
このようなオンラインゲームにおいて、多くのプレイヤが同時にゲームを進行させる上で、より多くのプレイヤを惹き付けるために、ゲームの興趣性を高めたり、よりスムースにゲームを進行させる技術が、様々に開発されている。
【0005】
例えば、特許文献1に開示されている技術では、ダンジョン等のゲーム領域を最も早く攻略した参加プレイヤに、ゲーム領域を自由に造り替える等の特別な恩恵を与えることで、プレイヤのやる気を引き出し、その結果ゲームに参加するプレイヤの興趣性を向上している。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2009−112708号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、多人数が参加するオンラインゲームにおいて、複数のユーザが1つのオブジェクトの状態の更新を、スムースに矛盾なく行いたい、という要望がある。
【0008】
例えば、MMO・RPGにおいて、2人のプレイヤが操作するプレイヤパーティが、同一の敵キャラクタとそれぞれが別々に戦った場合や、同一のダンジョンにそれぞれが入り、アイテムを取得する等、ダンジョンの状態をそれぞれが更新した場合に、2人の間でプレイヤパーティや敵キャラクタ、ダンジョンのデータに矛盾が発生してしまう可能性がある。また、野球やサッカー等のスポーツゲームにおいて、2人のプレイヤが操作する選手が、1つのボールを同時に投げたり蹴ったりできると、2人の間でボールが異なる方向へ飛んでいくことになる。それを防ぐために、排他制御を適切に考慮する、すなわち、適切に定められた一方のプレイヤのみ1対1で敵キャラクタと戦う(ボールを投げる、蹴る)ことができ、他方のプレイヤは戦う(投げる、蹴る)ことができないようにしなければならない。
【0009】
本発明は、上記のような課題を解決するもので、多人数のユーザによるオブジェクトの状態変化を行うのに好適なゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0011】
本発明の第1の観点に係るゲーム装置は、複数の互いに通信可能なゲーム装置のいずれかであって、当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、当該ゲーム装置は、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親オブジェクト状態更新部、オブジェクト状態送信部、オブジェクト状態受信部、子オブジェクト状態更新部、親委譲部、親受任部を備え、以下のように構成する。
【0012】
すなわち、記憶部では、当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれかであるか、が記憶される。
【0013】
たとえば、MMO・RPGにおいては、操作対象は、プレイヤ(ユーザ)が操作するパーティやキャラクタとするのが典型的である。野球ゲームやサッカーゲームにおいては、選手のキャラクタとするのが典型的である。
【0014】
また、MMO・RPGにおいて、フィールドマップ、街、ダンジョンなどに配置されたアイテムや敵キャラクタが、オブジェクトに相当する。野球ゲームやサッカーゲームにおいては、ボールがオブジェクトに相当する。親機であるか子機であるかは、後述するように、記憶部に記憶される情報に基づいて決定される。
【0015】
一方、指示入力受付部は、当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける。
【0016】
MMO・RPGにおいては、フィールドマップ上やダンジョン内でパーティをどこに移動させるか、どのアイテムを使用するかの選択等が指示入力によってゲーム装置に伝達されることになる。
【0017】
さらに自位置更新部は、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、受け付けられた指示入力に基づいて、記憶部において更新する。
【0018】
例えば、MMO・RPGでは、2人のプレイヤ(ユーザ)が、それぞれのパーティを操作する。したがって、例えば、フィールドマップ上で同時に、一方のプレイヤは右へ移動し、他方のプレイヤは左へ移動する。このように複数のプレイヤの独自の意志に基づいて、それぞれのパーティは独立して操作されることとなる。
【0019】
一方、自位置送信部は、更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信し、他位置受信部は、当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信し、他位置更新部は、受信された他のユーザに割り当てられる操作対象の位置を、記憶部において更新する。これは、自分のゲーム装置におけるプレイヤの操作の結果を他のゲーム装置に通知し、他のゲーム装置におけるプレイヤの操作の結果を自分のゲーム装置に反映させて、ゲームを進行させるためである。
【0020】
このように、他のゲーム装置でされた他のプレイヤの指示入力がゲームに反映されることで、プレイヤは他のプレイヤの行動を見ることができ、互いに競争したり協力したりしてゲームを進めることができる。
【0021】
一方、親オブジェクト状態更新部は、当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第1条件を満たす場合、当該オブジェクトの状態を、受け付けられた指示入力に基づいて、記憶部において更新する。
【0022】
上記のようなMMO・RPG等では、アイテムや敵キャラクタ等のオブジェクトに対して、状態変化させることでゲームが進行する。ここで「状態変化」には、ダンジョン内の敵キャラクタを倒したり、街でアイテムを入手したり等、オブジェクトの状態に何らかの変化が生じる種々の状況が考えられる。
【0023】
本発明では、後述するように、オブジェクトを直近に変化させると予想された一つの操作対象に対する操作が行われるゲーム装置を「親」とし、それ以外のゲーム装置を「子」とする。そして、一人の「親」がオブジェクトの状態変化を行う権限を独占することで、複数のプレイヤが同時期に一つのオブジェクトの状態変化を行おうとする際に、競合による矛盾、二重変更が発生したり、排他制御によるブロック期間が発生してしまわないようにする。
【0024】
このような「親」となったゲーム装置に割り当てられる操作対象が、アイテムや敵キャラクタ等のオブジェクトに対して、所定の第1条件を満たした場合に、その操作対象は、オブジェクトの状態変化を行えるようになる。
【0025】
ここで、「所定の第1の条件」とは、最も単純に、操作対象とオブジェクトとの距離としてもよい。あるいは、後述するように、フィールドマップ内の特定のエリアといった、オブジェクトの位置が属する領域に、操作対象の位置が含まれること、を条件にしてもよい。その他、種々の条件が考えられる。
【0026】
さらに、オブジェクト状態送信部は、当該ゲーム装置のモードが親機である場合、更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信し、オブジェクト状態受信部は、当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信し、子オブジェクト状態更新部は、受信された当該オブジェクトの状態を記憶部において更新する。
【0027】
上記のように、「親」のゲーム装置によって状態の様子が更新されたオブジェクト(アイテム等)の情報を「子」のゲーム装置にも反映させることで、ゲームを進行させるものである。
【0028】
さらに、親委譲部は、当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第2の条件を満たし、かつ、当該複数の操作対象の中から、所定の第3の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する。
【0029】
上記のように、本発明では、一つのオブジェクトの状態変化を一意に行うため、「親」が状態変化を行う権限を独占する。ここで、「親」となったゲーム装置に割り当てられる操作対象は、直近にはオブジェクトの状態を変化させることはないにも拘わらず、依然「親」を独占していたのでは、他のプレイヤは永久にオブジェクトの状態を変化できなくなる。
【0030】
そこで本発明では、「親」となったゲーム装置に割り当てられる操作対象が、所定の第2条件を満たしたときに、所定の第3の条件を満たした操作対象を操作する他のゲーム装置へ、「親」の権利を委譲する。
【0031】
そうすることで、オブジェクトを直近に変化させると予想される操作対象を操作するゲーム装置が、「親」となるようにする。
【0032】
そして、親受任部は、当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、記憶部において当該ゲーム装置のモードを親機に更新する。
【0033】
したがって、親委譲部と親受任部との間の通知によって、「親」であるゲーム装置は、オブジェクトを更新できる操作対象を操作するプレイヤが利用するゲーム装置の1台に限られることになり、それ以外のゲーム装置は「子」になる。
【0034】
本発明によれば、複数のプレイヤが同時期に一つのオブジェクトの状態変化を行おうとする際に、競合による矛盾、二重変更が発生したり、排他制御によるブロック期間が発生してしまわないようにできる。これにより、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うことができる。
【0035】
本発明のゲーム装置は、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第1の距離以内である場合に、第1の条件が満たされ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第2の距離以上離れている場合に、第2の条件が満たされ、親委譲部が、当該複数の操作対象のうち、当該オブジェクトの位置から最も近い位置にある操作対象を、第3の条件を満たす操作対象として、決定し、第1の距離は第2の距離以下である、ことを特徴とするゲーム装置であってもよい。
【0036】
すなわち、上述した3つの条件をすべて、操作対象とオブジェクトとの距離に基づいて定める、という手法である。例えば、MMO・RPGでは、プレイヤパーティと敵キャラクタとの距離、あるいは、サッカーゲームにおいては、選手とボールの距離、である。
【0037】
具体的には、「親」であるゲーム装置に割り当てられた操作対象の位置が、目的のオブジェクトの位置から、所定の第1の距離以内である場合に、当該操作対象は、親オブジェクト状態更新部により、当該オブジェクトの状態を変化させることができる。
【0038】
また、「親」であるゲーム装置に割り当てられた操作対象の位置が、目的のオブジェクトの位置から、第1の距離より大きな所定の第2の距離以上離れた場合に、当該オブジェクトの位置から最も近い位置にある操作対象を決定する。そして、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合に、親委譲部により、当該「親」であるゲーム装置は、当該他のゲーム装置へ、「親」を委譲する。
【0039】
本発明によれば、多人数が参加するオンラインゲームにおいて、距離という直感的で分かりやすい基準にもとづいて排他制御等を行うことで、多人数のユーザによるオブジェクトの状態変化を適切に行うことができる。
【0040】
本発明の第2の観点に係るゲームシステムは、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムであって、当該ゲームシステムは、上記ゲーム装置を複数備え、当該ゲームシステムは、さらにサーバ装置を備え、当該サーバ装置は、記憶部、位置受信部、位置更新部、オブジェクト状態受信部、オブジェクト状態更新部、親委譲部、親代理部、を備えたゲームシステムとして構成することができる。
【0041】
すなわち記憶部では、上述したゲーム装置の記憶部と同様に、当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該サーバ装置のモードが親機と子機とのいずれであるか、が記憶される。
【0042】
位置受信部は、当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられる操作対象の位置を受信し、位置更新部は、受信された当該複数の操作対象の位置を、記憶部において更新する。
【0043】
ここで、位置受信部と位置更新部は、上述したゲーム装置における他位置受信部と他位置更新部にそれぞれ相当する。ただし、ゲーム装置では自機以外のゲーム装置からの位置が受信ならびに更新されるのに対し、サーバ装置ではすべてのゲーム装置からの位置が受信ならびに更新される。
【0044】
また、オブジェクト状態受信部は、当該サーバ装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信し、オブジェクト状態更新部は、受信された当該オブジェクトの状態を記憶部において更新する。
【0045】
ここで、オブジェクト状態受信部とオブジェクト状態更新部は、上述したゲーム装置におけるオブジェクト状態受信部と子オブジェクト状態更新部にそれぞれ相当する。ただし、ゲーム装置では、自機が子機のときのみオブジェクトの状態を受信ならびに更新するのに対し、サーバ装置では常にオブジェクトの状態を受信ならびに更新する。
【0046】
また、ここでのサーバ装置は、上述したゲーム装置とは異なり、いずれの操作対象も操作せず、いずれのプレイヤ(ユーザ)も割り当てられていない。すなわち、プレイヤからの指示入力受付部を持たず、操作する操作対象がないため、自位置更新部および自位置送信部も持たない。また親オブジェクト状態更新部とオブジェクト状態送信部に相当するものも持たない。
【0047】
さらに親委譲部は、当該サーバ装置のモードが親機である場合、当該複数の操作対象の中から、第3の条件を満たすいずれかの操作対象を決定し、記憶部において当該サーバ装置のモードを子機に更新して、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が親機となるよう通知する。
【0048】
ここでの親委譲部は、上述したゲーム装置での親委譲部に相当する。ただし、ゲーム装置では、操作する操作対象がオブジェクトから所定の条件を満たしたときに、「親」となる権利を委譲したが、サーバ装置は操作する操作対象を持たないため、常にオブジェクトから最も近い操作対象に、「親」となる権利を委譲することになる。
【0049】
また親代理部は、当該サーバ装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置と、所定の時間以上の間通信ができなかった場合、記憶部において当該サーバ装置のモードを親機に更新する。
【0050】
サーバ装置は一旦「親」になる権利を委譲した後は、通常にゲームが行われている限りは再び「親」になることはない。しかし、「親」であったゲーム装置が突然ダウンする等、何らかの理由により、複数のゲーム装置のうちいずれのゲーム装置も「親」でない状況が発生しうる。そのような状況では、「親」となる権利を委譲するゲーム装置がないため、いずれのゲーム装置も「親」になることができなくなる。すなわち、上述したMMO・RPGにおいては、アイテムを取得したりする等の、オブジェクトの状態変化を行える操作対象が存在しなくなり、ゲームの進行に支障をきたすことになる。
【0051】
そこで、本発明でのサーバ装置は、所定の時間以上の間、「親」であるゲーム装置と通信ができなかった場合には、サーバ装置自身が「親」の代理をする。そうすることで、サーバ装置は、上述した親委譲部により、オブジェクトから最も近い操作対象に、「親」となる権利を委譲し、複数のゲーム装置のうちいずれかのゲーム装置が「親」である状況を持続することができる。
【0052】
これらの構成により、複数のゲーム装置とサーバ装置が互いに通信することで、複数のゲーム装置のうちいずれかのゲーム装置が「親」である状況を持続することができ、安定してゲームを進行することができるようになる。
【0053】
また、本発明のゲームシステムにおいて、当該ゲームシステムにおけるゲームが開始されるとき、当該サーバ装置は親機に、当該複数のゲーム装置は子機に、設定されるように構成することもできる。
【0054】
すなわち、ゲームが開始される時点では、ゲームシステムに接続された複数のゲーム装置のうち、通常いずれのゲーム装置も「親」ではないと考えられる。そのため、ゲームが開始される時点では、まずサーバ装置が「親」となり、また、複数のゲーム装置はいずれも「子」となる。そして、サーバ装置の親委譲部により、いずれかのゲーム装置に「親」の権利が委譲される。
【0055】
これらの構成により、ゲームが開始される時点において、サーバ装置ならびに複数のゲーム装置のいずれも「親」でない状況を避けることができ、安定してゲームを開始することができるようになる。
【0056】
また、本発明のゲームシステムにおいて、当該サーバ装置は、位置送信部、オブジェクト状態送信部、を備えたゲームシステムとして、以下のように構成することができる。
【0057】
すなわち、当該ゲーム装置において、自位置送信部は、当該操作対象の位置を、当該サーバ装置に中継させて他のゲーム装置に送信するため、当該操作対象の位置を、当該サーバ装置に送信し、当該ゲーム装置のモードが親機である場合、オブジェクト状態送信部は、当該オブジェクトの状態を、当該サーバ装置に中継させて他のゲーム装置に送信するため、当該オブジェクトの状態を、当該サーバ装置に送信する。
【0058】
また、当該サーバ装置において、位置受信部は、当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられるユーザに割り当てられる操作対象の位置を受信し、オブジェクト状態受信部は、当該複数のゲーム装置のうちモードが親機であるゲーム装置から送信された、当該オブジェクトの状態を受信する。
【0059】
また、当該サーバ装置において、位置送信部は、当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられるユーザに割り当てられる操作対象の位置を中継するため、位置更新部により記憶部に記憶される複数の操作対象の位置が更新されると、当該複数の操作対象の位置を、当該複数のゲーム装置に送信する。
【0060】
一方、当該サーバ装置において、オブジェクト状態送信部は、当該複数のゲーム装置のうちモードが親機であるゲーム装置から送信された、当該オブジェクトの状態を中継するため、オブジェクト状態更新部により記憶部に記憶されるオブジェクトの状態が更新されると、当該オブジェクトの状態を、当該複数のゲーム装置に送信する。
【0061】
さらに、当該ゲーム装置において、他位置受信部は、当該サーバ装置に中継されて他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信するため、当該サーバ装置から送信された複数の操作対象の位置を受信し、当該ゲーム装置のモードが子機である場合、オブジェクト状態受信部は、当該サーバ装置に中継されて他のゲーム装置から送信された他のユーザに割り当てられる操作対象の状態を受信するため、当該サーバ装置から送信された複数の操作対象の状態を受信する。
【0062】
具体的には、本発明は、サーバ装置と接続されたゲーム装置が2台以上の場合を想定したものであり、各操作対象の位置ならびにオブジェクトの状態の情報は、一旦サーバ装置に集められ、その後に各ゲーム装置に配布される、という手法である。
【0063】
なお、「各操作対象の位置ならびにオブジェクトの状態の情報の配布」と「次に親機となるゲーム装置の通知」とは、同時に(1つの通信単位で)行うと、ゲーム装置で記憶される位置(状態)・モードの間に矛盾が生じる可能性が低くなると考えられる。
【0064】
本発明によれば、サーバ装置と接続されたゲーム装置が2台以上の場合に、相互の通信をスムースに行うとともに、互いが記憶する情報に矛盾が生じてしまう可能性をできるだけ低減することができるようになる。
【0065】
本発明の第3の観点に係るゲーム制御方法は、複数の互いに通信可能なゲーム装置のいずれかにおいて実行されるゲーム制御方法であって、当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、当該ゲーム装置は、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親オブジェクト状態更新部、オブジェクト状態送信部、オブジェクト状態受信部、子オブジェクト状態更新部、親委譲部、親受任部を有し、
記憶部では、当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれであるか、が記憶され、指示入力受付工程、自位置更新工程、自位置送信工程、他位置受信工程、他位置更新工程、親オブジェクト状態更新工程、オブジェクト状態送信工程、オブジェクト状態受信工程、子オブジェクト状態更新工程、親委譲工程、親受任工程を備え、以下のように構成する。
【0066】
指示入力受付工程では、指示入力受付部が、当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける。
【0067】
自位置更新工程では、自位置更新部が、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、受け付けられた指示入力に基づいて、記憶部において更新する。
【0068】
自位置送信工程では、自位置送信部が、更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信する。
【0069】
他位置受信工程では、他位置受信部が、当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信する。
【0070】
他位置更新工程では、他位置更新部が、受信された他のユーザに割り当てられる操作対象の位置を、記憶部において更新する。
【0071】
親オブジェクト状態更新工程では、親オブジェクト状態更新部が、当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第1の条件を満たす場合、当該オブジェクトの状態を、受け付けられた指示入力に基づいて、記憶部において更新する。
【0072】
オブジェクト状態送信工程では、オブジェクト状態送信部が、当該ゲーム装置のモードが親機である場合、更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信する。
【0073】
オブジェクト状態受信工程では、オブジェクト状態受信部が、当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信する。
【0074】
子オブジェクト状態更新工程では、子オブジェクト状態更新部が、受信された当該オブジェクトの状態を記憶部において更新する。
【0075】
親委譲工程では、親委譲部が、当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第2の条件を満たし、かつ、当該複数の操作対象の中から、所定の第3の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する。
【0076】
親受任工程では、親受任部が、当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、記憶部において当該ゲーム装置のモードを親機に更新する
【0077】
本発明の第4の観点に係るプログラムは、コンピュータを、上記のゲーム装置の各部として機能させ、コンピュータに、上記のゲーム制御方法の各工程を実行させるように構成する。
【0078】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【0079】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0080】
本発明によれば、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【0081】
【図1】本発明のゲーム装置等の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図2】情報処理装置に接続されるコントローラの外観を示す説明図である。
【図3】本発明における多人数参加型のオンラインゲームの画面表示の例を示す典型的な模式図である。
【図4】実施形態1に係るゲームシステム全体の概要構成を示す模式図である。
【図5】実施形態1に係るゲーム装置の構成概要を示す模式図である。
【図6】実施形態1に係るサーバ装置の構成概要を示す模式図である。
【図7】各ゲーム装置において実行されるゲーム制御処理の制御の流れを示すフローチャートである。
【図8】サーバ装置において実行されるサーバ制御処理の制御の流れを示すフローチャートである。
【図9A】オブジェクトと操作対象との位置関係の例を示す模式図である。
【図9B】オブジェクトと操作対象との位置関係の別の例を示す模式図である。
【図10】実施形態3に係るゲーム装置の構成概要を示す模式図である。
【図11】実施形態3に係るサーバ装置の構成概要を示す模式図である。
【発明を実施するための形態】
【0082】
以下に、本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0083】
(実施形態1)
図1は、プログラムを実行することにより、本発明のゲーム装置等の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0084】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。
【0085】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置等が実現される。
【0086】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0087】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0088】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0089】
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0090】
図2は、コントローラ105の外観を示す説明図である。以下、本図を参照して説明する。
【0091】
コントローラ105の左方には、上下左右を示す操作入力を行うのに利用される↑ボタン201、↓ボタン202、←ボタン203、→ボタン204が配置されている。
【0092】
右方には、決定操作入力を行うのに利用される○ボタン205、取消操作入力を行うのに利用される×ボタン206、メニュー表示等の指示入力を行うのに利用される△ボタン207、その他の指示入力を行うのに利用される□ボタン208が配置されている。
【0093】
中央には、SELECTボタン209、STARTボタン210のほか、アナログ入力の開始・停止を指示するためのANALOGボタン211、および、アナログ入力が有効か無効かを表示するためのインジケータ212が配置されている。
【0094】
また中央下部には、上下左右に限らない方向に大きさを伴う指示入力を行うためのジョイスティック213、214が配置されている。
【0095】
さらに、上方には、各種の指示入力に用いることができるL1ボタン215、L2ボタン216、R1ボタン217、R2ボタン218が配置されている。
【0096】
コントローラ105の各ボタン201〜208、215〜218には、圧力センサが配備され、アナログ入力が有効となっている場合には、いずれのボタンが押圧操作されているかを検知することができるほか、ユーザの押圧操作の圧力の大きさを0〜255の256段階で得ることができる。
【0097】
コントローラ105のジョイスティック213、214は、ひずみゲージが配備され、これらがどの方向にどれだけ曲げられているか、を検知することができる。
【0098】
図1に戻り、インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0099】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0100】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0101】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0102】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0103】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ROM 102に記録されているが、DVD−ROMに記録された専用のフォント情報を利用することも可能である。
【0104】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0105】
インターネット内のSNTPサーバにNIC 109を介して接続し、ここから情報を得ることによって現在の日時情報を得るようにすることができる。また、各種のネットワーク通信ゲームやSNSの管理サーバ装置が、SNTPサーバと同様の機能を果たすように構成設定してもよい。
【0106】
一旦日時情報が得られれば、情報処理装置100が動作中はタイマ割込によりリアルタイムクロックと同様の機能を果たすカウンタを更新することとしてもよいし、情報処理装置100がリアルタイムクロックを有する場合は、その日時情報を修正する態様を採用することもできる。この際に、修正するか否かをユーザに問い合わせてもよい。内蔵するリアルタイムクロックを修正しない場合には、リアルタイムクロックの情報と実際にサーバから得られた情報との差分を保持し、日時情報が必要な場合には、リアルタイムクロックから得られた情報にその差分を加算すればよい。
【0107】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0108】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0109】
さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
【0110】
情報処理装置100をカラオケ装置として利用する場合には、DVD−ROMから読み出した音声データ、もしくは、NIC 109を介してコンピュータ通信網から取得した音声データを伴奏データとし、マイクから入力された音声データを歌唱データとして、伴奏データと歌唱データを音声処理部110がミキシングし、スピーカから出力する。また、スピーカにかえて、ヘッドホン(図示せず)やイヤフォン(図示せず)を用いて、音声を出力させることもできる。
【0111】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0112】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置100にかえて、汎用のパーソナルコンピュータを利用することもできる。
【0113】
なお、リアルタイムクロックにより、本体の電源がオフにされても現在の日時情報を適切に更新できるようにしても良いが、ネットワーク通信ゲームの形態によっては、各ユーザ管理システムが管理する時刻情報にずれがあると、正しくゲームが進行しないこと、などの要因があるため、本発明を適用するにあたっては、NIC 109を介して接続された各種のサーバから、ゲームを開始する際に、現在の日時情報を得ることとして、時間合わせをすることとしても良い。
【0114】
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、同様の処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【0115】
たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。
【0116】
図3は、本実施形態に係る多人数参加型のオンラインゲームの画面表示の例を示す典型的な模式図である。以下、本図を参照して説明する。
【0117】
本図では例として、MMO・RPGを取りあげ、仮想空間301内のフィールドマップ302上に、複数の操作対象(プレイヤパーティ303(ここでは303a、303b、303c、303dの4人))、さらにオブジェクト(敵キャラクタ304)が表示されている。
【0118】
ここで、本発明においては、多人数参加型のオンラインゲームとしてMMO・RPGに限定されるものではない。他の例としては、野球やサッカー等のスポーツゲームや、対戦型アクションゲーム等、種々が考えられる。例えばサッカーゲームの場合、典型的には各操作対象は選手として、オブジェクトはボールとなる。
【0119】
本図に戻って、操作対象であるプレイヤパーティ303a〜303dは、それぞれ異なるゲーム装置が対応付けられており、当該ゲーム装置をプレイするプレイヤによって操作される。
【0120】
具体的には、プレイヤパーティ303aに対応付けられるゲーム装置を操作するプレイヤが、コントローラ105の↑ボタン201を押圧操作すると、プレイヤパーティ303aがフィールドマップ302上を、上方向へ移動する。一方で、プレイヤパーティ303bに対応付けられるゲーム装置を操作するプレイヤが、コントローラ105の○ボタン205を押圧操作すると、プレイヤパーティ303bがフィールドマップ302上で、当該○ボタン205に対応付けられた動作(敵キャラクタ304へ剣を振って攻撃する、アイテムを使う等)を行う。
【0121】
ここで、敵キャラクタ304(オブジェクト)は、仮想空間301内に固定されるものに限られず、移動してもよい。例えばサッカーゲームの場合を考えると、ボール(オブジェクト)は動き回るのが通常である。
【0122】
図4は、本実施形態に係るゲームシステム全体の概要構成を示す模式図である。以下、本図を参照して説明する。
【0123】
本図に示すように、複数のゲーム装置401が、インターネット等のコンピュータ通信網403を介して通信可能に接続され、さらにサーバ装置402がシステム全体を管理する。このゲーム装置401は、上記の情報処理装置100によって実現される。
【0124】
各ゲーム装置401は、同一の仮想空間301(ゲーム空間)を共有し、ゲームに参加する各プレイヤ(参加プレイヤ)がそれぞれ異なる操作対象(キャラクタやパーティ)を操作可能となっている。
【0125】
ゲーム装置401のそれぞれは、自身を操作するプレイヤの指示入力(コントローラ105の各種ボタン201〜218の押圧操作)に基づいて、当該プレイヤが操作する操作対象(キャラクタやパーティ)の位置の更新等を行う。
【0126】
また、ゲーム装置401のうち、子機は、更新された位置の情報を親機に通知する。親機は、子機から通知された位置を集積して、オブジェクト(敵キャラクタ304)の状態および全操作対象(各プレイヤパーティ303)の最新の位置を、適当なタイミングで子機に通知し、子機と親機で、オブジェクトの状態と操作対象の位置の情報に、通信遅延に基づく齟齬ができるだけ生じないように、情報の共有を図る。
【0127】
また、ゲーム装置401のそれぞれには、互いに重複しない識別子が割り当てられており、これによってゲーム装置401を区別することができる。
【0128】
図5は、本実施形態に係るゲーム装置401の構成概要を示す模式図である。以下、本図を参照して説明する。
【0129】
本実施形態に係るゲーム装置401は、記憶部501、指示入力受付部502、自位置更新部503、自位置送信部504、他位置受信部505、他位置更新部506、親オブジェクト状態更新部507、オブジェクト状態送信部508、子オブジェクト状態更新部509、オブジェクト状態受信部510、親委譲部511、親受任部512を備える。
【0130】
記憶部501は、RAM 103等によって構成され、以下の情報を記憶する。
(a)各操作対象と、当該操作対象に割り当てられるゲーム装置401およびサーバ装置402の識別子。上記の例では、プレイヤパーティ303aには、プレイヤパーティ303aを操作するプレイヤが利用するゲーム装置401の識別子が割り当てられ、プレイヤパーティ303bには、プレイヤパーティ303bを操作するプレイヤが利用するゲーム装置401の識別子が割り当てられ、同様に、プレイヤパーティ303cおよび303dには、プレイヤパーティ303cおよび303dを操作するプレイヤが利用するゲーム装置401の識別子がそれぞれ割り当てられる。また、サーバ装置402もまた、各ゲーム装置401とは異なる独自の識別子が割り当てられる。
(b)各操作対象の位置の最新の値、および、当該最新の値に更新された更新時刻。本例では、コントローラ105の操作に基づいてプレイヤパーティ303a、303b、303c、303dの位置を更新するゲーム装置401は互いに異なるため、通信遅延を考慮して、最新の更新時刻も情報として記憶することとしている。この時刻は、ゲームが開始されてからの経過時間を、各ゲーム装置401にて測定したものである。
(c)オブジェクトの位置および状態の最新の値、および、当該最新の値に更新された更新時刻。プレイヤパーティ303a、303b、303c、303dの場合と同様に、親機から子機へ敵キャラクタ304の情報が伝達されるのには通信遅延があるため、時刻も考慮する。
(d)現在親機となっているゲーム装置401およびサーバ装置402の通信識別子。各ゲーム装置401およびサーバ装置402は、記憶されている通信識別子と自身の通信識別子とを比較して、これらが等しければ、現在のモードは親機であり、異なっていれば、現在のモードは子機である、と判断することができる。
(e)その他の情報。例えば、野球ゲームやサッカーゲーム等のように、一人のプレイヤが複数の操作対象を操作する場合には、操作対象のいずれかを「現在注目している操作対象」に設定して、プレイヤの指示入力は、当該操作対象に反映させることとし、それ以外の操作対象は、CPU 101が所定の自動制御アルゴリズムに基づいて、自動的に制御を行うのが一般的である。そこで、当該ゲーム装置401において「現在注目している操作対象」がいずれであるか、を記憶部501に記憶させておく。なお、以下では、理解を容易にするため、特に明記しない限り、一人のプレイヤは一つの操作対象を操作するものとして説明を行う。
【0131】
さらに、図6は、本実施形態に係るサーバ装置402の構成概要を示す模式図である。以下、本図を参照して説明する。
【0132】
本実施形態に係るサーバ装置402は、記憶部601、位置受信部605、位置更新部606、オブジェクト状態更新部609、オブジェクト状態受信部610、親委譲部611、親代理部612を備える。
【0133】
これらの機能はそれぞれ、ゲーム装置401における、記憶部501、他位置受信部505、他位置更新部506、子オブジェクト状態更新部509、オブジェクト状態受信部510、親委譲部511の機能に準ずる。なお、ゲーム装置401での親受任部512は、親委譲部511からの通知を受けて当該ゲーム装置401を親機とする機能であるが、それに対しサーバ装置402での親代理部612は、モードが親機であるゲーム装置401と、所定の時間以上の間通信ができなかった場合に、当該サーバ装置402を親機とする。
【0134】
図7は、各ゲーム装置401において実行されるゲーム制御処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0135】
本処理は、コンピュータ通信網403によって、ゲーム装置401同士におけるプレイが開始可能となることを契機に始められる。
【0136】
プレイが開始されると、CPU 101は、RAM 103(記憶部501)に記憶される情報を適切に初期化するとともに、現在親機となっている装置の通信識別子を、サーバ装置402の識別子に更新する(ステップS701)。すなわち、プレイ開始時点では、いずれかの装置を親機に設定する必要があるが、ここではサーバ装置402を親機とし、各ゲーム装置401は、プレイ開始時点では子機となる。
【0137】
次に、CPU 101は、コントローラ105の↑ボタン201、↓ボタン202、←ボタン203、→ボタン204が押圧操作されているかを調べる(ステップS702)。したがって、コントローラ105は、指示入力受付部502として機能する。
【0138】
そして、押圧操作に従って、記憶部501において、当該ゲーム装置401のプレイヤに割り当てられた操作対象の位置を更新する(ステップS703)。したがって、CPU 101は、コントローラ105やRAM 103等と共働して、自位置更新部503として機能する。
【0139】
ついで、CPU 101は、現在のモードが親機であるか子機であるか、を判定する(ステップS704)。子機である場合(ステップS704;子機)、CPU 101は、記憶部501に記憶されている操作対象のうち、当該操作対象の位置、更新時刻を取得して(ステップS705)、当該自操作対象に取得された情報を対応付けて指定する親宛パケットを生成し(ステップS706)、親機に送信する(ステップS707)。
【0140】
したがって、親宛パケットには、当該ゲーム装置401を利用するプレイヤに割り当てられた自操作対象の位置の最新の値が、当該最新の値に更新された更新時刻(ゲーム開始時点からの経過時間)とともに、指定されることになる。
【0141】
また、現在の親機がいずれのゲーム装置401またはサーバ装置402であるかは、前述のように、記憶部501に記憶される情報を参照することで調べることが可能である。
【0142】
ついで、CPU 101は、NIC 109を監視して、親機のゲーム装置401から、後述する子宛パケットが到達しているか否かを調べる(ステップS708)。到達していなければ(ステップS708;No)、CPU 101は、記憶部501に記憶されている操作対象およびオブジェクトの位置および状態の情報に基づいて、図3に示すような画像をRAM 103に生成する(ステップS709)。この際に、後述するように、通信遅延や位置の更新時刻と現在時刻との差を考慮した補正処理を、適宜行うこととしても良い。
【0143】
垂直同期割込が生じるまで待機してから(ステップS710)、画像処理部107を制御して生成された画像をモニタに転送して表示させ(ステップS711)、ステップS702に戻る。
【0144】
さて、現在のモードが親機である場合(ステップS704;親機)、CPU 101は、NIC 109を監視して、いずれかの子機のゲーム装置401から親宛パケットが到達しているか否かを調べる(ステップS712)。到達していなければ(ステップS712;No)、ステップS715に進む。
【0145】
一方、到達していれば(ステップS712;Yes)、当該親宛パケットをすべて受信して(ステップS713)、当該親宛パケットに指定されている操作対象がいずれであるか、および、当該操作対象の位置、更新時刻により、記憶部501の情報を更新する(ステップS714)。
【0146】
なお、通信遅延等の影響で、同じゲーム装置401から送信された親宛パケットの順序が前後して到着することがありうるが、その場合には、パケット内に指定されている更新時刻と、記憶部501に記憶されている更新時刻とを比較して、前者が後者よりも未来の時刻である場合にのみ、更新を行うこととすれば、最新の値が維持される。
【0147】
ついで、親機は、記憶部501に記憶されている当該操作対象の位置と、オブジェクトの位置とが、所定の第1の条件を満たすかどうかを判定する(ステップS715)。
【0148】
所定の第1の条件を満たす場合(ステップS715;Yes)、指示入力受付部502により、コントローラ105の○ボタン205、×ボタン206、△ボタン207、□ボタン208等の操作状況を受付け(ステップS716)、押圧操作の内容に応じてオブジェクトの状態を更新する(ステップS717)し、ステップS720へ移行する。ここで、CPU 101は、RAM 103と共働して、親オブジェクト状態更新部507として機能する。
【0149】
具体的に、MMO・RPGにおいて、アイテムを取得したり、敵キャラクタ304に攻撃したり等である。典型的には、これらの行動をするためには、操作対象(プレイヤやパーティ)を目的のオブジェクト(アイテムや敵キャラクタ304)に近づけた上で、○ボタン205や×ボタン206等の押圧操作をすることにより、目的のオブジェクト(アイテムや敵キャラクタ304)に種々の影響を与える。そのため、本発明では、「親」であるパーティの位置と、アイテムや敵キャラクタ304の位置とが、「所定の第1の条件」を満たしたときのみ、当該アイテムや敵キャラクタ304の状態を更新できるようにする。
【0150】
「所定の第1の条件」とは、最も単純に、操作対象とオブジェクトとの距離としてもよい。あるいは、フィールドマップ302内の特定のエリアといった、オブジェクトの位置が属する領域に、操作対象の位置が含まれること、を条件にしてもよい。その他、種々の条件が考えられる。
【0151】
一方、所定の第1の条件を満たさない場合(ステップS715;No)、親機であるゲーム装置401は、自身の「親」を他のゲーム装置401へ委譲するかどうかを判断するため、次の条件を判定する(ステップS718)。
(a)親機であるゲーム装置401に割り当てられる操作対象の位置と、オブジェクトの位置とが、所定の第2の条件を満たすかどうか。
(b)複数の操作対象の中から、所定の第3の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置401が他のゲーム装置401であるかどうか。
【0152】
すなわち、具体的に上述したMMO・RPGにおいて、「親」である操作対象(プレイヤパーティ303)が、目的のオブジェクト(敵キャラクタ304)を更新する権利を独占したままの状態では、いつまでたっても「子」である他のプレイヤパーティ303は、当該オブジェクトを更新することができない。そのため、親機であるゲーム装置401は、当該オブジェクトの近傍に位置する他の操作対象を操作するゲーム装置401へ、委譲するかどうかを判断する。
【0153】
典型的には、「親」であるプレイヤパーティ303が敵キャラクタ304から離れたとき、当該敵キャラクタ304に攻撃する等の影響を与えることは少ないと考えられる。そのため、本発明では、「親」であるパーティの位置と、敵キャラクタ304の位置とが、「所定の第2の条件」を満たしたときを、「親」を委譲する条件の1つとする。
【0154】
「所定の第2の条件」とは、上述した「所定の第1の条件」と同じように、操作対象とオブジェクトとの距離としてもよいし、あるいは、フィールドマップ302内の特定のエリアといった、オブジェクトの位置が属する領域に、操作対象の位置が含まれること、を条件にしてもよい。この場合、「所定の第2の条件」における距離や「所定の第2の条件」における領域は、「所定の第1の条件」における距離や「所定の第1の条件」における領域よりも、大きいことが典型的である。
【0155】
一方で、複数の操作対象を操作するゲーム装置401のうち、どの操作対象を操作するゲーム装置401に、「親」を委譲するかを判定しなければならない。ここで本発明では、「所定の第3の条件」を満たす操作対象を操作するゲーム装置401を決定し、当該ゲーム装置401が他のゲーム装置401であるときを、「親」を委譲する条件の2つ目とする。
【0156】
「所定の第3の条件」とは、オブジェクトから最も近くに位置する操作対象、としてもよいし、あるいは、サッカーゲーム等において、ボール(オブジェクト)が移動する方向に位置する操作対象、とすることも考えられる。その他、種々の条件が考えられる。
【0157】
ここで、上記の判定を満たさない場合(ステップS718;No)、ここでは何も行わず、ステップS720へ移行する。
【0158】
一方、上記の判定を満たす場合(ステップS718;Yes)、現在親機となっている装置の通信識別子を、委譲されるべき他のゲーム装置401の識別子へ、更新する(ステップS719)。すなわち、自機を親機から子機へ、オブジェクトの近傍に位置する操作対象を操作する他のゲーム装置401を、子機から親機へ、更新する。
【0159】
そして、ステップS720では、CPU 101は、以下の情報を指定した子宛パケットをRAM 103内に生成する(ステップS720)。
(a)記憶部501に記憶されている全操作対象の位置および更新時刻。
(b)オブジェクトの状態および更新時刻。これらは、ステップS717を通った場合にのみ、更新されている。
(c)指定された操作対象に割り当てられているゲーム装置401の識別子。この情報は、次に親機となるべきゲーム装置401を意味する。これらは、ステップS719を通った場合にのみ、更新されている。
【0160】
そして、生成された子宛パケットを、子機であるゲーム装置401に送信する(ステップS721)。
【0161】
さて、親機のゲーム装置401のステップS721において送信された子宛パケットは、子機のゲーム装置401では、ステップS708で到達判定がされる。そこで、子宛パケットが到達している場合(ステップS708;Yes)、当該子宛パケットをすべて受信して(ステップS722)、当該子宛パケットに指定されている操作対象がいずれであるか、および、当該操作対象の位置、更新時刻、オブジェクトの状態、更新時刻、ならびに、次に親機となるべきゲーム装置401の識別子により、記憶部501の情報を更新して(ステップS723)、ステップS709に進む。
【0162】
すなわち、子機であるゲーム装置401を操作しているプレイヤは、他のゲーム装置401によって操作される操作対象が移動している様子を、また、親機であるゲーム装置401に操作される操作対象によってオブジェクトの状態が変化している様子を、観察することができる。
【0163】
具体的に、MMO・RPGでは、「子」であるプレイヤパーティ303(操作対象)は、敵キャラクタ304(オブジェクト)に攻撃する等のアクションを与えることはできないが、「親」であるプレイヤパーティ303が敵キャラクタ304に攻撃している様子を観察することは、可能である。また、サッカーゲームでは、「子」である選手(操作対象)は、ボール(オブジェクト)を蹴る等のアクションをアクションを与えることはできないが、「親」である選手がボールを蹴って、ボールの位置や速度が変化している様子を観察することは、可能である。
【0164】
このように、本発明においては、親機では、ステップS719における識別子により、子機では、子宛パケットに指定される識別子により、記憶部501の「現在親機となっているゲーム装置401の識別子」が更新されることで行われる。
【0165】
なお、通信遅延等の影響等で、子機のゲーム装置401に割り当てられている操作対象の位置が更新されていることがありうるが、その場合には、子宛パケット内に指定されている更新時刻と、記憶部501に記憶されている更新時刻とを比較して、前者が後者よりも未来の時刻である場合にのみ、更新を行うこととしても良いし、子宛パケット内に記憶されている値を優先して使用することとしても良いし、位置および更新時刻の2つのセット(一方は記憶部501、他方は子宛パケット)から、現在時刻における位置を内分・外挿により推定して、これらの値で更新することとしても良い。
【0166】
このように、CPU 101は、NIC 109、RAM 103等と共働して、自位置送信部504、他位置受信部505、他位置更新部506、オブジェクト状態送信部508、オブジェクト状態受信部510、子オブジェクト状態更新部509、親委譲部511、親受任部512として機能する。
【0167】
なお、上記の態様においては、親宛パケットは子機の自位置送信部504が送信し、親機の他位置受信部505が受信し、子宛パケットは、親機の自位置送信部504、オブジェクト状態送信部508、親委譲部511が送信し、子機の他位置受信部505、オブジェクト状態受信部510、親受任部512が受信することとなっているが、各情報は個別に別々のパケットにして送受することとしても良い。
【0168】
図8は、サーバ装置402において実行されるサーバ制御処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0169】
コンピュータ通信網403によって、ゲーム装置401同士におけるプレイが開始されると、CPU 101は、RAM 103(記憶部501)に記憶される情報を適切に初期化するとともに、現在親機となっている装置の通信識別子を、当該サーバ装置402の識別子に更新する(ステップS801)。すなわち、プレイ開始時点では、当該サーバ装置402は親機となる。
【0170】
ついで、CPU 101は、NIC 109を監視して、接続されている複数のゲーム装置401から、サーバ宛パケットが到達しているか否かを調べる(ステップS802)。到達していなければ、ステップS805に進む。
【0171】
一方、到達していれば(ステップS802;Yes)、当該サーバ宛パケットをすべて受信して(ステップS803)、当該サーバ宛パケットに指定されている操作対象がいずれであるか、および、当該操作対象の位置、更新時刻、そしてオブジェクトの状態、更新時刻により、記憶部501の情報を更新する(ステップS804)。
【0172】
ついで、CPU 101は、現在のモードが親機であるか子機であるかを判定する(ステップS805)。
【0173】
親機であれば(ステップS805;親機)、記憶部501に記憶されている、複数の操作対象の位置、および、オブジェクトの位置から、CPU 101は、所定の第3の条件を満たす操作対象を1つ選ぶ(ステップS806)。そして、現在親機となっている装置の通信識別子を、当該操作対象を操作しているゲーム装置401の識別子へ、更新する(ステップS807)。
【0174】
すなわち、サーバ装置402が親機である場合には、サーバ装置402はいずれかのゲーム装置401へ「親」を委譲するため、上述した「所定の第3の条件」を満たす操作対象を操作するゲーム装置401へ「親」を委譲し、当該サーバ装置402は「子」となる。
【0175】
ここで、「所定の第3の条件」とは、上述したものと同じように、オブジェクトから最も近くに位置する操作対象、としてもよいし、あるいは、サッカーゲーム等において、ボール(オブジェクト)が移動する方向に位置する操作対象、とすることも考えられる。その他、種々の条件が考えられる。
【0176】
そして、CPU 101は、上述した識別子の情報を指定したゲーム装置401宛パケットをRAM 103内に生成し(ステップS808)、生成されたゲーム装置401宛パケットを、すべてのゲーム装置401に送信する(ステップS809)。そして、ステップS802へ戻る。
【0177】
一方で、当該サーバ装置402が子機であれば(ステップS805;子機)、親代理部612により、現在親機となっているいずれかのゲーム装置401と通信し、所定の閾時間以上の間、当該ゲーム装置401と通信できないかどうかを判定する(ステップS810)。
【0178】
親機であるゲーム装置401と通信できていれば(ステップS810;No)、ここでは何もせず、ステップS802へ戻る。
【0179】
一方、親機であるゲーム装置401と通信できなければ(ステップS810;Yes)、現在親機となっている装置の通信識別子を、当該サーバ装置402の識別子へ更新し(ステップS811)、ステップS802へ戻る。
【0180】
すなわち、ゲームが通常に進行していれば、ゲーム開始時点以外では、いずれかのゲーム装置401が親機であるため、ステップS810は常にNoへ移行すると想定される。しかし、親機であるゲーム装置401のダウン、ネットワークトラブル等、何らかの理由により、現在親機となっているゲーム装置401が、ゲームシステム内に存在しないことがありうるため、その場合に、サーバ装置402が、「親」を代理することで、ゲームシステム内に親機が存在しない状況を回避することができる。
【0181】
図9Aおよび図9Bは、オブジェクトと操作対象との位置関係を示す模式図である。以下、本図を用いて、オブジェクトと操作対象との位置関係から、「親」が委譲される様子を説明する。
【0182】
図9Aおよび図9Bでは図3と同様に、仮想空間301内のフィールドマップ302上に、操作対象である4人のプレイヤパーティ303a〜303dと、オブジェクトとして代表的な、敵キャラクタ304が表示されている。さらに図9Aおよび図9Bには、敵キャラクタ304の位置からの2つの基準領域305a、305b(305aの大きさは、305bの大きさよりも小さいとする)が描かれている。
【0183】
ここで2つの基準領域305について、基準領域305aは、「親」である操作対象が、オブジェクトの状態を更新できるかどうかを判定する領域(上述した「所定の第1の条件」)であり、基準領域305bは、「親」である操作対象が、「親」を委譲するかどうかを判定するのに用いられる領域(上述した「所定の第2の条件」)であり、基準領域305aは、基準領域305bより小さな領域である。なお、実際にゲームをプレイするプレイヤからは、当該2つの基準領域305a、305bは、典型的には見ることはできない。
【0184】
基準領域305aおよび305bとして、図9Aでは、いずれも長方形状の領域をとっている。すなわち、操作対象が当該長方形状の基準領域305の中に入っているかどうかが、上述した「所定の第1の条件」および「所定の第2の条件」に用いられることになる。一方で、図9Bでは、2つの基準領域305aおよび305bは、いずれもオブジェクトを中心とした円状の領域である。すなわち、オブジェクトから操作対象までの距離が、上述した「所定の第1の条件」および「所定の第2の条件」の判定に用いられる。ここで、基準領域305の形状として、長方形や円に限られず、正方形や楕円、またはその他オブジェクトの位置を含むような任意の形状であってもよい。
【0185】
ここで最初、プレイヤパーティ303aが「親」であり、その他の3人のプレイヤパーティ303b、303c、303dは、「子」であるとする。「親」であるプレイヤパーティ303aは、敵キャラクタ304の位置から、所定の基準領域305a内の位置にいるので、敵キャラクタ304の状態を変化させることができる。例えば、攻撃してダメージを与えたり、敵キャラクタ304の持っているアイテムを奪ったり、である。
【0186】
次に、プレイヤがプレイヤパーティ303aを操作して、303a’の位置まで移動させたとする。この位置は、敵キャラクタ304の位置から基準領域305aの外にいるため、プレイヤパーティ303aは「親」ではあるが、敵キャラクタ304の状態を変化させることはできなくなる。
【0187】
なお、プレイヤパーティ303が一旦敵キャラクタ304の位置から基準領域305aより外へ出ても、当該プレイヤパーティ303が「親」である限りは、再び敵キャラクタ304へ基準領域305a内へ入れば、敵キャラクタ304の状態を変化させることができるようになる。
【0188】
さらにプレイヤパーティ303a’を操作して、303a’’の位置まで移動させたとする。この位置は、敵キャラクタ304の位置から、さらにもう1つの基準領域305bの外へ出る。ここでプレイヤパーティ303a’’は、当該プレイヤパーティ303a’’の「親」を委譲する他のプレイヤパーティ303を、上述した「所定の第3の条件」を基準として決定する。
【0189】
例えば、敵キャラクタ304の位置から、最も距離が近いプレイヤパーティ303が、「所定の第3の条件」を基準を満たしたプレイヤパーティ303として決定される。当該決定されたプレイヤパーティ303が、他のプレイヤパーティ303であった場合に、当該他のプレイヤパーティ303へ、「親」を委譲する。いない場合は、依然当該プレイヤパーティ303a’’が「親」であり続ける。
【0190】
図9Aおよび図9Bの例では、3人の他のプレイヤパーティ303b、303c、303dのうち、敵キャラクタ304の位置から、最も距離が近いのは、プレイヤパーティ303bである。かつ、当該プレイヤパーティ303bは、プレイヤパーティ303a’’よりも敵キャラクタ304の位置から近いので、プレイヤパーティ303a’’は、「親」をプレイヤパーティ303bへ委譲する。
【0191】
「親」を委譲されたプレイヤパーティ303bは、現在の位置では敵キャラクタ304の位置から基準領域305aの外に位置しているため、敵キャラクタ304の状態を変化させることができない。その後、プレイヤパーティ303bを操作するプレイヤにより、プレイヤパーティ303b’の位置まで移動させれば、敵キャラクタ304の位置から基準領域305a以内であるため、敵キャラクタ304へ攻撃などの状態変化を与えることができるようになる。
【0192】
このような構成により、先に敵キャラクタ304の近くにいるプレイヤパーティ303が、一旦敵キャラクタ304から離れない限り、「親」を占有し、敵キャラクタ304から離れた後は、敵キャラクタ304により近い位置にいる他のプレイヤパーティ303へ「親」を委譲することにより、常に敵キャラクタ304に近いプレイヤパーティ303が
敵キャラクタ304の状態を変化させる権限を持ち、かつ、複数のプレイヤパーティ303によって同時期に敵キャラクタ304の状態の二重変更が生じたり、排他制御によるブロック期間が発生してしまわないようにすることが可能となる。
【0193】
なお、図9Aおよび図9Bでは敵キャラクタ304は、フィールドマップ302上に位置が固定されているとして説明したが、敵キャラクタ304はフィールドマップ302上を動いてもよい。例えば、野球ゲームやサッカーゲームの場合、ボール(オブジェクト)は移動するのが通常である。その場合は、オブジェクトと各操作対象との相対的な位置によって、「所定の第1の条件」、「所定の第2の条件」、「所定の第3の条件」の判定が行われる。
【0194】
このような構成により、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置等を提供することができる。
【0195】
(実施形態2)
上記実施形態では、図4に示したように、サーバ装置402と複数のゲーム装置401がコンピュータ通信網403を介して接続されたゲームシステムを構成していたが、専用のサーバ装置402を持たず、いずれかのゲーム装置401がサーバ装置402の機能を果たすことも可能である。
【0196】
この場合、サーバ装置402の機能を、いずれかのゲーム装置401が、代行することになる。すなわち、サーバ装置402における、記憶部601、位置受信部605、位置更新部606、オブジェクト状態更新部609、オブジェクト状態受信部610、親委譲部611、親代理部612は、それぞれ、ゲーム装置401における、記憶部501、他位置受信部505、他位置更新部506、子オブジェクト状態更新部509、オブジェクト状態受信部510、親委譲部511、親受任部512が、代行する。
【0197】
どのゲーム装置401がサーバ装置402の機能を果たすかは、種々の方法が考えられる。例えば、乱数により決めてもよいし、より早くコンピュータ通信網403に接続されたゲーム装置401に決めてもよい。
【0198】
このような構成により、専用サーバ装置を持たずとも、複数のゲーム装置のみでゲームを構成することができ、ゲームシステムを簡略化することができる。
【0199】
(実施形態3)
上記の説明では、各ゲーム装置401に記憶されている、各操作対象の位置ならびにオブジェクトの状態の情報を、他のゲーム装置401へ送信する際に、直接当該他のゲーム装置401へ送信していた。ここで、各ゲーム装置401は、情報を一旦サーバ装置402へ送信し、当該サーバ装置402が当該他のゲーム装置401へ情報を送信する、という手法も可能である。
【0200】
すなわち、本実施形態では、2台以上のゲーム装置401が、コンピュータ通信網403によってサーバ装置402に接続されるゲームシステムを想定したものであり、すべてのゲーム装置401の情報は、一旦サーバ装置402に集められ、その後に各ゲーム装置401に配布される、という手法である。
【0201】
図10は、本実施形態における、ゲーム装置401の構成概要を示す模式図である。
【0202】
本図は、ゲーム装置401の内部の構成は、図5のものと同じ構成である。しかし、自位置送信部504、オブジェクト状態送信部508、および、親委譲部511から出力される情報は、図5では他のゲーム装置401へ送信されたが、本図ではすべてサーバ装置402へ集められる。また、他位置受信部505、オブジェクト状態受信部510、および、親受任部512へ入力される情報は、図5では他のゲーム装置401から受信されたが、本図ではすべてサーバ装置402から受信される。
【0203】
すなわち、本実施形態では、他のゲーム装置401との情報の受け渡しの際に、サーバ装置402が必ず介してから受け渡される。
【0204】
そして、図11は、本実施形態における、サーバ装置402の構成概要を示す模式図である。
【0205】
本図は、基本的には、図6のものと同じ構成である。しかし、本図でのサーバ装置402は、位置送信部604とオブジェクト状態送信部608を、新たに備える。
【0206】
すなわち、図6においては、サーバ装置402がゲーム装置401へ送信する情報は、親委譲部611による次に親機となるゲーム装置401の識別子、のみであった。しかし、本実施形態では、ゲーム装置401から他のゲーム装置401へ、当該ゲーム装置401が操作する操作対象の位置、および当該ゲーム装置401が親機である場合には、オブジェクトの状態を、当該サーバ装置402を介して送信するため、当該位置送信部604と当該オブジェクト状態送信部608を備えることになる。
【0207】
このような構成により、サーバ装置と接続されたゲーム装置が2台以上の場合に、相互の通信をスムースに行うとともに、互いが記憶する情報に矛盾が生じてしまう可能性をできるだけ低減することができるようになる。
【産業上の利用可能性】
【0208】
以上説明したように、本発明によれば、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができる。
【符号の説明】
【0209】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 ↑ボタン
202 ↓ボタン
203 ←ボタン
204 →ボタン
205 ○ボタン
206 ×ボタン
207 △ボタン
208 □ボタン
209 SELECTボタン
210 STARTボタン
211 ANALOGボタン
212 インジケータ
213 ジョイスティック
214 ジョイスティック
215 L1ボタン
216 L2ボタン
217 R1ボタン
218 R2ボタン
301 仮想空間
302 フィールドマップ
303 プレイヤパーティ
304 敵キャラクタ
305 基準領域
401 ゲーム装置
402 サーバ装置
403 コンピュータ通信網
501 記憶部
502 指示入力受付部
503 自位置更新部
504 自位置送信部
505 他位置受信部
506 他位置更新部
507 親オブジェクト状態更新部
508 オブジェクト状態送信部
509 子オブジェクト状態更新部
510 オブジェクト状態受信部
511 親委譲部
512 親受任部
601 記憶部
604 位置送信部
605 位置受信部
606 位置更新部
608 オブジェクト状態送信部
609 オブジェクト状態更新部
610 オブジェクト状態受信部
611 親委譲部
612 親代理部

【特許請求の範囲】
【請求項1】
複数の互いに通信可能なゲーム装置のいずれかであって、
当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、
当該ゲーム装置は、
当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれであるか、が記憶される記憶部、
当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付部、
当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新部、
前記更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信する自位置送信部、
当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信する他位置受信部、
前記受信された他のユーザに割り当てられる操作対象の位置を、前記記憶部において更新する他位置更新部、
当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第1の条件を満たす場合、当該オブジェクトの状態を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する親オブジェクト状態更新部、
当該ゲーム装置のモードが親機である場合、前記更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信するオブジェクト状態送信部、
当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信するオブジェクト状態受信部、
前記受信された当該オブジェクトの状態を前記記憶部において更新する子オブジェクト状態更新部、
当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第2の条件を満たし、かつ、当該複数の操作対象の中から、所定の第3の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、前記記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する親委譲部、
当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、前記記憶部において当該ゲーム装置のモードを親機に更新する親受任部、
を備えることを特徴とするゲーム装置。
【請求項2】
請求項1に記載のゲーム装置であって、
当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第1の距離以内である場合に、前記第1の条件が満たされ、
当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第2の距離以上離れている場合に、前記第2の条件が満たされ、
前記親委譲部が、当該複数の操作対象のうち、当該オブジェクトの位置から最も近い位置にある操作対象を、前記第3の条件を満たす操作対象として、決定し、
前記第1の距離は前記第2の距離以下である、
ことを特徴とするゲーム装置。
【請求項3】
仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムであって、
当該ゲームシステムは、請求項1または2に記載のゲーム装置を複数備え、
当該ゲームシステムは、さらにサーバ装置を備え、
当該サーバ装置は、
当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該サーバ装置のモードが親機と子機とのいずれであるか、が記憶される記憶部、
当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられる操作対象の位置を受信する位置受信部、
前記受信された当該複数の操作対象の位置を、前記記憶部において更新する位置更新部、
当該サーバ装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信するオブジェクト状態受信部、
前記受信された当該オブジェクトの状態を前記記憶部において更新するオブジェクト状態更新部、
当該サーバ装置のモードが親機である場合、当該複数の操作対象の中から、前記第3の条件を満たすいずれかの操作対象を決定し、前記記憶部において当該サーバ装置のモードを子機に更新して、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が親機となるよう通知する親委譲部、
当該サーバ装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置と、所定の時間以上の間通信ができなかった場合、前記記憶部において当該サーバ装置のモードを親機に更新する親代理部、
を備えることを特徴とするゲームシステム。
【請求項4】
請求項3に記載のゲームシステムであって、
当該ゲームシステムにおけるゲームが開始されるとき、当該サーバ装置は親機に、当該複数のゲーム装置は子機に、設定される、
ことを特徴とするゲームシステム。
【請求項5】
請求項3または4に記載のゲームシステムであって、
当該ゲーム装置において、前記自位置送信部は、当該操作対象の位置を、当該サーバ装置に中継させて他のゲーム装置に送信するため、当該操作対象の位置を、当該サーバ装置に送信し、
当該ゲーム装置のモードが親機である場合、前記オブジェクト状態送信部は、当該オブジェクトの状態を、当該サーバ装置に中継させて他のゲーム装置に送信するため、当該オブジェクトの状態を、当該サーバ装置に送信し、
当該サーバ装置において、前記位置受信部は、当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられるユーザに割り当てられる操作対象の位置を受信し、
当該サーバ装置において、前記オブジェクト状態受信部は、当該複数のゲーム装置のうちモードが親機であるゲーム装置から送信された、当該オブジェクトの状態を受信し、
当該サーバ装置は、
当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられるユーザに割り当てられる操作対象の位置を中継するため、前記位置更新部により前記記憶部に記憶される複数の操作対象の位置が更新されると、当該複数の操作対象の位置を、当該複数のゲーム装置に送信する位置送信部、
当該複数のゲーム装置のうちモードが親機であるゲーム装置から送信された、当該オブジェクトの状態を中継するため、前記オブジェクト状態更新部により前記記憶部に記憶されるオブジェクトの状態が更新されると、当該オブジェクトの状態を、当該複数のゲーム装置に送信するオブジェクト状態送信部、
を備え、
当該ゲーム装置において、前記他位置受信部は、当該サーバ装置に中継されて他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信するため、当該サーバ装置から送信された複数の操作対象の位置を受信し、
当該ゲーム装置のモードが子機である場合、前記オブジェクト状態受信部は、当該サーバ装置に中継されて他のゲーム装置から送信された他のユーザに割り当てられる操作対象の状態を受信するため、当該サーバ装置から送信された複数の操作対象の状態を受信する、
ことを特徴とするゲームシステム。
【請求項6】
複数の互いに通信可能なゲーム装置のいずれかにおいて実行されるゲーム制御方法であって、
当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、
当該ゲーム装置は、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親オブジェクト状態更新部、オブジェクト状態送信部、オブジェクト状態受信部、子オブジェクト状態更新部、親委譲部、親受任部を有し、
前記記憶部では、当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれであるか、が記憶され、
前記指示入力受付部が、当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付工程、
前記自位置更新部が、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新工程、
前記自位置送信部が、前記更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信する自位置送信工程、
前記他位置受信部が、当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信する他位置受信工程、
前記他位置更新部が、前記受信された他のユーザに割り当てられる操作対象の位置を、前記記憶部において更新する他位置更新工程、
前記親オブジェクト状態更新部が、当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第1の条件を満たす場合、当該オブジェクトの状態を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する親オブジェクト状態更新工程、
前記オブジェクト状態送信部が、当該ゲーム装置のモードが親機である場合、前記更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信するオブジェクト状態送信工程、
前記オブジェクト状態受信部が、当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信するオブジェクト状態受信工程、
前記子オブジェクト状態更新部が、前記受信された当該オブジェクトの状態を前記記憶部において更新する子オブジェクト状態更新工程、
前記親委譲部が、当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第2の条件を満たし、かつ、当該複数の操作対象の中から、所定の第3の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、前記記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する親委譲工程、
前記親受任部が、当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、前記記憶部において当該ゲーム装置のモードを親機に更新する親受任工程、
を備えることを特徴とするゲーム制御方法。
【請求項7】
複数の互いに通信可能なゲーム装置のいずれかとしてコンピュータを機能させるプログラムであって、
当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、
当該プログラムは、当該コンピュータを、
当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれであるか、が記憶される記憶部、
当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付部、
当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新部、
前記更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信する自位置送信部、
当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信する他位置受信部、
前記受信された他のユーザに割り当てられる操作対象の位置を、前記記憶部において更新する他位置更新部、
当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第1の条件を満たす場合、当該オブジェクトの状態を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する親オブジェクト状態更新部、
当該ゲーム装置のモードが親機である場合、前記更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信するオブジェクト状態送信部、
当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信するオブジェクト状態受信部、
前記受信された当該オブジェクトの状態を前記記憶部において更新する子オブジェクト状態更新部、
当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第2の条件を満たし、かつ、当該複数の操作対象の中から、所定の第3の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、前記記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する親委譲部、
当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、前記記憶部において当該ゲーム装置のモードを親機に更新する親受任部、
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10】
image rotate

【図11】
image rotate