JP3791665B2 - ゲーム配信装置、情報記憶媒体及びゲーム配信方法 - Google Patents
ゲーム配信装置、情報記憶媒体及びゲーム配信方法 Download PDFInfo
- Publication number
- JP3791665B2 JP3791665B2 JP2000053011A JP2000053011A JP3791665B2 JP 3791665 B2 JP3791665 B2 JP 3791665B2 JP 2000053011 A JP2000053011 A JP 2000053011A JP 2000053011 A JP2000053011 A JP 2000053011A JP 3791665 B2 JP3791665 B2 JP 3791665B2
- Authority
- JP
- Japan
- Prior art keywords
- game
- data
- received
- player
- situation data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明はゲーム配信装置、情報記憶媒体及びゲーム配信方法に関し、特に、通信ネットワークを介してゲーム端末に対してゲームを提供するシステムにおいて、通信途絶やプレイヤーの都合等により一旦中断したゲームを好適に再開できるようにするための技術に関する。
【0002】
【従来の技術】
HTTP(HyperText Transfer Protocol)を利用してゲームを提供するネットワークゲームシステムが普及しつつある。かかるシステムでは、プレイヤーはパーソナルコンピュータ(パソコン)や各種携帯情報端末でWebブラウザを起動し、ゲームサーバからゲーム画面を表すハイパーテキストを受信する。このゲーム画面には、ゲームコマンドに対応してリンクボタンが表されており、プレイヤーがマウス等でいずれかのリンクボタンを押下すると、そのリンクボタンに対応づけられたURL(Uniformed Resource Locater)がゲームコマンドとしてゲームサーバに送信されるようになっている。ゲームサーバでは、このゲームコマンドを受信し、その内容に応じたハイパーテキストを生成し、それをゲームデータとして再びプレイヤーのパソコン等に送信する。
【0003】
ここでゲームコマンドたるURLは、ゲームプログラムたるCGI(Common Gateway Interface)プログラムのパス名と、該CGIプログラムへ渡される引数と、を含んでいる。ゲームサーバではゲームコマンドを受信すると、その引数を実行パラメータとして当該CGIプログラムを起動し、その出力をゲームデータとしてゲーム端末に返信する。
【0004】
【発明が解決しようとする課題】
ところが、CGIプログラムのパス名やその引数は、ゲーム進行に応じて変化することが多いため、ゲーム途中で通信が途絶してしまうと次のような問題がある。すなわち、ゲーム途中で通信が途絶してしまうと、プレイヤーがCGIプログラム及びその引数を常に把握することは困難であるから、プレイヤーが覚えている、或いはゲーム端末に記憶されているURL(例えばスタート画面のURL)をゲームサーバに再送信するより他、なくなってしまう。このためプレイヤーは、今までプレイしていたゲームの進展を再び楽しむことができない場合がある。特にゲーム端末として携帯電話機等の無線通信装置を利用する場合には、トンネル等の場所的要因により通信途絶が生じやすく、また予期しない着呼が割り込む等により、ゲームが中断されることが多いものと予想される。
【0005】
本発明は上記課題に鑑みてなされたものであり、その目的は、中断したゲームを好適に再開することができるゲーム配信装置、情報記憶媒体及びゲーム配信方法を提供することにある。
【0006】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るゲーム配信装置は、プレイヤー識別情報と、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を対応づけてデータベースに記憶するゲーム状況データ記憶手段と、プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信する手段と、ゲームコマンドを受信した場合に、乱数に基づいてゲームイベントを決定するゲームイベント決定手段と、決定されたゲームイベントの内容に基づいて、受信されたゲーム状況データを更新する手段と、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新する手段と、ゲームコマンドと、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データと、を前記ゲーム端末から返信するためのデータを含むゲームデータを生成する第1のゲームデータ生成手段と、前記第1のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第1のゲームデータ送信手段と、プレイヤー識別情報とともに所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと該ゲーム状況データとを前記ゲーム端末から返信するためのデータを含むゲームデータを生成する第2のゲームデータ生成手段と、前記第2のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第2のゲームデータ送信手段と、を含むことを特徴とする。
【0007】
また、本発明に係る情報記憶媒体は、コンピュータをゲーム配信装置として機能させるためのプログラムを記録したコンピュータにより読み取り可能な情報記憶媒体であって、プレイヤー識別情報と、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を対応づけてデータベースに記憶するゲーム状況データ記憶手段、プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信する手段、ゲームコマンドを受信した場合に、乱数に基づいてゲームイベントを決定するゲームイベント決定手段、決定されたゲームイベントの内容に基づいて、受信されたゲーム状況データを更新する手段、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新する手段、ゲームコマンドと、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データと、を前記ゲーム端末から返信するためのデータを含むゲームデータを生成する第1のゲームデータ生成手段、前記第1のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第1のゲームデータ送信手段、プレイヤー識別情報とともに所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと該ゲーム状況データとを前記ゲーム端末から返信するためのデータを含むゲームデータを生成する第2のゲームデータ生成手段、及び、前記第2のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第2のゲームデータ送信手段、として前記コンピュータを機能させるためのプログラムを記録したコンピュータにより読み取り可能な情報記憶媒体である。
【0008】
さらに、本発明に係るゲーム配信方法は、ゲーム状況データ記憶手段が、プレイヤー識別情報と、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を対応づけてデータベースに記憶させるステップと、受信手段が、プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信するステップと、ゲームイベント決定手段が、ゲームコマンドを受信した場合に、乱数に基づいてゲームイベントを決定するステップと、受信ゲーム状況データ更新手段が、決定されたゲームイベントの内容に基づいて、受信されたゲーム状況データを更新するステップと、ゲーム状況データ更新手段が、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新するステップと、第1のゲームデータ生成手段が、ゲームコマンドと、前記受信されたゲーム状況データを更新する手段によって更新されたゲーム状況データと、を前記ゲーム端末から返信するためのデータを含むゲームデータを生成するステップと、第1のゲームデータ送信手段が、前記第1のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信するステップと、第2のゲームデータ生成手段が、プレイヤー識別情報とともに所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと該ゲーム状況データとを前記ゲーム端末から返信するためのデータを含むゲームデータを生成するステップと、第2のゲームデータ送信手段が、前記第2のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信するステップと、を含むことを特徴とする。
【0009】
本発明では、ゲーム配信装置にてゲームコマンドを受信し、そのゲームコマンドに基づいてゲームイベントを決定する。そして、その決定されたゲームイベントの内容に基づいてゲーム画面を表すゲームデータを生成する。また、このゲームデータに対応するゲーム状況データを記憶しておく。生成されたゲームデータはゲーム端末に送信され、ゲーム端末でゲーム画面を表示するのに供される。そして、所定の再開用ゲームコマンドを受信した場合には、記憶しておいたゲーム状況データに基づいて所定の再開画面を表す再開用ゲームデータを生成し、それをゲーム端末に送信する。こうして、ゲーム端末では所定の再開用ゲームコマンドをゲーム配信装置に送信することにより、再開用ゲームデータを受信することができ、それに基づいて再開画面を表示することができるようになる。この結果、プレイヤーは好適にゲームを再開できるようになる。
【0010】
【発明の実施の形態】
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。
【0011】
以下では、本発明を海賊ゲームに適用する例を説明する。この海賊ゲームは通信ネットワークと携帯電話機とを用いて実現されるものであり、ゲーム空間において、プレイヤーは海賊船の船長となり、航海に出かける。そして、できるだけ多くの財宝を発見し、それを港に持ち帰ることを競う。ゲーム空間中、帰還航路を発見し、そこでプレイヤーが港への帰還を選択すると元の港に帰れるようになっている。
【0012】
ゲーム空間には7つの海域が用意されており、そこには様々な特徴をもった島々が点在する。そして、プレイヤーは島から島へと航海を続ける。航海の途中には、プレイヤーを様々なゲームイベントが待ち受ける。例えば、怪物の出現、敵対海賊の妨害、食糧や船員を補給できる島の発見等である。航海方法は単純であり、プレイヤーは3方向のいずれかへの舵取りを選択指示するだけでよい。
【0013】
重要となるのは「船員と食糧とのバランス決定」と「帰還のタイミング選択」である。航海の途中で船員か食糧かが尽きればゲームオーバーとなる。海賊船には積載量に限界が設けられており、航海を続けるにつれて食糧が減っていくため、食糧を多く積んでから出向したいところであるが、そうすると今度は船員を多く乗せられなくなり、ゲームイベントへの遭遇によって船員を失い、ゲームオーバーとなり易くなってしまう。このため船員と食糧とをいかなるバランスで船に積みこんで出航するかがゲームクリアへの重要な要素となるのである。
【0014】
また、航海を続ければ続けるほど船員を多く失う可能性が高まるものの、より多くの財宝を発見できる可能性も高まる。このため、ある程度の財宝を発見した後、帰還航路を発見すると、プレイヤーは帰還を選択して無事に今まで獲得した財宝を持ち帰るか、危険なゲームイベントにより船員を失ってゲームオーバーとなってしまうリスクを冒しつつも、より多くの財宝を探し求めて航海を続けるか、の選択がプレイヤーを悩ませることになる。つまり、この海賊ゲームでは、いわばカジノゲームのような駆け引きを楽しむことができるのである。
【0015】
また、この海賊ゲームでは、プレイヤーが港に無事に帰還できると、その獲得した財宝により海域毎にランキングされるようになっている。そして、海域毎に上位20位までの船長は、あるときは味方として、あるときは敵対海賊として、その名前が他のプレイヤーの海賊ゲームに登場する。船長名は各プレイヤーが設定したものである。このため、他のプレイヤーの海賊ゲームに登場させようと、上位へのランキング入りを目指して、プレイヤーはゲームを繰り返すことになる。また、敵対海賊に他のプレイヤーが設定した個性的な名前が付いているのを見て、プレイヤーは面白さを感じることができる。つまり、原則として複数のプレイヤーのそれぞれに対して独立のゲーム(ゲーム空間)を提供しつつも、成績優秀者が設定した船長名を他のプレイヤーのゲームに登場させるという限度で、それらの互いに独立したゲームに関連性を持たせるようにしている。このため、プレイヤーは独立したゲームを楽しみながらも、ある程度、ネットワークゲームへの参加感を楽しむことができる。
【0016】
なお、ネットワークゲームとして、同一ゲーム空間で複数のプレイヤーがゲームを楽しむタイプのものがあり、このタイプのネットワークゲームでは自分はもちろん、自分以外のプレイヤー名もゲーム画面に現れる。このため、プレイヤーは、ネットワークゲームへの参加感を楽しむことができるし、自己主張の喜びも得ることができる。しかしながら、このタイプのネットワークゲームでは、プレイヤーがオフライン状態にある場合にはプレイヤー名が他人のゲーム画面に登場しなくなってしまう。これに対し、この海賊ゲームでは、海域毎の上位20位までの船長は、プレイヤーがオンライン状態にある場合はもちろん、オフライン状態にあっても、他のプレイヤーの海賊ゲームに登場する。このため、プレイヤーの自己主張の欲求を、より満足させることができる。
【0017】
図1は、本発明の実施の形態に係るネットワークゲームシステム10の全体構成を示す図である。同図に示すネットワークゲームシステム10は、携帯電話機12(ゲーム端末)と、携帯電話基地局14と、通信ネットワーク16と、ネットワークゲーム配信装置18と、を含んで構成されている。ネットワークゲーム配信装置18は、ゲームサーバ20と、ゲームデータベース(DB)22と、を含んで構成されている。
【0018】
携帯電話機12は、LCD等を用いて構成されたディスプレイ24と、方向ボタン26と、ファンクションボタン28と、丸ボタン群29と、を含んでいる。携帯電話機12は従来公知のものであり、丸ボタン群29でダイヤル入力が可能であり、ディスプレイ24には電話帳や各種設定メニューが表示される。各種設定は方向ボタン26及びファンクションボタン28により行う。
【0019】
また、この携帯電話機12には、特に携帯電話基地局14を介してインターネット等の通信ネットワーク16に接続する機能が備えられている。本実施の形態では、この携帯電話機12のネットワーク接続機能を利用する。すなわち、携帯電話機12のユーザは、方向ボタン26、ファンクションボタン28、丸ボタン群29を用いてURL(Uniform Resource Locator)を通信ネットワーク16に送出し、そのURLに対応するハイパーテキストをゲームサーバ20から取得する。すなわちゲームサーバ20では、携帯電話機12から送信されたURLをゲームコマンドとして認識するようになっており、そのゲームコマンドに対応したハイパーテキスト(HyperText;ゲームデータ)を生成し、それを通信ネットワーク16及び携帯電話基地局14を介し、携帯電話機12に返信するようになっている。携帯電話機12は、このハイパーテキストを受信すると、それに基づいてゲーム画面をディスプレイ24に表示する。なお、以上説明したURLの送信及びハイパーテキストの受信並びに表示は、携帯電話機12でWebブラウザ機能を実行することにより行われる。
【0020】
携帯電話基地局14は、携帯電話12から無線送信されるURLを通信ネットワーク16に中継するが、その際、携帯電話機12に付与された顧客識別番号をURLに含めるようにしている。このためゲームサーバ20では、ゲームコマンドたるURLの送信者を識別することができる。
【0021】
ゲームサーバ20は、通信ネットワーク16にネットワーク接続されたサーバコンピュータであり、ゲームDB22が接続されている。ゲームサーバ20は、ゲームコマンドたるURLに基づいてゲームデータたるハイパーテキストを生成する際、ゲームDB22の記憶内容を参照するようになっている。なお、本発明の特徴たるゲーム処理は、例えばハードディスク装置等の、ゲームサーバ20に備えられた記憶装置(情報記憶媒体)に記録されているプログラムに基づいて実行されるものである。該プログラムは、それを記録したCD−ROMやDVD等を介して、或いは通信ネットワーク16を介して、前記記憶装置に格納される。
【0022】
図2は、本実施の形態に係るネットワークゲームシステム10で実現される海賊ゲームの概念を説明する図である。この海賊ゲームでは、ゲーム空間30にゲームが繰り広げられる舞台となる海域31が設定されている。ゲーム空間30はプレイヤー毎に観念されるものである。海域31は直角二等辺三角形状を有しており、その直角部分に隣接して港34が設定されている。この港34は、ゲーム空間30における原点(0,0)に設定されている。ゲーム空間30には座標軸33が設定されており、港34から海域31における直角部分を二等分する方向を東側とし、それに直行する方向をそれぞれ北方向、及び南方向としている。プレイヤーの船32は港34を出発するとゲームコマンドに従って海域31を進む。
【0023】
ゲームコマンドには後述するように、主として「北航路を進む」と「東航路を進む」と「南航路を進む」とがある。「北航路を進む」がゲームコマンドとして選択されると、プレイヤーの船32はゲーム空間30において北東に1コマ進む。また「東航路を進む」がゲームコマンドとして選択されると、プレイヤーの船32は東方向に1コマ進む。さらに「南航路を進む」がゲームコマンドとして選択されると、プレイヤーの船32は南東方向に1コマ進む。例えばプレイヤーの船32が、同図に示すように港34に位置している場合には、「北航路を進む」がゲームコマンドとして選択されると、プレイヤーの船32はマス35Nに移動する。また「東航路を進む」がゲームコマンドとして選択されると、プレイヤーの船32はマス35Eに移動する。さらに「南航路を進む」がゲームコマンドとして選択されると、プレイヤーの船32はマス35Sに移動する。こうしてプレイヤーの船32は、携帯電話機12から送信されるゲームコマンド(URL)に従って海域31を航海する。
【0024】
海域31には危険海域36や凪(なぎ)海域40が含められている。この危険海域36や凪海域40はあらかじめゲームDB22に登録されており、危険海域36にプレイヤーの船32が侵入すると、怪物イベントや海賊イベント等の危険なゲームイベントが他の海域よりも高い確率で発生するようになっている。また、プレイヤーの船32が凪海域40に侵入すると、順調に航海できる凪イベントが高い確率で発生するようになっている。プレイヤーはあらかじめプレイヤーの船32に船員や食糧を積み込むことができるようになっており、これら船員や食糧は海域31で遭遇するゲームイベントによって増減するようになっている。例えば、プレイヤーの船32が航海中にゲームキャラクタたる巨大ザメに遭遇すると、船員が失われるようになっている。また、ランダム島44に到着すると食糧や船員が補給されるようになっている。これら巨大ザメ等の敵ゲームキャラクタやランダム島44はプレイヤーの船32が海域31を進む毎に乱数に従って出現する。
【0025】
プレイヤーの船32は各種のゲームイベントをクリアしながら宝島38を目指す。この宝島38にプレイヤーの船32が到着すると、金塊や財宝を手に入れることができる。宝島38は航海中、所定確率で発生するようになっている。その後、プレイヤーの船32が帰還島39に到着すると、港34に帰還するか、あるいは航海を続けるかの選択をプレイヤーに迫るようになっている。このとき、プレイヤーが航海を続けてさらなる宝島38を探し求めれば、リスクを負うものの金塊や財宝をより多く獲得できるようになる。一方、港34に帰還することをプレイヤーが選択すると、それまでに獲得した金塊や財宝を安全に持ち帰ることができる。
【0026】
海域31には島出現イベントも用意されている。プレイヤーの船32が島出現イベントに遭遇すると、プレイヤーに対して「○○に島がある」等の島の所在に関する情報が伝えられるようになっており、それに応じてゲームDB22に構築されたゲーム空間30に確定島42を出現させるようになっている。このため、プレイヤーは得られた情報に基づいてプレイヤーの船32を操作し、確定島42を目指すことができる。そして、確定島42では船員の補給や船員の食糧の補給を受けられるようになる。
【0027】
以上説明した海賊ゲームを実現するためのゲームサーバ20の処理について、以下、図3乃至図7のフロー図に基づいて詳細に説明する。ゲームサーバ20では、携帯電話機12からゲーム開始要求の旨のURLを通信ネットワーク16を介して受信すると(S101)、スタート画面を表すハイパーテキストを携帯電話機12に返す(S102)。このスタート画面では、「ゲーム説明」、「ゲーム開始」、及び「新規登録」のためのリンクボタンが表示される。このスタート画面を見て、プレイヤーが方向ボタン26、ファンクションボタン28又はボタン群29を用いてリンクボタンを選択し、それによりゲームコマンドたるURLをゲームサーバ20に送信すると、それをゲームサーバ20が受信する(S103)。ゲームサーバ20は、このゲームコマンドの種類を判断する(S104)。
【0028】
このとき、ゲームコマンドが「ゲーム説明」を求めるものである場合には、ゲーム説明を含むハイパーテキストを携帯電話機12に返す(S108)。その後、携帯電話機12から送信されるゲームコマンドに応答して、再びスタート画面を表すハイパーテキストを携帯電話機12に送信する(S102)。一方、S104において携帯電話機12から受信したゲームコマンドが「新規登録」を求めるものである場合には、ユーザ登録処理を行う(S107)。すなわち、ネットワークゲーム配信装置18は有料で携帯電話機12のユーザにゲームを供給するものであり、携帯電話機12のユーザはあらかじめ携帯電話基地局14にゲーム料金支払いの意志がある旨を登録するようになっている。そして、ゲームサーバ20はS103において「新規登録」を求める旨のゲームコマンドを受信すると、そのゲームコマンドに含まれている顧客識別情報を検索キーとして、携帯電話基地局14に対して当該顧客が有料でのゲーム配信を受ける意志があるのか否かを問い合わせる。この問い合わせは通信ネットワーク16を介して行われる。ユーザが携帯電話機12で有料のゲーム配信を受けることを登録していれば、ゲームサーバ20はゲームDB22に設けられたメインDBにその顧客のためのレコードを生成する。
【0029】
このレコードの内容は図8に示されている。同図に示すように、メインDBには「顧客識別情報」、「船長名」、「船名」、「現在の貢献ポイント」、「現在の船の種類」、「現在の船の耐久度」、「今まで取得した金の累積」、「現在の戻り防止カウンタ値(ゲームデータ識別情報)」、が顧客毎に記録されている。「顧客識別情報」は上述したように携帯電話機12から送信されるゲームコマンド(URL)に含められているものである。携帯電話基地局14に携帯電話機12のユーザが有料でのゲーム配信を受ける旨を登録している場合には、ゲームサーバ20は上述したレコードをメインDBに生成するとともに、「船長名」及び「船名」を登録するためのハイパーテキストを携帯電話機12に送信する。これに応じて、プレイヤーがボタン群29等を用いて船長名及び船名を入力し、それをゲームコマンドとしてゲームサーバ20に送信すると、当該顧客に係るレコードに「船長名」及び「船名」が登録される。「現在の貢献ポイント」、「現在の船の種類」、「現在の船の耐久度」、「今までに取得した金の累積」、及び「現在の戻り防止カウンタ値」にはデフォルト値が設定される。「現在の貢献ポイント」は現在のプレイヤーの所持金である。「現在の船の種類」は現在プレイヤーが選択している海賊船の種類である。「現在の船の耐久度」は船の老朽度に対応するものである。この海賊ゲームでは航海のたびに船の老朽化が進むようになっており、プレイヤーに海賊船の変更を迫るようにしている。「今までに取得した金の累計」はプレイヤーが今までのプレイで獲得した金の累計である。「戻り防止カウンタ値」は不正なプレイを防止するためのものであり、これについては後に詳述する。設定が終わると再びS102に戻り、スタート画面を表すハイパーテキストが携帯電話機12に送信される。
【0030】
また、S104において携帯電話機12から受信したゲームコマンドが「続きから」を要求するもの(再開用ゲームコマンド)である場合には、プレイヤーのプレイするゲーム進行の現在状況を表す情報、すなわちゲーム状況データをゲームDB22から取得する(S105)。後述するように、ゲームDB22にはプレイヤー毎にゲーム状況データが格納されており、S105ではゲームコマンドに含まれる顧客識別情報に基づいて当該プレイヤーに係るゲーム状況データを読み出すのである。この処理を終えるとS123の処理に移行する。この処理については後述する。
【0031】
一方、S104において携帯電話機12から受信したゲームコマンドが「ゲーム開始」を要求するものである場合には、港34を表すハイパーテキストを携帯電話機12に返す(S106)。港34を表すゲーム画面では、ユーザは「プレイヤーデータの参照」、「船の変更」、「出航準備」、又は「ランキングデータの参照」を選択することができるようになっている。携帯電話機12のユーザがいずれかのコマンドを方向ボタン26やファンクションボタン28を用いて選択すると、それを表すゲームコマンドがゲームサーバ20に送信される。そして、ゲームサーバ20はこのゲームコマンドを受信する(S109)。そして、ゲームサーバ20はそのコマンドの種類を判断する(S110)。
【0032】
ゲームコマンドが「プレイヤーデータの参照」を要求するものである場合には、ゲームDB22から当該顧客にかかるメインDBレコードを読み出し、その内容(図8参照)を表すハイパーテキストを携帯電話機12に送信する(S111)。これにより携帯電話機12のディスプレイ24にはその携帯電話機12のユーザに係る船長名や船名等のデータが表示される。そして、携帯電話機12から復帰を要求するコマンドがゲームサーバ20に送信されると再びS102に戻り、スタート画面を表すハイパーテキストが携帯電話機12に送信される。
【0033】
また、ゲームコマンドが「船の変更」を要求するものである場合には、船の変更をプレイヤーに登録させるためのハイパーテキストが携帯電話機12に返される(S112)。すなわち、この海賊ゲームでは、プレイヤーは様々な個性を有する海賊船を選択することができるようになっており、そのリストを表すハイパーテキストが携帯電話機12に送信される。この海賊ゲームでは、船員や食糧の搭載量が少ないボート船や、その搭載量が多い大型帆船、1回のゲームコマンドで2コマずつ移動することが可能な高速帆船、あるいはあらかじめ武器を搭載した戦艦等が用意されており、プレイヤーは手持ちの貢献ポイントに応じて、いずれかを取得することができるようになっている。船の変更処理を終えると、復帰要求のゲームコマンドに応じて、再びスタート画面を表すハイパーテキストが携帯電話機12に送信される(S102)。
【0034】
また、ゲームコマンドが「ランキング表示」を要求するものである場合には、ゲームサーバ20はランキング表示処理を行う(S114)。ゲームDB22には、図9に示される海域別ランキングデータが記録されており、S114の処理ではこのランキングデータを表すハイパーテキストが携帯電話機12に送信される。この海賊ゲームでは複数種類の海域31が用意されている。これらの海域31は初心者用から上級者用までさまざまな個性を有している。プレイヤーはいずれかの海域31を選択してゲームをすることができるようになっており、多くの金塊や財宝を獲得して無事に港34に戻ったプレイヤーは、海域31毎にランキングデータに登録されるようになっている。同図に示されるように、海域別ランキングデータには、「顧客識別情報」と、「船長名」と、対応する海域31におけるプレイヤーの「獲得金」と、が対応づけられて記録されている。ここでは、海域31毎に20人の成績優秀者が登録されるようになっている。プレイヤーがランキングデータの参照を終えると復帰要求のゲームコマンドに応じて、再びスタート画面を表すハイパーテキストが携帯電話機12に送信される(S102)。
【0035】
さらに、ゲームコマンドが「出航準備」を要求するものである場合には、ゲームサーバ20は出航準備処理を行う(S113)。この出航準備処理では、現在プレイヤーが選択している海賊船にどれだけの船員を乗せ、どれだけの食糧を搭載するかを決定することができるようになっている。すなわち、上述したようにユーザが選択した海賊船には、それぞれ最大搭載量が決まっており、プレイヤーは船員と食糧との和がその最大搭載量に収まるよう、両者の値を設定することができる。例えば、食糧を多くして船員を少なくすれば、より長く航海ができるようになるが、敵ゲームキャラクタと遭遇して船員が全滅してしまい、港34に無事に帰還できなくなる可能性が高まる。一方、船員を多く乗せて食糧はあまり搭載しないようにすれば、敵ゲームキャラクタと遭遇して船員を失っても影響はさほどないが、すぐに食糧がつきてしまい、港34に無事に帰還することができなくなってしまう。このため、プレイヤーは絶妙なバランスで船員数及び食糧の量を決めなければならない。これにより、プレイヤーは出航準備で設定の妙を楽しむことができるようになる。また、S113における出航準備処理では、プレイヤーは方向ボタン26やファンクションボタン28により自分がゲームをしようとする海域31を選択することができるようになっている。
【0036】
出航準備処理において携帯電話機12が出港の旨のゲームコマンドを選択すると、いよいよプレイヤーの船32は海域31に繰り出すことになる。このとき、ゲームサーバ20はプレイヤーの船32を(1,0)の位置に設定する。そして、その状況を表すハイパーテキストを生成して、それを携帯電話機12に送信する。図10は、この時に携帯電話機12のディスプレイ24に表示されるゲーム画面を示している。このゲーム画面には上部に状況表示50がなされている。状況表示50には、現在が出航日から何日目であるかが示されており、その下に海域31における座標(海域座標)が示されている。さらにその下には、航海の状況を表すメッセージ52、例えば「順調な航海だ」等の文字が表示される。最下部には、リンクボタン54,56,58が表示されている。リンクボタン54には「北航路を進む」の文字が表されており、プレイヤーがこのリンクボタン54を選択するとゲーム空間30において北東にプレイヤーの船32を進めることができる。また、リンクボタン56には「東航路を進む」の文字が表されており、プレイヤーがこのリンクボタン56を選択するとプレイヤーの船32を東に進めることができる。さらに、リンクボタン58には「南航路を進む」の文字が表されており、このリンクボタン58をプレイヤーが選択するとプレイヤーの船32を南東に進めることができるようになっている。
【0037】
図10に示されるゲーム画面は、ゲームサーバ20から送信されるハイパーテキストに基づいて生成されるものであり、このハイパーテキストのうち、特にリンクボタン54は、図11に示されるリンクタグに基づいて表示されるものである。同図に示すように、このリンクボタン54にはリンク先として「domain/game.cgi 」が設定されている。「domain/game.cgi」は当該海賊ゲームを実現するためのCGI(Common Gateway Interface)プログラムであり、ゲームサーバ20で実行されるものである。「?」以下には引数55が付加されている。この引数55はプレイヤーの現在状況(ゲーム状況データ)と北航路を進む旨のゲームコマンドとを含んでいる。すなわち、このゲームサーバ20では、ゲームDB22に各プレイヤーの現在状況を逐次記録することを避けるため、携帯電話機12に送信するハイパーテキストにおいてリンク先たるCGIプログラムの引数55にプレイヤーの現在状況を含めるようにしている。そして、CGIプログラム(domain/game.cgi)は引数55で指定された内容でゲーム処理を行う。携帯電話機12にゲーム画面を表すハイパーテキストを送信する際には、そのリンクタグに再び同じCGIプログラム(domain/game.cgi)をリンク先として指定するとともに、その引数55としてプレイヤーの最新状況(更新後のゲーム状況データ)を付加するようにしている。こうすれば、CGIプログラムは引数55の内容からプレイヤーの現在状況を知ることができ、それに基づくゲーム処理を行うことができる。
【0038】
図12は、CGIプログラムに渡される引数55の内容(ゲーム状況データ)を示している。同図に示されるように引数55は、「現在の船員数」、「現在の食糧数」、「現在の武器数」、「船の最大搭載量」、「現在の船の種類」、「現在の財宝」、「現在の日数」、「現在の戻り防止カウンタ値」、「現在の海域座標」、「取得済アイテム」、「出会い済キャラクタ」、「出現した島の海域座標」、及び「出現した島の種類」を含んでいる。「現在の船員数」、「現在の食糧数」、「現在の武器数」は、ゲームイベントで増減した最新の船員、食糧、武器の数を表している。「船の最大搭載量」は、現在プレイヤーが選択している船の最大搭載量を表している。「現在の船の種類」は、プレイヤーが現在選択している船の種類を表している。また「現在の財宝」は、プレイヤーが現在までに獲得している財宝の総額を表す。「現在の日数」は、プレイヤーが現在が航海何日目であるかを表す。「現在の戻り防止カウンタ値」は、プレイヤーの不正操作を防止するためのカウンタ値が現在のところいくつであるかを表す。これはメインDBのレコードに格納されている現在の戻り防止カウンタ値に対応するものであり、後に詳述する。また「現在の海域座標」は、ゲーム空間30においてプレイヤーの船32が現在どの位置にあるかを表す。「取得済アイテム」は海域31においてプレイヤーの船32が取得したゲームアイテム(財宝等)の種類を表している。この情報はプレイヤーに同じゲームアイテムを何度も与えないようにするために用いられる。「出会い済キャラクタ」は、現在までにプレイヤーが出会った主要なゲームキャラクタの種類を表している。この情報はプレイヤーに同じゲームキャラクターに何度も出会わせないようにするために用いられる。「出現した島の海域座標」は、確定島42の座標を表す。また、「出現した島の種類」は、その確定島42の種類を表す。確定島42は通常の島であったり、あるいは宝島であったりするが、この欄にはその種別が格納される。
【0039】
図5に戻り、ゲームサーバ20はゲームデータに対する応答としてゲームコマンド(URL)を受信する(S115)。なお、ハイパーテキストを生成する際、及びゲームコマンドを受信する際には、本ネットワークゲーム配信装置18において特徴的な不正防止技術(戻り防止技術)が採用されている。これは上述した戻り防止カウンタ値を用いるものであり、後に詳述する。S115でゲームコマンドを受信すると、ゲームサーバ20は所定のソフトウエアにより乱数を発生させ、その発生した乱数に従ってゲームイベントを決定する(S116)。ここでは、それが通常イベントであるか特殊イベントであるかを、まず決定する。ゲームサーバ20は、決定されたイベントの種類を判断し(S117)、それが通常イベントであれば通常イベント処理を行う(S118)。また、特殊イベントであれば特殊イベント処理を行う(S119)。
【0040】
また、このタイミングで食糧が尽きた場合にはゲームオーバであると判断し、港34の画面を表すハイパーテキストを携帯電話機12に送信する(S106)。すなわち、この海賊ゲームでは、プレイヤーの32を進める度に船員の人数の1/10にあたる量の食糧が減るようになっており、それが零になるとゲームオーバであると判断する。具体的には、ゲームサーバ20は、図12に示される引数55のうち、「現在の船員数」及び「現在の食糧数」を調べ、現在の船員数の1/10の量と現在の食糧数とを比べて現在の食糧数が下回っていれば、ゲームオーバーであると判断する。
【0041】
S118における通常イベント処理は、図6に示されるフロー図のように行われる。すなわち、通常イベント処理においては、まずイベントの種類が決定される(S126)。このイベント種類の決定は、あらかじめ定められたイベント発生確率テーブルに基づいて決定される。通常イベントとしては、例えば海賊イベント、怪物イベント、嵐イベント、食糧補給イベント、船員補充イベント、帰還航路発見イベント等が用意されており、イベント発生確率テーブルでは、それらに対するデフォルトの発生確率が定められている。そして、それら発生確率にしたがって具体的なイベントの種類が決定される。また、危険海域36や凪海域40ではイベント発生確率テーブルは補正して用いられる。そして、S126において決定されたイベントが海賊イベントであれば(S127)、ゲームサーバ20はその海賊がプレイヤー(プレーヤの船32、船員、食糧、ひいては船長)に対して与えるダメージを決定する(S128)。この決定は乱数に基づいて行われる。そして、ゲームサーバ20は、S128で決定されたダメージに対応する船長名を、図9に示した海域別ランキングデータから取得する(S129)。すなわち、海域別ランキングデータは、海域31毎に獲得金の多い船長名が20名記録されており、S128で決定されたダメージが大きければ、より上位の、すなわち獲得金の多い船長名がS129において取得される。また、S128で決定されたダメージが少なければ下位の船長名が取得される。取得された船長名は海賊名(敵ゲームキャラクター)としてゲーム画面に現れることになる。なお、船長名を取得する際には、現在ゲームを提供しているプレイヤーが自ら設定した船長名がゲーム画面に表示されることがないようにすることが望ましい。このため、ゲームサーバ20は、携帯電話機12から送信される顧客識別情報を参照し、その顧客識別情報が海域別ランキングデータに登録されている場合には、その顧客識別情報に対応して記録されている船長名を海賊名として採用しないようにすることが望ましい。こうすれば、自分のゲームに自分の設定した船長名が付された敵キャラクタが登場することがないようにできる。また、現在ゲームを提供しているプレイヤーが自ら設定した船長名と同一の船長名が海域別ランキングデータに登録されている場合、その船長名を海賊名として採用しないようにするようにしてもよい。こうすれば、自分が設定した名前の海賊が敵キャラクタとして登場することを避けることができる。取得された船長名はゲームサーバ20の図示しないRAMに一時記憶される。一方、S127において決定されたゲームイベントが海賊イベントでないと判断されると、具体的なイベント内容の決定が乱数に基づいてなされる(S130)。たとえば、怪物イベントにおいては、その怪物の名称やその怪物がプレーヤに与えるダメージが決定される。この決定内容はゲームサーバ20に設けられた図示しないRAMに一時記憶される。
【0042】
また、S119における特殊イベント処理は、図7に示されるフロー図にしたがって行われる。同図に示されるように、特殊イベント処理においては、まず乱数に基づいてイベント種類が具体的に決定される(S131)。たとえば、特殊イベントとしては、宝島情報イベントや、島情報イベント、宝島到着イベント、食糧補給イベントが用意されている。S132においては、その決定されたイベントが島情報イベントか宝島情報イベントであるかが判断される。そして、島情報イベントや宝島情報イベントであれば、ゲームサーバ20は確定島42を海域31に発生させる(S133)。この確定島42は、現在のプレーヤーの船32の位置に基づいて決定され、現在のプレイヤーの船32の位置から複数回のゲームコマンドにより移動可能な位置に確定島42が設定される。ここで設定された内容は、図12に示されるようにしてCGIプログラムの引数55として渡すため、一旦ゲームサーバ20の図示しないRAMに記憶される。また、CGIプログラムの引数55として出現した確定島42の種類を記録するため、S131で決定したイベントによって、その確定島42が通常の島であるか宝島であるかを判断し、その種別がゲームサーバ20の図示しないRAMに格納される。その後、イベントの種類に応じた画像データのパス名が取得される(S134)。一方、S132において島情報イベントや宝島情報イベントでないと判断されると、その決定されたイベントの具体的な内容が決定される(S135)。たとえば食糧補給イベントであれば、どれだけの食糧をプレイヤーに対して補給するかが乱数に基づいて決定される。これら決定内容はゲームサーバ20の図示しないRAMに一時記憶される。
【0043】
図5に戻り、通常イベント処理(S118)や特殊イベント処理(S119)が終わると、ゲームサーバ20はゲームオーバーであるかを判断する(S120)。すなわち、通常イベント処理や特殊イベント処理においては怪物や海賊に遭遇して船員が零になることがあるが、そのような場合にはゲームオーバであると判断する。ゲームオーバであると判断されると、その旨の画面を表示するためのハイパーテキストが携帯電話機12に対して送信され、その後、港34の画面に戻る(S106)。また、ゲームオーバでないと判断されると(S120)、次にゲームサーバ20はゲームクリアであるかを判断する(S121)。すなわち、プレイヤーの船32がゲーム空間30において帰還島39に到達し、そこでプレイヤーが港34に帰還することを選択すると、ゲームサーバはその旨のゲームコマンドからゲームクリアであると判断する。
【0044】
ゲームクリアであると判断されると、清算処理が行われる(S125)。清算処理においては、その航海において獲得した財宝の総額を算出し、それが上位20位以内に入る場合は、そのプレイヤーに係る顧客識別情報、船長名、獲得金を海域別ランキングデータに加える。そして、最下位のプレイヤーに係る顧客識別情報、船長名、獲得金が海域別ランキングデータから削除される。こうして、ゲームDB22に保存されている海域別ランキングデータが更新される。
【0045】
一方、S121においてゲームクリアでないと判断されると、S122に進み、ゲームDB22に設けられたRAMから通常イベント処理(S118)や特殊イベント処理(S119)での決定事項が読み出され、その内容に基づいてプレイヤーの現在状況、すなわちゲーム状況データが生成され、その内容が顧客識別番号に対応付けられてゲームDB22に格納される。このゲーム状況データの内容は図12に示されるCGIプログラムの引数55の内容と同じである。その後、ゲーム画面をあらわすハイパーテキストが生成され(S123)、ゲームサーバ20は生成したハイパーテキストを携帯電話機12に送信する(S124)。そして、再び携帯電話機12からゲームコマンドを受信する(S115)。
【0046】
なおS123においては、S105から処理が移行してきた場合、特に次のようにしてハイパーテキストを生成する。すなわち、上述したようにS105ではゲームDB22から現在ゲームを提供しているプレイヤーに係るゲーム状況データを読み出している。S123においては、この読み出したゲーム状況データを用いてハイパーテキストを生成する。図13は、ここで生成されるハイパーテキストを用いて生成されるゲーム画面の一例を示している。同図(a)のゲーム画面は、同図(b)のゲーム画面が携帯電話機12のディスプレイ24に表示された状態で、通信途絶、携帯電話機12への着呼、プレイヤーの都合等により、本海賊ゲームが一旦終了され、再びプレイヤーがスタート画面で「続きから」を選択することにより、同ディスプレイ24に表示されるものである。これらの図に示されるように、「続きから」を経由して表示されるゲーム画面(同図(a))では、ゲームイベントに係るメッセージ51の表示(同図(b))がキャンセルされ、残りの部分だけが表示される。同図(a)において、状況表示50はゲーム状況データに基づいて生成される。また、リンクボタン54,56,58を表示するためのリンクタグでは、引数55の内容として、ゲームDB22から読み出されたゲーム状況データの内容が複写される。こうすれば、同図(b)がディスプレイ24に表示された状態でプレイが一旦中断した場合でも、同図(b)に示される情報のうち必要な部分だけを再度プレイヤーに提示することができ、これによりゲームプレイを再開させることができる。
【0047】
その他、S123でのハイパーテキスト生成においては、特に、通常イベント処理において海賊イベントが選択された場合、海域別ランキングデータから取得された船長名がハイパーテキストに埋め込まれる。図14(a)は海賊イベントにかかるゲーム画面の一例が示されている。このゲーム画面は携帯電話機12のディスプレイ24に表示されるものである。同図に示すように、このゲーム画面では「AAA船長が現れた!」とのメッセージ64が埋め込まれている。このメッセージのうち「AAA」の部分は、通常イベント処理において、海域別ランキングデータから取得され、RAMに一時記憶されていた船長名である。このように海域別ランキングデータに記録されている船長名をゲーム画面に敵キャラクタとして表示させることにより、プレイヤーは他の成績優秀者の設定した船長名を知ることができる。このため、ネットワークゲームシステム10に意外性を与えることができる。また、プレイヤーは海域別ランキングデータに登録されると、自分の設定した船長名が他のプレイヤーのプレイするゲーム画面に現れることになるため、自己主張のため、海域別ランキングデータに自分の設定した船長名が登録されるよう何度もゲームを繰り返すようになる。こうして、ネットワークゲームシステム10の魅力を高めることができる。また、通常イベント処理においてたとえば怪物イベントが選択されている場合には、例えば図14(b)に示されるゲーム画面が携帯電話機12のディスプレイ24に表示される。このゲーム画面では「巨大ザメが現れた!」のメッセージが表示されている。
【0048】
さらに、特殊イベント処理(S119)において島情報イベントが選択された場合には、携帯電話機12のディスプレイ24に例えば図15に示されるゲーム画面が表示されることになる。同図に示されるゲーム画面には「ここから東に2、北に2の所にまた島があるんですって」とのメッセージ68が表示されている。この画面では島情報イベントに相応しい画像66がゲーム画面に埋め込まれる。この画像66の表示は、ハイパーテキストに当該画像66のパス名を埋め込むことにより行われる。パス名は、S134で取得されたパス名である。また、リンクボタン54,56,58を表示するためのリンクタグでは、CGIプログラムに引数55として出現した島の海域座標が設定される。この場合、現在の海域座標に(2,−2)を加算した座標が、引数55の「出現した島の海域座標」の項目に設定される。また「出現した島の種類」の欄には発生した島が通常の島である旨が設定される。
【0049】
また、特殊イベント処理(S119)において宝島情報イベントが選択されている場合には、例えば図16に示されるように「ここから東に8、南に2の所に宝島があるらしいぜ!」とのメッセージ72が携帯電話機12のディスプレイ24に表示される。このとき、リンクボタン54,56,58を表示するためのリンクタグでは、引数55の「出現した島の海域座標」として、現在の海域座標に(8,2)を加算した座標が設定され、さらに「出現した島の種類」として、当該島が宝島である旨が設定される。このゲーム画面においては宝島の情報を取得した状況に相応しい画像70が表示される。この画像70は携帯電話機12に送信されるハイパーテキストに当該画像70のパス名を埋め込むことにより行われる。このパス名は、S134で取得されたパス名である。
【0050】
また、特殊イベント処理(S119)において宝島到着イベントが選択された場合には、例えば図17に示されるゲーム画面が携帯電話機12のディスプレイ24に表示される。このゲーム画面においては、宝島にたどり着いたことをあらわすのに相応しい画像74が表示される。この画像74は、携帯電話機12に送信されるハイパーテキストに、当該画像74のパス名を埋め込むことにより行われる。この画像74のパス名はS134において取得されたものである。このとき、S131において決定されたイベント内容に基づいて、メッセージ76が表示される。同図に示される例では「金を10000ポイント獲得した 海賊王の剣を手に入れた」とのメッセージ76が表されている。この場合は、CGIプログラムの引数55として、「現在の財宝」に10000ポイントが加算され、さらに「取得済みアイテム」に海賊王の剣を取得した旨が設定される。
【0051】
また、通常イベント処理(S118)において帰還航路発見イベントが選択された場合には、例えば図18に示されるゲーム画面が表示される。このゲーム画面には、帰還する旨のゲームコマンドに対応するリンクボタン60と、航海を続ける旨のゲームコマンドに対応するリンクボタン62と、が表示される。プレイヤーがリンクボタン60を選択すると、プレイヤーの船32は港34に帰還する。一方、リンクボタン62を選択すると、港34への帰還をキャンセルし、航海が続けられる。
【0052】
最後に、本ネットワークゲームシステム10において特徴的な不正防止技術(戻り防止技術)について説明する。この不正防止技術を実現するため、図5におけるS123において図19に示される処理が実行される。この処理では、まずゲームサーバ20がゲームDB22に格納されている戻り防止カウンタ値を取得する(S201)。戻り防止カウンタ値は携帯電話機12から取得される顧客識別情報に対応してメインDBに記憶されているものである。そして、ゲームサーバ20はその値に基づいて新たに戻り防止カウンタ値を生成する。具体的には、その値を1だけインクリメントする(S202)。そして、その値を再びゲームDB22に設けられたメインDBに格納する。こうして、メインDBの「現在の戻り防止カウンタ値」を更新する(S203)。そして、この更新したカウンタ値を用いて送信データを生成する(S204)。すなわち、リンクボタン54,56,58等に含められるCGIプログラムへの引数55において、「現在の戻り防止カウンタ値」として更新後のカウンタ値が設定される。
【0053】
以上のようにして生成されたハイパーテキストを受信した携帯電話機12において、プレイヤーが方向ボタン26やファンクションボタン28によってゲームコマンドを選択すると、そのゲームコマンドはゲームサーバ20に送信される。このゲームコマンド(URL)を受信する際、そこに引数55として含まれる「現在の戻り防止カウンタ値」が参照される。図20は、このときの処理を説明するフロー図である。同図に示される処理は、S115(図5)の処理において行われるものである。この処理では、ゲームサーバ20は、ゲームコマンドを受信し(S210)、そこからCGIプログラムへの引数55及び顧客識別情報を取得する(S211)。さらに、ゲームサーバ20はゲームDB22に設けられたメインDBから「現在の戻り防止カウンタ値」を取得する(S212)。このとき「現在の戻り防止カウンタ値」はS211において取得した顧客識別情報に対応するものが取得される。そして、ゲームサーバ20は、S211で取得した引数55に含まれる「現在の戻り防止カウンタ値」と、S212でゲームDB22から取得した「現在の戻り防止カウンタ値」とを比較し、それらが等しいかを調べる(S213)。そして、両者が等しい場合には不正操作は行われていないとして、次の処理(S116)に復帰する。一方、両者が等しくない場合には、戻り(不正操作)が禁止されている旨を案内表示するためのハイパーテキストを生成し、それを携帯電話機12に送信する(S214)。そして、再びゲームコマンドの受信を待つ(S210)。
【0054】
すなわち、携帯電話機12とゲームサーバ20との間は、HTTP(HyperText Transfer Protocol)によりデータ通信がなされており、携帯電話機12では既に取得したハイパーテキストを、Webブラウザ機能の「戻る」機能を用いることにより、遡って表示させることができるようになっている。そして、プレイヤーが既に取得した過去のハイパーテキストに基づくゲーム画面をディスプレイ24に表示し、そこに含まれているリンクボタン54,56,58等を押下すると、そのリンクタグに含まれている引数55がゲームサーバ20に送信される。この場合には、ゲームDB22に格納されている「現在の戻り防止カウンタ値」と携帯電話機12からCGIプログラムの引数55として送信される「現在の戻り防止カウンタ値」とが一致しなくなる。本ネットワークゲーム配信装置18に備えられている不正防止技術では、このような場合に、不正操作が禁止されている旨を携帯電話機12に知らせるのである。この不正防止技術を採用しないと、携帯電話機12に、このような過去のゲーム画面に基づく操作を可能とする機能が備えられている場合には、プレイヤーは望ましくないゲームイベントに出会うと、過去に遡ってゲームコマンドをゲームサーバ20に送信し直して、そのようなゲームイベントへの遭遇をキャンセルすることが可能となってしまう。このネットワークゲームシステム10によれば、上記不正防止技術を採用して、戻り防止カウンタ値をゲームDB22で管理することにより、そのような不正操作を禁止することが可能となる。このため、プレイヤーはゲームコマンドのやり直しが効かないことで、緊張感を持続させることができ、この種のネットワークゲームシステム10の魅力を高めることができる。
【0055】
以上説明したネットワークゲームシステム10によれば、電話状況の悪化、携帯電話機12への着呼、プレイヤーの都合等の理由によりゲームプレイが中断した場合でも、ゲームDB22に格納されているゲーム状況データを用いてゲーム画面を再現することができるため、プレイヤーはゲームプレイを再開することができるようになる。
【0056】
なお、本発明は以上説明した実施の形態に限定されるものではない。
【0057】
例えば、以上説明したゲームシステム10では、ゲーム状況データとして、図12に示されるデータをゲームDB22に記憶するようにしたが、ゲーム空間におけるプレイヤーの現在状況を表すデータであれば、どのようなデータをゲーム状況データとして採用してもよい。例えば、ゲームデータたるハイパーテキストにゲーム処理に必要なパラメータが含まれている場合は、そのハイパーテキスト自体をゲーム状況データとしてゲームDB22に記憶させておくようにしてもよい。
【0058】
また、以上説明したゲームシステム10では、ゲーム状況データをCGIプログラムの引数55としてリンクタグに埋め込むようにしたが、ゲーム状況データの一部だけを引数55に埋め込み、他はゲームDB22で管理するようにしてもよい。
【0059】
また、以上の説明では携帯電話機12を用いてネットワークゲームシステム10を実現する例について説明したが、携帯電話機12でなくとも、無線通信により通信ネットワーク16に接続可能なあらゆる情報端末をゲーム端末として使用することができる。また、通信ネットワーク16への接続は無線通信に限らず、通常のパーソナルコンピュータを用いてゲームサーバ20に接続するようにしてもよい。
【0060】
さらに、上記実施の形態では本発明を海賊ゲームに適用する例について説明したが、本発明はあらゆるゲームに対して適用可能である。また、以上のゲームシステム10ではHTTPを利用してゲーム配信を行うようにしたが、どのようなプロトコルを用いてもよい。
【図面の簡単な説明】
【図1】 本発明の実施の形態に係るネットワークゲームシステムの全体構成を示す図である。
【図2】 本発明の実施の形態に係るネットワークゲームシステムで実現される海賊ゲームの概念を説明する図である。
【図3】 本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図4】 本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図5】 本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図6】 本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図7】 本発明の実施の形態に係るネットワークゲーム配信装置におけるゲーム処理を説明する図である。
【図8】 ゲームDBに設けられたメインDBのレコード構成を示す図である。
【図9】 ゲームDBに格納される海域別ランキングデータの構成を示す図である。
【図10】 出航時におけるゲーム画面の一例を示す図である。
【図11】 リンクボタンを表示するためのリンクタグを示す図である。
【図12】 ゲームサーバで実行されるCGIプログラムに渡される引数を説明する図である。
【図13】 「続きから」機能を利用した場合のゲーム画面の一例を示す図である。
【図14】 通常イベントに係るゲーム画面の一例を示す図である。
【図15】 島情報イベントに係るゲーム画面の一例を示す図である。
【図16】 宝島情報イベントに係るゲーム画面の一例を示す図である。
【図17】 宝島到着イベントに係るゲーム画面の一例を示す図である。
【図18】 帰還航路発見イベントに係るゲーム画面の一例を示す図である。
【図19】 本発明の実施の形態に係るネットワークゲーム配信装置で採用される不正防止技術を説明するフロー図である。
【図20】 本発明の実施の形態に係るネットワークゲーム配信装置で採用される不正防止技術を説明するフロー図である。
【符号の説明】
10 ネットワークゲームシステム、12 携帯電話機、14 携帯電話基地局、16 通信ネットワーク、18 ネットワークゲーム配信装置、20 ゲームサーバ、22 ゲームDB、24 ディスプレイ、26 方向ボタン、28 ファンクションボタン、29 ボタン群、30 ゲーム空間、31海域、32 プレイヤーの船、33 座標軸、34 港、35 マス、36 危険海域、38宝島、39 帰還島、40 凪海域、42 確定島、44 ランダム島、50状況表示、51,52,64,68,72,76 メッセージ、54,56,58 リンクボタン、55 引数、66,70,74 画像。
Claims (3)
- ゲームコマンドと、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を含むゲームデータを受信し、受信したゲームデータに基づいてゲーム画面を表示するとともに、プレイヤー識別情報と、受信したゲームデータに含まれるゲームコマンドのうちプレイヤーによって選択されたゲームコマンドと、受信したゲームデータに含まれるゲーム状況データと、を返信するゲーム端末と通信接続されるゲーム配信装置において、
プレイヤー識別情報とゲーム状況データとを対応づけてデータベースに記憶するゲーム状況データ記憶手段と、
プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信する手段と、
ゲームコマンドを受信した場合に、受信したゲームコマンドと、乱数と、に基づいてゲームイベントを決定するゲームイベント決定手段と、
前記ゲームイベント決定手段によって決定されたゲームイベントの内容と、受信されたゲーム状況データと、に基づいて、該ゲーム状況データを更新する受信ゲーム状況データ更新手段と、
前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新する手段と、
ゲームコマンドと、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データと、前記ゲームイベント決定手段によって決定されたゲームイベントの内容を示すメッセージと、を含むゲームデータを、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて生成する第1のゲームデータ生成手段と、
前記第1のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第1のゲームデータ送信手段と、
所定の要求をプレイヤーの選択に応じて送信するためのボタンを含む画面を表すデータを前記ゲーム端末に送信する手段と、
前記ボタンを含む画面を表すデータを前記ゲーム端末に送信する手段による送信が行われた後、プレイヤー識別情報とともに前記所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと、読み出したゲーム状況データと、を含むゲームデータであって、前記メッセージを含まないゲームデータを、読み出したゲーム状況データに基づいて生成する第2のゲームデータ生成手段と、
前記第2のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第2のゲームデータ送信手段と、
を含むことを特徴とするゲーム配信装置。 - ゲームコマンドと、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を含むゲームデータを受信し、受信したゲームデータに基づいてゲーム画面を表示するとともに、プレイヤー識別情報と、受信したゲームデータに含まれるゲームコマンドのうちプレイヤーによって選択されたゲームコマンドと、受信したゲームデータに含まれるゲーム状況データと、を返信するゲーム端末と通信接続されるゲーム配信装置として、コンピュータを機能させるためのプログラムを記録したコンピュータにより読み取り可能な情報記憶媒体であって、
プレイヤー識別情報とゲーム状況データとを対応づけてデータベースに記憶するゲーム状況データ記憶手段、
プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信する手段、
ゲームコマンドを受信した場合に、受信したゲームコマンドと、乱数と、に基づいてゲームイベントを決定するゲームイベント決定手段、
前記ゲームイベント決定手段によって決定されたゲームイベントの内容と、受信されたゲーム状況データと、に基づいて、該ゲーム状況データを更新する受信ゲーム状況データ更新手段、
前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて、受信されたプレイヤー識別情報に対応づけて前記データベースに記憶されたゲーム状況データを更新する手段、
ゲームコマンドと、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データと、前記ゲームイベント決定手段によって決定されたゲームイベントの内容を示すメッセージと、を含むゲームデータを、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて生成する第1のゲームデータ生成手段、
前記第1のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第1のゲームデータ送信手段、
所定の要求をプレイヤーの選択に応じて送信するためのボタンを含む画面を表すデータを前記ゲーム端末に送信する手段、
前記ボタンを含む画面を表すデータを前記ゲーム端末に送信する手段による送信が行われた後、プレイヤー識別情報とともに前記所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと、読み出したゲーム状況データと、を含むゲームデータであって、前記メッセージを含まないゲームデータを、読み出したゲーム状況データに基づいて生成する第2のゲームデータ生成手段、及び、
前記第2のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信する第2のゲームデータ送信手段、
として前記コンピュータを機能させるためのプログラムを記録したコンピュータにより読み取り可能な情報記憶媒体。 - ゲームコマンドと、プレイヤーのプレイするゲーム進行の現在状況を表すゲーム状況データと、を含むゲームデータを受信し、受信したゲームデータに基づいてゲーム画面を表示するとともに、プレイヤー識別情報と、受信したゲームデータに含まれるゲームコマンドのうちプレイヤーによって選択されたゲームコマンドと、受信したゲームデータに含まれるゲーム状況データと、を返信するゲーム端末に対するゲーム配信方法であって、
受信手段が、プレイヤー識別情報とゲームコマンドとゲーム状況データとを通信ネットワークを介してゲーム端末から受信するステップと、
ゲームイベント決定手段が、ゲームコマンドを受信した場合に、受信したゲームコマンドと、乱数と、に基づいてゲームイベントを決定するステップと、
受信ゲーム状況データ更新手段が、前記ゲームイベント決定手段によって決定されたゲームイベントの内容と、受信されたゲーム状況データと、に基づいて、該ゲーム状況データを更新するステップと、
ゲーム状況データ更新手段が、プレイヤー識別情報とゲーム状況データとを対応づけて記憶してなるデータベースに受信されたプレイヤー識別情報に対応づけて記憶されたゲーム状況データを、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて更新するステップと、
第1のゲームデータ生成手段が、ゲームコマンドと、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データと、前記ゲームイベント決定手段によって決定されたゲームイベントの内容を示すメッセージと、を含むゲームデータを、前記受信ゲーム状況データ更新手段によって更新されたゲーム状況データに基づいて生成するステップと、
第1のゲームデータ送信手段が、前記第1のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信するステップと、
ボタンを含む画面を表すデータを前記ゲーム端末に送信する手段が、所定の要求をプレイヤーの選択に応じて送信するためのボタンを含む画面を表すデータを前記ゲーム端末に送信するステップと、
第2のゲームデータ生成手段が、前記ボタンを含む画面を表すデータを前記ゲーム端末に送信する手段による送信が行われた後、プレイヤー識別情報とともに前記所定の要求を受信する場合に、前記データベースから該プレイヤー識別情報に対応づけられたゲーム状況データを読み出し、ゲームコマンドと、読み出したゲーム状況データと、を含むゲームデータであって、前記メッセージを含まないゲームデータを、読み出したゲーム状況データに基づいて生成するステップと、
第2のゲームデータ送信手段が、前記第2のゲームデータ生成手段によって生成されたゲームデータを前記ゲーム端末に送信するステップと、
を含むことを特徴とするゲーム配信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000053011A JP3791665B2 (ja) | 2000-02-29 | 2000-02-29 | ゲーム配信装置、情報記憶媒体及びゲーム配信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000053011A JP3791665B2 (ja) | 2000-02-29 | 2000-02-29 | ゲーム配信装置、情報記憶媒体及びゲーム配信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001239065A JP2001239065A (ja) | 2001-09-04 |
JP3791665B2 true JP3791665B2 (ja) | 2006-06-28 |
Family
ID=18574449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000053011A Expired - Lifetime JP3791665B2 (ja) | 2000-02-29 | 2000-02-29 | ゲーム配信装置、情報記憶媒体及びゲーム配信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3791665B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4118212B2 (ja) * | 2003-09-05 | 2008-07-16 | 明大 柾谷 | 通信ネットワークを介したボードゲームシステム |
JP2013222371A (ja) * | 2012-04-18 | 2013-10-28 | Kddi Corp | アプリケーションのソーシャル化システム、アプリケーションのソーシャル化方法およびプログラム |
JP6201885B2 (ja) * | 2014-05-13 | 2017-09-27 | 株式会社セガゲームス | サーバ装置及びサーバプログラム |
JP6530430B2 (ja) * | 2017-01-16 | 2019-06-12 | 株式会社スクウェア・エニックス | ゲームプログラム及びゲームシステム |
-
2000
- 2000-02-29 JP JP2000053011A patent/JP3791665B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001239065A (ja) | 2001-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9555334B2 (en) | System and method for managing virtual worlds mapped to real locations in a mobile-enabled massively multiplayer online role playing game (MMORPG) | |
JP2001239063A (ja) | ネットワークゲームシステム、ゲーム配信装置及びゲーム配信方法 | |
JP6682720B2 (ja) | ゲームシステム、ゲーム装置、プログラム、及びゲーム方法 | |
US10016680B2 (en) | Apparatus and method for displaying player character showing special movement state in network game | |
US7887421B2 (en) | Video game control system and a video game control server | |
KR100783830B1 (ko) | 공간 위치 공유 시스템 | |
JP4408534B2 (ja) | マルチプレイヤーゲーム用の情報提供システムおよび情報記憶媒体 | |
US20020098890A1 (en) | Video game program and system, including control method and computer-readable medium therefor, for determining and displaying character relations | |
JP2010227459A (ja) | プログラム、情報記憶媒体、及びゲームシステム | |
JP2007167326A (ja) | ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム | |
WO2013171931A1 (ja) | ゲーム管理装置、ゲームシステム、ゲーム管理方法、プログラム及び記録媒体 | |
JP3423977B2 (ja) | アイテム交換機能を備えたゲームシステム、そのゲームシステムで使用するサーバー及びゲーム機、並びにそれらで使用する記憶媒体 | |
JP3791665B2 (ja) | ゲーム配信装置、情報記憶媒体及びゲーム配信方法 | |
JP2015126775A (ja) | プログラムおよびサーバシステム | |
JP4031172B2 (ja) | ゲーム装置、ゲーム提供方法及び情報記憶媒体 | |
JP2007229329A (ja) | ネットワークゲームシステム及びネットワークゲーム方法 | |
JP5250133B1 (ja) | ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム | |
WO2013171932A1 (ja) | ゲーム管理装置、ゲームシステム、ゲーム管理方法、プログラム及び記録媒体 | |
JP2003047780A (ja) | ネットワークゲームシステム、ネットワークゲーム配信装置、ネットワークゲーム提供方法及び情報記憶媒体 | |
JP2003010554A (ja) | ゲーム装置、ゲーム提供方法及び情報記憶媒体 | |
JP2012040055A (ja) | ゲームシステム、ゲーム装置、ゲーム処理方法、ならびに、プログラム | |
JP6272450B2 (ja) | ネットワークゲームシステム、ゲーム装置、及びプログラム | |
JP6856790B2 (ja) | プログラム、情報処理装置及び制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050311 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20050316 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050920 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050922 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060328 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060329 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3791665 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20060427 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090414 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100414 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110414 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120414 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130414 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140414 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |