(57)【特許請求の範囲】
【請求項１】
複数のクライアントが同時接続されるネットワーク上のサーバを有し、該サーバと接続されたクライアント側の所定の表示画面では、前記複数のクライアントの別にそれぞれ対応付けされているキャラクタ体が背景画像上に表示されるネットワークゲームシステムにおいて、
前記クライアント側からの要求に応じて予め定められた情報を送り返すｗｅｂサーバを利用するにあたり、
前記サーバ側には、
前記ｗｅｂサーバに同時接続されるクライアントの別にそれぞれ対応付けされている前記キャラクタ体の前記所定の背景画像に対する位置を示す座標情報と前記キャラクタ体の画像情報とのうち、前記座標情報のみを統括管理する座標管理用ＣＧＩプログラムと、
前記ゲームの進行にかかるゲーム処理工程がマークアップが可能なマークアップ言語で記述されるハイパーテキストの性質を利用することにより記述されることによって、当該ゲームの進行を分岐可能としたハイパーテキストプログラムと、を設けるとともに、
前記クライアント側には、
前記ｗｅｂサーバにアクセスするにあたり、前記ハイパーテキストプログラムの所在を示すＵＲＬへの接続要求を前記ｗｅｂサーバに対して行うことで、前記ｗｅｂサーバを通じて前記ハイパーテキストプログラムを取得する通信制御手段と、
前記通信制御手段により前記ハイパーテキストプログラムが取得されたとき、該ハイパーテキストプログラムに記述されている前記ゲーム処理工程を解析するプログラム解析手段と、
前記プログラム解析手段による前記ゲーム処理工程の解析結果に基づいて前記座標管理用ＣＧＩプログラムの所在を示すＵＲＬへの接続要求を前記ｗｅｂサーバに対して行うことで、前記同時接続されるクライアントの別にそれぞれ対応付けされている前記キャラクタ体の前記座標情報と前記画像情報とのうち、前記座標情報のみを前記座標管理用ＣＧＩプログラムによって更新記憶させ、該更新記憶された座標情報を前記ｗｅｂサーバを通じて取得する座標情報取得手段と、
前記プログラム解析手段による前記ゲーム処理工程の解析結果に基づいて前記クライアント側からの要求が反映されるかたちでの前記ゲームの進行にかかる制御を行うゲーム進行制御手段と、
前記座標情報取得手段により前記更新記憶された座標情報が取得されたとき、前記所定の表示画面のうちの前記取得された座標情報により示される位置に前記キャラクタ体を表示するキャラクタ体表示制御手段と、を設け、
前記キャラクタ体表示制御手段は、
前記キャラクタ体を前記所定の表示画面にて一旦表示した後、前記座標情報取得手段により前記更新記憶された座標情報が新たに取得されたときは、該新たな座標情報により示される位置に前記キャラクタ体を更新表示するにあたり、前記所定の表示画面にて該当するキャラクタ体が現在位置している座標情報と、前記新たな座標情報との差分を算出して、該算出された差分を埋める連続的な画像が現れるようにした
ことを特徴とするネットワークゲームシステム。
【請求項２】
前記クライアント側には、
前記プログラム解析手段による前記ゲーム処理工程の解析結果に基づいて背景画像の所在を示す情報を得て、該所在を示す情報に基づいて前記背景画像を取得する背景画像情報取得手段と、
前記背景画像情報取得手段によって取得された前記背景画像を前記所定の表示画面にて表示する背景画像表示制御手段と、
がさらに設けられており、
前記背景画像情報取得手段は、前記座標情報取得手段による前記座標情報の取得頻度よりも低い頻度をもって前記背景画像を取得する
請求項１に記載のネットワークゲームシステム。
【請求項３】
前記クライアント側には、
前記ｗｅｂサーバに同時接続されるクライアントの別にそれぞれ対応付けされている前記キャラクタ体の画像情報を取得する画像情報取得手段がさらに設けられており、
前記画像情報取得手段は、前記座標情報取得手段による前記座標情報の取得頻度よりも低い頻度をもって前記キャラクタ体の画像情報を取得するとともに、
前記キャラクタ体表示制御手段は、前記画像情報取得手段により取得された画像情報に基づいて前記キャラクタ体を前記所定の表示画面に表示するものである
請求項１または２に記載のネットワークゲームシステム。
【請求項４】
前記ハイパーテキストプログラムは、タグによるマークアップが可能なマークアップ言語であり、
前記ハイパーテキストプログラムは、前記マークアップ言語のマークアップ機能の１つとして分岐構造が定義付けされており、該定義付けされている分岐構造を利用して前記ゲーム処理工程を記述することによって前記ゲームの進行を分岐可能としたものである
請求項１〜３のいずれか一項に記載のネットワークゲームシステム。
【請求項５】
前記ハイパーテキストプログラムは、ハイパーリンクを含むＸＭＬである
請求項４に記載のネットワークゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のクライアントが同時接続されるネットワーク上のサーバを有し、該サーバと接続されたクライアント側の所定の表示画面では、前記複数のクライアントの別にそれぞれ対応付けされているキャラクタ体が背景画像上に表示されるネットワークゲームシステムに関するものである。
【背景技術】
【０００２】
従来、複数のクライアントが同時接続されるネットワーク上のサーバを通じてゲームが提供されるネットワークゲームシステムでは、これらクライアントに対して該サーバからゲームプログラムが提供されることで該プログラムのもとで複数のクライアントが同時参加できるようになっている。このようなネットワークゲームにおいては、当該ゲームを管理する統括管理者の取り決めたシナリオ等の範囲内でしかゲームが進行しないようになっている。そして、ゲームサーバ側においては、ゲームサーバに接続しているクライント毎に対応付けされているキャラクタをサーバ側で一元管理するとともに、ゲームプログラムの主な実行と各種ゲームデータなどを一元管理することで、該クライアント側の表示機器で同じ表示画像を提供するようになっている。その結果、ゲームサーバに接続している各クライントには、該サーバに同時接続している複数のクライントがゲームに同時参加する仮想空間が提供されるようになっている（例えば、特許文献１）。
【特許文献１】特開２００７ー０９８０６３
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１のようなネットワークゲームにおいては、ゲームサーバからゲームプログラムが提供されており、該プログラムにゲームのシナリオやゲームで使用する画像などが予め用意されている。したがって、プレイヤーが該プレイヤー自身の望むシナリオ等のもとでゲームをプレイしたいと思った場合には、同プレイヤーがゲームサーバの統括管理者になる必要があるが、一個人がゲームサーバを用意することは困難であり、これは現実的でなかった。これに対し、一個人が容易に管理者となり得るネットワーク上のサーバとしてホームページ用に普及しているｗｅｂサーバがある。そして近年は、このｗｅｂサーバ側にて用意される画像や文字など表示内容の一部を書き換えるＣＧＩプログラムも搭載されつつある。そこで、ゲームを提供するためのサーバとして、このようなｗｅｂサーバを利用するようにすることも考えられる。ただし周知の通り、このｗｅｂサーバとは、いわゆる要求応答型のサーバであり、サーバからクライアントに対して要求を行うことはできない。すなわち、サーバ、クライアントで双方向に要求を送ることのできる、いわゆる対話型のサーバが採用されることが多いゲームサーバとはそもそも異なる構造を有したものである。このようなｗｅｂサーバでは、クライアント側の処理の進捗状況等に応じて適切な応答がその都度求められるゲームサーバとしては利用し難いものであることはもとより、クライアント側との接続が一時的にしか維持されないため、リアルタイム性にも劣ってしまう。
【０００４】
本発明は、こうした従来の実情に鑑みてなされたものであり、その目的は、ネットワークゲームの提供に際しｗｅｂサーバを用いることで、一個人が容易にゲームの統括管理者になることができるネットワークゲームシステムを提供することにある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために請求項１に記載の発明は、複数のクライアントが同時接続されるネットワーク上のサーバを有し、該サーバと接続されたクライアント側の所定の表示画面では、前記複数のクライアントの別にそれぞれ対応付けされているキャラクタ体が背景画像上に表示されるネットワークゲームシステムにおいて、前記クライアント側からの要求に応じて予め定められた情報を送り返すｗｅｂサーバを利用するにあたり、前記サーバ側には、前記ｗｅｂサーバに同時接続されるクライアントの別にそれぞれ対応付けされている前記キャラクタ体の前記所定の背景画像に対する位置を示す座標情報と前記キャラクタ体の画像情報とのうち、前記座標情報のみを統括管理する座標管理用ＣＧＩプログラムと、前記ゲームの進行にかかるゲーム処理工程がタグによるマークアップが可能なマークアップ言語で記述されるハイパーテキストの性質を利用することにより記述されることによって、当該ゲームの進行を分岐可能としたハイパーテキストプログラムと、を設けるとともに、前記クライアント側には、前記ｗｅｂサーバにアクセスするにあたり、前記ハイパーテキストプログラムの所在を示すＵＲＬへの接続要求を前記ｗｅｂサーバに対して行うことで、前記ｗｅｂサーバを通じて前記ハイパーテキストプログラムを取得する通信制御手段と、前記通信制御手段により前記ハイパーテキストプログラムが取得されたとき、該ハイパーテキストプログラムに記述されている前記ゲーム処理工程を解析するプログラム解析手段と、前記プログラム解析手段による前記ゲーム処理工程の解析結果に基づいて前記座標管理用ＣＧＩプログラムの所在を示すＵＲＬへの接続要求を前記ｗｅｂサーバに対して行うことで、前記同時接続されるクライアントの別にそれぞれ対応付けされている前記キャラクタ体の前記座標情報と前記画像情報とのうち、前記座標情報のみを前記座標管理用ＣＧＩプログラムによって更新記憶させ、該更新記憶された座標情報を前記ｗｅｂサーバを通じて取得する座標情報取得手段と、前記プログラム解析手段による前記ゲーム処理工程の解析結果に基づいて前記クライアント側からの要求が反映されるかたちでの前記ゲームの進行にかかる制御を行うゲーム進行制御手段と、前記座標情報取得手段により前記更新記憶された座標情報が取得されたとき、前記所定の表示画面のうちの前記取得された座標情報により示される位置に前記キャラクタ体を表示するキャラクタ体表示制御手段と、を設け、前記キャラクタ体表示制御手段は、前記キャラクタ体を前記所定の表示画面にて一旦表示した後、前記座標情報取得手段により前記更新記憶された座標情報が新たに取得されたときは、該新たな座標情報により示される位置に前記キャラクタ体を更新表示するにあたり、前記所定の表示画面にて該当するキャラクタ体が現在位置している座標情報と、前記新たな座標情報との差分を算出して、該算出された差分を埋める連続的な画像が現れるようにしたことを要旨とする。
【０００６】
前述の通り、複数のクライアントが同時接続されるネットワーク上のサーバを通じてゲームが提供されるネットワークゲームシステムでは、当該ゲームを管理する統括管理者の取り決めたシナリオ等の範囲内でしかゲームが進行しないようになっている。したがって、プレイヤーが該プレイヤー自身の望むシナリオ等のもとでゲームをプレイしたいと思った場合には、同プレイヤーがゲーム提供者としてゲームサーバの統括管理者になる必要があるが、一個人がゲームサーバを用意することは困難であり、これは現実的でなかった。
【０００７】
これに対し、一個人が容易に管理者となり得るネットワーク上のサーバとしてホームページ用に普及しているｗｅｂサーバがある。そして近年は、このｗｅｂサーバ側にて用意される画像や文字など表示内容の一部を書き換えるＣＧＩプログラムも搭載されつつある。そこで、ゲームを提供するためのサーバとして、このようなｗｅｂサーバを利用するようにすることも考えられる。
【０００８】
ただし周知の通り、このｗｅｂサーバとは、いわゆる要求応答型のサーバであり、サーバからクライアントに対して要求を行うことはできない。すなわち、サーバ、クライアントで双方向に要求を送ることのできる、いわゆる対話型のサーバが採用されることが多いゲームサーバとはそもそも異なる構造を有したものである。このようなｗｅｂサーバでは、クライアント側の処理の進捗状況等に応じて適切な応答がその都度求められるゲームサーバとしては利用し難いものであることはもとより、クライアント側との接続が一時的にしか維持されないため、リアルタイム性にも劣ってしまう。
【０００９】
この点、上記構成では、ｗｅｂサーバに同時接続されるクライアントの別にそれぞれ対応付けされている上記キャラクタ体の上記所定の背景画像に対する位置を示す座標情報と前記キャラクタ体の画像情報とのうち、上記座標情報のみを統括管理する座標管理用ＣＧＩプログラムと、上記ゲームの進行にかかるゲーム処理工程が上記ハイパーテキストの性質を利用することにより記述されることによって、当該ゲームの進行先を上記クライアント側からの要求に応じて分岐可能としたハイパーテキストプログラムと、をサーバ側にて設けることとした。そしてこの上で、ｗｅｂサーバにアクセスするにあたり、上記ハイパーテキストプログラムの所在を示すＵＲＬへの接続要求を上記ｗｅｂサーバに対して行うことで、上記ｗｅｂサーバを通じて上記ハイパーテキストプログラムを取得する通信制御手段と、上記通信制御手段により上記ハイパーテキストプログラムが取得されたとき、該ハイパーテキストプログラムに記述されている上記ゲーム処理工程を解析するプログラム解析手段と、上記プログラム解析手段による上記ゲーム処理工程の解析結果に基づいて上記座標管理用ＣＧＩプログラムの所在を示すＵＲＬへの接続要求を上記ｗｅｂサーバに対して行うことで、上記同時接続されるクライアントの別にそれぞれ対応付けされている上記キャラクタ体の上記座標情報と上記画像情報とのうち、上記座標情報のみを上記座標管理用ＣＧＩプログラムによって更新記憶させ、該更新記憶された座標情報を上記ｗｅｂサーバを通じて取得する座標情報取得手段と、上記プログラム解析手段による上記ゲーム処理工程の解析結果に基づいて上記クライアント側からの要求が反映されるかたちでの上記ゲームの進行にかかる制御を行うゲーム進行制御手段と、上記座標情報取得手段により上記更新記憶された座標情報が取得されたとき、上記所定の表示画面のうちの上記取得された座標情報により示される位置に上記キャラクタ体を表示するキャラクタ体表示制御手段と、をクライアント側にて設けることとした。
【００１０】
したがって、クライアント側から要求があったときだけ予め定められた情報を送り返す、といった機能のみを専ら有する要求応答型のｗｅｂサーバを利用しながらも、上記ハイパーテキストプログラムに記述されたゲーム処理工程（例えば、ゲームをプレイするにあたり、クライアント側にて行われるべき処理の手順など）が上記クライアント側にて解析されることで、キャラクタ体の座標情報の統括管理（例えば、座標情報の定期的な更新処理など）や、ゲームの進行にかかる制御（例えば、シナリオを進行させるための処理など）、等々といった処理をクライアント側からの要求に応じたかたちで適切に実行することができるようになる。
【００１１】
しかも、上記構成では、ゲームのリアルタイム性についてはキャラクタ体の位置的変化によるところが大きいことに鑑み、上記ｗｅｂサーバを利用するにあたり、キャラクタ体の上記座標情報と上記画像情報とのうち、前記座標情報のみを統括管理する座標管理用ＣＧＩプログラムを備えることとした。そして、キャラクタ体の移動に際しての表示内容の更新表示については各クライアント側での処理として行うようにしている（キャラクタ体表示制御手段）。すなわちこの場合、ｗｅｂサーバとクライアント側との間での情報授受プロトコルとしてＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）が採用されるシステムでありながらも、クライアント側からの表示内容の更新要求に対し、その表示内容の変更にかかる画像処理（画像情報の記憶処理など）を、複数のクライアントが同時接続されるサーバ側にて行わずともよくなる。これにより、キャラクタ体に位置的変化が生じたときのサーバ側での処理負荷を軽減し、サーバ側の応答速度を大きく改善することができるようになり、上述の性質を有したｗｅｂサーバを利用しつつも、ゲームのリアルタイム性を好適に維持することができるようになる。
【００１２】
またさらに、上記構成では、キャラクタ体表示制御手段が、キャラクタ体を上記所定の表示画面にて一旦表示した後、上記座標情報取得手段により上記更新記憶された座標情報が新たに取得されたときは、該新たな座標情報により示される位置に上記キャラクタ体を更新表示するにあたり、上記所定の表示画面にて該当するキャラクタ体が現在位置している座標情報と、上記新たな座標情報との差分を算出して、該算出された差分を埋める連続的な画像が現れるようにした。このような上記算出された差分を埋める連続的な画像の表示を通じて、要求応答型のサーバ（ｗｅｂサーバ、ＣＧＩプログラム）を利用したことによる通信遅れが生じてしまった場合であっても、プレイヤーに違和感を与えることなく、表示内容の変更にかかる画像処理（画像情報の記憶処理など）をクライアント側にて行うことができるようになる。
【００１３】
このように構成されるネットワークゲームシステムでは、ホームページ用に普及しているｗｅｂサーバをゲームサーバとしてほぼそのまま利用可能としたため、一個人が容易にゲームの統括管理者になることができ、ネットワークゲームを提供することができるようになる。
【００１４】
なお、座標管理用ＣＧＩプログラムとは、クライアント側からのＨＴＴＰ通信による要求に対して結果をＨＴＴＰ通信によって送り返す、所謂、コモン・ゲートウェイ・インターフェイスのことである。この意味では、サーブレット等のプログラムも含まれる。
【００１５】
また、ゲーム処理工程とは、例えば、複数の処理工程が予め定められた順序でのみ順次実行される順接工程と、条件によって複数の処理工程のうちのいずれかが実行される分岐工程との組み合わせによって構成されてなるものである。このような構成では、ハイパーテキストプログラムにより、ゲームのシナリオなどをｗｅｂサーバにおいて、構築することができる。そして、ハイパーテキストプログラムでは、ハイパーリンクの性質を利用してゲーム処理工程を構築することにより、各処理工程同士がリンクして構築されている。すなわち、例えば、順接処理によりイベント１、イベント２、イベント３を予め定めた順に実行させるようにゲームを進行させる処理を構築することができる。また、例えば、イベント１により所定の条件を満たす場合にはイベント３が予めリンクされており分岐処理によりイベント３を実行させる一方、で、所定の条件を満たさない場合にはイベント４が予めリンクされており分岐処理によりイベント４を実行させる処理を構築することができる。また、例えば、順接処理と、分岐処理とを組み合わせることにより、所定の条件を満たしている間は、イベント１を繰り返し実行し、所定の条件を満たさない場合にイベント２にゲームを進行させる処理を構築することができる。そして、これら各処理間にハイパーリンクの性質によりリンクを持たせることでゲーム処理工程を構築することができる。その結果、ホームページ用のｗｅｂサーバを利用してネットワークゲームを提供することができる。また、ハイパーリンク機能を用いることで、複数のｗｅｂサーバ間での分散処理も実現可能となる。
【００１６】
請求項２に記載の発明は、請求項１に記載のネットワークゲームシステムにおいて、前記クライアント側には、前記プログラム解析手段による前記ゲーム処理工程の解析結果に基づいて前記背景画像の所在を示す情報を得て、該所在を示す情報に基づいて前記背景画像を取得する背景画像情報取得手段と、前記背景画像情報取得手段によって取得された前記背景画像を前記所定の表示画面にて表示する背景画像表示制御手段と、がさらに設けられており、前記背景画像情報取得手段は、前記座標情報取得手段による前記座標情報の取得頻度よりも低い頻度をもって前記背景画像を取得することを要旨とする。
【００１７】
座標情報は、クライアント側の所定の背景画像に対する座標を示すものであって、該背景画像に比較して容量の少ない情報である。このため、所定の表示画面におけるキャラクタ体の更新に際しては、クライアント側とｗｅｂサーバ側とで容量の少ない座標情報の送受信を行うことで実現させ、容量の多い背景画像の送受信が行われる頻度を減少させた。このような構成によれば、座標情報に比較して低い頻度で背景画像を取得することとなり、その結果、ｗｅｂサーバとクライアント間の通信負担を軽減することができる。
【００１８】
請求項３に記載の発明によれば、請求項１又は請求項２に記載のネットワークゲームシステムにおいて、前記クライアント側には、前記ｗｅｂサーバに同時接続されるクライアントの別にそれぞれ対応付けされている前記キャラクタ体の画像情報を取得する画像情報取得手段がさらに設けられており、前記画像情報取得手段は、前記座標情報取得手段による前記座標情報の取得頻度よりも低い頻度をもって前記キャラクタ体の画像情報を取得するとともに、前記キャラクタ体表示制御手段は、前記画像情報取得手段により取得された画像情報に基づいて前記キャラクタ体を前記所定の表示画面に表示するものであることを要旨とする。
【００１９】
座標情報は、クライアント側の所定の背景画像に対する座標を示すものであって、クライアントの別にそれぞれ対応付けされているキャラクタ体に比較して容量の少ない情報である。このため、所定の表示画面におけるキャラクタ体の更新に際しては、クライアント側とｗｅｂサーバ側とで容量の少ない座標情報の送受信を行うことで実現させ、容量の多いキャラクタ体に関する処理頻度を減少させた。さらに、キャラクタ体の表示に関しては、画像情報取得手段により取得されている画像情報に基づきクライアント側のキャラクタ体表示制御手段により所定の表示画面の表示制御を行うように構成した。このような構成によれば、座標情報に比較して比較して低い頻度でキャラクタ体の画像情報を取得することとなり、その結果、ｗｅｂサーバとクライアント間の通信負担を軽減することができる。
【００２０】
なお、キャラクタ体の画像情報は、キャラクタ体の画像の所在を示すＵＲＬなどの情報や、キャラクタ体の画像を示す情報や、キャラクタ体の画像そのものであってもよい。なおこのうち、キャラクタ体の画像情報が所在を示す情報であり、該所在を示す情報がｗｅｂサーバ上を示している場合には該ｗｅｂサーバ上にキャラクタ体の画像が存在することとなる。ただし、キャラクタ体の画像は、クライアント側で用意されている場合もあり、そのようなとき所在を示す情報はクライアント側を示すこととなる。
【００２１】
請求項４に記載の発明は、請求項１〜３のいずれか一項に記載のネットワークゲームシステムにおいて、前記ハイパーテキストは、タグによるマークアップが可能なマークアップ言語であり、前記ハイパーテキストプログラムは、前記マークアップ言語のマークアップ機能の１つとして分岐構造が定義付けされており、該定義付けされている分岐構造を利用して前記ゲーム処理工程を記述することによって前記ゲームの進行を分岐可能としたものであることを要旨とする。
【００２２】
このような構成にかかるハイパーテキストプログラムでは、マークアップ言語におけるマークアップの意味を自由に定義付けできるといった性質を利用して、マークアップ言語のマークアップ機能の１つとして分岐構造が定義付けされている。そしてこの上で、該定義付けされた分岐構造を利用して上記ゲーム処理工程を記述することによってゲームの進行を分岐可能としたため、例えばＣ言語等でプログラムを最初から作成した場合と比較してコード量が少なくなり、プログラムの管理を容易にすることができるようになる。また、クライアント側の上記通信制御手段によるハイパーテキストプログラムの取得に際し、通信負荷を軽減することができるようになる。
【００２３】
請求項５に記載の発明は、請求項４に記載のネットワークゲームシステムにおいて、前記ハイパーテキストプログラムは、前記ハイパーリンクを含むＸＭＬであることを要旨とする。
【００２４】
一般的にホームページ用のｗｅｂサーバを利用するシステムでは、ｗｅｂサーバとクライアント側においてＸＭＬで記述されたデータの情報授受が行われている。このため、ホームページ用のｗｅｂサーバをゲームサーバとして利用する場合には、ＸＭＬでハイパーテキストプログラムを記述することにより従前から存在するホームページ用のｗｅｂサーバで利用されるシステムをそのまま利用することで汎用性を確保することができる。例えば、ゲーム解析手段としては、ハイパーテキストプログラムをＸＭＬで記述することで、従前から存在するＸＭＬ用の構文解析器をそのまま利用することが可能となる。
【発明の効果】
【００２７】
本願発明によれば、ネットワークゲームの提供に際しｗｅｂサーバを用いることで、一個人が容易にゲームの統括管理者になることができるネットワークゲームシステムを提供することにある。
【発明を実施するための最良の形態】
【００２８】
以下、本発明をオンラインゲームシステムに適用した一実施形態を図１〜図７に基づいて説明する。
ネットワークゲームシステムとは、複数のプレイヤーが該プレイヤーのパーソナルコンピュータ（以下、「クライアント」と示す）によりインターネット上のサーバにそれぞれ接続することで、該サーバを通じて各クライアントにゲームを提供するシステムである。そして、前記サーバは、各クライントが前記サーバに同時に接続する場合、これら同時に接続する各クライアントを対象にしてゲームを提供するようになっている。すなわち、ネットワークゲームシステムでは、複数のクライアント（プレイヤー）に対して同時に同じゲームを提供するものである。
【００２９】
また、ネットワークゲームでは、サーバに接続している各クライアントに対して該サーバに同時に接続しているクライアントの情報を提供して、同じ仮想空間を共有することができるゲームを提供するものである。なお、仮想空間とは、インターネット上に形成されるデータにより構成される空間のことである。
【００３０】
このような複数のクライアントが同時接続されるネットワーク上のサーバを通じてゲームが提供されるネットワークゲームシステムでは、当該ゲームシステムを管理する統括管理者の取り決めたシナリオ等の制約の範囲内でしかゲームが進行しないようになっている。したがって、プレイヤーが該プレイヤー自身の望むシナリオ等のもとでゲームをプレイしたいと思った場合には、同プレイヤーがゲームサーバの統括管理者になる必要があるが、一個人がゲームサーバを用意することは困難であり、これは現実的でなかった。
【００３１】
これに対し、一個人が容易に管理者となり得るネットワーク上のサーバとしてホームページ用に普及しているｗｅｂサーバがある。そして、近年は、このｗｅｂサーバ側にて用意される画像や文字など表示内容の一部を書き換えるＣＧＩプログラムも搭載されつつある。なお、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）とは、ｗｅｂサーバがクライアントからの要求に応じて、プログラムを起動する仕組みであり、本発明では、クライアントからのＨＴＴＰ通信による要求に対してプログラムを動作させ、結果をＨＴＴＰ通信によって送り返すインタフェースという意味で利用している。そこで、ネットワークゲームを提供するためのサーバとして、このようなｗｅｂサーバを利用するようにすることも考えられる。図１に示すように、インターネット上においては、サーバとして複数のｗｅｂサーバとなるサーバＳ１，Ｓ２，Ｓ３，・・・，ＳＮと、これら複数のｗｅｂサーバに対して複数のクライアントＣ１，Ｃ２，・・・，ＣＮが接続可能に構築されたネットワーク環境とを有している。そして、サーバＳ１，Ｓ２，Ｓ３・・・ＳＮは、該サーバＳ１，Ｓ２，Ｓ３，・・・，ＳＮとクライアントとの間での情報授受プロトコルとしてＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）が採用されるシステムで構成されるものであって、専らホームページ用に用いられる要求応答型のｗｅｂサーバである。
【００３２】
ただし、周知の通り、このサーバＳ１，Ｓ２，Ｓ３・・・，ＳＮとは、いわゆる要求応答型のサーバであり、サーバからクライアントに対して要求を行うことはできない。すなわち、サーバ、クライアントで双方向に要求を送ることのできる、いわゆる対話型のサーバが採用されることが多いゲームサーバとはそもそも異なる構造を有したものである。このような要求応答型のｗｅｂサーバでは、クライアント側の処理の進捗状況等に応じて適切な応答がその都度求められるゲームサーバとしては利用し難いものであることはもとより、クライアント側との接続が一時的にしか維持されないため、リアルタイム性にも劣ってしまう。結果、該ｗｅｂサーバを通じてネットワークゲームを提供することは単純なものではない。そこで、本実施形態では、ｗｅｂサーバを利用するにあたり該ｗｅｂサーバをそのまま利用するとともに、ゲームに関するクライアント側の表示画面における表示内容の更新表示については各クライアント側での処理として行うように構成することで、ｗｅｂサーバを用いてネットワークゲームを提供することができるようにしている。
【００３３】
すなわち、図２に示すように、本実施形態では、サーバＳにクライアントＣからｗｅｂサーバに対してＨＴＴＰ通信による接続要求を行うことで、ネットワークゲームが行われるように構成されている。すなわち、本実施形態では、複数のクライアントが同時接続されるネットワーク上のサーバを有し、該サーバと接続されたクライアント側の所定の表示画面ＨＧでは、前記複数のクライアントの別にそれぞれ対応付けされているキャラクタ体が背景画像上に表示されるネットワークゲームシステムにおいて、ネットワーク上に共通して形成される仮想空間内で、複数のクライントＣがそれぞれに対応付けされるキャラクタを操作して、共通する目的を達成する、所謂、ネットワークＲＰＧゲームを提供するようになっている。なお、図２では、クライアントとしてクライアントＣのみを示しているが、実際には図１に示すように複数のクライアントが存在しており、サーバＳに対して複数のクライアントが同時に接続されるようになっている。
【００３４】
図２に示すように、クライアントＣは、ゲームブラウザ２０ａにより、サーバＳ内のｗｅｂサーバプログラム２０ｂにＨＴＴＰ通信（要求）を行い接続要求することで、各種ファイルや、座標情報などの各種データを取得することができ、該クライアントＣ側の表示画面ＨＧにゲームに係るゲーム画面を表示させてネットワークゲームを行うことができるようになっている。本実施形態において、ゲームブラウザ２０ａは、サーバＳからＨＴＴＰ通信を利用して、ハイパーテキストファイル、マルチメディアファイルなどの各種ファイルを取得し、該ハイパーテキストファイル（ハイパーテキストプログラム）に記述されているゲーム内容を解釈し、実際のゲーム画面としてクライアントＣ側の表示画面ＨＧに表示し、プレイヤーからの入力に対して適切なゲーム処理を行うためのアプリケーション・ソフトウェアのことである。すなわち、ゲームブラウザ２０ａは、ハイパーテキストファイルの所在を示すＵＲＬへの接続要求をｗｅｂサーバプログラム２０ａに対して行うことで、前記ｗｅｂサーバプログラム２０ｂを通じてハイパーテキストファイルを取得する通信制御手段に相当する。本実施形態において、ハイパーテキストファイルは、ネットワークゲームの仮想空間を構築するための背景画像となるフィールド情報や、前期フィールド上に存在する仮想的な人物や動物を表すキャラクタ体、仮想空間内で発生するイベント等を示す情報を、文書間の関係をハイパーリンクで表現したものであり、所謂、ゲームプログラムである。なお、ＵＲＬとは、インターネット上に存在する情報資源の場所を指し示す記述方式であり、サーバ名、ポート番号、ファイルパスなどで構成される。また、ハイパーテキストとは、文書の任意の場所に、他の文書の位置情報を埋め込み、複数の文書を相互に連結できる文書のことである。
【００３５】
一方、サーバＳは、ｗｅｂサーバプログラム２０ｂにゲームブラウザ２０ａを通じてクライアントＣからＨＴＴＰ通信により接続要求がされる場合に、該ｗｅｂサーバプログラム２０ｂを通じてクライアントＣからのＨＴＴＰ要求に対して、適切なＨＴＴＰ応答を返す。そして、ｗｅｂサーバプログラム２０ｂは、クライアントＣから要求されたＵＲＬが外部記憶装置２０ｃ上のハイパーテキストファイル、もしくは、画像データ、音楽データ、動画データなどのマルチメディアファイルの所在を示すＵＲＬなどの情報を指していた場合、該情報に対応したハイパーテキストファイル、もしくは、画像データ、音楽データ、動画データなどのマルチメディアファイルをクライアントＣに対して送り返す。
【００３６】
また、ｗｅｂサーバプログラム２０ｂは、クライアントＣからＣＧＩ２０ｄの起動要求があった場合、すなわち、要求されたＵＲＬがＣＧＩ２０ｄの所在を示すＵＲＬなどの情報であった場合、ＵＲＬに該当するＣＧＩプログラム、またはＣＧＩスクリプトを実行し、その結果を返す。なお、スクリプトとは、インタプリタ型の言語で記述された実行ファイルのことである。ＣＧＩ２０ｄは、ｗｅｂサーバプログラム２０ｂを通じたクライアントＣからの接続要求に対して、スクリプト、又はプログラムを起動させ、その結果を返す機能を有している。そして、ＣＧＩ２０ｄは、ｗｅｂサーバプログラム２０ｂを通じてクライアントＣから接続要求されると、外部記憶装置２０ｃ上に記録されているＣＧＩファイルを実行し、現在同一ＣＧＩ２０ｄ（サーバＳ）に対して接続を行っているプレイヤー情報２０ｅのデータの参照、書き換えを行い、クライアントの名前やキャラクタ体のグラフィック等のプロファイル情報とキャラクタ体の座標情報の管理を行うものである。したがって、本実施形態においてＣＧＩ２０ｄは、サーバＳに接続している各クライアントに関わるプレイヤー情報２０ｅを更新し、各クライアント間で情報を共有する役割を持つ。なお、本実施形態では、プレイヤー情報２０ｅとして、サーバＳに接続しているクライアント毎に対応しているキャラクタ体毎のグラフィック等のプロファイル情報から構成される識別情報と、該識別情報に対応するように各キャラクタ体の座標情報とが管理されている。すなわち、各クライアント、及び各クライアントに対応するキャラクタは、識別情報によりそれぞれ区別可能に構成されている。
【００３７】
また、本実施形態では、ゲーム画面の表示に関わる前期ハイパーテキストファイル、また該ハイパーテキストファイルから参照されるマルチメディアファイルと、プレイヤー情報２０ｅのデータの参照、書き換えを行い、クライアントの名前やキャラクタ体のグラフィック等のプロファイル情報とキャラクタ体の座標情報とのうち、プレイヤー情報２０ｅのデータの参照、書き換えを行い、クライアントの名前やキャラクタ体のグラフィック等のプロファイル情報とキャラクタ体の座標情報のみの管理を行うようになっている。すなわち、ＣＧＩ２０ｄは、サーバＳに同時接続されるクライアントの別にそれぞれ対応付けされているキャラクタ体の座標情報と、キャラクタ体の所在を示す画像情報とのうち、該座標情報のみを統括管理する座標管理用ＣＧＩプログラムのことである。また、本実施形態において、座標情報とは、クライアントＣ側の表示画面ＨＧに表示される、前記キャラクタ体の背景画像に対する位置を示すものである。すなわち、クライアントＣ側では、前期座標情報をもって、該キャラクタ体が表示されている位置を把握している。なお、本実施形態では、クライアントＣの表示画面ＨＧの座標位置を（Ｘ，Ｙ）とし、背景画像の左上を座標位置（０，０）としている。そして、背景画像における座標位置は、座標位置（０，０）を基準に右方にいくほど座標位置「Ｘ」の数値が増加するとともに、座標位置（０，０）基準に下方にいくほど座標位置「Ｙ」の数値が増加するように定められている。ここで、背景画像がクライアントＣ側の表示画面ＨＧ内に収まりきらない場合は、クライアントＣのプレイヤーが操作するキャラクタ体を中心として、表示画面ＨＧの解像度で表示できる範囲のみを描画する。
【００３８】
次に、サーバＳを管理し、クライアントＣにネットワークゲームを提供するゲーム管理者Ｍ側で利用するシステムを図３に示す。ゲーム管理者Ｍは、ゲームのマップ、キャラクタ体、イベント等をハイパーテキストファイルに記述し、このパイパーテキストファイルと、ハイパーテキストファイルから参照されるマルチメディアファイル、ＣＧＩファイルを、ネットワークを介してファイルサーバプログラム２０ｆにアップロード要求を行うようになっている。ファイルサーバプログラム２０ｆは、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルを利用して、ゲーム管理者ＭからサーバＳの外部記憶装置２０ｃに各種ファイルの転送を行う機能を持つプログラムである。そして、ファイルサーバプログラム２０ｆにより、ハイパーテキストファイル、マルチメディアファイル及びＣＧＩファイルは、サーバＳ上（外部記憶装置２０ｃ）にアップロードされるようになっている。なお、本実施形態において、マルチメディアファイルには、クライアントＣの表示画面ＨＧのゲーム画面を構成する背景画像としてのフィールド情報を表すフィールド用画像データや、該背景画像上に存在する仮想的な人物や動物を示す仮想キャラクタ用データや、各クライアントに対応するキャラクタ体を示すプレイヤー用キャラクタデータなどの画像データ、各種音声データなどがある。
【００３９】
次に、図３に示すシステムに従い、サーバＳ上にアップロードするハイパーテキストファイルについて図４（ａ）〜図４（ｃ）に基づき説明する。
本実施形態においてハイパーテキストファイルは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ベースの言語で記述されている。ＸＭＬ言語は、文書やデータの意味と構造を記述するためのマークアップ言語のひとつで、ホームページを構成する目的で利用されるＨＴＭＬと同様に扱うことのできる形式を目指したものである。具体的には、“＜”，“＞”で囲った部分をタグと呼び、“＜ｔａｇ＞”がタグの開始、“＜／ｔａｇ＞”がタグの終端をそれぞれ表し、タグの開始と終端で文字列を囲うことでタグの内容が表現できる。さらに、＜ｔａｇ１＞  ＜ｔａｇ２＞  ＜／ｔａｇ２＞  ＜／ｔａｇ１＞というように、タグをタグで囲うことで、階層的な構造を表すこともできる。ＸＭＬはすなわち、タグによるマークアップが可能なマークアップ言語である。なお、ＸＭＬとは、文書やデータの意味、構造を記述するために、利用者がタグと呼ばれる特定の文字列を独自に定めることができ、地の文に構造を埋め込んでいくことのできる言語のことである（本実施形態ではＪＩＳ  Ｘ  ４１５９：２００２）。また、マークアップ言語とは、タグと呼ばれる特定の文字列で地の文に構造や意味を埋め込んでいく言語のことである。
【００４０】
そして、本実施形態では、ＸＭＬ言語の独自のタグを指定することで、その意味を与え、機能を記述することができるという特徴を利用し、ネットワークゲームを表現するために必要な情報として、独自のタグのセット（集合）を定義している。このタグの種類は多数に及ぶため、全てのタグについての説明は省略するが、以下に、具体的な幾つかの例を挙げる。
【００４１】
＜ＭＡＰ＞のタグは、クライアントＣ側の表示画面ＨＧに構成される仮想空間内の地形を表し、地形のグラフィックや、該表示画面ＨＧ上に表示されているキャラクタがその場所に侵入することが可能かどうかというデータを表現する。また、＜ＣＨＡＲＡＣＴＥＲ＞のタグは、クライアントＣ側の表示画面ＨＧに構成される仮想空間内に存在する登場人物を表し、登場人物のグラフィックや動作のパターンなどを表現する。また、＜ＥＶＥＮＴ＞のタグは、プレイヤーが特定の操作をしたときに発生する出来事を表し、その処理工程を記述する。具体的に処理工程とは、メッセージの表示＜ＭＥＳＳＡＧＥ＞、キャラクタ体の座標や属性の変更＜ＳＥＴＰＯＳＩＴＩＯＮ＞など、マルチメディアファイルの再生と停止＜ＰＬＡＹ＞、＜ＳＴＯＰ＞、表示画面ＨＧへの視覚的な演出＜ＥＦＦＥＣＴ＞、ＵＲＬ指定による別ＸＭＬファイルの読み込み＜ＧＯ＞、別ゲームの起動＜ＥＸＥＣＵＴＥ＞、内部変数の参照＜ＧＥＴＶＡＲ＞、内部変数の変更＜ＳＥＴＶＡＲ＞などのタグによる処理の組み合わせにより構成されている。また、本実施形態の処理工程は、順接工程、分岐工程及び反復工程のこれらの工程の組み合わせによる制御構造で表現されるようになっている（図４参照）。
【００４２】
図４（ａ）に示すように、処理工程４０ａ，４０ｂ，４０ｃは、順接工程の例である。ここで処理工程４０ａは、＜ＥＶＥＮＴ１＞タグに対応する処理を実行することを示すものであるとともに、処理工程４０ｂは、＜ＥＶＥＮＴ２＞タグに対応する処理を実行することを示すものである。また、処理工程４０ｃは、＜ＥＶＥＮＴ３＞タグに対応する処理を実行することを示すものである。そして、順接工程では、複数の処理工程４０ａ，４０ｂ，４０ｃが予め定められた順序でのみ実行される。このため、タグを順に記述した場合に、処理工程４０ａ→処理工程４０ｂ→処理工程４０ｃの順に、全ての処理工程（イベント）が実行される。なお、ここで＜ＥＶＥＮＴＸ＞タグが示しているものは処理工程であり、メッセージの表示、キャラクタ体の座標や属性の変更、マルチメディアファイルの再生と停止、表示画面ＨＧへの視覚的な演出、ＵＲＬ指定による別ＸＭＬファイルの読み込み、別ゲームの起動、内部変数の参照と変更といった処理の組み合わせである。
【００４３】
図４（ｂ）に示すように、＜ＩＦ＞タグで囲まれた内容を示す処理工程４１ａ，４１ｂ，４１ｃは、分岐工程の例である。ここで、処理工程４１ａは、＜ＣＯＮＤＩＴＩＯＮ＞タグで囲まれた内容を示すものであり、ある特定の条件が成立しているか否かを判定する工程である。また、処理工程４１ｂは、＜ＥＶＥＮＴ１＞タグの内容を示すものであるとともに、処理工程４１ｃは、＜ＥＶＥＮＴ２＞タグの内容を示すものである。そして、分岐工程では、処理工程４１ａに定める条件が成立している否かによって複数の処理工程４１ｂ，４１ｃのうちのいずれかの処理工程が実行されるものである。図４（ｂ）では、処理工程４１ａの判定結果が肯定である場合に処理工程４１ｂが実行される一方で、該判定結果が否定である場合に処理工程４１ｃが実行される。
【００４４】
図４（ｃ）に示すように、＜ＷＨＩＬＥ＞タグで囲まれた内容を示す処理工程４２ａ，４２ｂ，４２ｃは、反復工程の例である。ここで処理工程４２ａは、＜ＣＯＮＤＩＴＩＯＮ＞タグで囲まれた内容を示すものであって、ある特定の条件が成立しているか否かを判定する工程である。また、処理工程４２ｂは、＜ＥＶＥＮＴ１＞タグの内容を示すものであるとともに、処理工程４２ｃは、＜ＥＶＥＮＴ２＞タグの内容を示すものである。そして、反復工程は、処理工程４２ａに定める条件が成立している限り、一つの処理工程４２ｂが繰り返し実行され続けるものである。図４（ｃ）では、処理工程４２ａの判定結果が肯定である場合に処理工程４２ｂが実行されるとともに、該処理工程４２ｂの実行後に再度、処理工程４２ａの判定を実行する。そして、処理工程４２ａの判定結果が肯定である限り、繰り返し処理工程４２ｂが実行される。一方、処理工程４２ａの判定結果が否定である場合に処理工程４２ｃが実行される。
【００４５】
例えば、＜ＥＶＥＮＴ１＞に対応する処理としてマルチメディアファイル再生＜ＰＬＡＹ＞とする。また、＜ＥＶＥＮＴ２＞に対応する処理としてメッセージの表示＜ＭＥＳＳＡＧＥ＞とする。＜ＥＶＥＮＴ３＞に対応する処理として別ＸＭＬファイルの読み込み＜ＧＯ＞の処理とする。このように構成する場合、図４（ａ）に示す順接工程によれば、マルチメディアファイルを再生後、メッセージを表示し、別のＸＭＬファイルの内容に移動、というようにゲームの内容が進むこととなる。また、図４（ｂ）に示す分岐工程によれば、処理工程４１ａに定める条件が成立している場合はマルチメディアファイルが再生され、処理工程４１ａに定める条件が成立していない場合はメッセージが表示される。また、図４（ｃ）に示す反復工程によれば、処理工程４２ａに定める条件が成立している限りマルチメディアファイルが繰り返し再生され続け、処理工程４２ａに定める条件が成立しなくなれば、メッセージが表示される。
【００４６】
このように本実施形態の処理工程は、前記マークアップ言語のマークアップ機能の１つとして分岐工程や反復工程（分岐構造）が定義付け可能とされており、該定義付けされている分岐工程や反復工程を利用して前記ゲーム処理工程を記述することによって前記ゲームの進行を分岐可能としたものである。
【００４７】
本実施形態では、上記のタグのセットをＲＰＧＭＬ（Ｒｏｌｅ−Ｐｌａｙｉｎｇ  Ｇａｍｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）と示し、該ＲＰＧＭＬを利用してハイパーテキストファイルを記述することで、ネットワークゲームのシナリオなどを構築することが可能となる。すなわち、ＲＰＧＭＬとは、ＸＭＬの書式に従い、ロールプレイングゲームを作成するために必要なタグと該タグの機能を定義した言語のことである。なお、ＲＰＧＭＬでは、マークアップ言語により記述されているため、ハイパーリンクを利用することで別ファイルの参照を行うことが可能であるため、複数のｗｅｂサーバ間での連携や分散処理も実現可能となる。
【００４８】
しかし、ＲＰＧＭＬはタグの種類が多く、学習には多少の時間を必要とするため、図３のゲーム管理者Ｍ２のように、該ゲーム管理者Ｍ２自身がビルダー３０ａを備えている場合もある。ビルダー３０ａとは、ＧＵＩ（Ｇｒａｐｈｉｃａｌ
Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）のサポートによりＲＰＧＭＬを簡単に出力できるようにしたツールのことである。なお、ＧＵＩとは、コンピュータ・グラフィックスを利用し、視覚的に情報の表示を行い、主にマウスなどのポインティングデバイスを利用して操作を行うインタフェースのことである。ビルダー３０ａを利用すると、ＧＵＩを利用し、完成後のＲＰＧＭＬをゲームブラウザが読み込んだ際に表示画面ＨＧに表示されるゲーム画面を確認しながら、マウスやカーソルキー操作でマップを作成し、イベントを構築することができる。
【００４９】
そして、ゲーム管理者Ｍは、上記ＲＰＧＭＬにて記述されたハイパーテキストファイル、該ハイパーテキストファイルから参照されるマルチメディアファイルをサーバＳ上に公開する。サーバＳに公開された時点で、ハイパーテキストファイルのＵＲＬに対して、ゲームブラウザ２０ａから接続要求されることで、クライアントＣに対してゲームを楽しませることができる。
【００５０】
さらに、公開したハイパーテキストファイルに記述されるゲームのコンテンツを、ネットワーク上の複数のクライアント、すなわち、マルチプレイヤーでプレイ可能にするためには、ハイパーテキストファイルにプレイヤー情報共有のためのＣＧＩファイルへの参照を記述し、ＣＧＩファイルをサーバＳ上に公開する。ＣＧＩファイルとは、後述するフローで、サーバ側のＣＧＩ２０ｄによって実行されるＣＧＩファイルのことである。本実施形態では、ＣＧＩファイルをＰｅｒｌ言語を用いて記述する。Ｐｅｒｌ（Ｐｒａｃｔｉｃａｌ  Ｅｘｔｒａｃｔｉｏｎ  ａｎｄ  Ｒｅｐｏｒｔ  Ｌａｎｇｕａｇｅ）言語とは、Ｌａｒｒｙ  Ｗａｌｌ氏が開発したインタプリタ型のプログラミング言語である。
【００５１】
このように、サーバＳを利用することができる環境にあり、ＲＰＧＭＬの定義（文法）を認知している者であれば、ゲーム管理者Ｍとなってネットワークゲームを提供することができる。なお、ＲＰＧＭＬの定義（文法）とは、本実施形態のＲＰＧＭＬで定義付けされており、タグとして用いることができるタグの種類と各タグの機能のことである。また、サーバＳを利用することができる環境にあり、ＲＰＧＭＬの定義（文法）を認知していない者であっても、ＧＵＩによるサポートによりＲＰＧＭＬを視覚的に出力することができるビルダー３０ａを備えることで、ゲーム管理者Ｍとなってネットワークゲームを提供することができる。すなわち、本実施形態では、ビルダー３０ａを用いることで、ゲーム提供者のＲＰＧＭＬの認知度にかかわらず、誰でもゲーム管理者Ｍとなることが可能である。
【００５２】
次に、クライアントＣ側に用意されるゲームブラウザ２０ａの具体的な処理内容と、サーバＳ側の具体的な処理内容について図５及び図６を利用して説明する。
まず、ゲームブラウザ２０ａの処理内容について説明する。
ゲームブラウザ２０ａは、処理工程５０ａにて、アプリケーション起動後に最初に読み込むハイパーテキストファイルの所在を示すＵＲＬを指定し、サーバＳに対して該ＵＲＬへの接続要求を行う。そして、ゲームブラウザ２０ａは、サーバＳから所定のハイパーテキストを取得する。
【００５３】
続いて、ゲームブラウザ２０ａは、処理工程５０ｂにて、処理工程５０ａで取得したハイパーテキストファイルを解析し、ＲＰＧＭＬの定義に従い、仮想空間を構築するためのフィールドデータや、キャラクタ体やイベント等のデータを抽出する。すなわち、処理工程５０ｂにおいてゲームブラウザ２０ａは、ハイパーテキストファイルが取得されたとき、該ハイパーテキストファイルに記述されているゲーム処理工程を解析している。ここで、フィールドデータとは、仮想空間内の地形を表現するデータであり、地形のグラフィックのパターンや、プレイヤーがその場所に進入することが可能か否かの情報等が含まれている。なお、本実施形態の処理工程５０ｂの処理では、広く配布されているＸＭＬの汎用的な構文解析器（ゲーム解析手段）を利用することで、容易に実装を行うことができるように構成されている。なお、構文解析器とは、構文解析を行うプログラムである。
【００５４】
続いて、ゲームブラウザ２０ａは、処理工程５０ｃにて、処理工程５０ｂでハイパーテキストファイルを解析した結果、解析結果にマルチメディアファイルの所在を示すＵＲＬ情報が指定されている場合、サーバＳに対して該ＵＲＬへの接続要求を行う。そして、ゲームブラウザ２０ａは、サーバＳから所定のマルチメディアファイルを取得する。すなわち、処理工程５０ｃにおいてゲームブラウザ２０ａは、ハイパーテキストファイルの取得に従いクライアントＣの表示画面ＨＧに画像表示させる背景画像を構成するフィールド用画像データ（背景画像）を取得している。そして、本実施形態では、処理工程５０ａに合わせて処理工程５０ｃが実行され、処理工程５０ｃにより背景画像が一旦取得されると、次にハイパーテキストファイルを取得する処理工程５０ａが実行されるまでの間、処理工程５０ｃにより背景画像が取得されることはないように構成されている。したがって、背景画像は、ハイパーテキストファイルを取得してから次にハイパーテキストファイルを取得するまでの間において、１回取得されるのみである。
【００５５】
また、ゲームブラウザ２０ａは、処理工程５０ｄにて、処理工程５０ｂでハイパーテキストファイルを解析した結果、解析結果にＣＧＩ２０ｄの所在を示すＵＲＬ情報が示されているか否かを判定する。この判定結果が肯定の場合、ゲームブラウザ２０ａは、サーバＳに対してＣＧＩ２０ｄの所在を示すＵＲＬへの接続要求を行う。そして、ゲームブラウザ２０ａは、処理工程５０ｅにて、サーバＳに対して解析結果に示されるＣＧＩ２０ｄへの接続要求（ログイン要求）を行う。処理工程５０ｅにおいて、ゲームブラウザ２０ａは、クライアントＣに対応付けされているキャラクタ体を識別する識別情報として、該キャラクタ体の名前や、該キャラクタ体を表示画面ＨＧに表示させるためのプレイヤー用キャラクタデータなどのプロファイル情報をサーバＳ（ＣＧＩ）に対して送信する一方で、同一のＣＧＩ２０ｄに接続している他のクライアントに関わる識別情報の一覧を該ＣＧＩ２０ｄ（サーバＳ）から取得する。そして、ゲームブラウザ２０ａは、処理工程５０ｆに移行する。なお、本実施形態においてログインとは、ＣＧＩ２０ｄに対してクライアントに関する識別情報（プレイヤー情報）を送信して該ＣＧＩ２０ｄに接続している他のクライアントに対して自分の識別情報を提供可能な状態にすることである。そして、本実施形態では、処理工程５０ａでハイパーテキストファイルを取得して初めてのＣＧＩ２０ｄへの接続要求がログイン要求となり、処理工程５０ｅの処理によりＣＧＩ２ｄへログインすることとなる。
【００５６】
一方、処理工程５０ｄを否定判定する場合、ゲームブラウザ２０ａは、処理工程５０ｆに移行する。本実施形態において、処理工程５０ｄを否定判定する場合とは、ゲーム管理者Ｍによって提供されているゲームが複数のクライアントを対象としないゲームであって、該ゲームを構成するハイパーテキストファイルを取得したプレイヤーのみに提供されるゲームである場合である。すなわち、複数のクライアントを対象としないゲームを構成するハイパーテキストファイルには、サーバＳでクライアントに係る識別情報を管理する必要がないため、ＣＧＩ２０ｄへの所在を示すＵＲＬ情報が示されていない（記述されていない）。
【００５７】
続いて、処理工程５０ｆに移行したゲームブラウザ２０ａは、処理工程５０ｂでハイパーテキストファイルを解析した結果と、処理工程５０ｃで取得したマルチメディアファイルと、処理工程５０ｅにて取得した他のクライアントに関わる識別情報とから、背景画像となる仮想空間のフィールド、該フィールド上に存在する仮想的な人物や動物を示すキャラクタ体、各クライアントに対応するキャラクタ体等を表示画面ＨＧに画像表示させる（描画する）。なお、処理工程５０ｆにより表示画面ＨＧに画像表示されるゲーム画面は、初期画面であり、処理工程５０ａでハイパーテキストファイルを取得してから最初のゲーム画面となる。
【００５８】
続いて、ゲームブラウザ２０ａは、処理工程５０ｆで仮想空間のフィールド、該フィールド上に存在する仮想的な人物や動物を示すキャラクタ体、各クライアントに対応するキャラクタ体等を表示画面ＨＧに画像表示させた後、図６で示されるネットワークゲームの進行に係る処理である、処理工程６０ａ〜６０ｆによるイベント／プレイヤーの入力待ちループ（情報更新時）へと移る。
【００５９】
図６に示すように、ハイパーテキストファイルに基づくイベント／プレイヤーの入力待ちループ処理においてゲームブラウザ２０ａは、処理工程６０ａにて、ＣＧＩ２０ｄにログインしており、ログイン要求もしくは、前回のＣＧＩ２０ｄへの接続（情報更新）要求から、予め定められた一定の時間が経過しているか否かを判定する。この判定結果が肯定の場合、ゲームブラウザ２０ａは、処理工程６０ｂにて、サーバＳに対してＣＧＩ２０ｄへの接続要求を行う。処理工程６０ｂにおいて、ゲームブラウザ２０ａは、サーバＳに対してＣＧＩ２０ｄへの接続要求を行うことで、ゲームに関する各種情報の情報更新要求を行っている。そして、ゲームブラウザ２０ａは、情報更新要求を行う際に、クライアント自身に関する識別情報及びクライアントＣに対応するキャラクタ体の座標情報で変化のあったもの（主に座標情報）を送信する。一方、ゲームブラウザ２０ａは、情報更新要求を行う際に、クライアント自身に関する識別情報及び座標情報を送信すると、情報更新要求の応答としてＣＧＩ２０ｄにログイン中の変化のあった他のクライアントに関する識別情報の一覧及び変化のあった識別情報に対応するキャラクタ体の座標情報を取得する。また、ゲームブラウザ２０ａは、処理工程６０ｃにて、処理工程６０ｂでＣＧＩ２０ｄに新しくログインしたクライアントに関する識別情報（新規のプレイヤー情報）を取得した場合、該新しくログインしたクライアントに関する識別情報のうち対応するキャラクタ体のプレイヤー用キャラクタデータを取得する。
【００６０】
続いて、ゲームブラウザ２０ａは、処理工程６０ｂで取得した識別情報の一覧に基づきクライアントＣの表示画面ＨＧの表示内容を決定する。そして、ゲームブラウザ２０ａは、情報更新要求前に取得している前回の情報更新要求時の識別情報の一覧及び座標情報と、今回の情報更新要求時の識別情報の一覧及び座標情報とを比較して、クライアントＣの表示画面ＨＧの表示内容を決定する。識別情報の一覧には、現在ＣＧＩ２０ｄにログインしているクライアント毎に識別情報が振り分けられており、該識別情報に基づき対応するキャラクタの座標情報がゲームブラウザ２０ａにより比較される。そして、ゲームブラウザ２０ａは、前回の情報更新要求時の識別情報の一覧と、今回の情報更新要求時の識別情報の一覧とを比較して、識別情報別に座標情報の変化を算出し、算出した結果に基づき前回の情報更新要求時の更新前の座標情報に基づく表示内容から、今回の情報更新要求時の更新後の座標情報に基づく表示内容となるようにクライアントＣの表示画面ＨＧの表示内容を決定する。また、ゲームブラウザ２０ａは、処理工程６０ｄにて、処理工程６０ｂでＣＧＩ２０ｄに新しくログインしたクライアントに関する識別情報（新規のプレイヤー情報）を取得した場合、該新しくログインしたクライアントに関する識別情報に基づき処理工程６０ｃで取得したプレイヤー用キャラクタデータに従ったキャラクタ体を表示画面ＨＧの所定の位置に表示する表示内容を決定する。そして、ゲームブラウザ２０ａは、処理工程６０ｅに移行する。
【００６１】
一方、ゲームブラウザ２０ａは、処理工程６０ａを否定判定する場合、処理工程６０ｅに移行する。本実施形態において、ゲームブラウザ２０ａは、ゲーム管理者Ｍによって提供されているゲームが複数のクライアントを対象としない上記ゲームである場合に処理工程６０ａを否定判定する。
【００６２】
続いて、処理工程６０ｅに移行したゲームブラウザ２０ａは、プレイヤーのキーボードやマウスなどの入力機器による入力や、ゲーム処理工程に基づくゲーム中のイベントなどに関わるゲーム処理を実行する。例えば、ゲームブラウザ２０ａは、プレイヤー入力に基づき該プレイヤーの入力が表示画面ＨＧに反映されるかたちでクライアントＣに対応するキャラクタ体を移動させるとともに、キャラクタ体の座標位置を変化させる。また、ゲームブラウザ２０ａは、プレイヤーの入力に基づくクライアントＣに対応するキャラクタ体の行動が、ハイパーテキストファイルに記述されているイベントの発生条件を満たせば（図４（ｂ）の処理工程４１ａや、図４（ｃ）処理工程４２ａ）、イベントを開始させる。本実施形態においてイベントの発生条件としては、例えば、クライアントＣに対応するキャラクタ体とは異なる特定のキャラクタ体と接触する場合に、該特定のキャラクタ体に対して話しかけるコマンドをプレイヤーの入力により指示することで、内部変数がある値と等しくなる、もしくは、大きくなる、小さくなる場合、等がある。そして、ゲームブラウザ２０ａは、イベント開始後、ＲＰＧＭＬにて記述されたイベントの処理工程に従って、処理を実行する。
【００６３】
プレイヤーは、ＣＧＩ２０ｄにログインしている他のプレイヤーに対してメッセージを送ることができる。メッセージの種類によって、テキストベースの会話や、マルチメディアファイルの送受信、アイテムの交換、別ゲームでの対戦要求等を行うことができる。クライアントＣ（プレイヤー）から他のクライアント（他のプレイヤー）にメッセージを送る際の処理は以下となる。
【００６４】
クライアントＣは、他のクライアントにメッセージを送るために、まずゲームブラウザ２０ａからｗｅｂサーバプログラム２０ｂ（サーバＳ）に対してＣＧＩ２０ｄへの接続要求を行い、クライアントＣを識別するＩＤ情報と、他のクライアントのＩＤ情報、メッセージの種類とデータを送信する。上記接続要求を受けたＣＧＩ２０ｄは、受信したデータを保存しておき、その後、ＩＤ情報が一致する他のクライアントから情報更新要求があった場合、座標情報と共に先の保存したデータを他のクライアントに送る。
【００６５】
テキストベースの会話やマルチメディアファイルの送受信では、該当するテキストデータ、マルチメディアファイルデータを、メッセージとして送信する。アイテムの交換では、アイテムの名前、種類、使用した際の効果、アイテムのグラフィック、その他の属性データ等のアイテム情報をメッセージとして送信する。貴重なアイテムの場合は、上記アイテム情報を暗号化して送信する。
【００６６】
そして、ゲームブラウザ２０ａは、処理工程６０ｆにて、処理工程６０ｄや処理工程６０ｅなどで決定した内容に基づいてクライアントＣの表示画面ＨＧの表示内容を更新した後、イベント／プレイヤーの入力待ち処理（処理工程６０ａ〜処理工程６０ｆ）を繰り返し実行する。イベント／プレイヤーの入力待ち処理の繰り返しは、該ゲームブラウザ２０ａのアプリケーションを終了するか、別のハイパーテキストファイルに読み込み先を変えるまで（新たにハイパーテキストファイルを取得するまで）、継続する。ゲームブラウザ２０ａは、クライアントＣの表示画面ＨＧの表示内容の更新にあたって、背景画像を変化させることなく、処理工程６０ｂの情報更新要求により取得した情報に基づき各クライアントに対応するキャラクタ体などの表示内容を更新する。
【００６７】
そして、本実施形態において処理工程６０ｂによる情報更新要求は、処理工程５０ａでハイパーテキストファイルを取得した後に行われ、該ゲームブラウザ２０ａのアプリケーションを終了するか、別のハイパーテキストファイルに読み込み先を変えるまで繰り返し実行される。一方で、クライアントＣの表示画面ＨＧにおいては、ゲームブラウザ２０ａのアプリケーションを終了するか、別のハイパーテキストファイルに読み込み先を変えるまでの間、背景画像を示すフィールド用背景画像データ（背景画像）が処理工程５０ｂにより一度のみ取得されて、処理工程５０ｆにより一度のみ背景画像を表示させる処理が行われる。
【００６８】
次に、ゲームブラウザ２０ａのサーバＳへの各種接続要求に対するサーバＳ側の処理内容について説明する。
ゲームブラウザ２０ａの処理工程５０ａを通じて、ハイパーテキストファイルの所在を示すＵＲＬへの接続要求が行われる場合、ｗｅｂサーバプログラム２０ｂは、処理工程５１ａにて、該ＵＲＬに記憶されているハイパーテキストファイルをゲームブラウザ２０ａ（クライアントＣ）に送り返す。また、ゲームブラウザ２０ａの処理工程５０ｃを通じて、各種マルチメディアファイルの所在を示すＵＲＬへの接続要求が行われる場合、ｗｅｂサーバプログラム２０ｂは、処理工程５１ａにて、該ＵＲＬに記憶されているマルチメディアファイルをゲームブラウザ２０ａ（クライアントＣ）に送り返す。
【００６９】
また、ゲームブラウザ２０ａの処理工程５０ｅを通じて、ＣＧＩ２０ｄの所在を示すＵＲＬへの接続要求が行われログイン要求が行われる場合、ｗｅｂサーバプログラム２０ｂは、処理工程５１ｂにて、ＣＧＩ２０ｄにアクセスして該ＣＧＩ２０ｄを起動させてＣＧＩファイルに基づく処理工程５１ｃ〜５１ｅの処理を実行させる。処理工程５１ｂにてｗｅｂサーバプログラム２０ｂに起動されたＣＧＩ２０ｄは、クライアントＣ（ゲームブラウザ２０ａ）のログイン要求に対して、プレイヤー（クライント）を識別するための識別情報としてＩＤ情報を与える（処理工程５１ｃ）。続いて、ＣＧＩ２０ｄは、処理工程５１ｃにてログイン要求をしたプレイヤー（クライアントＣ）の識別情報をプレイヤー情報２０ｅに加えて更新する（処理工程５１ｄ）。そして、ＣＧＩ２０ｄは、処理工程５１ｄにてプレイヤー情報２０ｅを更新した識別情報の一覧をｗｅｂサーバプログラム２０ｂに送信し、該ｗｅｂサーバプログラム２０ｂによりログイン要求を行ったクライアントＣ（ゲームブラウザ２０ａ）に該プロファイル情報の一覧を送り返す（処理工程５１ｅ）。そして、ＣＧＩ２０ｄは、処理工程５１ｅにて前記プロファイル情報とともに、該ＣＧＩ２０ｄに同時に接続している他のクライアントに対応するプレイヤー用キャラクタデータの所在を示す情報をログイン要求を行ったクライアントＣに送り返す。本実施形態では、該ＣＧＩ２０ｄに同時に接続している他のクライアントに対応するプレイヤー用キャラクタデータの所在を示す情報として、サーバＳに公開されているプレイヤー用キャラクタデータである場合に所在を示す情報としてサーバＳ内の該キャラクタデータのＵＲＬが示される。また、該ＣＧＩ２０ｄに同時に接続している他のクライアントに対応するプレイヤー用キャラクタデータの所在を示す情報として、クライアントＣのブラウザ２０ａに予め用意及び記憶されているプレイヤー用キャラクタデータである場合に所在を示す情報としてブラウザ２０ａ内の該キャラクタデータが記憶保存されている管理名が示される。なお、本実施形態では、これらプレイヤー用キャラクタデータの所在を示す情報がプレイヤー用キャラクタデータ（キャラクタ体）の画像情報となる。
【００７０】
また、ゲームブラウザ２０ａの処理工程６０ｂを通じて、ＣＧＩ２０ｄの所在を示すＵＲＬへの接続要求が行われ情報更新要求が行われる場合、ｗｅｂサーバプログラム２０ｂは、処理工程６１ａにて、ＣＧＩ２０ｄにアクセスして該ＣＧＩ２０ｄを起動させてＣＧＩファイルに基づく処理工程６１ｂ，６１ｃの処理を実行させる。処理工程６１ａにてｗｅｂサーバプログラム２０ｂに起動されたＣＧＩ２０ｄは、クライアントＣ（ゲームブラウザ２０ａ）の情報更新要求に対して、クライントＣから送られてきたクライアントの識別情報及びクライアントに対応するキャラクタの座標情報に基づきプレイヤー情報２０ｅを更新する（処理工程６１ｂ）。続いて、ＣＧＩ２０ｄは、処理工程６１ｂにて更新したプレイヤー情報２０ｅのうち変化のあった識別情報の一覧及び変化のあった識別情報に対応するキャラクタ体の座標情報をｗｅｂサーバプログラム２０ｂに送信し、該ｗｅｂサーバプログラム２０ｂにより情報更新要求を行ったクライアントＣ（ゲームブラウザ２０ａ）に変化のあった識別情報の一覧及び変化のあった識別情報に対応するキャラクタ体の座標情報を送り返す（処理工程６１ｃ）。
【００７１】
また、ゲームブラウザ２０ａの処理工程６０ｃを通じて、新しくログインしたクライアントに対応するキャラクタ体のプレイヤー用キャラクタデータを示す画像情報ＵＲＬへの接続要求が行われる場合、ｗｅｂサーバプログラム２０ｂは、処理工程６１ｄにて、該ＵＲＬに記憶されているプレイヤー用キャラクタデータをゲームブラウザ２０ａ（クライアントＣ）に送り返す。
【００７２】
このようにサーバＳ側では、クライアントＣからの接続要求によるＵＲＬ情報に示されるハイパーテキストファイルや、マルチメディアファイルなど各種ファイルや、変化のあった識別情報に対応するキャラクタ体の座標情報など各種データを接続要求してきたクライアントに対して送り返す処理工程５１ａ，６１ｄに基づく処理がｗｅｂサーバプログラム２０ｂにより実行される。また、サーバＳ側では、クライアントＣからのログイン要求及び情報更新要求によるＣＧＩ２０ｄへの接続要求により、該ｗｅｂサーバプログラム２０ｂがＣＧＩ２０ｄを起動させてプレイヤー情報２０ｅを更新する処理工程５１ｂ（処理工程５１ｃ〜５１ｅ）及び処理工程６１ａ（処理工程６１ｂ，６１ｃ）に基づく処理がＣＧＩ２０ｄにより実行される。すなわち、本実施形態のｗｅｂサーバ２０ｂの機能は、ホームページを提供している一般的な要求応答型のｗｅｂサーバが備えている機能、処理と同一のものである。
【００７３】
また、本実施形態では、情報更新要求によりＣＧＩ２０ｄで変化のある情報としてキャラクタ体の座標情報の他にキャラクタ体が装備しているアイテムに伴う画像データの更新や、新しくログインしたクライアントに定めるプレイヤー用キャラクタデータを示すＵＲＬなどがクライアントに対して送り返される。そして、本実施形態のＣＧＩ２０ｄでは、ログインしているクライアントに対応するキャラクタに関わる各種情報が管理される一方で、背景画像に関わるフィールド用画像データに関して管理及び更新がなされないように構成されている。
【００７４】
次に、処理工程６０ｄ，６０ｅに基づき処理工程６０ｆにて実現される、ゲームブラウザ２０ａがキャラクタ体の描画パターンを決定する方法と、画面の更新方法について図７を用いて詳しく説明する。
処理工程６０ｂでゲームブラウザ２０ａが情報更新要求により取得する識別情報の一覧は、該情報更新要求時に前回の情報更新要求時に取得した識別情報の一覧に対して変化のあったデータを取得する。すなわち、本実施形態においてゲームブラウザ２０ａは、ＣＧＩ２０ｄ（サーバＳ）に同時にログインしているクライアントに対応するキャラクタ体のクライアントＣの背景画像に対する更新された座標情報を取得している。そして、ゲームブラウザ２０ａは、座標情報が更新されたキャラクタ体を、更新前の座標位置からから更新後の座標位置へ移動させる。対象となるキャラクタ体の移動に際して、ゲームブラウザ２０ａは、更新前の座標位置からから更新後の座標位置に移動するまでの移動路を補完しながら滑らかに移動させ、その移動方向やキャラクタ体の動作も含めて連続的に反映されるようにクライアントＣ側の表示画面ＨＧの表示内容を制御する。なお、表示画面ＨＧには、画面の解像度に合わせてクライアントＣのプレイヤーが操作するキャラクタ体座標を中心とする背景画像の一部分が表示され、表示画面に入りきらない座標のキャラクタ体は表示されない。
【００７５】
例えば、情報更新要求によって更新されるキャラクタ体における更新前の座標位置が（１１２，４８）であり、更新後の座標位置が（８０，８０）であった場合には、これら２つの座標位置の中間地点である（９６，６４）を経過した可能性が高いと推測することができる。そして、ゲームブラウザ２０ａは、このような判断と、ハイパーテキストファイルに記述されたフィールドデータの進入可能情報、他キャラクタ体の座標との衝突判定等から総合的に判断し、座標（１１２，４８）から（８０，８０）へ、連続的に座標を移動させられるように間を補完し、最終的な画面を決定する。また、ゲームブラウザ２０ａは、処理工程５０ｃ，６０ｃにおいて、プレイヤー用キャラクタデータの取得に際して、各方向（図７における上下及び左右方向）を向いているキャラクタ体の上用データ、下用データ、左用データ及び右用データをそれぞれ取得している。そして、ゲームブラウザ２０ａは、キャラクタ体の移動する移動方向を算出し、その移動方向に従い上用データ、下用データ、左用データ及び右用データを連続的に表示してキャラクタ体が移動する態様を表現するようになっている。例えば、ゲームブラウザ２０ａは、キャラクタ体を座標位置（１１２，４８）から座標位置（８０，８０）に移動させる場合、その途中に障害物などがなく直線的に移動させるときに左用データ、下用データを用いてこれらを組み合わせて左下方向に該キャラクタ体を移動させる。また、ゲームブラウザ２０ａは、キャラクタ体を座標位置（１１２，４８）から座標位置（８０，８０）に移動させる場合、その途中に障害物などが存在し、キャラクタ体が通過することができない座標位置を示す情報が設定されているときに上用データ、下用データ、左用データ及び右用データを用いて組み合わせて、座標位置（１１２，４８）から座標位置（８０，８０）にキャラクタ体を移動させる。
【００７６】
処理工程６０ｂでゲームブラウザ２０ａが情報更新要求により取得する識別情報の一覧は、該情報更新要求時に前回の情報更新要求時に取得した識別情報の一覧に対して変化のあったデータのみであり、最終的にクライアントＣ側の表示画面ＨＧの表示内容を構成するための情報ではない。すなわち、情報更新要求によりＣＧＩ２０ｄにより更新される識別情報の一覧に基づき、クライアントＣ側の表示画面ＨＧの表示内容を構成することができないように構成されている。
以上の実施形態では、サーバＳのＣＧＩ２０ｄに同時にログインするプレイヤー毎に対応付けされているキャラクタ体の背景画像に対する座標情報と、キャラクタ体の画像データの所在を示す画像情報（本実施形態ではＵＲＬ）とのうち、定期的に変更される可能性の高い該座標情報のみを更新する機能を有するＣＧＩ２０ｄをサーバＳ側に設けた。また、ＲＰＧＭＬを用いて記述したハイパーテキストファイル（ハイパーテキストプログラム）やマルチメディアファイルを、外部記憶装置２０ｃに記憶させて、サーバＳ側に設けるようにした。
【００７７】
また、本実施形態では、ハイパーテキストファイル（ハイパーテキストプログラム）やマルチメディアファイルにこれらファイルの所在を示すＵＲＬへの接続要求をサーバＳに対して行うことで、ＨＴＴＰ通信を利用して取得する機能を有する通信制御手段をクライアントＣ側に備えた。また、通信制御手段によりハイパーテキストファイルが取得されたとき、該ハイパーテキストファイルに記述されているゲーム処理工程を解析するプログラム解析手段をクライアントＣ側に備えた。また、プログラム解析手段の解析結果に基づいて背景画像を取得する背景画像情報取得手段と、該背景画像情報手段が取得した背景画像を表示画面ＨＧにて表示する背景画像表示制御手段とをクライアントＣ側に備えた。また、プログラム解析手段の解析結果に基づいてＣＧＩ２０ｄの所在を示すＵＲＬへの接続要求をサーバＳに対して行い、ＣＧＩ２０ｄに対するログイン要求を行うことで、該ＣＧＩ２０ｄに同時接続されるクライアントに対応するキャラクタ体の画像情報を取得する画像情報取得手段をクライアントＣ側に備えた。また、プログラム解析手段の解析結果に基づいて上記ＣＧＩ２０ｄの所在を示すＵＲＬへの接続要求を上記サーバＳに対して行い上記ＣＧＩ２０ｄに対する情報更新要求を行うことで、該ＣＧＩ２０ｄに同時接続されるクライアントに対応するキャラクタ体の座標情報を取得する座標情報取得手段をクライアントＣ側に備えた。また、画像情報取得手段が取得した画像情報と座標情報取得手段が取得した座標情報とに基づき該座標情報の示される座標位置にキャラクタ体を表示するとともに、情報更新要求時に取得できるキャラクタ体の座標情報の変化から該座標情報の示される座標位置に対応するキャラクタ体を表示するキャラクタ体表示手段をクライアントＣ側に備えた。さらに、プログラム解析手段の解析結果に基づいてクライアントＣ（プレイヤー）側からの操作に応じた分岐処理等を行うゲームの進行に係る制御を行うゲーム進行手段をクライアントＣ側に備えた。そして、通信制御手段と、プログラム解析手段と、背景画像取得手段と、背景画像表示制御手段と、画像情報取得手段と、座標情報取得手段と、キャラクタ体表示手段と、ゲーム進行手段との機能を有するゲームブラウザ２０ａをクライアントＣ側に備えている。
【００７８】
したがって、クライアントＣ側から要求があったときだけ予め定められた情報を送り返す、といった機能のみを専ら有する要求応答型のサーバＳを利用しながらも、ＲＰＧＭＬにて上記ハイパーテキストファイルに記述されたゲーム処理工程が上記クライアント側にて解析されることで、座標情報の定期的な更新処理など、キャラクタ体の座標情報の統括管理や、シナリオを進行させるための処理など、ゲームの進行にかかる制御、等々といった処理をクライアント側からの要求に応じたかたちで適切に実行することができるようになる。
【００７９】
しかも、上記構成では、ゲームのリアルタイム性についてはキャラクタ体の位置的変化によるところが大きいことに鑑み、上記サーバＳを利用するにあたり、キャラクタ体の上記座標情報と上記画像情報とのうち、前記座標情報のみを統括管理するＣＧＩ２０ｄを備えることとした。そして、キャラクタ体の移動に際しての表示内容の更新表示については各クライアントＣ側での処理として行うようにしている。すなわちこの場合、サーバＳとクライアントＣ側との間でのＨＴＴＰが採用されるシステムでありながらも、クライアント側からの表示内容の更新要求に対し、その表示内容の変更にかかる画像処理（画像情報の記憶処理など）を、複数のクライアントが同時接続されるサーバＳ側にて行わずともよくなる。これにより、クライアントＣ側と、サーバＳ側とで役割をそれぞれに分担することで、キャラクタ体に位置的変化が生じたときのサーバＳ側での処理負荷、さらにはサーバＳ側の応答速度を大きく改善することができるようになり、要求応答型のｗｅｂサーバを利用しつつも、ゲームのリアルタイム性とインタラクティブ性を好適に維持することができるようになる。
【００８０】
またさらに、上記構成では、ゲームブラウザ２０ａが、キャラクタ体を表示画面ＨＧにて一旦表示した後、情報更新要求時に更新記憶された座標情報が新たに取得されたときは、該新たな座標情報により示される位置に上記キャラクタ体を更新表示するにあたり、上記所定の表示画面にて該当するキャラクタ体が現在位置している座標情報と、上記新たな座標情報との差分を算出して、該算出された差分を埋める連続的な画像が現れるようにした。このような上記算出された差分を埋める連続的な画像の表示を通じて、要求応答型のｗｅｂサーバ、ＣＧＩプログラムを利用したことによる通信遅れが生じてしまった場合であっても、プレイヤーに違和感を与えることなく、表示内容の変更にかかる画像処理（画像情報の記憶処理など）をクライアント側にて行うことができるようになる。
【００８１】
従って、現在、ホームページ用に普及しているｗｅｂサーバをゲームサーバとしてそのまま利用可能となり、一個人が容易にゲームの統括管理者になることができ、ネットワークゲームを提供することができるようになる。
したがって、本実施形態によれば、以下に示す効果を得ることができる。
【００８２】
（１）サーバＳを利用するにあたり、キャラクタ体の座標情報と、キャラクタ体の画像情報とのうち、前記座標情報のみを統括管理するＣＧＩ２０ｄを備えることとした。そして、キャラクタ体の移動に際しての表示内容の更新表示については各クライアント側での処理として行うようにしている。すなわちこの場合、サーバＳとクライアントＣ側との間での情報授受プロトコルとしてＨＴＴＰが採用されるシステムでありながらも、クライアントＣ側からの表示内容の更新要求に対し、その表示内容の変更にかかる画像処理を、複数のクライアントが同時接続されるサーバＳ側にて行わずともよくなる。これにより、キャラクタ体に位置的変化が生じたときのサーバＳ側での処理負荷、さらにはサーバＳ側の応答速度を大きく改善することができるようになり、要求応答型のｗｅｂサーバを利用しつつも、ゲームのリアルタイム性を好適に維持することができるようになる。またさらに、キャラクタ体を表示画面ＨＧにて一旦表示した後、座標情報が更新されたときは、該更新後の座標情報により示される位置にキャラクタ体を更新表示するにあたり、表示画面ＨＧにて該当するキャラクタ体が現在位置している座標情報と、更新後の座標情報との差分を算出して、該算出された差分を埋める連続的な画像が現れるようにした。このような上記算出された差分を埋める連続的な画像の表示を通じて、要求応答型のｗｅｂサーバを利用したことによる通信遅れが生じてしまった場合であっても、プレイヤーに違和感を与えることなく、表示内容の変更にかかる画像処理をクライアントＣ側にて行うことができるようになる。このように構成されるネットワークゲームシステムでは、ホームページ用に普及しているｗｅｂサーバをゲームサーバとしてほぼそのまま利用可能としたため、一個人が容易にゲームの統括管理者になることができ、ネットワークゲームを提供することができるようになる。
【００８３】
（２）座標情報は、背景画像に対する座標を示すものであって、該表示画面の表示内容を示す背景画像に比較して容量の少ない情報である。このため、表示画面ＨＧにおけるキャラクタ体の更新に際しては、クライアントＣ側とサーバＳ側とで容量の少ない座標情報の送受信を行うことで実現させ、容量の多い背景画像の送受信が行われる頻度を減少させた。このような構成によれば、座標情報に比較して低い頻度で背景画像を取得することとなり、その結果、サーバＳとクライアントＣ間の通信負担を軽減することができる。
【００８４】
（３）クライアントの別にそれぞれ対応付けされているキャラクタ体の座標情報は、キャラクタ体を示す画像データに比較して容量の少ない情報である。このため、表示画面ＨＧにおけるキャラクタ体の更新に際しては、クライアントＣ側とサーバＳ側とで容量の少ない座標情報の送受信を行うことで実現させ、容量の多いキャラクタ体に関する処理頻度を減少させた。さらに、キャラクタ体の表示に関しては、ゲームブラウザ２０ａにより取得されている画像情報に基づきクライアントＣ側の表示画面ＨＧの表示制御が行われるように構成した。このような構成によれば、座標情報に比較して低い頻度でキャラクタ体の画像情報を取得することとなり、その結果、サーバＳとクライアントＣ間の通信負担を軽減することができる。
【００８５】
（４）ハイパーテキストプログラムでは、マークアップ言語におけるマークアップの意味を自由に定義付けできるといった性質を利用して、マークアップ言語のマークアップ機能の１つとして分岐構造が定義付けされている。そしてこの上で、該定義付けされた分岐構造を利用して上記ゲーム処理工程を記述することによってゲームの進行を分岐可能としたため、例えばＣ言語等でプログラムを最初から作成した場合と比較してコード量が少なくなり、プログラムの管理を容易にすることができるようになる。また、クライアントＣ側のゲームサーバ２０ａによるハイパーテキストプログラムの取得に際し、通信負荷を軽減することができるようになる。
【００８６】
（５）一般的にホームページ用のサーバＳを利用するシステムでは、サーバＳとクライアントＣ側においてＸＭＬで記述されたデータの情報授受が行われている。このため、ホームページ用のサーバＳをゲームサーバとして利用する場合には、ＸＭＬでハイパーテキストプログラムを記述することにより従前から存在するホームページ用のサーバＳで利用されるシステムをそのまま利用することで汎用性を確保することができる。
【００８７】
（６）ゲームブラウザ２０ａは、ＣＧＩ２０ｄで定期的に座標情報を更新記憶させ、定期的にサーバＳを通じて座標情報を取得することになる。このため、一度ＣＧＩ２０ｄで座標情報を更新記憶させた後は、ゲームブラウザ２０ａにより、定期的に更新記憶を行わせ、新しくキャラクタ体の座標情報が取得されることとなる。したがって、定期的にキャラクタ体の表示画像に対する座標情報を更新することができ、表示画面ＨＧ上のキャラクタ体の表示画像の表示位置を更新することができる。その結果、サーバＳにおいて、定期的に他のクライアントの座標情報を更新することで、プレイヤーに違和感を与えることなく、表示内容の変更にかかる画像処理をクライアントＣ側にて行うことができるようになる。
【００８８】
（７）ＣＧＩ２０ｄでは、該ＣＧＩ２０ｄに接続要求してきたクライントに対してそれぞれ識別情報を対応付け、識別情報毎に座標情報を更新記憶する。そして、ＣＧＩ２０ｄは、更新記憶した結果、同時接続されているクライントの識別情報とともに座標情報を接続要求してきたクライアント側に送信する。このため、ＣＧＩ２０ｄは、同時接続されているクライアントを識別情報により識別し、その識別情報に基づき座標情報を更新記憶することとなる。したがって、クライアントＣ側は、ＣＧＩ２０ｄに接続要求をすることにより、各クライアントに対応するキャラクタ体を識別する識別情報と座標情報とを取得することとなる。その結果、複数のクライアントが同時接続している場合であっても、各クライアントに対応するキャラクタ体毎に情報を確実に更新することが可能であるとともに、その更新記憶に基づき各クライアントに対応するキャラクタ体を表示画面ＨＧ上に確実に表示することができる。
【００８９】
（８）クライアントＣ側で新たな座標情報を取得した場合に、現在位置している座標情報と新たな座標情報との差分を埋めるよう移動画像を連続的に表示画面に表示させることで、リアルタイムで各クライントの状態を管理しているように表示画面ＨＧに表示させることができる。
【００９０】
（９）ゲームブラウザ２０ａは、座標情報などをサーバＳに送信するかわりに、他のクライアントの識別情報と、座標情報などをサーバＳから取得することとなる。すなわち、クライアントＣの要求に応じて予め定めた情報を送り返すサーバＳの機能を利用して、同時接続している複数のクライアントの識別情報と、座標情報などを管理することができる。
【００９１】
なお、本実施形態は以下のように変更してもよい。
○本実施形態では、ＲＰＧＭＬ以外のハイパーテキストファイルを読み込み解釈するゲームブラウザ、例えば、ＨＴＭＬを読み込み、ゲームとして解釈するゲームブラウザ等が挙げられる。
【００９２】
○本実施形態では、ハイパーテキストファイルをバイナリ圧縮、もしくは暗号化したものを用いてもよい。
○本実施形態では、ＣＧＩファイルを構成する言語としてはＰＨＰ、Ｒｕｂｙなどを利用してもよい。ＰＨＰ、Ｒｕｂｙは、プログラミング言語、もしくはその処理系を指す。
【００９３】
○本実施形態において、背景画像や、キャラクタ体の画像は、クライアントＣ側に予め用意されているような構成であってもよい。すなわち、ゲームブラウザ２０ａは、キャラクタ体の画像データ情報や、背景画像データを該ゲームブラウザ２０ａ内から読み出す。したがって、この場合、背景画像やキャラクタ体の画像の所在を示す画像情報は、ゲームブラウザ２０ａ内のアドレスなどを指定することとなる。
【００９４】
○本実施形態において、キャラクタ体を示す画像情報や、背景画像を示す画像情報は、表示画面ＨＧに表示させる画像データそのものであってもよい。
○本実施形態は、ＣＧＩ２０ｄのかわりにサーブレットを利用して実現することもできる。なお、サーブレットとは、ｗｅｂサーバ上で実行されるＪａｖａプログラムであり、Ｊａｖａは登録商標である。
【００９５】
○本実施形態は、ハイパーテキストプログラムをＸＭＬ以外のマークアップ言語により作成することもできる。また、ハイパーテキストプログラムは、Ｃ言語などによっても作成することもできる。
○本実施形態において、ゲームブラウザ２０ａは、定期的に背景画像を取得するように構成してもよい。しかしながら、背景画像を取得する頻度は、座標情報を更新する頻度に比較して低い方が好ましい。
【００９６】
○本実施形態において、ゲームブラウザ２０ａは、定期的にキャラクタ体の画像情報を取得するように構成してもよい。しかしながら、キャラクタ体の画像情報を取得する頻度は、座標情報を更新する頻度に比較して低い方が好ましい。
○本実施形態において、表示画面ＨＧにおけるキャラクタ体の移動に際しては、動画やアニメーション画像を用いることもできる。
【００９７】
○本実施形態において、キャラクタ体の座標情報としては、表示画面ＨＧを基準として規定するようにしてもよい。また、キャラクタ体の座標情報としては、プレイヤに対応するキャラクタ体の座標情報を基準として、該キャラクタ体の座標位置からの差分により他のプレイヤーに対応するキャラクタ体の座標情報を構成するようにしてもよい。すなわち、プレイヤーに対応するキャラクタ体の座標位置に対する相対位置として他のプレイヤーに対応するキャラクタ体の座標情報を構成することとなる。
【００９８】
次に、上記実施形態及び別例から把握できる技術的思想を以下に追記する。
（イ）前記通信制御手段は、前記ハイパーテキストプログラムの取得に際しては、当該ハイパーテキストプログラムをバイナリ圧縮された圧縮データとして前記ｗｅｂサーバから受信し、該受信した圧縮データをクライアント側にて解凍することによって前記ハイパーテキストプログラムを取得するものである請求項１〜５のうちいずれか一項に記載のネットワークゲームシステム。
【００９９】
（ロ）前記座標管理用ＣＧＩプログラムは、前記座標情報を、前記キャラクタ体を識別する識別情報にそれぞれ対応付けして統括管理するものであり、前記座標情報取得手段は、前記座標管理用ＣＧＩプログラムの所在を示すＵＲＬへの接続要求を前記ｗｅｂサーバに対して行ったとき、前記更新記憶された座標情報のほか、該座標情報に対応付けされた前記識別情報も取得するものであり、前記キャラクタ体表示制御手段は、前記座標情報取得手段により取得された前記座標情報により示される位置に、該座標情報に対応付けされた前記識別情報に対応する前記キャラクタ体の画像を表示するものである請求項１〜５のいずれか一項に記載のネットワークゲームシステム。
【０１００】
（ハ）前記識別情報は、前記ｗｅｂサーバに同時接続されるクライアントの別にそれぞれ対応付けされている前記キャラクタ体のＩＤ情報を含めて、各キャラクタ体のプロファイル情報である技術的思想（ロ）に記載のネットワークゲームシステム。
【０１０１】
（ニ）前記座標情報取得手段は、前記座標管理用ＣＧＩプログラムの所在を示すＵＲＬへの接続要求の際、前記クライアント側にて記憶されている自己キャラクタの前記座標情報を前記サーバ側に送信し、前記座標管理用ＣＧＩプログラムにより更新記憶された他のクライアントの座標情報とともに各クライアントに対応付けされている識別情報を取得する技術的思想（ハ）に記載のネットワークゲームシステム。
【０１０２】
（ホ）前記クライアント側には、前記プログラム解析手段による前記ゲーム処理工程の解析結果に基づいて前記背景画像を含めて、前記サーバ内で提供されるゲームに用いられる各種の画像を示す画像データの所在を示す情報に基づき前記画像データを取得する画像情報取得手段をさらに備え、前記キャラクタ体表示制御手段は、前記画像情報取得手段が取得した前記画像データに基づく画像を、該画像データを取得した順に順次、前記所定の表示画面に表示させ、これら画像を該所定の表示画面にて一旦表示した後、前記座標情報取得手段により前記更新記憶された座標情報が新たに取得されたときは、該新たな座標情報により示される位置に前記キャラクタ体を更新表示するにあたり、前記所定の表示画面にて該当するキャラクタ体が現在位置している座標情報と、前記新たな座標情報との差分を算出して、該算出された差分を埋める連続的な画像が現れるようにした請求項１〜５のいずれか一項に記載のネットワークゲームシステム。
【０１０３】
（ヘ）前記キャラクタ体表示制御手段は、前記連続的な画像が現れるように前記キャラクタ体を表示する場合、前記算出された差分から得られる当該キャラクタ体の向きも反映されるかたちで前記キャラクタ体を表示するものであり、前記キャラクタ体の表示画像を前記所定の表示画面にて一旦表示した後、前記ｗｅｂサーバ側で前記更新記憶された座標情報を新たに取得するとき、該新たな座標情報により示される位置に前記キャラクタ体の表示画像を表示するにあたり、現在の座標情報と更新記憶された座標情報とにより、該更新記憶された座標情報に基づき該現在の座標情報から前記所定の表示画面のいずれの方向に移動するのか移動方向を算出するとともに、その移動方向に従い前記複数の方向の画像データを連続的に表示してキャラクタ体を現す技術的思想（ホ）に記載のネットワークゲームシステム。
【０１０４】
（ト）前記キャラクタ体表示制御手段は、前記キャラクタ体の表示画像を前記所定の表示画面にて一旦表示した後、前記ｗｅｂサーバ側で前記更新記憶された座標情報を新たに取得するとき、該新たな座標情報により示される位置に前記キャラクタ体の表示画像を表示するにあたり、前記所定の表示画面にて該当するキャラクタ体が現在位置している座標情報と、前記新たな座標情報との差分を算出するとともに、前記キャラクタ体を該新たな座標情報に基づく位置に移動させるように前記予め取得している移動画像を連続的に表示する場合にこれら移動画像間同士の表示する間をうめた連続画を用いる技術的思想（ホ）に記載のネットワークゲームシステム。
【図面の簡単な説明】
【０１０５】
【図１】ネットワーク概要の図。
【図２】本発明によりネットワークゲームをプレイする場合のクライアント／サーバの構成図。
【図３】本発明によりネットワークゲームを作成する場合のクライアント／サーバの構成図。
【図４（ａ）】はＲＰＧＭＬにおける順接構造の例。
【図４（ｂ）】はＲＰＧＭＬにおける分岐構造の例。
【図４（ｃ）】はＲＰＧＭＬにおける反復構造の例。
【図５】ハイパーテキストファイルを最初に読み込んだ際のフローチャート。
【図６】イベント／プレイヤーの入力待ちループ（情報更新時）のフローチャート。
【図７】表示画面の初期画面と座標情報更新後の画面とを説明する模式図。
【符号の説明】
【０１０６】
Ｓ…サーバ、Ｃ…クライアント、２０ａ…ゲームブラウザ、２０ｂ…ｗｅｂサーバ、２０ｃ…外部記憶装置、２０ｄ…ＣＧＩ、２０ｅ…プレイヤー情報、２０ｆ…ファイルサーバプログラム、３０ａ…ビルダー、４０ａ〜４０ｃ…処理工程（順接工程）、４１ａ〜４１ｃ…処理工程（分岐工程）、４２ａ〜４２ｃ…処理工程（反復工程）、５０ａ〜５０ｆ…処理工程（ハイパーテキストファイル初回読み込み時のクライアント側）、５１ａ〜５１ｅ…処理工程（ハイパーテキストファイル初回読み込み時のサーバ側）、６０ａ〜６０ｆ…処理工程（入力待ちループ中のクライアント側）、６１ａ〜６１ｄ…処理工程（入力待ちループ中のサーバ側）、ＨＧ…表示画面
【図１】
0005534285.tif 000002
【図２】
0005534285.tif 000003
【図３】
0005534285.tif 000004
【図４（ａ）】
0005534285.tif 000005
【図４（ｂ）】
0005534285.tif 000006
【図４（ｃ）】
0005534285.tif 000007
【図５】
0005534285.tif 000008
【図６】
0005534285.tif 000009
【図７】
0005534285.tif 000010