(57)【特許請求の範囲】
【請求項１】
ゲームコマンドと、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を含むゲームデータを受信し、受信したゲームデータに基づいてゲーム画面を表示するとともに、プレイヤー識別情報と、受信したゲームデータに含まれるゲームコマンドのうちプレイヤーによって選択されたゲームコマンドと、受信したゲームデータに含まれるゲーム状況データと、を返信するゲーム端末と通信接続されるゲーム配信装置において、
プレイヤー識別情報とゲーム状況データとを対応づけてデータベースに記憶するゲーム状況データ記憶手段と、
プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信する手段と、
ゲームコマンドを受信した場合に、受信したゲームコマンドと、乱数と、に基づいてゲームイベントを決定するゲームイベント決定手段と、
前記ゲームイベント決定手段によって決定されたゲームイベントの内容と、受信されたゲーム状況データと、に基づいて、該ゲーム状況データを更新する受信ゲーム状況データ更新手段と、
前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新する手段と、
ゲームコマンドと、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データと、前記ゲームイベント決定手段によって決定されたゲームイベントの内容を示すメッセージと、を含むゲームデータを、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて生成する第１のゲームデータ生成手段と、
前記第１のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第１のゲームデータ送信手段と、
所定の要求をプレイヤーの選択に応じて送信するためのボタンを含む画面を表すデータを前記ゲーム端末に送信する手段と、
前記ボタンを含む画面を表すデータを前記ゲーム端末に送信する手段による送信が行われた後、プレイヤー識別情報とともに前記所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと、読み出したゲーム状況データと、を含むゲームデータであって、前記メッセージを含まないゲームデータを、読み出したゲーム状況データに基づいて生成する第２のゲームデータ生成手段と、
前記第２のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第２のゲームデータ送信手段と、
を含むことを特徴とするゲーム配信装置。
【請求項２】
ゲームコマンドと、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を含むゲームデータを受信し、受信したゲームデータに基づいてゲーム画面を表示するとともに、プレイヤー識別情報と、受信したゲームデータに含まれるゲームコマンドのうちプレイヤーによって選択されたゲームコマンドと、受信したゲームデータに含まれるゲーム状況データと、を返信するゲーム端末と通信接続されるゲーム配信装置として、コンピュータを機能させるためのプログラムを記録したコンピュータにより読み取り可能な情報記憶媒体であって、
プレイヤー識別情報とゲーム状況データとを対応づけてデータベースに記憶するゲーム状況データ記憶手段、
プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信する手段、
ゲームコマンドを受信した場合に、受信したゲームコマンドと、乱数と、に基づいてゲームイベントを決定するゲームイベント決定手段、
前記ゲームイベント決定手段によって決定されたゲームイベントの内容と、受信されたゲーム状況データと、に基づいて、該ゲーム状況データを更新する受信ゲーム状況データ更新手段、
前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新する手段、
ゲームコマンドと、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データと、前記ゲームイベント決定手段によって決定されたゲームイベントの内容を示すメッセージと、を含むゲームデータを、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて生成する第１のゲームデータ生成手段、
前記第１のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第１のゲームデータ送信手段、
所定の要求をプレイヤーの選択に応じて送信するためのボタンを含む画面を表すデータを前記ゲーム端末に送信する手段、
前記ボタンを含む画面を表すデータを前記ゲーム端末に送信する手段による送信が行われた後、プレイヤー識別情報とともに前記所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと、読み出したゲーム状況データと、を含むゲームデータであって、前記メッセージを含まないゲームデータを、読み出したゲーム状況データに基づいて生成する第２のゲームデータ生成手段、及び、
前記第２のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第２のゲームデータ送信手段、
として前記コンピュータを機能させるためのプログラムを記録したコンピュータにより読み取り可能な情報記憶媒体。
【請求項３】
ゲームコマンドと、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を含むゲームデータを受信し、受信したゲームデータに基づいてゲーム画面を表示するとともに、プレイヤー識別情報と、受信したゲームデータに含まれるゲームコマンドのうちプレイヤーによって選択されたゲームコマンドと、受信したゲームデータに含まれるゲーム状況データと、を返信するゲーム端末に対するゲーム配信方法であって、
受信手段が、プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信するステップと、
ゲームイベント決定手段が、ゲームコマンドを受信した場合に、受信したゲームコマンドと、乱数と、に基づいてゲームイベントを決定するステップと、
受信ゲーム状況データ更新手段が、前記ゲームイベント決定手段によって決定されたゲームイベントの内容と、受信されたゲーム状況データと、に基づいて、該ゲーム状況データを更新するステップと、
ゲーム状況データ更新手段が、プレイヤー識別情報とゲーム状況データとを対応づけて記憶してなるデータベースに受信されたプレイヤー識別情報に対応づけて記憶されたゲーム状況データを、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて更新するステップと、
第１のゲームデータ生成手段が、ゲームコマンドと、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データと、前記ゲームイベント決定手段によって決定されたゲームイベントの内容を示すメッセージと、を含むゲームデータを、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて生成するステップと、
第１のゲームデータ送信手段が、前記第１のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信するステップと、
ボタンを含む画面を表すデータを前記ゲーム端末に送信する手段が、所定の要求をプレイヤーの選択に応じて送信するためのボタンを含む画面を表すデータを前記ゲーム端末に送信するステップと、
第２のゲームデータ生成手段が、前記ボタンを含む画面を表すデータを前記ゲーム端末に送信する手段による送信が行われた後、プレイヤー識別情報とともに前記所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと、読み出したゲーム状況データと、を含むゲームデータであって、前記メッセージを含まないゲームデータを、読み出したゲーム状況データに基づいて生成するステップと、
第２のゲームデータ送信手段が、前記第２のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信するステップと、
を含むことを特徴とするゲーム配信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はゲーム配信装置、情報記憶媒体及びゲーム配信方法に関し、特に、通信ネットワークを介してゲーム端末に対してゲームを提供するシステムにおいて、通信途絶やプレイヤーの都合等により一旦中断したゲームを好適に再開できるようにするための技術に関する。
【０００２】
【従来の技術】
ＨＴＴＰ（HyperText Transfer Protocol）を利用してゲームを提供するネットワークゲームシステムが普及しつつある。かかるシステムでは、プレイヤーはパーソナルコンピュータ（パソコン）や各種携帯情報端末でＷｅｂブラウザを起動し、ゲームサーバからゲーム画面を表すハイパーテキストを受信する。このゲーム画面には、ゲームコマンドに対応してリンクボタンが表されており、プレイヤーがマウス等でいずれかのリンクボタンを押下すると、そのリンクボタンに対応づけられたＵＲＬ（Uniformed Resource Locater）がゲームコマンドとしてゲームサーバに送信されるようになっている。ゲームサーバでは、このゲームコマンドを受信し、その内容に応じたハイパーテキストを生成し、それをゲームデータとして再びプレイヤーのパソコン等に送信する。
【０００３】
ここでゲームコマンドたるＵＲＬは、ゲームプログラムたるＣＧＩ（Common Gateway Interface）プログラムのパス名と、該ＣＧＩプログラムへ渡される引数と、を含んでいる。ゲームサーバではゲームコマンドを受信すると、その引数を実行パラメータとして当該ＣＧＩプログラムを起動し、その出力をゲームデータとしてゲーム端末に返信する。
【０００４】
【発明が解決しようとする課題】
ところが、ＣＧＩプログラムのパス名やその引数は、ゲーム進行に応じて変化することが多いため、ゲーム途中で通信が途絶してしまうと次のような問題がある。すなわち、ゲーム途中で通信が途絶してしまうと、プレイヤーがＣＧＩプログラム及びその引数を常に把握することは困難であるから、プレイヤーが覚えている、或いはゲーム端末に記憶されているＵＲＬ（例えばスタート画面のＵＲＬ）をゲームサーバに再送信するより他、なくなってしまう。このためプレイヤーは、今までプレイしていたゲームの進展を再び楽しむことができない場合がある。特にゲーム端末として携帯電話機等の無線通信装置を利用する場合には、トンネル等の場所的要因により通信途絶が生じやすく、また予期しない着呼が割り込む等により、ゲームが中断されることが多いものと予想される。
【０００５】
本発明は上記課題に鑑みてなされたものであり、その目的は、中断したゲームを好適に再開することができるゲーム配信装置、情報記憶媒体及びゲーム配信方法を提供することにある。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るゲーム配信装置は、プレイヤー識別情報と、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を対応づけてデータベースに記憶するゲーム状況データ記憶手段と、プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信する手段と、ゲームコマンドを受信した場合に、乱数に基づいてゲームイベントを決定するゲームイベント決定手段と、決定されたゲームイベントの内容に基づいて、受信されたゲーム状況データを更新する手段と、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新する手段と、ゲームコマンドと、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データと、を前記ゲーム端末から返信するためのデータを含むゲームデータを生成する第１のゲームデータ生成手段と、前記第１のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第１のゲームデータ送信手段と、プレイヤー識別情報とともに所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと該ゲーム状況データとを前記ゲーム端末から返信するためのデータを含むゲームデータを生成する第２のゲームデータ生成手段と、前記第２のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第２のゲームデータ送信手段と、を含むことを特徴とする。
【０００７】
また、本発明に係る情報記憶媒体は、コンピュータをゲーム配信装置として機能させるためのプログラムを記録したコンピュータにより読み取り可能な情報記憶媒体であって、プレイヤー識別情報と、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を対応づけてデータベースに記憶するゲーム状況データ記憶手段、プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信する手段、ゲームコマンドを受信した場合に、乱数に基づいてゲームイベントを決定するゲームイベント決定手段、決定されたゲームイベントの内容に基づいて、受信されたゲーム状況データを更新する手段、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新する手段、ゲームコマンドと、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データと、を前記ゲーム端末から返信するためのデータを含むゲームデータを生成する第１のゲームデータ生成手段、前記第１のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第１のゲームデータ送信手段、プレイヤー識別情報とともに所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと該ゲーム状況データとを前記ゲーム端末から返信するためのデータを含むゲームデータを生成する第２のゲームデータ生成手段、及び、前記第２のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第２のゲームデータ送信手段、として前記コンピュータを機能させるためのプログラムを記録したコンピュータにより読み取り可能な情報記憶媒体である。
【０００８】
さらに、本発明に係るゲーム配信方法は、ゲーム状況データ記憶手段が、プレイヤー識別情報と、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を対応づけてデータベースに記憶させるステップと、受信手段が、プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信するステップと、ゲームイベント決定手段が、ゲームコマンドを受信した場合に、乱数に基づいてゲームイベントを決定するステップと、受信ゲーム状況データ更新手段が、決定されたゲームイベントの内容に基づいて、受信されたゲーム状況データを更新するステップと、ゲーム状況データ更新手段が、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新するステップと、第１のゲームデータ生成手段が、ゲームコマンドと、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データと、を前記ゲーム端末から返信するためのデータを含むゲームデータを生成するステップと、第１のゲームデータ送信手段が、前記第１のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信するステップと、第２のゲームデータ生成手段が、プレイヤー識別情報とともに所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと該ゲーム状況データとを前記ゲーム端末から返信するためのデータを含むゲームデータを生成するステップと、第２のゲームデータ送信手段が、前記第２のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信するステップと、を含むことを特徴とする。
【０００９】
本発明では、ゲーム配信装置にてゲームコマンドを受信し、そのゲームコマンドに基づいてゲームイベントを決定する。そして、その決定されたゲームイベントの内容に基づいてゲーム画面を表すゲームデータを生成する。また、このゲームデータに対応するゲーム状況データを記憶しておく。生成されたゲームデータはゲーム端末に送信され、ゲーム端末でゲーム画面を表示するのに供される。そして、所定の再開用ゲームコマンドを受信した場合には、記憶しておいたゲーム状況データに基づいて所定の再開画面を表す再開用ゲームデータを生成し、それをゲーム端末に送信する。こうして、ゲーム端末では所定の再開用ゲームコマンドをゲーム配信装置に送信することにより、再開用ゲームデータを受信することができ、それに基づいて再開画面を表示することができるようになる。この結果、プレイヤーは好適にゲームを再開できるようになる。
【００１０】
【発明の実施の形態】
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。
【００１１】
以下では、本発明を海賊ゲームに適用する例を説明する。この海賊ゲームは通信ネットワークと携帯電話機とを用いて実現されるものであり、ゲーム空間において、プレイヤーは海賊船の船長となり、航海に出かける。そして、できるだけ多くの財宝を発見し、それを港に持ち帰ることを競う。ゲーム空間中、帰還航路を発見し、そこでプレイヤーが港への帰還を選択すると元の港に帰れるようになっている。
【００１２】
ゲーム空間には７つの海域が用意されており、そこには様々な特徴をもった島々が点在する。そして、プレイヤーは島から島へと航海を続ける。航海の途中には、プレイヤーを様々なゲームイベントが待ち受ける。例えば、怪物の出現、敵対海賊の妨害、食糧や船員を補給できる島の発見等である。航海方法は単純であり、プレイヤーは３方向のいずれかへの舵取りを選択指示するだけでよい。
【００１３】
重要となるのは「船員と食糧とのバランス決定」と「帰還のタイミング選択」である。航海の途中で船員か食糧かが尽きればゲームオーバーとなる。海賊船には積載量に限界が設けられており、航海を続けるにつれて食糧が減っていくため、食糧を多く積んでから出向したいところであるが、そうすると今度は船員を多く乗せられなくなり、ゲームイベントへの遭遇によって船員を失い、ゲームオーバーとなり易くなってしまう。このため船員と食糧とをいかなるバランスで船に積みこんで出航するかがゲームクリアへの重要な要素となるのである。
【００１４】
また、航海を続ければ続けるほど船員を多く失う可能性が高まるものの、より多くの財宝を発見できる可能性も高まる。このため、ある程度の財宝を発見した後、帰還航路を発見すると、プレイヤーは帰還を選択して無事に今まで獲得した財宝を持ち帰るか、危険なゲームイベントにより船員を失ってゲームオーバーとなってしまうリスクを冒しつつも、より多くの財宝を探し求めて航海を続けるか、の選択がプレイヤーを悩ませることになる。つまり、この海賊ゲームでは、いわばカジノゲームのような駆け引きを楽しむことができるのである。
【００１５】
また、この海賊ゲームでは、プレイヤーが港に無事に帰還できると、その獲得した財宝により海域毎にランキングされるようになっている。そして、海域毎に上位２０位までの船長は、あるときは味方として、あるときは敵対海賊として、その名前が他のプレイヤーの海賊ゲームに登場する。船長名は各プレイヤーが設定したものである。このため、他のプレイヤーの海賊ゲームに登場させようと、上位へのランキング入りを目指して、プレイヤーはゲームを繰り返すことになる。また、敵対海賊に他のプレイヤーが設定した個性的な名前が付いているのを見て、プレイヤーは面白さを感じることができる。つまり、原則として複数のプレイヤーのそれぞれに対して独立のゲーム（ゲーム空間）を提供しつつも、成績優秀者が設定した船長名を他のプレイヤーのゲームに登場させるという限度で、それらの互いに独立したゲームに関連性を持たせるようにしている。このため、プレイヤーは独立したゲームを楽しみながらも、ある程度、ネットワークゲームへの参加感を楽しむことができる。
【００１６】
なお、ネットワークゲームとして、同一ゲーム空間で複数のプレイヤーがゲームを楽しむタイプのものがあり、このタイプのネットワークゲームでは自分はもちろん、自分以外のプレイヤー名もゲーム画面に現れる。このため、プレイヤーは、ネットワークゲームへの参加感を楽しむことができるし、自己主張の喜びも得ることができる。しかしながら、このタイプのネットワークゲームでは、プレイヤーがオフライン状態にある場合にはプレイヤー名が他人のゲーム画面に登場しなくなってしまう。これに対し、この海賊ゲームでは、海域毎の上位２０位までの船長は、プレイヤーがオンライン状態にある場合はもちろん、オフライン状態にあっても、他のプレイヤーの海賊ゲームに登場する。このため、プレイヤーの自己主張の欲求を、より満足させることができる。
【００１７】
図１は、本発明の実施の形態に係るネットワークゲームシステム１０の全体構成を示す図である。同図に示すネットワークゲームシステム１０は、携帯電話機１２（ゲーム端末）と、携帯電話基地局１４と、通信ネットワーク１６と、ネットワークゲーム配信装置１８と、を含んで構成されている。ネットワークゲーム配信装置１８は、ゲームサーバ２０と、ゲームデータベース（ＤＢ）２２と、を含んで構成されている。
【００１８】
携帯電話機１２は、ＬＣＤ等を用いて構成されたディスプレイ２４と、方向ボタン２６と、ファンクションボタン２８と、丸ボタン群２９と、を含んでいる。携帯電話機１２は従来公知のものであり、丸ボタン群２９でダイヤル入力が可能であり、ディスプレイ２４には電話帳や各種設定メニューが表示される。各種設定は方向ボタン２６及びファンクションボタン２８により行う。
【００１９】
また、この携帯電話機１２には、特に携帯電話基地局１４を介してインターネット等の通信ネットワーク１６に接続する機能が備えられている。本実施の形態では、この携帯電話機１２のネットワーク接続機能を利用する。すなわち、携帯電話機１２のユーザは、方向ボタン２６、ファンクションボタン２８、丸ボタン群２９を用いてＵＲＬ（Uniform Resource Locator）を通信ネットワーク１６に送出し、そのＵＲＬに対応するハイパーテキストをゲームサーバ２０から取得する。すなわちゲームサーバ２０では、携帯電話機１２から送信されたＵＲＬをゲームコマンドとして認識するようになっており、そのゲームコマンドに対応したハイパーテキスト（HyperText；ゲームデータ）を生成し、それを通信ネットワーク１６及び携帯電話基地局１４を介し、携帯電話機１２に返信するようになっている。携帯電話機１２は、このハイパーテキストを受信すると、それに基づいてゲーム画面をディスプレイ２４に表示する。なお、以上説明したＵＲＬの送信及びハイパーテキストの受信並びに表示は、携帯電話機１２でＷｅｂブラウザ機能を実行することにより行われる。
【００２０】
携帯電話基地局１４は、携帯電話１２から無線送信されるＵＲＬを通信ネットワーク１６に中継するが、その際、携帯電話機１２に付与された顧客識別番号をＵＲＬに含めるようにしている。このためゲームサーバ２０では、ゲームコマンドたるＵＲＬの送信者を識別することができる。
【００２１】
ゲームサーバ２０は、通信ネットワーク１６にネットワーク接続されたサーバコンピュータであり、ゲームＤＢ２２が接続されている。ゲームサーバ２０は、ゲームコマンドたるＵＲＬに基づいてゲームデータたるハイパーテキストを生成する際、ゲームＤＢ２２の記憶内容を参照するようになっている。なお、本発明の特徴たるゲーム処理は、例えばハードディスク装置等の、ゲームサーバ２０に備えられた記憶装置（情報記憶媒体）に記録されているプログラムに基づいて実行されるものである。該プログラムは、それを記録したＣＤ−ＲＯＭやＤＶＤ等を介して、或いは通信ネットワーク１６を介して、前記記憶装置に格納される。
【００２２】
図２は、本実施の形態に係るネットワークゲームシステム１０で実現される海賊ゲームの概念を説明する図である。この海賊ゲームでは、ゲーム空間３０にゲームが繰り広げられる舞台となる海域３１が設定されている。ゲーム空間３０はプレイヤー毎に観念されるものである。海域３１は直角二等辺三角形状を有しており、その直角部分に隣接して港３４が設定されている。この港３４は、ゲーム空間３０における原点（０，０）に設定されている。ゲーム空間３０には座標軸３３が設定されており、港３４から海域３１における直角部分を二等分する方向を東側とし、それに直行する方向をそれぞれ北方向、及び南方向としている。プレイヤーの船３２は港３４を出発するとゲームコマンドに従って海域３１を進む。
【００２３】
ゲームコマンドには後述するように、主として「北航路を進む」と「東航路を進む」と「南航路を進む」とがある。「北航路を進む」がゲームコマンドとして選択されると、プレイヤーの船３２はゲーム空間３０において北東に１コマ進む。また「東航路を進む」がゲームコマンドとして選択されると、プレイヤーの船３２は東方向に１コマ進む。さらに「南航路を進む」がゲームコマンドとして選択されると、プレイヤーの船３２は南東方向に１コマ進む。例えばプレイヤーの船３２が、同図に示すように港３４に位置している場合には、「北航路を進む」がゲームコマンドとして選択されると、プレイヤーの船３２はマス３５Ｎに移動する。また「東航路を進む」がゲームコマンドとして選択されると、プレイヤーの船３２はマス３５Ｅに移動する。さらに「南航路を進む」がゲームコマンドとして選択されると、プレイヤーの船３２はマス３５Ｓに移動する。こうしてプレイヤーの船３２は、携帯電話機１２から送信されるゲームコマンド（ＵＲＬ）に従って海域３１を航海する。
【００２４】
海域３１には危険海域３６や凪（なぎ）海域４０が含められている。この危険海域３６や凪海域４０はあらかじめゲームＤＢ２２に登録されており、危険海域３６にプレイヤーの船３２が侵入すると、怪物イベントや海賊イベント等の危険なゲームイベントが他の海域よりも高い確率で発生するようになっている。また、プレイヤーの船３２が凪海域４０に侵入すると、順調に航海できる凪イベントが高い確率で発生するようになっている。プレイヤーはあらかじめプレイヤーの船３２に船員や食糧を積み込むことができるようになっており、これら船員や食糧は海域３１で遭遇するゲームイベントによって増減するようになっている。例えば、プレイヤーの船３２が航海中にゲームキャラクタたる巨大ザメに遭遇すると、船員が失われるようになっている。また、ランダム島４４に到着すると食糧や船員が補給されるようになっている。これら巨大ザメ等の敵ゲームキャラクタやランダム島４４はプレイヤーの船３２が海域３１を進む毎に乱数に従って出現する。
【００２５】
プレイヤーの船３２は各種のゲームイベントをクリアしながら宝島３８を目指す。この宝島３８にプレイヤーの船３２が到着すると、金塊や財宝を手に入れることができる。宝島３８は航海中、所定確率で発生するようになっている。その後、プレイヤーの船３２が帰還島３９に到着すると、港３４に帰還するか、あるいは航海を続けるかの選択をプレイヤーに迫るようになっている。このとき、プレイヤーが航海を続けてさらなる宝島３８を探し求めれば、リスクを負うものの金塊や財宝をより多く獲得できるようになる。一方、港３４に帰還することをプレイヤーが選択すると、それまでに獲得した金塊や財宝を安全に持ち帰ることができる。
【００２６】
海域３１には島出現イベントも用意されている。プレイヤーの船３２が島出現イベントに遭遇すると、プレイヤーに対して「○○に島がある」等の島の所在に関する情報が伝えられるようになっており、それに応じてゲームＤＢ２２に構築されたゲーム空間３０に確定島４２を出現させるようになっている。このため、プレイヤーは得られた情報に基づいてプレイヤーの船３２を操作し、確定島４２を目指すことができる。そして、確定島４２では船員の補給や船員の食糧の補給を受けられるようになる。
【００２７】
以上説明した海賊ゲームを実現するためのゲームサーバ２０の処理について、以下、図３乃至図７のフロー図に基づいて詳細に説明する。ゲームサーバ２０では、携帯電話機１２からゲーム開始要求の旨のＵＲＬを通信ネットワーク１６を介して受信すると（Ｓ１０１）、スタート画面を表すハイパーテキストを携帯電話機１２に返す（Ｓ１０２）。このスタート画面では、「ゲーム説明」、「ゲーム開始」、及び「新規登録」のためのリンクボタンが表示される。このスタート画面を見て、プレイヤーが方向ボタン２６、ファンクションボタン２８又はボタン群２９を用いてリンクボタンを選択し、それによりゲームコマンドたるＵＲＬをゲームサーバ２０に送信すると、それをゲームサーバ２０が受信する（Ｓ１０３）。ゲームサーバ２０は、このゲームコマンドの種類を判断する（Ｓ１０４）。
【００２８】
このとき、ゲームコマンドが「ゲーム説明」を求めるものである場合には、ゲーム説明を含むハイパーテキストを携帯電話機１２に返す（Ｓ１０８）。その後、携帯電話機１２から送信されるゲームコマンドに応答して、再びスタート画面を表すハイパーテキストを携帯電話機１２に送信する（Ｓ１０２）。一方、Ｓ１０４において携帯電話機１２から受信したゲームコマンドが「新規登録」を求めるものである場合には、ユーザ登録処理を行う（Ｓ１０７）。すなわち、ネットワークゲーム配信装置１８は有料で携帯電話機１２のユーザにゲームを供給するものであり、携帯電話機１２のユーザはあらかじめ携帯電話基地局１４にゲーム料金支払いの意志がある旨を登録するようになっている。そして、ゲームサーバ２０はＳ１０３において「新規登録」を求める旨のゲームコマンドを受信すると、そのゲームコマンドに含まれている顧客識別情報を検索キーとして、携帯電話基地局１４に対して当該顧客が有料でのゲーム配信を受ける意志があるのか否かを問い合わせる。この問い合わせは通信ネットワーク１６を介して行われる。ユーザが携帯電話機１２で有料のゲーム配信を受けることを登録していれば、ゲームサーバ２０はゲームＤＢ２２に設けられたメインＤＢにその顧客のためのレコードを生成する。
【００２９】
このレコードの内容は図８に示されている。同図に示すように、メインＤＢには「顧客識別情報」、「船長名」、「船名」、「現在の貢献ポイント」、「現在の船の種類」、「現在の船の耐久度」、「今まで取得した金の累積」、「現在の戻り防止カウンタ値（ゲームデータ識別情報）」、が顧客毎に記録されている。「顧客識別情報」は上述したように携帯電話機１２から送信されるゲームコマンド（ＵＲＬ）に含められているものである。携帯電話基地局１４に携帯電話機１２のユーザが有料でのゲーム配信を受ける旨を登録している場合には、ゲームサーバ２０は上述したレコードをメインＤＢに生成するとともに、「船長名」及び「船名」を登録するためのハイパーテキストを携帯電話機１２に送信する。これに応じて、プレイヤーがボタン群２９等を用いて船長名及び船名を入力し、それをゲームコマンドとしてゲームサーバ２０に送信すると、当該顧客に係るレコードに「船長名」及び「船名」が登録される。「現在の貢献ポイント」、「現在の船の種類」、「現在の船の耐久度」、「今までに取得した金の累積」、及び「現在の戻り防止カウンタ値」にはデフォルト値が設定される。「現在の貢献ポイント」は現在のプレイヤーの所持金である。「現在の船の種類」は現在プレイヤーが選択している海賊船の種類である。「現在の船の耐久度」は船の老朽度に対応するものである。この海賊ゲームでは航海のたびに船の老朽化が進むようになっており、プレイヤーに海賊船の変更を迫るようにしている。「今までに取得した金の累計」はプレイヤーが今までのプレイで獲得した金の累計である。「戻り防止カウンタ値」は不正なプレイを防止するためのものであり、これについては後に詳述する。設定が終わると再びＳ１０２に戻り、スタート画面を表すハイパーテキストが携帯電話機１２に送信される。
【００３０】
また、Ｓ１０４において携帯電話機１２から受信したゲームコマンドが「続きから」を要求するもの（再開用ゲームコマンド）である場合には、プレイヤーのプレイするゲーム進行の現在状況を表す情報、すなわちゲーム状況データをゲームＤＢ２２から取得する（Ｓ１０５）。後述するように、ゲームＤＢ２２にはプレイヤー毎にゲーム状況データが格納されており、Ｓ１０５ではゲームコマンドに含まれる顧客識別情報に基づいて当該プレイヤーに係るゲーム状況データを読み出すのである。この処理を終えるとＳ１２３の処理に移行する。この処理については後述する。
【００３１】
一方、Ｓ１０４において携帯電話機１２から受信したゲームコマンドが「ゲーム開始」を要求するものである場合には、港３４を表すハイパーテキストを携帯電話機１２に返す（Ｓ１０６）。港３４を表すゲーム画面では、ユーザは「プレイヤーデータの参照」、「船の変更」、「出航準備」、又は「ランキングデータの参照」を選択することができるようになっている。携帯電話機１２のユーザがいずれかのコマンドを方向ボタン２６やファンクションボタン２８を用いて選択すると、それを表すゲームコマンドがゲームサーバ２０に送信される。そして、ゲームサーバ２０はこのゲームコマンドを受信する（Ｓ１０９）。そして、ゲームサーバ２０はそのコマンドの種類を判断する（Ｓ１１０）。
【００３２】
ゲームコマンドが「プレイヤーデータの参照」を要求するものである場合には、ゲームＤＢ２２から当該顧客にかかるメインＤＢレコードを読み出し、その内容（図８参照）を表すハイパーテキストを携帯電話機１２に送信する（Ｓ１１１）。これにより携帯電話機１２のディスプレイ２４にはその携帯電話機１２のユーザに係る船長名や船名等のデータが表示される。そして、携帯電話機１２から復帰を要求するコマンドがゲームサーバ２０に送信されると再びＳ１０２に戻り、スタート画面を表すハイパーテキストが携帯電話機１２に送信される。
【００３３】
また、ゲームコマンドが「船の変更」を要求するものである場合には、船の変更をプレイヤーに登録させるためのハイパーテキストが携帯電話機１２に返される（Ｓ１１２）。すなわち、この海賊ゲームでは、プレイヤーは様々な個性を有する海賊船を選択することができるようになっており、そのリストを表すハイパーテキストが携帯電話機１２に送信される。この海賊ゲームでは、船員や食糧の搭載量が少ないボート船や、その搭載量が多い大型帆船、１回のゲームコマンドで２コマずつ移動することが可能な高速帆船、あるいはあらかじめ武器を搭載した戦艦等が用意されており、プレイヤーは手持ちの貢献ポイントに応じて、いずれかを取得することができるようになっている。船の変更処理を終えると、復帰要求のゲームコマンドに応じて、再びスタート画面を表すハイパーテキストが携帯電話機１２に送信される（Ｓ１０２）。
【００３４】
また、ゲームコマンドが「ランキング表示」を要求するものである場合には、ゲームサーバ２０はランキング表示処理を行う（Ｓ１１４）。ゲームＤＢ２２には、図９に示される海域別ランキングデータが記録されており、Ｓ１１４の処理ではこのランキングデータを表すハイパーテキストが携帯電話機１２に送信される。この海賊ゲームでは複数種類の海域３１が用意されている。これらの海域３１は初心者用から上級者用までさまざまな個性を有している。プレイヤーはいずれかの海域３１を選択してゲームをすることができるようになっており、多くの金塊や財宝を獲得して無事に港３４に戻ったプレイヤーは、海域３１毎にランキングデータに登録されるようになっている。同図に示されるように、海域別ランキングデータには、「顧客識別情報」と、「船長名」と、対応する海域３１におけるプレイヤーの「獲得金」と、が対応づけられて記録されている。ここでは、海域３１毎に２０人の成績優秀者が登録されるようになっている。プレイヤーがランキングデータの参照を終えると復帰要求のゲームコマンドに応じて、再びスタート画面を表すハイパーテキストが携帯電話機１２に送信される（Ｓ１０２）。
【００３５】
さらに、ゲームコマンドが「出航準備」を要求するものである場合には、ゲームサーバ２０は出航準備処理を行う（Ｓ１１３）。この出航準備処理では、現在プレイヤーが選択している海賊船にどれだけの船員を乗せ、どれだけの食糧を搭載するかを決定することができるようになっている。すなわち、上述したようにユーザが選択した海賊船には、それぞれ最大搭載量が決まっており、プレイヤーは船員と食糧との和がその最大搭載量に収まるよう、両者の値を設定することができる。例えば、食糧を多くして船員を少なくすれば、より長く航海ができるようになるが、敵ゲームキャラクタと遭遇して船員が全滅してしまい、港３４に無事に帰還できなくなる可能性が高まる。一方、船員を多く乗せて食糧はあまり搭載しないようにすれば、敵ゲームキャラクタと遭遇して船員を失っても影響はさほどないが、すぐに食糧がつきてしまい、港３４に無事に帰還することができなくなってしまう。このため、プレイヤーは絶妙なバランスで船員数及び食糧の量を決めなければならない。これにより、プレイヤーは出航準備で設定の妙を楽しむことができるようになる。また、Ｓ１１３における出航準備処理では、プレイヤーは方向ボタン２６やファンクションボタン２８により自分がゲームをしようとする海域３１を選択することができるようになっている。
【００３６】
出航準備処理において携帯電話機１２が出港の旨のゲームコマンドを選択すると、いよいよプレイヤーの船３２は海域３１に繰り出すことになる。このとき、ゲームサーバ２０はプレイヤーの船３２を（１，０）の位置に設定する。そして、その状況を表すハイパーテキストを生成して、それを携帯電話機１２に送信する。図１０は、この時に携帯電話機１２のディスプレイ２４に表示されるゲーム画面を示している。このゲーム画面には上部に状況表示５０がなされている。状況表示５０には、現在が出航日から何日目であるかが示されており、その下に海域３１における座標（海域座標）が示されている。さらにその下には、航海の状況を表すメッセージ５２、例えば「順調な航海だ」等の文字が表示される。最下部には、リンクボタン５４，５６，５８が表示されている。リンクボタン５４には「北航路を進む」の文字が表されており、プレイヤーがこのリンクボタン５４を選択するとゲーム空間３０において北東にプレイヤーの船３２を進めることができる。また、リンクボタン５６には「東航路を進む」の文字が表されており、プレイヤーがこのリンクボタン５６を選択するとプレイヤーの船３２を東に進めることができる。さらに、リンクボタン５８には「南航路を進む」の文字が表されており、このリンクボタン５８をプレイヤーが選択するとプレイヤーの船３２を南東に進めることができるようになっている。
【００３７】
図１０に示されるゲーム画面は、ゲームサーバ２０から送信されるハイパーテキストに基づいて生成されるものであり、このハイパーテキストのうち、特にリンクボタン５４は、図１１に示されるリンクタグに基づいて表示されるものである。同図に示すように、このリンクボタン５４にはリンク先として「domain/game.cgi 」が設定されている。「domain/game.cgi」は当該海賊ゲームを実現するためのＣＧＩ（Common Gateway Interface）プログラムであり、ゲームサーバ２０で実行されるものである。「?」以下には引数５５が付加されている。この引数５５はプレイヤーの現在状況（ゲーム状況データ）と北航路を進む旨のゲームコマンドとを含んでいる。すなわち、このゲームサーバ２０では、ゲームＤＢ２２に各プレイヤーの現在状況を逐次記録することを避けるため、携帯電話機１２に送信するハイパーテキストにおいてリンク先たるＣＧＩプログラムの引数５５にプレイヤーの現在状況を含めるようにしている。そして、ＣＧＩプログラム（domain/game.cgi）は引数５５で指定された内容でゲーム処理を行う。携帯電話機１２にゲーム画面を表すハイパーテキストを送信する際には、そのリンクタグに再び同じＣＧＩプログラム（domain/game.cgi）をリンク先として指定するとともに、その引数５５としてプレイヤーの最新状況（更新後のゲーム状況データ）を付加するようにしている。こうすれば、ＣＧＩプログラムは引数５５の内容からプレイヤーの現在状況を知ることができ、それに基づくゲーム処理を行うことができる。
【００３８】
図１２は、ＣＧＩプログラムに渡される引数５５の内容（ゲーム状況データ）を示している。同図に示されるように引数５５は、「現在の船員数」、「現在の食糧数」、「現在の武器数」、「船の最大搭載量」、「現在の船の種類」、「現在の財宝」、「現在の日数」、「現在の戻り防止カウンタ値」、「現在の海域座標」、「取得済アイテム」、「出会い済キャラクタ」、「出現した島の海域座標」、及び「出現した島の種類」を含んでいる。「現在の船員数」、「現在の食糧数」、「現在の武器数」は、ゲームイベントで増減した最新の船員、食糧、武器の数を表している。「船の最大搭載量」は、現在プレイヤーが選択している船の最大搭載量を表している。「現在の船の種類」は、プレイヤーが現在選択している船の種類を表している。また「現在の財宝」は、プレイヤーが現在までに獲得している財宝の総額を表す。「現在の日数」は、プレイヤーが現在が航海何日目であるかを表す。「現在の戻り防止カウンタ値」は、プレイヤーの不正操作を防止するためのカウンタ値が現在のところいくつであるかを表す。これはメインＤＢのレコードに格納されている現在の戻り防止カウンタ値に対応するものであり、後に詳述する。また「現在の海域座標」は、ゲーム空間３０においてプレイヤーの船３２が現在どの位置にあるかを表す。「取得済アイテム」は海域３１においてプレイヤーの船３２が取得したゲームアイテム（財宝等）の種類を表している。この情報はプレイヤーに同じゲームアイテムを何度も与えないようにするために用いられる。「出会い済キャラクタ」は、現在までにプレイヤーが出会った主要なゲームキャラクタの種類を表している。この情報はプレイヤーに同じゲームキャラクターに何度も出会わせないようにするために用いられる。「出現した島の海域座標」は、確定島４２の座標を表す。また、「出現した島の種類」は、その確定島４２の種類を表す。確定島４２は通常の島であったり、あるいは宝島であったりするが、この欄にはその種別が格納される。
【００３９】
図５に戻り、ゲームサーバ２０はゲームデータに対する応答としてゲームコマンド（ＵＲＬ）を受信する（Ｓ１１５）。なお、ハイパーテキストを生成する際、及びゲームコマンドを受信する際には、本ネットワークゲーム配信装置１８において特徴的な不正防止技術（戻り防止技術）が採用されている。これは上述した戻り防止カウンタ値を用いるものであり、後に詳述する。Ｓ１１５でゲームコマンドを受信すると、ゲームサーバ２０は所定のソフトウエアにより乱数を発生させ、その発生した乱数に従ってゲームイベントを決定する（Ｓ１１６）。ここでは、それが通常イベントであるか特殊イベントであるかを、まず決定する。ゲームサーバ２０は、決定されたイベントの種類を判断し（Ｓ１１７）、それが通常イベントであれば通常イベント処理を行う（Ｓ１１８）。また、特殊イベントであれば特殊イベント処理を行う（Ｓ１１９）。
【００４０】
また、このタイミングで食糧が尽きた場合にはゲームオーバであると判断し、港３４の画面を表すハイパーテキストを携帯電話機１２に送信する（Ｓ１０６）。すなわち、この海賊ゲームでは、プレイヤーの３２を進める度に船員の人数の１／１０にあたる量の食糧が減るようになっており、それが零になるとゲームオーバであると判断する。具体的には、ゲームサーバ２０は、図１２に示される引数５５のうち、「現在の船員数」及び「現在の食糧数」を調べ、現在の船員数の１／１０の量と現在の食糧数とを比べて現在の食糧数が下回っていれば、ゲームオーバーであると判断する。
【００４１】
Ｓ１１８における通常イベント処理は、図６に示されるフロー図のように行われる。すなわち、通常イベント処理においては、まずイベントの種類が決定される（Ｓ１２６）。このイベント種類の決定は、あらかじめ定められたイベント発生確率テーブルに基づいて決定される。通常イベントとしては、例えば海賊イベント、怪物イベント、嵐イベント、食糧補給イベント、船員補充イベント、帰還航路発見イベント等が用意されており、イベント発生確率テーブルでは、それらに対するデフォルトの発生確率が定められている。そして、それら発生確率にしたがって具体的なイベントの種類が決定される。また、危険海域３６や凪海域４０ではイベント発生確率テーブルは補正して用いられる。そして、Ｓ１２６において決定されたイベントが海賊イベントであれば（Ｓ１２７）、ゲームサーバ２０はその海賊がプレイヤー（プレーヤの船３２、船員、食糧、ひいては船長）に対して与えるダメージを決定する（Ｓ１２８）。この決定は乱数に基づいて行われる。そして、ゲームサーバ２０は、Ｓ１２８で決定されたダメージに対応する船長名を、図９に示した海域別ランキングデータから取得する（Ｓ１２９）。すなわち、海域別ランキングデータは、海域３１毎に獲得金の多い船長名が２０名記録されており、Ｓ１２８で決定されたダメージが大きければ、より上位の、すなわち獲得金の多い船長名がＳ１２９において取得される。また、Ｓ１２８で決定されたダメージが少なければ下位の船長名が取得される。取得された船長名は海賊名（敵ゲームキャラクター）としてゲーム画面に現れることになる。なお、船長名を取得する際には、現在ゲームを提供しているプレイヤーが自ら設定した船長名がゲーム画面に表示されることがないようにすることが望ましい。このため、ゲームサーバ２０は、携帯電話機１２から送信される顧客識別情報を参照し、その顧客識別情報が海域別ランキングデータに登録されている場合には、その顧客識別情報に対応して記録されている船長名を海賊名として採用しないようにすることが望ましい。こうすれば、自分のゲームに自分の設定した船長名が付された敵キャラクタが登場することがないようにできる。また、現在ゲームを提供しているプレイヤーが自ら設定した船長名と同一の船長名が海域別ランキングデータに登録されている場合、その船長名を海賊名として採用しないようにするようにしてもよい。こうすれば、自分が設定した名前の海賊が敵キャラクタとして登場することを避けることができる。取得された船長名はゲームサーバ２０の図示しないＲＡＭに一時記憶される。一方、Ｓ１２７において決定されたゲームイベントが海賊イベントでないと判断されると、具体的なイベント内容の決定が乱数に基づいてなされる（Ｓ１３０）。たとえば、怪物イベントにおいては、その怪物の名称やその怪物がプレーヤに与えるダメージが決定される。この決定内容はゲームサーバ２０に設けられた図示しないＲＡＭに一時記憶される。
【００４２】
また、Ｓ１１９における特殊イベント処理は、図７に示されるフロー図にしたがって行われる。同図に示されるように、特殊イベント処理においては、まず乱数に基づいてイベント種類が具体的に決定される（Ｓ１３１）。たとえば、特殊イベントとしては、宝島情報イベントや、島情報イベント、宝島到着イベント、食糧補給イベントが用意されている。Ｓ１３２においては、その決定されたイベントが島情報イベントか宝島情報イベントであるかが判断される。そして、島情報イベントや宝島情報イベントであれば、ゲームサーバ２０は確定島４２を海域３１に発生させる（Ｓ１３３）。この確定島４２は、現在のプレーヤーの船３２の位置に基づいて決定され、現在のプレイヤーの船３２の位置から複数回のゲームコマンドにより移動可能な位置に確定島４２が設定される。ここで設定された内容は、図１２に示されるようにしてＣＧＩプログラムの引数５５として渡すため、一旦ゲームサーバ２０の図示しないＲＡＭに記憶される。また、ＣＧＩプログラムの引数５５として出現した確定島４２の種類を記録するため、Ｓ１３１で決定したイベントによって、その確定島４２が通常の島であるか宝島であるかを判断し、その種別がゲームサーバ２０の図示しないＲＡＭに格納される。その後、イベントの種類に応じた画像データのパス名が取得される（Ｓ１３４）。一方、Ｓ１３２において島情報イベントや宝島情報イベントでないと判断されると、その決定されたイベントの具体的な内容が決定される（Ｓ１３５）。たとえば食糧補給イベントであれば、どれだけの食糧をプレイヤーに対して補給するかが乱数に基づいて決定される。これら決定内容はゲームサーバ２０の図示しないＲＡＭに一時記憶される。
【００４３】
図５に戻り、通常イベント処理（Ｓ１１８）や特殊イベント処理（Ｓ１１９）が終わると、ゲームサーバ２０はゲームオーバーであるかを判断する（Ｓ１２０）。すなわち、通常イベント処理や特殊イベント処理においては怪物や海賊に遭遇して船員が零になることがあるが、そのような場合にはゲームオーバであると判断する。ゲームオーバであると判断されると、その旨の画面を表示するためのハイパーテキストが携帯電話機１２に対して送信され、その後、港３４の画面に戻る（Ｓ１０６）。また、ゲームオーバでないと判断されると（Ｓ１２０）、次にゲームサーバ２０はゲームクリアであるかを判断する（Ｓ１２１）。すなわち、プレイヤーの船３２がゲーム空間３０において帰還島３９に到達し、そこでプレイヤーが港３４に帰還することを選択すると、ゲームサーバはその旨のゲームコマンドからゲームクリアであると判断する。
【００４４】
ゲームクリアであると判断されると、清算処理が行われる（Ｓ１２５）。清算処理においては、その航海において獲得した財宝の総額を算出し、それが上位２０位以内に入る場合は、そのプレイヤーに係る顧客識別情報、船長名、獲得金を海域別ランキングデータに加える。そして、最下位のプレイヤーに係る顧客識別情報、船長名、獲得金が海域別ランキングデータから削除される。こうして、ゲームＤＢ２２に保存されている海域別ランキングデータが更新される。
【００４５】
一方、Ｓ１２１においてゲームクリアでないと判断されると、Ｓ１２２に進み、ゲームＤＢ２２に設けられたＲＡＭから通常イベント処理（Ｓ１１８）や特殊イベント処理（Ｓ１１９）での決定事項が読み出され、その内容に基づいてプレイヤーの現在状況、すなわちゲーム状況データが生成され、その内容が顧客識別番号に対応付けられてゲームＤＢ２２に格納される。このゲーム状況データの内容は図１２に示されるＣＧＩプログラムの引数５５の内容と同じである。その後、ゲーム画面をあらわすハイパーテキストが生成され（Ｓ１２３）、ゲームサーバ２０は生成したハイパーテキストを携帯電話機１２に送信する（Ｓ１２４）。そして、再び携帯電話機１２からゲームコマンドを受信する（Ｓ１１５）。
【００４６】
なおＳ１２３においては、Ｓ１０５から処理が移行してきた場合、特に次のようにしてハイパーテキストを生成する。すなわち、上述したようにＳ１０５ではゲームＤＢ２２から現在ゲームを提供しているプレイヤーに係るゲーム状況データを読み出している。Ｓ１２３においては、この読み出したゲーム状況データを用いてハイパーテキストを生成する。図１３は、ここで生成されるハイパーテキストを用いて生成されるゲーム画面の一例を示している。同図（ａ）のゲーム画面は、同図（ｂ）のゲーム画面が携帯電話機１２のディスプレイ２４に表示された状態で、通信途絶、携帯電話機１２への着呼、プレイヤーの都合等により、本海賊ゲームが一旦終了され、再びプレイヤーがスタート画面で「続きから」を選択することにより、同ディスプレイ２４に表示されるものである。これらの図に示されるように、「続きから」を経由して表示されるゲーム画面（同図（ａ））では、ゲームイベントに係るメッセージ５１の表示（同図（ｂ））がキャンセルされ、残りの部分だけが表示される。同図（ａ）において、状況表示５０はゲーム状況データに基づいて生成される。また、リンクボタン５４，５６，５８を表示するためのリンクタグでは、引数５５の内容として、ゲームＤＢ２２から読み出されたゲーム状況データの内容が複写される。こうすれば、同図（ｂ）がディスプレイ２４に表示された状態でプレイが一旦中断した場合でも、同図（ｂ）に示される情報のうち必要な部分だけを再度プレイヤーに提示することができ、これによりゲームプレイを再開させることができる。
【００４７】
その他、Ｓ１２３でのハイパーテキスト生成においては、特に、通常イベント処理において海賊イベントが選択された場合、海域別ランキングデータから取得された船長名がハイパーテキストに埋め込まれる。図１４（ａ）は海賊イベントにかかるゲーム画面の一例が示されている。このゲーム画面は携帯電話機１２のディスプレイ２４に表示されるものである。同図に示すように、このゲーム画面では「ＡＡＡ船長が現れた！」とのメッセージ６４が埋め込まれている。このメッセージのうち「ＡＡＡ」の部分は、通常イベント処理において、海域別ランキングデータから取得され、ＲＡＭに一時記憶されていた船長名である。このように海域別ランキングデータに記録されている船長名をゲーム画面に敵キャラクタとして表示させることにより、プレイヤーは他の成績優秀者の設定した船長名を知ることができる。このため、ネットワークゲームシステム１０に意外性を与えることができる。また、プレイヤーは海域別ランキングデータに登録されると、自分の設定した船長名が他のプレイヤーのプレイするゲーム画面に現れることになるため、自己主張のため、海域別ランキングデータに自分の設定した船長名が登録されるよう何度もゲームを繰り返すようになる。こうして、ネットワークゲームシステム１０の魅力を高めることができる。また、通常イベント処理においてたとえば怪物イベントが選択されている場合には、例えば図１４（ｂ）に示されるゲーム画面が携帯電話機１２のディスプレイ２４に表示される。このゲーム画面では「巨大ザメが現れた！」のメッセージが表示されている。
【００４８】
さらに、特殊イベント処理（Ｓ１１９）において島情報イベントが選択された場合には、携帯電話機１２のディスプレイ２４に例えば図１５に示されるゲーム画面が表示されることになる。同図に示されるゲーム画面には「ここから東に２、北に２の所にまた島があるんですって」とのメッセージ６８が表示されている。この画面では島情報イベントに相応しい画像６６がゲーム画面に埋め込まれる。この画像６６の表示は、ハイパーテキストに当該画像６６のパス名を埋め込むことにより行われる。パス名は、Ｓ１３４で取得されたパス名である。また、リンクボタン５４，５６，５８を表示するためのリンクタグでは、ＣＧＩプログラムに引数５５として出現した島の海域座標が設定される。この場合、現在の海域座標に（２，−２）を加算した座標が、引数５５の「出現した島の海域座標」の項目に設定される。また「出現した島の種類」の欄には発生した島が通常の島である旨が設定される。
【００４９】
また、特殊イベント処理（Ｓ１１９）において宝島情報イベントが選択されている場合には、例えば図１６に示されるように「ここから東に８、南に２の所に宝島があるらしいぜ！」とのメッセージ７２が携帯電話機１２のディスプレイ２４に表示される。このとき、リンクボタン５４，５６，５８を表示するためのリンクタグでは、引数５５の「出現した島の海域座標」として、現在の海域座標に（８，２）を加算した座標が設定され、さらに「出現した島の種類」として、当該島が宝島である旨が設定される。このゲーム画面においては宝島の情報を取得した状況に相応しい画像７０が表示される。この画像７０は携帯電話機１２に送信されるハイパーテキストに当該画像７０のパス名を埋め込むことにより行われる。このパス名は、Ｓ１３４で取得されたパス名である。
【００５０】
また、特殊イベント処理（Ｓ１１９）において宝島到着イベントが選択された場合には、例えば図１７に示されるゲーム画面が携帯電話機１２のディスプレイ２４に表示される。このゲーム画面においては、宝島にたどり着いたことをあらわすのに相応しい画像７４が表示される。この画像７４は、携帯電話機１２に送信されるハイパーテキストに、当該画像７４のパス名を埋め込むことにより行われる。この画像７４のパス名はＳ１３４において取得されたものである。このとき、Ｓ１３１において決定されたイベント内容に基づいて、メッセージ７６が表示される。同図に示される例では「金を１００００ポイント獲得した  海賊王の剣を手に入れた」とのメッセージ７６が表されている。この場合は、ＣＧＩプログラムの引数５５として、「現在の財宝」に１００００ポイントが加算され、さらに「取得済みアイテム」に海賊王の剣を取得した旨が設定される。
【００５１】
また、通常イベント処理（Ｓ１１８）において帰還航路発見イベントが選択された場合には、例えば図１８に示されるゲーム画面が表示される。このゲーム画面には、帰還する旨のゲームコマンドに対応するリンクボタン６０と、航海を続ける旨のゲームコマンドに対応するリンクボタン６２と、が表示される。プレイヤーがリンクボタン６０を選択すると、プレイヤーの船３２は港３４に帰還する。一方、リンクボタン６２を選択すると、港３４への帰還をキャンセルし、航海が続けられる。
【００５２】
最後に、本ネットワークゲームシステム１０において特徴的な不正防止技術（戻り防止技術）について説明する。この不正防止技術を実現するため、図５におけるＳ１２３において図１９に示される処理が実行される。この処理では、まずゲームサーバ２０がゲームＤＢ２２に格納されている戻り防止カウンタ値を取得する（Ｓ２０１）。戻り防止カウンタ値は携帯電話機１２から取得される顧客識別情報に対応してメインＤＢに記憶されているものである。そして、ゲームサーバ２０はその値に基づいて新たに戻り防止カウンタ値を生成する。具体的には、その値を１だけインクリメントする（Ｓ２０２）。そして、その値を再びゲームＤＢ２２に設けられたメインＤＢに格納する。こうして、メインＤＢの「現在の戻り防止カウンタ値」を更新する（Ｓ２０３）。そして、この更新したカウンタ値を用いて送信データを生成する（Ｓ２０４）。すなわち、リンクボタン５４，５６，５８等に含められるＣＧＩプログラムへの引数５５において、「現在の戻り防止カウンタ値」として更新後のカウンタ値が設定される。
【００５３】
以上のようにして生成されたハイパーテキストを受信した携帯電話機１２において、プレイヤーが方向ボタン２６やファンクションボタン２８によってゲームコマンドを選択すると、そのゲームコマンドはゲームサーバ２０に送信される。このゲームコマンド（ＵＲＬ）を受信する際、そこに引数５５として含まれる「現在の戻り防止カウンタ値」が参照される。図２０は、このときの処理を説明するフロー図である。同図に示される処理は、Ｓ１１５（図５）の処理において行われるものである。この処理では、ゲームサーバ２０は、ゲームコマンドを受信し（Ｓ２１０）、そこからＣＧＩプログラムへの引数５５及び顧客識別情報を取得する（Ｓ２１１）。さらに、ゲームサーバ２０はゲームＤＢ２２に設けられたメインＤＢから「現在の戻り防止カウンタ値」を取得する（Ｓ２１２）。このとき「現在の戻り防止カウンタ値」はＳ２１１において取得した顧客識別情報に対応するものが取得される。そして、ゲームサーバ２０は、Ｓ２１１で取得した引数５５に含まれる「現在の戻り防止カウンタ値」と、Ｓ２１２でゲームＤＢ２２から取得した「現在の戻り防止カウンタ値」とを比較し、それらが等しいかを調べる（Ｓ２１３）。そして、両者が等しい場合には不正操作は行われていないとして、次の処理（Ｓ１１６）に復帰する。一方、両者が等しくない場合には、戻り（不正操作）が禁止されている旨を案内表示するためのハイパーテキストを生成し、それを携帯電話機１２に送信する（Ｓ２１４）。そして、再びゲームコマンドの受信を待つ（Ｓ２１０）。
【００５４】
すなわち、携帯電話機１２とゲームサーバ２０との間は、ＨＴＴＰ（HyperText Transfer Protocol）によりデータ通信がなされており、携帯電話機１２では既に取得したハイパーテキストを、Ｗｅｂブラウザ機能の「戻る」機能を用いることにより、遡って表示させることができるようになっている。そして、プレイヤーが既に取得した過去のハイパーテキストに基づくゲーム画面をディスプレイ２４に表示し、そこに含まれているリンクボタン５４，５６，５８等を押下すると、そのリンクタグに含まれている引数５５がゲームサーバ２０に送信される。この場合には、ゲームＤＢ２２に格納されている「現在の戻り防止カウンタ値」と携帯電話機１２からＣＧＩプログラムの引数５５として送信される「現在の戻り防止カウンタ値」とが一致しなくなる。本ネットワークゲーム配信装置１８に備えられている不正防止技術では、このような場合に、不正操作が禁止されている旨を携帯電話機１２に知らせるのである。この不正防止技術を採用しないと、携帯電話機１２に、このような過去のゲーム画面に基づく操作を可能とする機能が備えられている場合には、プレイヤーは望ましくないゲームイベントに出会うと、過去に遡ってゲームコマンドをゲームサーバ２０に送信し直して、そのようなゲームイベントへの遭遇をキャンセルすることが可能となってしまう。このネットワークゲームシステム１０によれば、上記不正防止技術を採用して、戻り防止カウンタ値をゲームＤＢ２２で管理することにより、そのような不正操作を禁止することが可能となる。このため、プレイヤーはゲームコマンドのやり直しが効かないことで、緊張感を持続させることができ、この種のネットワークゲームシステム１０の魅力を高めることができる。
【００５５】
以上説明したネットワークゲームシステム１０によれば、電話状況の悪化、携帯電話機１２への着呼、プレイヤーの都合等の理由によりゲームプレイが中断した場合でも、ゲームＤＢ２２に格納されているゲーム状況データを用いてゲーム画面を再現することができるため、プレイヤーはゲームプレイを再開することができるようになる。
【００５６】
なお、本発明は以上説明した実施の形態に限定されるものではない。
【００５７】
例えば、以上説明したゲームシステム１０では、ゲーム状況データとして、図１２に示されるデータをゲームＤＢ２２に記憶するようにしたが、ゲーム空間におけるプレイヤーの現在状況を表すデータであれば、どのようなデータをゲーム状況データとして採用してもよい。例えば、ゲームデータたるハイパーテキストにゲーム処理に必要なパラメータが含まれている場合は、そのハイパーテキスト自体をゲーム状況データとしてゲームＤＢ２２に記憶させておくようにしてもよい。
【００５８】
また、以上説明したゲームシステム１０では、ゲーム状況データをＣＧＩプログラムの引数５５としてリンクタグに埋め込むようにしたが、ゲーム状況データの一部だけを引数５５に埋め込み、他はゲームＤＢ２２で管理するようにしてもよい。
【００５９】
また、以上の説明では携帯電話機１２を用いてネットワークゲームシステム１０を実現する例について説明したが、携帯電話機１２でなくとも、無線通信により通信ネットワーク１６に接続可能なあらゆる情報端末をゲーム端末として使用することができる。また、通信ネットワーク１６への接続は無線通信に限らず、通常のパーソナルコンピュータを用いてゲームサーバ２０に接続するようにしてもよい。
【００６０】
さらに、上記実施の形態では本発明を海賊ゲームに適用する例について説明したが、本発明はあらゆるゲームに対して適用可能である。また、以上のゲームシステム１０ではＨＴＴＰを利用してゲーム配信を行うようにしたが、どのようなプロトコルを用いてもよい。
【図面の簡単な説明】
【図１】  本発明の実施の形態に係るネットワークゲームシステムの全体構成を示す図である。
【図２】  本発明の実施の形態に係るネットワークゲームシステムで実現される海賊ゲームの概念を説明する図である。
【図３】  本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図４】  本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図５】  本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図６】  本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図７】  本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図８】  ゲームＤＢに設けられたメインＤＢのレコード構成を示す図である。
【図９】  ゲームＤＢに格納される海域別ランキングデータの構成を示す図である。
【図１０】  出航時におけるゲーム画面の一例を示す図である。
【図１１】  リンクボタンを表示するためのリンクタグを示す図である。
【図１２】  ゲームサーバで実行されるＣＧＩプログラムに渡される引数を説明する図である。
【図１３】  「続きから」機能を利用した場合のゲーム画面の一例を示す図である。
【図１４】  通常イベントに係るゲーム画面の一例を示す図である。
【図１５】  島情報イベントに係るゲーム画面の一例を示す図である。
【図１６】  宝島情報イベントに係るゲーム画面の一例を示す図である。
【図１７】  宝島到着イベントに係るゲーム画面の一例を示す図である。
【図１８】  帰還航路発見イベントに係るゲーム画面の一例を示す図である。
【図１９】  本発明の実施の形態に係るネットワークゲーム配信装置で採用される不正防止技術を説明するフロー図である。
【図２０】  本発明の実施の形態に係るネットワークゲーム配信装置で採用される不正防止技術を説明するフロー図である。
【符号の説明】
１０  ネットワークゲームシステム、１２  携帯電話機、１４  携帯電話基地局、１６  通信ネットワーク、１８  ネットワークゲーム配信装置、２０  ゲームサーバ、２２  ゲームＤＢ、２４  ディスプレイ、２６  方向ボタン、２８  ファンクションボタン、２９  ボタン群、３０  ゲーム空間、３１海域、３２  プレイヤーの船、３３  座標軸、３４  港、３５  マス、３６  危険海域、３８宝島、３９  帰還島、４０  凪海域、４２  確定島、４４  ランダム島、５０状況表示、５１，５２，６４，６８，７２，７６  メッセージ、５４，５６，５８  リンクボタン、５５  引数、６６，７０，７４  画像。
【図１】
0003791665.tif 000002
【図２】
0003791665.tif 000003
【図３】
0003791665.tif 000004
【図４】
0003791665.tif 000005
【図５】
0003791665.tif 000006
【図６】
0003791665.tif 000007
【図７】
0003791665.tif 000008
【図８】
0003791665.tif 000009
【図９】
0003791665.tif 000010
【図１０】
0003791665.tif 000011
【図１１】
0003791665.tif 000012
【図１２】
0003791665.tif 000013
【図１３】
0003791665.tif 000014
【図１４】
0003791665.tif 000015
【図１５】
0003791665.tif 000016
【図１６】
0003791665.tif 000017
【図１７】
0003791665.tif 000018
【図１８】
0003791665.tif 000019
【図１９】
0003791665.tif 000020
【図２０】
0003791665.tif 000021