ネットワークゲームシステム、クライアント装置及びプログラム
【課題】オンラインゲーム全体の進行を管理するサーバ装置に負荷をかけることなく、通常状態ではプレイヤキャラクタの通過を阻止する通過阻止オブジェクトを自然な態様で表示できる。
【解決手段】フィールド400を移動するプレイヤキャラクタ421の位置の管理はサーバ装置200で行い、その位置は他キャラクタ情報としてオンラインゲームに参加する全てのプレイヤが操作するビデオゲーム装置100に1.0秒毎に送信される。ビデオゲーム装置100では、受信した最新の2つの他キャラクタ情報から、不足するタイミングにつき他プレイヤキャラクタ421の位置を補間し、30分の1秒毎に表示画面122に表示する他プレイヤキャラクタ421の表示画像が生成する。また、その位置がエリア402間を移動する場合であれば、そこに通じる扉を開いて移動する画像をビデオゲーム装置100において生成する。
【解決手段】フィールド400を移動するプレイヤキャラクタ421の位置の管理はサーバ装置200で行い、その位置は他キャラクタ情報としてオンラインゲームに参加する全てのプレイヤが操作するビデオゲーム装置100に1.0秒毎に送信される。ビデオゲーム装置100では、受信した最新の2つの他キャラクタ情報から、不足するタイミングにつき他プレイヤキャラクタ421の位置を補間し、30分の1秒毎に表示画面122に表示する他プレイヤキャラクタ421の表示画像が生成する。また、その位置がエリア402間を移動する場合であれば、そこに通じる扉を開いて移動する画像をビデオゲーム装置100において生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のプレイヤが参加してゲームが進行するオンラインゲームに関し、特に、通常状態ではプレイヤキャラクタの通過を阻止する通過阻止オブジェクトがフィールド上に設定されたゲームに関するものである。
【背景技術】
【0002】
ロールプレイングゲーム(RPG)においては、一般に、プレイヤが仮想世界のプレイヤキャラクタに成り代わって、プレイヤキャラクタを仮想空間としてのフィールド上で移動させながら、課題を解決してゆくことでゲームが進行して行く。
【0003】
そして、このフィールドには、広大な平地のフィールドや、それよりも狭い屋内のフィールドなどが用いられるものである。特に、屋内の場合には、プレイヤキャラクタは、屋内・屋外を往来することができるようになっており、その出入口には扉が設定されている場合がある。また、屋内が複数の部屋に仕切られている場合には、各部屋の間に扉が設定されている場合がある。
【0004】
このような扉を通ってプレイヤキャラクタが建物の内外を出入りしたり、異なる部屋に出入りしたりするものとしたゲームにおいて、プレイヤが所定の操作をしてプレイヤキャラクタにその扉を開く動作を行わせることで、プレイヤの操作するビデオゲーム装置の表示画面において、その扉を開く様子を自然に表示させ、異なる部屋の間を往来させるものがある(例えば、特許文献1)。
【0005】
一方、近年のネットワーク技術の進歩に伴い、複数のプレイヤが参加してゲームが進行するオンラインゲーム(ネットワークゲーム)が盛んに行われるようになってきている。オンラインRPGでは、複数のプレイヤが操作するプレイヤキャラクタの位置等を管理し、ゲームの進行を集中的にサーバ装置で行い、その結果をビデオゲーム装置に送信するものとなっている。また、このようなオンラインRPGでも、クライアント装置に対する表示に係る情報の送信頻度を少なくし、クライアント装置で表示画面を補間して表示させることにより、サーバ装置で複数のプレイヤが操作するプレイヤキャラクタの位置等を集中的に管理しながらもより多くのプレイヤの参加を可能としたMMORPG(Massively Multiplayer Online RPG)が行われるようになってきている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−195826号公報(段落0108等)
【発明の概要】
【発明が解決しようとする課題】
【0007】
扉を開かないままプレイヤキャラクタを通過させてしまうと不自然な画像になってしまうが、複数のプレイヤが参加するオンラインゲームにおいては、各ビデオゲーム装置では、他のプレイヤのプレイヤキャラクタがどの様にフィールド上を移動するかは分からない。他のプレイヤのプレイヤキャラクタが扉の手前まで移動したからと言って、そのまま扉を通過するとは限らない。従って、他のプレイヤに対応するプレイヤキャラクタによって上記扉の開閉が行われる様子を各ビデオゲーム装置において自然に表示させるためには、フィールド上に設置された扉の開閉もサーバ装置で集中的に管理する必要がある。
【0008】
そのため、オンラインゲームにおいて、複数のプレイヤキャラクタを参加させ、上記のような扉の開閉をサーバ装置によって集中的に管理すると、プレイヤキャラクタの数が増えれば増えるほど扉の開閉動作が頻繁に行われるようになり、サーバ装置の処理負荷を増大させるものとなってしまう。このように処理負荷が増大することとによって、ビデオゲーム装置に送信するゲームの進行に応じた情報の送信に遅延が生じる可能性が増加し、それによって、ビデオゲーム装置の表示画面に扉が開く様子を自然に表示できなくなる虞もある。
【0009】
一方、処理負荷の増大を見込んで参加可能なプレイヤキャラクタの数を制限すると、ゲームの面白みを半減させてしまう。上記のように多くのプレイヤの参加を可能としたMMORPGの場合でも、扉の開閉をサーバ装置において集中的に管理するという手法を踏襲していたため、その管理のための処理負荷の増大が同様に起こるものとなり、その分だけ参加可能なプレイヤキャラクタの数を制限しなくてはならなかった。
【0010】
本発明は、オンラインゲーム全体の進行を管理するサーバ装置に負荷をかけることなく、通常状態ではプレイヤキャラクタの通過を阻止する通過阻止オブジェクトを自然な態様で表示できるオンラインゲームシステム等を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の第1の観点にかかるオンラインゲームシステムは、サーバ装置と、該サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有する複数のクライアント装置とを備え、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを提供するオンラインゲームシステムであって、前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、前記複数のクライアント装置の各々は、前記通過阻止オブジェクトを含む前記フィールドと、該フィールドに存在するキャラクタのグラフィックデータを予め格納したグラフィックデータ格納手段と、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置に表示される表示画面を1つだけ生成する時間間隔よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段と、前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段と、前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段とを備え、前記サーバ装置は、前記複数のクライアント装置の各々に前記位置情報を送信する位置情報送信手段を備え、前記表示制御手段は、前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、前記通過判定手段により前記特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成することを特徴とする。
【0012】
例えば、前記通過阻止オブジェクトは、扉や門とすることができる。この場合には、扉や門が閉じた状態を通常状態、扉や門が開いた状態を特別状態とすることができる。或いは、前記通過阻止オブジェクトは、高低差のあるフィールドをキャラクタが移動する場合に用いる伸縮自在な梯子とすることもできる。この場合には、梯子が縮んだ状態を通常状態、梯子が伸びた状態を特別状態とすることができる。
【0013】
上記オンラインゲームシステムでは、クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定キャラクタのフィールドにおける位置を示す位置情報が、当該クライアント装置において表示装置に表示される表示画面を1つだけ生成する時間間隔よりも長い所定の長期時間間隔で、サーバ装置からクライアント装置に送信される。クライアント装置では、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成して、ゲームの動画像を表示装置に表示させるものとなっている。
【0014】
ところで、各クライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタが移動するフィールドには、通過阻止オブジェクトが設定されている。この通過阻止オブジェクトは、通常状態ではキャラクタの通過を阻むものとなっており、キャラクタがこれを通過するためには、特別状態に変化させなければならない。しかし、クライアント装置には通過阻止オブジェクトのグラフィックデータが格納されているものの、サーバ装置では、この追加阻止オブジェクトが通常状態にあるか特別状態にあるかの管理を行っていない。
【0015】
もっとも、クライアント装置では、今回受信した位置情報で示される特定のキャラクタのフィールド上の位置と、これよりも前に受信した位置情報で示される特定キャラクタのフィールド上の位置とを比較し、通過阻止オブジェクトを通過する位置への移動があったかどうかを判定している。そして、通過阻止オブジェクトを通過する位置への移動があった場合には、順次生成する補間画面(特定のキャラクタの位置が少しずつ変わる)において、特定のキャラクタが通過できる期間以上の期間で通過阻止オブジェクトを特別状態に変化させるものとしている。
【0016】
これにより、サーバ装置で通過阻止オブジェクトが通常状態にあるか特別状態にあるかの管理を行っていなくても、特定のキャラクタが本来通過できないはずの通常状態にある通過阻止オブジェクトをすり抜けてフィールド上を移動してしまうというようなことを防ぐことができる。また、サーバ装置で通過阻止オブジェクトの状態に関する管理を行わなくてもよいので、サーバ装置において必要な記憶容量と処理負荷とを少なくすることができるものとなる。
【0017】
上記オンラインゲームシステムにおいて、前記表示制御手段は、前記通過判定手段により前記特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動していないと判定された場合において、該通過阻止オブジェクトが前記特別状態に変化させられていた場合には、該通過阻止オブジェクトを前記通常状態に変化させた表示画面を生成するものとすることができる。
【0018】
この場合、特定のキャラクタが過去に通過したことがあって特別状態に変化させられていても、新たに受信した位置情報に基づいては特定のキャラクタが通過することのない通過阻止オブジェクトは、自動的に通常状態に変化させられることとなる。これにより、例えば、前記通過阻止オブジェクトを扉や門とした場合に、これらが自動的に開閉する様子を示す画面を生成することが可能となる。
【0019】
上記オンラインゲームシステムにおいて、前記複数のクライアント装置の各々は、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタを前記フィールド上で移動させるための指令を入力する移動指令入力手段と、前記移動指令入力手段から入力された指令に応じた前記プレイヤキャラクタの移動情報を前記サーバ装置に送信する移動情報送信手段とをさらに備え、前記サーバ装置は、前記複数のクライアント装置の各々の前記移動情報送信手段から送信された移動情報を受信する移動情報受信手段と、前記移動情報受信手段が受信した移動情報に基づいて、前記複数のクライアント装置のプレイヤの各々が操作する複数のプレイヤキャラクタの位置をそれぞれ管理するプレイヤキャラクタ位置管理手段とをさらに備え、前記特定のキャラクタは、他のクライアント装置のプレイヤにより操作されるプレイヤキャラクタであり、前記位置情報送信手段は、前記プレイヤキャラクタ位置管理手段を参照して前記位置情報を生成し、前記複数のクライアント装置の各々に送信するものとすることができる。
【0020】
この場合、複数のクライアント装置の各々は、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタをプレイヤによって入力された指令によりフィールド上で移動させるが、その入力された指令に応じた移動情報をサーバ装置に送信するものとしている。サーバ装置は、各々のクライアント装置から送信された移動情報を受信し、これに基づいて複数のクライアント装置のプレイヤの各々が操作する複数のプレイヤキャラクタの位置をそれぞれ管理するものとしている。これにより、サーバ装置の制御によりフィールド上を移動させられるノンプレイヤキャラクタだけではなく、他のクライアント装置のプレイヤによる操作でフィールド上を移動させられるプレイヤキャラクタについても特定のキャラクタとして適用することができる。
【0021】
なお、各クライアント装置からサーバ装置に送信される移動情報は、移動指令入力手段から入力された指令の内容としても、該入力された指令に基づくプレイヤキャラクタの移動先の位置としてもよい。また、移動情報の送信時間間隔は、サーバ装置からクライアント装置に位置情報が送信される長期時間間隔よりも短い時間間隔としてもよいが、長期時間間隔と同じ時間間隔であっても構わない。
【0022】
上記オンラインゲームシステムにおいて、前記通過阻止オブジェクトは、ゲームの進行状況に応じて前記通常状態から前記特別状態に変化することができない完全阻止状態と前記通常状態から前記特別状態に変化することができる不完全阻止状態との何れかに設定される特別通過阻止オブジェクトと、ゲームの進行状況に関わらずに前記通常状態から前記特別状態に変化することができる通常通過阻止オブジェクトとを含み、前記サーバ装置は、前記特別通過阻止オブジェクトが前記完全阻止状態と前記不完全阻止状態の何れにあるかを管理する特別通過阻止オブジェクト管理手段と、前記位置情報送信手段による前記位置情報の送信とともに、前記特別通過阻止オブジェクトが前記完全阻止状態と前記不完全阻止状態の何れにあるかを示す特別通過阻止オブジェクト情報を送信する特別通過阻止オブジェクト情報送信手段とをさらに備え、前記複数のクライアント装置の各々は、前記特別通過阻止オブジェクト情報送信手段から送信された特別通過阻止オブジェクト情報を受信する特別通過阻止オブジェクト情報受信手段をさらに備え、前記表示制御手段は、前記特別通過阻止オブジェクトについては前記特別通過阻止オブジェクト情報が前記不完全阻止状態にあることを示すことを条件として、前記通過判定手段により前記特定のキャラクタが前記特別通過阻止オブジェクトを通過した位置に移動したと判定された場合に、前記特別通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成するものとすることができる。
【0023】
ここで、前記通過阻止オブジェクトを扉や門とした場合には、扉や門が施錠された状態を完全阻止状態、扉や門が解錠された状態を不完全阻止状態とすることができる。或いは、前記通過阻止オブジェクトを伸縮自在な梯子とした場合には、ストッパなどにより梯子を伸ばすことができない状態を完全阻止状態、梯子を伸ばすことができる状態を不完全阻止状態とすることができる。
【0024】
フィールド上に設定される通過阻止オブジェクトには、完全阻止状態と不完全阻止状態の何れかに設定される特別阻止オブジェクトが含まれているが、特別阻止オブジェクトが完全阻止状態と不完全阻止状態の何れにあるかは、サーバ装置において管理されている。もっとも、サーバ装置は、特別通過阻止オブジェクトが完全阻止状態と不完全阻止状態の何れにあるかを示す特別通過阻止オブジェクト情報を、特定のキャラクタのフィールド上における位置を示す位置情報とともにクライアント装置に送信するものとしている。
【0025】
クライアント装置は、特別状態に変化することができない完全阻止状態にも設定され得る特別通過阻止オブジェクトであっても、特別通過阻止オブジェクト情報により不完全阻止状態にあることが示されている場合には、常に特別状態に変化させることができる通常通過阻止オブジェクトと同様に扱うことができるものとなる。このため、サーバ装置では、特別通過阻止オブジェクトについても、完全阻止状態にあるか不完全阻止状態にあるかだけを管理し、その状態を示す特別通過阻止オブジェクト情報をクライアント装置に送信すれば、通常通過阻止オブジェクトと同様に通常状態にあるか特別状態にあるかの管理を行わないでも済むものとなる。
【0026】
上記目的を達成するため、本発明の第2の観点にかかるクライアント装置は、サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有し、プレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを実行するクライアント装置であって、前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、前記クライアント装置は、前記通過阻止オブジェクトを含む前記フィールドのグラフィックデータと、該フィールドに存在するキャラクタのグラフィックデータとを予め格納したグラフィックデータ格納手段と、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置の1フレーム期間よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段と、前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段と、前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段とを備え、前記表示制御手段は、前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、前記通過判定手段により今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成することを特徴とする。
【0027】
上記目的を達成するために、本発明の第3の観点にかかるプログラムは、サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有するコンピュータ装置に、プレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを実行させるためのプログラムであって、前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、前記プログラムは、前記通過阻止オブジェクトを含む前記フィールドのグラフィックデータと、該フィールドに存在するキャラクタのグラフィックデータとを予め格納したグラフィックデータ格納手段と、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置の1フレーム期間よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段、前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段、及び、前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段として前記コンピュータ装置を機能させ、前記表示制御手段は、前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、前記通過判定手段により今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成することを特徴とする。
【図面の簡単な説明】
【0028】
【図1】本発明の実施の形態にかかるネットワークゲームシステムの構成を示すブロック図である。
【図2】図1のビデオゲーム装置の構成を示すブロック図である。
【図3】図1のサーバ装置の構成を示すブロック図である。
【図4】本発明の実施の形態にかかるネットワークゲームのフロアの例を示す図である。
【図5】図3のサーバ装置において管理されるテーブル群を示す図である。
【図6】図2のビデオゲーム装置において記憶されるデータの構成、および管理される扉状態テーブルを示す図である。
【図7】図3のサーバ装置において実行される処理のフローチャートを示す図である。
【図8】図2のビデオゲーム装置において実行される処理のフローチャートを示す図である。
【図9】図2のビデオゲーム装置において実行される他キャラクタ情報処理、および表示画像生成処理のフローチャートを示す図である。
【図10】本発明の実施の形態にかかるネットワークゲームの他プレイヤキャラクタ位置の推移と扉の開閉とを模式的に示す図である。
【発明を実施するための形態】
【0029】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0030】
この実施の形態にかかるオンラインゲームは、同時に当該オンラインゲームに参加する複数のプレイヤが、仮想空間として、エリアに区分けされたフィールドにおいて、自己のプレイヤキャラクタを各エリアに順次移動させながら進行するMMORPGである。また、それぞれのエリアは扉でのみ通じており、プレイヤは、自己のプレイヤキャラクタにその扉を開けさせて、エリアの往来をさせることになる。
【0031】
図1は、この実施の形態にかかるネットワークゲームが行われるネットワークゲームシステムの構成を示すブロック図である。図示するように、このネットワークゲームシステムは、複数のビデオゲーム装置100と、サーバ装置200とから構成される。ビデオゲーム装置100は、それぞれサーバ装置200にネットワーク151を介して接続される。
【0032】
サーバ装置200は、この実施の形態にかかるネットワークゲームの全体の進行を管理するものであり、各ビデオゲーム装置100の接続状況と各ビデオゲーム装置100にて行われているゲームの状況を管理している。ビデオゲーム装置100は、いずれもネットワークを介してサーバ装置200に接続することが可能である。
【0033】
次に、ビデオゲーム装置100及びサーバ装置200の構成について説明する。図2は、図1のビデオゲーム装置100の構成を示すブロック図である。図示するように、ビデオゲーム装置100は、ビデオゲーム本体101を中心として構築される。このビデオゲーム本体101は、その内部バス119に接続された制御部103、RAM(Random Access Memory)105、ハードディスク・ドライブ(HDD)107、サウンド処理部109、グラフィック処理部111、DVD/CD−ROMドライブ113、通信インターフェイス115、及びインターフェイス部117を含む。
【0034】
このビデオゲーム本体101のサウンド処理部109は、スピーカーであるサウンド出力装置125に、グラフィック処理部111は、表示画面122を有する表示装置121に接続されている。DVD/CD−ROMドライブ113には、記録媒体(本実施の形態では、DVD−ROMまたはCD−ROM)131を装着し得る。通信インターフェイス115は、ネットワーク151に接続される。インターフェイス部117には、入力部(コントローラ)161とメモリカード162とが接続されている。
【0035】
制御部103は、CPU(Central Processing Unit)やROM(Read Only Memory)などを含み、HDD107や記録媒体131上に格納されたプログラムを実行し、ビデオゲーム本体101の制御を行う。制御部103は、内部タイマを備えている。RAM105は、制御部103のワークエリアである。HDD107は、プログラムやデータを保存するための記憶領域である。サウンド処理部109は、制御部103により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置125にサウンド信号を出力する。
【0036】
グラフィック処理部111は、制御部103から出力される描画命令に従って、フレームメモリ(フレームバッファ)112(図では、グラフィック処理部111の外側に描かれているが、グラフィック処理部111を構成するチップに含まれるRAM内に設けられる)に画像を展開し、表示装置121の表示画面122上に画像を表示するビデオ信号を出力する。グラフィック処理部111から出力されるビデオ信号に含まれる画像の1フレーム時間は、例えば30分の1秒である。
【0037】
もっとも、仮想空間に存在するオブジェクトのうちで画像の表示対象となる視認範囲に含まれる他のプレイヤキャラクタを示す他キャラクタ情報は、サーバ装置200から1.0秒毎にしか送られてこないため、1フレーム毎の画像生成に用いられる他のプレイヤキャラクタの位置にかかる情報は、後述する表示画像生成処理において補間され、その補間された位置によって当該他のプレイヤキャラクタが表示画面122に表示されるものとなる。
【0038】
DVD/CD−ROMドライブ113は、記録媒体131に対しプログラム及びデータの読み出しを行う。通信インターフェイス115は、ネットワーク151に接続され、他のコンピュータ(サーバ装置200)との通信を行う。入力部161は、方向キー、操作ボタン等を備え、方向キーの操作により後述するプレイヤキャラクタを移動させ、操作ボタンの操作により、プレイヤキャラクタに開扉等を行わせるものである。操作ボタンは、所定の指示を入力するために用いられる。
【0039】
インターフェイス部117は、入力部161からの入力データをRAM105に出力し、制御部103がそれを解釈して演算処理を実施する。インターフェイス部117は、また、制御部103からの指示に基づいて、RAM105に記憶されているゲームの進行状況を示すデータをメモリーカード162に保存させ、メモリーカード162に保存されている中断時のゲームのデータを読み出して、RAM105に転送する。
【0040】
ビデオゲーム装置100でゲームを行うためのプログラム及びデータは、最初例えば記録媒体131に記憶されている。記録媒体131に記憶されているデータとしては、ゲーム空間に存在するオブジェクト(ゲーム空間に形成されたフィールド、自身及び他者のプレイヤキャラクタ)を構成するためのグラフィックデータを全て含んでいる。
【0041】
従って、視認範囲と当該視認範囲に含まれる各オブジェクトの位置と、選択的な形態を有するオブジェクト(自身及び他者のプレイヤキャラクタ)についてはその形態を特定可能な情報(例えば、部位毎に選択される顔体の形態や服装などの識別情報)とを受信して、表示画面122に表示される画像を描画するものとなっている。
【0042】
記録媒体131に記憶されたプログラム及びデータは、実行時にDVD/CD−ROMドライブ113により読み出されて、RAM105にロードされる。制御部103は、RAM105にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部111に出力し、サウンド出力の指示をサウンド処理部109に出力する。制御部103が処理を行っている間の中間的なデータは、RAM105に記憶される。
【0043】
図3は、図1のサーバ装置200の構成を示すブロック図である。図示するように、サーバ装置200は、サーバ本体201を中心として構築される。サーバ本体201は、その内部バス219に接続された制御部203、RAM205、ハード・ディスク・ドライブ(HDD)207、DVD/CD−ROMドライブ213、通信インターフェイス215を含む。DVD/CD−ROMドライブ213には、記録媒体(DVD−ROMまたはCD−ROM)231を装着し得る。
【0044】
制御部203は、CPU(Central Processing Unit)やROM(Read Only Memory)などを含み、HDD207や記録媒体231上に格納されたプログラムを実行し、サーバ装置200の制御を行う。制御部203は、現在時刻を計時する内部タイマを備えている。RAM205は、制御部203のワークエリアである。HDD207は、プログラムやデータを保存するための記憶領域である。通信インターフェイス215は、ネットワーク151に接続され、ビデオゲーム装置100のそれぞれとの通信を行う。
【0045】
サーバ装置200でネットワークゲームを行うためのプログラム及びデータは、最初例えば記録媒体231に記憶され、ここからHDD207にインストールされる。そして、このプログラム及びデータは実行時にHDD207から読み出されて、RAM205にロードされる。制御部203は、RAM205にロードされたプログラム及びデータを処理し、ビデオゲーム装置100のそれぞれから送られてくる情報を元にネットワークゲームを進行させる。制御部203が処理を行っている間の中間的なデータは、RAM205に記憶される。
【0046】
図4は、この実施の形態にかかるオンラインゲームで用いられる仮想空間としてのフィールドの例を示す図である。図示するように、このオンラインゲームにおけるフィールド400には、壁401で仕切られ、複数に区分けされたエリア402が設けられている。
【0047】
これらのエリア402は、また、複数の扉を通じて異なるエリア402と繋がっており、フィールド400に複数存在するプレイヤキャラクタ421はこの扉を通ってエリア402間を移動することができる。この複数のプレイヤキャラクタ421のフィールド400上の位置は、サーバ装置200によって管理され、定期的(例えば1.0秒毎)にビデオゲーム装置100に送信される(後で詳述する)。
【0048】
このように繋がったエリア402間において、プレイヤキャラクタ421を移動させるためには、プレイヤは、自己のプレイヤキャラクタ421をこの扉の前に移動させ、開扉の行動(以下、「開扉行動」とする)をさせ、扉を開くことが必要となる。扉が開くと、プレイヤキャラクタ421を、このプレイヤキャラクタ421が存在しているエリア402から、異なるエリア402へと移動させることができるようになる。
【0049】
このように、扉が開き、異なるエリア402へとプレイヤキャラクタ421が移動すると、当該扉が開いて、所定の時間(例えば、1.0秒)までに当該扉を通過して移動するプレイヤキャラクタ421が存在しなければ、当該扉は閉じ、再び前に存在したエリア402へと戻るためには、その扉の前で、プレイヤキャラクタ421に開扉行動をさせ、扉を開いて移動させる。
【0050】
そして、フィールド400にはこのような扉として、シナリオ扉411及びクライアント扉412の何れかが設けられている。シナリオ扉411とは、そのシナリオ扉411を通じて、プレイヤキャラクタ421がエリア402間を移動できるようになることで、このオンラインゲームの全体の進行に影響するものであり、後述する所定の条件が満たされるまでは施錠されている。つまり、施錠されているシナリオ扉411を通じた、プレイヤキャラクタ421のエリア402間の移動はできないものとなっている。
【0051】
そして、所定の条件が満たされた場合には、シナリオ扉411は解錠され、プレイヤキャラクタ421が異なるエリア402へと移動することができるようになる。このような所定の条件が満たされたか否かの判定は、サーバ装置200によって行われ、そのシナリオ扉411が解錠されているか否か、および開閉状態(シナリオ扉411が開いているか、閉じているか)の管理も行われている(後で詳述する)。
【0052】
一方、クライアント扉412とは、そのクライアント扉412を通じて、プレイヤキャラクタ421がエリア402間を移動できるようになることで、このオンラインゲームの全体の進行に影響するものではなく、プレイヤキャラクタは、このクライアント扉412を通じて繋がるエリア402間を自由に移動できる。
【0053】
また、このように設けられたエリア402には、複数のプレイヤキャラクタ421以外にも、複数の敵キャラクタ422と、宝箱423が存在している。敵キャラクタ422は、プレイヤキャラクタ421がこの敵キャラクタ422とバトルをすることによって倒すことができるものとなっている。
【0054】
これら複数の敵キャラクタ422の中には、倒すことがシナリオ扉411を解錠するための条件として定められている敵キャラクタ422が存在している。そのような敵キャラクタ422を倒すことができれば、その条件に対応したシナリオ扉411が解錠され、そのシナリオ扉411を通じて繋がる異なるエリア402へと、プレイヤキャラクタ421を移動させることができるようになる。
【0055】
また、宝箱423は、プレイヤキャラクタ421をその付近まで移動させることによって、開けることができ、そのプレイヤキャラクタ421は開けた宝箱423に対応したアイテムを得ることができ、そして、そのプレイヤキャラクタ421が所持するアイテム(以下、「所持アイテム」とする)とすることができる。フィールド400上に存在する複数の宝箱423で得られるアイテムの中には、シナリオ扉411を解錠するための条件として定められた、カギが含まれる。
【0056】
このカギをプレイヤキャラクタ421が所持した状態で、当該プレイヤキャラクタ421に、カギを所持することが条件となっているシナリオ扉411の前に移動させ、開扉の行動を行わせると、当該シナリオ扉411を解錠することができる。
【0057】
このように、プレイヤは、自己のプレイヤキャラクタ421(以下、「自プレイヤキャラクタ421」とする)に、シナリオ扉411、或いはクライアント扉412を開かせることで、エリア402間を移動させることができ、これら一連の動作を、ビデオゲーム装置100の表示画面122を通して見ることができる。一方、フィールド400には複数の他のプレイヤによって操作されるプレイヤキャラクタ421(以下、「他プレイヤキャラクタ421」とする)も同様に、シナリオ扉411、或いはクライアント扉412を開き、エリア402間を移動している。
【0058】
このような他プレイヤキャラクタ421の様子は、表示画面122において見ることができるものであり、サーバ装置200で管理され、1.0秒毎に送信される当該他プレイヤキャラクタ421の位置に関する情報を基に生成された画像によって、表示画面122に表示されるものとなる(後で詳述する)。また、このように管理されるプレイヤキャラクタ421の位置の情報は、このオンラインゲームに参加する全てのビデオゲーム装置100からサーバ装置200に対して、例えば0.5秒毎の間隔で送信されている。
【0059】
次にこの実施の形態にかかるオンラインゲームを進行させるため、サーバ装置200において管理されるデータ、及びビデオゲーム装置100において記憶されるデータについて説明する。図6は、この実施の形態にかかるオンラインゲームを実行させるために、サーバ装置200のRAM205(またはHDD207)において管理されるテーブルを示す図である。
【0060】
図5(a)は、フィールド400における全てのプレイヤキャラクタ421、および敵キャラクタ422の位置に係る情報を管理するためのフィールドキャラクタテーブル500であり、図5(b)は、フィールド400に存在する全てのシナリオ扉411の、解錠条件、及び解錠されたか否かを管理するためのシナリオ扉管理テーブル510である。図5(a)に示すフィールドキャラクタテーブル500には、フィールド400に存在する全てのキャラクタ毎にキャラクタID501と、そのフィールド400上の位置情報502とが記憶される。
【0061】
キャラクタID501は、各プレイヤのプレイヤキャラクタ421、及び敵キャラクタ422を一意に識別するための識別情報である。また、位置情報502は、プレイヤキャラクタ421及び敵キャラクタ422のフィールド400上での位置を示すものである。このフィールドキャラクタテーブル500の内容は、1.0秒毎にこのオンラインゲームに参加する全てのプレイヤのビデオゲーム装置100に送信されるサーバ情報の一つである他キャラクタ情報として送信されるものである。
【0062】
なお、この他キャラクタ情報には、ビデオゲーム装置100毎に、当該ビデオゲーム装置100によって操作される自プレイヤキャラクタ421の存在するエリア402、並びにそれに隣接するエリア402に存在している他プレイヤキャラクタ421及び敵キャラクタ422の位置情報(位置そのものの情報。入力した内容の情報であってもよい)が含まれるものとなっている。そして、フィールドキャラクタテーブル500に登録される各プレイヤキャラクタ421の位置情報502は、0.5秒毎にそれぞれのビデオゲーム装置100から送信されるビデオゲーム情報としてプレイヤキャラクタの位置情報(以下、「プレイヤキャラクタ位置情報」とする)をサーバ装置200が受信することで、それぞれ更新されるものとなる。
【0063】
図5(b)に示すシナリオ扉管理テーブル510には、フィールド400に存在する全てのシナリオ扉411毎に扉ID511と、解錠条件情報512と、解錠フラグ513と、開閉フラグ514とが記憶される。扉ID511は、シナリオ扉411、及びクライアント扉412を一意に識別するための識別情報であるが、このシナリオ扉管理テーブル510で管理される扉ID511は、シナリオ扉411に係るものだけである。解錠条件情報512は、シナリオ扉411毎に設定されている解錠のための条件を含んだ情報である。
【0064】
解錠フラグ513には、シナリオ扉411毎に、解錠されている場合には1が、施錠されている場合には0がそれぞれ設定されている。開閉フラグ514には、シナリオ扉411毎に、開かれている場合には1が、閉じられている場合には0がそれぞれ設定されている。シナリオ扉管理テーブル510の内容のうち、扉ID511と、解錠フラグ513と、開閉フラグ514とについては、1.0秒毎にこのオンラインゲームに参加する全てのビデオゲーム装置100に送信されるサーバ情報としてシナリオ扉状態情報が送信されるものである。
【0065】
そして、解錠条件として敵キャラクタ422を倒すことが定められたシナリオ扉411の解錠フラグ513は、未だに0が設定されていたとき、当該敵キャラクタ422が倒されることによって1に更新され、開閉フラグ514も1に更新される。また、ビデオゲーム装置100から送信されるビデオゲーム情報としてシナリオ扉開扉請求情報も送信されるときにおいて、サーバ装置200で受信されるシナリオ扉開扉請求情報に含まれる開扉の対象となるシナリオ扉411につき、条件が満たされるものであれば、そのシナリオ扉411の扉ID511に対応する解錠フラグ513は1に更新され、開閉フラグ514も1に更新される。
【0066】
このように、ビデオゲーム情報としてシナリオ扉開扉請求情報が送信されるとき、当該シナリオ扉開扉請求情報には、シナリオ扉411の扉IDと、後述する所持アイテム情報とが含まれている。その所持アイテム情報の内容が、当該扉IDと対応するシナリオ扉管理テーブル510で管理される扉ID511の解錠条件情報512が示す通りの条件を満たすものであった場合、当該扉ID511の解錠フラグ513が1に更新されるものとなる。
【0067】
ここで、解錠条件情報512が示す通りの条件を満たすとは、例えば、シナリオ扉管理テーブル510に記憶される解錠条件情報512が「カギを所持」というものであった場合、当該所持アイテム情報の内容にカギが含まれるものであれば、当該解錠条件情報512が示す通りの条件を満たすものとなる。一方、当該所持アイテム情報の内容にカギが含まれるものでなければ、解錠請求がされた扉ID511の解錠フラグ513は更新されない。
【0068】
一方、既に解錠されているシナリオ扉411を対象としてシナリオ扉開扉請求情報が送信されるとき、当該シナリオ扉開扉請求情報には、シナリオ扉411の扉IDのみが含まれており、当該扉IDと同じである、シナリオ扉管理テーブル510で管理される扉ID511の解錠フラグ513が1であれば、開閉フラグ514が1に更新される。
【0069】
続いて、図6は、ビデオゲーム装置100において記憶されるデータの構成、及び記憶されるテーブルを示す図である。図6(a)には、ビデオゲーム装置100において記憶されるデータの構成を示し、また、図6(b)には、フィールド400上の全てのシナリオ扉411、及びクライアント扉412が解錠されているか否かの状態を示す扉状態テーブル610を示す。
【0070】
図6(a)に図示するように、ビデオゲーム装置100のRAM105(またはHDD107)には、キャラクタID601と、位置情報602と、所持アイテム情報603と、送信情報バッファ604と、他キャラクタ情報バッファA605と、他キャラクタ情報バッファB606とが記憶される。
【0071】
キャラクタID601は、このキャラクタID601が記憶されるビデオゲーム装置100で操作するプレイヤキャラクタ421に固有のものであり、前記した図5(a)に示したフィールドキャラクタテーブル500で管理されるキャラクタID501と対応するものである。このキャラクタID501とキャラクタID601とによって、フィールド400上で移動中のプレイヤキャラクタ421と、それを操作する当該ビデオゲーム装置100とが一意的に特定されるものとなる。
【0072】
位置情報602は、当該ビデオゲーム装置100で操作されるプレイヤキャラクタ421のフィールド400上での位置に関する情報を記憶するものであり、プレイヤの入力部161の移動操作がされることにより、更新されるものとなる。
【0073】
所持アイテム情報603は、当該ビデオゲーム装置100で操作されるプレイヤキャラクタ421が所持しているアイテムの情報を記憶するものであり、上記した宝箱423を開けることにより、シナリオ扉411を解錠するためのカギが得られれば、所持アイテム情報603には、そのカギにかかる情報が含まれるものとなる。
【0074】
送信情報バッファ604は、プレイヤがプレイヤキャラクタ421にシナリオ扉411の開扉行動を行わせた場合において、当該ビデオゲーム装置100から0.5秒毎に送信されるビデオゲーム情報として送信される開扉請求情報を、一時的に記憶させておくためのものであり、開扉請求情報が記憶されていれば、0.5秒毎のタイミングで送信されるビデオゲーム情報に含まれるプレイヤキャラクタ位置情報とともにその開扉請求情報が送信されるものとなる。
【0075】
他キャラクタ情報バッファA605及び他キャラクタ情報バッファB606は、サーバ装置200から1.0秒毎に送信される他キャラクタ情報について、受信された最新のもの2つを、一時的に記憶させておくためのバッファである(図示はしないが、他キャラクタ情報バッファA605、B606の何れが最新のものであるかを示す情報がRAM105に記憶されている)。これらの情報は、後述する表示画像生成処理をおこなうために用いられることになり、随時、最新の他キャラクタ情報が受信されれば、すでに、他キャラクタ情報バッファA605、或いは他キャラクタ情報バッファB606に記憶されている他キャラクタ情報のうち古いものが、当該最新の他キャラクタ情報によって更新される。
【0076】
さらに、図6(b)に示すように、ビデオゲーム装置100には、扉状態テーブル610が記憶される。図示するように、扉状態テーブル610には、扉ID611と、解錠フラグ612と、開閉フラグ613が含まれている。
【0077】
扉ID611とは、フィールド400に存在する全てのシナリオ扉411、及びクライアント扉412について、それぞれが一意に識別できるものとなっており、図5(b)に示すシナリオ扉管理テーブル510に記憶されるシナリオ扉411の扉ID511と、扉状態テーブル610のシナリオ扉411の扉ID611とは、一意的に対応するものである。このように、シナリオ扉411はサーバ装置200でも扉ID511が管理されるが、クライアント扉412は、プレイヤキャラクタ421に自由に開かせることができる扉であるため、ビデオゲーム装置100でのみ、その扉IDが管理されるものとなる。
【0078】
解錠フラグ612には、扉毎に、解錠されている場合には1が、施錠されている場合には0がそれぞれ設定されているが、クライアント扉412は、常に自由にプレイヤキャラクタ421に開かせることが可能なものであるため、クライアント扉412に対応する解錠フラグ612は常に1が設定されている。なお、シナリオ扉411であるかクライアント扉412であるかは、扉ID611を参照すれば区別できるものとなっている。
【0079】
一方、シナリオ扉411に対応する解錠フラグ612は、サーバ装置から1.0秒毎にサーバ情報として送信されるシナリオ扉状態情報の内容、つまり、図5(b)に示すシナリオ扉管理テーブル510における、シナリオ扉411毎に設定される解錠フラグ513の値に基づいて更新されるものとなる。
【0080】
開閉フラグ613には、扉毎に、開かれている場合には1が、閉じられている場合には0がそれぞれ設定されている。クライアント扉412は、常に自由にプレイヤキャラクタ421に開かせることが可能なものであるため、自プレイヤキャラクタ421がクライアント扉412に対して開扉行動を行ったとき、或いは他プレイヤキャラクタ422がクライアント扉412を通過するときには、当該クライアント扉412の開閉フラグ613は1に更新される。ここで、すでに開扉されているクライアント扉412を他プレイヤキャラクタ421が通過する場合には当該クライアント扉412の開閉フラグ613は1のまま維持される。
【0081】
一方、シナリオ扉411に対応する開閉フラグ613は、解錠フラグ612と同様に、サーバ装置から1.0秒毎にサーバ情報として送信されるシナリオ扉状態情報の内容、つまり、図5(b)に示すシナリオ扉管理テーブル510における、シナリオ扉411毎に設定される開閉フラグ514の値に基づいて更新される。
【0082】
すなわち、シナリオ扉411に関して、1.0秒毎に、図5(b)に示すシナリオ扉管理テーブル510の解錠フラグ513、及び開閉フラグ514に設定されたそれぞれの値と、図6(b)に示す扉状態テーブル610の解錠フラグ612及び開閉フラグ613に設定されたそれぞれの値とは同じ値で対応している。
【0083】
以下、この実施の形態にかかるサーバ装置200及びビデオゲーム装置100において、それぞれ実行される処理について説明する。図7(a)は、サーバ装置200において実行される処理を示すフローチャートである。
【0084】
サーバ装置200の制御部203は、各々のビデオゲーム装置100から送信されるビデオゲーム情報を受信して、そこに含まれるプレイヤキャラクタ位置情報から、当該ビデオゲーム装置100で操作されるプレイヤキャラクタ421に対応する、フィールドキャラクタテーブル500における位置502を更新するキャラクタ位置更新処理(後で詳述する)を実行する(ステップS101)。
【0085】
その後、制御部203は、ビデオゲーム情報に含まれるシナリオ扉の開扉請求情報によってシナリオ扉411を開くための開扉設定、および一定時間キャラクタが通過していないシナリオ扉411を閉じるための閉扉設定を各シナリオ扉411に設定するためのシナリオ扉開閉状態処理(後で詳述する)を実行する(ステップS102)。
【0086】
その後、制御部203は、このオンラインゲームを進行させるためのゲーム処理として、バトルの進行等を行う(ステップS103)。その後、制御部203は、サーバ装置200における処理の開始から、或いは以前の1.0秒経過のときから、1.0秒が経過したか否かを判定する(ステップS104)。1.0秒経過したと判定されれば、制御部203は、他キャラクタ情報、及びシナリオ扉状態情報を含んだサーバ情報をこのオンラインゲームに参加する全てのプレイヤのビデオゲーム装置100に対して送信する(ステップS105)。そして、ステップS104において1.0秒が経過していないと判定された場合、または、ステップS105においてサーバ情報が送信された後、ステップS101の処理に戻る。
【0087】
図7(b)は、サーバ装置200において実行される処理のうち、キャラクタ位置更新処理を示すフローチャートである。まず、サーバ装置200の制御部203は、1または複数のビデオゲーム情報としてプレイヤキャラクタ位置情報が受信されたか否かを判定する(ステップS111)。プレイヤキャラクタ位置情報が受信されていれば、その各々のプレイヤキャラクタ位置情報のうち、異常のあるプレイヤキャラクタ位置情報があるか否かを判定する(ステップS112)。ここで、異常のあるプレイヤキャラクタ位置情報とは、受信した位置情報の位置によって、プレイヤキャラクタ421の位置が、解錠され、開かれていないシナリオ扉411を通過した位置となるような場合である。
【0088】
このように、異常のあるプレイヤキャラクタ位置情報があると判定されれば、制御部203は、サーバ装置200で管理されるフィールドキャラクタテーブル500において、当該プレイヤキャラクタ位置情報にかかるプレイヤキャラクタ421のキャラクタIDに対応するレコードの位置情報502を、その受信したプレイヤキャラクタ位置情報の位置によってではなく、その解錠され、開かれていないシナリオ扉411の手前の位置によって更新する(ステップS113)。
【0089】
ステップS112において、受信したプレイヤキャラクタ位置情報のうち異常のあるプレイヤキャラクタ位置情報がないと判定された場合、またはステップS113の後、制御部203は、異常のあるプレイヤキャラクタ位置情報ではないプレイヤキャラクタ位置情報にかかるプレイヤキャラクタ421のキャラクタIDに対応するレコードの位置情報502を、その受信したプレイヤキャラクタ位置情報の位置によって更新する(ステップS114)。ステップS111においてプレイヤキャラクタ位置情報が受信されていないと判定された場合、またはステップS114において位置情報502を更新した後、制御部203は、キャラクタ位置情報更新処理を終える。
【0090】
図7(c)は、サーバ装置200において実行される処理のうち、シナリオ扉状態情報更新処理を示すフローチャートである。まず、サーバ装置200の制御部203は、受信したビデオゲーム情報として開扉請求情報が受信されているか否かを判定する(ステップS121)。開扉請求情報が受信されていると判定されれば、制御部203は、その開扉請求情報に異常があるか否かを判定する(ステップS122)。
【0091】
開扉請求情報に異常がないと判定されれば、制御部203は、開扉請求情報に含まれる開扉を請求するシナリオ扉411がすでに解錠されているか否か(シナリオ扉管理テーブル510で管理される解錠フラグが1となっているか否か)を判定する(ステップS123)。開扉を請求するそのシナリオ扉411が解錠されていないと判定されれば、制御部203は、その解錠請求情報に含まれるシナリオ扉の扉ID、所持アイテム情報が、当該扉IDに対応するシナリオ扉管理テーブル510で管理されるID511のレコードにおける解錠条件情報512に示される条件を満たしているか否かを判定する(ステップS124)。
【0092】
条件を満たしていると判定されれば、制御部203は、シナリオ扉管理テーブル510で管理される当該シナリオ扉411の解錠フラグ513を1に更新することで、開扉が請求されているシナリオ扉411の解錠設定を行う(ステップS125)。そして、開扉請求情報において開扉を請求するシナリオ扉411について、ステップS123において、すでに解錠されているものと判定された場合、またはステップS125において、解錠設定がされた後には、制御部203は、シナリオ扉管理テーブル510で管理される当該シナリオ扉411の開閉フラグ514を1に更新することで、シナリオ扉411の開扉設定を行う(ステップS126)。
【0093】
ステップS121において開扉請求情報が受信されていないと判定された場合、ステップS122において開扉請求情報に異常があると判定された場合、ステップS124においてシナリオ扉411を解錠する条件を満たしていないと判定された場合、またはステップS126においてシナリオ扉411の開扉設定を行った後には、制御部203は、フィールド400上の全てのシナリオ扉411のうち、一定時間(例えば、1.0秒)にかけて開扉されたままのシナリオ扉411があるか否かの判定を行う(ステップS127)。
【0094】
開扉されたままのシナリオ扉411がないと判定されれば、制御部203は、シナリオ扉状態情報更新処理を終える。一方、開扉されたままのシナリオ扉411があると判定されれば、制御部203は、当該開扉されたままのシナリオ扉411について、シナリオ扉管理テーブル510で管理される開閉フラグ514を0に更新することで、当該シナリオ扉411の閉扉設定を行う(ステップS128)。そして、シナリオ扉状態情報更新処理を終える。
【0095】
図8は、ビデオゲーム装置100において実行される処理を示すフローチャートである。処理を開始すると、まず、ビデオゲーム装置100の制御部103は、ビデオゲーム装置100における処理の開始から、或いは以前の30分の1秒の経過のときから、30分の1秒が経過したか否かを判定する(ステップS201)。
【0096】
30分の1秒が経過したと判定されれば、制御部103は、サーバ装置200から送信されたサーバ情報を受信したか否かを判定する(ステップS202)。サーバ情報を受信したと判定されれば、制御部103は、サーバ情報として受信した他キャラクタ情報をビデオゲーム装置100に記憶し、その他キャラクタ情報に含まれる他プレイヤキャラクタ421の位置に関連する処理を実行する他キャラクタ情報処理(後で詳述する)を行う(ステップS203)。
【0097】
その後、サーバ情報として受信したシナリオ扉状態情報に含まれる、図5(b)に示したシナリオ扉管理テーブル510で管理される解錠フラグ513、及び開閉フラグ514の値によって、図6(b)に示した扉状態テーブル610のシナリオ扉411に関する解錠フラグ612、及び開閉フラグ613の値を更新する(ステップS204)。
【0098】
ステップS202においてサーバ情報を受信していないと判定された場合、またはステップS204において、解錠フラグ612、及び開閉フラグ613を更新した後には、制御部103は、プレイヤによる入力部161の操作により、何れかの入力が検出されたか否かの判定を行う(ステップS205)。入力が検出されたと判定されれば、制御部103は、検出された入力が、プレイヤキャラクタ421に開扉行動をさせるための入力であったか否かを判定する(ステップS206)。
【0099】
開扉行動をさせるための入力であったと判定されれば、制御部103は、当該開扉行動がシナリオ扉411に対して実行されたものであったか否かの判定を行う(ステップS207)。開扉行動がシナリオ扉411に対して実行されたものでないと判定された場合(クライアント扉412に対して実行された場合)、制御部103は、その開扉行動が実行されたクライアント扉412の開扉設定(開扉フラグ613を1に更新)を行う(ステップS208)。
【0100】
ステップS207において、開扉行動がシナリオ扉411に対して実行されたものであると判定された場合、制御部103は、ビデオゲーム装置100に記憶される、当該シナリオ扉411の扉IDと、当該シナリオ扉411がまだ解錠されていない(解錠フラグ612に0が設定されている)場合には所持アイテム情報603の内容とを含めた開扉請求情報を、送信情報バッファ604に記憶する(ステップS209)。
【0101】
ステップS206において、開扉行動をさせるための入力でないと判定された場合(移動をさせるための入力であった場合)、ステップS208において、クライアント扉412の開扉設定が行われた後、またはステップS209において、開扉請求情報が送信情報バッファ604に記憶された後には、制御部103は、検出された入力を基に、ビデオゲーム装置100に記憶される位置情報602を更新する(ステップS210)。
【0102】
ステップS205において、入力が検出されなかったと判定された場合、またはステップS210において、位置情報602が更新された場合には、制御部103は、表示画像生成処理(後で詳述する)を行う(ステップS211)ステップS201において、30分の1秒が経過していないと判定された場合、またはステップS211において、表示画像生成処理を行った場合には、制御部103は、ビデオゲーム装置100における処理の開始から、或いは以前の0.5秒の経過のときから、0.5秒が経過したか否かを判定する(ステップS212)。0.5秒が経過していないと判定されれば、制御はステップS201の処理へと戻る。
【0103】
ステップS212において、0.5秒が経過したと判定されれば、制御部103は、ビデオゲーム装置100に記憶される位置情報602と、送信情報バッファ604に解錠請求情報が記憶されている場合には、当該解錠請求情報とを、ビデオゲーム情報としてサーバ装置200に送信する(ステップS213)。そして、ステップS201の処理に戻る。
【0104】
次に図9(a)は、ビデオゲーム装置100において実行される他キャラクタ情報記憶処理を示すフローチャートである。まず、ビデオゲーム装置100の制御部103は、受信した他キャラクタ情報を他キャラクタ情報バッファA605、或いは他キャラクタ情報バッファB606のうち時間的に古い他キャラクタ情報が記憶されている方に記憶(更新)する(ステップS221)。続いて、他キャラクタ情報バッファA605、及び他キャラクタ情報バッファB606に記憶される1つ前に受信した他キャラクタ情報と、新たに受信された他キャラクタ情報とをチェックする(ステップS222)。続いて、制御部103は、チェックされた最新の2つの他キャラクタ情報における他プレイヤキャラクタ421について、クライアント扉412を通過するものが存在するか否かを判定する(ステップS223)。
【0105】
クライアント扉412を通過する他プレイヤキャラクタ421が存在すると判定されれば、制御部103は、当該他プレイヤキャラクタ421が通過するクライアント扉412に、開扉状態にあるクライアント扉412(前回の他キャラクタ情報受信の時から開扉されたままの扉)が含まれているか否かを判定する(ステップS224)。開扉状態にあるクライアント扉412が含まれていると判定されれば、制御部103は、当該クライアント扉412について、扉状態テーブル610で管理される開閉フラグ613を1のままに設定しておくことで、開扉状態のまま維持する当該クライアント扉412の開扉維持設定を行う(ステップS225)。
【0106】
また、制御部103は、ステップS224において、開扉状態にあるクライアント扉412が含まれていないと判定した場合には、他プレイヤキャラクタ421が通過するクライアント扉412について、扉状態テーブル610で管理される開閉フラグ613を1に更新することで、当該クライアント扉412の開扉設定を行う(ステップS226)。一方、ステップS225において、開扉状態を維持するクライアント扉412について開扉維持設定がされた後には、当該クライアント扉412以外であって、他プレイヤキャラクタ421が通過するクライアント扉412についても、ステップS226において開扉設定を行う。
【0107】
ステップS223において、クライアント扉412を通過する他プレイヤキャラクタ421が存在しないと判定された場合、またはステップS226において開扉設定を行った後には、制御部103は、フィールド400上の全てのクライアント扉412のうち、一定時間(例えば、1.0秒)にかけて開扉されたままのクライアント扉412があるか否かの判定を行う(ステップS227)。
【0108】
開扉されたままのクライアント扉412がないと判定されれば、制御部103は、他キャラクタ情報処理を終える。一方、開扉されたままのクライアント扉412があると判定されれば、制御部103は、当該開扉されたままのクライアント扉412について、扉状態管理テーブル610で管理される開扉フラグ613を0に更新することで、当該クライアント扉412の閉扉設定を行う(ステップS228)。そして、他キャラクタ情報処理を終了する。
【0109】
図9(b)は、ビデオゲーム装置100において実行される表示画像生成処理を示すフローチャートである。まず、ビデオゲーム装置100の制御部103は、ビデオゲーム装置100の他キャラクタ情報バッファA605、および他キャラクタ情報バッファB606に記憶された最新の2つの他キャラクタ情報から、他プレイヤキャラクタ421毎にプレイヤキャラクタ位置情報を順次抽出する(ステップS241)。
【0110】
続いて、制御部103は、当該他プレイヤキャラクタ421が当該位置を抽出した最新の2つの他キャラクタ情報のうち、最新の他キャラクタ情報にのみ含まれているもの(当該最新の他キャラクタ情報において、初めて存在が認識された他プレイヤキャラクタ421。以下、「初登場他プレイヤキャラクタ421」とする。)であるか否かを判定する(ステップS242)。
【0111】
例えば、このオンラインゲームに新たなプレイヤが参加してきた場合において、一つ前の他キャラクタ情報が受信されてから、最新の他キャラクタ情報が受信されるまでの間に、当該プレイヤによって操作される他プレイヤキャラクタ421が、このような初登場他プレイヤキャラクタ421として、他のビデオゲーム装置100において認識されるものとなる。初登場他プレイヤキャラクタ421であると判定されれば、制御部103は、当該初登場他プレイヤキャラクタ421の位置を、抽出した最新の2つの他キャラクタ情報のうち、最新の他キャラクタ情報に含まれるプレイヤキャラクタ位置情報のもので決定する(ステップS243)。
【0112】
ステップS242において、初登場他プレイヤキャラクタ421でないと判定されれば、制御部103は、当該他プレイヤキャラクタ421について、抽出したプレイヤキャラクタ位置情報から位置を決定する(ステップS244)。
【0113】
ステップS243、或いはステップS244において、当該抽出されたプレイヤキャラクタ位置情報から他プレイヤキャラクタ421の位置が決定されると、他キャラクタ情報バッファA605、および他キャラクタ情報バッファB606に記憶された最新の2つの他キャラクタ情報にプレイヤキャラクタ位置情報が未だに抽出されていない他プレイヤキャラクタ421があるか否かを判定する(ステップS245)。
【0114】
プレイヤキャラクタ位置情報が未だに抽出されていない他プレイヤキャラクタ421があると判定されれば、処理をステップS241に戻す。ステップS245において、プレイヤキャラクタ位置情報が未だに抽出されていない他プレイヤキャラクタ421はいないと判定されれば、他プレイヤキャラクタ421が通過するシナリオ扉411、或いはクライアント扉412に対して、扉状態テーブル610で管理する開閉フラグ613を基にシナリオ扉411、クライアント扉412の位置を決定する(ステップS246)。
【0115】
ここで、開扉維持設定(開閉フラグ613が1のまま更新)がされた扉の位置は、当該扉の開扉状態が維持される位置で決定される。また、開扉設定(開閉フラグ613が1で更新)がされた扉の位置は、例えば、当該扉が、当該開扉設定された直後の1フレームから次の2フレーム分の期間(計10分の1秒間)で開扉状態となるように、それぞれのフレーム(30分の1秒毎)で位置が決定されるものとなる。一方、閉扉設定(開閉フラグ613が0で更新)がされた扉の位置は、例えば、当該他キャラクタ情報記憶処理が行われた直後における1フレームから、次の2フレーム分の期間(計10分の1秒間)で当該扉が閉じられる状態となるように、それぞれのフレーム(30分の1秒毎)で位置が決定されるものとなる。
【0116】
各々他プレイヤキャラクタ421について決定された位置と、自プレイヤキャラクタ421の位置と、シナリオ扉411、およびクライアント扉412の位置とでそれらの表示画像を合成し、ビデオゲーム装置100の表示画面122に表示するための表示画像を生成する(ステップS247)。そして、表示画像生成処理を終了する。
【0117】
つまり、この表示画像生成処理では、まず、サーバ装置200から送信された他キャラクタ情報は、その送られてきた順番に他キャラクタ情報バッファA605、他キャラクタ情報バッファB606に記憶されるものとなる。そして、リアルタイムで生成されるプレイヤキャラクタ421の画像に対して、これらサーバ装置200から送信され、ビデオゲーム装置100において受信・記憶された最新の他キャラクタ情報と、その1.0秒前に受信した他キャラクタ情報を基に画像を生成する。
【0118】
よって、ビデオゲーム装置100では、他キャラクタ情報を受信するタイミング(サーバ装置200から送信されるタイミング)である1.0秒の遅延時間で、他キャラクタ情報によって生成された画像が表示画面122に表示されるものとなる。
【0119】
ここで、1.0秒間隔での他キャラクタ情報の送信であり、その1.0秒の期間の他キャラクタ情報は受信されないため、1.0秒前の他キャラクタ情報、及び最新の他キャラクタ情報から、その間の変化が滑らかになるように、その期間については、他プレイヤキャラクタ421の位置の変化を30分の1秒毎の等間隔に分割して補間し、その30分の1秒毎に分割された位置の情報を基に、表示画面122に表示される画像を生成するものとなっている。 そして、他キャラクタ情報に扉を通過する他プレイヤキャラクタ421が存在する場合には、その生成された画像に、当該他プレイヤキャラクタ421の通過する扉を開く画像を合成し、当該扉がすでに開扉状態にあれば、開扉状態を維持する画像を合成する。
【0120】
図10は、自己のビデオゲーム装置100の表示画面122に表示される、フィールド400における他プレイヤキャラクタ421の位置の推移と開扉とを模式的に示す図である。ここでは、ある他プレイヤキャラクタ421の位置が、クライアント扉412を越えて異なるエリア402へとその位置が変化していくものであると、1.0秒毎にサーバ装置200から送信される他キャラクタ情報により抽出されたときの他プレイヤキャラクタ421の位置の推移と開扉とが示される。
【0121】
図10(a)に示すように、フィールド400上に存在する他プレイヤキャラクタ421は、1.0秒ごとに送信される他キャラクタ情報により、図10(b)に示すように、その位置が変化するものとなる。ここで、1.0秒ごとに送信される他キャラクタ情報により抽出される他プレイヤキャラクタ421の位置は、間隔の空いたものであるが、実際に表示画面122に表示される他プレイヤキャラクタ421は、その位置が、受信した最新の2つの他キャラクタ情報を基に、30分の1秒間隔で補間され、間隔の短いスムーズな移動をしている様子が表示されるものとなる。
【0122】
そして、次の1.0秒の経過で、クライアント扉412を越えて異なるエリア402へと移動した位置となる他キャラクタ情報が受信されると、図10(c)に示すように、次の1.0秒の経過までの30分の1秒間隔の位置を補間して、当該クライアント扉412を越えた異なるエリア402の位置まで移動させるとともに、その移動の状態に合わせたクライアント扉412の開扉の表示がされるものとなる。
【0123】
以上説明したように、この実施の形態にかかるオンラインゲームでは、ビデオゲーム装置100のプレイヤにより操作される自プレイヤキャラクタ421以外の他プレイヤキャラクタ421のフィールド400における位置を示すプレイヤキャラクタ位置情報を含む他キャラクタ情報が、1.0秒毎のタイミングでサーバ装置200からビデオゲーム装置100に送信される。ビデオゲーム装置100では、前回の他キャラクタ情報に応じた表示画像より後から、最新の他キャラクタ情報に応じた表示画像よりも前までを補間する補間画像を順次生成して、ゲームの動画像を表示装置121の表示画面122に表示させるものとなっている。
【0124】
ところで、各ビデオゲーム装置100のプレイヤにより操作されるプレイヤキャラクタ421を含む複数のプレイヤキャラクタ421が移動するフィールド400は、壁401によってエリア402毎に区分けされ、そのエリア402間の移動は扉(シナリオ扉411及びクライアント扉412)を通じてのみ行える。そして、自プレイヤキャラクタ421だけでなく、他プレイヤキャラクタ421もこの扉を通過するとき、ビデオゲーム装置100の表示画面122には、扉を開いて通過する自プレイヤキャラクタ421、および/または他プレイヤキャラクタ421の様子が表示される。
【0125】
ビデオゲーム装置100でこのオンラインゲームを行うためのデータには、プレイヤキャラクタ421が扉を開いて通過する様子を表示するためのグラフィックデータが含まれているものの、サーバ装置200でオンラインゲームを行うためのデータには、このようなグラフィックデータが含まれていないばかりか、扉の開閉のためのデータも含まれていない(但し、シナリオ扉411については、施錠/解錠のためのデータは含まれている)。
【0126】
もっとも、ビデオゲーム装置100では、最新のプレイヤキャラクタ位置情報で示される他プレイヤキャラクタ421のフィールド400上の位置と、1つ前に受信したプレイヤキャラクタ位置情報で示される他プレイヤキャラクタ421のフィールド400上の位置とを比較して、扉を通過する位置への移動があったか否かを判定している。そして、扉を通過する位置への移動があった場合には、順次生成する補間画像(他プレイヤキャラクタ421の位置が少しずつ変わる)において、他プレイヤキャラクタ421が通過する間、扉を開いている画像が生成されるものとなっている。
【0127】
これにより、サーバ装置200でプレイヤキャラクタ421が扉を開いているかどうかの管理を行っていなくても、ビデオゲーム装置100の表示画面122において、他のプレイヤキャラクタ421が扉をすり抜けてエリア402間を移動してしまうというような不自然な画像が表示されることを防ぐことができる。また、サーバ装置200で扉が開かれているかどうかの管理を行わなくてもよいので、サーバ装置200において必要な記憶容量と処理負荷を少なくすることができ、その結果として、ゲームに参加可能な最大プレイヤキャラクタ数を多くすることができる。
【0128】
また、そのように開扉された扉について、ビデオゲーム装置100では、さらに新たに受信されたプレイヤキャラクタ位置情報に基づいて当該扉を通る他プレイヤキャラクタ421がいるか否かを判定している。そして、その開いている扉を通る他プレイヤキャラクタ421が存在しない場合には、当該扉に対して閉扉設定を行い閉じた状態にする。これにより、扉が自動的に開閉する様子を示す表示画像を生成することが可能となる。
【0129】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【0130】
上記実施の形態では、シナリオ扉411を開扉するとき、当該シナリオ扉411が解錠されているか否かに関わらず、ビデオゲーム装置100はサーバ装置200に対してシナリオ扉開扉請求情報を送信し、それを基にサーバ装置200側の処理で当該シナリオ扉411の開扉設定を行うようにしていた。また、シナリオ扉411を閉扉するときも、所定の時間内にプレイヤキャラクタ421が通過しないことを判定した後、サーバ装置200側の処理で当該シナリオ扉411の閉扉設定をするようにしていた。
【0131】
これに対して、本発明ではサーバ装置200におけるシナリオ扉411の管理については、解錠されているか否かの管理だけを行う(開閉の管理を行わない)ようにしてもよい。そして、解錠された後のシナリオ扉411は、ビデオゲーム装置100において管理しているクライアント扉412の開閉と同様に管理するようにしてもよい。
【0132】
具体的には、サーバ装置200のシナリオ扉管理テーブル510においては、扉ID511、条件情報512、及び解錠フラグ513の情報を管理して、シナリオ扉411に対しては開扉設定、開扉維持設定、または閉扉設定を実行(開閉フラグ514の更新)することなく、ビデオゲーム装置100には解錠されたか否かの情報をシナリオ扉状態情報として送信する。このシナリオ扉状態情報を受信したビデオゲーム装置100では、それを基に、扉状態テーブル610におけるシナリオ扉411の解錠フラグ612が1に更新され、同時に開閉フラグ613も1に更新されて当該シナリオ扉411の開扉設定が行われる。
【0133】
このように、シナリオ扉411の解錠がされると、以降の当該シナリオ扉411の開閉にかかる処理は、クライアント扉412に係る処理と同様に実行する。例えば、自プレイヤキャラクタ421の開扉行動に対しては、図8に示すゲーム装置処理のステップS207の判定がシナリオ扉411であるとの判定がされた後、ビデオゲーム装置100の制御部103は、さらに当該シナリオ扉411が解錠されたか否かの判定を行い、解錠されていないと判定されればステップS209の処理へ、解錠されているものと判定されればステップS208の処理で当該シナリオ扉411の開扉設定を行う。
【0134】
一方、他プレイヤキャラクタ421が解錠されたシナリオ扉411を通過するときは、制御部103は、他キャラクタ情報処理(図9(a))のステップS223〜S228において実行されるクライアント扉412にかかる処理と同じ処理を、当該解錠されたシナリオ扉411に対して実行する。このため、サーバ装置200からビデオゲーム装置100に、シナリオ扉411が解錠状態にあるか否かについてシナリオ扉状態情報を送信すれば、ビデオゲーム装置100では、クライアント扉412と同様に、当該シナリオ扉411を開く画像を表示画面122において表示することができる。つまり、サーバ装置200では、施錠/解錠については管理する必要があるものの、シナリオ扉411についても開閉を管理する必要がないので、さらに処理負荷を小さくすることができる。
【0135】
上記実施の形態では、シナリオ扉411を解錠する条件として、プレイヤキャラクタ421がカギを所持している状態で開扉行動を行わせること、或いは敵キャラクタ422を倒すことによって、シナリオ扉411が解錠されるものとしていたが、これに限らず、例えば、プレイヤキャラクタ421にシナリオ扉411を解錠するためのスイッチを押させたり、或いはプレイヤキャラクタ421の種類(例えば、性別、大人・子供など)によって解錠できたりするものであってもよい。
【0136】
例えば、スイッチがプレイヤキャラクタ421に押されることを条件として解錠されるシナリオ扉411の場合には、プレイヤキャラクタ421を当該スイッチのあるフィールド400上の場所まで移動させ、プレイヤの入力部161の操作でプレイヤキャラクタ421に当該スイッチを押す行動をさせる。
【0137】
このスイッチを押す行動に関する情報が、当該スイッチに対応するシナリオ扉411のIDと併せてシナリオ扉開扉請求情報としてサーバ装置200へと送信されるものとなり、それが、扉を開ける条件を満たすものとサーバ装置200で判定されたときに、当該シナリオ扉411は解錠される。プレイヤキャラクタ421の種類であれば、シナリオ扉の前で開扉行動を行い、当該プレイヤキャラクタ421のものとして記憶されるステータス等の情報を、当該シナリオ扉411のIDと併せてシナリオ扉開扉請求情報としてサーバ装置200へと送信するものとなる。
【0138】
上記の実施の形態では、エリア402間の移動では常に、シナリオ扉411、或いはクライアント扉412の何れかを通って、移動するものとしていた。しかし、これに限らず、プレイヤキャラクタ421が所定のアイテム、例えば、壁401をよじ登るためのかぎ爪などを持っていた場合には、扉を通らずともエリア402間の移動ができるようにしてもよい。
【0139】
このとき、例えば、壁401で仕切られたエリア402の間に設置された扉(シナリオ扉411及びクライアント扉412)の代わりに、または扉とともに、フィールド上の特に仕切りのない部分(例えば、フィールド上に設置された道など)に設けられた門などを適用してもよい。門については、開閉や施錠/解錠の扱いは、上記の実施の形態における扉と同様である。
【0140】
また、フィールドの高低差を移動するためのオブジェクトとして伸縮が可能な梯子を用いるものとしてもよい。このように、伸縮可能な梯子を用いる場合にあっては、上記の実施の形態におけるクライアント扉412と同様に伸縮を自在にできる梯子を扱うことができる(扉が閉じた状態が梯子を縮めた状態に、扉を開けた状態が梯子を伸ばした状態に対応する)。また、シナリオ扉411の施錠された状態には、ストッパなどにより梯子を伸ばすことができない状態を対応させることができる。
【0141】
さらには、例えば、通過すればプレイヤキャラクタ421をジャンプさせることができるような、トランポリンがフィールド400に存在する場合に、他プレイヤキャラクタ421の移動が当該トランポリンを通過するようなものであったら、表示画面122にその通過したタイミングで当該他プレイヤキャラクタ421をジャンプさせるような表示を行うこともできる。
【0142】
また、通過すればその付近が明るく表示されるような、自動で点灯する街灯がフィールド400に存在する場合には、他プレイヤキャラクタ421の移動がその街灯の付近を通過するようなものであったら、表示画面122にその通過したタイミングでその街灯の付近を明るくさせる表示を行うこともできる。
【0143】
上記の実施の形態では、サーバ装置200から送信される他キャラクタ情報は1.0秒毎の間隔で送信されるものとしていたが、サーバ装置200からの他キャラクタ情報の送信間隔は、各ビデオゲーム装置100のプレイヤが他のプレイヤのプレイヤキャラクタに違和感を感じない程度には短く、且つ扉の開放とプレイヤキャラクタの通過が順序立ててプレイヤに認識される程度には長い時間間隔であれば、1.0秒毎よりも長くても短くてもよい。
【0144】
上記の実施の形態では、サーバ装置200から送信される他キャラクタ情報を基に、他プレイヤキャラクタ421についてのみ、表示画面122においてフィールド400を移動する様子や開扉行動を行っている様子を表示するものとして、敵キャラクタ422のようなノンプレイヤキャラクタについてはとくに述べなかった。
【0145】
しかしながら、このようなフィールド400上の移動や開扉行動を、サーバ装置200の制御により、敵キャラクタ422のようなノンプレイヤキャラクタが行えるようにしてもよい。このような場合には、図9に示す表示画像生成処理において、敵キャラクタ422の位置も決定するものとし、また、他キャラクタ情報バッファA605、或いは他キャラクタ情報バッファB606に記憶された他キャラクタ情報から、当該敵キャラクタ422の位置が、扉を越えて異なるエリア402へと移動するものであったら、その移動の状態に合わせて表示画面122に開扉の様子を表示するようにする。
【0146】
上記の実施の形態では、ビデオゲームを実行するプラットフォームとなる装置としてゲーム専用機であるビデオゲーム装置100を適用していた。これに対して、本発明は、ビデオゲーム装置100と同様の構成要素を備え、ネットワーク接続機能を有するものであれば、汎用のパーソナルコンピュータなどをプラットフォームとして実現されるものとしてもよい。表示装置121及びサウンド出力装置125をビデオゲーム本体101と同一の筐体内に納めた構成を有する携帯ゲーム機(アプリケーションの実行機能を有する携帯電話機を含む)を適用するものとしてもよい。
【0147】
記録媒体131としては、DVD−ROMやCD−ROMの代わりに半導体メモリーカードを適用することができる。このメモリーカードを挿入するためのカードスロットをDVD/CD−ROMドライブ113の代わりに設けることができる。汎用のパーソナルコンピュータの場合には、本発明に係るプログラム及びデータを記録媒体131に格納して提供するのではなく、HDD107に予め格納して提供してもよい。本発明にかかるプログラム及びデータを格納して提供するための記録媒体は、ハードウェアの物理的形態及び流通形態に応じて任意のものを適用することができる。
【0148】
上記の実施の形態では、ビデオゲーム装置100のプログラム及びデータは、記録媒体131に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク上に存在するサーバ装置が有する固定ディスク装置に格納しておき、ビデオゲーム本体101にネットワークを介して配信するものとしてもよい。ビデオゲーム装置100において、通信インターフェイス115がサーバ装置から受信したプログラム及びデータは、HDD107に保存し、実行時にRAM105にロードすることができる。サーバ装置200のプログラム及びデータについても同様である。
【符号の説明】
【0149】
100 ビデオゲーム装置
101 ビデオゲーム本体
103 制御部
105 RAM
107 HDD
109 サウンド処理部
111 グラフィック処理部
112 フレームメモリ
113 DVD/CD−ROMドライブ
115 通信インターフェイス
117 インターフェイス部
119 内部バス
121 表示装置
122 表示画面
125 サウンド出力装置
131 記録媒体
200 サーバ装置
201 サーバ本体
203 制御部
205 RAM
207 HDD
213 DVD/CD−ROMドライブ
215 通信インターフェイス
219 内部バス
231 記録媒体
【技術分野】
【0001】
本発明は、複数のプレイヤが参加してゲームが進行するオンラインゲームに関し、特に、通常状態ではプレイヤキャラクタの通過を阻止する通過阻止オブジェクトがフィールド上に設定されたゲームに関するものである。
【背景技術】
【0002】
ロールプレイングゲーム(RPG)においては、一般に、プレイヤが仮想世界のプレイヤキャラクタに成り代わって、プレイヤキャラクタを仮想空間としてのフィールド上で移動させながら、課題を解決してゆくことでゲームが進行して行く。
【0003】
そして、このフィールドには、広大な平地のフィールドや、それよりも狭い屋内のフィールドなどが用いられるものである。特に、屋内の場合には、プレイヤキャラクタは、屋内・屋外を往来することができるようになっており、その出入口には扉が設定されている場合がある。また、屋内が複数の部屋に仕切られている場合には、各部屋の間に扉が設定されている場合がある。
【0004】
このような扉を通ってプレイヤキャラクタが建物の内外を出入りしたり、異なる部屋に出入りしたりするものとしたゲームにおいて、プレイヤが所定の操作をしてプレイヤキャラクタにその扉を開く動作を行わせることで、プレイヤの操作するビデオゲーム装置の表示画面において、その扉を開く様子を自然に表示させ、異なる部屋の間を往来させるものがある(例えば、特許文献1)。
【0005】
一方、近年のネットワーク技術の進歩に伴い、複数のプレイヤが参加してゲームが進行するオンラインゲーム(ネットワークゲーム)が盛んに行われるようになってきている。オンラインRPGでは、複数のプレイヤが操作するプレイヤキャラクタの位置等を管理し、ゲームの進行を集中的にサーバ装置で行い、その結果をビデオゲーム装置に送信するものとなっている。また、このようなオンラインRPGでも、クライアント装置に対する表示に係る情報の送信頻度を少なくし、クライアント装置で表示画面を補間して表示させることにより、サーバ装置で複数のプレイヤが操作するプレイヤキャラクタの位置等を集中的に管理しながらもより多くのプレイヤの参加を可能としたMMORPG(Massively Multiplayer Online RPG)が行われるようになってきている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−195826号公報(段落0108等)
【発明の概要】
【発明が解決しようとする課題】
【0007】
扉を開かないままプレイヤキャラクタを通過させてしまうと不自然な画像になってしまうが、複数のプレイヤが参加するオンラインゲームにおいては、各ビデオゲーム装置では、他のプレイヤのプレイヤキャラクタがどの様にフィールド上を移動するかは分からない。他のプレイヤのプレイヤキャラクタが扉の手前まで移動したからと言って、そのまま扉を通過するとは限らない。従って、他のプレイヤに対応するプレイヤキャラクタによって上記扉の開閉が行われる様子を各ビデオゲーム装置において自然に表示させるためには、フィールド上に設置された扉の開閉もサーバ装置で集中的に管理する必要がある。
【0008】
そのため、オンラインゲームにおいて、複数のプレイヤキャラクタを参加させ、上記のような扉の開閉をサーバ装置によって集中的に管理すると、プレイヤキャラクタの数が増えれば増えるほど扉の開閉動作が頻繁に行われるようになり、サーバ装置の処理負荷を増大させるものとなってしまう。このように処理負荷が増大することとによって、ビデオゲーム装置に送信するゲームの進行に応じた情報の送信に遅延が生じる可能性が増加し、それによって、ビデオゲーム装置の表示画面に扉が開く様子を自然に表示できなくなる虞もある。
【0009】
一方、処理負荷の増大を見込んで参加可能なプレイヤキャラクタの数を制限すると、ゲームの面白みを半減させてしまう。上記のように多くのプレイヤの参加を可能としたMMORPGの場合でも、扉の開閉をサーバ装置において集中的に管理するという手法を踏襲していたため、その管理のための処理負荷の増大が同様に起こるものとなり、その分だけ参加可能なプレイヤキャラクタの数を制限しなくてはならなかった。
【0010】
本発明は、オンラインゲーム全体の進行を管理するサーバ装置に負荷をかけることなく、通常状態ではプレイヤキャラクタの通過を阻止する通過阻止オブジェクトを自然な態様で表示できるオンラインゲームシステム等を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の第1の観点にかかるオンラインゲームシステムは、サーバ装置と、該サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有する複数のクライアント装置とを備え、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを提供するオンラインゲームシステムであって、前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、前記複数のクライアント装置の各々は、前記通過阻止オブジェクトを含む前記フィールドと、該フィールドに存在するキャラクタのグラフィックデータを予め格納したグラフィックデータ格納手段と、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置に表示される表示画面を1つだけ生成する時間間隔よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段と、前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段と、前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段とを備え、前記サーバ装置は、前記複数のクライアント装置の各々に前記位置情報を送信する位置情報送信手段を備え、前記表示制御手段は、前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、前記通過判定手段により前記特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成することを特徴とする。
【0012】
例えば、前記通過阻止オブジェクトは、扉や門とすることができる。この場合には、扉や門が閉じた状態を通常状態、扉や門が開いた状態を特別状態とすることができる。或いは、前記通過阻止オブジェクトは、高低差のあるフィールドをキャラクタが移動する場合に用いる伸縮自在な梯子とすることもできる。この場合には、梯子が縮んだ状態を通常状態、梯子が伸びた状態を特別状態とすることができる。
【0013】
上記オンラインゲームシステムでは、クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定キャラクタのフィールドにおける位置を示す位置情報が、当該クライアント装置において表示装置に表示される表示画面を1つだけ生成する時間間隔よりも長い所定の長期時間間隔で、サーバ装置からクライアント装置に送信される。クライアント装置では、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成して、ゲームの動画像を表示装置に表示させるものとなっている。
【0014】
ところで、各クライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタが移動するフィールドには、通過阻止オブジェクトが設定されている。この通過阻止オブジェクトは、通常状態ではキャラクタの通過を阻むものとなっており、キャラクタがこれを通過するためには、特別状態に変化させなければならない。しかし、クライアント装置には通過阻止オブジェクトのグラフィックデータが格納されているものの、サーバ装置では、この追加阻止オブジェクトが通常状態にあるか特別状態にあるかの管理を行っていない。
【0015】
もっとも、クライアント装置では、今回受信した位置情報で示される特定のキャラクタのフィールド上の位置と、これよりも前に受信した位置情報で示される特定キャラクタのフィールド上の位置とを比較し、通過阻止オブジェクトを通過する位置への移動があったかどうかを判定している。そして、通過阻止オブジェクトを通過する位置への移動があった場合には、順次生成する補間画面(特定のキャラクタの位置が少しずつ変わる)において、特定のキャラクタが通過できる期間以上の期間で通過阻止オブジェクトを特別状態に変化させるものとしている。
【0016】
これにより、サーバ装置で通過阻止オブジェクトが通常状態にあるか特別状態にあるかの管理を行っていなくても、特定のキャラクタが本来通過できないはずの通常状態にある通過阻止オブジェクトをすり抜けてフィールド上を移動してしまうというようなことを防ぐことができる。また、サーバ装置で通過阻止オブジェクトの状態に関する管理を行わなくてもよいので、サーバ装置において必要な記憶容量と処理負荷とを少なくすることができるものとなる。
【0017】
上記オンラインゲームシステムにおいて、前記表示制御手段は、前記通過判定手段により前記特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動していないと判定された場合において、該通過阻止オブジェクトが前記特別状態に変化させられていた場合には、該通過阻止オブジェクトを前記通常状態に変化させた表示画面を生成するものとすることができる。
【0018】
この場合、特定のキャラクタが過去に通過したことがあって特別状態に変化させられていても、新たに受信した位置情報に基づいては特定のキャラクタが通過することのない通過阻止オブジェクトは、自動的に通常状態に変化させられることとなる。これにより、例えば、前記通過阻止オブジェクトを扉や門とした場合に、これらが自動的に開閉する様子を示す画面を生成することが可能となる。
【0019】
上記オンラインゲームシステムにおいて、前記複数のクライアント装置の各々は、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタを前記フィールド上で移動させるための指令を入力する移動指令入力手段と、前記移動指令入力手段から入力された指令に応じた前記プレイヤキャラクタの移動情報を前記サーバ装置に送信する移動情報送信手段とをさらに備え、前記サーバ装置は、前記複数のクライアント装置の各々の前記移動情報送信手段から送信された移動情報を受信する移動情報受信手段と、前記移動情報受信手段が受信した移動情報に基づいて、前記複数のクライアント装置のプレイヤの各々が操作する複数のプレイヤキャラクタの位置をそれぞれ管理するプレイヤキャラクタ位置管理手段とをさらに備え、前記特定のキャラクタは、他のクライアント装置のプレイヤにより操作されるプレイヤキャラクタであり、前記位置情報送信手段は、前記プレイヤキャラクタ位置管理手段を参照して前記位置情報を生成し、前記複数のクライアント装置の各々に送信するものとすることができる。
【0020】
この場合、複数のクライアント装置の各々は、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタをプレイヤによって入力された指令によりフィールド上で移動させるが、その入力された指令に応じた移動情報をサーバ装置に送信するものとしている。サーバ装置は、各々のクライアント装置から送信された移動情報を受信し、これに基づいて複数のクライアント装置のプレイヤの各々が操作する複数のプレイヤキャラクタの位置をそれぞれ管理するものとしている。これにより、サーバ装置の制御によりフィールド上を移動させられるノンプレイヤキャラクタだけではなく、他のクライアント装置のプレイヤによる操作でフィールド上を移動させられるプレイヤキャラクタについても特定のキャラクタとして適用することができる。
【0021】
なお、各クライアント装置からサーバ装置に送信される移動情報は、移動指令入力手段から入力された指令の内容としても、該入力された指令に基づくプレイヤキャラクタの移動先の位置としてもよい。また、移動情報の送信時間間隔は、サーバ装置からクライアント装置に位置情報が送信される長期時間間隔よりも短い時間間隔としてもよいが、長期時間間隔と同じ時間間隔であっても構わない。
【0022】
上記オンラインゲームシステムにおいて、前記通過阻止オブジェクトは、ゲームの進行状況に応じて前記通常状態から前記特別状態に変化することができない完全阻止状態と前記通常状態から前記特別状態に変化することができる不完全阻止状態との何れかに設定される特別通過阻止オブジェクトと、ゲームの進行状況に関わらずに前記通常状態から前記特別状態に変化することができる通常通過阻止オブジェクトとを含み、前記サーバ装置は、前記特別通過阻止オブジェクトが前記完全阻止状態と前記不完全阻止状態の何れにあるかを管理する特別通過阻止オブジェクト管理手段と、前記位置情報送信手段による前記位置情報の送信とともに、前記特別通過阻止オブジェクトが前記完全阻止状態と前記不完全阻止状態の何れにあるかを示す特別通過阻止オブジェクト情報を送信する特別通過阻止オブジェクト情報送信手段とをさらに備え、前記複数のクライアント装置の各々は、前記特別通過阻止オブジェクト情報送信手段から送信された特別通過阻止オブジェクト情報を受信する特別通過阻止オブジェクト情報受信手段をさらに備え、前記表示制御手段は、前記特別通過阻止オブジェクトについては前記特別通過阻止オブジェクト情報が前記不完全阻止状態にあることを示すことを条件として、前記通過判定手段により前記特定のキャラクタが前記特別通過阻止オブジェクトを通過した位置に移動したと判定された場合に、前記特別通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成するものとすることができる。
【0023】
ここで、前記通過阻止オブジェクトを扉や門とした場合には、扉や門が施錠された状態を完全阻止状態、扉や門が解錠された状態を不完全阻止状態とすることができる。或いは、前記通過阻止オブジェクトを伸縮自在な梯子とした場合には、ストッパなどにより梯子を伸ばすことができない状態を完全阻止状態、梯子を伸ばすことができる状態を不完全阻止状態とすることができる。
【0024】
フィールド上に設定される通過阻止オブジェクトには、完全阻止状態と不完全阻止状態の何れかに設定される特別阻止オブジェクトが含まれているが、特別阻止オブジェクトが完全阻止状態と不完全阻止状態の何れにあるかは、サーバ装置において管理されている。もっとも、サーバ装置は、特別通過阻止オブジェクトが完全阻止状態と不完全阻止状態の何れにあるかを示す特別通過阻止オブジェクト情報を、特定のキャラクタのフィールド上における位置を示す位置情報とともにクライアント装置に送信するものとしている。
【0025】
クライアント装置は、特別状態に変化することができない完全阻止状態にも設定され得る特別通過阻止オブジェクトであっても、特別通過阻止オブジェクト情報により不完全阻止状態にあることが示されている場合には、常に特別状態に変化させることができる通常通過阻止オブジェクトと同様に扱うことができるものとなる。このため、サーバ装置では、特別通過阻止オブジェクトについても、完全阻止状態にあるか不完全阻止状態にあるかだけを管理し、その状態を示す特別通過阻止オブジェクト情報をクライアント装置に送信すれば、通常通過阻止オブジェクトと同様に通常状態にあるか特別状態にあるかの管理を行わないでも済むものとなる。
【0026】
上記目的を達成するため、本発明の第2の観点にかかるクライアント装置は、サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有し、プレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを実行するクライアント装置であって、前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、前記クライアント装置は、前記通過阻止オブジェクトを含む前記フィールドのグラフィックデータと、該フィールドに存在するキャラクタのグラフィックデータとを予め格納したグラフィックデータ格納手段と、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置の1フレーム期間よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段と、前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段と、前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段とを備え、前記表示制御手段は、前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、前記通過判定手段により今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成することを特徴とする。
【0027】
上記目的を達成するために、本発明の第3の観点にかかるプログラムは、サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有するコンピュータ装置に、プレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを実行させるためのプログラムであって、前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、前記プログラムは、前記通過阻止オブジェクトを含む前記フィールドのグラフィックデータと、該フィールドに存在するキャラクタのグラフィックデータとを予め格納したグラフィックデータ格納手段と、当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置の1フレーム期間よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段、前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段、及び、前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段として前記コンピュータ装置を機能させ、前記表示制御手段は、前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、前記通過判定手段により今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成することを特徴とする。
【図面の簡単な説明】
【0028】
【図1】本発明の実施の形態にかかるネットワークゲームシステムの構成を示すブロック図である。
【図2】図1のビデオゲーム装置の構成を示すブロック図である。
【図3】図1のサーバ装置の構成を示すブロック図である。
【図4】本発明の実施の形態にかかるネットワークゲームのフロアの例を示す図である。
【図5】図3のサーバ装置において管理されるテーブル群を示す図である。
【図6】図2のビデオゲーム装置において記憶されるデータの構成、および管理される扉状態テーブルを示す図である。
【図7】図3のサーバ装置において実行される処理のフローチャートを示す図である。
【図8】図2のビデオゲーム装置において実行される処理のフローチャートを示す図である。
【図9】図2のビデオゲーム装置において実行される他キャラクタ情報処理、および表示画像生成処理のフローチャートを示す図である。
【図10】本発明の実施の形態にかかるネットワークゲームの他プレイヤキャラクタ位置の推移と扉の開閉とを模式的に示す図である。
【発明を実施するための形態】
【0029】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0030】
この実施の形態にかかるオンラインゲームは、同時に当該オンラインゲームに参加する複数のプレイヤが、仮想空間として、エリアに区分けされたフィールドにおいて、自己のプレイヤキャラクタを各エリアに順次移動させながら進行するMMORPGである。また、それぞれのエリアは扉でのみ通じており、プレイヤは、自己のプレイヤキャラクタにその扉を開けさせて、エリアの往来をさせることになる。
【0031】
図1は、この実施の形態にかかるネットワークゲームが行われるネットワークゲームシステムの構成を示すブロック図である。図示するように、このネットワークゲームシステムは、複数のビデオゲーム装置100と、サーバ装置200とから構成される。ビデオゲーム装置100は、それぞれサーバ装置200にネットワーク151を介して接続される。
【0032】
サーバ装置200は、この実施の形態にかかるネットワークゲームの全体の進行を管理するものであり、各ビデオゲーム装置100の接続状況と各ビデオゲーム装置100にて行われているゲームの状況を管理している。ビデオゲーム装置100は、いずれもネットワークを介してサーバ装置200に接続することが可能である。
【0033】
次に、ビデオゲーム装置100及びサーバ装置200の構成について説明する。図2は、図1のビデオゲーム装置100の構成を示すブロック図である。図示するように、ビデオゲーム装置100は、ビデオゲーム本体101を中心として構築される。このビデオゲーム本体101は、その内部バス119に接続された制御部103、RAM(Random Access Memory)105、ハードディスク・ドライブ(HDD)107、サウンド処理部109、グラフィック処理部111、DVD/CD−ROMドライブ113、通信インターフェイス115、及びインターフェイス部117を含む。
【0034】
このビデオゲーム本体101のサウンド処理部109は、スピーカーであるサウンド出力装置125に、グラフィック処理部111は、表示画面122を有する表示装置121に接続されている。DVD/CD−ROMドライブ113には、記録媒体(本実施の形態では、DVD−ROMまたはCD−ROM)131を装着し得る。通信インターフェイス115は、ネットワーク151に接続される。インターフェイス部117には、入力部(コントローラ)161とメモリカード162とが接続されている。
【0035】
制御部103は、CPU(Central Processing Unit)やROM(Read Only Memory)などを含み、HDD107や記録媒体131上に格納されたプログラムを実行し、ビデオゲーム本体101の制御を行う。制御部103は、内部タイマを備えている。RAM105は、制御部103のワークエリアである。HDD107は、プログラムやデータを保存するための記憶領域である。サウンド処理部109は、制御部103により実行されているプログラムがサウンド出力を行うよう指示している場合に、その指示を解釈して、サウンド出力装置125にサウンド信号を出力する。
【0036】
グラフィック処理部111は、制御部103から出力される描画命令に従って、フレームメモリ(フレームバッファ)112(図では、グラフィック処理部111の外側に描かれているが、グラフィック処理部111を構成するチップに含まれるRAM内に設けられる)に画像を展開し、表示装置121の表示画面122上に画像を表示するビデオ信号を出力する。グラフィック処理部111から出力されるビデオ信号に含まれる画像の1フレーム時間は、例えば30分の1秒である。
【0037】
もっとも、仮想空間に存在するオブジェクトのうちで画像の表示対象となる視認範囲に含まれる他のプレイヤキャラクタを示す他キャラクタ情報は、サーバ装置200から1.0秒毎にしか送られてこないため、1フレーム毎の画像生成に用いられる他のプレイヤキャラクタの位置にかかる情報は、後述する表示画像生成処理において補間され、その補間された位置によって当該他のプレイヤキャラクタが表示画面122に表示されるものとなる。
【0038】
DVD/CD−ROMドライブ113は、記録媒体131に対しプログラム及びデータの読み出しを行う。通信インターフェイス115は、ネットワーク151に接続され、他のコンピュータ(サーバ装置200)との通信を行う。入力部161は、方向キー、操作ボタン等を備え、方向キーの操作により後述するプレイヤキャラクタを移動させ、操作ボタンの操作により、プレイヤキャラクタに開扉等を行わせるものである。操作ボタンは、所定の指示を入力するために用いられる。
【0039】
インターフェイス部117は、入力部161からの入力データをRAM105に出力し、制御部103がそれを解釈して演算処理を実施する。インターフェイス部117は、また、制御部103からの指示に基づいて、RAM105に記憶されているゲームの進行状況を示すデータをメモリーカード162に保存させ、メモリーカード162に保存されている中断時のゲームのデータを読み出して、RAM105に転送する。
【0040】
ビデオゲーム装置100でゲームを行うためのプログラム及びデータは、最初例えば記録媒体131に記憶されている。記録媒体131に記憶されているデータとしては、ゲーム空間に存在するオブジェクト(ゲーム空間に形成されたフィールド、自身及び他者のプレイヤキャラクタ)を構成するためのグラフィックデータを全て含んでいる。
【0041】
従って、視認範囲と当該視認範囲に含まれる各オブジェクトの位置と、選択的な形態を有するオブジェクト(自身及び他者のプレイヤキャラクタ)についてはその形態を特定可能な情報(例えば、部位毎に選択される顔体の形態や服装などの識別情報)とを受信して、表示画面122に表示される画像を描画するものとなっている。
【0042】
記録媒体131に記憶されたプログラム及びデータは、実行時にDVD/CD−ROMドライブ113により読み出されて、RAM105にロードされる。制御部103は、RAM105にロードされたプログラム及びデータを処理し、描画命令をグラフィック処理部111に出力し、サウンド出力の指示をサウンド処理部109に出力する。制御部103が処理を行っている間の中間的なデータは、RAM105に記憶される。
【0043】
図3は、図1のサーバ装置200の構成を示すブロック図である。図示するように、サーバ装置200は、サーバ本体201を中心として構築される。サーバ本体201は、その内部バス219に接続された制御部203、RAM205、ハード・ディスク・ドライブ(HDD)207、DVD/CD−ROMドライブ213、通信インターフェイス215を含む。DVD/CD−ROMドライブ213には、記録媒体(DVD−ROMまたはCD−ROM)231を装着し得る。
【0044】
制御部203は、CPU(Central Processing Unit)やROM(Read Only Memory)などを含み、HDD207や記録媒体231上に格納されたプログラムを実行し、サーバ装置200の制御を行う。制御部203は、現在時刻を計時する内部タイマを備えている。RAM205は、制御部203のワークエリアである。HDD207は、プログラムやデータを保存するための記憶領域である。通信インターフェイス215は、ネットワーク151に接続され、ビデオゲーム装置100のそれぞれとの通信を行う。
【0045】
サーバ装置200でネットワークゲームを行うためのプログラム及びデータは、最初例えば記録媒体231に記憶され、ここからHDD207にインストールされる。そして、このプログラム及びデータは実行時にHDD207から読み出されて、RAM205にロードされる。制御部203は、RAM205にロードされたプログラム及びデータを処理し、ビデオゲーム装置100のそれぞれから送られてくる情報を元にネットワークゲームを進行させる。制御部203が処理を行っている間の中間的なデータは、RAM205に記憶される。
【0046】
図4は、この実施の形態にかかるオンラインゲームで用いられる仮想空間としてのフィールドの例を示す図である。図示するように、このオンラインゲームにおけるフィールド400には、壁401で仕切られ、複数に区分けされたエリア402が設けられている。
【0047】
これらのエリア402は、また、複数の扉を通じて異なるエリア402と繋がっており、フィールド400に複数存在するプレイヤキャラクタ421はこの扉を通ってエリア402間を移動することができる。この複数のプレイヤキャラクタ421のフィールド400上の位置は、サーバ装置200によって管理され、定期的(例えば1.0秒毎)にビデオゲーム装置100に送信される(後で詳述する)。
【0048】
このように繋がったエリア402間において、プレイヤキャラクタ421を移動させるためには、プレイヤは、自己のプレイヤキャラクタ421をこの扉の前に移動させ、開扉の行動(以下、「開扉行動」とする)をさせ、扉を開くことが必要となる。扉が開くと、プレイヤキャラクタ421を、このプレイヤキャラクタ421が存在しているエリア402から、異なるエリア402へと移動させることができるようになる。
【0049】
このように、扉が開き、異なるエリア402へとプレイヤキャラクタ421が移動すると、当該扉が開いて、所定の時間(例えば、1.0秒)までに当該扉を通過して移動するプレイヤキャラクタ421が存在しなければ、当該扉は閉じ、再び前に存在したエリア402へと戻るためには、その扉の前で、プレイヤキャラクタ421に開扉行動をさせ、扉を開いて移動させる。
【0050】
そして、フィールド400にはこのような扉として、シナリオ扉411及びクライアント扉412の何れかが設けられている。シナリオ扉411とは、そのシナリオ扉411を通じて、プレイヤキャラクタ421がエリア402間を移動できるようになることで、このオンラインゲームの全体の進行に影響するものであり、後述する所定の条件が満たされるまでは施錠されている。つまり、施錠されているシナリオ扉411を通じた、プレイヤキャラクタ421のエリア402間の移動はできないものとなっている。
【0051】
そして、所定の条件が満たされた場合には、シナリオ扉411は解錠され、プレイヤキャラクタ421が異なるエリア402へと移動することができるようになる。このような所定の条件が満たされたか否かの判定は、サーバ装置200によって行われ、そのシナリオ扉411が解錠されているか否か、および開閉状態(シナリオ扉411が開いているか、閉じているか)の管理も行われている(後で詳述する)。
【0052】
一方、クライアント扉412とは、そのクライアント扉412を通じて、プレイヤキャラクタ421がエリア402間を移動できるようになることで、このオンラインゲームの全体の進行に影響するものではなく、プレイヤキャラクタは、このクライアント扉412を通じて繋がるエリア402間を自由に移動できる。
【0053】
また、このように設けられたエリア402には、複数のプレイヤキャラクタ421以外にも、複数の敵キャラクタ422と、宝箱423が存在している。敵キャラクタ422は、プレイヤキャラクタ421がこの敵キャラクタ422とバトルをすることによって倒すことができるものとなっている。
【0054】
これら複数の敵キャラクタ422の中には、倒すことがシナリオ扉411を解錠するための条件として定められている敵キャラクタ422が存在している。そのような敵キャラクタ422を倒すことができれば、その条件に対応したシナリオ扉411が解錠され、そのシナリオ扉411を通じて繋がる異なるエリア402へと、プレイヤキャラクタ421を移動させることができるようになる。
【0055】
また、宝箱423は、プレイヤキャラクタ421をその付近まで移動させることによって、開けることができ、そのプレイヤキャラクタ421は開けた宝箱423に対応したアイテムを得ることができ、そして、そのプレイヤキャラクタ421が所持するアイテム(以下、「所持アイテム」とする)とすることができる。フィールド400上に存在する複数の宝箱423で得られるアイテムの中には、シナリオ扉411を解錠するための条件として定められた、カギが含まれる。
【0056】
このカギをプレイヤキャラクタ421が所持した状態で、当該プレイヤキャラクタ421に、カギを所持することが条件となっているシナリオ扉411の前に移動させ、開扉の行動を行わせると、当該シナリオ扉411を解錠することができる。
【0057】
このように、プレイヤは、自己のプレイヤキャラクタ421(以下、「自プレイヤキャラクタ421」とする)に、シナリオ扉411、或いはクライアント扉412を開かせることで、エリア402間を移動させることができ、これら一連の動作を、ビデオゲーム装置100の表示画面122を通して見ることができる。一方、フィールド400には複数の他のプレイヤによって操作されるプレイヤキャラクタ421(以下、「他プレイヤキャラクタ421」とする)も同様に、シナリオ扉411、或いはクライアント扉412を開き、エリア402間を移動している。
【0058】
このような他プレイヤキャラクタ421の様子は、表示画面122において見ることができるものであり、サーバ装置200で管理され、1.0秒毎に送信される当該他プレイヤキャラクタ421の位置に関する情報を基に生成された画像によって、表示画面122に表示されるものとなる(後で詳述する)。また、このように管理されるプレイヤキャラクタ421の位置の情報は、このオンラインゲームに参加する全てのビデオゲーム装置100からサーバ装置200に対して、例えば0.5秒毎の間隔で送信されている。
【0059】
次にこの実施の形態にかかるオンラインゲームを進行させるため、サーバ装置200において管理されるデータ、及びビデオゲーム装置100において記憶されるデータについて説明する。図6は、この実施の形態にかかるオンラインゲームを実行させるために、サーバ装置200のRAM205(またはHDD207)において管理されるテーブルを示す図である。
【0060】
図5(a)は、フィールド400における全てのプレイヤキャラクタ421、および敵キャラクタ422の位置に係る情報を管理するためのフィールドキャラクタテーブル500であり、図5(b)は、フィールド400に存在する全てのシナリオ扉411の、解錠条件、及び解錠されたか否かを管理するためのシナリオ扉管理テーブル510である。図5(a)に示すフィールドキャラクタテーブル500には、フィールド400に存在する全てのキャラクタ毎にキャラクタID501と、そのフィールド400上の位置情報502とが記憶される。
【0061】
キャラクタID501は、各プレイヤのプレイヤキャラクタ421、及び敵キャラクタ422を一意に識別するための識別情報である。また、位置情報502は、プレイヤキャラクタ421及び敵キャラクタ422のフィールド400上での位置を示すものである。このフィールドキャラクタテーブル500の内容は、1.0秒毎にこのオンラインゲームに参加する全てのプレイヤのビデオゲーム装置100に送信されるサーバ情報の一つである他キャラクタ情報として送信されるものである。
【0062】
なお、この他キャラクタ情報には、ビデオゲーム装置100毎に、当該ビデオゲーム装置100によって操作される自プレイヤキャラクタ421の存在するエリア402、並びにそれに隣接するエリア402に存在している他プレイヤキャラクタ421及び敵キャラクタ422の位置情報(位置そのものの情報。入力した内容の情報であってもよい)が含まれるものとなっている。そして、フィールドキャラクタテーブル500に登録される各プレイヤキャラクタ421の位置情報502は、0.5秒毎にそれぞれのビデオゲーム装置100から送信されるビデオゲーム情報としてプレイヤキャラクタの位置情報(以下、「プレイヤキャラクタ位置情報」とする)をサーバ装置200が受信することで、それぞれ更新されるものとなる。
【0063】
図5(b)に示すシナリオ扉管理テーブル510には、フィールド400に存在する全てのシナリオ扉411毎に扉ID511と、解錠条件情報512と、解錠フラグ513と、開閉フラグ514とが記憶される。扉ID511は、シナリオ扉411、及びクライアント扉412を一意に識別するための識別情報であるが、このシナリオ扉管理テーブル510で管理される扉ID511は、シナリオ扉411に係るものだけである。解錠条件情報512は、シナリオ扉411毎に設定されている解錠のための条件を含んだ情報である。
【0064】
解錠フラグ513には、シナリオ扉411毎に、解錠されている場合には1が、施錠されている場合には0がそれぞれ設定されている。開閉フラグ514には、シナリオ扉411毎に、開かれている場合には1が、閉じられている場合には0がそれぞれ設定されている。シナリオ扉管理テーブル510の内容のうち、扉ID511と、解錠フラグ513と、開閉フラグ514とについては、1.0秒毎にこのオンラインゲームに参加する全てのビデオゲーム装置100に送信されるサーバ情報としてシナリオ扉状態情報が送信されるものである。
【0065】
そして、解錠条件として敵キャラクタ422を倒すことが定められたシナリオ扉411の解錠フラグ513は、未だに0が設定されていたとき、当該敵キャラクタ422が倒されることによって1に更新され、開閉フラグ514も1に更新される。また、ビデオゲーム装置100から送信されるビデオゲーム情報としてシナリオ扉開扉請求情報も送信されるときにおいて、サーバ装置200で受信されるシナリオ扉開扉請求情報に含まれる開扉の対象となるシナリオ扉411につき、条件が満たされるものであれば、そのシナリオ扉411の扉ID511に対応する解錠フラグ513は1に更新され、開閉フラグ514も1に更新される。
【0066】
このように、ビデオゲーム情報としてシナリオ扉開扉請求情報が送信されるとき、当該シナリオ扉開扉請求情報には、シナリオ扉411の扉IDと、後述する所持アイテム情報とが含まれている。その所持アイテム情報の内容が、当該扉IDと対応するシナリオ扉管理テーブル510で管理される扉ID511の解錠条件情報512が示す通りの条件を満たすものであった場合、当該扉ID511の解錠フラグ513が1に更新されるものとなる。
【0067】
ここで、解錠条件情報512が示す通りの条件を満たすとは、例えば、シナリオ扉管理テーブル510に記憶される解錠条件情報512が「カギを所持」というものであった場合、当該所持アイテム情報の内容にカギが含まれるものであれば、当該解錠条件情報512が示す通りの条件を満たすものとなる。一方、当該所持アイテム情報の内容にカギが含まれるものでなければ、解錠請求がされた扉ID511の解錠フラグ513は更新されない。
【0068】
一方、既に解錠されているシナリオ扉411を対象としてシナリオ扉開扉請求情報が送信されるとき、当該シナリオ扉開扉請求情報には、シナリオ扉411の扉IDのみが含まれており、当該扉IDと同じである、シナリオ扉管理テーブル510で管理される扉ID511の解錠フラグ513が1であれば、開閉フラグ514が1に更新される。
【0069】
続いて、図6は、ビデオゲーム装置100において記憶されるデータの構成、及び記憶されるテーブルを示す図である。図6(a)には、ビデオゲーム装置100において記憶されるデータの構成を示し、また、図6(b)には、フィールド400上の全てのシナリオ扉411、及びクライアント扉412が解錠されているか否かの状態を示す扉状態テーブル610を示す。
【0070】
図6(a)に図示するように、ビデオゲーム装置100のRAM105(またはHDD107)には、キャラクタID601と、位置情報602と、所持アイテム情報603と、送信情報バッファ604と、他キャラクタ情報バッファA605と、他キャラクタ情報バッファB606とが記憶される。
【0071】
キャラクタID601は、このキャラクタID601が記憶されるビデオゲーム装置100で操作するプレイヤキャラクタ421に固有のものであり、前記した図5(a)に示したフィールドキャラクタテーブル500で管理されるキャラクタID501と対応するものである。このキャラクタID501とキャラクタID601とによって、フィールド400上で移動中のプレイヤキャラクタ421と、それを操作する当該ビデオゲーム装置100とが一意的に特定されるものとなる。
【0072】
位置情報602は、当該ビデオゲーム装置100で操作されるプレイヤキャラクタ421のフィールド400上での位置に関する情報を記憶するものであり、プレイヤの入力部161の移動操作がされることにより、更新されるものとなる。
【0073】
所持アイテム情報603は、当該ビデオゲーム装置100で操作されるプレイヤキャラクタ421が所持しているアイテムの情報を記憶するものであり、上記した宝箱423を開けることにより、シナリオ扉411を解錠するためのカギが得られれば、所持アイテム情報603には、そのカギにかかる情報が含まれるものとなる。
【0074】
送信情報バッファ604は、プレイヤがプレイヤキャラクタ421にシナリオ扉411の開扉行動を行わせた場合において、当該ビデオゲーム装置100から0.5秒毎に送信されるビデオゲーム情報として送信される開扉請求情報を、一時的に記憶させておくためのものであり、開扉請求情報が記憶されていれば、0.5秒毎のタイミングで送信されるビデオゲーム情報に含まれるプレイヤキャラクタ位置情報とともにその開扉請求情報が送信されるものとなる。
【0075】
他キャラクタ情報バッファA605及び他キャラクタ情報バッファB606は、サーバ装置200から1.0秒毎に送信される他キャラクタ情報について、受信された最新のもの2つを、一時的に記憶させておくためのバッファである(図示はしないが、他キャラクタ情報バッファA605、B606の何れが最新のものであるかを示す情報がRAM105に記憶されている)。これらの情報は、後述する表示画像生成処理をおこなうために用いられることになり、随時、最新の他キャラクタ情報が受信されれば、すでに、他キャラクタ情報バッファA605、或いは他キャラクタ情報バッファB606に記憶されている他キャラクタ情報のうち古いものが、当該最新の他キャラクタ情報によって更新される。
【0076】
さらに、図6(b)に示すように、ビデオゲーム装置100には、扉状態テーブル610が記憶される。図示するように、扉状態テーブル610には、扉ID611と、解錠フラグ612と、開閉フラグ613が含まれている。
【0077】
扉ID611とは、フィールド400に存在する全てのシナリオ扉411、及びクライアント扉412について、それぞれが一意に識別できるものとなっており、図5(b)に示すシナリオ扉管理テーブル510に記憶されるシナリオ扉411の扉ID511と、扉状態テーブル610のシナリオ扉411の扉ID611とは、一意的に対応するものである。このように、シナリオ扉411はサーバ装置200でも扉ID511が管理されるが、クライアント扉412は、プレイヤキャラクタ421に自由に開かせることができる扉であるため、ビデオゲーム装置100でのみ、その扉IDが管理されるものとなる。
【0078】
解錠フラグ612には、扉毎に、解錠されている場合には1が、施錠されている場合には0がそれぞれ設定されているが、クライアント扉412は、常に自由にプレイヤキャラクタ421に開かせることが可能なものであるため、クライアント扉412に対応する解錠フラグ612は常に1が設定されている。なお、シナリオ扉411であるかクライアント扉412であるかは、扉ID611を参照すれば区別できるものとなっている。
【0079】
一方、シナリオ扉411に対応する解錠フラグ612は、サーバ装置から1.0秒毎にサーバ情報として送信されるシナリオ扉状態情報の内容、つまり、図5(b)に示すシナリオ扉管理テーブル510における、シナリオ扉411毎に設定される解錠フラグ513の値に基づいて更新されるものとなる。
【0080】
開閉フラグ613には、扉毎に、開かれている場合には1が、閉じられている場合には0がそれぞれ設定されている。クライアント扉412は、常に自由にプレイヤキャラクタ421に開かせることが可能なものであるため、自プレイヤキャラクタ421がクライアント扉412に対して開扉行動を行ったとき、或いは他プレイヤキャラクタ422がクライアント扉412を通過するときには、当該クライアント扉412の開閉フラグ613は1に更新される。ここで、すでに開扉されているクライアント扉412を他プレイヤキャラクタ421が通過する場合には当該クライアント扉412の開閉フラグ613は1のまま維持される。
【0081】
一方、シナリオ扉411に対応する開閉フラグ613は、解錠フラグ612と同様に、サーバ装置から1.0秒毎にサーバ情報として送信されるシナリオ扉状態情報の内容、つまり、図5(b)に示すシナリオ扉管理テーブル510における、シナリオ扉411毎に設定される開閉フラグ514の値に基づいて更新される。
【0082】
すなわち、シナリオ扉411に関して、1.0秒毎に、図5(b)に示すシナリオ扉管理テーブル510の解錠フラグ513、及び開閉フラグ514に設定されたそれぞれの値と、図6(b)に示す扉状態テーブル610の解錠フラグ612及び開閉フラグ613に設定されたそれぞれの値とは同じ値で対応している。
【0083】
以下、この実施の形態にかかるサーバ装置200及びビデオゲーム装置100において、それぞれ実行される処理について説明する。図7(a)は、サーバ装置200において実行される処理を示すフローチャートである。
【0084】
サーバ装置200の制御部203は、各々のビデオゲーム装置100から送信されるビデオゲーム情報を受信して、そこに含まれるプレイヤキャラクタ位置情報から、当該ビデオゲーム装置100で操作されるプレイヤキャラクタ421に対応する、フィールドキャラクタテーブル500における位置502を更新するキャラクタ位置更新処理(後で詳述する)を実行する(ステップS101)。
【0085】
その後、制御部203は、ビデオゲーム情報に含まれるシナリオ扉の開扉請求情報によってシナリオ扉411を開くための開扉設定、および一定時間キャラクタが通過していないシナリオ扉411を閉じるための閉扉設定を各シナリオ扉411に設定するためのシナリオ扉開閉状態処理(後で詳述する)を実行する(ステップS102)。
【0086】
その後、制御部203は、このオンラインゲームを進行させるためのゲーム処理として、バトルの進行等を行う(ステップS103)。その後、制御部203は、サーバ装置200における処理の開始から、或いは以前の1.0秒経過のときから、1.0秒が経過したか否かを判定する(ステップS104)。1.0秒経過したと判定されれば、制御部203は、他キャラクタ情報、及びシナリオ扉状態情報を含んだサーバ情報をこのオンラインゲームに参加する全てのプレイヤのビデオゲーム装置100に対して送信する(ステップS105)。そして、ステップS104において1.0秒が経過していないと判定された場合、または、ステップS105においてサーバ情報が送信された後、ステップS101の処理に戻る。
【0087】
図7(b)は、サーバ装置200において実行される処理のうち、キャラクタ位置更新処理を示すフローチャートである。まず、サーバ装置200の制御部203は、1または複数のビデオゲーム情報としてプレイヤキャラクタ位置情報が受信されたか否かを判定する(ステップS111)。プレイヤキャラクタ位置情報が受信されていれば、その各々のプレイヤキャラクタ位置情報のうち、異常のあるプレイヤキャラクタ位置情報があるか否かを判定する(ステップS112)。ここで、異常のあるプレイヤキャラクタ位置情報とは、受信した位置情報の位置によって、プレイヤキャラクタ421の位置が、解錠され、開かれていないシナリオ扉411を通過した位置となるような場合である。
【0088】
このように、異常のあるプレイヤキャラクタ位置情報があると判定されれば、制御部203は、サーバ装置200で管理されるフィールドキャラクタテーブル500において、当該プレイヤキャラクタ位置情報にかかるプレイヤキャラクタ421のキャラクタIDに対応するレコードの位置情報502を、その受信したプレイヤキャラクタ位置情報の位置によってではなく、その解錠され、開かれていないシナリオ扉411の手前の位置によって更新する(ステップS113)。
【0089】
ステップS112において、受信したプレイヤキャラクタ位置情報のうち異常のあるプレイヤキャラクタ位置情報がないと判定された場合、またはステップS113の後、制御部203は、異常のあるプレイヤキャラクタ位置情報ではないプレイヤキャラクタ位置情報にかかるプレイヤキャラクタ421のキャラクタIDに対応するレコードの位置情報502を、その受信したプレイヤキャラクタ位置情報の位置によって更新する(ステップS114)。ステップS111においてプレイヤキャラクタ位置情報が受信されていないと判定された場合、またはステップS114において位置情報502を更新した後、制御部203は、キャラクタ位置情報更新処理を終える。
【0090】
図7(c)は、サーバ装置200において実行される処理のうち、シナリオ扉状態情報更新処理を示すフローチャートである。まず、サーバ装置200の制御部203は、受信したビデオゲーム情報として開扉請求情報が受信されているか否かを判定する(ステップS121)。開扉請求情報が受信されていると判定されれば、制御部203は、その開扉請求情報に異常があるか否かを判定する(ステップS122)。
【0091】
開扉請求情報に異常がないと判定されれば、制御部203は、開扉請求情報に含まれる開扉を請求するシナリオ扉411がすでに解錠されているか否か(シナリオ扉管理テーブル510で管理される解錠フラグが1となっているか否か)を判定する(ステップS123)。開扉を請求するそのシナリオ扉411が解錠されていないと判定されれば、制御部203は、その解錠請求情報に含まれるシナリオ扉の扉ID、所持アイテム情報が、当該扉IDに対応するシナリオ扉管理テーブル510で管理されるID511のレコードにおける解錠条件情報512に示される条件を満たしているか否かを判定する(ステップS124)。
【0092】
条件を満たしていると判定されれば、制御部203は、シナリオ扉管理テーブル510で管理される当該シナリオ扉411の解錠フラグ513を1に更新することで、開扉が請求されているシナリオ扉411の解錠設定を行う(ステップS125)。そして、開扉請求情報において開扉を請求するシナリオ扉411について、ステップS123において、すでに解錠されているものと判定された場合、またはステップS125において、解錠設定がされた後には、制御部203は、シナリオ扉管理テーブル510で管理される当該シナリオ扉411の開閉フラグ514を1に更新することで、シナリオ扉411の開扉設定を行う(ステップS126)。
【0093】
ステップS121において開扉請求情報が受信されていないと判定された場合、ステップS122において開扉請求情報に異常があると判定された場合、ステップS124においてシナリオ扉411を解錠する条件を満たしていないと判定された場合、またはステップS126においてシナリオ扉411の開扉設定を行った後には、制御部203は、フィールド400上の全てのシナリオ扉411のうち、一定時間(例えば、1.0秒)にかけて開扉されたままのシナリオ扉411があるか否かの判定を行う(ステップS127)。
【0094】
開扉されたままのシナリオ扉411がないと判定されれば、制御部203は、シナリオ扉状態情報更新処理を終える。一方、開扉されたままのシナリオ扉411があると判定されれば、制御部203は、当該開扉されたままのシナリオ扉411について、シナリオ扉管理テーブル510で管理される開閉フラグ514を0に更新することで、当該シナリオ扉411の閉扉設定を行う(ステップS128)。そして、シナリオ扉状態情報更新処理を終える。
【0095】
図8は、ビデオゲーム装置100において実行される処理を示すフローチャートである。処理を開始すると、まず、ビデオゲーム装置100の制御部103は、ビデオゲーム装置100における処理の開始から、或いは以前の30分の1秒の経過のときから、30分の1秒が経過したか否かを判定する(ステップS201)。
【0096】
30分の1秒が経過したと判定されれば、制御部103は、サーバ装置200から送信されたサーバ情報を受信したか否かを判定する(ステップS202)。サーバ情報を受信したと判定されれば、制御部103は、サーバ情報として受信した他キャラクタ情報をビデオゲーム装置100に記憶し、その他キャラクタ情報に含まれる他プレイヤキャラクタ421の位置に関連する処理を実行する他キャラクタ情報処理(後で詳述する)を行う(ステップS203)。
【0097】
その後、サーバ情報として受信したシナリオ扉状態情報に含まれる、図5(b)に示したシナリオ扉管理テーブル510で管理される解錠フラグ513、及び開閉フラグ514の値によって、図6(b)に示した扉状態テーブル610のシナリオ扉411に関する解錠フラグ612、及び開閉フラグ613の値を更新する(ステップS204)。
【0098】
ステップS202においてサーバ情報を受信していないと判定された場合、またはステップS204において、解錠フラグ612、及び開閉フラグ613を更新した後には、制御部103は、プレイヤによる入力部161の操作により、何れかの入力が検出されたか否かの判定を行う(ステップS205)。入力が検出されたと判定されれば、制御部103は、検出された入力が、プレイヤキャラクタ421に開扉行動をさせるための入力であったか否かを判定する(ステップS206)。
【0099】
開扉行動をさせるための入力であったと判定されれば、制御部103は、当該開扉行動がシナリオ扉411に対して実行されたものであったか否かの判定を行う(ステップS207)。開扉行動がシナリオ扉411に対して実行されたものでないと判定された場合(クライアント扉412に対して実行された場合)、制御部103は、その開扉行動が実行されたクライアント扉412の開扉設定(開扉フラグ613を1に更新)を行う(ステップS208)。
【0100】
ステップS207において、開扉行動がシナリオ扉411に対して実行されたものであると判定された場合、制御部103は、ビデオゲーム装置100に記憶される、当該シナリオ扉411の扉IDと、当該シナリオ扉411がまだ解錠されていない(解錠フラグ612に0が設定されている)場合には所持アイテム情報603の内容とを含めた開扉請求情報を、送信情報バッファ604に記憶する(ステップS209)。
【0101】
ステップS206において、開扉行動をさせるための入力でないと判定された場合(移動をさせるための入力であった場合)、ステップS208において、クライアント扉412の開扉設定が行われた後、またはステップS209において、開扉請求情報が送信情報バッファ604に記憶された後には、制御部103は、検出された入力を基に、ビデオゲーム装置100に記憶される位置情報602を更新する(ステップS210)。
【0102】
ステップS205において、入力が検出されなかったと判定された場合、またはステップS210において、位置情報602が更新された場合には、制御部103は、表示画像生成処理(後で詳述する)を行う(ステップS211)ステップS201において、30分の1秒が経過していないと判定された場合、またはステップS211において、表示画像生成処理を行った場合には、制御部103は、ビデオゲーム装置100における処理の開始から、或いは以前の0.5秒の経過のときから、0.5秒が経過したか否かを判定する(ステップS212)。0.5秒が経過していないと判定されれば、制御はステップS201の処理へと戻る。
【0103】
ステップS212において、0.5秒が経過したと判定されれば、制御部103は、ビデオゲーム装置100に記憶される位置情報602と、送信情報バッファ604に解錠請求情報が記憶されている場合には、当該解錠請求情報とを、ビデオゲーム情報としてサーバ装置200に送信する(ステップS213)。そして、ステップS201の処理に戻る。
【0104】
次に図9(a)は、ビデオゲーム装置100において実行される他キャラクタ情報記憶処理を示すフローチャートである。まず、ビデオゲーム装置100の制御部103は、受信した他キャラクタ情報を他キャラクタ情報バッファA605、或いは他キャラクタ情報バッファB606のうち時間的に古い他キャラクタ情報が記憶されている方に記憶(更新)する(ステップS221)。続いて、他キャラクタ情報バッファA605、及び他キャラクタ情報バッファB606に記憶される1つ前に受信した他キャラクタ情報と、新たに受信された他キャラクタ情報とをチェックする(ステップS222)。続いて、制御部103は、チェックされた最新の2つの他キャラクタ情報における他プレイヤキャラクタ421について、クライアント扉412を通過するものが存在するか否かを判定する(ステップS223)。
【0105】
クライアント扉412を通過する他プレイヤキャラクタ421が存在すると判定されれば、制御部103は、当該他プレイヤキャラクタ421が通過するクライアント扉412に、開扉状態にあるクライアント扉412(前回の他キャラクタ情報受信の時から開扉されたままの扉)が含まれているか否かを判定する(ステップS224)。開扉状態にあるクライアント扉412が含まれていると判定されれば、制御部103は、当該クライアント扉412について、扉状態テーブル610で管理される開閉フラグ613を1のままに設定しておくことで、開扉状態のまま維持する当該クライアント扉412の開扉維持設定を行う(ステップS225)。
【0106】
また、制御部103は、ステップS224において、開扉状態にあるクライアント扉412が含まれていないと判定した場合には、他プレイヤキャラクタ421が通過するクライアント扉412について、扉状態テーブル610で管理される開閉フラグ613を1に更新することで、当該クライアント扉412の開扉設定を行う(ステップS226)。一方、ステップS225において、開扉状態を維持するクライアント扉412について開扉維持設定がされた後には、当該クライアント扉412以外であって、他プレイヤキャラクタ421が通過するクライアント扉412についても、ステップS226において開扉設定を行う。
【0107】
ステップS223において、クライアント扉412を通過する他プレイヤキャラクタ421が存在しないと判定された場合、またはステップS226において開扉設定を行った後には、制御部103は、フィールド400上の全てのクライアント扉412のうち、一定時間(例えば、1.0秒)にかけて開扉されたままのクライアント扉412があるか否かの判定を行う(ステップS227)。
【0108】
開扉されたままのクライアント扉412がないと判定されれば、制御部103は、他キャラクタ情報処理を終える。一方、開扉されたままのクライアント扉412があると判定されれば、制御部103は、当該開扉されたままのクライアント扉412について、扉状態管理テーブル610で管理される開扉フラグ613を0に更新することで、当該クライアント扉412の閉扉設定を行う(ステップS228)。そして、他キャラクタ情報処理を終了する。
【0109】
図9(b)は、ビデオゲーム装置100において実行される表示画像生成処理を示すフローチャートである。まず、ビデオゲーム装置100の制御部103は、ビデオゲーム装置100の他キャラクタ情報バッファA605、および他キャラクタ情報バッファB606に記憶された最新の2つの他キャラクタ情報から、他プレイヤキャラクタ421毎にプレイヤキャラクタ位置情報を順次抽出する(ステップS241)。
【0110】
続いて、制御部103は、当該他プレイヤキャラクタ421が当該位置を抽出した最新の2つの他キャラクタ情報のうち、最新の他キャラクタ情報にのみ含まれているもの(当該最新の他キャラクタ情報において、初めて存在が認識された他プレイヤキャラクタ421。以下、「初登場他プレイヤキャラクタ421」とする。)であるか否かを判定する(ステップS242)。
【0111】
例えば、このオンラインゲームに新たなプレイヤが参加してきた場合において、一つ前の他キャラクタ情報が受信されてから、最新の他キャラクタ情報が受信されるまでの間に、当該プレイヤによって操作される他プレイヤキャラクタ421が、このような初登場他プレイヤキャラクタ421として、他のビデオゲーム装置100において認識されるものとなる。初登場他プレイヤキャラクタ421であると判定されれば、制御部103は、当該初登場他プレイヤキャラクタ421の位置を、抽出した最新の2つの他キャラクタ情報のうち、最新の他キャラクタ情報に含まれるプレイヤキャラクタ位置情報のもので決定する(ステップS243)。
【0112】
ステップS242において、初登場他プレイヤキャラクタ421でないと判定されれば、制御部103は、当該他プレイヤキャラクタ421について、抽出したプレイヤキャラクタ位置情報から位置を決定する(ステップS244)。
【0113】
ステップS243、或いはステップS244において、当該抽出されたプレイヤキャラクタ位置情報から他プレイヤキャラクタ421の位置が決定されると、他キャラクタ情報バッファA605、および他キャラクタ情報バッファB606に記憶された最新の2つの他キャラクタ情報にプレイヤキャラクタ位置情報が未だに抽出されていない他プレイヤキャラクタ421があるか否かを判定する(ステップS245)。
【0114】
プレイヤキャラクタ位置情報が未だに抽出されていない他プレイヤキャラクタ421があると判定されれば、処理をステップS241に戻す。ステップS245において、プレイヤキャラクタ位置情報が未だに抽出されていない他プレイヤキャラクタ421はいないと判定されれば、他プレイヤキャラクタ421が通過するシナリオ扉411、或いはクライアント扉412に対して、扉状態テーブル610で管理する開閉フラグ613を基にシナリオ扉411、クライアント扉412の位置を決定する(ステップS246)。
【0115】
ここで、開扉維持設定(開閉フラグ613が1のまま更新)がされた扉の位置は、当該扉の開扉状態が維持される位置で決定される。また、開扉設定(開閉フラグ613が1で更新)がされた扉の位置は、例えば、当該扉が、当該開扉設定された直後の1フレームから次の2フレーム分の期間(計10分の1秒間)で開扉状態となるように、それぞれのフレーム(30分の1秒毎)で位置が決定されるものとなる。一方、閉扉設定(開閉フラグ613が0で更新)がされた扉の位置は、例えば、当該他キャラクタ情報記憶処理が行われた直後における1フレームから、次の2フレーム分の期間(計10分の1秒間)で当該扉が閉じられる状態となるように、それぞれのフレーム(30分の1秒毎)で位置が決定されるものとなる。
【0116】
各々他プレイヤキャラクタ421について決定された位置と、自プレイヤキャラクタ421の位置と、シナリオ扉411、およびクライアント扉412の位置とでそれらの表示画像を合成し、ビデオゲーム装置100の表示画面122に表示するための表示画像を生成する(ステップS247)。そして、表示画像生成処理を終了する。
【0117】
つまり、この表示画像生成処理では、まず、サーバ装置200から送信された他キャラクタ情報は、その送られてきた順番に他キャラクタ情報バッファA605、他キャラクタ情報バッファB606に記憶されるものとなる。そして、リアルタイムで生成されるプレイヤキャラクタ421の画像に対して、これらサーバ装置200から送信され、ビデオゲーム装置100において受信・記憶された最新の他キャラクタ情報と、その1.0秒前に受信した他キャラクタ情報を基に画像を生成する。
【0118】
よって、ビデオゲーム装置100では、他キャラクタ情報を受信するタイミング(サーバ装置200から送信されるタイミング)である1.0秒の遅延時間で、他キャラクタ情報によって生成された画像が表示画面122に表示されるものとなる。
【0119】
ここで、1.0秒間隔での他キャラクタ情報の送信であり、その1.0秒の期間の他キャラクタ情報は受信されないため、1.0秒前の他キャラクタ情報、及び最新の他キャラクタ情報から、その間の変化が滑らかになるように、その期間については、他プレイヤキャラクタ421の位置の変化を30分の1秒毎の等間隔に分割して補間し、その30分の1秒毎に分割された位置の情報を基に、表示画面122に表示される画像を生成するものとなっている。 そして、他キャラクタ情報に扉を通過する他プレイヤキャラクタ421が存在する場合には、その生成された画像に、当該他プレイヤキャラクタ421の通過する扉を開く画像を合成し、当該扉がすでに開扉状態にあれば、開扉状態を維持する画像を合成する。
【0120】
図10は、自己のビデオゲーム装置100の表示画面122に表示される、フィールド400における他プレイヤキャラクタ421の位置の推移と開扉とを模式的に示す図である。ここでは、ある他プレイヤキャラクタ421の位置が、クライアント扉412を越えて異なるエリア402へとその位置が変化していくものであると、1.0秒毎にサーバ装置200から送信される他キャラクタ情報により抽出されたときの他プレイヤキャラクタ421の位置の推移と開扉とが示される。
【0121】
図10(a)に示すように、フィールド400上に存在する他プレイヤキャラクタ421は、1.0秒ごとに送信される他キャラクタ情報により、図10(b)に示すように、その位置が変化するものとなる。ここで、1.0秒ごとに送信される他キャラクタ情報により抽出される他プレイヤキャラクタ421の位置は、間隔の空いたものであるが、実際に表示画面122に表示される他プレイヤキャラクタ421は、その位置が、受信した最新の2つの他キャラクタ情報を基に、30分の1秒間隔で補間され、間隔の短いスムーズな移動をしている様子が表示されるものとなる。
【0122】
そして、次の1.0秒の経過で、クライアント扉412を越えて異なるエリア402へと移動した位置となる他キャラクタ情報が受信されると、図10(c)に示すように、次の1.0秒の経過までの30分の1秒間隔の位置を補間して、当該クライアント扉412を越えた異なるエリア402の位置まで移動させるとともに、その移動の状態に合わせたクライアント扉412の開扉の表示がされるものとなる。
【0123】
以上説明したように、この実施の形態にかかるオンラインゲームでは、ビデオゲーム装置100のプレイヤにより操作される自プレイヤキャラクタ421以外の他プレイヤキャラクタ421のフィールド400における位置を示すプレイヤキャラクタ位置情報を含む他キャラクタ情報が、1.0秒毎のタイミングでサーバ装置200からビデオゲーム装置100に送信される。ビデオゲーム装置100では、前回の他キャラクタ情報に応じた表示画像より後から、最新の他キャラクタ情報に応じた表示画像よりも前までを補間する補間画像を順次生成して、ゲームの動画像を表示装置121の表示画面122に表示させるものとなっている。
【0124】
ところで、各ビデオゲーム装置100のプレイヤにより操作されるプレイヤキャラクタ421を含む複数のプレイヤキャラクタ421が移動するフィールド400は、壁401によってエリア402毎に区分けされ、そのエリア402間の移動は扉(シナリオ扉411及びクライアント扉412)を通じてのみ行える。そして、自プレイヤキャラクタ421だけでなく、他プレイヤキャラクタ421もこの扉を通過するとき、ビデオゲーム装置100の表示画面122には、扉を開いて通過する自プレイヤキャラクタ421、および/または他プレイヤキャラクタ421の様子が表示される。
【0125】
ビデオゲーム装置100でこのオンラインゲームを行うためのデータには、プレイヤキャラクタ421が扉を開いて通過する様子を表示するためのグラフィックデータが含まれているものの、サーバ装置200でオンラインゲームを行うためのデータには、このようなグラフィックデータが含まれていないばかりか、扉の開閉のためのデータも含まれていない(但し、シナリオ扉411については、施錠/解錠のためのデータは含まれている)。
【0126】
もっとも、ビデオゲーム装置100では、最新のプレイヤキャラクタ位置情報で示される他プレイヤキャラクタ421のフィールド400上の位置と、1つ前に受信したプレイヤキャラクタ位置情報で示される他プレイヤキャラクタ421のフィールド400上の位置とを比較して、扉を通過する位置への移動があったか否かを判定している。そして、扉を通過する位置への移動があった場合には、順次生成する補間画像(他プレイヤキャラクタ421の位置が少しずつ変わる)において、他プレイヤキャラクタ421が通過する間、扉を開いている画像が生成されるものとなっている。
【0127】
これにより、サーバ装置200でプレイヤキャラクタ421が扉を開いているかどうかの管理を行っていなくても、ビデオゲーム装置100の表示画面122において、他のプレイヤキャラクタ421が扉をすり抜けてエリア402間を移動してしまうというような不自然な画像が表示されることを防ぐことができる。また、サーバ装置200で扉が開かれているかどうかの管理を行わなくてもよいので、サーバ装置200において必要な記憶容量と処理負荷を少なくすることができ、その結果として、ゲームに参加可能な最大プレイヤキャラクタ数を多くすることができる。
【0128】
また、そのように開扉された扉について、ビデオゲーム装置100では、さらに新たに受信されたプレイヤキャラクタ位置情報に基づいて当該扉を通る他プレイヤキャラクタ421がいるか否かを判定している。そして、その開いている扉を通る他プレイヤキャラクタ421が存在しない場合には、当該扉に対して閉扉設定を行い閉じた状態にする。これにより、扉が自動的に開閉する様子を示す表示画像を生成することが可能となる。
【0129】
本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
【0130】
上記実施の形態では、シナリオ扉411を開扉するとき、当該シナリオ扉411が解錠されているか否かに関わらず、ビデオゲーム装置100はサーバ装置200に対してシナリオ扉開扉請求情報を送信し、それを基にサーバ装置200側の処理で当該シナリオ扉411の開扉設定を行うようにしていた。また、シナリオ扉411を閉扉するときも、所定の時間内にプレイヤキャラクタ421が通過しないことを判定した後、サーバ装置200側の処理で当該シナリオ扉411の閉扉設定をするようにしていた。
【0131】
これに対して、本発明ではサーバ装置200におけるシナリオ扉411の管理については、解錠されているか否かの管理だけを行う(開閉の管理を行わない)ようにしてもよい。そして、解錠された後のシナリオ扉411は、ビデオゲーム装置100において管理しているクライアント扉412の開閉と同様に管理するようにしてもよい。
【0132】
具体的には、サーバ装置200のシナリオ扉管理テーブル510においては、扉ID511、条件情報512、及び解錠フラグ513の情報を管理して、シナリオ扉411に対しては開扉設定、開扉維持設定、または閉扉設定を実行(開閉フラグ514の更新)することなく、ビデオゲーム装置100には解錠されたか否かの情報をシナリオ扉状態情報として送信する。このシナリオ扉状態情報を受信したビデオゲーム装置100では、それを基に、扉状態テーブル610におけるシナリオ扉411の解錠フラグ612が1に更新され、同時に開閉フラグ613も1に更新されて当該シナリオ扉411の開扉設定が行われる。
【0133】
このように、シナリオ扉411の解錠がされると、以降の当該シナリオ扉411の開閉にかかる処理は、クライアント扉412に係る処理と同様に実行する。例えば、自プレイヤキャラクタ421の開扉行動に対しては、図8に示すゲーム装置処理のステップS207の判定がシナリオ扉411であるとの判定がされた後、ビデオゲーム装置100の制御部103は、さらに当該シナリオ扉411が解錠されたか否かの判定を行い、解錠されていないと判定されればステップS209の処理へ、解錠されているものと判定されればステップS208の処理で当該シナリオ扉411の開扉設定を行う。
【0134】
一方、他プレイヤキャラクタ421が解錠されたシナリオ扉411を通過するときは、制御部103は、他キャラクタ情報処理(図9(a))のステップS223〜S228において実行されるクライアント扉412にかかる処理と同じ処理を、当該解錠されたシナリオ扉411に対して実行する。このため、サーバ装置200からビデオゲーム装置100に、シナリオ扉411が解錠状態にあるか否かについてシナリオ扉状態情報を送信すれば、ビデオゲーム装置100では、クライアント扉412と同様に、当該シナリオ扉411を開く画像を表示画面122において表示することができる。つまり、サーバ装置200では、施錠/解錠については管理する必要があるものの、シナリオ扉411についても開閉を管理する必要がないので、さらに処理負荷を小さくすることができる。
【0135】
上記実施の形態では、シナリオ扉411を解錠する条件として、プレイヤキャラクタ421がカギを所持している状態で開扉行動を行わせること、或いは敵キャラクタ422を倒すことによって、シナリオ扉411が解錠されるものとしていたが、これに限らず、例えば、プレイヤキャラクタ421にシナリオ扉411を解錠するためのスイッチを押させたり、或いはプレイヤキャラクタ421の種類(例えば、性別、大人・子供など)によって解錠できたりするものであってもよい。
【0136】
例えば、スイッチがプレイヤキャラクタ421に押されることを条件として解錠されるシナリオ扉411の場合には、プレイヤキャラクタ421を当該スイッチのあるフィールド400上の場所まで移動させ、プレイヤの入力部161の操作でプレイヤキャラクタ421に当該スイッチを押す行動をさせる。
【0137】
このスイッチを押す行動に関する情報が、当該スイッチに対応するシナリオ扉411のIDと併せてシナリオ扉開扉請求情報としてサーバ装置200へと送信されるものとなり、それが、扉を開ける条件を満たすものとサーバ装置200で判定されたときに、当該シナリオ扉411は解錠される。プレイヤキャラクタ421の種類であれば、シナリオ扉の前で開扉行動を行い、当該プレイヤキャラクタ421のものとして記憶されるステータス等の情報を、当該シナリオ扉411のIDと併せてシナリオ扉開扉請求情報としてサーバ装置200へと送信するものとなる。
【0138】
上記の実施の形態では、エリア402間の移動では常に、シナリオ扉411、或いはクライアント扉412の何れかを通って、移動するものとしていた。しかし、これに限らず、プレイヤキャラクタ421が所定のアイテム、例えば、壁401をよじ登るためのかぎ爪などを持っていた場合には、扉を通らずともエリア402間の移動ができるようにしてもよい。
【0139】
このとき、例えば、壁401で仕切られたエリア402の間に設置された扉(シナリオ扉411及びクライアント扉412)の代わりに、または扉とともに、フィールド上の特に仕切りのない部分(例えば、フィールド上に設置された道など)に設けられた門などを適用してもよい。門については、開閉や施錠/解錠の扱いは、上記の実施の形態における扉と同様である。
【0140】
また、フィールドの高低差を移動するためのオブジェクトとして伸縮が可能な梯子を用いるものとしてもよい。このように、伸縮可能な梯子を用いる場合にあっては、上記の実施の形態におけるクライアント扉412と同様に伸縮を自在にできる梯子を扱うことができる(扉が閉じた状態が梯子を縮めた状態に、扉を開けた状態が梯子を伸ばした状態に対応する)。また、シナリオ扉411の施錠された状態には、ストッパなどにより梯子を伸ばすことができない状態を対応させることができる。
【0141】
さらには、例えば、通過すればプレイヤキャラクタ421をジャンプさせることができるような、トランポリンがフィールド400に存在する場合に、他プレイヤキャラクタ421の移動が当該トランポリンを通過するようなものであったら、表示画面122にその通過したタイミングで当該他プレイヤキャラクタ421をジャンプさせるような表示を行うこともできる。
【0142】
また、通過すればその付近が明るく表示されるような、自動で点灯する街灯がフィールド400に存在する場合には、他プレイヤキャラクタ421の移動がその街灯の付近を通過するようなものであったら、表示画面122にその通過したタイミングでその街灯の付近を明るくさせる表示を行うこともできる。
【0143】
上記の実施の形態では、サーバ装置200から送信される他キャラクタ情報は1.0秒毎の間隔で送信されるものとしていたが、サーバ装置200からの他キャラクタ情報の送信間隔は、各ビデオゲーム装置100のプレイヤが他のプレイヤのプレイヤキャラクタに違和感を感じない程度には短く、且つ扉の開放とプレイヤキャラクタの通過が順序立ててプレイヤに認識される程度には長い時間間隔であれば、1.0秒毎よりも長くても短くてもよい。
【0144】
上記の実施の形態では、サーバ装置200から送信される他キャラクタ情報を基に、他プレイヤキャラクタ421についてのみ、表示画面122においてフィールド400を移動する様子や開扉行動を行っている様子を表示するものとして、敵キャラクタ422のようなノンプレイヤキャラクタについてはとくに述べなかった。
【0145】
しかしながら、このようなフィールド400上の移動や開扉行動を、サーバ装置200の制御により、敵キャラクタ422のようなノンプレイヤキャラクタが行えるようにしてもよい。このような場合には、図9に示す表示画像生成処理において、敵キャラクタ422の位置も決定するものとし、また、他キャラクタ情報バッファA605、或いは他キャラクタ情報バッファB606に記憶された他キャラクタ情報から、当該敵キャラクタ422の位置が、扉を越えて異なるエリア402へと移動するものであったら、その移動の状態に合わせて表示画面122に開扉の様子を表示するようにする。
【0146】
上記の実施の形態では、ビデオゲームを実行するプラットフォームとなる装置としてゲーム専用機であるビデオゲーム装置100を適用していた。これに対して、本発明は、ビデオゲーム装置100と同様の構成要素を備え、ネットワーク接続機能を有するものであれば、汎用のパーソナルコンピュータなどをプラットフォームとして実現されるものとしてもよい。表示装置121及びサウンド出力装置125をビデオゲーム本体101と同一の筐体内に納めた構成を有する携帯ゲーム機(アプリケーションの実行機能を有する携帯電話機を含む)を適用するものとしてもよい。
【0147】
記録媒体131としては、DVD−ROMやCD−ROMの代わりに半導体メモリーカードを適用することができる。このメモリーカードを挿入するためのカードスロットをDVD/CD−ROMドライブ113の代わりに設けることができる。汎用のパーソナルコンピュータの場合には、本発明に係るプログラム及びデータを記録媒体131に格納して提供するのではなく、HDD107に予め格納して提供してもよい。本発明にかかるプログラム及びデータを格納して提供するための記録媒体は、ハードウェアの物理的形態及び流通形態に応じて任意のものを適用することができる。
【0148】
上記の実施の形態では、ビデオゲーム装置100のプログラム及びデータは、記録媒体131に格納されて配布されるものとしていた。これに対して、これらのプログラム及びデータをネットワーク上に存在するサーバ装置が有する固定ディスク装置に格納しておき、ビデオゲーム本体101にネットワークを介して配信するものとしてもよい。ビデオゲーム装置100において、通信インターフェイス115がサーバ装置から受信したプログラム及びデータは、HDD107に保存し、実行時にRAM105にロードすることができる。サーバ装置200のプログラム及びデータについても同様である。
【符号の説明】
【0149】
100 ビデオゲーム装置
101 ビデオゲーム本体
103 制御部
105 RAM
107 HDD
109 サウンド処理部
111 グラフィック処理部
112 フレームメモリ
113 DVD/CD−ROMドライブ
115 通信インターフェイス
117 インターフェイス部
119 内部バス
121 表示装置
122 表示画面
125 サウンド出力装置
131 記録媒体
200 サーバ装置
201 サーバ本体
203 制御部
205 RAM
207 HDD
213 DVD/CD−ROMドライブ
215 通信インターフェイス
219 内部バス
231 記録媒体
【特許請求の範囲】
【請求項1】
サーバ装置と、該サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有する複数のクライアント装置とを備え、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを提供するオンラインゲームシステムであって、
前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、
前記複数のクライアント装置の各々は、
前記通過阻止オブジェクトを含む前記フィールドと、該フィールドに存在するキャラクタのグラフィックデータを予め格納したグラフィックデータ格納手段と、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置に表示される表示画面を1つだけ生成する時間間隔よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段と、
前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段と、
前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段とを備え、
前記サーバ装置は、前記複数のクライアント装置の各々に前記位置情報を送信する位置情報送信手段を備え、
前記表示制御手段は、
前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、
前記通過判定手段により前記特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成する
ことを特徴とするオンラインゲームシステム。
【請求項2】
前記表示制御手段は、前記通過判定手段により前記特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動していないと判定された場合において、該通過阻止オブジェクトが前記特別状態に変化させられていた場合には、該通過阻止オブジェクトを前記通常状態に変化させた表示画面を生成する
ことを特徴とする請求項1に記載のオンラインゲームシステム。
【請求項3】
前記複数のクライアント装置の各々は、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタを前記フィールド上で移動させるための指令を入力する移動指令入力手段と、
前記移動指令入力手段から入力された指令に応じた前記プレイヤキャラクタの移動情報を前記サーバ装置に送信する移動情報送信手段とをさらに備え、
前記サーバ装置は、
前記複数のクライアント装置の各々の前記移動情報送信手段から送信された移動情報を受信する移動情報受信手段と、
前記移動情報受信手段が受信した移動情報に基づいて、前記複数のクライアント装置のプレイヤの各々が操作する複数のプレイヤキャラクタの位置をそれぞれ管理するプレイヤキャラクタ位置管理手段とをさらに備え、
前記特定のキャラクタは、他のクライアント装置のプレイヤにより操作されるプレイヤキャラクタであり、
前記位置情報送信手段は、前記プレイヤキャラクタ位置管理手段を参照して前記位置情報を生成し、前記複数のクライアント装置の各々に送信する
ことを特徴とする請求項1または2に記載のオンラインゲームシステム。
【請求項4】
前記通過阻止オブジェクトは、ゲームの進行状況に応じて前記通常状態から前記特別状態に変化することができない完全阻止状態と前記通常状態から前記特別状態に変化することができる不完全阻止状態との何れかに設定される特別通過阻止オブジェクトと、ゲームの進行状況に関わらずに前記通常状態から前記特別状態に変化することができる通常通過阻止オブジェクトとを含み、
前記サーバ装置は、
前記特別通過阻止オブジェクトが前記完全阻止状態と前記不完全阻止状態の何れにあるかを管理する特別通過阻止オブジェクト管理手段と、
前記位置情報送信手段による前記位置情報の送信とともに、前記特別通過阻止オブジェクトが前記完全阻止状態と前記不完全阻止状態の何れにあるかを示す特別通過阻止オブジェクト情報を送信する特別通過阻止オブジェクト情報送信手段とをさらに備え、
前記複数のクライアント装置の各々は、前記特別通過阻止オブジェクト情報送信手段から送信された特別通過阻止オブジェクト情報を受信する特別通過阻止オブジェクト情報受信手段をさらに備え、
前記表示制御手段は、前記特別通過阻止オブジェクトについては前記特別通過阻止オブジェクト情報が前記不完全阻止状態にあることを示すことを条件として、前記通過判定手段により前記特定のキャラクタが前記特別通過阻止オブジェクトを通過した位置に移動したと判定された場合に、前記特別通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成する
ことを特徴とする請求項1乃至3のいずれか1項に記載のオンラインゲームシステム。
【請求項5】
サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有し、プレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを実行するクライアント装置であって、
前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、
前記クライアント装置は、
前記通過阻止オブジェクトを含む前記フィールドのグラフィックデータと、該フィールドに存在するキャラクタのグラフィックデータとを予め格納したグラフィックデータ格納手段と、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置の1フレーム期間よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段と、
前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段と、
前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段とを備え、
前記表示制御手段は、
前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、
前記通過判定手段により今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成する
ことを特徴とするクライアント装置。
【請求項6】
サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有するコンピュータ装置に、プレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを実行させるためのプログラムであって、
前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、
前記プログラムは、
前記通過阻止オブジェクトを含む前記フィールドのグラフィックデータと、該フィールドに存在するキャラクタのグラフィックデータとを予め格納したグラフィックデータ格納手段と、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置の1フレーム期間よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段、
前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段、及び、
前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段として前記コンピュータ装置を機能させ、
前記表示制御手段は、
前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、
前記通過判定手段により今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成する
ことを特徴とするプログラム。
【請求項1】
サーバ装置と、該サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有する複数のクライアント装置とを備え、各々のクライアント装置のプレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを提供するオンラインゲームシステムであって、
前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、
前記複数のクライアント装置の各々は、
前記通過阻止オブジェクトを含む前記フィールドと、該フィールドに存在するキャラクタのグラフィックデータを予め格納したグラフィックデータ格納手段と、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置に表示される表示画面を1つだけ生成する時間間隔よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段と、
前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段と、
前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段とを備え、
前記サーバ装置は、前記複数のクライアント装置の各々に前記位置情報を送信する位置情報送信手段を備え、
前記表示制御手段は、
前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、
前記通過判定手段により前記特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成する
ことを特徴とするオンラインゲームシステム。
【請求項2】
前記表示制御手段は、前記通過判定手段により前記特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動していないと判定された場合において、該通過阻止オブジェクトが前記特別状態に変化させられていた場合には、該通過阻止オブジェクトを前記通常状態に変化させた表示画面を生成する
ことを特徴とする請求項1に記載のオンラインゲームシステム。
【請求項3】
前記複数のクライアント装置の各々は、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタを前記フィールド上で移動させるための指令を入力する移動指令入力手段と、
前記移動指令入力手段から入力された指令に応じた前記プレイヤキャラクタの移動情報を前記サーバ装置に送信する移動情報送信手段とをさらに備え、
前記サーバ装置は、
前記複数のクライアント装置の各々の前記移動情報送信手段から送信された移動情報を受信する移動情報受信手段と、
前記移動情報受信手段が受信した移動情報に基づいて、前記複数のクライアント装置のプレイヤの各々が操作する複数のプレイヤキャラクタの位置をそれぞれ管理するプレイヤキャラクタ位置管理手段とをさらに備え、
前記特定のキャラクタは、他のクライアント装置のプレイヤにより操作されるプレイヤキャラクタであり、
前記位置情報送信手段は、前記プレイヤキャラクタ位置管理手段を参照して前記位置情報を生成し、前記複数のクライアント装置の各々に送信する
ことを特徴とする請求項1または2に記載のオンラインゲームシステム。
【請求項4】
前記通過阻止オブジェクトは、ゲームの進行状況に応じて前記通常状態から前記特別状態に変化することができない完全阻止状態と前記通常状態から前記特別状態に変化することができる不完全阻止状態との何れかに設定される特別通過阻止オブジェクトと、ゲームの進行状況に関わらずに前記通常状態から前記特別状態に変化することができる通常通過阻止オブジェクトとを含み、
前記サーバ装置は、
前記特別通過阻止オブジェクトが前記完全阻止状態と前記不完全阻止状態の何れにあるかを管理する特別通過阻止オブジェクト管理手段と、
前記位置情報送信手段による前記位置情報の送信とともに、前記特別通過阻止オブジェクトが前記完全阻止状態と前記不完全阻止状態の何れにあるかを示す特別通過阻止オブジェクト情報を送信する特別通過阻止オブジェクト情報送信手段とをさらに備え、
前記複数のクライアント装置の各々は、前記特別通過阻止オブジェクト情報送信手段から送信された特別通過阻止オブジェクト情報を受信する特別通過阻止オブジェクト情報受信手段をさらに備え、
前記表示制御手段は、前記特別通過阻止オブジェクトについては前記特別通過阻止オブジェクト情報が前記不完全阻止状態にあることを示すことを条件として、前記通過判定手段により前記特定のキャラクタが前記特別通過阻止オブジェクトを通過した位置に移動したと判定された場合に、前記特別通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成する
ことを特徴とする請求項1乃至3のいずれか1項に記載のオンラインゲームシステム。
【請求項5】
サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有し、プレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを実行するクライアント装置であって、
前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、
前記クライアント装置は、
前記通過阻止オブジェクトを含む前記フィールドのグラフィックデータと、該フィールドに存在するキャラクタのグラフィックデータとを予め格納したグラフィックデータ格納手段と、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置の1フレーム期間よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段と、
前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段と、
前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段とを備え、
前記表示制御手段は、
前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、
前記通過判定手段により今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成する
ことを特徴とするクライアント装置。
【請求項6】
サーバ装置に通信回線を介して接続されるとともにゲームの表示画面を表示する表示装置を有するコンピュータ装置に、プレイヤにより操作されるプレイヤキャラクタを含む複数のキャラクタを所定のフィールドで移動させてゲームを進行させるオンラインゲームを実行させるためのプログラムであって、
前記フィールドには、該フィールドを移動するキャラクタの通過を阻む通常状態から一時的に特別状態に変化して該キャラクタを通過させる通過阻止オブジェクトが設定されており、
前記プログラムは、
前記通過阻止オブジェクトを含む前記フィールドのグラフィックデータと、該フィールドに存在するキャラクタのグラフィックデータとを予め格納したグラフィックデータ格納手段と、
当該クライアント装置のプレイヤにより操作されるプレイヤキャラクタ以外の特定のキャラクタの前記フィールドにおける位置を示す位置情報を、前記表示装置の1フレーム期間よりも長い所定の長期時間間隔で前記サーバ装置から受信する位置情報受信手段、
前記位置情報受信手段が今回受信した位置情報が示す特定のキャラクタの前記フィールドにおける位置と、当該位置情報よりも前に受信した位置情報が示す当該特定のキャラクタの前記フィールドにおける位置とを比較し、今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したかどうかを判定する通過判定手段、及び、
前記位置情報受信手段から受信した位置情報に応じて前記フィールド上に前記特定のキャラクタを配置した表示画面を前記グラフィックデータ格納手段に記憶されたグラフィックデータに基づいて生成する表示制御手段として前記コンピュータ装置を機能させ、
前記表示制御手段は、
前記位置情報を受信してからの前記長期時間間隔に応じた期間において、前回の位置情報に応じた表示画面より後から今回の位置情報に応じた表示画面よりも前までを補間する補間画面を順次生成し、該生成した補間画面から前記位置情報に応じた表示画面まで順次前記表示装置に表示させるとともに、
前記通過判定手段により今回受信した位置情報において当該特定のキャラクタが前記通過阻止オブジェクトを通過した位置に移動したと判定された場合には、当該特定のキャラクタが通過できる期間以上の期間で前記通過阻止オブジェクトを前記特別状態に変化させた表示画面を生成する
ことを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2011−229614(P2011−229614A)
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2010−101160(P2010−101160)
【出願日】平成22年4月26日(2010.4.26)
【出願人】(308033283)株式会社スクウェア・エニックス (173)
【Fターム(参考)】
【公開日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願日】平成22年4月26日(2010.4.26)
【出願人】(308033283)株式会社スクウェア・エニックス (173)
【Fターム(参考)】
[ Back to top ]