(57)【要約】【課題】空間位置等のリアルタイムデータをクライアント間で共有すること。仮想空間の混雑を避けること。オンラインチャットを好適に実現すること。【解決手段】クライアント１６において、他のクライアント１６において生成されたオブジェクトの現在位置情報及び予測将来位置情報を受信し、それらの情報に基づいて仮想空間における同オブジェクトの推定現在位置情報を順次生成する。また、ゲームサーバ１２は、特定クライアントに対して非特定クライアントから受信された位置情報を転送することを制限する。さらに、クライアント１６では、メッセージ入力モードにおいて、オブジェクトに関する現在位置情報を自動又は半自動で生成して、それをゲームサーバ１２に送信する。【選択図】　　　　図１
2004105671.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２装置を含み、
前記第１装置は、
仮想空間における位置共有対象の現在位置情報を順次生成する現在位置情報生成手段と、
前記仮想空間における前記位置共有対象の予測将来位置情報を順次生成する予測将来位置情報生成手段と、
生成される前記現在位置情報及び前記予測将来位置情報を順次送信する情報送信手段と、を含み、
前記第２装置は、
前記第１装置から送信される前記現在位置情報及び前記予測将来位置情報を受信する情報受信手段と、
受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成手段と、を含む、
ことを特徴とする空間位置共有システム。
【請求項２】
請求項１記載のシステムにおいて、
前記現在位置情報は、現在時刻及び該時刻での前記仮想空間における前記位置共有対象の位置を表す、ことを特徴とするシステム。
【請求項３】
請求項１又は２に記載のシステムにおいて、
前記予測将来位置情報は、前記仮想空間における前記位置共有対象の予測位置を表す、ことを特徴とするシステム。
【請求項４】
請求項３に記載のシステムにおいて、
前記予測将来位置情報は、前記仮想空間における前記予測位置に前記位置共有対象が位置する将来時刻をさらに表す、ことを特徴とするシステム。
【請求項５】
請求項４に記載のシステムにおいて、
前記予測将来位置情報生成手段は、前記第１及び第２装置の間の通信状況に基づいて前記将来時刻を決定する、ことを特徴とするシステム。
【請求項６】
請求項１乃至５のいずれかに記載のシステムにおいて、
前記推定現在位置情報は、前記仮想空間における前記位置共有対象の現在位置に対する推定結果を表す、ことを特徴とするシステム。
【請求項７】
請求項１乃至６のいずれかに記載のシステムにおいて、
前記現在位置情報生成手段は、前記現在位置情報を前記第１装置のユーザにより入力される操作情報に基づいて順次生成し、
前記予測将来位置情報生成手段は、前記予測将来位置情報を前記操作情報に基づいて順次生成する、
ことを特徴とするシステム。
【請求項８】
請求項１乃至７のいずれかに記載のシステムにおいて、
前記予測将来位置情報生成手段は、前記現在位置情報生成手段により生成される前記現在位置情報に基づいて前記予測将来位置情報を生成する、
ことを特徴とするシステム。
【請求項９】
請求項８記載のシステムにおいて、
前記現在位置情報生成手段により順次生成される前記現在位置情報を複数記憶する現在位置情報記憶手段をさらに含み、
前記予測将来位置情報生成手段は、前記現在位置情報記憶手段に記憶される複数の前記現在位置情報に基づいて前記予測将来位置情報を生成する、
ことを特徴とするシステム。
【請求項１０】
請求項１乃至９のいずれかに記載のシステムにおいて、
前記推定現在位置情報生成手段は、既に生成されている前記推定現在位置情報にさらに基づいて、新たに前記推定現在位置情報を生成する、
ことを特徴とするシステム。
【請求項１１】
請求項１０記載のシステムにおいて、
前記推定現在位置情報生成手段は、受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の仮推定現在位置情報を生成し、既に生成されている前記推定現在位置情報と前記仮推定現在位置情報とに基づいて、新たに前記推定現在位置情報を生成する、
ことを特徴とするシステム。
【請求項１２】
請求項１１記載のシステムにおいて、
前記推定現在位置情報生成手段は、受信される前記現在位置情報が表す位置及び前記予測将来位置情報が表す位置の内分点又は外分点の位置を前記仮推定現在位置情報として生成する、
ことを特徴とするシステム。
【請求項１３】
請求項１乃至１２のいずれかに記載のシステムにおいて、
前記第１装置は、
前記仮想空間における位置共有対象の現在姿勢情報を順次生成する現在姿勢情報生成手段と、
前記仮想空間における前記位置共有対象の予測将来姿勢情報を順次生成する予測将来姿勢情報生成手段と、
生成される前記現在姿勢情報及び前記予測将来姿勢情報を順次送信する姿勢情報送信手段と、をさらに含み、
前記第２装置は、
前記第１装置から送信される前記現在姿勢情報及び前記予測将来姿勢情報を受信する姿勢情報受信手段と、
受信される前記現在姿勢情報及び前記予測将来姿勢情報に基づいて前記仮想空間における前記位置共有対象の推定現在姿勢情報を順次生成する推定現在姿勢情報生成手段と、をさらに含む、
ことを特徴とするシステム。
【請求項１４】
仮想空間における位置共有対象の現在位置情報を順次生成する現在位置情報生成手段と、
前記仮想空間における前記位置共有対象の予測将来位置情報を順次生成する予測将来位置情報生成手段と、
生成される前記現在位置情報及び前記予測将来位置情報を順次送信する情報送信手段と、
を含むことを特徴とする空間位置共有装置。
【請求項１５】
他の装置において順次生成され、該他の装置から順次送信される仮想空間における位置共有対象の現在位置情報、及び前記仮想空間における前記位置共有対象の予測将来位置情報を受信する情報受信手段と、
受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成手段と、
を含むことを特徴とする空間位置共有装置。
【請求項１６】
仮想空間における位置共有対象の現在位置情報を順次生成する現在位置情報生成手段、
前記仮想空間における前記位置共有対象の予測将来位置情報を順次生成する予測将来位置情報生成手段、及び、
生成される前記現在位置情報及び前記予測将来位置情報を順次送信する情報送信手段、
としてコンピュータを機能させるためのプログラム。
【請求項１７】
他の装置において順次生成され、該他の装置から順次送信される仮想空間における位置共有対象の現在位置情報、及び前記仮想空間における前記位置共有対象の予測将来位置情報を受信する情報受信手段、及び、
受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成手段、
としてコンピュータを機能させるためのプログラム。
【請求項１８】
第１装置において、仮想空間における位置共有対象の現在位置情報を順次生成する現在位置情報生成ステップと、
前記第１装置において、前記仮想空間における前記位置共有対象の予測将来位置情報を順次生成する予測将来位置情報生成ステップと、
前記第１装置において、生成される前記現在位置情報及び前記予測将来位置情報を順次送信する情報送信ステップと、
第２装置において、前記第１装置から送信される前記現在位置情報及び前記予測将来位置情報を受信する情報受信ステップと、
前記第２装置において、受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成ステップと、
を含むことを特徴とする空間位置共有方法。
【請求項１９】
他の装置において順次生成され、該他の装置から順次送信される仮想空間における位置共有対象の現在位置情報、及び前記仮想空間における前記位置共有対象の予測将来位置情報を受信する情報受信ステップと、
受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成ステップと、
を含むことを特徴とする空間位置共有方法。
【請求項２０】
第１及び第２装置を含み、
前記第１装置は、
現在データを順次生成する現在データ生成手段と、
予測将来データを順次生成する予測将来データ生成手段と、
生成される前記現在データ及び前記予測将来データを順次送信するデータ送信手段と、を含み、
前記第２装置は、
前記第１装置から送信される前記現在データ及び前記予測将来データを受信するデータ受信手段と、
受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成手段と、を含む、
ことを特徴とするデータ共有システム。
【請求項２１】
現在データを順次生成する現在データ生成手段と、
予測将来データを順次生成する予測将来データ生成手段と、
生成される前記現在データ及び前記予測将来データを順次送信する情報送信手段と、
を含むことを特徴とするデータ共有装置。
【請求項２２】
他の装置において順次生成され、該他の装置から順次送信される現在データ及び予測将来データを受信するデータ受信手段と、
受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成手段と、
を含むことを特徴とするデータ共有装置。
【請求項２３】
現在データを順次生成する現在データ生成手段、
予測将来データを順次生成する予測将来データ生成手段、及び、
生成される前記現在データ及び前記予測将来データを順次送信する情報送信手段、
としてコンピュータを機能させるためのプログラム。
【請求項２４】
他の装置において順次生成され、該他の装置から順次送信される現在データ及び予測将来データを受信するデータ受信手段、及び、
受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成手段、
としてコンピュータを機能させるためのプログラム。
【請求項２５】
第１装置において、現在データを順次生成する現在データ生成ステップと、
前記第１装置において、予測将来データを順次生成する予測将来データ生成ステップと、
前記第１装置において、生成される前記現在データ及び前記予測将来データを順次送信するデータ送信ステップと、
第２装置において、前記第１装置から送信される前記現在データ及び前記予測将来データを受信するデータ受信ステップと、
前記第２装置において、受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成ステップと、
を含むことを特徴とするデータ共有方法。
【請求項２６】
他の装置において順次生成され、該他の装置から順次送信される現在データ及び予測将来データを受信するデータ受信ステップと、
受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成ステップと、
を含むことを特徴とするデータ共有方法。
【請求項２７】
サーバ及び複数のクライアントを含むネットワークゲームシステムであって、
前記複数のクライアントは、それぞれ、
仮想空間を表す空間データを記憶する空間データ記憶手段と、
前記仮想空間における当該クライアントに対応する位置情報を前記サーバに送信する位置情報送信手段と、を含み、
前記サーバは、
前記複数のクライアントから位置情報を受信する位置情報受信手段と、
前記複数のクライアントのうち一部を特定するクライアント特定手段と、
前記クライアント特定手段により特定されている前記クライアントに対する、前記クライアント特定手段により特定されていない前記クライアントから受信された位置情報の転送を制限して、前記複数のクライアントから受信される位置情報のうち全部又は一部を前記複数のクライアントに転送する位置情報転送手段と、含み、
前記複数のクライアントは、それぞれ、
前記サーバから転送される位置情報を受信する転送データ受信手段と、
前記転送データ受信手段により受信される位置情報及び前記空間データ記憶手段に記憶される空間データに基づいてゲーム処理を実行するゲーム処理手段と、をさらに含む、
ことを特徴とするネットワークゲームシステム。
【請求項２８】
請求項２７記載のシステムにおいて、
前記位置情報転送手段は、前記クライアント特定手段により特定されていない前記クライアントに対して、前記クライアント特定手段により特定されているクライアントから受信した位置情報と、前記クライアント特定手段により特定されていないクライアントから受信した位置情報と、を区別して転送し、
前記ゲーム処理手段は、前記クライアント特定手段により特定されているクライアントから送信された位置情報に関する画像と、前記クライアント特定手段により特定されていないクライアントから送信された位置情報に関する画像と、を区別して表示する、
ことを特徴とするシステム。
【請求項２９】
請求項２８記載のシステムにおいて、
前記ゲーム処理手段は、前記クライアント特定手段により特定されているクライアントから送信された位置情報が表す位置に配置されるオブジェクトと、前記クライアント特定手段により特定されていないクライアントから送信された位置情報が表す位置に配置されるオブジェクトと、の干渉処理を制限する、
ことを特徴とするシステム。
【請求項３０】
請求項２７乃至２９のいずれかに記載のシステムにおいて、
前記クライアント特定手段による特定を解除する特定解除手段をさらに含み、
前記ゲーム処理手段は、当該ゲーム処理手段が含まれるクライアントに対する前記クライアント特定手段による特定が解除される場合に、該クライアントに対応する位置情報が表す位置に配置されるオブジェクトと、前記クライアント特定手段により特定されていないクライアントから送信された位置情報が表す位置に配置されるオブジェクトと、の干渉処理を所定タイミングまで制限する、
ことを特徴とするシステム。
【請求項３１】
サーバ及び複数のクライアントを含むネットワークゲームシステムの制御方法であって、
前記各クライアントにおいて、仮想空間における当該クライアントに対応する位置情報を前記サーバに送信する位置情報送信ステップと、
前記サーバにおいて、前記複数のクライアントから位置情報を受信する位置情報受信ステップと、
前記サーバにおいて、前記複数のクライアントのうち一部を特定するクライアント特定ステップと、
前記サーバにおいて、前記クライアント特定ステップで特定されている前記クライアントに対する、前記クライアント特定ステップで特定されていない前記クライアントから受信された位置情報の転送を制限して、前記複数のクライアントから受信される位置情報のうち全部又は一部を前記複数のクライアントに転送する位置情報転送ステップと、
前記各クライアントにおいて、前記サーバから転送される位置情報を受信する転送データ受信ステップと、
前記各クライアントにおいて、前記転送データ受信ステップで受信される位置情報及び前記仮想空間を表す空間データに基づいてゲーム処理を実行するゲーム処理ステップと、
を含むことを特徴とするネットワークゲームシステムの制御方法。
【請求項３２】
複数のクライアントで仮想空間を共有し、該仮想空間において各クライアントに対応するオブジェクトを移動させるネットワークゲームに用いられるネットワークゲーム用クライアントであって、
信号を入力する入力手段と、
当該クライアントの動作モードがオブジェクト操作モードであるかメッセージ入力モードであるかを判断するモード判断手段と、
前記オブジェクト操作モードにおいて、当該クライアントに対応するオブジェクトの位置に関する位置情報を前記入力手段により入力される信号に基づいて生成する第１位置情報生成手段と、
前記メッセージ入力モードにおいて、前記第１位置情報生成手段に代わって、前記入力手段により入力される信号に基づく程度を制限して、当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する第２位置情報生成手段と、
前記第１又は第２位置情報生成手段により生成される前記位置情報を送信する位置情報送信手段と、
前記メッセージ入力モードにおいて、前記入力手段により入力される信号に基づいてメッセージ情報を生成するメッセージ情報生成手段と、
前記メッセージ情報生成手段により生成される前記メッセージ情報を送信するメッセージ情報送信手段と、
を含むことを特徴とするクライアント。
【請求項３３】
請求項３２記載のクライアントであって、
前記第２位置情報生成手段は、ゲーム状況の変化を抑制するよう当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する、
ことを特徴とするクライアント。
【請求項３４】
請求項３３に記載のクライアントであって、
前記第２位置情報生成手段は、当該クライアントに対応するオブジェクトと他のクライアントに対応するオブジェクトとの間隔に基づいて、当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する、
ことを特徴とするクライアント。
【請求項３５】
複数のクライアントで仮想空間を共有し、該仮想空間において各クライアントに対応するオブジェクトを移動させるネットワークゲームに用いられるネットワークゲーム用クライアントとしてコンピュータを機能させるためのプログラムであって、
信号を入力する入力手段、
当該クライアントの動作モードがオブジェクト操作モードであるかメッセージ入力モードであるかを判断するモード判断手段、
前記オブジェクト操作モードにおいて、当該クライアントに対応するオブジェクトの位置に関する位置情報を前記入力手段により入力される信号に基づいて生成する第１位置情報生成手段、
前記メッセージ入力モードにおいて、前記第１位置情報生成手段に代わって、前記入力手段により入力される信号に基づく程度を制限して、当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する第２位置情報生成手段、
前記第１又は第２位置情報生成手段により生成される前記位置情報を送信する位置情報送信手段、
前記メッセージ入力モードにおいて、前記入力手段により入力される信号に基づいてメッセージ情報を生成するメッセージ情報生成手段、及び、
前記メッセージ情報生成手段により生成される前記メッセージ情報を送信するメッセージ情報送信手段、
として前記コンピュータを機能させるためのプログラム。
【請求項３６】
複数のクライアントで仮想空間を共有し、該仮想空間において各クライアントに対応するオブジェクトを移動させるネットワークゲームに用いられるネットワークゲーム用クライアントの制御方法であって、
当該クライアントの動作モードがオブジェクト操作モードであるかメッセージ入力モードであるかを判断するモード判断ステップと、
前記オブジェクト操作モードにおいて、当該クライアントに対応するオブジェクトの位置に関する位置情報を入力手段により入力される信号に基づいて生成する第１位置情報生成ステップと、
前記メッセージ入力モードにおいて、前記第１位置情報生成ステップに代わって、前記入力手段により入力される信号に基づく程度を制限して、当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する第２位置情報生成ステップと、
前記第１又は第２位置情報生成ステップで生成される前記位置情報を送信する位置情報送信ステップと、
前記メッセージ入力モードにおいて、前記入力手段により入力される信号に基づいてメッセージ情報を生成するメッセージ情報生成ステップと、
前記メッセージ情報生成ステップで生成される前記メッセージ情報を送信するメッセージ情報送信ステップと、
を含むことを特徴とするクライアントの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は空間位置共有システム、データ共有システム、ネットワークゲームシステム及びネットワークゲーム用クライアントに関する。
【０００２】
【従来の技術】
ネットワークゲーム（オンラインゲーム）の人気が高まっている。ネットワークゲームでは、居ながらにして他のプレイヤと対戦したり、或いは共同戦線を張ったりすることができ、従来にないゲームの楽しみ方ができる。
【０００３】
【発明が解決しようとする課題】
従来のネットワークゲームには次のような問題がある。
【０００４】
（１）仮想空間（ゲーム空間）を複数プレイヤで共有するタイプのネットワークゲームにおいては、あるクライアント（ゲーム端末）においてリアルタイムに決定されるオブジェクト等の位置を、他のクライアントにおいて同時刻に共有することが困難である。
【０００５】
（２）同様に、あるクライアントにおいてリアルタイムに決定される各種データ（リアルタイムデータ）を、他のクライアントにおいて同時刻に共有することが非常に困難である。
【０００６】
（３）同一の仮想空間に多数のオブジェクトが存在するとゲーム進行に支障をきたす場合がある。また、多数のオブジェクトに関するデータを全てのクライアント間で常に共有すると、通信トラフィックが増大してしまう。
【０００７】
（４）プレイヤ同士でオンラインチャット（メッセージ交換）を楽しめるようになったネットワークゲームが既に提案されているが、オブジェクトの操作をしながらオンラインチャットを行うのは非常に困難である。
【０００８】
本発明は上記課題に鑑みてなされたものであって、その第１の目的は、通信量を抑えつつ仮想空間において順次変化する位置共有対象の位置を装置間で擬似的に共有することができる空間位置共有システム、空間位置共有装置、プログラム及び空間位置共有方法を提供することにある。
【０００９】
第２の目的は、通信量を抑えつつ順次変化するデータを装置間で擬似的に共有することができるデータ共有システム、データ共有装置、プログラム及びデータ共有方法を提供することにある。
【００１０】
第３の目的は、特定クライアントに関連する仮想空間を円滑に他の仮想空間に移行させることができるネットワークゲームシステム及びその制御方法を提供することにある。
【００１１】
第４の目的は、オンラインチャットを容易に行うことができるネットワークゲーム用クライアント、プログラム及びネットワークゲーム用クライアントの制御方法を提供することにある。
【００１２】
【課題を解決するための手段】
（１）上記課題を解決するために、本発明に係る空間位置共有システムは、第１及び第２装置を含み、前記第１装置は、仮想空間における位置共有対象の現在位置情報を順次生成する現在位置情報生成手段と、前記仮想空間における前記位置共有対象の予測将来位置情報を順次生成する予測将来位置情報生成手段と、生成される前記現在位置情報及び前記予測将来位置情報を順次送信する情報送信手段と、を含み、前記第２装置は、前記第１装置から送信される前記現在位置情報及び前記予測将来位置情報を受信する情報受信手段と、受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成手段と、を含む　ことを特徴とする。
【００１３】
また、本発明に係る空間位置共有装置は、仮想空間における位置共有対象の現在位置情報を順次生成する現在位置情報生成手段と、前記仮想空間における前記位置共有対象の予測将来位置情報を順次生成する予測将来位置情報生成手段と、生成される前記現在位置情報及び前記予測将来位置情報を順次送信する情報送信手段と、を含むことを特徴とする。
【００１４】
また、本発明に係る空間位置共有装置は、他の装置において順次生成され、該他の装置から順次送信される仮想空間における位置共有対象の現在位置情報、及び前記仮想空間における前記位置共有対象の予測将来位置情報を受信する情報受信手段と、受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成手段と、を含むことを特徴とする。
【００１５】
また、本発明に係るプログラムは、仮想空間における位置共有対象の現在位置情報を順次生成する現在位置情報生成手段、前記仮想空間における前記位置共有対象の予測将来位置情報を順次生成する予測将来位置情報生成手段、及び、生成される前記現在位置情報及び前記予測将来位置情報を順次送信する情報送信手段、としてコンピュータを機能させるためのプログラムである。
【００１６】
また、本発明に係るプログラムは、他の装置において順次生成され、該他の装置から順次送信される仮想空間における位置共有対象の現在位置情報、及び前記仮想空間における前記位置共有対象の予測将来位置情報を受信する情報受信手段、及び、受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成手段、としてコンピュータを機能させるためのプログラムである。
【００１７】
また、本発明に係る空間位置共有方法は、第１装置において、仮想空間における位置共有対象の現在位置情報を順次生成する現在位置情報生成ステップと、前記第１装置において、前記仮想空間における前記位置共有対象の予測将来位置情報を順次生成する予測将来位置情報生成ステップと、前記第１装置において、生成される前記現在位置情報及び前記予測将来位置情報を順次送信する情報送信ステップと、第２装置において、前記第１装置から送信される前記現在位置情報及び前記予測将来位置情報を受信する情報受信ステップと、前記第２装置において、受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成ステップと、を含むことを特徴とする。
【００１８】
また、本発明に係る空間位置共有方法は、他の装置において順次生成され、該他の装置から順次送信される仮想空間における位置共有対象の現在位置情報、及び前記仮想空間における前記位置共有対象の予測将来位置情報を受信する情報受信ステップと、受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の推定現在位置情報を順次生成する推定現在位置情報生成ステップと、を含むことを特徴とする。
【００１９】
本発明では、第１装置において位置共有対象の現在位置情報及び予測将来位置情報を順次生成し、それらの情報を順次送信する。第２装置では、それらの情報を受信し、それらの情報に基づいて位置共有対象の推定現在位置情報を順次生成する。ここで、現在位置情報は、仮想空間における位置共有対象の現在位置を表す。予測将来位置情報は、仮想空間における位置共有対象の予測位置を表す。さらに、推定現在位置情報は、仮想空間における位置共有対象の現在位置に対する推定結果を表す。第１装置で生成された現在位置情報は、第２装置で受信された時点では既に古いものとなっているが、本発明では予測将来位置情報を第１装置から送信し、この情報を第２装置において受信するようにしているので、位置共有対象の現在位置を高精度に推定して、第１装置において同時刻に生成される現在位置情報に近い、すなわち確からしい推定現在位置情報を生成できる。また、現在位置情報及び予測将来位置情報は比較的情報量を少なくできるので、本発明によれば、通信量を抑えつつ仮想空間における位置共有対象の現在位置を共有することができる。
【００２０】
また、本発明の一態様においては、前記現在位置情報は、現在時刻及び該時刻での前記仮想空間における前記位置共有対象の位置を表す。こうすれば、第２装置において、位置共有対象がいつの時点にどの位置にあったかを判断することができ、さらに高精度に推定現在位置情報を生成できるようになる。
【００２１】
また、本発明の一態様においては、前記予測将来位置情報は、前記仮想空間における前記予測位置に前記位置共有対象が位置する将来時刻をさらに表す。こうすれば、第２装置において、位置共有対象がいつの時点にどの位置にあると予測されているのかを判断することができ、さらに高精度に推定現在位置情報を生成できるようになる。
【００２２】
この態様においては、前記予測将来位置情報生成手段は、前記第１及び第２装置の間の通信状況に基づいて前記将来時刻を決定するようにしてもよい。第１及び第２装置の間の通信状況が悪く、現在位置情報及び予測将来位置情報が第１装置から第２装置に届くまでに時間を要する場合には、第１装置において、あまり近い将来の予測将来位置情報を生成しても、第２装置において役に立たない。第１及び第２装置間の通信状況に基づいて予測将来位置情報に係る将来時刻を決定すれば、より有意義な予測将来位置情報を第２装置に提供することができ、さらに高精度に推定現在位置情報を生成できるようになる。
【００２３】
また、本発明の一態様においては、前記現在位置情報生成手段は、前記現在位置情報を前記第１装置のユーザにより入力される操作情報に基づいて順次生成し、前記予測将来位置情報生成手段は、前記予測将来位置情報を前記操作情報に基づいて順次生成する。この態様によれば、操作情報が位置情報よりも情報量が多い場合において、通信量を抑えつつ第１及び第２装置において位置共有対象の現在位置を共有することができる。
【００２４】
また、本発明の一態様においては、前記予測将来位置情報生成手段は、前記現在位置情報生成手段により生成される前記現在位置情報に基づいて前記予測将来位置情報を生成する。この場合、前記現在位置情報生成手段により順次生成される前記現在位置情報を複数記憶する現在位置情報記憶手段をさらに含み、前記予測将来位置情報生成手段は、前記現在位置情報記憶手段に記憶される複数の前記現在位置情報に基づいて前記予測将来位置情報を生成するようにしてもよい。こうすれば、複数の現在位置情報を第２装置において記憶させたり、複数の現在位置情報を第１装置から第２装置に送信したりしなくても、それらの情報に基づく予測将来位置情報に基づいて、推定現在位置情報を高精度に生成することができる。
【００２５】
また、本発明の一態様では、前記推定現在位置情報生成手段は、既に生成されている前記推定現在位置情報にさらに基づいて、新たに前記推定現在位置情報を生成する。こうすれば、例えば第２装置において順次生成される推定現在位置情報の急激な変化を抑制することができる。この態様においては、前記推定現在位置情報生成手段は、受信される前記現在位置情報及び前記予測将来位置情報に基づいて前記仮想空間における前記位置共有対象の仮推定現在位置情報を生成し、既に生成されている前記推定現在位置情報と前記仮推定現在位置情報とに基づいて、新たに前記推定現在位置情報を生成すれば好適である。このとき、前記推定現在位置情報生成手段は、受信される前記現在位置情報が表す位置及び前記予測将来位置情報が表す位置の内分点又は外分点の位置を前記仮推定現在位置情報として生成すれば好適である。
【００２６】
また、本発明の一態様では、前記仮想空間における位置共有対象の現在姿勢情報を順次生成する現在姿勢情報生成手段と、前記仮想空間における前記位置共有対象の予測将来姿勢情報を順次生成する予測将来姿勢情報生成手段と、生成される前記現在姿勢情報及び前記予測将来姿勢情報を順次送信する姿勢情報送信手段と、をさらに含み、前記第２装置は、前記第１装置から送信される前記現在姿勢情報及び前記予測将来姿勢情報を受信する姿勢情報受信手段と、受信される前記現在姿勢情報及び前記予測将来姿勢情報に基づいて前記仮想空間における前記位置共有対象の推定現在姿勢情報を順次生成する推定現在姿勢情報生成手段と、をさらに含む。こうすれば、位置共有対象の現在の姿勢も第１及び第２装置において共有することができる。
【００２７】
（２）本発明に係るデータ共有システムは、第１及び第２装置を含み、前記第１装置は、現在データを順次生成する現在データ生成手段と、予測将来データを順次生成する予測将来データ生成手段と、生成される前記現在データ及び前記予測将来データを順次送信するデータ送信手段と、を含み、前記第２装置は、前記第１装置から送信される前記現在データ及び前記予測将来データを受信するデータ受信手段と、受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成手段と、を含む、ことを特徴とする。
【００２８】
また、本発明に係るデータ共有装置は、現在データを順次生成する現在データ生成手段と、予測将来データを順次生成する予測将来データ生成手段と、生成される前記現在データ及び前記予測将来データを順次送信する情報送信手段と、を含むことを特徴とする。
【００２９】
また、本発明に係るデータ共有装置は、他の装置において順次生成され、該他の装置から順次送信される現在データ及び予測将来データを受信するデータ受信手段と、受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成手段と、を含むことを特徴とする。
【００３０】
また、本発明に係るプログラムは、現在データを順次生成する現在データ生成手段、予測将来データを順次生成する予測将来データ生成手段、及び、生成される前記現在データ及び前記予測将来データを順次送信する情報送信手段、としてコンピュータを機能させるためのプログラムである。
【００３１】
また、本発明に係るプログラムは、他の装置において順次生成され、該他の装置から順次送信される現在データ及び予測将来データを受信するデータ受信手段、及び、受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成手段、としてコンピュータを機能させるためのプログラムである。
【００３２】
また、本発明に係るデータ共有方法は、第１装置において、現在データを順次生成する現在データ生成ステップと、前記第１装置において、予測将来データを順次生成する予測将来データ生成ステップと、前記第１装置において、生成される前記現在データ及び前記予測将来データを順次送信するデータ送信ステップと、第２装置において、前記第１装置から送信される前記現在データ及び前記予測将来データを受信するデータ受信ステップと、前記第２装置において、受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成ステップと、を含むことを特徴とする。
【００３３】
また、本発明に係るデータ共有方法は、他の装置において順次生成され、該他の装置から順次送信される現在データ及び予測将来データを受信するデータ受信ステップと、受信される前記現在データ及び前記予測将来データに基づいて推定現在データを順次生成する推定現在データ生成ステップと、を含むことを特徴とする。
【００３４】
本発明では、第１装置において現在データ及び予測将来データを順次生成し、それらのデータを順次送信する。第２装置では、それらのデータを受信し、それらのデータに基づいて推定現在データを順次生成する。ここで、現在データは、共有対象となるデータであり、第１装置において順次生成されるものである。また、予測将来データは、第１装置において将来生成されるであろうデータである。さらに、推定現在データは、現在時刻において第１装置で生成されているであろうデータ、すなわち第１装置において現在生成されているデータの推定結果を表す。第１装置で生成された現在データは、第２装置で受信された時点では既に古いものとなっているが、本発明では予測将来データを第１装置から送信し、このデータを第２装置において受信するようにしているので、現在データを高精度に推定して、第１装置において同時刻に生成される現在データに近い、すなわち確からしい推定現在データを生成できる。
【００３５】
（３）本発明に係るネットワークゲームシステムは、サーバ及び複数のクライアントを含むネットワークゲームシステムであって、前記複数のクライアントは、それぞれ、仮想空間を表す空間データを記憶する空間データ記憶手段と、前記仮想空間における当該クライアントに対応する位置情報を前記サーバに送信する位置情報送信手段と、を含み、前記サーバは、前記複数のクライアントから位置情報を受信する位置情報受信手段と、前記複数のクライアントのうち一部を特定するクライアント特定手段と、前記クライアント特定手段により特定されている前記クライアントに対する、前記クライアント特定手段により特定されていない前記クライアントから受信された位置情報の転送を制限して、前記複数のクライアントから受信される位置情報のうち全部又は一部を前記複数のクライアントに転送する位置情報転送手段と、含み、前記複数のクライアントは、それぞれ、前記サーバから転送される位置情報を受信する転送データ受信手段と、前記転送データ受信手段により受信される位置情報及び前記空間データ記憶手段に記憶される空間データに基づいてゲーム処理を実行するゲーム処理手段と、をさらに含む、ことを特徴とする。
【００３６】
また、本発明に係るネットワークゲームシステムの制御方法は、サーバ及び複数のクライアントを含むネットワークゲームシステムの制御方法であって、前記各クライアントにおいて、仮想空間における当該クライアントに対応する位置情報を前記サーバに送信する位置情報送信ステップと、前記サーバにおいて、前記複数のクライアントから位置情報を受信する位置情報受信ステップと、前記サーバにおいて、前記複数のクライアントのうち一部を特定するクライアント特定ステップと、前記サーバにおいて、前記クライアント特定ステップで特定されている前記クライアントに対する、前記クライアント特定ステップで特定されていない前記クライアントから受信された位置情報の転送を制限して、前記複数のクライアントから受信される位置情報のうち全部又は一部を前記複数のクライアントに転送する位置情報転送ステップと、前記各クライアントにおいて、前記サーバから転送される位置情報を受信する転送データ受信ステップと、前記各クライアントにおいて、前記転送データ受信ステップで受信される位置情報及び前記仮想空間を表す空間データに基づいてゲーム処理を実行するゲーム処理ステップと、を含むことを特徴とする。
【００３７】
本発明では、各クライアントにおいて、サーバから転送される位置情報と空間データとに基づいてゲーム処理が実行される。このとき、クライアント特定ステップで特定されているクライアント（特定クライアント）に対しては、クライアント特定ステップで特定されていないクライアント（非特定クライアント）から受信された位置情報の転送が制限される。このため、特定クライアントでは、非特定クライアントに関連するゲーム処理が制限されることになる。こうして、特定クライアントにおいて取り扱われる仮想空間（特定仮想空間）は、非特定クライアントに対応する位置情報に基づくゲーム処理が制限され、非特定クライアントにおいて取り扱われる仮想空間（非特定仮想空間）とは異なるものとすることができる。なお、前記複数のクライアントに含まれる空間データ記憶手段は、同一構成の仮想空間を表す空間データを記憶するようにしてもよい。こうすれば、さらに円滑に非特定仮想空間から特定仮想空間に移行させることができる。なお、位置情報は、位置自体を表すものであってもよいし、位置を決定するための基礎情報、例えば移動方向や移動距離等を表すものであってもよい。
【００３８】
本発明の一態様では、前記位置情報転送手段は、非特定クライアントに対して、特定クライアントから受信した位置情報と、非特定クライアントから受信した位置情報と、を区別して転送し、前記ゲーム処理手段は、特定クライアントから送信された位置情報に関する画像と、非特定クライアントから送信された位置情報に関する画像と、を区別して表示する。こうすれば、非特定クライアントにおいて、特定クライアントに関する画像を好適に表示させることができる。
【００３９】
この場合、前記ゲーム処理手段は、特定クライアントから送信された位置情報が表す位置に配置されるオブジェクトと、非特定クライアントから送信された位置情報が表す位置に配置されるオブジェクトと、の干渉処理を制限してもよい。干渉処理は、例えば衝突や接触等のオブジェクト間における干渉の有無を判断し、干渉があった場合には、それに応じたゲーム処理を実行するもの等である。こうすれば、非特定クライアントにおいて、特定クライアントに関連するオブジェクトを好適に登場させることができる。
【００４０】
本発明の一態様では、前記ゲーム処理手段は、当該ゲーム処理手段が含まれるクライアントに対する前記クライアント特定手段による特定が解除される場合に、該クライアントに対応する位置情報が表す位置に配置されるオブジェクトと、非特定クライアントから送信された位置情報が表す位置に配置されるオブジェクトと、の干渉処理を所定タイミングまで制限する。所定タイミングは、例えば、１）当該クライアントに対応するオブジェクトと非特定クライアントに対応するオブジェクトとの干渉が無いと判断されるタイミング、２）当該クライアントに対応するオブジェクトと非特定クライアントに対応するオブジェクトとの距離が所定距離以上離れていると判断されるタイミング、３）特定解除から所定時間が経過したタイミング等である。この態様によれば、特定クライアントから非特定クライアントに円滑に復帰することができる。
【００４１】
（４）本発明に係るクライアントは、複数のクライアントで仮想空間を共有し、該仮想空間において各クライアントに対応するオブジェクトを移動させるネットワークゲームに用いられるネットワークゲーム用クライアントであって、信号を入力する入力手段と、当該クライアントの動作モードがオブジェクト操作モードであるかメッセージ入力モードであるかを判断するモード判断手段と、前記オブジェクト操作モードにおいて、当該クライアントに対応するオブジェクトの位置に関する位置情報を前記入力手段により入力される信号に基づいて生成する第１位置情報生成手段と、前記メッセージ入力モードにおいて、前記第１位置情報生成手段に代わって、前記入力手段により入力される信号に基づく程度を制限して、当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する第２位置情報生成手段と、前記第１又は第２位置情報生成手段により生成される前記位置情報を送信する位置情報送信手段と、前記メッセージ入力モードにおいて、前記入力手段により入力される信号に基づいてメッセージ情報を生成するメッセージ情報生成手段と、前記メッセージ情報生成手段により生成される前記メッセージ情報を送信するメッセージ情報送信手段と、を含むことを特徴とする。
【００４２】
また、本発明に係るプログラムは、複数のクライアントで仮想空間を共有し、該仮想空間において各クライアントに対応するオブジェクトを移動させるネットワークゲームに用いられるネットワークゲーム用クライアントとしてコンピュータを機能させるためのプログラムであって、信号を入力する入力手段、当該クライアントの動作モードがオブジェクト操作モードであるかメッセージ入力モードであるかを判断するモード判断手段、前記オブジェクト操作モードにおいて、当該クライアントに対応するオブジェクトの位置に関する位置情報を前記入力手段により入力される信号に基づいて生成する第１位置情報生成手段、前記メッセージ入力モードにおいて、前記第１位置情報生成手段に代わって、前記入力手段により入力される信号に基づく程度を制限して、当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する第２位置情報生成手段、前記第１又は第２位置情報生成手段により生成される前記位置情報を送信する位置情報送信手段、前記メッセージ入力モードにおいて、前記入力手段により入力される信号に基づいてメッセージ情報を生成するメッセージ情報生成手段、及び、前記メッセージ情報生成手段により生成される前記メッセージ情報を送信するメッセージ情報送信手段、として前記コンピュータを機能させるためのプログラムである。
【００４３】
また、本発明に係るクライアントの制御方法は、複数のクライアントで仮想空間を共有し、該仮想空間において各クライアントに対応するオブジェクトを移動させるネットワークゲームに用いられるネットワークゲーム用クライアントの制御方法であって、当該クライアントの動作モードがオブジェクト操作モードであるかメッセージ入力モードであるかを判断するモード判断ステップと、前記オブジェクト操作モードにおいて、当該クライアントに対応するオブジェクトの位置に関する位置情報を入力手段により入力される信号に基づいて生成する第１位置情報生成ステップと、前記メッセージ入力モードにおいて、前記第１位置情報生成ステップに代わって、前記入力手段により入力される信号に基づく程度を制限して、当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する第２位置情報生成ステップと、前記第１又は第２位置情報生成ステップで生成される前記位置情報を送信する位置情報送信ステップと、前記メッセージ入力モードにおいて、前記入力手段により入力される信号に基づいてメッセージ情報を生成するメッセージ情報生成ステップと、前記メッセージ情報生成ステップで生成される前記メッセージ情報を送信するメッセージ情報送信ステップと、を含むことを特徴とする。
【００４４】
本発明では、オブジェクト操作モードであるかメッセージ入力モードであるかが判断される。そして、オブジェクト操作モードでは、入力手段により入力される信号に基づいてオブジェクトに関する位置情報が生成され、それが送信される。また、メッセージ入力モードでは、入力手段により入力される信号に基づく程度を制限して、オブジェクトに関する位置情報が生成され、それが送信される。すなわち、メッセージ入力モードでは、例えば、１）入力手段により入力される信号に基づかずに、２）或いは入力手段により入力される複数種類の信号のうちオブジェクト操作モードにおいて参照する信号よりも少数の信号のみに基づく等して、オブジェクトに関する位置情報が生成される。メッセージ入力モードでは、また、入力手段により入力される信号に基づいてメッセージ情報が生成され、それが送信される。本発明によれば、メッセージ入力モードにおいて、入力手段により入力される信号に基づく程度が制限され、オブジェクトに関する位置情報が、いわば自動又は半自動で生成されるので、好適にメッセージ情報を送信することができるようになる。なお、位置情報は、位置自体を表すものであってもよいし、位置を決定するための基礎情報、例えば移動方向や移動距離等を表すものであってもよい。
【００４５】
本発明の一態様では、前記第２位置情報生成手段は、ゲーム状況の変化を抑制するよう当該クライアントに対応するオブジェクトの位置に関する位置情報を生成する。こうすれば、メッセージ入力モードにおいて、他のクライアントに対応するオブジェクトと当該クライアントに対応するオブジェクトの位置関係、当該クライアントの順位等、ゲーム状況が変化し難いようにできる。
【００４６】
この態様では、前記第２位置情報生成手段は、当該クライアントに対応するオブジェクトと他のクライアントに対応するオブジェクトとの間隔に基づいて、当該クライアントに対応するオブジェクトの位置に関する位置情報を生成するようにしてよい。こうすれば、例えば当該クライアントに対応するオブジェクトと他のクライアントに対応するオブジェクトとの間隔を、当該クライアントにおいて制御することにより、ゲーム状況が変化し難いようにできる。
【００４７】
【発明の実施の形態】
以下、本発明の一実施形態について図面に基づき詳細に説明する。
【００４８】
図１は、本発明の実施形態に係るネットワークゲームシステムの全体構成を示す図である。同図に示すように、このネットワークゲームシステム１０は、ゲームサーバ１２と、複数のクライアント１６−Ａ，１６−Ｂ，…，１６−Ｘと、を含んで構成されている。ゲームサーバ１２及びクライアント１６は、いずれもインターネット１４に直接又は間接に接続されており、少なくともサーバクライアント間で相互データ通信可能となっている。ここでは、データ通信ネットワークとしてインターネット１４を利用するが、ケーブルテレビネットワーク等、他のデータ通信ネットワークを利用してもよい。
【００４９】
ゲームサーバ１２は、例えば公知のサーバコンピュータシステムを含んで構成されており、ネットワークゲーム全体を管理する。ここでは、ゲームサーバ１２によって自動車レースゲームが管理されるものとする。一方、クライアント（ゲーム端末）１６は、例えば公知のパーソナルコンピュータシステム、家庭用ゲーム機、業務用ゲーム機、携帯ゲーム機、携帯電話、携帯情報端末等のコンピュータシステムを含んで構成されており、プレイヤ（ユーザ）がネットワークゲームをプレイするのに用いる。
【００５０】
図２は、クライアント１６及びサーバ１２において共有される仮想空間（ゲーム空間，オブジェクト空間）を示す図である。同図に示すように、この仮想空間には、自動車レースの舞台となる周回コース（オブジェクト）２０及びその周囲に配置された建物（オブジェクト）１８を含んでいる。同図に示される仮想空間を示す空間データ、すなわち仮想空間内に配置される周回コース２０や建物１８等の静的オブジェクトの位置、姿勢、形状及び模様を表すデータ、及び移動オブジェクトデータ、すなわち自動車オブジェクト等の移動オブジェクトの形状及び模様を表すデータは、ゲームサーバ１２及びクライアント１６にそれぞれ予め記憶されており、自動車オブジェクト等の移動オブジェクトの位置及び姿勢のみゲーム中にゲームサーバ１２及びクライアント１６において授受されるようになっている。このとき、移動オブジェクトの位置及び姿勢は、同図に示す仮想空間に設定されたワールド座標系２２にて記述され、授受されるようになっている。
【００５１】
本実施形態に係るネットワークゲームは、上述のように自動車レースゲームであり、各クライアント１６に対応する自動車オブジェクトを周回コース２０上に配置して、それらを各クライアント１６から送信される位置情報（後述するように現在位置情報及び予測将来位置情報から構成される。）に基づいて移動させるようになっている。各クライアント１６に対応する自動車オブジェクトには、プレイヤによる操作対象であるプレイヤカー（オブジェクト）及び操作対象でないノンプレイヤカー（オブジェクト）が含まれる。すなわち、後述するロビーモードにあるクライアント１６からは、プレイヤカーに係る位置情報がゲームサーバ１２に送信される。また、後述する対戦モードにあるクライアント１６からは、プレイヤカー及びノンプレイヤカーに係る位置情報がゲームサーバ１２に送信される。さらに、ゲームサーバ１２では、独自に自動車オブジェクトを周回コース２０上に配置して、それを移動させるようにしている。
【００５２】
周回コース２０では、特にスタートラインは設定されておらず、特定プレイヤ間で対戦開始条件が成立すると、その時点から両者で対戦がスタートするようになっている。この対戦では、予め両プレイヤに同一又はプレイレベル差に応じた差のポイントが与えられており、戦況に応じて各ポイントが減じられ、いずれか一方のプレイヤに与えられたポイントが零になると、そのプレイヤが負けと判断されるようになっている。具体的には、一方のプレイヤが操作するプレイヤカーが他方のプレイヤが操作するプレイヤカーを抜き去ると、抜き去られた側のプレイヤに与えられたポイントが減じられる。また、両プレイヤが操作するプレイヤカーの間隔が開くと、その間隔に応じた減少速度にて、後ろ側のプレイヤカーを操作するプレイヤに与えられたポイントが減じされる。さらに、いずれかのプレイヤの操作するプレイヤカーが他の自動車オブジェクトに接触すると同プレイヤに与えられたポイントが減じられる。なお、ここでは以上のルールを採用するが、本発明は他のルールを採用したネットワークゲームにも適用可能である。また、ここでは２人対戦の自動車レースを取り上げるが、それ以上で対戦するようにしてもよい。
【００５３】
図３は、クライアント１６において表示されるロビー画面を示す図である。対戦開始条件が成立する前、すなわちロビーモードでは、各クライアント１６において同図に示されるロビー画面が表示される。同図に示すロビー画面は、仮想空間において当該クライアント１６に対応するプレイヤカー３４に従動する視点から同仮想空間を見た様子を主として示すものである。ここでは画面手前に当該クライアント１６を利用するプレイヤのプレイヤカー３４を後方から見た様子が表示され、その上側に他のプレイヤのプレイヤカー４０を後方から見た様子が表示されており、周回コース２０においてプレイヤカー３４がプレイヤカー４０の後ろを走行していることが示されている。また、各プレイヤカー３４，４０の上には該プレイヤカーを操縦するプレイヤのＩＤを表示するマーカ３６，３８がそれぞれ表示されるようになっている。なお、マーカ３６，３８の表示は必要に応じて全部又は一部を抑制してよい。このロビー画面においては、自分のプレイヤカー、ロビーモードにある他のクライアント１６を利用するプレイヤによって操縦されるプレイヤカー、及びゲームサーバ１２によって操縦されるノンプレイヤカーが表示されるとともに、後述する対戦モードにある他のクライアント１６を利用するプレイヤによって操縦されるプレイヤカーが半透明で表示されるようになっている。そして、この半透明のプレイヤカーとその他の自動車オブジェクトとは、干渉（衝突や接触）しないようになっている。
【００５４】
また、ロビー画面の左上には、他のプレイヤとのチャット（メッセージ交換）内容を表示するメッセージログ表示欄２４が設けられ、その右側には他のプレイヤのＩＤを表示するアドレス帳表示欄３２が設けられている。また、メッセージログ表示欄２４の下側にはメッセージ入力欄２６が設けられ、その右側にはメッセージ入力欄２６に入力されるメッセージ文字列を全てのプレイヤ（クライアント１６）に送信するか、或いは特定のプレイヤ（クライアント１６）に送信するか、を設定するためのための送信モード切替ボタン２８，３０が設けられている。
【００５５】
各プレイヤがクライアント１６からゲームサーバ１２にログインした後、同クライアント１６はロビーモードに設定され、そこに備えられるモニタ（家庭用テレビ受像器やコンピュータディスプレイ）には、同図に示すロビー画面が表示される。そして、このロビー画面を見ながらキーボード、ゲームコントローラ、ハンドル及びアクセルを備えた自動車ゲーム専用コントローラ等の入力装置を操作して、自分のプレイヤカーを周回コース２０に沿って走行させる。このとき、クライアント１６では、入力装置から入力される信号（操作信号）に基づいてプレイヤカーの位置情報を生成し、それをゲームサーバ１２に送信する。他のクライアント１６では、この位置情報をゲームサーバ１２から受信して、その位置情報に基づく位置に自動車の画像を表示させるようにしている。
【００５６】
こうして仮想空間を複数のクライアント１６において共有しながら、各プレイヤは同仮想空間において自分のプレイヤカーを各自操縦する。また、ロビーモードにおいては、必要に応じて他のプレイヤとチャットを行うことができるようにしている。すなわち、ロビー画面において、プレイヤカー操縦モード（オブジェクト操作モード）からメッセージ入力モードに変更する指示入力を上記入力装置を用いて行うと、これまで入力装置から入力される信号に基づいて位置情報を生成していたのを中止して、それよりも入力装置から入力される信号に基づく程度を制限しつつ、自動又は半自動でプレイヤカーの位置情報を生成する。そして、この位置情報をゲームサーバ１２に送信するようにしている。
【００５７】
具体的には、メッセージ入力モードでは、入力装置から入力される信号に基づかず、周回コース２０の形状や他の自動車オブジェクトの位置に基づいて、プレイヤカーの位置を自動又は半自動生成するようにしている。また、ここでは特に、当該クライアント１６に対応するプレイヤカーと他のクライアント１６に対応するプレイヤカーとの間隔を現在の距離、又は所定距離に維持するように位置情報を生成するようにしている。このため、メッセージ入力している最中にゲーム状況が変化しないようにできる。
【００５８】
なお、メッセージ入力モードにおいては、例えば入力装置から入力されるアクセルの指示のみ受け付け、それに基づいてプレイヤカーの位置情報を半自動で生成してもよい。こうしても、メッセージ入力モードにおいて、プレイヤカーを自動操縦又は半自動操縦して、プレイヤがメッセージ入力に集中できるようにすることができる。
【００５９】
ロビーモードにおいて、あるプレイヤと他のプレイヤとの対戦開始条件が成立すると、その情報（クライアント特定情報）がゲームサーバ１２に登録されるようになっている。この場合、一方のクライアント１６に対応するプレイヤカーを、他方のクライアント１６に対応するプレイヤカーの背後に移動させて、入力装置を用いた合図操作（例えばパッシング等）により対戦申込みを行うと、該一方のクライアント１６からゲームサーバ１２に相手プレイヤのＩＤを指定した対戦要求が送信され、ゲームサーバ１２において該要求が登録される。そして、ゲームサーバ１２では、相手プレイヤのクライアント１６に対戦要求があった旨及び対戦要求をしたプレイヤのＩＤを送信する。相手プレイヤのクライアント１６では、該対戦要求を受信すると、対戦要求をしたプレイヤの操縦する後続のプレイヤカーにパッシング等の合図操作をさせる。この様子は相手プレイヤのクライアント１６においてロビー画面に表示される。その後、ゲームサーバ１２は対戦開始条件が成立したと判断して、対戦する両プレイヤのＩＤをクライアント特定情報として登録するとともに、両プレイヤが利用しているクライアント１６に対してロビーモードから対戦モードへのモード変更指示を送信する。
【００６０】
なお、後続のプレイヤカーからパッシング等の合図を受けたプレイヤが、入力装置を用いて拒否操作を行うと、対戦拒否情報がゲームサーバ１２に送信されるようにして、該対戦拒否情報を受信したゲームサーバ１２は、対戦開始条件が不成立となったと判断するようにしてもよい。また、後続のプレイヤカーからパッシング等の合図を受けたプレイヤが、入力装置を用いた対戦応諾操作（例えばハザード等）により対戦応諾をすると、該相手プレイヤのクライアント１６からゲームサーバ１２に相手プレイヤのＩＤを指定した対戦受諾情報を送信するようにしてもよい。この場合、ゲームサーバ１２では、対戦要求が登録されてから所定時間内に対応する対戦応諾情報を受信すると、対戦開始条件が成立したと判断すればよい。
【００６１】
なお、このネットワークゲームシステム１２では、対戦開始条件の成否に関して上記演出を採用したが、他の演出を採用してもよい。また、ここではプレイヤカー同士の対戦のみ説明するが、プレイヤにより操縦されるプレイヤカーとゲームサーバ１２により操縦されるノンプレイヤカーとの対戦を実現するようにしてもよい。
【００６２】
ロビーモードから対戦モードへのモード変更指示をゲームサーバ１２から受信したクライアント１６では、自機のモードをロビーモードから対戦モードに移行させ、図４に示す対戦画面を表示する。図４に示す対戦画面は、図３に示すロビー画面が表示された状態で、プレイヤカー３４及び４０に対応するクライアント１６がいずれもロビーモードから対戦モードに移行した場合において、プレイヤカー３４に対応するクライアント１６にて表示されるものである。同図に示す対戦画面では、ロビー画面と同様、当該クライアント１６に対応するプレイヤカー３４の後方に設定された視点から仮想空間を見た様子が主として表示されている。また、ロビーモードとは異なり、対戦モードではゲームサーバ１２から転送されてくる位置情報が制限される。すなわち、対戦相手であるプレイヤのクライアント１６にて生成され、ゲームサーバ１２に送信される位置情報のみが転送されてくるようになっている。具体的には、この位置情報には、対戦相手のプレイヤカーの位置情報、及び対戦相手のプレイヤが利用するクライアント１６において生成されるノンプレイヤカーの位置情報が含まれる。対戦モードにあるクライアント１６には、それ以外の（ロビーモードにある）クライアント１６にて生成され、ゲームサーバ１２に送信される位置情報や、ゲームサーバ１２において生成される位置情報は転送されてこないようになっている。このため、クライアント１６では、ロビーモードから対戦モードに移行して、ロビー画面に変えて対戦画面をモニタに表示するとき、画面から対戦相手以外のプレイヤのプレイヤカーやノンプレイヤカーが消失する。代わりに、自機及び相手プレイヤのクライアント１６において位置情報が生成されるノンプレイヤカーが登場するようになっている。なお、プレイヤカーやノンプレイヤカーを消失又は登場させる場合は、所定時間にわたって、それら自動車オブジェクトに関する画像を半透明表示及び／又は点滅表示させるようにしたり、その間は衝突や接触等の干渉処理を抑制したりするようにしてもよい。
【００６３】
こうして対戦モードに移行すると、各プレイヤは自分のプレイヤカーを操縦してカーチェイスを繰り広げ、相手のポイントをより早く零にするようにプレイする。図４に示されるように、対戦画面では情報に対戦ゲージ４２が表示されており、現在の両プレイヤのポイントが直感的に把握できるようになっている。すなわち、対戦ゲージ４２には、当該クライアント１６を利用するプレイヤのプレイヤゲージ４４と、対戦相手であるプレイヤのライバルゲージ４６と、が含まれている。そして、プレイヤゲージ４４の長さは、ゲームサーバ１２から送信される、当該クライアント１６を利用するプレイヤが現在持っているポイントに応じたものに制御されている。また、ライバルゲージ４６の長さは、ゲームサーバ１２から送信される、対戦相手であるプレイヤが現在持っているポイントに応じたものに制御されている。
【００６４】
以上のようにして、対戦画面を見ながら両プレイヤがカーチェイスを行い、いずれかのプレイヤに対するポイントが零になったとゲームサーバ１２が判断すると、両プレイヤのクライアント１６に対してゲームサーバ１２から勝敗通知が送信される。勝敗通知を受信したクライアント１６では、同通知に従って勝敗通知画面を表示し、表示終了後、対戦モードからロビーモードへのモード変更をゲームサーバ１２に通知する。ゲームサーバ１２では、これに応じて当該クライアント１６の動作モードを対戦モードからロビーモードに移行させるよう後述する対戦中フラグを変更するとともに、ロビーモードにおける転送基準にて、各自動車オブジェクトの位置情報を当該クライアント１６に転送し始める。また、クライアント１６では、ゲームサーバ１２にモード変更を通知した後、一定時間、当該クライアント１６においてプレイヤが操縦するプレイヤカーと他の自動車オブジェクトとの干渉処理を制限する。この干渉処理は、いわゆるヒットチェック処理を含むものであって、オブジェクト間で衝突や接触があった場合に、それに応じて自動車オブジェクトの移動方向を変化させる等の付随処理を含む。この干渉処理の制限は、プレイヤカーと他の自動車オブジェクトの干渉状態が無いことが確認されるまで継続されるようにしてもよいし、予め定められた猶予時間だけ継続されるようにしてもよい。また、プレイヤカーと他の自動車オブジェクトとの距離が所定距離以上離れるまで継続されるようにしてもよい。
【００６５】
以下、本ネットワークゲームシステム１０の処理についてさらに具体的に説明する。
【００６６】
図５は、ゲームサーバ１２の機能ブロック図である。同図に示すように、ゲームサーバ１２で実現される機能にはデータベース４８、制御部５６、受信部６０及び送信部５８が含まれる。制御部５６には時刻管理部５０、対戦管理部５２及びＮＰＣデータ生成部５４が含まれる。これらの機能ブロックは、コンピュータシステムであるゲームサーバ１２において所定プログラムを実行することによって実現されるものである。
【００６７】
まず、データベース４８は、例えばメモリ又はハードディスク記憶装置等を含んで構成されるものであり、認証情報、アドレステーブル、ロビーモード用自動車位置テーブル、対戦モード用自動車位置テーブル等を記憶する。認証情報は、本ネットワークゲームのユーザのＩＤ及びパスワードを含んでおり、クライアント１６からプレイヤがログインするときに読み出される。また、アドレステーブルは、ログイン中の各プレイヤが利用するクライアント１６のインターネット１６におけるアドレスを含むものである。送信部６０では、このアドレステーブルを参照してデータ転送を行う。また、ロビーモード用自動車位置テーブルは、ロビーモードにあるクライアント１６に対して転送すべき位置情報を含むものであり、対戦モード用自動車位置テーブルは、対戦モードにあるクライアント１６に対して転送すべき位置情報を含むものである。
【００６８】
制御部５６は、ゲームサーバ１２の全体を制御するものであり、受信部６０により受信される位置情報をデータベース４８に登録したり、データベース４８から位置情報を読み出して送信部５８により送信したりする。また、ユーザ認証処理、対戦管理、チャットにおけるメッセージ転送等を担う。
【００６９】
特に、時刻管理部５０は、仮想空間における統一時刻を管理している。なお、時刻管理部５０で管理される時刻は現実世界の時刻に関係してもよいし、無関係なものであってもよい。また、時刻管理部５０は、各クライアント１６からゲームサーバ１２にデータを送信するときの所要時間（遅延時間）や、ゲームサーバ１２から各クライアント１２にデータを送信するときの所要時間（遅延時間）を取得するための処理も行う。
【００７０】
対戦管理部５２は、対戦モードにあるクライアント１２に対して位置情報を転送したり、両プレイヤのポイントを管理したり、勝敗を判断したりして、対戦全体を管理する。ＮＰＣデータ生成部５４は、ロビーモードにあるクライアント１６に対して送信されるノンプレイヤカーの位置情報を生成し、それをデータベース４８に登録するものである。ＮＰＣデータ生成部５４は、例えば周回コース２０のデータや公知の自動運転プログラムによって、ノンプレイヤカーの位置情報を生成する。
【００７１】
送信部５８は、自動車オブジェクトの位置情報やメッセージを転送したり、ゲームサーバ１２からの各種指示／通知を送信したりするものである。また、受信部６０は、自動車オブジェクトの位置情報や各種要求／通知を各クライアント１６から受信するものである。
【００７２】
次に、図６は、クライアント１６の機能ブロック図である。同図に示すように、クライアント１６で実現される機能にはサーバ情報データベース６２、クライアント情報データベース６４、制御部６６、操作部（入力手段）９６、受信バッファ８４、受信部９０、送信バッファ８６、送信部９２、表示バッファ８８及び表示部９４が含まれている。また、制御部６６にはサーバ情報更新部４８、クライアント情報更新部７０、チャット制御部７６、位置予測部７８、時刻管理部８０及びモード管理部８２が含まれる。さらに、クライアント情報更新部７０には自動運転部７２、位置推定部７３及び手動運転部７４が含まれる。これらの機能ブロックは、コンピュータシステムであるクライアント１６において所定プログラムを実行することによって実現されるものである。
【００７３】
まず、制御部６６は、クライアント１６の全体を制御するものである。受信部９０は、ゲームサーバ１２からインターネット１４を介して位置情報等、各種情報を受信する。受信バッファ８４は、メモリを含んで構成されており、受信部９０により受信される各種情報を一時的に記憶する。サーバ情報データベース６２は、例えばメモリ又はハードディスク記憶装置等を含んで構成されるものであり、ゲームサーバ１２から受信するロビーモード用自動車位置テーブル又は対戦モード用自動車位置テーブルを記憶する。また、サーバ情報更新部６８は、受信バッファ８４に記憶される位置情報に基づいて、サーバ情報デーベース６２に記憶されるロビーモード用自動車位置テーブル又は対戦モード用自動車位置テーブルを更新する。
【００７４】
クライアント情報データベース６４は、例えばメモリ又はハードディスク記憶装置等を含んで構成されるものであり、クライアント１６において管理中の各自動車オブジェクトについて、現在位置、現在姿勢及び現在速度ベクトルを含むリアルタイム自動車データを記憶する。クライアント情報データベース６４には、図２に示す仮想空間を表す空間データや移動オブジェクトデータも記憶される。クライアント情報更新部７０は、サーバ情報データベース６２に記憶されるロビーモード用自動車位置テーブル又は対戦モード用自動車位置テーブル、クライアント情報データベース６４に記憶されるリアルタイム自動車データ、空間データ並びに移動オブジェクトデータ、及び操作部９６により入力される操作信号に基づいて、クライアント情報データベース６４に記憶されるリアルタイム自動車データを更新する。特に、クライアント情報更新部７２に含まれる手動運転部９６は、プレイヤカー操作モード（非メッセージ入力モード）にいて、プレイヤカーのリアルタイム自動車データを生成するものであり、サーバ情報データベース６２に記憶されるロビーモード用自動車位置テーブルに含まれる又は対戦モード用自動車位置テーブル、クライアント情報データベース６４に記憶されるリアルタイム自動車データ、空間データ並びに移動オブジェクトデータ、及び操作部９６により入力される操作信号に基づいて、プレイヤカーのリアルタイム自動車データ（現在位置情報）を生成する。また、自動運転部７２は、メッセージ入力モードにおいて、手動運転部７４に代わってプレイヤカーのリアルタイム自動車データを生成するものであり、手動運転部７４とは異なり、操作部９６により入力される操作信号に基づかないでプレイヤカーのリアルタイム自動車データ（現在位置情報）を生成する。操作部９６は、例えばキーボード、マウス、ゲームコントローラ、自動車コントローラ等によって構成される。
【００７５】
また、位置推定部７３は、プレイヤカー及び当該クライアント１６において位置情報を生成するノンプレイヤカー（自管理カー）以外の自動車オブジェクト（他管理カー）について、他のクライアント１６において現在生成されているであろうリアルタイム自動車データ（推定現在位置情報）を生成する。この処理は、サーバ情報データベース６２に記憶される各他管理カーの位置情報、及び直前にクライアント情報データベース６４に記憶されている該他管理カーのリアルタイム自動車データに基づいて行われる。すなわち、クライアント情報データベース６４に記憶されるリアルタイム自動車データは、自管理カーに係る現在位置情報と他管理カーに係る推定現在位置情報とを含んでいる。
【００７６】
また、後述するように、ロビーモードにおいてサーバ情報データベース６４に記憶されるロビーモード用自動車位置テーブルには、対戦モードにある他のクライアント１６に対応するプレイヤカーに係る位置情報も記憶されている。そして、これらの位置情報については、対戦モードにある旨の対戦フラグが対応づけて記憶されている。このため、クライアント情報更新部７０では、ロビーモードにおいては、対戦モードにある他のクライアント１６に対応するプレイヤカーと、他の自動車オブジェクトとの干渉処理を行わず、全ての自動車オブジェクトに関するリアルタイム自動車データを生成するようにしている。
【００７７】
クライアント情報更新部７０は、クライアント情報データベース６４に記憶される各自動車オブジェクトに係るリアルタイム自動車データ、空間データ及び移動オブジェクトデータに基づいて表示データを生成し、メモリを含んで構成された表示バッファ８８にそれを書き込む。そして、家庭用テレビ受像器やコンピュータディスプレイ等によって構成された表示部９４は、所定タイミングで表示バッファ８８に記憶されている表示データを読み出し、それに基づいてロビー画面や対戦画面等のゲーム画面を表示する。このとき、クライアント情報更新部７０では、ロビーモードにおいて、対戦モードにある他のクライアント１６に対応するプレイヤカーに関する画像を、その他の自動車オブジェクトに関する画像と区別して表示するようにしている。例えば、対戦モードにある他のクライアント１６に対応するプレイヤカーに関する画像をロビー画面において半透明表示し、一方、その他の自動車オブジェクトに関する画像を不透明表示する。こうすれば、プレイヤは一目で対戦中のプレイヤカーの存在を知ることができる。
【００７８】
チャット制御部７６は、クライアント１６におけるチャットを制御するものである。具体的には、ロビーモードにおいて、ロビー画面にメッセージログ表示欄２４、メッセージ入力欄２６、送信モード切替ボタン２８，３０及びアドレス帳表示欄３２を表示するとともに、操作部９６からメッセージ入力開始指示を受け付けると、プレイヤカー操作モードからメッセージ入力モードにモード切替して、クライアント情報更新部７０に対し、手動運転部７４によるリアルタイム自動車データの生成から自動運転部７２によるリアルタイム自動車データの生成に切り替えるよう指示する。また、操作部９６により入力されるメッセージ文字列を送信先情報とともに、メモリを含んで構成される送信バッファ８６に記憶させる。このとき、プレイヤが入力したメッセージ文字列をメッセージログ表示欄２４に表示させる。送信バッファ８６にメッセージ文字列とともに記憶される送信先情報は、個別送信の場合には送信相手であるプレイヤのＩＤ、全体送信の場合にはその旨のデータであり、ロビー画面に表示された送信モード切替ボタン２８，３０及びアドレス帳表示欄３２等を参考にして操作部９６により指示入力されるものである。これらメッセージ文字列及び送信先情報は、送信部９２により所定タイミングで送信バッファ８６から読み出され、ゲームサーバ１２に送信される。そして、ゲームサーバ１２では、受信したメッセージ文字列を送信先情報に従ってクライアント１６に転送する。
【００７９】
また、チャット制御部７６は、ゲームサーバ１２により転送され、受信部９０により受信されるメッセージ文字列を、受信バッファ８４から読み出して、ロビー画面のメッセージログ表示欄２４に追加表示させる。さらに、操作部９６からメッセージ入力終了指示を受け付けると、メッセージ入力モードからプレイヤカー操作モードにモード切替して、クライアント情報更新部７０に対し、自動運転部７２によるリアルタイム自動車データの生成から手動運転部７４によるリアルタイム自動車データの生成に切り替えるよう指示する。
【００８０】
位置予測部７８は、プレイヤカー及び当該クライアント１６において位置情報を生成するノンプレイヤカー、すなわち自管理カーについて、将来クライアント情報更新部７０で生成されるであろうリアルタイム自動車データ、すなわち予測将来位置情報を生成する。この予測将来位置情報は、クライアント情報データベース６４に記憶される自管理カー及び他管理カーに係るリアルタイム自動車データ、操作部９６から入力される操作信号（アクセル開度、ハンドル操作角、ブレーキ踏角等を表す）、空間データ及び移動オブジェクトデータ等に基づいて算出される。また、例えば自管理カーについての走行経路、すなわちリアルタイム自動車データの履歴を記憶しておくようにして、該履歴に基づいて算出するようにしてもよい。さらに、操作信号の履歴を記憶しておいて、該履歴に基づいて算出するようにしてもよい。予測将来位置情報により表れる位置に自管理カーが位置する将来の時刻は、例えば時刻管理８０により管理される現在時刻から所定時間だけ経過した時刻とすればよい。また、ゲームサーバ１２とクライアント１６との間の通信状況、例えば遅延時間を監視するようにして、それに応じて前記所定時間を制御するようにしてもよい。そして、位置予測部７８は、自管理カーについて予測将来位置情報及びその時刻を送信バッファ８６に記憶させ、クライアント情報更新部７０は、自管理カーについて現在位置情報及び現在時刻を送信バッファ８６に記憶させる。そして、送信部９２では、送信バッファ８６に記憶される現在位置情報及び現在時刻のペアを、予測将来位置情報及び将来時刻のペアと併せて、位置情報としてゲームサーバ１２に送信するようにしている。
【００８１】
時刻管理部８０は、ゲームサーバ１２に設けられている時刻管理部５０と協働して、仮想空間における現在時刻を管理する。また、ゲームサーバ１２とクライアント１６との間の遅延時間を計測する。モード管理部８２は、当該クライアント１６がロビーモードにあるか、対戦モードにあるかを管理する。また、ゲームサーバ１２と協動してロビーモードから対戦モードへのモード変更、及び対戦モードからロビーモードへのモード変更を制御する。
【００８２】
以下、ネットワークゲームシステム１０で管理される各種データについて、さらに詳細に説明する。
【００８３】
図７は、ゲームサーバ１２に含まれるデータベース４８に記憶されるロビーモード用自動車位置テーブルの一例を示す図である。同図に示すように、ロビーモード用自動車位置テーブルは、ゲームサーバ１２にログイン中の全プレイヤ及びゲームサーバ１２により管理される全ノンプレイヤカーについて、それぞれＩＤ、最新現在位置及びその現在時刻、最新予測将来位置及びその将来時刻、対戦中フラグを対応づけて記憶するものである。最新現在位置及びその現在位置は、対応するプレイヤカー又はノンプレイヤカーについてクライアント１６又はゲームサーバ１２において生成され、ゲームサーバ１２において取得された最新の現在位置及びその位置にプレイヤカー又はノンプレイヤカーが位置していた時刻である。最新予測将来位置及びその将来時刻は、対応するプレイヤカー又はノンプレイヤカーについてクライアント１６又はゲームサーバ１２において生成され、ゲームサーバ１２において首都高された最新の予測将来位置及びその位置にプレイヤカー又はノンプレイヤカーが位置するであろう時刻である。対戦中フラグは、対応するプレイヤカー又はノンプレイヤカーが対戦中であるか否かを表すものであり、対戦開始条件が成立して対戦モードにあるクライアント１６について「１」を記憶し、ロビーモードにあるクライアント１６について「０」を記憶するものである。ゲームサーバ１２では、同図に示すロビーモード用自動車位置テーブルの一部レコードをクライアント１６に送信する。具体的には、ロビーモードにあるクライアント１６に対して、同クライアント１６に対応するレコード以外のレコードを全て送信する。こうして送信されるロビーモード用自動車位置テーブルの一部は、クライアント１６においてサーバ情報データベース６２に記憶される。なお、各自動車オブジェクトの位置情報に基づき、必要性の高いレコードのみを選択してクライアント１６に送信するようにしてもよい。
【００８４】
図８は、ゲームサーバ１２に含まれるデータベース４８に記憶されるアドレステーブルの一例を示す図である。同図に示すように、ゲームサーバ１２では、ログイン中の各プレイヤが利用しているクライアント１６のアドレスをテーブルとして保持している。このテーブルの各レコードは、例えばログイン時に生成される。送信部５８では、同図に示すアドレステーブルを参照して、ロビーモード用自動車位置データや対戦モード用自動車位置データ等の送信アドレスを特定することができる。
【００８５】
図９は、ゲームサーバ１２に含まれるデータベース４８に記憶される対戦モード用自動車位置テーブルの一例を示す図である。同図に示す対戦モード用自動車位置テーブルは、対戦中のクライアント１６の組に対して１つずつデータベース４８に記憶されるものであり、対戦中の両プレイヤカー及び対戦中のクライアント１６において管理されている全ノンプレイヤカーについて、それぞれＩＤ、最新現在位置及びその現在時刻、最新予測将来位置及びその将来時刻を対応づけて記憶するものであり、内容はロビーモード用自動車位置テーブルと同様である。ゲームサーバ１２では、同図に示す対戦モード用自動車位置テーブルの一部レコードを同テーブルに対応するクライアント１６に送信する。具体的には、対戦モードにあるクライアント１６に対して、同クライアント１６に対応するレコード以外のレコード、すなわち対戦相手のクライアント１６において現在位置や予測将来位置が生成されるプレイヤカー及びノンプレイヤカーに関するレコードを全て送信する。こうして送信される対戦モード用自動車位置テーブルの一部は、クライアント１６においてサーバ情報データベース６２に記憶される。なお、各自動車オブジェクトの位置情報に基づき、必要性の高いレコードのみを選択してクライアント１６に送信するようにしてもよい。
【００８６】
図１０は、クライアント１６に含まれるクライアント情報データベース６４に記憶されるリアルタイム自動車データを示す図である。同図に示すように、リアルタイム自動車データは、当該クライアント１６において管理する仮想空間に配置されている全自動車オブジェクトについて、現在位置、現在姿勢、及び現在の速度ベクトル（速さ及び移動方向）を含んでおり、クライアント情報データベース６４は同構成のリアルタイム自動車データを、最新分を含む所定時間分ほど記憶している。
【００８７】
また、図１１は、クライアント１６に含まれる位置推定部７３の位置推定処理を説明する図である。同図において、上側のラインは、あるクライアント１６において順次生成される、ある自動車オブジェクトの現在位置（リアルタイム自動車データ）の推移を示している。すなわち、同ライン上に記される黒丸は、自動車の現在位置を示しており、白抜きの円はゲームサーバ１２に送信され、他のクライアント１６に転送される現在位置を示している。また、白抜きの正方形はゲームサーバに現在位置とともに送信され、他のクライアント１６に転送される予測将来位置を示している。また、同図において、下側のラインは、別のクライアント１６において順次生成される、同自動車オブジェクトの推定現在位置（リアルタイム自動車データ）の推移を示している。
【００８８】
同図に示すように、位置推定部７３では、現在までにゲームサーバ１２から受信している最新の現在位置ＰＡｎ及び予測将来位置ＰＥｎを内分又は外分することにより、仮推定現在位置を算出する。すなわち、クライアント１６には、現在位置ＰＡｎに係る時刻及び予測将来位置ＰＥｎに係る時刻もゲームサーバ１２から受信されており、それら情報と当該クライアント１６において管理されている現在時刻とに基づいて、当該自動車オブジェクトの現在位置ＰＡｎを生成したクライアント１６において今現在生成しているであろう現在位置を仮推定現在位置として算出することができる。そして、この仮推定現在位置と直前（それ以前のものを用いれば、なお好適である。）に算出した推定現在位置とに基づき（例えば両者の内分点を算出することにより）、推定現在位置を算出するようにしている。こうして、他のクライアント１６において、急激な位置変更を生じさせることなく、自動車オブジェクトを走行させることができるようにしている。
【００８９】
以上説明したネットワークゲームシステム１０によれば、通信量を抑えつつ仮想空間において順次変化するプレイヤカー等の位置をクライアント１６同士で擬似的に共有することができる。また、対戦中のクライアント（特定クライアント）に関連する仮想空間を円滑に他の仮想空間に移行させることができ、ゲーム空間の混雑を回避できる。また、対戦中のクライアント１６については、他のクライアント１６から送信される位置情報を転送しないようにしているので、通信トラフィックを抑えることができる。さらに、メッセージ入力開始指示がなされると、プレイヤカーを自動運転するようにしたので、オンラインチャットを容易に行うことができる。
【００９０】
なお、上記ネットワークゲームシステムにおける空間位置共有技術は、他のデータ共有にも適用可能である。例えば、クライアント１６及びサーバ１２において、位置情報（現在位置情報及び予測将来位置情報）に加えて、現在姿勢情報及び予測将来姿勢情報からなる姿勢情報も送受信するようにして、各クライアント１６において姿勢情報に基づいて推定現在姿勢情報を順次算出するようにすれば、自動車オブジェクト等のリアルタイムの姿勢をクライアント１６間において擬似的に共有することができる。また、仮想空間におとける位置や姿勢だけでなく、一方の装置においてリアルタイムに生成される長さ、角度、色、大きさ、模様、形状等の各種データを、他方の装置において擬似的に共有するシステムにも、本発明は適用可能である。
【００９１】
図１２は、本発明の一実施形態に係るデータ共有システムの構成を示す図である。このデータ共有システムは、主装置１００と従装置１０２とを含んで構成されている。そして、主装置１００は操作部１０４、現在データ生成部１０６、現在データ表示部１０８、予測将来データ生成部１１０、現在データ及び予測将来データ送信部１１２を含んでいる。また、従装置１０２は現在データ及び予測将来データ受信部１１４、推定現在データ生成部１１６、推定現在データ表示部１１８を含んでいる。
【００９２】
ここで、主装置１００において、操作部１０４は、ユーザが操作信号を入力するものである。また、現在データ生成部１０６は、操作部１０４により入力される操作信号に基づいてリアルタイムに長さ、角度、色、大きさ、模様、形状等を表す現在データを生成する。現在データ出力部１０８は、現在データ生成部１０６により生成される現在データに基づく画像や音声等を出力する。また、予測データ生成部１１０は、現在データ生成部１０６で生成される現在データ及び操作部１０４により入力される操作信号に基づいて、将来のある時刻において現在データ生成部１０６により生成されるであろう現在データを予測将来データとして生成する。そして、現在データ及び予測将来データ送信部１１２は、現在データ及び現在時刻のペア、予測将来データ及び該予測将来データに対応する将来時刻のペアを送信する。なお、これらのデータは従装置１０２に直接送信されてもよいし、他の装置により中継されてもよい。さらに、現在時刻から所定時間が経過した時刻を将来時刻として、主装置１００及び従装置１０２において該所定時間を記憶させておくようにすることで、上記将来時刻を送信することは不要化できる。
【００９３】
一方、従装置１０２において、現在データ及び予測将来データ受信部１１４は、主装置１００の現在データ及び予測将来データ送信部１１２から送信されるデータを受信する。また、推定現在データ生成部１１６は、現在データ及び予測データ受信部１１４により受信されるデータに基づいて、現在時刻において主装置１０６に含まれる現在データ生成部１０６により生成されているであろう現在データを推定し、推定現在データを生成する。なお、主装置１００及び従装置１０２は、ほぼ同期した時刻を管理するため時刻管理手段をいずれも含んでいる。そして、推定現在データ出力部１１８は、推定現在データ生成部１１６により生成される推定現在データに基づく画像や音声等を出力する。こうすれば、現在データ出力部１０８による出力内容と、推定現在データ出力部１１８による出力内容と、を主装置１００と従装置１０２との間の通信量を抑えつつ、ほぼ同期させることができるようになる。
【００９４】
なお、本発明は上記実施形態に限定されるものではない。例えば、本発明は、自動車レースゲームだけでなく、あらゆる種類のネットワークゲームに適用可能である。また、ゲームだけでなく、あらゆる種類の通信システムに適用可能である。
【図面の簡単な説明】
【図１】本発明の実施形態に係るネットワークゲームシステムの全体構成を示す図である。
【図２】仮想空間の一例を示す図である。
【図３】ロビー画面の一例を示す図である。
【図４】対戦画面の一例を示す図である。
【図５】ゲームサーバの機能ブロック図である。
【図６】クライアントの機能ブロック図である。
【図７】ゲームサーバに記憶されるロビーモード用自動車位置テーブルを示す図である。
【図８】ゲームサーバに記憶されるアドレステーブルを示す図である。
【図９】ゲームサーバに記憶される対戦モード用自動車位置テーブルを示す図である。
【図１０】各クライアントに記憶されるリアルタイム自動車データを示す図である。
【図１１】現在位置情報の推定処理を説明する図である。
【図１２】本発明に係るデータ共有システムの機能ブロック図である。
【符号の説明】
１０　ネットワークゲームシステム、１２　ゲームサーバ、１４　インターネット、１６　クライアント、１８　建物、２０　周回コース、２２　ワールド座標系、２４　メッセージログ表示欄、２６　メッセージ入力欄、２８，３０　送信モード切替ボタン、３２　アドレス帳表示欄、３４，４０　プレイヤカー、３６，３８　マーカ、４２　対戦ゲージ、４４　プレイヤゲージ、４６　ライバルゲージ、４８　データベース、５０，８０　時刻管理部、５２　対戦管理部、５４　ＮＰＣデータ生成部、５６，６０　制御部、５８，９２　送信部、６０，９０　受信部、６２　サーバ情報データベース、６４　クライアント情報データベース、６８　サーバ情報更新部、７０　クライアント情報更新部、７２　自動運転部、７３　位置推定部、７４　手動運転部、７６　チャット制御部、７８　位置予測部、８２　モード管理部、８４　受信バッファ、８６　送信バッファ、８８　表示バッファ、９４　表示部、９６　操作部、１００　主装置、１０２　従装置、１０４　操作部、１０６　現在データ生成部、１０８　現在データ出力部、１１０　予測将来データ生成部、１１２　現在データ及び予測将来データ送信部、１１４　現在データ及び予測将来データ受信部、１１６　推定現在データ生成部、１１８　推定現在データ出力部。
【図１】
2004105671.tif 000003
【図２】
2004105671.tif 000004
【図３】
2004105671.tif 000005
【図４】
2004105671.tif 000006
【図５】
2004105671.tif 000007
【図６】
2004105671.tif 000008
【図７】
2004105671.tif 000009
【図８】
2004105671.tif 000010
【図９】
2004105671.tif 000011
【図１０】
2004105671.tif 000012
【図１１】
2004105671.tif 000013
【図１２】
2004105671.tif 000014