(57)【要約】【課題】多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置等を提供する。【解決手段】ゲーム装置４０１の記憶部５０１には、各操作対象の位置とオブジェクトの位置および状態とが記憶され、指示入力受付部５０２により受け付けられた指示入力に基づいて、自位置更新部５０３が当該ゲーム装置４０１に割り当てられる操作対象の位置を更新し、親機モードのゲーム装置４０１において親オブジェクト状態更新部５０７がオブジェクトの状態を更新し、子機モードのゲーム装置４０１では親機から送信された情報に基づいて子オブジェクト状態更新部５０９がオブジェクトの状態を更新し、親委譲部５１１は、次に親機になるゲーム装置４０１を決定して、当該決定されたゲーム装置４０１のモードを親機にする。【選択図】図５
2011234987.tif 000002
【特許請求の範囲】
【請求項１】
複数の互いに通信可能なゲーム装置のいずれかであって、
当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、
当該ゲーム装置は、
当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれであるか、が記憶される記憶部、
当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付部、
当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新部、
前記更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信する自位置送信部、
当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信する他位置受信部、
前記受信された他のユーザに割り当てられる操作対象の位置を、前記記憶部において更新する他位置更新部、
当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第１の条件を満たす場合、当該オブジェクトの状態を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する親オブジェクト状態更新部、
当該ゲーム装置のモードが親機である場合、前記更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信するオブジェクト状態送信部、
当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信するオブジェクト状態受信部、
前記受信された当該オブジェクトの状態を前記記憶部において更新する子オブジェクト状態更新部、
当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第２の条件を満たし、かつ、当該複数の操作対象の中から、所定の第３の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、前記記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する親委譲部、
当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、前記記憶部において当該ゲーム装置のモードを親機に更新する親受任部、
を備えることを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第１の距離以内である場合に、前記第１の条件が満たされ、
当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第２の距離以上離れている場合に、前記第２の条件が満たされ、
前記親委譲部が、当該複数の操作対象のうち、当該オブジェクトの位置から最も近い位置にある操作対象を、前記第３の条件を満たす操作対象として、決定し、
前記第１の距離は前記第２の距離以下である、
ことを特徴とするゲーム装置。
【請求項３】
仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムであって、
当該ゲームシステムは、請求項１または２に記載のゲーム装置を複数備え、
当該ゲームシステムは、さらにサーバ装置を備え、
当該サーバ装置は、
当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該サーバ装置のモードが親機と子機とのいずれであるか、が記憶される記憶部、
当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられる操作対象の位置を受信する位置受信部、
前記受信された当該複数の操作対象の位置を、前記記憶部において更新する位置更新部、
当該サーバ装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信するオブジェクト状態受信部、
前記受信された当該オブジェクトの状態を前記記憶部において更新するオブジェクト状態更新部、
当該サーバ装置のモードが親機である場合、当該複数の操作対象の中から、前記第３の条件を満たすいずれかの操作対象を決定し、前記記憶部において当該サーバ装置のモードを子機に更新して、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が親機となるよう通知する親委譲部、
当該サーバ装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置と、所定の時間以上の間通信ができなかった場合、前記記憶部において当該サーバ装置のモードを親機に更新する親代理部、
を備えることを特徴とするゲームシステム。
【請求項４】
請求項３に記載のゲームシステムであって、
当該ゲームシステムにおけるゲームが開始されるとき、当該サーバ装置は親機に、当該複数のゲーム装置は子機に、設定される、
ことを特徴とするゲームシステム。
【請求項５】
請求項３または４に記載のゲームシステムであって、
当該ゲーム装置において、前記自位置送信部は、当該操作対象の位置を、当該サーバ装置に中継させて他のゲーム装置に送信するため、当該操作対象の位置を、当該サーバ装置に送信し、
当該ゲーム装置のモードが親機である場合、前記オブジェクト状態送信部は、当該オブジェクトの状態を、当該サーバ装置に中継させて他のゲーム装置に送信するため、当該オブジェクトの状態を、当該サーバ装置に送信し、
当該サーバ装置において、前記位置受信部は、当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられるユーザに割り当てられる操作対象の位置を受信し、
当該サーバ装置において、前記オブジェクト状態受信部は、当該複数のゲーム装置のうちモードが親機であるゲーム装置から送信された、当該オブジェクトの状態を受信し、
当該サーバ装置は、
当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられるユーザに割り当てられる操作対象の位置を中継するため、前記位置更新部により前記記憶部に記憶される複数の操作対象の位置が更新されると、当該複数の操作対象の位置を、当該複数のゲーム装置に送信する位置送信部、
当該複数のゲーム装置のうちモードが親機であるゲーム装置から送信された、当該オブジェクトの状態を中継するため、前記オブジェクト状態更新部により前記記憶部に記憶されるオブジェクトの状態が更新されると、当該オブジェクトの状態を、当該複数のゲーム装置に送信するオブジェクト状態送信部、
を備え、
当該ゲーム装置において、前記他位置受信部は、当該サーバ装置に中継されて他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信するため、当該サーバ装置から送信された複数の操作対象の位置を受信し、
当該ゲーム装置のモードが子機である場合、前記オブジェクト状態受信部は、当該サーバ装置に中継されて他のゲーム装置から送信された他のユーザに割り当てられる操作対象の状態を受信するため、当該サーバ装置から送信された複数の操作対象の状態を受信する、
ことを特徴とするゲームシステム。
【請求項６】
複数の互いに通信可能なゲーム装置のいずれかにおいて実行されるゲーム制御方法であって、
当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、
当該ゲーム装置は、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親オブジェクト状態更新部、オブジェクト状態送信部、オブジェクト状態受信部、子オブジェクト状態更新部、親委譲部、親受任部を有し、
前記記憶部では、当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれであるか、が記憶され、
前記指示入力受付部が、当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付工程、
前記自位置更新部が、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新工程、
前記自位置送信部が、前記更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信する自位置送信工程、
前記他位置受信部が、当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信する他位置受信工程、
前記他位置更新部が、前記受信された他のユーザに割り当てられる操作対象の位置を、前記記憶部において更新する他位置更新工程、
前記親オブジェクト状態更新部が、当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第１の条件を満たす場合、当該オブジェクトの状態を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する親オブジェクト状態更新工程、
前記オブジェクト状態送信部が、当該ゲーム装置のモードが親機である場合、前記更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信するオブジェクト状態送信工程、
前記オブジェクト状態受信部が、当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信するオブジェクト状態受信工程、
前記子オブジェクト状態更新部が、前記受信された当該オブジェクトの状態を前記記憶部において更新する子オブジェクト状態更新工程、
前記親委譲部が、当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第２の条件を満たし、かつ、当該複数の操作対象の中から、所定の第３の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、前記記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する親委譲工程、
前記親受任部が、当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、前記記憶部において当該ゲーム装置のモードを親機に更新する親受任工程、
を備えることを特徴とするゲーム制御方法。
【請求項７】
複数の互いに通信可能なゲーム装置のいずれかとしてコンピュータを機能させるプログラムであって、
当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、
当該プログラムは、当該コンピュータを、
当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれであるか、が記憶される記憶部、
当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける指示入力受付部、
当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する自位置更新部、
前記更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信する自位置送信部、
当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信する他位置受信部、
前記受信された他のユーザに割り当てられる操作対象の位置を、前記記憶部において更新する他位置更新部、
当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第１の条件を満たす場合、当該オブジェクトの状態を、前記受け付けられた指示入力に基づいて、前記記憶部において更新する親オブジェクト状態更新部、
当該ゲーム装置のモードが親機である場合、前記更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信するオブジェクト状態送信部、
当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信するオブジェクト状態受信部、
前記受信された当該オブジェクトの状態を前記記憶部において更新する子オブジェクト状態更新部、
当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第２の条件を満たし、かつ、当該複数の操作対象の中から、所定の第３の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、前記記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する親委譲部、
当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、前記記憶部において当該ゲーム装置のモードを親機に更新する親受任部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することを目的とする。
【背景技術】
【０００２】
近年、オンラインゲーム（ネットワークゲーム）が種々開発されており、人気を博している。このようなオンラインゲームでは、多くのプレイヤがコンピュータネットワークを介して、ゲームの進行を同時に共有することができる。
【０００３】
このようなオンラインゲームの例として、野球やサッカー等のスポーツゲームや、対戦型のアクションゲーム、そして、ＭＭＯ・ＲＰＧ（Massively Multiplayer Online Role Playing Game）と言われるオンライン・ロールプレイングゲーム等が挙げられる。例えばＭＭＯ・ＲＰＧでは、複数のプレイヤがそれぞれのプレイヤキャラクタ（パーティ）を操作し、様々なマップや、洞窟、塔等で表現されたダンジョン（迷路等）の冒険や探索を、同時に共有することができる。
【０００４】
このようなオンラインゲームにおいて、多くのプレイヤが同時にゲームを進行させる上で、より多くのプレイヤを惹き付けるために、ゲームの興趣性を高めたり、よりスムースにゲームを進行させる技術が、様々に開発されている。
【０００５】
例えば、特許文献１に開示されている技術では、ダンジョン等のゲーム領域を最も早く攻略した参加プレイヤに、ゲーム領域を自由に造り替える等の特別な恩恵を与えることで、プレイヤのやる気を引き出し、その結果ゲームに参加するプレイヤの興趣性を向上している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１１２７０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、多人数が参加するオンラインゲームにおいて、複数のユーザが１つのオブジェクトの状態の更新を、スムースに矛盾なく行いたい、という要望がある。
【０００８】
例えば、ＭＭＯ・ＲＰＧにおいて、２人のプレイヤが操作するプレイヤパーティが、同一の敵キャラクタとそれぞれが別々に戦った場合や、同一のダンジョンにそれぞれが入り、アイテムを取得する等、ダンジョンの状態をそれぞれが更新した場合に、２人の間でプレイヤパーティや敵キャラクタ、ダンジョンのデータに矛盾が発生してしまう可能性がある。また、野球やサッカー等のスポーツゲームにおいて、２人のプレイヤが操作する選手が、１つのボールを同時に投げたり蹴ったりできると、２人の間でボールが異なる方向へ飛んでいくことになる。それを防ぐために、排他制御を適切に考慮する、すなわち、適切に定められた一方のプレイヤのみ１対１で敵キャラクタと戦う（ボールを投げる、蹴る）ことができ、他方のプレイヤは戦う（投げる、蹴る）ことができないようにしなければならない。
【０００９】
本発明は、上記のような課題を解決するもので、多人数のユーザによるオブジェクトの状態変化を行うのに好適なゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１１】
本発明の第１の観点に係るゲーム装置は、複数の互いに通信可能なゲーム装置のいずれかであって、当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、当該ゲーム装置は、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親オブジェクト状態更新部、オブジェクト状態送信部、オブジェクト状態受信部、子オブジェクト状態更新部、親委譲部、親受任部を備え、以下のように構成する。
【００１２】
すなわち、記憶部では、当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれかであるか、が記憶される。
【００１３】
たとえば、ＭＭＯ・ＲＰＧにおいては、操作対象は、プレイヤ（ユーザ）が操作するパーティやキャラクタとするのが典型的である。野球ゲームやサッカーゲームにおいては、選手のキャラクタとするのが典型的である。
【００１４】
また、ＭＭＯ・ＲＰＧにおいて、フィールドマップ、街、ダンジョンなどに配置されたアイテムや敵キャラクタが、オブジェクトに相当する。野球ゲームやサッカーゲームにおいては、ボールがオブジェクトに相当する。親機であるか子機であるかは、後述するように、記憶部に記憶される情報に基づいて決定される。
【００１５】
一方、指示入力受付部は、当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける。
【００１６】
ＭＭＯ・ＲＰＧにおいては、フィールドマップ上やダンジョン内でパーティをどこに移動させるか、どのアイテムを使用するかの選択等が指示入力によってゲーム装置に伝達されることになる。
【００１７】
さらに自位置更新部は、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、受け付けられた指示入力に基づいて、記憶部において更新する。
【００１８】
例えば、ＭＭＯ・ＲＰＧでは、２人のプレイヤ（ユーザ）が、それぞれのパーティを操作する。したがって、例えば、フィールドマップ上で同時に、一方のプレイヤは右へ移動し、他方のプレイヤは左へ移動する。このように複数のプレイヤの独自の意志に基づいて、それぞれのパーティは独立して操作されることとなる。
【００１９】
一方、自位置送信部は、更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信し、他位置受信部は、当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信し、他位置更新部は、受信された他のユーザに割り当てられる操作対象の位置を、記憶部において更新する。これは、自分のゲーム装置におけるプレイヤの操作の結果を他のゲーム装置に通知し、他のゲーム装置におけるプレイヤの操作の結果を自分のゲーム装置に反映させて、ゲームを進行させるためである。
【００２０】
このように、他のゲーム装置でされた他のプレイヤの指示入力がゲームに反映されることで、プレイヤは他のプレイヤの行動を見ることができ、互いに競争したり協力したりしてゲームを進めることができる。
【００２１】
一方、親オブジェクト状態更新部は、当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第１条件を満たす場合、当該オブジェクトの状態を、受け付けられた指示入力に基づいて、記憶部において更新する。
【００２２】
上記のようなＭＭＯ・ＲＰＧ等では、アイテムや敵キャラクタ等のオブジェクトに対して、状態変化させることでゲームが進行する。ここで「状態変化」には、ダンジョン内の敵キャラクタを倒したり、街でアイテムを入手したり等、オブジェクトの状態に何らかの変化が生じる種々の状況が考えられる。
【００２３】
本発明では、後述するように、オブジェクトを直近に変化させると予想された一つの操作対象に対する操作が行われるゲーム装置を「親」とし、それ以外のゲーム装置を「子」とする。そして、一人の「親」がオブジェクトの状態変化を行う権限を独占することで、複数のプレイヤが同時期に一つのオブジェクトの状態変化を行おうとする際に、競合による矛盾、二重変更が発生したり、排他制御によるブロック期間が発生してしまわないようにする。
【００２４】
このような「親」となったゲーム装置に割り当てられる操作対象が、アイテムや敵キャラクタ等のオブジェクトに対して、所定の第１条件を満たした場合に、その操作対象は、オブジェクトの状態変化を行えるようになる。
【００２５】
ここで、「所定の第１の条件」とは、最も単純に、操作対象とオブジェクトとの距離としてもよい。あるいは、後述するように、フィールドマップ内の特定のエリアといった、オブジェクトの位置が属する領域に、操作対象の位置が含まれること、を条件にしてもよい。その他、種々の条件が考えられる。
【００２６】
さらに、オブジェクト状態送信部は、当該ゲーム装置のモードが親機である場合、更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信し、オブジェクト状態受信部は、当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信し、子オブジェクト状態更新部は、受信された当該オブジェクトの状態を記憶部において更新する。
【００２７】
上記のように、「親」のゲーム装置によって状態の様子が更新されたオブジェクト（アイテム等）の情報を「子」のゲーム装置にも反映させることで、ゲームを進行させるものである。
【００２８】
さらに、親委譲部は、当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第２の条件を満たし、かつ、当該複数の操作対象の中から、所定の第３の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する。
【００２９】
上記のように、本発明では、一つのオブジェクトの状態変化を一意に行うため、「親」が状態変化を行う権限を独占する。ここで、「親」となったゲーム装置に割り当てられる操作対象は、直近にはオブジェクトの状態を変化させることはないにも拘わらず、依然「親」を独占していたのでは、他のプレイヤは永久にオブジェクトの状態を変化できなくなる。
【００３０】
そこで本発明では、「親」となったゲーム装置に割り当てられる操作対象が、所定の第２条件を満たしたときに、所定の第３の条件を満たした操作対象を操作する他のゲーム装置へ、「親」の権利を委譲する。
【００３１】
そうすることで、オブジェクトを直近に変化させると予想される操作対象を操作するゲーム装置が、「親」となるようにする。
【００３２】
そして、親受任部は、当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、記憶部において当該ゲーム装置のモードを親機に更新する。
【００３３】
したがって、親委譲部と親受任部との間の通知によって、「親」であるゲーム装置は、オブジェクトを更新できる操作対象を操作するプレイヤが利用するゲーム装置の１台に限られることになり、それ以外のゲーム装置は「子」になる。
【００３４】
本発明によれば、複数のプレイヤが同時期に一つのオブジェクトの状態変化を行おうとする際に、競合による矛盾、二重変更が発生したり、排他制御によるブロック期間が発生してしまわないようにできる。これにより、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うことができる。
【００３５】
本発明のゲーム装置は、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第１の距離以内である場合に、第１の条件が満たされ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第２の距離以上離れている場合に、第２の条件が満たされ、親委譲部が、当該複数の操作対象のうち、当該オブジェクトの位置から最も近い位置にある操作対象を、第３の条件を満たす操作対象として、決定し、第１の距離は第２の距離以下である、ことを特徴とするゲーム装置であってもよい。
【００３６】
すなわち、上述した３つの条件をすべて、操作対象とオブジェクトとの距離に基づいて定める、という手法である。例えば、ＭＭＯ・ＲＰＧでは、プレイヤパーティと敵キャラクタとの距離、あるいは、サッカーゲームにおいては、選手とボールの距離、である。
【００３７】
具体的には、「親」であるゲーム装置に割り当てられた操作対象の位置が、目的のオブジェクトの位置から、所定の第１の距離以内である場合に、当該操作対象は、親オブジェクト状態更新部により、当該オブジェクトの状態を変化させることができる。
【００３８】
また、「親」であるゲーム装置に割り当てられた操作対象の位置が、目的のオブジェクトの位置から、第１の距離より大きな所定の第２の距離以上離れた場合に、当該オブジェクトの位置から最も近い位置にある操作対象を決定する。そして、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合に、親委譲部により、当該「親」であるゲーム装置は、当該他のゲーム装置へ、「親」を委譲する。
【００３９】
本発明によれば、多人数が参加するオンラインゲームにおいて、距離という直感的で分かりやすい基準にもとづいて排他制御等を行うことで、多人数のユーザによるオブジェクトの状態変化を適切に行うことができる。
【００４０】
本発明の第２の観点に係るゲームシステムは、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムであって、当該ゲームシステムは、上記ゲーム装置を複数備え、当該ゲームシステムは、さらにサーバ装置を備え、当該サーバ装置は、記憶部、位置受信部、位置更新部、オブジェクト状態受信部、オブジェクト状態更新部、親委譲部、親代理部、を備えたゲームシステムとして構成することができる。
【００４１】
すなわち記憶部では、上述したゲーム装置の記憶部と同様に、当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該サーバ装置のモードが親機と子機とのいずれであるか、が記憶される。
【００４２】
位置受信部は、当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられる操作対象の位置を受信し、位置更新部は、受信された当該複数の操作対象の位置を、記憶部において更新する。
【００４３】
ここで、位置受信部と位置更新部は、上述したゲーム装置における他位置受信部と他位置更新部にそれぞれ相当する。ただし、ゲーム装置では自機以外のゲーム装置からの位置が受信ならびに更新されるのに対し、サーバ装置ではすべてのゲーム装置からの位置が受信ならびに更新される。
【００４４】
また、オブジェクト状態受信部は、当該サーバ装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信し、オブジェクト状態更新部は、受信された当該オブジェクトの状態を記憶部において更新する。
【００４５】
ここで、オブジェクト状態受信部とオブジェクト状態更新部は、上述したゲーム装置におけるオブジェクト状態受信部と子オブジェクト状態更新部にそれぞれ相当する。ただし、ゲーム装置では、自機が子機のときのみオブジェクトの状態を受信ならびに更新するのに対し、サーバ装置では常にオブジェクトの状態を受信ならびに更新する。
【００４６】
また、ここでのサーバ装置は、上述したゲーム装置とは異なり、いずれの操作対象も操作せず、いずれのプレイヤ（ユーザ）も割り当てられていない。すなわち、プレイヤからの指示入力受付部を持たず、操作する操作対象がないため、自位置更新部および自位置送信部も持たない。また親オブジェクト状態更新部とオブジェクト状態送信部に相当するものも持たない。
【００４７】
さらに親委譲部は、当該サーバ装置のモードが親機である場合、当該複数の操作対象の中から、第３の条件を満たすいずれかの操作対象を決定し、記憶部において当該サーバ装置のモードを子機に更新して、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が親機となるよう通知する。
【００４８】
ここでの親委譲部は、上述したゲーム装置での親委譲部に相当する。ただし、ゲーム装置では、操作する操作対象がオブジェクトから所定の条件を満たしたときに、「親」となる権利を委譲したが、サーバ装置は操作する操作対象を持たないため、常にオブジェクトから最も近い操作対象に、「親」となる権利を委譲することになる。
【００４９】
また親代理部は、当該サーバ装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置と、所定の時間以上の間通信ができなかった場合、記憶部において当該サーバ装置のモードを親機に更新する。
【００５０】
サーバ装置は一旦「親」になる権利を委譲した後は、通常にゲームが行われている限りは再び「親」になることはない。しかし、「親」であったゲーム装置が突然ダウンする等、何らかの理由により、複数のゲーム装置のうちいずれのゲーム装置も「親」でない状況が発生しうる。そのような状況では、「親」となる権利を委譲するゲーム装置がないため、いずれのゲーム装置も「親」になることができなくなる。すなわち、上述したＭＭＯ・ＲＰＧにおいては、アイテムを取得したりする等の、オブジェクトの状態変化を行える操作対象が存在しなくなり、ゲームの進行に支障をきたすことになる。
【００５１】
そこで、本発明でのサーバ装置は、所定の時間以上の間、「親」であるゲーム装置と通信ができなかった場合には、サーバ装置自身が「親」の代理をする。そうすることで、サーバ装置は、上述した親委譲部により、オブジェクトから最も近い操作対象に、「親」となる権利を委譲し、複数のゲーム装置のうちいずれかのゲーム装置が「親」である状況を持続することができる。
【００５２】
これらの構成により、複数のゲーム装置とサーバ装置が互いに通信することで、複数のゲーム装置のうちいずれかのゲーム装置が「親」である状況を持続することができ、安定してゲームを進行することができるようになる。
【００５３】
また、本発明のゲームシステムにおいて、当該ゲームシステムにおけるゲームが開始されるとき、当該サーバ装置は親機に、当該複数のゲーム装置は子機に、設定されるように構成することもできる。
【００５４】
すなわち、ゲームが開始される時点では、ゲームシステムに接続された複数のゲーム装置のうち、通常いずれのゲーム装置も「親」ではないと考えられる。そのため、ゲームが開始される時点では、まずサーバ装置が「親」となり、また、複数のゲーム装置はいずれも「子」となる。そして、サーバ装置の親委譲部により、いずれかのゲーム装置に「親」の権利が委譲される。
【００５５】
これらの構成により、ゲームが開始される時点において、サーバ装置ならびに複数のゲーム装置のいずれも「親」でない状況を避けることができ、安定してゲームを開始することができるようになる。
【００５６】
また、本発明のゲームシステムにおいて、当該サーバ装置は、位置送信部、オブジェクト状態送信部、を備えたゲームシステムとして、以下のように構成することができる。
【００５７】
すなわち、当該ゲーム装置において、自位置送信部は、当該操作対象の位置を、当該サーバ装置に中継させて他のゲーム装置に送信するため、当該操作対象の位置を、当該サーバ装置に送信し、当該ゲーム装置のモードが親機である場合、オブジェクト状態送信部は、当該オブジェクトの状態を、当該サーバ装置に中継させて他のゲーム装置に送信するため、当該オブジェクトの状態を、当該サーバ装置に送信する。
【００５８】
また、当該サーバ装置において、位置受信部は、当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられるユーザに割り当てられる操作対象の位置を受信し、オブジェクト状態受信部は、当該複数のゲーム装置のうちモードが親機であるゲーム装置から送信された、当該オブジェクトの状態を受信する。
【００５９】
また、当該サーバ装置において、位置送信部は、当該複数のゲーム装置から送信された、当該複数のゲーム装置に割り当てられるユーザに割り当てられる操作対象の位置を中継するため、位置更新部により記憶部に記憶される複数の操作対象の位置が更新されると、当該複数の操作対象の位置を、当該複数のゲーム装置に送信する。
【００６０】
一方、当該サーバ装置において、オブジェクト状態送信部は、当該複数のゲーム装置のうちモードが親機であるゲーム装置から送信された、当該オブジェクトの状態を中継するため、オブジェクト状態更新部により記憶部に記憶されるオブジェクトの状態が更新されると、当該オブジェクトの状態を、当該複数のゲーム装置に送信する。
【００６１】
さらに、当該ゲーム装置において、他位置受信部は、当該サーバ装置に中継されて他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信するため、当該サーバ装置から送信された複数の操作対象の位置を受信し、当該ゲーム装置のモードが子機である場合、オブジェクト状態受信部は、当該サーバ装置に中継されて他のゲーム装置から送信された他のユーザに割り当てられる操作対象の状態を受信するため、当該サーバ装置から送信された複数の操作対象の状態を受信する。
【００６２】
具体的には、本発明は、サーバ装置と接続されたゲーム装置が２台以上の場合を想定したものであり、各操作対象の位置ならびにオブジェクトの状態の情報は、一旦サーバ装置に集められ、その後に各ゲーム装置に配布される、という手法である。
【００６３】
なお、「各操作対象の位置ならびにオブジェクトの状態の情報の配布」と「次に親機となるゲーム装置の通知」とは、同時に（１つの通信単位で）行うと、ゲーム装置で記憶される位置（状態）・モードの間に矛盾が生じる可能性が低くなると考えられる。
【００６４】
本発明によれば、サーバ装置と接続されたゲーム装置が２台以上の場合に、相互の通信をスムースに行うとともに、互いが記憶する情報に矛盾が生じてしまう可能性をできるだけ低減することができるようになる。
【００６５】
本発明の第３の観点に係るゲーム制御方法は、複数の互いに通信可能なゲーム装置のいずれかにおいて実行されるゲーム制御方法であって、当該ゲーム装置は、仮想空間内で複数の操作対象が操作され、一つのオブジェクトの状態が更新されるゲームシステムに含まれ、当該ゲーム装置は、記憶部、指示入力受付部、自位置更新部、自位置送信部、他位置受信部、他位置更新部、親オブジェクト状態更新部、オブジェクト状態送信部、オブジェクト状態受信部、子オブジェクト状態更新部、親委譲部、親受任部を有し、
記憶部では、当該複数の操作対象のそれぞれの位置と、当該オブジェクトの位置および状態と、が記憶され、当該ゲーム装置のモードが親機と子機とのいずれであるか、が記憶され、指示入力受付工程、自位置更新工程、自位置送信工程、他位置受信工程、他位置更新工程、親オブジェクト状態更新工程、オブジェクト状態送信工程、オブジェクト状態受信工程、子オブジェクト状態更新工程、親委譲工程、親受任工程を備え、以下のように構成する。
【００６６】
指示入力受付工程では、指示入力受付部が、当該ゲーム装置に割り当てられるユーザからの指示入力を受け付ける。
【００６７】
自位置更新工程では、自位置更新部が、当該複数の操作対象のうち当該ユーザに割り当てられる操作対象が配置される位置を、受け付けられた指示入力に基づいて、記憶部において更新する。
【００６８】
自位置送信工程では、自位置送信部が、更新された当該ユーザに割り当てられる操作対象の位置を、当該複数のゲーム装置のうち、他のゲーム装置に送信する。
【００６９】
他位置受信工程では、他位置受信部が、当該複数のゲーム装置のうち、他のゲーム装置から送信された他のユーザに割り当てられる操作対象の位置を受信する。
【００７０】
他位置更新工程では、他位置更新部が、受信された他のユーザに割り当てられる操作対象の位置を、記憶部において更新する。
【００７１】
親オブジェクト状態更新工程では、親オブジェクト状態更新部が、当該ゲーム装置のモードが親機であり、かつ、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第１の条件を満たす場合、当該オブジェクトの状態を、受け付けられた指示入力に基づいて、記憶部において更新する。
【００７２】
オブジェクト状態送信工程では、オブジェクト状態送信部が、当該ゲーム装置のモードが親機である場合、更新された当該オブジェクトの状態を、当該複数のゲーム装置のうち、他のゲーム装置に送信する。
【００７３】
オブジェクト状態受信工程では、オブジェクト状態受信部が、当該ゲーム装置のモードが子機である場合、当該複数のゲーム装置のうち、モードが親機であるゲーム装置から送信された当該オブジェクトの状態を受信する。
【００７４】
子オブジェクト状態更新工程では、子オブジェクト状態更新部が、受信された当該オブジェクトの状態を記憶部において更新する。
【００７５】
親委譲工程では、親委譲部が、当該ゲーム装置のモードが親機である場合、当該ゲーム装置に割り当てられる操作対象の位置と、当該オブジェクトの位置とが、所定の第２の条件を満たし、かつ、当該複数の操作対象の中から、所定の第３の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置が他のゲーム装置である場合、記憶部において当該ゲーム装置のモードを子機に更新して、当該他のゲーム装置が親機となるよう通知する。
【００７６】
親受任工程では、親受任部が、当該ゲーム装置のモードが子機である場合、当該他のゲーム装置のいずれかから親機となるよう通知されると、記憶部において当該ゲーム装置のモードを親機に更新する
【００７７】
本発明の第４の観点に係るプログラムは、コンピュータを、上記のゲーム装置の各部として機能させ、コンピュータに、上記のゲーム制御方法の各工程を実行させるように構成する。
【００７８】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
【００７９】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００８０】
本発明によれば、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【００８１】
【図１】本発明のゲーム装置等の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。
【図２】情報処理装置に接続されるコントローラの外観を示す説明図である。
【図３】本発明における多人数参加型のオンラインゲームの画面表示の例を示す典型的な模式図である。
【図４】実施形態１に係るゲームシステム全体の概要構成を示す模式図である。
【図５】実施形態１に係るゲーム装置の構成概要を示す模式図である。
【図６】実施形態１に係るサーバ装置の構成概要を示す模式図である。
【図７】各ゲーム装置において実行されるゲーム制御処理の制御の流れを示すフローチャートである。
【図８】サーバ装置において実行されるサーバ制御処理の制御の流れを示すフローチャートである。
【図９Ａ】オブジェクトと操作対象との位置関係の例を示す模式図である。
【図９Ｂ】オブジェクトと操作対象との位置関係の別の例を示す模式図である。
【図１０】実施形態３に係るゲーム装置の構成概要を示す模式図である。
【図１１】実施形態３に係るサーバ装置の構成概要を示す模式図である。
【発明を実施するための形態】
【００８２】
以下に、本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００８３】
（実施形態１）
図１は、プログラムを実行することにより、本発明のゲーム装置等の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００８４】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、マイク１１１と、を備える。
【００８５】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置等が実現される。
【００８６】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００８７】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００８８】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００８９】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【００９０】
図２は、コントローラ１０５の外観を示す説明図である。以下、本図を参照して説明する。
【００９１】
コントローラ１０５の左方には、上下左右を示す操作入力を行うのに利用される↑ボタン２０１、↓ボタン２０２、←ボタン２０３、→ボタン２０４が配置されている。
【００９２】
右方には、決定操作入力を行うのに利用される○ボタン２０５、取消操作入力を行うのに利用される×ボタン２０６、メニュー表示等の指示入力を行うのに利用される△ボタン２０７、その他の指示入力を行うのに利用される□ボタン２０８が配置されている。
【００９３】
中央には、ＳＥＬＥＣＴボタン２０９、ＳＴＡＲＴボタン２１０のほか、アナログ入力の開始・停止を指示するためのＡＮＡＬＯＧボタン２１１、および、アナログ入力が有効か無効かを表示するためのインジケータ２１２が配置されている。
【００９４】
また中央下部には、上下左右に限らない方向に大きさを伴う指示入力を行うためのジョイスティック２１３、２１４が配置されている。
【００９５】
さらに、上方には、各種の指示入力に用いることができるＬ１ボタン２１５、Ｌ２ボタン２１６、Ｒ１ボタン２１７、Ｒ２ボタン２１８が配置されている。
【００９６】
コントローラ１０５の各ボタン２０１〜２０８、２１５〜２１８には、圧力センサが配備され、アナログ入力が有効となっている場合には、いずれのボタンが押圧操作されているかを検知することができるほか、ユーザの押圧操作の圧力の大きさを０〜２５５の２５６段階で得ることができる。
【００９７】
コントローラ１０５のジョイスティック２１３、２１４は、ひずみゲージが配備され、これらがどの方向にどれだけ曲げられているか、を検知することができる。
【００９８】
図１に戻り、インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００９９】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【０１００】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【０１０１】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【０１０２】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【０１０３】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【０１０４】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【０１０５】
インターネット内のＳＮＴＰサーバにＮＩＣ  １０９を介して接続し、ここから情報を得ることによって現在の日時情報を得るようにすることができる。また、各種のネットワーク通信ゲームやＳＮＳの管理サーバ装置が、ＳＮＴＰサーバと同様の機能を果たすように構成設定してもよい。
【０１０６】
一旦日時情報が得られれば、情報処理装置１００が動作中はタイマ割込によりリアルタイムクロックと同様の機能を果たすカウンタを更新することとしてもよいし、情報処理装置１００がリアルタイムクロックを有する場合は、その日時情報を修正する態様を採用することもできる。この際に、修正するか否かをユーザに問い合わせてもよい。内蔵するリアルタイムクロックを修正しない場合には、リアルタイムクロックの情報と実際にサーバから得られた情報との差分を保持し、日時情報が必要な場合には、リアルタイムクロックから得られた情報にその差分を加算すればよい。
【０１０７】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【０１０８】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【０１０９】
さらに、情報処理装置１００には、インターフェース１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【０１１０】
情報処理装置１００をカラオケ装置として利用する場合には、ＤＶＤ−ＲＯＭから読み出した音声データ、もしくは、ＮＩＣ  １０９を介してコンピュータ通信網から取得した音声データを伴奏データとし、マイクから入力された音声データを歌唱データとして、伴奏データと歌唱データを音声処理部１１０がミキシングし、スピーカから出力する。また、スピーカにかえて、ヘッドホン（図示せず）やイヤフォン（図示せず）を用いて、音声を出力させることもできる。
【０１１１】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【０１１２】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置１００にかえて、汎用のパーソナルコンピュータを利用することもできる。
【０１１３】
なお、リアルタイムクロックにより、本体の電源がオフにされても現在の日時情報を適切に更新できるようにしても良いが、ネットワーク通信ゲームの形態によっては、各ユーザ管理システムが管理する時刻情報にずれがあると、正しくゲームが進行しないこと、などの要因があるため、本発明を適用するにあたっては、ＮＩＣ  １０９を介して接続された各種のサーバから、ゲームを開始する際に、現在の日時情報を得ることとして、時間合わせをすることとしても良い。
【０１１４】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、同様の処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【０１１５】
たとえば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【０１１６】
図３は、本実施形態に係る多人数参加型のオンラインゲームの画面表示の例を示す典型的な模式図である。以下、本図を参照して説明する。
【０１１７】
本図では例として、ＭＭＯ・ＲＰＧを取りあげ、仮想空間３０１内のフィールドマップ３０２上に、複数の操作対象（プレイヤパーティ３０３（ここでは３０３ａ、３０３ｂ、３０３ｃ、３０３ｄの４人））、さらにオブジェクト（敵キャラクタ３０４）が表示されている。
【０１１８】
ここで、本発明においては、多人数参加型のオンラインゲームとしてＭＭＯ・ＲＰＧに限定されるものではない。他の例としては、野球やサッカー等のスポーツゲームや、対戦型アクションゲーム等、種々が考えられる。例えばサッカーゲームの場合、典型的には各操作対象は選手として、オブジェクトはボールとなる。
【０１１９】
本図に戻って、操作対象であるプレイヤパーティ３０３ａ〜３０３ｄは、それぞれ異なるゲーム装置が対応付けられており、当該ゲーム装置をプレイするプレイヤによって操作される。
【０１２０】
具体的には、プレイヤパーティ３０３ａに対応付けられるゲーム装置を操作するプレイヤが、コントローラ１０５の↑ボタン２０１を押圧操作すると、プレイヤパーティ３０３ａがフィールドマップ３０２上を、上方向へ移動する。一方で、プレイヤパーティ３０３ｂに対応付けられるゲーム装置を操作するプレイヤが、コントローラ１０５の○ボタン２０５を押圧操作すると、プレイヤパーティ３０３ｂがフィールドマップ３０２上で、当該○ボタン２０５に対応付けられた動作（敵キャラクタ３０４へ剣を振って攻撃する、アイテムを使う等）を行う。
【０１２１】
ここで、敵キャラクタ３０４（オブジェクト）は、仮想空間３０１内に固定されるものに限られず、移動してもよい。例えばサッカーゲームの場合を考えると、ボール（オブジェクト）は動き回るのが通常である。
【０１２２】
図４は、本実施形態に係るゲームシステム全体の概要構成を示す模式図である。以下、本図を参照して説明する。
【０１２３】
本図に示すように、複数のゲーム装置４０１が、インターネット等のコンピュータ通信網４０３を介して通信可能に接続され、さらにサーバ装置４０２がシステム全体を管理する。このゲーム装置４０１は、上記の情報処理装置１００によって実現される。
【０１２４】
各ゲーム装置４０１は、同一の仮想空間３０１（ゲーム空間）を共有し、ゲームに参加する各プレイヤ（参加プレイヤ）がそれぞれ異なる操作対象（キャラクタやパーティ）を操作可能となっている。
【０１２５】
ゲーム装置４０１のそれぞれは、自身を操作するプレイヤの指示入力（コントローラ１０５の各種ボタン２０１〜２１８の押圧操作）に基づいて、当該プレイヤが操作する操作対象（キャラクタやパーティ）の位置の更新等を行う。
【０１２６】
また、ゲーム装置４０１のうち、子機は、更新された位置の情報を親機に通知する。親機は、子機から通知された位置を集積して、オブジェクト（敵キャラクタ３０４）の状態および全操作対象（各プレイヤパーティ３０３）の最新の位置を、適当なタイミングで子機に通知し、子機と親機で、オブジェクトの状態と操作対象の位置の情報に、通信遅延に基づく齟齬ができるだけ生じないように、情報の共有を図る。
【０１２７】
また、ゲーム装置４０１のそれぞれには、互いに重複しない識別子が割り当てられており、これによってゲーム装置４０１を区別することができる。
【０１２８】
図５は、本実施形態に係るゲーム装置４０１の構成概要を示す模式図である。以下、本図を参照して説明する。
【０１２９】
本実施形態に係るゲーム装置４０１は、記憶部５０１、指示入力受付部５０２、自位置更新部５０３、自位置送信部５０４、他位置受信部５０５、他位置更新部５０６、親オブジェクト状態更新部５０７、オブジェクト状態送信部５０８、子オブジェクト状態更新部５０９、オブジェクト状態受信部５１０、親委譲部５１１、親受任部５１２を備える。
【０１３０】
記憶部５０１は、ＲＡＭ  １０３等によって構成され、以下の情報を記憶する。
（ａ）各操作対象と、当該操作対象に割り当てられるゲーム装置４０１およびサーバ装置４０２の識別子。上記の例では、プレイヤパーティ３０３ａには、プレイヤパーティ３０３ａを操作するプレイヤが利用するゲーム装置４０１の識別子が割り当てられ、プレイヤパーティ３０３ｂには、プレイヤパーティ３０３ｂを操作するプレイヤが利用するゲーム装置４０１の識別子が割り当てられ、同様に、プレイヤパーティ３０３ｃおよび３０３ｄには、プレイヤパーティ３０３ｃおよび３０３ｄを操作するプレイヤが利用するゲーム装置４０１の識別子がそれぞれ割り当てられる。また、サーバ装置４０２もまた、各ゲーム装置４０１とは異なる独自の識別子が割り当てられる。
（ｂ）各操作対象の位置の最新の値、および、当該最新の値に更新された更新時刻。本例では、コントローラ１０５の操作に基づいてプレイヤパーティ３０３ａ、３０３ｂ、３０３ｃ、３０３ｄの位置を更新するゲーム装置４０１は互いに異なるため、通信遅延を考慮して、最新の更新時刻も情報として記憶することとしている。この時刻は、ゲームが開始されてからの経過時間を、各ゲーム装置４０１にて測定したものである。
（ｃ）オブジェクトの位置および状態の最新の値、および、当該最新の値に更新された更新時刻。プレイヤパーティ３０３ａ、３０３ｂ、３０３ｃ、３０３ｄの場合と同様に、親機から子機へ敵キャラクタ３０４の情報が伝達されるのには通信遅延があるため、時刻も考慮する。
（ｄ）現在親機となっているゲーム装置４０１およびサーバ装置４０２の通信識別子。各ゲーム装置４０１およびサーバ装置４０２は、記憶されている通信識別子と自身の通信識別子とを比較して、これらが等しければ、現在のモードは親機であり、異なっていれば、現在のモードは子機である、と判断することができる。
（ｅ）その他の情報。例えば、野球ゲームやサッカーゲーム等のように、一人のプレイヤが複数の操作対象を操作する場合には、操作対象のいずれかを「現在注目している操作対象」に設定して、プレイヤの指示入力は、当該操作対象に反映させることとし、それ以外の操作対象は、ＣＰＵ  １０１が所定の自動制御アルゴリズムに基づいて、自動的に制御を行うのが一般的である。そこで、当該ゲーム装置４０１において「現在注目している操作対象」がいずれであるか、を記憶部５０１に記憶させておく。なお、以下では、理解を容易にするため、特に明記しない限り、一人のプレイヤは一つの操作対象を操作するものとして説明を行う。
【０１３１】
さらに、図６は、本実施形態に係るサーバ装置４０２の構成概要を示す模式図である。以下、本図を参照して説明する。
【０１３２】
本実施形態に係るサーバ装置４０２は、記憶部６０１、位置受信部６０５、位置更新部６０６、オブジェクト状態更新部６０９、オブジェクト状態受信部６１０、親委譲部６１１、親代理部６１２を備える。
【０１３３】
これらの機能はそれぞれ、ゲーム装置４０１における、記憶部５０１、他位置受信部５０５、他位置更新部５０６、子オブジェクト状態更新部５０９、オブジェクト状態受信部５１０、親委譲部５１１の機能に準ずる。なお、ゲーム装置４０１での親受任部５１２は、親委譲部５１１からの通知を受けて当該ゲーム装置４０１を親機とする機能であるが、それに対しサーバ装置４０２での親代理部６１２は、モードが親機であるゲーム装置４０１と、所定の時間以上の間通信ができなかった場合に、当該サーバ装置４０２を親機とする。
【０１３４】
図７は、各ゲーム装置４０１において実行されるゲーム制御処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１３５】
本処理は、コンピュータ通信網４０３によって、ゲーム装置４０１同士におけるプレイが開始可能となることを契機に始められる。
【０１３６】
プレイが開始されると、ＣＰＵ  １０１は、ＲＡＭ  １０３（記憶部５０１）に記憶される情報を適切に初期化するとともに、現在親機となっている装置の通信識別子を、サーバ装置４０２の識別子に更新する（ステップＳ７０１）。すなわち、プレイ開始時点では、いずれかの装置を親機に設定する必要があるが、ここではサーバ装置４０２を親機とし、各ゲーム装置４０１は、プレイ開始時点では子機となる。
【０１３７】
次に、ＣＰＵ  １０１は、コントローラ１０５の↑ボタン２０１、↓ボタン２０２、←ボタン２０３、→ボタン２０４が押圧操作されているかを調べる（ステップＳ７０２）。したがって、コントローラ１０５は、指示入力受付部５０２として機能する。
【０１３８】
そして、押圧操作に従って、記憶部５０１において、当該ゲーム装置４０１のプレイヤに割り当てられた操作対象の位置を更新する（ステップＳ７０３）。したがって、ＣＰＵ  １０１は、コントローラ１０５やＲＡＭ  １０３等と共働して、自位置更新部５０３として機能する。
【０１３９】
ついで、ＣＰＵ  １０１は、現在のモードが親機であるか子機であるか、を判定する（ステップＳ７０４）。子機である場合（ステップＳ７０４；子機）、ＣＰＵ  １０１は、記憶部５０１に記憶されている操作対象のうち、当該操作対象の位置、更新時刻を取得して（ステップＳ７０５）、当該自操作対象に取得された情報を対応付けて指定する親宛パケットを生成し（ステップＳ７０６）、親機に送信する（ステップＳ７０７）。
【０１４０】
したがって、親宛パケットには、当該ゲーム装置４０１を利用するプレイヤに割り当てられた自操作対象の位置の最新の値が、当該最新の値に更新された更新時刻（ゲーム開始時点からの経過時間）とともに、指定されることになる。
【０１４１】
また、現在の親機がいずれのゲーム装置４０１またはサーバ装置４０２であるかは、前述のように、記憶部５０１に記憶される情報を参照することで調べることが可能である。
【０１４２】
ついで、ＣＰＵ  １０１は、ＮＩＣ  １０９を監視して、親機のゲーム装置４０１から、後述する子宛パケットが到達しているか否かを調べる（ステップＳ７０８）。到達していなければ（ステップＳ７０８；Ｎｏ）、ＣＰＵ  １０１は、記憶部５０１に記憶されている操作対象およびオブジェクトの位置および状態の情報に基づいて、図３に示すような画像をＲＡＭ  １０３に生成する（ステップＳ７０９）。この際に、後述するように、通信遅延や位置の更新時刻と現在時刻との差を考慮した補正処理を、適宜行うこととしても良い。
【０１４３】
垂直同期割込が生じるまで待機してから（ステップＳ７１０）、画像処理部１０７を制御して生成された画像をモニタに転送して表示させ（ステップＳ７１１）、ステップＳ７０２に戻る。
【０１４４】
さて、現在のモードが親機である場合（ステップＳ７０４；親機）、ＣＰＵ  １０１は、ＮＩＣ  １０９を監視して、いずれかの子機のゲーム装置４０１から親宛パケットが到達しているか否かを調べる（ステップＳ７１２）。到達していなければ（ステップＳ７１２；Ｎｏ）、ステップＳ７１５に進む。
【０１４５】
一方、到達していれば（ステップＳ７１２；Ｙｅｓ）、当該親宛パケットをすべて受信して（ステップＳ７１３）、当該親宛パケットに指定されている操作対象がいずれであるか、および、当該操作対象の位置、更新時刻により、記憶部５０１の情報を更新する（ステップＳ７１４）。
【０１４６】
なお、通信遅延等の影響で、同じゲーム装置４０１から送信された親宛パケットの順序が前後して到着することがありうるが、その場合には、パケット内に指定されている更新時刻と、記憶部５０１に記憶されている更新時刻とを比較して、前者が後者よりも未来の時刻である場合にのみ、更新を行うこととすれば、最新の値が維持される。
【０１４７】
ついで、親機は、記憶部５０１に記憶されている当該操作対象の位置と、オブジェクトの位置とが、所定の第１の条件を満たすかどうかを判定する（ステップＳ７１５）。
【０１４８】
所定の第１の条件を満たす場合（ステップＳ７１５；Ｙｅｓ）、指示入力受付部５０２により、コントローラ１０５の○ボタン２０５、×ボタン２０６、△ボタン２０７、□ボタン２０８等の操作状況を受付け（ステップＳ７１６）、押圧操作の内容に応じてオブジェクトの状態を更新する（ステップＳ７１７）し、ステップＳ７２０へ移行する。ここで、ＣＰＵ  １０１は、ＲＡＭ  １０３と共働して、親オブジェクト状態更新部５０７として機能する。
【０１４９】
具体的に、ＭＭＯ・ＲＰＧにおいて、アイテムを取得したり、敵キャラクタ３０４に攻撃したり等である。典型的には、これらの行動をするためには、操作対象（プレイヤやパーティ）を目的のオブジェクト（アイテムや敵キャラクタ３０４）に近づけた上で、○ボタン２０５や×ボタン２０６等の押圧操作をすることにより、目的のオブジェクト（アイテムや敵キャラクタ３０４）に種々の影響を与える。そのため、本発明では、「親」であるパーティの位置と、アイテムや敵キャラクタ３０４の位置とが、「所定の第１の条件」を満たしたときのみ、当該アイテムや敵キャラクタ３０４の状態を更新できるようにする。
【０１５０】
「所定の第１の条件」とは、最も単純に、操作対象とオブジェクトとの距離としてもよい。あるいは、フィールドマップ３０２内の特定のエリアといった、オブジェクトの位置が属する領域に、操作対象の位置が含まれること、を条件にしてもよい。その他、種々の条件が考えられる。
【０１５１】
一方、所定の第１の条件を満たさない場合（ステップＳ７１５；Ｎｏ）、親機であるゲーム装置４０１は、自身の「親」を他のゲーム装置４０１へ委譲するかどうかを判断するため、次の条件を判定する（ステップＳ７１８）。
（ａ）親機であるゲーム装置４０１に割り当てられる操作対象の位置と、オブジェクトの位置とが、所定の第２の条件を満たすかどうか。
（ｂ）複数の操作対象の中から、所定の第３の条件を満たすいずれかの操作対象を決定し、当該決定された操作対象が割り当てられるユーザが割り当てられるゲーム装置４０１が他のゲーム装置４０１であるかどうか。
【０１５２】
すなわち、具体的に上述したＭＭＯ・ＲＰＧにおいて、「親」である操作対象（プレイヤパーティ３０３）が、目的のオブジェクト（敵キャラクタ３０４）を更新する権利を独占したままの状態では、いつまでたっても「子」である他のプレイヤパーティ３０３は、当該オブジェクトを更新することができない。そのため、親機であるゲーム装置４０１は、当該オブジェクトの近傍に位置する他の操作対象を操作するゲーム装置４０１へ、委譲するかどうかを判断する。
【０１５３】
典型的には、「親」であるプレイヤパーティ３０３が敵キャラクタ３０４から離れたとき、当該敵キャラクタ３０４に攻撃する等の影響を与えることは少ないと考えられる。そのため、本発明では、「親」であるパーティの位置と、敵キャラクタ３０４の位置とが、「所定の第２の条件」を満たしたときを、「親」を委譲する条件の１つとする。
【０１５４】
「所定の第２の条件」とは、上述した「所定の第１の条件」と同じように、操作対象とオブジェクトとの距離としてもよいし、あるいは、フィールドマップ３０２内の特定のエリアといった、オブジェクトの位置が属する領域に、操作対象の位置が含まれること、を条件にしてもよい。この場合、「所定の第２の条件」における距離や「所定の第２の条件」における領域は、「所定の第１の条件」における距離や「所定の第１の条件」における領域よりも、大きいことが典型的である。
【０１５５】
一方で、複数の操作対象を操作するゲーム装置４０１のうち、どの操作対象を操作するゲーム装置４０１に、「親」を委譲するかを判定しなければならない。ここで本発明では、「所定の第３の条件」を満たす操作対象を操作するゲーム装置４０１を決定し、当該ゲーム装置４０１が他のゲーム装置４０１であるときを、「親」を委譲する条件の２つ目とする。
【０１５６】
「所定の第３の条件」とは、オブジェクトから最も近くに位置する操作対象、としてもよいし、あるいは、サッカーゲーム等において、ボール（オブジェクト）が移動する方向に位置する操作対象、とすることも考えられる。その他、種々の条件が考えられる。
【０１５７】
ここで、上記の判定を満たさない場合（ステップＳ７１８；Ｎｏ）、ここでは何も行わず、ステップＳ７２０へ移行する。
【０１５８】
一方、上記の判定を満たす場合（ステップＳ７１８；Ｙｅｓ）、現在親機となっている装置の通信識別子を、委譲されるべき他のゲーム装置４０１の識別子へ、更新する（ステップＳ７１９）。すなわち、自機を親機から子機へ、オブジェクトの近傍に位置する操作対象を操作する他のゲーム装置４０１を、子機から親機へ、更新する。
【０１５９】
そして、ステップＳ７２０では、ＣＰＵ  １０１は、以下の情報を指定した子宛パケットをＲＡＭ  １０３内に生成する（ステップＳ７２０）。
（ａ）記憶部５０１に記憶されている全操作対象の位置および更新時刻。
（ｂ）オブジェクトの状態および更新時刻。これらは、ステップＳ７１７を通った場合にのみ、更新されている。
（ｃ）指定された操作対象に割り当てられているゲーム装置４０１の識別子。この情報は、次に親機となるべきゲーム装置４０１を意味する。これらは、ステップＳ７１９を通った場合にのみ、更新されている。
【０１６０】
そして、生成された子宛パケットを、子機であるゲーム装置４０１に送信する（ステップＳ７２１）。
【０１６１】
さて、親機のゲーム装置４０１のステップＳ７２１において送信された子宛パケットは、子機のゲーム装置４０１では、ステップＳ７０８で到達判定がされる。そこで、子宛パケットが到達している場合（ステップＳ７０８；Ｙｅｓ）、当該子宛パケットをすべて受信して（ステップＳ７２２）、当該子宛パケットに指定されている操作対象がいずれであるか、および、当該操作対象の位置、更新時刻、オブジェクトの状態、更新時刻、ならびに、次に親機となるべきゲーム装置４０１の識別子により、記憶部５０１の情報を更新して（ステップＳ７２３）、ステップＳ７０９に進む。
【０１６２】
すなわち、子機であるゲーム装置４０１を操作しているプレイヤは、他のゲーム装置４０１によって操作される操作対象が移動している様子を、また、親機であるゲーム装置４０１に操作される操作対象によってオブジェクトの状態が変化している様子を、観察することができる。
【０１６３】
具体的に、ＭＭＯ・ＲＰＧでは、「子」であるプレイヤパーティ３０３（操作対象）は、敵キャラクタ３０４（オブジェクト）に攻撃する等のアクションを与えることはできないが、「親」であるプレイヤパーティ３０３が敵キャラクタ３０４に攻撃している様子を観察することは、可能である。また、サッカーゲームでは、「子」である選手（操作対象）は、ボール（オブジェクト）を蹴る等のアクションをアクションを与えることはできないが、「親」である選手がボールを蹴って、ボールの位置や速度が変化している様子を観察することは、可能である。
【０１６４】
このように、本発明においては、親機では、ステップＳ７１９における識別子により、子機では、子宛パケットに指定される識別子により、記憶部５０１の「現在親機となっているゲーム装置４０１の識別子」が更新されることで行われる。
【０１６５】
なお、通信遅延等の影響等で、子機のゲーム装置４０１に割り当てられている操作対象の位置が更新されていることがありうるが、その場合には、子宛パケット内に指定されている更新時刻と、記憶部５０１に記憶されている更新時刻とを比較して、前者が後者よりも未来の時刻である場合にのみ、更新を行うこととしても良いし、子宛パケット内に記憶されている値を優先して使用することとしても良いし、位置および更新時刻の２つのセット（一方は記憶部５０１、他方は子宛パケット）から、現在時刻における位置を内分・外挿により推定して、これらの値で更新することとしても良い。
【０１６６】
このように、ＣＰＵ  １０１は、ＮＩＣ  １０９、ＲＡＭ  １０３等と共働して、自位置送信部５０４、他位置受信部５０５、他位置更新部５０６、オブジェクト状態送信部５０８、オブジェクト状態受信部５１０、子オブジェクト状態更新部５０９、親委譲部５１１、親受任部５１２として機能する。
【０１６７】
なお、上記の態様においては、親宛パケットは子機の自位置送信部５０４が送信し、親機の他位置受信部５０５が受信し、子宛パケットは、親機の自位置送信部５０４、オブジェクト状態送信部５０８、親委譲部５１１が送信し、子機の他位置受信部５０５、オブジェクト状態受信部５１０、親受任部５１２が受信することとなっているが、各情報は個別に別々のパケットにして送受することとしても良い。
【０１６８】
図８は、サーバ装置４０２において実行されるサーバ制御処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０１６９】
コンピュータ通信網４０３によって、ゲーム装置４０１同士におけるプレイが開始されると、ＣＰＵ  １０１は、ＲＡＭ  １０３（記憶部５０１）に記憶される情報を適切に初期化するとともに、現在親機となっている装置の通信識別子を、当該サーバ装置４０２の識別子に更新する（ステップＳ８０１）。すなわち、プレイ開始時点では、当該サーバ装置４０２は親機となる。
【０１７０】
ついで、ＣＰＵ  １０１は、ＮＩＣ  １０９を監視して、接続されている複数のゲーム装置４０１から、サーバ宛パケットが到達しているか否かを調べる（ステップＳ８０２）。到達していなければ、ステップＳ８０５に進む。
【０１７１】
一方、到達していれば（ステップＳ８０２；Ｙｅｓ）、当該サーバ宛パケットをすべて受信して（ステップＳ８０３）、当該サーバ宛パケットに指定されている操作対象がいずれであるか、および、当該操作対象の位置、更新時刻、そしてオブジェクトの状態、更新時刻により、記憶部５０１の情報を更新する（ステップＳ８０４）。
【０１７２】
ついで、ＣＰＵ  １０１は、現在のモードが親機であるか子機であるかを判定する（ステップＳ８０５）。
【０１７３】
親機であれば（ステップＳ８０５；親機）、記憶部５０１に記憶されている、複数の操作対象の位置、および、オブジェクトの位置から、ＣＰＵ  １０１は、所定の第３の条件を満たす操作対象を１つ選ぶ（ステップＳ８０６）。そして、現在親機となっている装置の通信識別子を、当該操作対象を操作しているゲーム装置４０１の識別子へ、更新する（ステップＳ８０７）。
【０１７４】
すなわち、サーバ装置４０２が親機である場合には、サーバ装置４０２はいずれかのゲーム装置４０１へ「親」を委譲するため、上述した「所定の第３の条件」を満たす操作対象を操作するゲーム装置４０１へ「親」を委譲し、当該サーバ装置４０２は「子」となる。
【０１７５】
ここで、「所定の第３の条件」とは、上述したものと同じように、オブジェクトから最も近くに位置する操作対象、としてもよいし、あるいは、サッカーゲーム等において、ボール（オブジェクト）が移動する方向に位置する操作対象、とすることも考えられる。その他、種々の条件が考えられる。
【０１７６】
そして、ＣＰＵ  １０１は、上述した識別子の情報を指定したゲーム装置４０１宛パケットをＲＡＭ  １０３内に生成し（ステップＳ８０８）、生成されたゲーム装置４０１宛パケットを、すべてのゲーム装置４０１に送信する（ステップＳ８０９）。そして、ステップＳ８０２へ戻る。
【０１７７】
一方で、当該サーバ装置４０２が子機であれば（ステップＳ８０５；子機）、親代理部６１２により、現在親機となっているいずれかのゲーム装置４０１と通信し、所定の閾時間以上の間、当該ゲーム装置４０１と通信できないかどうかを判定する（ステップＳ８１０）。
【０１７８】
親機であるゲーム装置４０１と通信できていれば（ステップＳ８１０；Ｎｏ）、ここでは何もせず、ステップＳ８０２へ戻る。
【０１７９】
一方、親機であるゲーム装置４０１と通信できなければ（ステップＳ８１０；Ｙｅｓ）、現在親機となっている装置の通信識別子を、当該サーバ装置４０２の識別子へ更新し（ステップＳ８１１）、ステップＳ８０２へ戻る。
【０１８０】
すなわち、ゲームが通常に進行していれば、ゲーム開始時点以外では、いずれかのゲーム装置４０１が親機であるため、ステップＳ８１０は常にＮｏへ移行すると想定される。しかし、親機であるゲーム装置４０１のダウン、ネットワークトラブル等、何らかの理由により、現在親機となっているゲーム装置４０１が、ゲームシステム内に存在しないことがありうるため、その場合に、サーバ装置４０２が、「親」を代理することで、ゲームシステム内に親機が存在しない状況を回避することができる。
【０１８１】
図９Ａおよび図９Ｂは、オブジェクトと操作対象との位置関係を示す模式図である。以下、本図を用いて、オブジェクトと操作対象との位置関係から、「親」が委譲される様子を説明する。
【０１８２】
図９Ａおよび図９Ｂでは図３と同様に、仮想空間３０１内のフィールドマップ３０２上に、操作対象である４人のプレイヤパーティ３０３ａ〜３０３ｄと、オブジェクトとして代表的な、敵キャラクタ３０４が表示されている。さらに図９Ａおよび図９Ｂには、敵キャラクタ３０４の位置からの２つの基準領域３０５ａ、３０５ｂ（３０５ａの大きさは、３０５ｂの大きさよりも小さいとする）が描かれている。
【０１８３】
ここで２つの基準領域３０５について、基準領域３０５ａは、「親」である操作対象が、オブジェクトの状態を更新できるかどうかを判定する領域（上述した「所定の第１の条件」）であり、基準領域３０５ｂは、「親」である操作対象が、「親」を委譲するかどうかを判定するのに用いられる領域（上述した「所定の第２の条件」）であり、基準領域３０５ａは、基準領域３０５ｂより小さな領域である。なお、実際にゲームをプレイするプレイヤからは、当該２つの基準領域３０５ａ、３０５ｂは、典型的には見ることはできない。
【０１８４】
基準領域３０５ａおよび３０５ｂとして、図９Ａでは、いずれも長方形状の領域をとっている。すなわち、操作対象が当該長方形状の基準領域３０５の中に入っているかどうかが、上述した「所定の第１の条件」および「所定の第２の条件」に用いられることになる。一方で、図９Ｂでは、２つの基準領域３０５ａおよび３０５ｂは、いずれもオブジェクトを中心とした円状の領域である。すなわち、オブジェクトから操作対象までの距離が、上述した「所定の第１の条件」および「所定の第２の条件」の判定に用いられる。ここで、基準領域３０５の形状として、長方形や円に限られず、正方形や楕円、またはその他オブジェクトの位置を含むような任意の形状であってもよい。
【０１８５】
ここで最初、プレイヤパーティ３０３ａが「親」であり、その他の３人のプレイヤパーティ３０３ｂ、３０３ｃ、３０３ｄは、「子」であるとする。「親」であるプレイヤパーティ３０３ａは、敵キャラクタ３０４の位置から、所定の基準領域３０５ａ内の位置にいるので、敵キャラクタ３０４の状態を変化させることができる。例えば、攻撃してダメージを与えたり、敵キャラクタ３０４の持っているアイテムを奪ったり、である。
【０１８６】
次に、プレイヤがプレイヤパーティ３０３ａを操作して、３０３ａ’の位置まで移動させたとする。この位置は、敵キャラクタ３０４の位置から基準領域３０５ａの外にいるため、プレイヤパーティ３０３ａは「親」ではあるが、敵キャラクタ３０４の状態を変化させることはできなくなる。
【０１８７】
なお、プレイヤパーティ３０３が一旦敵キャラクタ３０４の位置から基準領域３０５ａより外へ出ても、当該プレイヤパーティ３０３が「親」である限りは、再び敵キャラクタ３０４へ基準領域３０５ａ内へ入れば、敵キャラクタ３０４の状態を変化させることができるようになる。
【０１８８】
さらにプレイヤパーティ３０３ａ’を操作して、３０３ａ’’の位置まで移動させたとする。この位置は、敵キャラクタ３０４の位置から、さらにもう１つの基準領域３０５ｂの外へ出る。ここでプレイヤパーティ３０３ａ’’は、当該プレイヤパーティ３０３ａ’’の「親」を委譲する他のプレイヤパーティ３０３を、上述した「所定の第３の条件」を基準として決定する。
【０１８９】
例えば、敵キャラクタ３０４の位置から、最も距離が近いプレイヤパーティ３０３が、「所定の第３の条件」を基準を満たしたプレイヤパーティ３０３として決定される。当該決定されたプレイヤパーティ３０３が、他のプレイヤパーティ３０３であった場合に、当該他のプレイヤパーティ３０３へ、「親」を委譲する。いない場合は、依然当該プレイヤパーティ３０３ａ’’が「親」であり続ける。
【０１９０】
図９Ａおよび図９Ｂの例では、３人の他のプレイヤパーティ３０３ｂ、３０３ｃ、３０３ｄのうち、敵キャラクタ３０４の位置から、最も距離が近いのは、プレイヤパーティ３０３ｂである。かつ、当該プレイヤパーティ３０３ｂは、プレイヤパーティ３０３ａ’’よりも敵キャラクタ３０４の位置から近いので、プレイヤパーティ３０３ａ’’は、「親」をプレイヤパーティ３０３ｂへ委譲する。
【０１９１】
「親」を委譲されたプレイヤパーティ３０３ｂは、現在の位置では敵キャラクタ３０４の位置から基準領域３０５ａの外に位置しているため、敵キャラクタ３０４の状態を変化させることができない。その後、プレイヤパーティ３０３ｂを操作するプレイヤにより、プレイヤパーティ３０３ｂ’の位置まで移動させれば、敵キャラクタ３０４の位置から基準領域３０５ａ以内であるため、敵キャラクタ３０４へ攻撃などの状態変化を与えることができるようになる。
【０１９２】
このような構成により、先に敵キャラクタ３０４の近くにいるプレイヤパーティ３０３が、一旦敵キャラクタ３０４から離れない限り、「親」を占有し、敵キャラクタ３０４から離れた後は、敵キャラクタ３０４により近い位置にいる他のプレイヤパーティ３０３へ「親」を委譲することにより、常に敵キャラクタ３０４に近いプレイヤパーティ３０３が
敵キャラクタ３０４の状態を変化させる権限を持ち、かつ、複数のプレイヤパーティ３０３によって同時期に敵キャラクタ３０４の状態の二重変更が生じたり、排他制御によるブロック期間が発生してしまわないようにすることが可能となる。
【０１９３】
なお、図９Ａおよび図９Ｂでは敵キャラクタ３０４は、フィールドマップ３０２上に位置が固定されているとして説明したが、敵キャラクタ３０４はフィールドマップ３０２上を動いてもよい。例えば、野球ゲームやサッカーゲームの場合、ボール（オブジェクト）は移動するのが通常である。その場合は、オブジェクトと各操作対象との相対的な位置によって、「所定の第１の条件」、「所定の第２の条件」、「所定の第３の条件」の判定が行われる。
【０１９４】
このような構成により、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置等を提供することができる。
【０１９５】
（実施形態２）
上記実施形態では、図４に示したように、サーバ装置４０２と複数のゲーム装置４０１がコンピュータ通信網４０３を介して接続されたゲームシステムを構成していたが、専用のサーバ装置４０２を持たず、いずれかのゲーム装置４０１がサーバ装置４０２の機能を果たすことも可能である。
【０１９６】
この場合、サーバ装置４０２の機能を、いずれかのゲーム装置４０１が、代行することになる。すなわち、サーバ装置４０２における、記憶部６０１、位置受信部６０５、位置更新部６０６、オブジェクト状態更新部６０９、オブジェクト状態受信部６１０、親委譲部６１１、親代理部６１２は、それぞれ、ゲーム装置４０１における、記憶部５０１、他位置受信部５０５、他位置更新部５０６、子オブジェクト状態更新部５０９、オブジェクト状態受信部５１０、親委譲部５１１、親受任部５１２が、代行する。
【０１９７】
どのゲーム装置４０１がサーバ装置４０２の機能を果たすかは、種々の方法が考えられる。例えば、乱数により決めてもよいし、より早くコンピュータ通信網４０３に接続されたゲーム装置４０１に決めてもよい。
【０１９８】
このような構成により、専用サーバ装置を持たずとも、複数のゲーム装置のみでゲームを構成することができ、ゲームシステムを簡略化することができる。
【０１９９】
（実施形態３）
上記の説明では、各ゲーム装置４０１に記憶されている、各操作対象の位置ならびにオブジェクトの状態の情報を、他のゲーム装置４０１へ送信する際に、直接当該他のゲーム装置４０１へ送信していた。ここで、各ゲーム装置４０１は、情報を一旦サーバ装置４０２へ送信し、当該サーバ装置４０２が当該他のゲーム装置４０１へ情報を送信する、という手法も可能である。
【０２００】
すなわち、本実施形態では、２台以上のゲーム装置４０１が、コンピュータ通信網４０３によってサーバ装置４０２に接続されるゲームシステムを想定したものであり、すべてのゲーム装置４０１の情報は、一旦サーバ装置４０２に集められ、その後に各ゲーム装置４０１に配布される、という手法である。
【０２０１】
図１０は、本実施形態における、ゲーム装置４０１の構成概要を示す模式図である。
【０２０２】
本図は、ゲーム装置４０１の内部の構成は、図５のものと同じ構成である。しかし、自位置送信部５０４、オブジェクト状態送信部５０８、および、親委譲部５１１から出力される情報は、図５では他のゲーム装置４０１へ送信されたが、本図ではすべてサーバ装置４０２へ集められる。また、他位置受信部５０５、オブジェクト状態受信部５１０、および、親受任部５１２へ入力される情報は、図５では他のゲーム装置４０１から受信されたが、本図ではすべてサーバ装置４０２から受信される。
【０２０３】
すなわち、本実施形態では、他のゲーム装置４０１との情報の受け渡しの際に、サーバ装置４０２が必ず介してから受け渡される。
【０２０４】
そして、図１１は、本実施形態における、サーバ装置４０２の構成概要を示す模式図である。
【０２０５】
本図は、基本的には、図６のものと同じ構成である。しかし、本図でのサーバ装置４０２は、位置送信部６０４とオブジェクト状態送信部６０８を、新たに備える。
【０２０６】
すなわち、図６においては、サーバ装置４０２がゲーム装置４０１へ送信する情報は、親委譲部６１１による次に親機となるゲーム装置４０１の識別子、のみであった。しかし、本実施形態では、ゲーム装置４０１から他のゲーム装置４０１へ、当該ゲーム装置４０１が操作する操作対象の位置、および当該ゲーム装置４０１が親機である場合には、オブジェクトの状態を、当該サーバ装置４０２を介して送信するため、当該位置送信部６０４と当該オブジェクト状態送信部６０８を備えることになる。
【０２０７】
このような構成により、サーバ装置と接続されたゲーム装置が２台以上の場合に、相互の通信をスムースに行うとともに、互いが記憶する情報に矛盾が生じてしまう可能性をできるだけ低減することができるようになる。
【産業上の利用可能性】
【０２０８】
以上説明したように、本発明によれば、多人数が参加するオンラインゲームにおいて、多人数のユーザによるオブジェクトの状態変化を適切に行うのに好適なゲーム装置、ゲームシステム、ゲーム制御方法、ならびに、これらをコンピュータにて実現するためのプログラムを提供することができる。
【符号の説明】
【０２０９】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
２０１  ↑ボタン
２０２  ↓ボタン
２０３  ←ボタン
２０４  →ボタン
２０５  ○ボタン
２０６  ×ボタン
２０７  △ボタン
２０８  □ボタン
２０９  ＳＥＬＥＣＴボタン
２１０  ＳＴＡＲＴボタン
２１１  ＡＮＡＬＯＧボタン
２１２  インジケータ
２１３  ジョイスティック
２１４  ジョイスティック
２１５  Ｌ１ボタン
２１６  Ｌ２ボタン
２１７  Ｒ１ボタン
２１８  Ｒ２ボタン
３０１  仮想空間
３０２  フィールドマップ
３０３  プレイヤパーティ
３０４  敵キャラクタ
３０５  基準領域
４０１  ゲーム装置
４０２  サーバ装置
４０３  コンピュータ通信網
５０１  記憶部
５０２  指示入力受付部
５０３  自位置更新部
５０４  自位置送信部
５０５  他位置受信部
５０６  他位置更新部
５０７  親オブジェクト状態更新部
５０８  オブジェクト状態送信部
５０９  子オブジェクト状態更新部
５１０  オブジェクト状態受信部
５１１  親委譲部
５１２  親受任部
６０１  記憶部
６０４  位置送信部
６０５  位置受信部
６０６  位置更新部
６０８  オブジェクト状態送信部
６０９  オブジェクト状態更新部
６１０  オブジェクト状態受信部
６１１  親委譲部
６１２  親代理部
【図１】
2011234987.tif 000003
【図２】
2011234987.tif 000004
【図３】
2011234987.tif 000005
【図４】
2011234987.tif 000006
【図５】
2011234987.tif 000007
【図６】
2011234987.tif 000008
【図７】
2011234987.tif 000009
【図８】
2011234987.tif 000010
【図９Ａ】
2011234987.tif 000011
【図９Ｂ】
2011234987.tif 000012
【図１０】
2011234987.tif 000013
【図１１】
2011234987.tif 000014