(57)【特許請求の範囲】
【請求項１】
プレイヤに操作されるクライアント端末と、該クライアント端末にて遊戯されるオンラインゲームを通信ネットワークを介して実行するオンラインゲームサーバとを備えたオンラインゲームシステムであって、
前記オンラインゲームサーバは、
前記オンラインゲームのサーバ側ゲームプログラムおよび該サーバ側ゲームプログラムに用いられるサーバ側ゲームデータを格納する格納手段と、
前記格納手段に格納された前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの少なくとも一方であって前記オンラインゲームにおけるメインゲーム以外のサブゲームの実行に際して使用されるデータに対する更新操作に応じてデータ更新し、該データ更新による更新部分のデータを示す更新部分データを前記クライアント端末にて利用可能な共有ライブラリ形式とする更新手段と、
前記更新手段によって共有ライブラリ形式とされた更新部分データを少なくとも含む更新データを前記クライアント端末に対して送信する送信手段とを含み、
前記クライアント端末は、
前記オンラインゲームサーバから提供された前記オンラインゲームのクライアント側ゲームプログラムおよび該クライアント側ゲームプログラムに用いられるクライアント側ゲームデータを記憶する記憶手段と、
前記送信手段によって送信された更新データを受信する受信手段と、
前記記憶手段によって記憶された前記クライアント側ゲームプログラムおよび前記クライアント側ゲームデータのうちの少なくとも何れかを前記受信手段によって受信された更新データを用いて書き換える書換手段と、
前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記オンラインゲームサーバへの通信を行うことなく、前記記憶手段によって記憶された前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータを利用して、前記オンラインゲームの進行を制御する制御手段とを含む
ことを特徴とするオンラインゲームシステム。
【請求項２】
前記更新データは、前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの前記サブゲームの実行に際して使用されるデータの一部又は全部である
請求項１記載のオンラインゲームシステム。
【請求項３】
前記オンラインゲームサーバは、
前記クライアント端末からの前記更新データの送信に関する認証フラグ付きデータ送信要求を受信するデータ送信要求受信手段をさらに含み、
前記送信手段は、前記データ送信要求受信手段によって受信された認証フラグ付きデータ送信要求に基づいて、該認証フラグが前記更新データに付された確認フラグと一致するか否かを判断し、判断結果に応じて前記更新データを前記クライアント端末に対して送信する
請求項１または請求項２記載のオンラインゲームシステム。
【請求項４】
前記クライアント端末は、
前記プレイヤによる指定操作入力に基づく操作入力情報を前記オンラインゲームサーバに対して送信する操作入力情報送信手段をさらに備え、
前記制御手段は、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記操作入力情報に基づく処理に用いられるデータの参照先指定情報を、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータに対する指定から、前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータに対する指定に置き換えて、ループバック処理を実行し前記オンラインゲームの進行を制御する
請求項１から請求項３のうちいずれかに記載のオンラインゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末とオンラインゲームサーバとの間で通信ネットワークを介してオンラインゲームに関する各種処理を実行するための技術に関する。
【背景技術】
【０００２】
従来から、通信ネットワークを介してクライアント端末とオンラインゲームサーバとの間で各種処理を実行し遊戯するタイプのオンラインゲームが普及している。このようなオンラインゲームにおいては、オンラインゲームを実行するための各種プログラムや各種ゲームデータへの不正な解析や改ざんを防止するため、これらのプログラムやゲームデータはオンラインゲームサーバ側で管理されている。
【０００３】
しかし、オンラインゲームの進行に際して、クライアント端末とオンラインゲームサーバとの間で通信が必要な都度行われることとなるため、オンラインゲームサーバの処理混雑時や通信環境が良好ではない時などには、特にデータの送受信に時間が掛かり、オンラインゲームの進行が滞ってプレイヤにストレスを与えてしまうことがある。
【０００４】
そこで、例えばオンラインゲームの進行に際して、オンラインゲームサーバがある程度先の展開分のデータをオンラインゲームの開始時やゲーム途中の要所要所でクライアント端末に対してまとめて送信しておくことで、オンラインゲームの進行に関する重要度の低い（すなわち、シナリオの進行に大きく影響しない）動作に対しては通信を行わずにオンラインゲームを進行させるデータ処理方法が知られている（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開２００１−１９８３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しなしながら、上述した従来のデータ処理方法においても、一度にサーバへのアクセスが集中するとゲーム途中のデータ読み込み時などに通信負荷が高くなるため処理に時間がかかり、ゲーム途中に進行が滞ることによるプレイヤのストレスの軽減などを図るためには十分ではないという問題があった。
【０００７】
本発明は、上記の問題を解消すべく、オンラインゲームにおける所定のデータをあらかじめオンラインゲームサーバからクライアント端末に送信しておくことで、クライアント端末でのスタンドアローン動作を実現し、オンラインゲームのゲーム進行中の通信負荷の軽減を図ることができるようにすることを目的とする。
【０００８】
また、本発明は、オンラインゲームにおいてオンラインゲーム提供者が各種データの更新を行う際の手作業によるデータ更新漏れなどのミスを防止して、作業負担の軽減を図ることができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明のオンラインゲームシステムは、プレイヤに操作されるクライアント端末と、該クライアント端末にて遊戯されるオンラインゲームを通信ネットワークを介して実行するオンラインゲームサーバとを備えたオンラインゲームシステムであって、前記オンラインゲームサーバは、前記オンラインゲームのサーバ側ゲームプログラムおよび該サーバ側ゲームプログラムに用いられるサーバ側ゲームデータを格納する格納手段と、前記格納手段に格納された前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの少なくとも一方であって前記オンラインゲームにおけるメインゲーム以外のサブゲームの実行に際して使用されるデータに対する更新操作に応じてデータ更新し、該データ更新による更新部分のデータを示す更新部分データを前記クライアント端末にて利用可能な共有ライブラリ形式とする更新手段と、前記更新手段によって共有ライブラリ形式とされた更新部分データを少なくとも含む更新データを前記クライアント端末に対して送信する送信手段とを含み、前記クライアント端末は、前記オンラインゲームサーバから提供された前記オンラインゲームのクライアント側ゲームプログラムおよび該クライアント側ゲームプログラムに用いられるクライアント側ゲームデータを記憶する記憶手段と、前記送信手段によって送信された更新データを受信する受信手段と、前記記憶手段によって記憶された前記クライアント側ゲームプログラムおよび前記クライアント側ゲームデータのうちの少なくとも何れかを前記受信手段によって受信された更新データを用いて書き換える書換手段と、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記オンラインゲームサーバへの通信を行うことなく、前記記憶手段によって記憶された前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータを利用して、前記オンラインゲームの進行を制御する制御手段とを含むことを特徴とする。
【００１０】
上記の構成としたことで、クライアント端末でのスタンドアローン動作を実現して通信負荷の軽減を図ることができるようになる。また、オンラインゲームサーバにて更新された更新部分データを含む更新データがクライアント端末にて利用可能な共有ライブラリ形式とされた状態で、クライアント端末にて書き換えるようにしているので、オンラインゲーム提供者のデータ更新漏れなどのミスを防止して、作業負担の軽減を図ることができるようになる。
【００１１】
前記更新データは、前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの前記サブゲームの実行に際して使用されるデータの一部であってもよく、全部であってもよい。
【００１２】
前記オンラインゲームサーバは、前記クライアント端末からの前記更新データの送信に関する認証フラグ付きデータ送信要求を受信するデータ送信要求受信手段をさらに含み、前記送信手段は、前記データ送信要求受信手段によって受信された認証フラグ付きデータ送信要求に基づいて、該認証フラグが前記更新データに付された確認フラグと一致するか否かを判断し、判断結果に応じて前記更新データを前記クライアント端末に対して送信するように構成されていてもよい。
【００１３】
前記クライアント端末は、前記プレイヤによる指定操作入力に基づく操作入力情報を前記オンラインゲームサーバに対して送信する操作入力情報送信手段をさらに備え、前記制御手段は、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記操作入力情報に基づく処理に用いられるデータの参照先指定情報を、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータに対する指定から、前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータに対する指定に置き換えて、ループバック処理を実行し前記オンラインゲームの進行を制御するように構成されていてもよい。
【発明の効果】
【００１５】
本発明によれば、クライアント端末でのスタンドアローン動作を実現してゲーム進行中の通信負荷の軽減を図ることができるようになる。また、オンラインゲーム提供者のデータ更新漏れなどのミスを防止して、作業負担の軽減を図ることができるようになる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について図面を参照して説明する。
【００１７】
図１は、本発明の一実施の形態におけるオンラインゲームシステムの構成の例を示すブロック図である。図１に示すように、オンラインゲームシステム１００は、オンラインゲームサーバ１０と、複数のクライアント端末２１〜２Ｎ（Ｎは任意の整数）とを含む。
【００１８】
このオンラインゲームシステム１００を構成するオンラインゲームサーバ１０および複数のクライアント端末２１〜２Ｎは、例えば、それぞれインターネットなどの通信ネットワーク３０に接続されている。
【００１９】
オンラインゲームサーバ１０は、例えば、本システム１００のシステム管理者（オンラインゲーム提供者）によって管理され、クライアント端末２１〜２Ｎそれぞれに対してオンラインゲームを提供し実行するための各種の機能を有する。このオンラインゲームサーバ１０は、ＷＷＷサーバなどの情報処理装置によって構成される。なお、オンラインゲームサーバ１０は、テレビジョン装置や液晶表示装置などによって構成される画像の表示部（表示画面）を有する表示装置を、内部あるいは外部に備えていてもよい。
【００２０】
クライアント端末２１〜２Ｎは、それぞれ、オンラインゲームを行う（遊戯する）プレイヤ（ユーザ）によって管理され、例えば、パーソナルコンピュータや携帯通信端末などの情報処理装置によって構成される。クライアント端末２１〜２Ｎは、通信ネットワーク３０に接続するための通信モジュールなどのハードウェアおよび通信ソフトなどのソフトウェアを備えている。これらのクライアント端末２１〜２Ｎは、それぞれ、テレビジョン装置や液晶表示装置などによって構成される画像の表示部（表示画面）を有する表示装置を、内部あるいは外部に備えている。
【００２１】
ここで、本実施の形態におけるオンラインゲームとは、例えばオンラインゲームサーバ１０から通信ネットワーク３０を介してダウンロード（ＤＬ）などによってクライアント端末２１〜２Ｎに提供され、プレイヤの操作によってクライアント端末２１〜２Ｎにおいて遊戯されるゲームである。そして、メインのシナリオとなるメインゲームの進行に際して自動的に、あるいはゲーム表示画面中に選択可能に表示された項目などのオブジェクトを任意に選択すると、メインのシナリオ進行とは直接的に関わらないサブゲームが実行されるゲームのことをいう。
【００２２】
図２は、オンラインゲームサーバ１０およびクライアント端末２１〜２Ｎの構成の例を示すブロック図である。図２に示すように、オンラインゲームサーバ１０は、制御部１１と、入力部１２と、格納部１３と、表示部１４と、通信制御部１５と、更新処理部１６とを含む。また、クライアント端末２１〜２Ｎは、制御部３１と、入力部３２と、記憶部３３と、表示部３４と、通信制御部３５と、音声出力部３６とを含む。
【００２３】
オンラインゲームサーバ１０の制御部１１は、ＣＰＵやＲＯＭ、ＲＡＭなどを含み、格納部１３に格納されたサーバ側ゲームプログラムやこのサーバ側ゲームプログラムに用いられるサーバ側ゲームデータなどの各種プログラムやデータのうち、例えば、制御プログラムにしたがってオンラインゲームサーバ１０全体の制御を行う。
【００２４】
入力部１２は、リモコン、キーボード、マウス、タッチパネル、ジョイスティックなどの各種の入力デバイスによって構成され、文字、数値、操作入力に伴う各種の指示などのオンラインゲームサーバ１０に対しての入力を受け付けるものである。
【００２５】
格納部１３は、例えば、磁気ディスクと磁気ディスクドライブ、および光ディスクと光ディスクドライブなどの記憶装置や、データベース装置などによって構成され、上述した各種のプログラムやデータが格納される記憶媒体である。この格納部１３は、オンラインゲームサーバ１０に対して着脱自在に構成され、例えば、メモリカードなどの記憶媒体であってもよい。
【００２６】
表示部１４は、上述したようにテレビジョン装置や液晶表示装置によって構成され、表示画面上に画像や文字、アイコン、メニュー、カーソル、ウィンドウなどの各種データを表示する。
【００２７】
通信制御部１５は、無線あるいは有線を介して通信ネットワーク３０に接続され、制御部１１と通信ネットワーク３０とのインタフェース（Ｉ／Ｆ）として機能し、クライアント端末２１〜２Ｎとの各種データの通信（送受信）全般を制御する。さらに更新処理部１６は、例えば、入力部１２によって受け付けられたオンラインゲーム提供者による更新操作に伴う入力にしたがって、格納部１３に格納されている各種のプログラムやデータの更新に関する処理を行う。更新処理については詳細を別途後述する。
【００２８】
一方、クライアント端末２１〜２Ｎの制御部３１は、ＣＰＵやＲＯＭ、ＲＡＭなどを含み、オンラインゲームサーバ１０から提供され記憶部３３に記憶されたクライアント側ゲームプログラムやこのクライアント側ゲームプログラムに用いられるクライアント側ゲームデータなどの各種プログラムやデータのうち、例えば、オンラインゲームプログラムにしたがってオンラインゲームの進行に関する全体の制御を行う。
【００２９】
入力部３２は、上記オンラインゲームサーバ１０の入力部１２と同様に、各種の入力デバイスによって構成され、例えば、オンラインゲームに関する各種の操作や指示などのクライアント端末２１〜２Ｎに対しての入力を受け付けるものである。
【００３０】
記憶部３３は、上記オンラインゲームサーバ１０の格納部１３と同様に、上述した各種のプログラムやデータが記憶される記憶媒体である。この記憶部３３は、クライアント端末２１〜２Ｎに対して着脱自在に構成され、例えば、メモリカードなどの記憶媒体であってもよい。
【００３１】
表示部３４は、上記オンラインゲームサーバ１０の表示部１４と同様に、表示画面上に画像などの各種データを表示する。
【００３２】
音声出力部３６は、例えば、オンラインゲームプログラムの実行に伴って制御部３１によって生成されたオンラインゲームに関する音声データを音声として出力するスピーカ装置などによって構成される。
【００３３】
なお、この実施の形態に係るオンラインゲームは、例えば、ＭＯＲＰＧ（Ｍｕｌｔｉ−ｐｌａｙｅｒ  Ｏｎｌｉｎｅ  Ｒｏｌｅ−Ｐｌａｙｉｎｇ  Ｇａｍｅ）やＭＭＯＲＰＧ（Ｍａｓｓｉｖｅｌｙ  Ｍｕｌｔｉｐｌａｙｅｒ  Ｏｎｌｉｎｅ  Ｒｏｌｅ−Ｐｌａｙｉｎｇ  Ｇａｍｅ）などの仮想三次元空間において構築されたゲーム世界で、プレイヤがプレイヤキャラクタを操作して様々な仕掛けをクリアしたり戦闘を経験したりしてゲームを進行させ、所定の目標を達成することを目的とするロールプレイングタイプのものであるとする。
【００３４】
通常、オンラインゲームにおいては、ゲームの進行に必要な各種データはオンラインゲームサーバ１０内に保存されるものと、それぞれのクライアント端末２１〜２Ｎ内に保存されるものがある。クライアント端末２１〜２Ｎ側に保存されるデータは、主にプレイヤが入力部３２から入力した操作情報をオンラインゲームサーバ１０に送信したり、オンラインゲームサーバ１０から受信した情報を表示部３４に表示したりする際に用いられる制御データが主となる。一方、オンラインゲームサーバ１０内に保存されるデータは、各クライアント端末２１〜２Ｎから受け付けた操作情報に基づいて各種の演算を行うための計算式や、各プレイヤキャラクタのステータス情報等であり、オンラインゲームサーバ１０内に記録、保存されている。
【００３５】
上述のように、オンラインゲームサーバ１０上に保存される情報は、クライアント端末２１〜２Ｎ上に保存される情報に比べて高いセキュリティーを必要とするデータである。これは、悪意のあるプレイヤが解析や改変を行うことを防止する目的によるものであり、このためオンラインゲーム提供者は、オンラインゲームの進行に必要な重要な情報については極力クライアント端末２１〜２Ｎにダウンロードさせることを許可せず、プレイヤが操作指示を行う度にオンラインゲームサーバ１０と通信を介して適宜必要な情報だけを送受信することによって、極力オンラインゲームサーバ１０側にオンラインゲーム進行に必要な各種データを集中させてセキュリティーを高めることが求められている。
【００３６】
本例では上述のサブゲームのように、メインのシナリオ進行とは直接的に関わらない部分に関するデータについてはセキュリティーを高い状態に保つ必要性が低いものとし、これらのデータについてはクライアント端末２１〜２Ｎにダウンロードさせることを許可することとしている。このようにすることによって、サブゲームのようなデータについては各クライアント端末２１〜２Ｎとオンラインゲームサーバ１０との通信を必要とせず、クライアント端末２１〜２Ｎ内に保存されたデータ間での情報のやり取りによってゲームを進行させることで、スタンドアローン動作を実施させることを可能にしている。したがって、オンラインゲームサーバ１０と各クライアント端末２１〜２Ｎ間の通信回数を減らし、通信負荷の軽減を図ることができる。以下に、チュートリアルモードを実行する場合の処理を例にとって詳細に説明を行う。
【００３７】
チュートリアルモードとは、例えばメインゲームの戦闘場面において必要となるプレイヤキャラクタ（プレイヤが操作するキャラクタ）の基本的な戦闘操作などについてプレイヤに説明を行うとともに、ゲームのシナリオとは無関係な具体例を実行させながら、ある程度上手に操作ができるようになるまでプレイヤに操作を練習させるために設けられている。このチュートリアルモードを実行することにより、プレイヤはメインシナリオを進行する際に必要な敵キャラクタとの戦闘動作などを、初回からスムーズに操作することが可能となる。
【００３８】
図３は、本例のオンラインゲームシステム１００におけるサブゲームの例を説明するための説明図である。図３に示すように、ここでのサブゲームは、例えば、オンラインゲーム開始後において、プレイヤキャラクタＰＣの弓による攻撃の練習を行うためのチュートリアルモードであるとする。なお、このチュートリアルモードは、オンラインゲームの実行中に何度でも実行可能としてもよい。
【００３９】
チュートリアルモード画面５００には、チュートリアルモードが実行されるとメインゲームの画面（図示せず）と切り替えて表示部３４の表示画面上に表示され、例えば、弓ＰＹを構えるプレイヤキャラクタＰＣが表示されるキャラクタ表示領域５０１と、射的の点数（スコア）を表示する点数表示領域５０２と、風船などの複数の的を表示する的表示領域５０３と、例えば、「上手く当てられるように練習しましょう！」などのメッセージ表示文を表示するメッセージ表示領域５０４とが設けられている。
【００４０】
このチュートリアルモード画面５００においては、プレイヤは、プレイヤキャラクタＰＣを操作して弓ＰＹを使って的表示領域５０３に表示された的を射る練習をする。なお、このチュートリアルモードの際に、プレイヤキャラクタＰＣに適用される戦闘用パラメータ（例えば、攻撃力、防御力、俊敏性など）は、オンラインゲームにおける戦闘モードに用いられる戦闘用パラメータに影響のないように別途設定されている。具体的には、例えば、戦闘モードにおいて１つの攻撃が成功した場合に、攻撃力が＋５％ＵＰで上昇するとしたら、チュートリアルモードにおいては攻撃が成功した場合であっても攻撃力に変化はなく点数に計算されるような戦闘用パラメータが適用される。
【００４１】
上述の通り、チュートリアルモードの実行で必要となるデータは、メインのシナリオ実行時とは異なるパラメータを使用することから、万一悪意のあるプレイヤにデータを解析された場合も当該オンラインゲームのメインシナリオと直接関係する重要な情報は含まれないため、クライアント端末側に配布しても重要な問題は発生しにくいと考えられる訳である。
【００４２】
以下にチュートリアルモードを含むサブゲーム等、重要度の低いゲームデータをクライアント端末に配布する方法について図４に沿って説明する。ゲーム提供者は上述の通り、当該データに望まれるセキュリティーの高さを基準として、それぞれのデータについてクライアント端末２１〜２Ｎに送信可能か否かを判断し、重要度の低いデータについては高いセキュリティーは必要がないものとして「送信可能」と認識し、送信可能フラグを設定する。概念的に表すと、図４に示すように、オンラインゲームサーバ１０側の情報は、大別するとサーバ側ゲームプログラムＳＰと、サーバ側ゲームデータＳＤによって構成される。さらに、これらは上述した送信可能フラグの有無によって、クライアント端末２１〜２Ｎ側に送信することができないメインシナリオに関する情報であるサーバ側ゲームプログラム（メイン）ＳＰ−Ｍ、サーバ側ゲームデータ（メイン）ＳＤ−Ｍと、送信可能なその他の情報であるサーバ側ゲームプログラム（サブ）ＳＰ−Ｓ、サーバ側ゲームデータ（サブ）ＳＤ−Ｓに細分化される。
【００４３】
そして、送信可能フラグが設定されているサーバ側ゲームプログラム（サブ）ＳＰ−Ｓ、サーバ側ゲームデータ（サブ）ＳＤ−Ｓは自動的に複製され、オンラインゲームサーバ１０上の別の場所にクライアント端末２１〜２Ｎへの配布用ゲームデータとしてセットで保存される。この配布用ゲームデータは、後述する方法でクライアント端末２１〜２Ｎに送信され、保存される。なお、この配布用ゲームデータのセットは、共有ライブラリ形式で保存するようにしてもよい。この共有ライブラリ形式としては、例えばオペレーティングシステム（ＯＳ）がＷｉｎｄｏｗｓ（登録商標）である場合は、ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）形式などが挙げられる。
【００４４】
クライアント端末２１〜２Ｎでは、初回ゲーム開始時にクライアント側ゲームプログラムを記憶媒体を通してインストールするか、もしくはオンラインゲームサーバ１０からダウンロードする形で端末２１〜２Ｎ内に保存するとともに、上記の配布用ゲームデータをオンラインゲームサーバ１０からダウンロードしてクライアント端末２１〜２Ｎ内に保存する。その後は後述する方法で毎回ゲーム開始時にオンラインゲームサーバ１０側に保存されている配布用ゲームデータと、クライアント端末２１〜２Ｎ内に保存されている当該データのバージョン情報を比較することで、オンラインゲームサーバ１０側の配布用ゲームデータが更新されている場合（すなわちバージョン情報が更新されている場合）は、自動的にオンラインサーバ１０側の配布用ゲームデータを再度ダウンロードしてクライアント端末２１〜２Ｎ側のデータに上書き保存する。この時、クライアント端末２１〜２Ｎ側に保存された配布用ゲームデータのコピーを便宜上ＳＰ−Ｓ’およびＳＤ−Ｓ’とする。
【００４５】
クライアント側ゲームプログラムＣＰは、ゲームのメインシナリオを進行させる場合にはサーバ側ゲームプログラムＳＰ−Ｍと通信を行い、チュートリアルモードなどのその他のプログラムを実行させる場合には、ＳＰ−Ｓ’と通信を行うことによりオンラインゲームサーバ１０と通信を行うことなく、スタンドアローン状態でゲームを進行させることが可能となる。この時、配布用ゲームデータのダウンロードおよび保存時のファイル名の定義等を工夫することによって、スタンドアローンモード移行時の通信先の切り替えは、ループバックの仕組みを利用することによって、さらに効率的に行うことができる。これについては詳細を後述する。
【００４６】
図５は、本例のオンラインゲームシステム１００におけるオンラインゲームの動作の例を示すフローチャートである。図５に示すように、まず、クライアント端末２１〜２Ｎの制御部３１は、入力部３２に入力されたプレイヤの指示操作入力を受け付け（ステップＳ１３０）、受け付けた指示操作入力がチュートリアルモードの開始を指示するものであるか否かを判断する（ステップＳ１３１）。
【００４７】
上記ステップＳ１３１にてチュートリアルモードの開始を指示するものでないと判断した場合（ステップＳ１３１のＮ）は、制御部３１は、メインシナリオに関するプログラムの実施と判断し、通信制御部３５を介して、オンラインゲームサーバ１０の制御部１１に対して、指示内容に基づき必要データの送信を要求する（ステップＳ１４０）。これにより、オンラインゲームサーバ１０の制御部１１（具体的にはサーバ側ゲームプログラムＳＰ−Ｍ）は、格納部１３（具体的にはサーバ側ゲームデータＳＤ−Ｍ）に対して必要データの送信を要求する。
【００４８】
例えばプレイヤからの操作指示が戦闘処理の開始であった場合、オンラインゲームサーバ１０の制御部１１は、このような送信の要求に応じた戦闘処理のリクエストを受け付け（ステップＳ１４１）、格納部１３に対して当該戦闘処理に必要なプレイヤキャラクタのステータス情報や戦闘用パラメータ等、必要となるデータの送信を要求する（ステップＳ１４２）。そして、このようなデータ送信要求を受信した後、格納部１３は、戦闘用プログラムに必要なデータとして、例えば戦闘用パラメータＡを選択して送信する（ステップＳ１４３）。
【００４９】
戦闘用パラメータＡが送信された後、制御部１１は、戦闘動作の演算処理を行い（ステップＳ１４４）、演算結果を通信制御部１５を介してクライアント端末２１〜２Ｎの制御部３１に対して送信する（ステップＳ１４５）。オンラインゲームサーバ１０から演算結果が送信されたら、クライアント端末２１〜２Ｎの制御部３１は、表示部３４の表示画面上に演算結果に基づく画像を表示するなどして結果を反映する（ステップＳ１３８）。
【００５０】
一方、上記ステップＳ１３０において受け付けたプレイヤの指示操作入力の内容がチュートリアルモードの開始を指示するものであると判断した場合（ステップＳ１３１のＹ）には、制御部３１は受け付けた指示操作入力の送信先アドレスを自身の端末アドレスに変更することでループバックの仕組みを利用することができる。ループバックとは、データの送信先アドレスを自身の端末アドレス（ループバックアドレス）にして送信することにより、同一のホスト内でデータの送受信が行われる通信のことであり、ソフトウェアからはネットワークにアクセスしているように見えるが、実際のネットワークにはパケットは流れないという仕組みのことをいう。すなわち、このようにすることで、クライアント端末２１〜２Ｎはオンラインゲームサーバ１０と通信を行わず、自身の端末内の記憶部３３に格納された配布用ゲームデータのコピー（すなわちＳＰ−Ｓ’）を参照することになる。これは、オンラインゲームサーバ内に格納された配布用ゲームデータをクライアント端末２１〜２Ｎ側にダウンロードする際に、ファイル名を変えずに保存することによって簡単に実現可能となる。ループバック処理が開始されると（ステップＳ１３２）、ＳＰ−Ｓ’はチュートリアル処理のリクエストを受け付け（ステップＳ１３３）、記憶部３３に格納されているＳＤ−Ｓ’対してチュートリアル処理に必要なデータの送信を要求する（ステップＳ１３４）。
【００５１】
上記ステップＳ１３２での処理は、具体的には、オンラインゲームサーバ１０のチュートリアル用プログラムに含まれる指示内容に対応する部分への通信の参照先指定が、擬似的にオンラインゲームサーバ１０内のＳＰ−Ｓに通信しているような状態であるにもかかわらず、クライアント端末２１〜２Ｎのチュートリアル用プログラムに含まれる指示内容に対応する部分（すなわちＳＰ−Ｓ’）のデータが通信の参照先に設定されているためループバックが行われる。例えば、送信されたデータの要求の内容がチュートリアル用の戦闘処理の実施であった後、記憶部３３は、記憶されているチュートリアル用プログラムに用いられるチュートリアル用データから、必要なデータとしてのチュートリアル用戦闘用パラメータＡ’を選択して送信する（ステップＳ１３５）。
【００５２】
チュートリアル用戦闘用パラメータＡ’が送信された後、制御部３１（具体的にはＳＰ−Ｓ’）は、チュートリアル動作の演算処理を行い（ステップＳ１３６）、表示部３４の表示画面上に演算結果に基づく画像を表示するなどして結果を反映し（ステップＳ１３７）、チュートリアルモードを終了するか否かを判断する（ステップＳ１３８）。
【００５３】
チュートリアルモードを終了すると判断した場合（ステップＳ１３８のＹ）には、制御部３１は、指示操作入力の送信先アドレスをオンラインゲームサーバ１０のアドレスに戻してループバックを終了し（ステップＳ１３９）、本フローチャートによる一連の処理を終了する。チュートリアルモードを終了しないと判断した場合（ステップＳ１３８のＮ）には、上記ステップＳ１３３に移行して上述した処理を繰り返す。
【００５４】
このように、本例のオンラインゲームでは、クライアント端末２１〜２Ｎにてスタンドアローン動作するチュートリアルモードにおいては、通常、クライアント端末２１〜２Ｎからのデータの送信先となっているオンラインゲームサーバ１０のアドレスのＩＰ情報を、クライアント端末２１〜２Ｎ自身のＩＰ情報（すなわちループバックアドレス）に書き換えることにより、チュートリアル用プログラムやチュートリアル用データの参照先はクライアント端末２１〜２Ｎ内に保存された配布用データのコピーデータであるＳＰ−Ｓ’およびＳＤ−Ｓ’に簡単に変更することができ、クライアント側プログラムＣＰはあたかもオンラインゲームサーバ１０と通信するかのように、クライアント端末２１〜２Ｎ内のこれらのデータと通信を行うことでチュートリアルモード等のサブゲームのプログラムを進行させることが可能となる。このため、非常に簡単なプログラムの操作によってクライアント端末２１〜２Ｎとオンラインゲームサーバ１０との通信負荷を軽減することが可能となる。特に新しいオンラインゲームの販売直後は、ほとんどのプレイヤがチュートリアルモードの実施からゲームを開始するため、ゲーム販売直後にチュートリアルモードを進行させるための通信負荷が非常に大きかったが、この課題を非常に効果的に解決することが可能となる。
【００５５】
なお、上述した例では、サブゲームとしてチュートリアルモードを挙げて説明したが、オンラインゲームのメインゲームとは異なる（メインゲーム以外の）サブゲームとしてのあらゆる種類のゲーム（例えば、シナリオに関連性のないミニゲームなど）の動作において、ループバック処理を用いたスタンドアローン動作を実行するようにしてもよい。
【００５６】
次にオンラインゲームサーバ１０に記憶されているゲームデータに変更が生じた際の更新処理について説明する。図６は、本例のオンラインゲームシステム１００におけるデータ更新処理手順の例を示すフローチャートである。データ更新処理は、オンラインゲーム提供者による入力部１２の更新操作による更新に関するデータの入力が受け付けられたときに開始される。データ更新処理において、オンラインゲームサーバ１０の更新処理部１６は、先ず、格納部１３に格納されているサーバ側ゲームプログラムＳＰおよびサーバ側ゲームデータＳＤのうちの少なくとも一方の更新箇所に対し、上述した更新操作により修正されたデータ（修正データ）を反映させて更新箇所を書き換える（ステップＳ１００）。
【００５７】
次に、更新処理部１６は、サーバ側ゲームプログラムＳＰおよびサーバ側ゲームデータＳＤのうちの少なくとも一方に行われた更新処理について、更新が行われた箇所（更新部分）を特定し、当該箇所（書換部分）が送信可能データに及んでいるか否かを判断する（ステップＳ１０１）。送信可能データに更新が行われたと判断された場合（ステップＳ１０１のＹ）は、更新処理部１６は送信可能フラグが設定されている全てのデータを複製（すなわち、送信可能データを全てコピー）し（ステップＳ１０２）、オンラインゲームサーバ１０に格納されている配布用ゲームデータ（ＳＰ−Ｓ，ＳＤ−Ｓ）に対して上書き保存する（ステップＳ１０３）。
【００５８】
更に更新処理部１６は新たに上書きされた配布用ゲームデータのバージョン情報を更新して保存する（ステップＳ１０４）ことにより、配布用ゲームデータの更新を完了する。クライアント端末２１〜２Ｎは、毎回当該オンラインゲームの開始時にクライアント端末２１〜２Ｎ内にダウンロード保存されている配布用ゲームデータ（ＳＰ−Ｓ’，ＳＤ−Ｓ’）と、オンラインゲームサーバ１０内に保存されている配布用ゲームデータ（ＳＰ−Ｓ，ＳＤ−Ｓ）のオリジナルデータのバージョン情報を比較し、このバージョン情報が不一致となった場合は、自動的にオンラインゲームサーバ１０内に保存された配布用ゲームデータを再ダウンロードしてクライアント端末２１〜２Ｎ内に上書き保存させることで、オンラインゲームサーバ１０とクライアント端末２１〜２Ｎのそれぞれに保存されている配布用ゲームデータの同期を取り、バージョン管理を行う。一方、更新処理が行われた箇所が送信可能データに一切及ばない場合（ステップＳ１０１のＮ）、更新処理部１６は更新内容を保存して更新処理を終了する。
【００５９】
このような一連の更新処理を実施することにより、特にオンラインゲームサーバ１０上に保存された配布用ゲームデータに対する更新内容の反映については、送信可能フラグが設定されているデータに関しては自動的に複製が行われるようにしたために、人為的なミスによる更新漏れなどを防止できるほか、更新に要する人為的な稼動を最小限に留めることが可能となる。
【００６０】
なお、上述した例では、更新部分が送信可能データに及ぶ場合、更新が行われていないデータも含めた全ての送信可能データを複製して配布用ゲームデータ全体を上書き保存する方法について記述したが、少なくとも更新部分のデータが複製されて上書きされていればよく、例えば、更新部分のデータをピンポイントで複製して配布用ゲームデータの内容を更新することとしてもよい。
【００６１】
以上説明したように、上述した一実施の形態では、オンラインゲームサーバ１０が、オンラインゲームのサーバ側ゲームプログラムＳＰおよびこのサーバ側ゲームプログラムＳＰに用いられるサーバ側ゲームデータＳＤを格納部１３にて格納し、更新処理部１６がこの格納部１３に格納されたサーバ側ゲームプログラムＳＰおよびサーバ側ゲームデータＳＤのうちの少なくとも一方であってオンラインゲームにおけるメインゲーム以外のサブゲームの実行に際して使用されるデータに対する更新操作に応じてデータ更新し、このデータ更新による更新部分のデータを示す更新部分データをクライアント端末２１〜２Ｎにて利用可能な共有ライブラリ形式（例えば、ＤＬＬ形式）とし、更新処理部１６によって共有ライブラリ形式とされた更新部分データを少なくとも含む更新データＳＰ−Ｓ，ＳＤ−Ｓをクライアント端末２１〜２Ｎに対して通信制御部１５によって送信するとともに、クライアント端末２１〜２Ｎが、オンラインゲームサーバ１０から提供されたオンラインゲームのクライアント側ゲームプログラムＣＰおよびこのクライアント側ゲームプログラムＣＰに用いられるクライアント側ゲームデータを記憶部３３にて記憶し、通信制御部１５によって送信された更新データＳＰ−Ｓ，ＳＤ−Ｓを通信制御部３５にて受信し、制御部３１が記憶部３３に記憶されたクライアント側ゲームプログラムＣＰおよびクライアント側ゲームデータのうちの少なくとも何れかを通信制御部３５にて受信された更新データＳＰ−Ｓ，ＳＤ−Ｓを用いて書き換え、サーバ側ゲームプログラムＳＰあるいはサーバ側ゲームデータＳＤのうちサブゲームのデータを使用するプレイヤによる指定操作入力があった場合に、オンラインゲームサーバ１０への通信を行うことなく、記憶部３３にて記憶されたクライアント側ゲームプログラムＣＰあるいはクライアント側ゲームデータを利用して、オンラインゲームの進行を制御部３１にて制御するようにしているので、クライアント端末２１〜２Ｎでのスタンドアローン動作を実現して通信負荷の軽減を図ることができる。また、オンラインゲームサーバ１０にて更新された更新部分データを含む更新データＳＰ−Ｓ，ＳＤ−Ｓがクライアント端末２１〜２Ｎにて利用可能な共有ライブラリ形式とされた状態で、クライアント端末２１〜２Ｎにて書き換えるようにしているので、オンラインゲーム提供者のデータ更新漏れなどのミスを防止して、作業負担の軽減を図ることができる。
【００６２】
また、上述した一実施の形態では、オンラインゲームサーバ１０が送信可能フラグを設定したデータのバージョン情報に基づいて、クライアント端末２１〜２Ｎが配布用ゲームデータをダウンロードするとしていたが、次のように構成してもよい。すなわち、オンラインゲームサーバ１０が、クライアント端末２１〜２Ｎからの更新データＳＰ−Ｓ，ＳＤ−Ｓの送信に関する認証フラグ付きデータ送信要求を通信制御部１５にて受信し、この通信制御部１５が、受信された認証フラグ付きデータ送信要求に基づいて、この認証フラグが更新データＳＰ−Ｓ，ＳＤ−Ｓに付された確認フラグ（例えば、送信可能フラグ）と一致するか否かを判断し、判断結果に応じて更新データＳＰ−Ｓ，ＳＤ−Ｓをクライアント端末２１〜２Ｎに対して送信するように構成する。これにより、通信されるデータの不正な解析や改ざん、盗用などに対する対策を強化することができる。
【００６３】
以上のような方法を取ることにより、オンラインゲームに関する重要性の高いデータのセキュリティーを高く保ったまま、ゲームデータの一部をクライアント端末側に配布することによって、オンラインゲームサーバ１０とクライアント端末２１〜２Ｎ間のデータ通信量を減少させてオンラインゲームサーバ１０にかかる通信負荷を軽減し、多くのプレイヤが同時にオンラインゲームサーバ１０にアクセスする際に起こる、ゲーム進行中の通信遅延等を起こりにくくさせることができる。また、オンラインゲームのプログラムに変更が生じた際のデータの更新にかかる稼動を減少させることができるようになる。
【００６４】
なお、上述した実施の形態では特に言及していないが、オンラインゲームサーバ１０やクライアント端末２１〜２Ｎは、自己が備える記憶装置（例えば、格納部１３や記憶部３３）に記憶されている制御プログラム（オンラインゲームプログラム）にしたがって、上述したオンラインゲームに関する各種処理（オンラインゲームの進行やチュートリアルモードの実行など）やデータ更新処理を実行する。
【産業上の利用可能性】
【００６５】
本発明によれば、通信ネットワークを介してオンラインゲームを進行させるオンラインゲームシステムに適用するのに有用である。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施の形態におけるオンラインゲームシステムの構成の例を示すブロック図である。
【図２】オンラインゲームサーバおよびクライアント端末の構成の例を示すブロック図である。
【図３】オンラインゲームシステムにおけるサブゲームの例を説明するための説明図である。
【図４】オンラインゲームシステムにて重要度の低いゲームデータをクライアント端末に配布する方法を説明するための説明図である。
【図５】オンラインゲームシステムにおけるオンラインゲームの動作の例を示すフローチャートである。
【図６】オンラインゲームシステムにおけるデータ更新処理手順の例を示すフローチャートである。
【符号の説明】
【００６７】
１０        オンラインゲームサーバ
１１，３１  制御部
１２，３２  入力部
１３        格納部
１４，３４  表示部
１５，３５  通信制御部
１６        更新処理部
２１〜２Ｎ  クライアント端末
３０        通信ネットワーク
３６        音声出力部
１７        通信制御部
１００      オンラインゲームシステム
【図１】
0004408929.tif 000002
【図２】
0004408929.tif 000003
【図３】
0004408929.tif 000004
【図４】
0004408929.tif 000005
【図５】
0004408929.tif 000006
【図６】
0004408929.tif 000007