説明

コンピュータプログラム、記録媒体、及びゲーム装置

【課題】 ゲームに参加できる機会を増やして多人数参加型ゲームの醍醐味を味わうことを可能としつつ、途中参加に際して各コンピュータの同期を容易にとることのできるゲームプログラムを提供する。
【解決手段】 ゲームプログラム10は、ゲーム装置1をゲーム制御部60a及び参加受付部60bとして機能させ、ゲーム制御手段60aは、進行中のゲームへの新たなプレイヤ(途中参加プレイヤ)の参加が参加受付手段60bにより受け付けられた場合に、前記ゲームの進行に影響を与えないタイミングで、途中参加プレイヤにより操作されるキャラクタを前記ゲームの仮想ゲーム空間へ登場させ、更に、途中参加プレイヤが操作する他のゲーム装置1と同期して前記ゲームを進行させるよう構成されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数プレイヤ参加型のゲームにおいて新たなプレイヤの途中参加を実現するためのプログラム、該プログラムを記録した記録媒体、及びゲーム装置に関する。
【背景技術】
【0002】
近年、ネットワークを介することで、複数プレイヤの各キャラクタを同一の仮想ゲーム空間で同時に活動させることのできる、多人数参加型のオンラインゲームが提供されている(特許文献1参照)。このようなゲームとしては、例えば、参加している複数のプレイヤが協力してゲームを進行させるタイプや、各プレイヤが操作するキャラクタ同士を対戦させるタイプなどがある。また、この種のゲームでは、参加可能なプレイヤの最大定員が予め設定されており(例えば、最大4人)、ゲームの開始前にプレイヤは他のプレイヤの参加をロビーにて待つことになる。ここで、参加プレイヤ数が最大定員に満たなければゲームを開始できないこととすると、最終的に定員を満たさずゲームを開始できない可能性がある。そこで特許文献1では、参加可能な最大定員以下(例えば、2人又は3人)であっても、ゲームを開始できるようにしている。
【0003】
しかしながら、特許文献1の場合、一旦ゲームが開始されてしまうと、進行中のゲームの参加プレイヤ数が最大定員を満たしていなくても、他のプレイヤはこのゲームに途中参加することができない。従って、プレイヤがゲームを行うための機会は、他のプレイヤが参加待ちをしているときにゲストとしてこれに参加するか、ホストになって他のプレイヤの参加を呼びかけるか、というものに限定されてしまう。このように進行中のゲームに他のプレイヤが途中参加できない構成の場合、プレイヤが参加可能なロビー数を増加させられない(即ち、参加可能なロビー数を十分に確保することができない)、といった事態が生じてしまう。しかも、最大定員に満たない状態でゲームを開始する場合には、複数プレイヤにより同時にプレイできるという多人数参加型のオンラインゲームの醍醐味を十分に味わうこともできない。また、ゲームをプレイしているプレイヤ数の少ない時間帯や、人気の低いゲームステージを選択してプレイしようとする場合などでは、参加プレイヤを早期に集めるのが困難である。従って、参加プレイヤ数が最大定員に満たなくても、とりあえずゲームを開始し、当該ゲームを進めながら他のプレイヤの途中参加を募りたいという要望もある。
【0004】
このような事情に鑑み、進行中のゲームに他のプレイヤが途中参加できるようにした構成も提案されている(特許文献2参照)。この特許文献2に開示された構成では、途中参加の要求があると、ゲームを進行中のキャラクタに関する情報や現時点の仮想ゲーム空間に関する情報などが、参加を要求するプレイヤのコンピュータへ送信される。該コンピュータは、受信した情報に基づき、これから参加しようとするプレイヤ用に仮想ゲーム空間を構築する。そして、この空間が構築されることにより各コンピュータ同士が同期されると、進行中のゲームに当該プレイヤが途中参加して、同一仮想ゲーム空間に途中参加に係るキャラクタを登場させることができるようになっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許第3818775号公報
【特許文献2】特許第3818768号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、仮想ゲーム空間を構築しているオブジェクト等の情報量は増加傾向にある。そのため、参加プレイヤが操作する各コンピュータを短時間で同期させるのは困難になりつつあり、特許文献2のような手法によって途中参加を実現するのは、もはや現実的ではなくなってきている。特に、近年では、仮想ゲーム空間で取得できるアイテムや敵の数などの設定が、参加人数によって変更されるようなゲームがあり、また、キャラクタの外観イメージをプレイヤの嗜好に応じてカスタマイズ可能としているゲームもある。そして、このようなゲームでは、同期するのに送受信の必要な情報量が多く、ゲーム中のプレイヤが操作するコンピュータと途中参加しようとするプレイヤが操作するコンピュータとを、ゲームの進行中に同期させるのは益々困難になる。
【0007】
そこで本発明は、上述したような事情を鑑みて、ゲームに参加できる機会を増やして多人数参加型ゲームの醍醐味を味わうことを可能としつつ、途中参加に際して各コンピュータの同期を容易にとることのできるゲームプログラム、該ゲームプログラムを記録した記録媒体、及びゲーム装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係るゲームプログラムは、コンピュータを、複数のプレイヤが参加可能なゲームの仮想ゲーム空間を生成すると共に、少なくとも、該コンピュータを操作するプレイヤに対応するキャラクタを、該プレイヤによる前記コンピュータの操作入力に応じて前記仮想ゲーム空間にて行動させ、前記ゲームを進行させるゲーム制御手段、前記ゲームに参加する他のプレイヤにより操作される他のコンピュータとの間で、前記ゲームを同期して進行させるべくデータの送受信を行う通信手段、及び他のコンピュータを操作する他のプレイヤの前記ゲームへの参加を受け付ける参加受付手段として機能させ、前記ゲーム制御手段は、前記ゲームを進行させている間に、他のコンピュータを操作する他のプレイヤ(以下、「途中参加プレイヤ」という)の前記ゲームへの参加が前記参加受付手段により受け付けられると、該ゲームの進行に影響を与えないタイミングで、前記途中参加プレイヤに対応するキャラクタを前記仮想ゲーム空間へ登場させ、更に、前記途中参加プレイヤが操作する前記他のコンピュータと同期して前記ゲームを進行させるものである。
【0009】
また、本発明に係るゲームプログラムは、コンピュータを、複数のプレイヤが参加可能なゲームの仮想ゲーム空間を生成すると共に、少なくとも、該コンピュータを操作するプレイヤに対応するキャラクタを、該プレイヤによる前記コンピュータの操作入力に応じて前記仮想ゲーム空間にて行動させ、前記ゲームを進行させるゲーム制御手段、前記ゲームに参加する他のプレイヤにより操作される他のコンピュータとの間で、前記ゲームを同期して進行させるべくデータの送受信を行う通信手段、及び前記ゲームへの参加を受け付けている他のコンピュータに対し、前記プレイヤの操作に応じて前記ゲームへの参加要求を行う参加要求手段として機能させ、前記ゲーム制御手段は、他のコンピュータにおいて進行中の前記ゲームへの、前記参加要求手段による前記プレイヤ(以下、「途中参加プレイヤ」という)の参加が受け付けられると、該ゲームの進行に影響を与えないタイミングで、進行中の前記ゲームの前記仮想ゲーム空間の生成を開始すると共に、前記途中参加プレイヤに対応するキャラクタと前記他のコンピュータに対応する他のキャラクタとを前記仮想ゲーム空間にて行動させ、更に、前記他のコンピュータと同期して前記ゲームを進行させるものである。
【0010】
また、前記ゲーム制御手段は、前記ゲーム制御手段は、進行中の前記ゲームへの前記参加要求手段による前記途中参加プレイヤの参加が受け付けられてから、前記ゲームを進行中の他のコンピュータと同期して該ゲームの進行を開始させるまでの間に、前記途中参加プレイヤ用として前記コンピュータに接続されたモニタに待機用画面を表示させるようにしてもよい。
【0011】
また、前記待機用画面は、前記ゲームを進行中の他のコンピュータから受信した該ゲームの進行状況に関する情報を含むとしてもよい。
【0012】
また、前記コンピュータを更に、記憶部に記憶されていて前記ゲーム制御手段により処理されるプログラム及びデータのうち、少なくとも一方の少なくとも一部を、前記ゲームの進行に応じてローディングするローディング手段として機能させ、前記ゲームの進行に影響を与えないタイミングは、前記ローディングが終了するタイミングであってもよい。
【0013】
また、前記コンピュータを更に、前記ゲーム制御手段が前記仮想ゲーム空間を生成するに際して、前記ゲームに参加しているプレイヤに対応する前記キャラクタの数に基づき、前記仮想ゲーム空間を構築するオブジェクトの条件を決定するオブジェクト条件決定手段として機能させるものであってもよい。
【0014】
本発明に係る記録媒体は、上述した何れかのゲームプログラムを記録したコンピュータ読み取り可能なものである。
【0015】
本発明に係るゲーム装置は、上述した何れかのゲームプログラムを読み込んで実行するものである。
【発明の効果】
【0016】
本発明によれば、ゲームに参加できる機会を増やして多人数参加型ゲームの醍醐味を味わうことを可能としつつ、途中参加に際して各コンピュータの同期を容易にとることのできるゲームプログラム、該ゲームプログラムを記録した記録媒体、及びゲーム装置を提供することができる。
【図面の簡単な説明】
【0017】
【図1】本発明の実施の形態に係るゲーム装置を備えるゲームシステムの構成を示す回路図である。
【図2】(a)は、本発明の実施の形態に係るゲームプログラムの構成を示す模式図であり、(b)は、図1に示すゲーム装置の機能的な構成を示すブロック図である。
【図3】ゲームプログラムによって生成される仮想ゲーム空間から成るゲームステージの構成を示す模式図である。
【図4】ホストプレイヤが操作するゲーム装置(ホストゲーム装置)の動作を示すフローチャートである。
【図5】各種のロビー画面を示す模式図であり、(a)はホスト用ロビー画面、(b)は初期参加ゲスト用ロビー画面、(c)は途中参加ゲスト用ロビー画面を夫々示している。
【図6】ゲストゲーム装置の動作を示すフローチャートである。
【図7】図6に示す動作に続くゲストゲーム装置の動作を示すフローチャートである。
【図8】新たに参加するゲストゲーム装置がホストゲーム装置及び既に参加しているゲストゲーム装置との間でセッションを確立したときに、入室済みのゲーム装置にて実行される、データ共有のための割り込み処理と、新たに参加するゲストゲーム装置にて実行されるデータ共有のための処理を示すフローチャートであり、(a)はホストゲーム装置での割り込み処理、(b)は既に参加しているゲストゲーム装置での割り込み処理、(c)は新たに参加するゲストゲーム装置での割り込み処理を示している。
【発明を実施するための形態】
【0018】
以下、本発明の実施の形態に係るゲームプログラム、記録媒体、及びゲーム装置について、図面を参照しつつ説明する。
【0019】
[ゲームシステムの構成]
図1は、本発明の実施の形態に係るゲーム装置を備えるゲームシステムの構成を示すブロック図である。図1に示すように、ゲーム装置1は、その動作を制御するCPU2を備え、このCPU2にはバス3を介してディスクドライブ4、メモリカードスロット5、HDD6、ROM7、及びRAM8が接続されている。
【0020】
ディスクドライブ4には、本発明の実施の形態に係るゲームプログラム10が記録されたDVD、CD−ROM、又はBlu−ray Disc(登録商標)などのディスク型記録媒体4aが装填されるようになっている。該ディスク型記録媒体4aには、ゲームプログラム10の他、キャラクタやゲームステージを形成するためのテクスチャなどのデータも記録されている。そして、ディスクドライブ4にディスク型記録媒体4aが装填されると、CPU2からの指示に従って、該ディスク型記録媒体4aからゲームプログラム10などを適宜読み出す。また、メモリカードスロット5は、CPU2からの指示に従って、ゲームの途中経過を示すデータなどを、装填されたカード型記録媒体5aに不揮発的に記録する。
【0021】
HDD6はディスク型の大容量記録媒体であって、ゲームの途中経過を示すデータなどを記録する。ROM7は、マスクROM又はPROMなどの半導体メモリであり、ゲーム装置1を起動する起動プログラムや、ディスク型記録媒体4aが装填されたときの動作を制御するプログラムなどを記録している。RAM8は、DRAM又はSRAMなどから成り、CPU2が実行するべきゲームプログラム10や、このゲームプログラム10を実行する際に必要なキャラクタ及びゲームステージなどのデータを、ディスク型記録媒体4aなどから読み込んで一時的に記録する。なお、プレイヤの操作によりディスク型記録媒体4a内の全データがHDD6に記録されている場合には、HDD6に記録されているデータのうち、CPU2が実行するべきゲームプログラム10やこれを実行する際に必要なキャラクタ及びゲームステージなどのデータが、RAM8に一時的に記録される。
【0022】
また、CPU2にはバス3を介して更にグラフィック処理部11、オーディオ合成部14、無線通信制御部17、及びネットワークインタフェース19が接続されている。
【0023】
このうちグラフィック処理部11は、CPU2の指示に従って仮想ゲーム空間やキャラクタなどを含むゲーム画像を描画する。また、グラフィック処理部11にはビデオ変換部12を介して外部のモニタ13が接続されており、グラフィック処理部11にて描画されたゲーム画像は動画形式に変換され、更にモニタ13にて表示される。
【0024】
オーディオ合成部14は、CPU2の指示に従ってデジタルのゲーム音声を再生及び合成する。また、オーディオ合成部14にはオーディオ変換部15を介して外部のスピーカ16に接続されており、オーディオ合成部14にて再生及び合成されたゲーム音声は、オーディオ変換部15にてアナログ形式にデコードされ、更にスピーカ16にて出力される。
【0025】
無線通信制御部17は、2.4GHz帯の無線通信モジュールを有し、ゲーム装置1に付属するコントローラ18との間で無線により接続され、データの送受信が可能となっている。また、ネットワークインタフェース19は、インターネットやLANなどの通信ネットワーク20に対してゲーム装置1を接続する。そして、通信ネットワーク20に接続された同様の構成を有する他のゲーム装置1との間で、サーバ装置21を介さないピア・ツー・ピア方式での通信(以下、「P2P通信」)を可能とし、本発明に係るゲームシステム100を構築する。
【0026】
このゲームシステム100では、複数のプレイヤが、同一のゲームプログラム10を有する各ゲーム装置1を操作することにより、同期して同一の仮想ゲーム空間内でオンラインゲームを実行することができる。即ち、各ゲーム装置1は通信ネットワーク20を介して互いにデータ通信を行うことができ、相互に送受信したデータや、ディスク型記録媒体4aに記録されたゲームプログラム10及びデータなどに基づき、各ゲーム装置1には同一の仮想ゲーム空間が生成される。各ゲーム装置1に接続されたモニタ13には、各プレイヤが操作するプレイヤキャラクタが中心に表示されるような視点で、この仮想ゲーム空間が表示される。例えば、プレイヤAが操作するゲーム装置1に接続されたモニタ13には、プレイヤAが操作するプレイヤキャラクタを中心とした仮想ゲーム空間の一部が表示され、プレイヤBが操作するゲーム装置1に接続されたモニタ13には、プレイヤBが操作するプレイヤキャラクタを中心とした仮想ゲーム空間の一部が表示される。
【0027】
一方、各ゲーム装置1は、通信ネットワーク20を介してサーバ装置21との間でもデータ通信を行うことができる。このサーバ装置21はいわゆるマッチングサーバであり、一般的なサーバ装置と同様に、CPU、HDD、ROM、RAM、及びネットワークインタフェースなどを備えている。サーバ装置21は、ホストプレイヤがゲームをする際に行うマッチングロビーの作成要求を、ホストプレイヤのゲーム装置1から通信ネットワーク20を介して受け付けると、CPUがマッチングリストを作成してHDDに記録する。一方、ゲストプレイヤからの要求に応じて、マッチングリストをゲストプレイヤのゲーム装置1へ通信ネットワーク20を介して送信する。そして、ゲストプレイヤによってマッチングリスト内の希望するロビーへの参加申請の操作がされると、当該ロビーのホストプレイヤ(ゲーム装置1)によりこの申請が受け付けられ、ゲストプレイヤはロビーへの入室が許可される。また、サーバ装置21は、ゲストプレイヤのロビー入室許可を受けてマッチングリストの内容を更新する。これ以降、ホストプレイヤのゲーム装置1と入室が許可されたゲストプレイヤのゲーム装置1とは、サーバ装置21を介さずP2P通信を行うことになる。なお、本実施の形態における各プレイヤが操作するゲーム装置1間では、上記のようにP2P通信を行うこととしているが、サーバ装置を介してクライアント・サーバ方式によるデータ通信を行うように構成してもよい。
【0028】
図2(a)は、上述したゲームプログラム10の構成を示す模式図であり、図2(b)は、図1に示すゲーム装置1の機能的な構成を示すブロック図である。図2(a)に示すように、ゲームプログラム10は、ホスト用プログラム10a及びゲスト用プログラム10bを備えている。これらのプログラム10a,10bは、一連のプログラムとして作成されており、適宜設定されたフラグの状態に応じて、何れかのプログラム10a,10bが選択的に実行される。
【0029】
また、図2(b)に示すように機能的に見ると、ゲーム装置1は、ゲーム制御部62、参加受付部63、及び参加要求部64を有する制御部61を備えており、該制御部61は、図1に示したCPU2、HDD6、ROM7、RAM8、グラフィック処理部11、ビデオ変換部12、オーディオ合成部14、及びオーディオ変換部15などのハードウェアとCPU2により実行されるゲームプログラム10によって実現されている。更に、ゲーム制御部62は、ゲーム進行部62a、ローディング部62b、オブジェクト条件決定部62c、仮想ゲーム空間生成部62d、及びキャラクタ生成制御部62eを有している。
【0030】
このうちゲーム制御部62が有するゲーム進行部62aは、プレイヤによる操作入力に応じてキャラクタを仮想ゲーム空間にて行動させ、該キャラクタの行動に応じてゲームを進行させる。また、通信ネットワーク20を介して複数プレイヤが参加している場合には、該通信ネットワーク20を介して受信した各プレイヤによる操作入力の情報に基づき、各キャラクタを仮想ゲーム空間にて行動させ、各キャラクタの行動に応じて(他のゲーム装置と同期して)ゲームを進行させる。なお、操作入力の情報の送受信に代えて、プレイヤが操作するキャラクタの姿勢及び仮想ゲーム空間内の現在位置などのキャラクタの状態を特定する情報を送受信し、この情報に基づいて各キャラクタを行動させてもよい。
【0031】
ローディング部62bは、ディスクドライブ4に装填されたディスク型記録媒体4aから仮想ゲーム空間を構築するためのデータをRAM8へローディングする他、適宜カード型記録媒体5aに記録されたデータもRAM8へローディングする。オブジェクト条件決定部62cは、仮想ゲーム空間に参加するキャラクタ数に応じて、該仮想ゲーム空間を構築するオブジェクトの条件(例えば、ゲーム空間内にて取得できるアイテムの数、敵キャラクタの数及び強さなど)を決定する。仮想ゲーム空間生成部62dは、決定されたオブジェクトの条件等を前提にして、プレイヤが視認するモニタ13に表示するための仮想ゲーム空間を生成する。キャラクタ生成制御部62eは、仮想ゲーム空間に登場させるキャラクタ(参加している他のプレイヤの操作によるキャラクタを含む)を生成するものであり、プレイヤによって服装や装備を含む外観イメージがカスタマイズされている場合には、そのカスタマイズされた外観イメージをモニタ13に表示させる。
【0032】
ゲーム装置1を、このような各部62a〜62eとして機能させるプログラムは、ホストプログラム10a及びゲストプログラム10bの夫々に含まれている。従って、ディスクドライブ4にて読み込んだプログラム10をCPU2が実行することにより、ゲーム装置1は上記各部62a〜62eとしての機能を発揮することができる。
【0033】
また、制御部61が備える参加受付部63は、ホストとしてプレイするプレイヤが他のプレイヤの参加を受け付けるためのものであり、後述するようにサーバ装置21に対するセッションの作成要求(図4のステップS3参照)などを実行する。ゲーム装置1をこの参加受付部63として機能させるプログラムはホストプログラム10aに含まれており、該ホストプログラム10aをCPU2が実行することによって、ゲーム装置1は上記参加受付部63としての機能を発揮することができる。
【0034】
参加要求部64は、逆に、ホストプレイヤがプレイしようとするゲーム、又はホストプレイヤが既にプレイしているゲームに対して、他のプレイヤが参加を要求するためのものであり、後述するようにホストプレイヤが操作するゲーム装置1に対するセッション確立要求(図6のステップS38、図8のステップS78参照)などを実行する。ゲーム装置1をこの参加要求部64として機能させるプログラムはゲストプログラム10bに含まれており、該ゲストプログラム10bをCPU2が実行することによって、ゲーム装置1は上記参加要求部64としての機能を発揮することができる。
【0035】
なお、図2(b)に示すように、制御部61は、既に説明したディスクドライブ4、メモリカードスロット5、モニタ13、スピーカ16、無線通信制御部17、及びネットワークインタフェース19の動作も制御する。
【0036】
図3は、ゲームプログラム10によって生成される、本ゲームに係る仮想ゲーム空間から成るゲームステージの構成を示す模式図である。本ゲームは、プレイヤ(遊戯者)がゲーム装置1及びコントローラ18を用いて各自のキャラクタを操作し、敵キャラクタを倒しながら、ゲームステージに沿って進行していくアクションゲームであり、通信ネットワーク20を介して接続された複数のゲーム装置1の夫々を操作する複数のプレイヤが、互いに協力してゲームを進行(ゲームストーリーを進行)させることができるものである。図3に示すように、このゲームステージは、エピソード21、チャプター22、及びエリア23の3つの階層で構成されている。具体的には、ゲームステージは、ストーリー毎に区切られてゲーム進行上は時系列的に設定された複数のエピソード21から構成されている(本実施の形態では6つのエピソード)。また、各エピソード21は、時系列的に設定された複数のミッション毎に各エピソード21を区切る複数のチャプター22から構成され、各チャプター22の最後にはボスキャラクタとの対戦や特定のアクションの実行などが設定されている。
【0037】
更に各チャプター22は、同様に時系列的に設定された複数のエリア23から構成されており、エリア23に設定された特定の領域(ゴール地点)にキャラクタが到達するか、エリア23に設定された特定のギミック(仕掛け)を全て起動させるか、あるいはエリア23に配置された敵のボスキャラクタを倒すなど、所定の条件をクリアすることによって当該エリア23はクリアされる。そして、ゲーム装置1では、1つのエリア23がクリアされると、次のエリア23用の仮想ゲーム空間を構築するためのゲームプログラム及びデータなどが、ディスク型記録媒体4aからRAM8へローディングされる。なお、エリア23をクリアできずにゲームオーバーにより終了する場合もあり、例えば、参加プレイヤの全員に対して1つだけ設定された戦力ゲージが、各プレイヤの死亡毎に一定量減少し、これがゼロになった場合にゲームオーバーとなる。また、複数のプレイヤが参加して協力してプレイする場合、ホストが選択したチャプター22の最初のエリア23からゲームが開始される。
【0038】
[プレイヤの参加態様の概要]
ここでは、ゲーム装置1にて本ゲームを実行する場合の各プレイヤの参加態様について概説する。はじめにプレイヤの参加態様を列挙すると、(1)ホストプレイヤとしての参加、(2)ゲーム進行の開始前でのゲストプレイヤとしての参加、及び(3)ゲーム進行途中でのゲストプレイヤとしての参加、の3態様がある。
【0039】
より具体的に説明すると、本ゲームでは、あるプレイヤがホストプレイヤとなってマッチングロビーを開設し、該ホストプレイヤが操作するキャラクタはホストキャラクタとなる。ホストプレイヤは、マッチングロビーを開設した状態で他のプレイヤ(ゲストプレイヤ)の参加を募り、ホストプレイヤが決定したタイミングで、一人で又は他のプレイヤと共にゲームを進行させる。このようなホストプレイヤのゲームへの参加態様が、上記(1)の「ホストプレイヤとしての参加」である。
【0040】
一方、ゲストプレイヤは、自身が操作するゲーム装置1とホストプレイヤが操作するゲーム装置1との間でセッションが確立されることにより、自身が操作するキャラクタがゲストキャラクタとしてマッチングロビーに入室した状態となる。そして、未だゲームの進行が開始していない場合には、ホストプレイヤが決定するタイミングで、同一のマッチングロビーに入室している各プレイヤの操作するキャラクタが、同一の仮想ゲーム空間から成る同一エリア23に登場し、ゲームを進行させることになる。このときのゲストプレイヤの参加態様が、上記(2)の「ゲーム進行の開始前でのゲストプレイヤとしての参加」である。以下では、このような参加態様を「初期参加」と称し、初期参加するゲストプレイヤを適宜「初期参加プレイヤ」と称することとする。
【0041】
また、本ゲームでは、同時にゲームを進行することのできるプレイヤの最大定員(本実施の形態では4人)が設定されており、最大定員に満たない状態(本実施の形態では少なくとも1人:ホストプレイヤのみ)であっても、ゲームを進行させることができる。一方、このように最大定員に満たないでゲームが進行している場合であっても、更に他のゲストプレイヤを当該ゲームに途中参加させることができる。即ち、既にゲームを進行させているキャラクタが活動する仮想ゲーム空間に、ゲストプレイヤが操作するゲストキャラクタを、所定のタイミング(既に進行中のゲームにおける仮想ゲーム空間に登場(存在)しているホストキャラクタ及びゲストキャラクタの行動に影響を与えないタイミング)で途中から登場させることができるようになっている。このようなプレイヤの参加態様が、上記(3)の「ゲーム進行途中でのゲストプレイヤとしての参加」である。以下では、このような参加態様を「途中参加」と称し、途中参加するゲストプレイヤを適宜「途中参加プレイヤ」と称することとする。
【0042】
以下では、ホストプレイヤが操作するゲーム装置1(以下、「ホストゲーム装置1A」)の動作、及びゲストプレイヤ(初期参加プレイヤ又は途中参加プレイヤ)が操作するゲーム装置1(以下、「ゲストゲーム装置1B」)の動作について順次説明する。また、ゲストゲーム装置1Bの動作については、初期参加プレイヤによって操作されて最初からホストプレイヤと共にゲームを進行する場合の動作と、途中参加プレイヤによって操作されてゲーム進行途中から当該ゲームに参加する場合の動作とに分けて説明する。
【0043】
[ホストゲーム装置の動作]
図4は、ホストプレイヤが操作するホストゲーム装置1Aの動作を示すフローチャートである。以下に示すホストゲーム装置1の動作は、ディスク型記録媒体4aに記録されたゲームプログラム10に従ってCPU2が各部の動作を制御することによって実現される。図4に示すように、はじめにホストゲーム装置1Aは、ホストプレイヤによるコントローラ18の操作により、ゲームのモード選択処理を行う(ステップS1)。
【0044】
本ゲームにおいてプレイヤは、インターネットを介して他者と協力してゲームを進行する「Co−opモード」と、インターネットを介して他者と対戦する「オンラインバトルモード」と、プレイヤが1人でステージのクリアを目指してゲームを進行する「シングルモード」とがある。また、オンラインの状態としてはインターネットを介したものの他、LANを介したものを選択することもでき、LANを介した形態においても、上記と同様の「Co−opモード」及び「オンラインバトルモード」のうちからモードを選択することができる。更に、「Co−opモード」については、ホスト及びゲストの何れの立場でプレイするかにより2つの選択肢(ホスト用「Co−opモード」及びゲスト用「Co−opモード」)が用意されているが、ここではホストゲーム装置1Aの動作を説明すべく、以下では、ホスト用「Co−opモード」を選択することを前提として説明を続ける。
【0045】
モードが選択されると、ホストゲーム装置1Aはサーバ装置21との通信接続処理を行い(ステップS2)、該サーバ装置21に対してセッションの作成を要求する(ステップS3)。これにより、サーバ装置21が作成するマッチングリストに当該ホストゲーム装置1Aをホストとするマッチが登録(リストアップ)される。そして、ホストゲーム装置1Aにはマッチングロビーが開設され、該ホストゲーム装置1のモニタ13にはホスト用ロビー画面が表示される(ステップS4)。このようなセッション作成要求(ステップS3)及びホスト用ロビー画面表示(ステップS4)は、ホストゲーム装置1Aの参加受付部63によって実行される。
【0046】
なお、ステップ3のセッション作成要求に際しては、次のような各種のセッション情報もホストゲーム装置1Aからサーバ装置21へ送信される。即ち、ホストプレイヤに関する情報として、プレイヤ名、プレイヤID、及びIPアドレスなどの情報が送信される。また、ゲーム情報として、ロビー中であるのかプレイ中であるのかといったプレイ状況、プレイするエピソード21、チャプター22、及びエリア23の番号、参加人数(即ち、ゲーム装置数)、難易度、フレンドリーファイア設定などに関する情報が送信される。なお、フレンドリーファイア設定とは、マッチに参加したプレイヤが操作するキャラクタ同士で、一のキャラクタによる攻撃が他のキャラクタにもダメージを及ぼすようにするか否かを設定するものである。そして、上述したマッチの登録においては、これらのセッション情報も含めて登録される。
【0047】
図5は、各種のロビー画面を示す模式図であり、(a)はホスト用ロビー画面、(b)は後述する初期参加ゲスト用ロビー画面、(c)は後述する途中参加ゲスト用ロビー画面を夫々示している。図5(a)に示すように、ホスト用ロビー画面30には、参加可能な最大定員分の参加者表示欄31が昇順に設けられ、トップの参加者表示欄31にはホストプレイヤのプレイヤ名32などが表示される。なお、通信ネットワーク20を介して接続された他のゲーム装置(ゲストゲーム装置)1を操作するプレイヤのうちから、当該マッチに参加するものがいる場合は、ホストプレイヤの表示欄31の下に、参加した順で各ゲストプレイヤのプレイヤ名32などが表示される。つまり、ロビー画面30には、現在のマッチングロビーの状況(参加状況)が表示されている。また、参加者が最大定員に満たない場合は、残っている参加者表示欄31が空欄表示33となって、その時点での残りの参加可能なプレイヤ数を知ることができる。
【0048】
このようなホストプレイヤ及びゲストプレイヤに関する情報は、ホストゲーム装置1AのRAM8(図1参照)に記録された情報に基づいて作成される。より具体的には、ホストプレイヤに関する情報は、ホストプレイヤによるコントローラ18の操作によって予め入力されてRAM8に記録された情報に基づいて作成され、ゲストプレイヤに関する情報は、ゲストゲーム装置1Bから受信してRAM8に記録された情報(後述の図8(c)の処理で送信されてくる情報)に基づいて作成される。
【0049】
また、ホスト用ロビー画面30には「ゲーム開始」アイコン34が設けられて(表示されて)いる。このアイコン34は、ホストプレイヤからのゲームの開始を受け付けるものであり、具体的には、ホストプレイヤがコントローラ18を操作してアイコン34をクリックするなどして選択することでゲームの開始が受け付けられ、これによってホストゲーム装置1Aはゲーム開始と判断し(ステップS5:YES)、ステップS6以降の処理に移行する。一方、アイコン34が選択されていない状態では、ホストゲーム装置1Aはゲーム開始と判断せず(ステップS5:NO)、ロビー画面30をモニタ13に表示し続けてロビーでの待機状態が維持される。つまり、ホストゲーム装置1Aは、ゲームを開始せずに他のゲストプレイヤの参加を待ち続ける状態となる。
【0050】
従って、ホストプレイヤが、他のゲストプレイヤ(初期参加プレイヤ)と共に最初のエリアからゲームを開始することを所望する場合には、ホストゲーム装置1Aがサーバ装置21にセッションの作成を要求(ステップS3)した後、暫くの間はゲームを開始せず(ステップS5:NO)にゲストプレイヤの参加を募り、所望数のゲストプレイヤが現れた時点でゲームを開始(ステップS5:YES)すればよい。
【0051】
ゲストプレイヤ(ゲストゲーム装置1B)の参加(マッチングロビーへの入室)は、ホストゲーム装置1Aがゲストゲーム装置1Bとセッションを確立することにより受け付けられる。なお、ステップS4,S5のループ処理からステップS6の処理へ移行してしまうとホストゲーム装置1Aに接続されたモニタ13にはロビー画面30は表示されないが、マッチングロビーはステップS3の処理後からセッションが終了するまで(ステップS21まで)開設されている。そして、ホストゲーム装置1Aは、マッチングロビーが開設されている間は、最大定員に満たない限り、ゲストゲーム装置1Bからのセッション確立要求を受け付ける。
【0052】
ホスト用ロビー画面30には、他にも「ゲーム終了」アイコン35などが設けられており、このアイコン35が選択されると、図4では示していないがホスト用ロビー画面30は閉じられ、サーバ装置21が作成するマッチングリストから当該マッチは削除される。
【0053】
次に、ゲームの開始が選択されると(ステップS5:YES)、サーバ装置21に対してゲームのプレイ状況(即ち、プレイ中であること)やプレイするエリア23の番号を示す情報などを含む更新情報を送信する(ステップS6)。なお、ホストゲーム装置1Aでは、ステップS6に至る前までは、自身のプレイ状況を「ロビー中」として記憶しているが、ゲーム開始が選択されてステップS6にてサーバ装置21へ更新情報を送信する際、ホストゲーム装置1Aが記憶するプレイ状況も「ロビー中」から「プレイ中」に更新される。そして、ステップS6以降、ステップS19のセッション終了処理が実行されるまでは、「プレイ中」が維持される。サーバ装置21は、受信した更新情報に応じてマッチングリストの該当するセッション情報を更新する。なお、「プレイ状況」に「プレイ中」が設定されている間が、本発明に係るゲームの「進行中」に対応する。
【0054】
そして、ゲストプレイヤが存在しない(現在、P2P通信している(入室している)ゲストゲーム装置1Bがいない)場合には(ステップS7:NO)、参加プレイヤ数(参加キャラクタ数:ここではホストプレイヤのみの1人)に応じてオブジェクト条件を決定し(ステップS9)、次に、これからプレイするエリア23の仮想ゲーム空間及びホストキャラクタを構築するために、データ及びゲームプログラムをローディングする(ステップS10)。一方、既に入室しているゲストプレイヤが存在する場合には(ステップS7:YES)、当該ゲストゲーム装置1Bに対してゲーム開始を示す情報を送信してから(ステップS8)、参加プレイヤ数(ここではホストプレイヤと少なくとも1人のゲストプレイヤとを含む複数人)に応じてオブジェクト条件を決定し(ステップS9)、次に、前記仮想ゲーム空間、ホストキャラクタ、及びゲストキャラクタを構築するために、データ及びゲームプログラムをローディングする(ステップS10)。
【0055】
なお、上記ステップS9でのオブジェクト条件の決定処理について説明すると、本実施の形態では、参加プレイヤ数(キャラクタ数)に応じて、プレイするエリア23の仮想ゲーム空間を構築するオブジェクト(例えば、アイテム、敵キャラクタなど)の条件(数、強さなど)を決定するようにしている。例えば、参加キャラクタ数が相対的に多い場合には、アイテム数や敵キャラクタ数が相対的に多くなるように設定し、敵キャラクタの強さを相対的に強くなるように設定する。このような処理は、ホストゲーム装置1Aのゲーム制御部62が有するオブジェクト条件決定部62c(図2(b)参照)によって実行される。
【0056】
また、ここで説明しているローディング時(セッション確立後の1回目のローディング時であって、最初のゲーム開始時)では、ホストゲーム装置1Aは、サーバ装置21へのセッション作成要求(ステップS3)によるマッチングロビー開設時(ロビー入室時)のセッション情報に含まれるエリア番号の情報と上記オブジェクト条件とに基づき、これからプレイするエリア23の仮想ゲーム空間を構築するためのデータ及びプログラムをローディングする。
【0057】
更に、自己のプレイヤキャラクタ(ホストキャラクタ)を構築するためのデータは、自己のプレイヤ情報に基づいてローディングし、ゲストキャラクタを構築するためのデータは、ゲストゲーム装置1Bから受信したプレイヤ情報(図8(c)の処理で送信される情報)に基づいてローディングする。
【0058】
なお、上述のローディング処理(ステップS10)では、必要なプログラム等を複数回にわたってローディングしてもよいし、1回でローディングするようにしてもよい。
【0059】
このようにして、所定のエリア23(即ち、上述したセッション情報に含まれる番号のエリア)の最初から、当該エリア23をクリアするかゲームオーバーとなるまで、1エリア単位でゲームを進行する処理を行う(ステップS11)。そして、ゲストキャラクタが存在する場合(即ち、ゲストプレイヤがいる場合)には、セッションが確立されているホストゲーム装置1Aとゲストゲーム装置1Bとの間で、適宜データの送受信を行って同期をとりながら、当該ゲーム進行処理(ステップS11)は実行される。このステップS11に係るゲーム進行処理は、ホストゲーム装置1Aのゲーム制御部62によって実行される。
【0060】
なお、参加プレイヤ数(参加キャラクタ数)に応じてオブジェクト条件を決定しないようにしてもよく、換言すれば、参加プレイヤ数にかかわらずオブジェクト条件を固定しておいてもよく、この場合は、ステップS9の処理を省略してローディング処理(ステップS10)を実行すればよい。
【0061】
次に、当該エリア23のゲームが終了した場合、終了の仕方に応じてホストゲーム装置1Aは異なる動作を実行する。即ち、進行途中でゲームオーバーとなることなく(ステップS12:NO)、当該エリア23を終了(クリア)した場合は、次のエリア23の番号に関する情報がホストゲーム装置1Aから全ゲストゲーム装置1Bへ送信され(ステップS13)、続いてモニタ13にはエリアリザルト画面(図示せず)が表示される(ステップS14)。このエリアリザルト画面は、ステップS11で実行されたエリア23のゲームに参加した全てのプレイヤのゲーム装置1に接続されたモニタ13に表示され、そこでは、終了したエリア23で倒した敵数や獲得ポイントなどの個人成績が表示される。このような個人成績に関する情報は各ゲーム装置1において自身の成績が算出され、算出された情報が他の各ゲーム装置1へ送信される。そして各ゲーム装置1は、自身の成績を示す情報と他のゲーム装置1から受信した当該他のゲーム装置1の成績を示す情報とに基づき、全ゲーム装置1の個人成績をモニタ13に表示する。また、エリアリザルト画面には「確認」アイコンも設けられており、各プレイヤがこのアイコンを選択すると、エリアリザルト画面の表示内容について各プレイヤが確認を済ませたことを示す情報が各ゲーム装置1からホストゲーム装置1Aへ送信される。
【0062】
参加プレイヤの中にこの「確認」アイコンを選択していない者がいて、全員の確認が終了していない間(ホストゲーム装置1Aが確認済みを示す情報を受信していないゲストゲーム装置1Bがある間)は、当該エリアリザルト画面が表示され続ける(ステップS15:NO)。一方で、全員の確認が終了した場合には(ステップS15:YES)エリアリザルト画面は閉ざされて、終了したエリア23が、その所属するチャプター22の最終エリア23であったか否かを判断する(ステップS16)。そして、例えば終了したエリア23の番号とその所属するチャプターの最終エリア23の番号とを比較することにより、終了したエリア23が最終エリア23ではないと判断した場合には(ステップS16:NO)、既に説明したステップS6以降の動作を再び実行し、次のエリア23でのゲームが進行される(ステップS11)。
【0063】
なお、この場合におけるステップS6の動作(サーバ装置21への更新情報の送信)では、プレイするエリア23を示す情報として、先ほど終了したエリア23の次に行うエリア23の番号が更新情報として含まれることになる。また、ステップS11のゲーム進行処理の実行中のタイミングなどに途中参加した途中参加プレイヤがロビーで待機している(参加待ちしている)場合には、ホストゲーム装置1Aは、ステップS6の処理を再び実行した後のステップS8の段階で、当該途中参加プレイヤが操作するゲストゲーム装置(途中参加のゲストゲーム装置)1Bに対してもゲーム開始を示す情報を送信する。そして、上記ステップS11の処理において、当該途中参加プレイヤが操作する途中参加キャラクタが、仮想ゲーム空間に登場することとなる。
【0064】
従って、ゲーム開始を示す情報は、ロビーで待機している(途中参加待機状態の)途中参加のゲストゲーム装置1Bがいない場合は、既に参加しているホストゲーム装置1Aと(存在している場合には)ゲストゲーム装置1Bとが同期してゲーム進行を開始するための同期信号となる。また、ロビーで待機している途中参加のゲストゲーム装置1Bが存在する場合は、途中参加キャラクタを次のゲーム(エリア23)の仮想ゲーム空間から登場させ、既に参加しているホストゲーム装置1A及び(存在している場合には)ゲストゲーム装置1Bと、当該途中参加のゲストゲーム装置1Bとが同期してゲーム進行を開始するための同期信号となる。
【0065】
なお、既に参加しているゲストゲーム装置1Bには、初期参加プレイヤが操作するゲストゲーム装置(初期参加のゲストゲーム装置)1B、既にゲストキャラクタを仮想ゲーム空間に登場させている(ロビーで待機していない)途中参加のゲストゲーム装置1Bも含まれる。
【0066】
また、ステップS6からの動作を再び実行して2つ目のエリア23以降のゲームを開始する場合であって、ステップ10のローディング処理を行う場合(セッション確立後の2回目以降のローディング時)は、ホストゲーム装置1Aは、前回プレイしたエリア23の番号を記憶しているため、当該エリア23の次のエリア23の番号とステップS9で決定したオブジェクト条件とに基づいて、次にプレイするエリア23の仮想ゲーム空間を構築するためのデータ及びプログラムをローディングする。ステップS9においては、途中参加した途中参加プレイヤがロビーで待機している場合、この途中参加プレイヤも参加プレイヤ数に含めてオブジェクト条件が決定される。
【0067】
ここで再びステップS16の処理に戻って説明を続けると、この処理にて最終エリア23であると判断した場合には(ステップS16:YES)、当該エリア23の所属するチャプター22が終了したことになるため、チャプターリザルト画面(図示せず)がモニタ13に表示される(ステップS17)。このチャプターリザルト画面も上記エリアリザルト画面と同様に、このエリア23のゲームの参加者の夫々のモニタ13に表示され、当該チャプター22で倒した敵数や獲得ポイントなどの個人成績が表示される。
【0068】
続いて、このチャプター22の番号と当該チャプター22が所属するエピソード21の最終チャプター22の番号とを比較することにより、このチャプター22が最終チャプター22であるか否かが判断される(ステップS18)。ここで、最終チャプター22であると判断された場合には(ステップS18:YES)、当該チャプター22が所属するエピソード21に関するエピソードリザルト画面がモニタ13に表示され(ステップS19)、当該セッションの終了処理が行われる(ステップS21)。即ち、ホストゲーム装置1Aは、他のゲストゲーム装置1BとのP2P通信を切断する処理を行い、サーバ装置21へはセッションが終了したことを示す情報を送信する処理を行う。なお、サーバ装置21では、このようなセッション終了を示す情報を受信すると、このセッションの情報をマッチングリストから削除する。
【0069】
また、上述したエピソードリザルト画面についても、エリアリザルト画面及びチャプターリザルト画面と同様、ステップS11で実行したゲームの参加者夫々のモニタ13に個人成績が表示される。そして、チャプターリザルト画面及びエピソードリザルト画面に表示される個人成績に関する情報は、何れも各ゲーム装置1において自身の成績が算出され、算出された情報が他の各ゲーム装置1へ送信される。そして各ゲーム装置1は、自身の成績を示す情報と他のゲーム装置1から受信した当該他のゲーム装置1の成績を示す情報とに基づき、全ゲーム装置1の個人成績をモニタ13に表示する。
【0070】
なお、エリアリザルト画面などのリザルト画面の表示を行わず、すぐに次のエリア23でのゲームを開始してもよい。
【0071】
また、セッションの終了処理(ステップS21)が行われると、他のゲストプレイヤは強制的に当該マッチから解散させられることになる。また、上記では最終チャプター22であると判断した場合、即ち、1つのエピソード21が終了したと判断した場合には、エピソードリザルト画面を表示して(ステップS19)セッションを終了させているが(ステップS21)、これに代えて、エピソードリザルト画面を表示した後(ステップS19)、ホスト用ロビー画面30(図5(a)参照)をホストゲーム装置1Aのモニタ13に表示させ、セッションを維持したまま、次のエピソード21をプレイするための待機状態としてもよい。この場合、終了したエピソード21を一緒にプレイしたゲストプレイヤと、次のエピソード21でも再び一緒にプレイすることができる。
【0072】
一方、ステップS18にて最終チャプター22ではないと判断した場合には(ステップS18:NO)、次のチャプター22を続けてプレイするか否かについて、ホストプレイヤの選択を要求する(ステップS20)。即ち、ステップS17で表示したチャプターリザルト画面には、最終チャプター22ではない場合(ステップS18:NO)に、「続行」及び「終了」の各アイコンが表示され、コントローラ18を操作して何れかのアイコンを選択することにより、ホストプレイヤの意志決定がホストゲーム装置1Aに通知される。そして、「続行」アイコンが選択された場合には、既に説明したステップS6からの動作を再び実行して、次のチャプター22に属する最初のエリア23でのゲームが進行され、「終了」アイコンが選択された場合には、当該セッションが終了される(ステップS21)。
【0073】
ここで再びステップS12の動作に戻って、エリア23の進行途中でゲームオーバーになった場合(ステップS12:YES)について説明する。この場合、続けてプレイする場合の次のエリア23の番号に関する情報(ここでは、ゲームオーバーになったエリア23を再プレイするため、当該ゲームオーバーになったエリア23の番号に関する情報)がホストゲーム装置1Aから全ゲストゲーム装置1Bへ送信され(ステップS22)、続いて、各ゲーム装置1に接続されたモニタ13には、ゲームオーバーになったことを示す情報を含む画面(図示せず)が表示される(ステップS23)。そして、ゲームオーバーになった当該エリア23を最初から再プレイするか否かのホストプレイヤの判断が要求される(ステップS24)。即ち、ホストゲーム装置1Aに接続されたモニタ13に表示されるゲームオーバー情報を含む画面では、「続行」及び「終了」の各アイコンも表示され、コントローラ18を操作してホストプレイヤが何れかのアイコンを選択することにより、ホストプレイヤの意志決定がホストゲーム装置1Aに通知される。そして、「続行」アイコンが選択された場合には、当該エリア23を再プレイさせるべくステップS6からの動作を再び実行し、「終了」アイコンが選択された場合には、当該セッションの終了処理が行われる(ステップS21)。
【0074】
なお、ステップS13,S22における全ゲストゲーム装置1Bには、ロビーで待機している途中参加プレイヤが操作するゲストゲーム装置も含まれる。
【0075】
[ゲストゲーム装置の動作]
次に、ゲストゲーム装置1Bの動作について説明するが、はじめに、ゲストプレイヤが初期参加プレイヤとして参加する場合に当該プレイヤにより操作されるゲストゲーム装置1Bの動作について説明し、次に、ゲストプレイヤが途中参加プレイヤとして参加する場合に当該プレイヤにより操作されるゲストゲーム装置1Bの動作について説明する。
【0076】
(i.初期参加プレイヤにより操作されるゲストゲーム装置の動作について)
図6は、ゲストゲーム装置1Bの動作を示すフローチャートであり、図7は、図6に示す動作に続くゲストゲーム装置1Bの動作を示すフローチャートである。以下に示すゲストゲーム装置1Bの動作は、ディスク型記録媒体4aに記録されたゲームプログラム10に従ってCPU2が各部の動作を制御することによって実現される。
【0077】
図6に示すように、ゲストゲーム装置1Bは、ゲストプレイヤによるコントローラ18の操作により、ゲームのモード選択処理を行う(ステップS31)。選択可能なモードは、図4のステップS1でモード選択処理について説明したものと基本的には同じものが用意されているが、以下では、ゲストという立場で選択可能なゲスト用「Co−opモード」を選択するものとして説明する。なお、ゲスト用「Co−opモード」では、更に「クイックマッチ」及び「カスタムマッチ」の中から何れかを選択可能になっている。ここで、「クイックマッチ」とは、他者参加型プレイにおいて他者の参加条件の選択肢が相対的に少ないマッチング方式をいい、「カスタムマッチ」とは、前記参加条件の選択肢が相対的に多くてより詳細に条件設定可能なマッチング方式をいう。
【0078】
モードの選択に続いてゲームの難易度等の設定処理が行われる(ステップS32)。この処理では、参加しようとするマッチで行われるゲームの難易度の他、プレイしたいエピソード及びチャプターの選択、フレンドリーファイアの可否など、各種の参加条件についての設定をすることができる。但し、クイックマッチを選択した場合には、参加条件としてフレンドリーファイアの可否のみを選択可能であり、その他の条件については選択不可(固定)となっている。従って、クイックマッチを選択した場合はフレンドリーファイアの可否を選択するだけで、早期にマッチングを始めることができる。
【0079】
次に、ゲストゲーム装置1Bはサーバ装置21との通信接続処理を行い(ステップS33)、サーバ装置21に対してマッチング検索要求を行う(ステップS34)。即ち、ゲストゲーム装置1Bは、ステップS31,S32において行った選択条件(参加条件)の情報をサーバ装置21へ送信すると共に上記検索要求をサーバ装置21に対して行う。サーバ装置21は、管理しているマッチングリストを上記選択条件に基づいてフィルタリングし、当該条件を満たすマッチングリストを提供する。なお、参加者が参加可能な最大定員に達しているマッチについても、マッチングリストからはフィルタリングされ、当該マッチはゲストゲーム装置1Bへ送信されるマッチングリスト情報に含まれない。その結果、サーバ装置21からマッチングリスト情報を受信すると(ステップS35:YES)、これを含む画面をモニタ13にて表示する(ステップS36)。
【0080】
この画面には、マッチングリスト情報として、ホストプレイヤに関するプレイヤ情報(例えば、プレイヤ名)やゲーム情報が含まれている。また、このゲーム情報としては、プレイ状況(即ち、ロビー中であるかプレイ中であるかを示す情報)、プレイするエピソードとチャプターとエリアの番号、参加人数(参加ゲーム装置数)の情報、難易度、フレンドリーファイアの設定に関する情報などが含まれている。従って、ゲストプレイヤは、これらの情報を参考にして、選択するマッチを決定することができる。
【0081】
ゲストプレイヤがモニタ13に表示されたマッチングリストから一のマッチを選択すると(ステップS37:YES)、ゲストゲーム装置1Bは、当該マッチのホストゲーム装置1Aに対してセッション確立要求を送信する(ステップS38)。ここで、セッションが確立されると(ステップS39:YES)、当該ゲストゲーム装置1の参加形態が途中参加であるか否かについて判断する(ステップS40)。即ち、セッションが確立された状態で、ホストゲーム装置1Aが図4のステップS11に示すゲーム処理を1度も実行していない状態であれば途中参加ではない(即ち、自身が初期参加プレイヤである)と判断し(ステップS40:NO)、ホストゲーム装置1Aが図4のステップS11に示すゲーム処理を既に開始していれば途中参加である(即ち、途中参加プレイヤである)と判断する(ステップS40:YES)。実際の判断においては、ゲストゲーム装置1Bは、ロビー入室時にホストゲーム装置1Aから受信したゲーム情報に含まれるプレイ状況に関する情報(後述の図8(a)で送信されてくる情報)に基づいて判断し、プレイ状況に関する情報が「プレイ中」を示すものであれば途中参加と判断し、「ロビー中」を示すものであれば途中参加ではない(初期参加である)と判断する。
【0082】
なお、図4のステップS6においても説明したように、ホストゲーム装置1Aが記憶しているプレイ状況は、ステップS6でのサーバ装置21への更新情報の送信処理時に、「ロビー中」から「プレイ中」に更新される。但し、このように「プレイ中」に更新するタイミングは、ステップS6の処理時に限定されるものではなく、例えば、ステップS10のローディング処理を終え、ゲーム進行処理(ステップS11)を開始した直後に行うようにしてもよい。
【0083】
そして、途中参加ではないと判断した場合(ステップS40:NO)、図7のステップS41に移行して、ゲストゲーム装置1Bのモニタ13には、ゲスト用ロビー画面(図5(b)参照)が表示される(ステップS41)。一方、ホストプレイヤにより拒否されるなどしてセッションが確立されなかった場合には(ステップS39:NO)、マッチングリスト情報を表示するステップS36以降の動作を再実行する。
【0084】
なお、上述したセッション確立要求の送信処理(ステップS38)は、ゲストゲーム装置1Bの参加要求部64によって実行される。また、ホストゲーム装置1Aとゲストゲーム装置1Bとの間のセッションの確立(ステップS39:YES)は、ホストプレイヤが次にプレイしようとするゲームへのゲストプレイヤの参加が受け付けられたことを意味する。そして、このようなセッション確立処理は、ホストゲーム装置1Aの参加受付部63によって実行され、図4に示すメインルーチンに対する割り込み処理として、セッションの確立可否の判断が実行される。ホストゲーム装置1Aは、セッションの確立を許可すると判断すると、その旨の情報をゲストゲーム装置1Bへ送信する。この情報を受信したゲストゲーム装置1Bは、セッション確立と判断し(ステップS39:YES)、上記ステップS40の動作を実行する。ここで、ホストゲーム装置1Aとゲストゲーム装置1Bとの間のセッションが確立されたときに、既にホストゲーム装置1Aとの間でセッションが確立している他のゲストゲーム装置1Bが存在する場合には、ホストゲーム装置1Aとの間で新たにセッションが確立されたゲストゲーム装置1Bと当該他のゲストゲーム装置1Bとの間でもセッション確立処理が行われる。
【0085】
図5(b)に示すように、初期参加ゲスト用ロビー画面40は、図5(a)に示すホスト用ロビー画面30とほぼ同じ内容であり、参加者表示欄にはホストプレイヤを筆頭にして各参加プレイヤのプレイヤ名41などが参加順に列挙され、現在のマッチングロビーの状況(参加状況)が表示される。このような各プレイヤに関する情報は、ホスト用ロビー画面30の場合と同様に、自身のゲストゲーム装置1BのRAM8に記録された情報に基づいて作成される。より具体的には、自身のゲストプレイヤに関する情報は、ゲストプレイヤによるコントローラ18の操作によって予め入力されてRAM8に記録された情報に基づいて作成され、ホストプレイヤ及び他のゲストプレイヤに関する情報は、ホストゲーム装置1A及び他のゲストゲーム装置1Bから受信してRAM8に記録された情報(後述の図8(a)〜(c)の処理で送信されてくる情報)に基づいて作成される。
【0086】
一方、初期参加ゲスト用ロビー画面40では、ホスト用ロビー画面30の「ゲーム開始」アイコン34はなく、「カスタム」アイコン42及び「退室」アイコン43が設けられている。このうち「カスタム」アイコン42は、ゲストプレイヤがコントローラ18の操作によってこれを選択することにより(図7のステップS42:YES)、モニタ13の表示がカスタム画面(図示せず)に移行され、ここでゲストキャラクタに装備させる各種武器を選択することができる(ステップS43)。また、「退室」アイコン43は、ゲストプレイヤがこれを選択することによって(ステップS44:YES)、当該ロビーからの退室(即ち、マッチからの離脱)が可能になっている。この場合はセッション終了処理が実行され(ステップS45)、具体的にはホストゲーム装置1Aを含む他のゲーム装置1との間の通信を切断する処理を行い、ステップS36のマッチングリスト情報の表示以降の動作が再実行される。
【0087】
ゲスト用ロビー画面40が表示されている状態(ステップS41)で、ホストゲーム装置1Aからゲーム開始を示す情報(同期信号)を受信すると(図4のステップS8参照)、当該マッチでのゲームが開始されると判断し(ステップS46:YES)、参加プレイヤ数(参加キャラクタ数)に応じてオブジェクト条件を決定し(ステップS47)、次に、これからプレイするエリア23の仮想ゲーム空間を構築するためのデータ及びプログラムをローディングする(ステップS48)。
【0088】
ここで、上記ステップS47のオブジェクト条件決定処理は、図4のステップS9にて示した処理と同じ内容であり、この処理は、ゲストゲーム装置1Bのゲーム制御部62が有するオブジェクト条件決定部62cによって実行される。また、ステップS48のローディング時(セッション確立後の1回目のローディング時であって、最初のゲーム開始時)では、ロビー入室時にホストゲーム装置1Aから受信したゲーム情報(後述の図8(a)の処理により受信する情報)とオブジェクト条件とに基づき、これからプレイするエリア23の仮想ゲーム空間を構築するためのデータ及びプログラムをローディングする。また、自己のプレイヤキャラクタ(ゲストキャラクタ)を構築するためのデータは、自己のプレイヤ情報に基づいてローディングし、ホストキャラクタ及び他のゲストキャラクタを構築するためのデータは、ホストゲーム装置1A及び他のゲストゲーム装置1Bから受信した各プレイヤ情報(後述の図8(a)〜(c)の処理で送信される情報)に基づいてローディングする。なお、既に説明したように参加プレイヤ数に応じてオブジェクト条件を決定しないようにしてもよく、その場合は、上記ステップS47の処理は省略してローディング処理(ステップS48)が実行される。
【0089】
そして、ホストキャラクタ及びゲストキャラクタの共同によって、所定のエリア23からゲームを進行する処理を行う(ステップS49)。このゲーム進行処理(ステップS49)は、ホストゲーム装置1Aでのゲーム進行処理(ステップS10)、及び、他に参加しているゲストゲーム装置1Bでのゲーム進行処理と同期がとられており、ゲーム進行中においても、ホストゲーム装置1A及び他のゲストゲーム装置1Bとの間で適宜データの送受信を行って、各ゲーム装置1A,1Bが同期するようになっている。
【0090】
なお、ホストゲーム装置1Aからゲーム開始を示す情報を受信していない状態では、まだゲーム開始ではないと判断し(ステップS46:NO)、ステップS41〜S46の動作を繰り返してゲームの開始時期まで待機する。
【0091】
ステップS49のゲーム進行処理の後は、図4のステップS12〜S24と同様のステップS52〜S64(図7参照)の処理が実行されるため、ここではその詳細な説明は省略する。但し、ホストゲーム装置1Aとゲストゲーム装置1Bという位置付けの相違から、図6に示すゲストゲーム装置1Bの動作においては、ホストゲーム装置1Aにおいて実行するステップS15の動作、即ち、エリアリザルト表示後の参加プレイヤ全員の確認の有無判断は行われない。また、ゲストゲーム装置1Bで行うステップS60,S64の処理は、ホストゲーム装置1Aが行うステップS20,S24の処理とは違ってゲームを続行するか否かについてゲストプレイヤの選択を要求するものではない。具体的には、ホストゲーム装置1AのステップS20,S24の各処理にて、ホストプレイヤが示してホストゲーム装置1Aに通知された意志決定の内容を、ゲストゲーム装置1Bはホストゲーム装置1Aから受信し、この受信した内容により、続行するか否かが決定される。また、ステップS61のセッション終了処理においても、ホストゲーム装置1Aが実行するステップS21のセッション終了処理とは若干異なっており、ホストゲーム装置1A及び他のゲストゲーム装置1Bとの間の通信を切断する処理は行うが、サーバ装置21へセッション終了を示す情報の送信は行わない。
【0092】
(ii.途中参加プレイヤにより操作されるゲストゲーム装置の動作について)
次に、ゲストゲーム装置1Bとホストゲーム装置1Aとの間でセッションが確立された時点(ステップS39:YES)で、ロビー入室時に受信したプレイ状況に関する情報が「プレイ中」であるために、図6のステップS40において「途中参加である」と判断した場合(ステップS40:YES)について説明する。以下に示すゲストゲーム装置1Bの動作は、ディスク型記録媒体4aに記録されたゲームプログラム10(特に、ゲスト用プログラム10b)に従ってCPU2が各部の動作を制御することによって実現される。
【0093】
図6に示すように、ゲストゲーム装置1Bは、ホストゲーム装置1Aとの間でセッションが確立され(図6のステップS39:YES)、ホストプレイヤが開設したマッチングロビーへの入室が許可され、更に自身が途中参加しようとしているゲストゲーム装置1Bであると判断すると(ステップS40:YES)、ゲストゲーム装置1Bのモニタ13には、途中参加ゲスト用ロビー画面50(図5(c)参照)が表示される(ステップS71)。これにより、途中参加のゲストゲーム装置1Bは、既にゲームを進行しているマッチのプレイに参加するタイミングを待つ途中参加待機状態となる。本実施の形態において、この途中参加ゲスト用ロビー画面50は、途中参加キャラクタが当該仮想ゲーム空間に登場するまでの間、途中参加ゲスト用のモニタ13に表示されているが、一時的に他の画面情報が表示されることも許容される。
【0094】
ここでまず言及すべきは、既に説明した図6に示すように、モード選択処理(ステップS31)からホストゲーム装置1Aとのセッション確立(ステップS39)までの間の処理は、先に説明した途中参加ではない初期参加に係るゲストゲーム装置1Bと同様にして、ここで説明する途中参加のゲストゲーム装置1Bにおいても実行される点である。即ち、途中参加プレイヤは、ホストキャラクタが所定のエリア23にてゲームを進行している最中(即ち、プレイ中)であっても、当該プレイ中のマッチを、参加する対象として選択することができ、更にはセッションを確立することも可能な点である。このように、プレイを始めていないロビー中のマッチだけでなく、プレイ中のマッチも参加対象として選択できるため、ゲストプレイヤにとっては条件に合うマッチの選択幅が広がる。また、ホストプレイヤ及び既に参加済みのゲストプレイヤにとっては、プレイ中であっても、他のプレイヤの途中参加によってより多くのプレイヤと共にゲームを進行させることができるという利点がある。
【0095】
また、ステップS71にてモニタ13に表示される途中参加ゲスト用ロビー画面50は、既に説明したホスト用ロビー画面30及びゲスト用ロビー画面40とは異なる構成になっている。即ち、図5(c)に示すように、途中参加ゲスト用ロビー画面50の参加者表示欄には、ゲスト用ロビー画面40の場合と同様に作成したプレイヤ情報として、ホストプレイヤを筆頭に各参加プレイヤのプレイヤ名51などが参加順に列挙される他、進行中のホストプレイヤ等のプレイ状況(即ち、ゲームの進行状況)を示す情報が表示される。このような情報としては、例えば、このエリア23をスタートした時点からの経過時間情報52が時計表示され、先頭を進むキャラクタのエリア23内での現在位置情報53がインジケータ表示される。これにより、途中参加するゲストプレイヤは、ロビーに入室した後、次のエリア23でのプレイに参加するまでのおよその時間を予測することができる。
【0096】
ここで、上記経過時間情報52について補足すると、ホストゲーム装置1Aは、ゲームの開始時(ステップS11のゲーム進行処理の開始時)からの経過時間をカウントし、途中参加プレイヤとのセッションが確立(途中参加のゲストゲーム装置1Bが入室)すると、セッションが確立している全てのゲストゲーム装置1Bに対して、入室時までの経過時間の情報を送信する。その後、途中参加のゲストゲーム装置1Bは、受信した情報が示す経過時間からカウントをし始め、その経過時間情報を途中参加ゲスト用ロビー画面50に表示させる。なお、ホストゲーム装置1Aから途中参加のゲストゲーム装置1Bへの経過時間情報の送信は、上記の入室時点だけであり、この送信処理が終了した後は経過時間情報を送信することはない。また、上記のように、ホストゲーム装置1Aは、初期参加のゲストゲーム装置1Bと途中参加のゲストゲーム装置1Bとを区別せず、セッションの確立している全てのゲストゲーム装置1Bに対して、途中参加のゲストゲーム装置1Bの入室時までの経過時間の情報を送信するが、これに基づいて経過時間情報52をモニタ13に表示させるのは、途中参加のゲストゲーム装置1Bのみとなっている。
【0097】
また、上記現在位置情報53についても補足すると、この現在位置情報53は、ステップS11のゲーム進行処理の実行中に、割り込み処理によって、セッションが確立している全てのゲストゲーム装置1Bへホストゲーム装置1Aから送信される。例えば、プレイ中のキャラクタのうち先頭を進むキャラクタが、仮想ゲーム空間中に設定された仮想ラインを超えるたびに割り込み処理が実行され、この仮想ラインが設けられた位置に関する情報が送信される。仮想ラインは、仮想ゲーム空間中においてスタート地点からの距離が互いに異なる位置に複数設けられており、先頭のキャラクタが超えた仮想ラインの位置により、このキャラクタがプレイ中のエリア23のどこまで進んでいるかが分かるようになっている。なお、仮想ラインの位置は、仮想ゲーム空間の座標系(ワールド座標系)によって特定される。また、この現在位置情報53についても、上記のように初期参加のゲストゲーム装置1Bと途中参加のゲストゲーム装置1Bとを区別せず、セッションの確立している全てのゲストゲーム装置1Bに対して送信するが、受信したこの現在位置情報53をモニタ13に表示させるのは、途中参加のゲストゲーム装置1Bのみとなっている。
【0098】
ところで、上記のような現在位置情報53の表示は、ホストプレイヤがプレイしているエリア23が、仮想ゲーム空間に設定されたゴール地点に到達してクリアとなるものや、ボスキャラクタを倒すことによってクリアになるものなどに適用される。一方、既に説明したように、エリア23としては上記のような場合にクリアと判定されるものの他に、仮想ゲーム空間に設定された複数のギミックを全て起動させることによってクリアとなるものも存在する。そして、このようなエリア23の場合には、現在位置情報53を表示するのに代えて、当該エリア23に設定されたギミックの総数と起動済みのギミック数とを表示させるようにする。この起動済みのギミック数に関する情報は、ステップS11のゲーム進行処理の実行中に、割り込み処理によって、セッションが確立している全てのゲストゲーム装置1Bへホストゲーム装置1Aから送信される。例えば、プレイ中のキャラクタのうち何れかのキャラクタが、仮想ゲーム空間中に設定されたギミックを起動させるたびに割り込み処理が実行され、ホストゲーム装置1Aは起動済みのギミック数に関する情報を更新し、更新した情報を各ゲストゲーム装置1Bへ送信する。
【0099】
本実施形態では、ロビー画面40に経過時間情報52及び現在位置情報53の両方を表示しているが、いずれか一方であってもよい。あるいは、ゲームの進行状況を表示しなくてもよい。
【0100】
なお、ゲームの進行中でも、エリア23をクリア等してリザルト画面の表示中であるなどのホストゲーム装置1Aがゲーム進行処理(ステップS11)を実行していない場合においては、例えば、当該エリア23のクリアとなった情報や、リザルト画面表示中あるいはゲームオーバー処理中であることを示す情報をゲーム進行状況として、ホストゲーム装置1Aからセッションを確立している全てのゲストゲーム装置1Bに送信するようにすればよい。そして、途中参加プレイヤのゲストゲーム装置1Bは、受信した上記情報を途中参加ゲスト用ロビー画面50(モニタ13)に表示させればよい。
【0101】
本実施形態では、ホストゲーム装置1Aが経過時間情報などのプレイ状況を送信しているが、参加しているゲストゲーム装置1B(途中参加のゲストゲーム装置1Bを除く)が送信するようにしてもよい。
【0102】
なお、途中参加ゲスト用ロビー画面50にも、初期参加ゲスト用ロビー画面40と同様の「カスタム」アイコン54及び「退室」アイコン55が設けられている。従って、途中参加待機状態のときに「カスタム」アイコン54を選択することにより(ステップS42:YES)、この待機状態の期間を利用して、後に参加予定のエリア23に適した武器を装備させるなど自身のゲストキャラクタをカスタマイズすることができる(ステップS43)。また、経過時間情報52、現在位置情報53又は起動済みギミック数に関する情報などから、参加タイミングが相当遅れると予想するなど、何らかの理由により当該ロビーから退室したい場合には、「退室」アイコン55を選択することによって(ステップS44)、当該ロビーから退室(即ち、マッチから離脱)でき、その場合にはセッションの終了処理が実行され(ステップS45)、マッチングリスト情報の表示(図6のステップS36)以降の動作が再実行される。
【0103】
途中参加待機状態において、ホストプレイヤ等のプレイが一旦終了し、続けて次のエリア23でのプレイが続行される状態になると(図4のステップS20:YES)、ホストゲーム装置1Aからゲーム開始を示す情報(同期信号)が、既にセッションが確立している途中参加待機状態のゲストゲーム装置1Bに対しても送信される(図4のステップS8参照)。これにより、途中参加のゲストゲーム装置1Bはマッチに参加できる状態、即ち、ゲームを開始できる状態になったと判断し(ステップS46:YES)、オブジェクト条件を決定(ステップS47)した後、これからプレイするエリア23の仮想ゲーム空間を構築するためのデータ及びゲームプログラムをローディングする(ステップS48)。そして、ホストキャラクタ及びゲストキャラクタの共同によって、所定のエリア23からゲームを進行する処理を行うべく(ステップS49)、当該エリア23に途中参加キャラクタを登場させる。
【0104】
また、この途中参加のゲストゲーム装置1Bが実行するゲーム進行処理(ステップS49)は、既に参加しているホストゲーム装置1Aでのゲーム進行処理(ステップS11)、及び、(存在する場合には)既に参加しているゲストゲーム装置1Bでのゲーム進行処理(ステップS49)と同期がとられており、ゲーム進行中においても、ホストゲーム装置1A及び他のゲストゲーム装置1Bとの間で適宜データの送受信を行って、各ゲーム装置1A,1Bが同期するようになっている。そして、既にゲームを進行させていたホストゲーム装置1A及びゲストゲーム装置1Bにおいても、それぞれのローディング処理(ステップS10,S48)後のゲーム進行処理(ステップS11,S49)にて、途中参加キャラクタを、各モニタ13に表示する当該エリア23の仮想ゲーム空間に登場させることとなる(図4及び図7参照)。
【0105】
このように、途中参加するゲストゲーム装置1Bは、ホストゲーム装置1Aからのゲーム開始を示す情報(同期信号)に基づき、エリア23とエリア23との間のローディング(ステップS10,S48)が実行されるタイミングで、自身も同一データをローディング(ステップS48)してプレイに参加するため、ゲームの進行(例えば、既にゲームを進行させているプレイヤのプレイ)を妨害することがない。なお、途中参加のゲストゲーム装置1BがステップS49以降に実行する動作は、途中参加ではない初期参加のゲストゲーム装置1Bが実行するステップS52〜S64(図7参照)の動作と同じであるため、これらの動作についての説明は省略する。
【0106】
また、上述したような途中参加のゲストゲーム装置1Bが存在する場合のホストゲーム装置1Aの動作は、既に参加しているゲストゲーム装置1Bの存否、および既に参加しているゲストゲーム装置1Bの数にかかわらず実行される。例えば、ホストプレイヤ(ホストゲーム装置1A)だけでゲームを進行させている場合であっても途中参加を受け付けるし、また、ホストゲーム装置1A及び複数のゲストゲーム装置1Bでゲームを進行させている場合であっても途中参加を受け付ける。
【0107】
更に複数の途中参加のゲストゲーム装置1Bがロビーで待機している場合であっても、ホストゲーム装置1A、初期参加のゲストゲーム装置1B、及び途中参加のゲストゲーム装置1Bは、上述したのと同じ動作を実行する。つまり、複数の途中参加のゲストゲーム装置1Bがロビーで待機している場合、これら途中参加ゲストゲーム装置1Bのそれぞれの途中参加キャラクタは、次のローディング処理(ステップS10、S48)終了後のエリア23のゲーム空間から登場する。
【0108】
[新たな参加があるときのデータ共有に関する処理]
ゲームを開始する前にゲストゲーム装置1Bが参加(初期参加)する場合や、ゲームが開始された後にゲストゲーム装置1Bが参加(途中参加)する場合、これらのゲストゲーム装置1Bと、既にロビーに入室している(既に参加している)ホストゲーム装置1A及びゲストゲーム装置1Bとの間で、互いのプレイヤ情報やゲーム情報が共有化される。各ゲーム装置1が共有することとなる情報は、他のプレイヤが使用するキャラクタを自身のゲーム装置1にて生成したり、自身のゲーム画面中に他のプレイヤ名を表示するなど、ゲームの進行中に使用する他、ロビー画面30,40,50の作成にも利用される。このような情報を予め互いに送受信しておくことで、ステップS10及びステップS48でのローディング処理の後、各ゲーム装置1は互いに同期してゲームを進行することができる。以下では、このような共有する情報の送受信に関する動作について説明する。
【0109】
図8は、新たに参加するゲストゲーム装置1Bがホストゲーム装置1A及び既に参加しているゲストゲーム装置1Bとの間でセッションを確立したときに、入室済みのゲーム装置1A,1Bにて実行される、データ共有のための割り込み処理と、新たに参加するゲストゲーム装置1Bにて実行されるデータ共有のための処理を示すフローチャートであり、(a)はホストゲーム装置1Aでの割り込み処理、(b)は既に参加しているゲストゲーム装置1Bでの割り込み処理、(c)は新たに参加するゲストゲーム装置1Bでの割り込み処理を示している。
【0110】
まず、図8(a)を参照して、ホストゲーム装置1Aでの割り込み処理について説明する。図8(a)に示すように、途中参加のゲストゲーム装置1Bも含む新たに参加するゲストゲーム装置1Bとホストゲーム装置1Aとの間でセッションが確立されると(図6のステップS39:YES)、このセッション確立をトリガとして、ホストゲーム装置1Aではこの割り込み処理が実行される。そして、該ホストゲーム装置1Aは、新たに参加するゲストゲーム装置1Bの接続情報(IPアドレスなど)を、既に参加している他のゲストゲーム装置1Bへ送信する(ステップS110)。一方、既に参加しているゲストゲーム装置1Bの接続情報(IPアドレスなど)についても、新たに参加するゲストゲーム装置1Bへ送信する(ステップS111)。そして、受信した接続情報に基づいて、新たに参加するゲストゲーム装置1Bと、既に参加しているゲストゲーム装置1Bとの間で、セッションが確立される。
【0111】
次に、新たに参加するゲストゲーム装置1Bに対して自身(ホストプレイヤ)のプレイヤ情報及びゲーム情報を送信する(ステップS112)。一方、新たに参加するゲストゲーム装置1Bからは、当該ゲストゲーム装置1Bを操作するゲストプレイヤのプレイヤ情報が送信され(図8(c)ステップS130)、ホストゲーム装置1Aはこれを受信する(ステップS113)。そして、サーバ装置21に対して、新たに参加するプレイヤを含む参加人数(即ち、参加するゲーム装置1の総数)について更新情報を送信する(ステップS114)。
【0112】
なお、上記の通り、ステップS112ではホストゲーム装置1Bから新たに参加するゲストゲーム装置1Bへ、ホストプレイヤに関するプレイヤ情報とゲーム情報とが送信されるが、このうちプレイヤ情報には、プレイヤ名、プレイヤID、プレイヤの国籍、使用するキャラクタ情報(例えば、種族、カスタマイズしたコスチュームに関する情報)などが含まれ、ゲーム情報には、プレイ状況(ロビー中であるかプレイ中であるか)を示す情報、プレイするエピソードとチャプターとエリアの番号、参加人数(参加ゲーム装置数)を示す情報、難易度、フレンドリーファイア設定に関する情報などが含まれる。また、ステップS113では新たに参加するゲストゲーム装置1Bからゲストプレイヤに関するプレイヤ情報を受信するが、これには、プレイヤ名、プレイヤID、プレイヤの国籍、使用するキャラクタ情報(例えば、種族、カスタマイズしたコスチュームに関する情報)などが含まれる。
【0113】
このようなホストゲーム装置1AでのステップS110〜S114に示す割り込み処理は、図4に示すステップS3〜S21の動作途中に、新たなゲストゲーム装置1Bとのセッション確立(ステップS39)後の適宜タイミングで割り込んで実行される。
【0114】
なお、サーバ装置21は、上述した更新情報に基づいて当該マッチのセッション情報を更新すると共に、当該マッチが最大定員に達したか否かを判断し、最大定員に達したと判断した場合には、マッチング検索(図6のステップS34参照)の対象から当該マッチを除外する。
【0115】
次に、図8(b)を参照して、既に参加しているゲストゲーム装置1Bでの割り込み処理について説明する。なお、ここで言う既に参加しているゲストゲーム装置1Bとしては、最初のゲーム開始時前から参加(初期参加)しているゲストゲーム装置1Bの他、今回新たに参加するゲストゲーム装置1Bが途中参加である場合には、それより先に途中参加しているゲストゲーム装置1Bも含む。
【0116】
既に参加しているゲストゲーム装置1Bと新たに参加するゲストゲーム装置1Bとの間でセッションが確立されると、図8(b)に示すように既に参加しているゲストゲーム装置1Bではこの割り込み処理が実行される。そして、該ゲストゲーム装置1Bは、新たに参加するゲストゲーム装置1Bに対して自身のプレイヤ情報を送信する(ステップS120)。一方、新たに参加するゲストゲーム装置1Bからは、当該新たに参加するゲストプレイヤに関するプレイヤ情報が送信され(図8(c)のステップS130)、既に参加しているゲストゲーム装置1Bはこれを受信する(ステップS121)。
【0117】
ここで、ステップS120の処理で送信されるプレイヤ情報には、既に参加しているゲストゲーム装置1Bに係るプレイヤ名、プレイヤID、プレイヤの国籍、使用するキャラクタ情報(例えば、種族、カスタマイズしたコスチュームに関する情報)などが含まれる。また、ステップS121にて新たに参加するゲストゲーム装置1Bから受信するプレイヤ情報は、図8(a)のステップS113にて説明したものと同じである。
【0118】
このようなゲストゲーム装置1BでのステップS120,S121に示す割り込み処理は、図6のステップS39から図7のステップS61の動作途中に割り込んで実行される。
【0119】
次に、図8(c)を参照して、新たに参加するゲストゲーム装置1Bでの割り込み処理について説明する。新たに参加するゲストゲーム装置1Bとホストゲーム装置1Aとの間でセッションが確立され(図6のステップS39:YES)、また新たに参加するゲストゲーム装置1Bと既に参加しているゲストゲーム装置1Bとの間でセッションが確立されると、図8(c)に示すように新たに参加するゲストゲーム装置1Bから既に参加している全てのゲーム装置1(ホストゲーム装置1A、及び既に参加しているゲストゲーム装置1B)に対して、自身のプレイヤ情報が送信される(ステップS130)。一方、ホストゲーム装置1Aからはプレイヤ情報及びゲーム情報を受信し、既に参加しているゲストゲーム装置1Bからもプレイヤ情報を受信する(ステップS131)。
【0120】
また、ステップS130で送信されるプレイヤ情報は、図8(a)のステップS113及び図8(b)のステップS121にて説明したものと同じであり、ステップS131でホストゲーム装置1Aから受信するプレイヤ情報及びゲーム情報は、図8(a)のステップS112で送信される情報と同じであり、ステップS131で既に参加しているゲストゲーム装置1Bから受信するプレイヤ情報は、図8(b)のステップS120で送信される情報と同じである。
【0121】
このように、ホストゲーム装置1A及び既に参加しているゲストゲーム装置1Bにおいては、各キャラクタの情報を、セッションが確立されてからローディング後に次のエリア23のプレイが始まるまでの期間中に割り込み処理によってゲーム装置1間で送受信するため、キャラクタ情報のデータ量が大きい場合であっても、確実に送受信することができる。
【0122】
なお、セッションを確立した後に各ゲーム装置1が送受信するべきプレイヤ情報などは、遅くとも仮想ゲーム空間に各キャラクタを登場させるまでに行えばよい。
【0123】
上述の説明では、ローディング後のエリア23の開始時に、このエリア23の仮想ゲーム空間に途中参加キャラクタを登場させているが、エリア23に限定されるものではない。例えばエピソード開始時であってもよい。あるいは、エピソード21、エリア23等には関係なく、ローディングを終えた後の仮想ゲーム空間の生成開始時であってもよい。例えば、1つのエリア23のゲームの実行途中(スタートからクリアまでの間)にローディングするタイミングが設定されている場合、そのローディング後の仮想ゲーム空間に途中参加キャラクタを登場させるようにしてもよい。
【0124】
また、上述した説明では、途中参加キャラクタを仮想ゲーム空間に登場させるタイミングを、エリア23とエリア23との間のローディングを終えた後としたが、これに限られず、進行中のゲームにおけるキャラクタの行動に影響を与えないタイミングで途中参加キャラクタを登場させればよい。
【0125】
例えば、エリア23のゲーム進行途中にて、モニタ13への仮想ゲーム空間の表示に代えて記録媒体4aに記録されている動画(演出)の再生や、モニタ13への仮想ゲーム空間の表示ではあるがプレイヤのコントローラ18への操作入力を無効にして仮想ゲーム空間内のキャラクタ等のオブジェクトを強制的にアクションさせて演出を再生(実現)する(リアルタイムデモ)といった所定のイベントが発生するようにゲームプログラム10が構成されている場合がある。この場合、例えば、ホストゲーム装置1Aが、前述したようなイベント開始時に、参加している全ゲストゲーム装置1B(途中参加のゲストゲーム装置1Bを含む)に対して所定の同期信号を送信する。この同期信号は、前述のイベント終了後に途中参加プレイヤの操作するキャラクタを仮想ゲーム空間に登場させて、途中参加のゲストゲーム装置1Bとも同期してゲームを進行させるための信号である。そして、この同期信号を送信したホストゲーム装置1A及び受信したゲストゲーム装置1Bは、このイベント発生中に、途中参加プレイヤが操作するキャラクタなどのデータをローディングし、イベント終了後の当該仮想ゲーム空間に途中参加キャラクタを登場させるようにすればよい。
【0126】
また、本実施の形態では、複数のプレイヤが協力して進行させる協力プレイのゲームを例示したが、これに限られず、対戦型のゲームに本発明を適用することもできる。また、据置型のゲーム装置1について説明したが、携帯型ゲーム機や、パーソナルコンピュータなどのコンピュータにも適用することができるし、仮想ゲーム空間は、例示した三次元空間に限られず二次元空間であってもよい。また、本実施の形態に係る各ロビー画面30,40,50では、キャラクタを表示しないようにしているが、各キャラクタを各ロビー画面に表示させることによって、各キャラクタをロビー内に入室させるようにしてもよい。
【0127】
また、ゲームプログラム10及び必要なデータのRAM8へのローディングは、既に説明したように記録媒体4aからのローディングに限られず、プレイヤの操作によって記録媒体4aからHDD6に全データが転送されている場合には該HDD6からのローディングであってもよいし、その他にも、カートリッジのROMからのローディングや、ゲームサーバ装置からインターネットを介してのローディングにより実現してもよい。また、ゲームサーバ装置からインターネットを介してHDD6へダウンロードしたものを、該HDD6からRAM8へローディングするようにしてもよい。
【0128】
さらに、本実施の形態では、次のエリア23の仮想ゲーム空間を生成するためのプログラムなどがローディング終了のタイミングで仮想ゲーム空間に途中参加キャラクタを登場させているが、特にこれに限定されるものではなく、他の何らかのデータなどのローディング終了のタイミングで登場させてもよい。
【0129】
また、本実施の形態では、マッチングのためにサーバ装置21を用いているが、LANなどの閉じられた領域内で複数のゲーム装置1がゲームをプレイする場合には、マッチングのためのサーバ装置21はなくてもよい。このようにLAN接続されているゲーム装置1同士でゲームをプレイする場合について付言すると、ゲストゲーム装置1Bは、新たに参加しようとする場合に、LAN内の全てのゲーム装置1に対し、セッションを作成している場合にプレイヤ情報やゲーム情報を返信してくれるようにデータ送信を行う。一方、ホストゲーム装置1Aや既に参加しているゲストゲーム装置1Bは、上記データを受信すると、これに応じてプレイヤ情報やゲーム情報を新たに参加するゲーム装置1Bへ送信する。そして、これらの情報を受信したゲストゲーム装置1Bは、この情報に基づいて既に説明したのと同様のマッチングリストを作成し、自身に接続されたモニタ13にその内容を含む画面を表示させる。以降のゲストゲーム装置1Bの動作は、図6のステップS37以降の動作と同様にすればよい。
【0130】
また、本実施の形態において、ゲストゲーム装置1Bは、自身が途中参加であると判断した場合(図6のステップS40:YES)に途中参加ゲスト用ロビー画面50(図5(c)参照)をモニタ13に表示する(図7のステップS71)こととしているが、この途中参加ゲスト用ロビー画面50は、途中参加のゲストゲーム装置1Bがエリア23にてゲーム進行を開始(図7のステップS49)するまでの待機している間、常に表示し続ける必要はない。例えば、途中参加ゲスト用ロビー画面50に代えて、現在位置情報53(図5(c)参照)のような進行中のゲームの進行状況のみを、途中参加のゲストゲーム装置1Bのモニタ13に表示したり、「エリア23をプレイ中であるから待っていてください。」といった文字列のみをモニタ13に表示したり、あるいは、何も表示しないようにしてもよい。
【0131】
また、図4に示すように、本実施の形態ではホストプレイヤ以外にゲストプレイヤがいる場合に、ホストゲーム装置1Aが「ゲーム開始を示す情報」をゲストゲーム装置1Bへ送信(ステップS8)することとしているが、これに代えて、参加している何れかのゲストゲーム装置1Bが、ホストゲーム装置1A及び他のゲストゲーム装置1Bへこの情報を送信するようにしてもよい。また、参加している何れかのゲストゲーム装置1Bが、「ゲーム開始を示す情報」を一旦ホストゲーム装置1Aへ送信し、これを受信したホストゲーム装置1Aが他のゲストゲーム装置1Bへこの情報を送信するようにしてもよい。
【0132】
また、本実施の形態にて説明したような途中参加プレイヤによる途中参加の態様は、進行中のゲームのプレイヤ数を制限するものではない。即ち、ホストプレイヤのみがゲームを進行している場合であっても、ホストプレイヤ及び他のゲストプレイヤ(初期参加プレイヤ)が夫々のキャラクタを同一の仮想ゲーム空間にて行動させて同期してゲームを進行している場合であっても、これらの進行中のゲームに途中参加する場合には、既に説明したのと同様の処理によって途中参加が実現される。
【産業上の利用可能性】
【0133】
本発明は、ゲームに参加できる機会を増やして多人数参加型ゲームの醍醐味を味わうことを可能としつつ、途中参加に際して各コンピュータの同期を容易にとることのできるゲームプログラム、該ゲームプログラムを記録した記録媒体、ゲーム装置、及びゲームシステムに適用することができる。
【符号の説明】
【0134】
1 ゲーム装置(コンピュータ)
4a ディスク型記録媒体(記録媒体)
10 ゲームプログラム
30 ホスト用ロビー画面
40 初期参加ゲスト用ロビー画面
50 途中参加ゲスト用ロビー画面
52 経過時間情報
53 現在位置情報
61 制御部
62 ゲーム制御部
63 参加受付部
64 参加要求部
100 ゲームシステム

【特許請求の範囲】
【請求項1】
コンピュータを、
複数のプレイヤが参加可能なゲームの仮想ゲーム空間を生成すると共に、少なくとも、該コンピュータを操作するプレイヤに対応するキャラクタを、該プレイヤによる前記コンピュータの操作入力に応じて前記仮想ゲーム空間にて行動させ、前記ゲームを進行させるゲーム制御手段、
前記ゲームに参加する他のプレイヤにより操作される他のコンピュータとの間で、前記ゲームを同期して進行させるべくデータの送受信を行う通信手段、及び
他のコンピュータを操作する他のプレイヤの前記ゲームへの参加を受け付ける参加受付手段
として機能させ、
前記ゲーム制御手段は、
前記ゲームを進行させている間に、他のコンピュータを操作する他のプレイヤ(以下、「途中参加プレイヤ」という)の前記ゲームへの参加が前記参加受付手段により受け付けられると、該ゲームの進行に影響を与えないタイミングで、前記途中参加プレイヤに対応するキャラクタを前記仮想ゲーム空間へ登場させ、更に、前記途中参加プレイヤが操作する前記他のコンピュータと同期して前記ゲームを進行させる、ゲームプログラム。
【請求項2】
コンピュータを、
複数のプレイヤが参加可能なゲームの仮想ゲーム空間を生成すると共に、少なくとも、該コンピュータを操作するプレイヤに対応するキャラクタを、該プレイヤによる前記コンピュータの操作入力に応じて前記仮想ゲーム空間にて行動させ、前記ゲームを進行させるゲーム制御手段、
前記ゲームに参加する他のプレイヤにより操作される他のコンピュータとの間で、前記ゲームを同期して進行させるべくデータの送受信を行う通信手段、及び
前記ゲームへの参加を受け付けている他のコンピュータに対し、前記プレイヤの操作に応じて前記ゲームへの参加要求を行う参加要求手段
として機能させ、
前記ゲーム制御手段は、
他のコンピュータにおいて進行中の前記ゲームへの、前記参加要求手段による前記プレイヤ(以下、「途中参加プレイヤ」という)の参加が受け付けられると、該ゲームの進行に影響を与えないタイミングで、進行中の前記ゲームの前記仮想ゲーム空間の生成を開始すると共に、前記途中参加プレイヤに対応するキャラクタと前記他のコンピュータに対応する他のキャラクタとを前記仮想ゲーム空間にて行動させ、更に、前記他のコンピュータと同期して前記ゲームを進行させる、ゲームプログラム。
【請求項3】
前記ゲーム制御手段は、進行中の前記ゲームへの前記参加要求手段による前記途中参加プレイヤの参加が受け付けられてから、前記ゲームを進行中の他のコンピュータと同期して該ゲームの進行を開始させるまでの間に、前記途中参加プレイヤ用として前記コンピュータに接続されたモニタに待機用画面を表示させる、請求項2に記載のゲームプログラム。
【請求項4】
前記待機用画面は、前記ゲームを進行中の他のコンピュータから受信した該ゲームの進行状況に関する情報を含む、請求項3に記載のゲームプログラム。
【請求項5】
前記コンピュータを更に、
記憶部に記憶されていて前記ゲーム制御手段により処理されるプログラム及びデータのうち、少なくとも一方の少なくとも一部を、前記ゲームの進行に応じてローディングするローディング手段として機能させ、
前記ゲームの進行に影響を与えないタイミングは、前記ローディングが終了するタイミングである、請求項1乃至4の何れかに記載のゲームプログラム。
【請求項6】
前記コンピュータを更に、
前記ゲーム制御手段が前記仮想ゲーム空間を生成するに際して、前記ゲームに参加しているプレイヤに対応する前記キャラクタの数に基づき、前記仮想ゲーム空間を構築するオブジェクトの条件を決定するオブジェクト条件決定手段として機能させる、請求項1乃至5の何れかに記載のゲームプログラム。
【請求項7】
請求項1乃至6に記載のゲームプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項8】
請求項1乃至7の何れかに記載のゲームプログラムを読み込んで実行するゲーム装置。

【図1】
image rotate

【図2】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図3】
image rotate