説明

オンラインゲームシステム、およびオンラインゲームプログラム

【課題】オンラインゲームの通信負荷の軽減を図りつつオンラインゲーム提供者の作業負担の軽減を図るようにする。
【解決手段】オンラインゲームサーバ10の更新データSP−S,SD−Sはクライアント端末21〜2Nにて利用可能な共有ライブラリ形式とされる。更新データSP−S,SD−Sは、クライアント端末21〜2Nに送信される。クライアント端末21〜2Nは、クライアント側ゲームプログラムCPおよびクライアント側ゲームデータのうちの少なくとも何れかを更新データSP−S,SD−Sを用いて書き換える。クライアント端末21〜2Nは、サブゲームのデータを使用する指定操作入力があった場合には、オンラインゲームサーバ10への通信を行うことなく、記憶部33に記憶されたクライアント側ゲームプログラムCPあるいはクライアント側ゲームデータを利用して、オンラインゲームの進行を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クライアント端末とオンラインゲームサーバとの間で通信ネットワークを介してオンラインゲームに関する各種処理を実行するための技術に関する。
【背景技術】
【0002】
従来から、通信ネットワークを介してクライアント端末とオンラインゲームサーバとの間で各種処理を実行し遊戯するタイプのオンラインゲームが普及している。このようなオンラインゲームにおいては、オンラインゲームを実行するための各種プログラムや各種ゲームデータへの不正な解析や改ざんを防止するため、これらのプログラムやゲームデータはオンラインゲームサーバ側で管理されている。
【0003】
しかし、オンラインゲームの進行に際して、クライアント端末とオンラインゲームサーバとの間で通信が必要な都度行われることとなるため、オンラインゲームサーバの処理混雑時や通信環境が良好ではない時などには、特にデータの送受信に時間が掛かり、オンラインゲームの進行が滞ってプレイヤにストレスを与えてしまうことがある。
【0004】
そこで、例えばオンラインゲームの進行に際して、オンラインゲームサーバがある程度先の展開分のデータをオンラインゲームの開始時やゲーム途中の要所要所でクライアント端末に対してまとめて送信しておくことで、オンラインゲームの進行に関する重要度の低い(すなわち、シナリオの進行に大きく影響しない)動作に対しては通信を行わずにオンラインゲームを進行させるデータ処理方法が知られている(例えば、特許文献1参照)。
【0005】
【特許文献1】特開2001−198363号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しなしながら、上述した従来のデータ処理方法においても、一度にサーバへのアクセスが集中するとゲーム途中のデータ読み込み時などに通信負荷が高くなるため処理に時間がかかり、ゲーム途中に進行が滞ることによるプレイヤのストレスの軽減などを図るためには十分ではないという問題があった。
【0007】
本発明は、上記の問題を解消すべく、オンラインゲームにおける所定のデータをあらかじめオンラインゲームサーバからクライアント端末に送信しておくことで、クライアント端末でのスタンドアローン動作を実現し、オンラインゲームのゲーム進行中の通信負荷の軽減を図ることができるようにすることを目的とする。
【0008】
また、本発明は、オンラインゲームにおいてオンラインゲーム提供者が各種データの更新を行う際の手作業によるデータ更新漏れなどのミスを防止して、作業負担の軽減を図ることができるようにすることを目的とする。
【課題を解決するための手段】
【0009】
本発明のオンラインゲームシステムは、プレイヤに操作されるクライアント端末と、該クライアント端末にて遊戯されるオンラインゲームを通信ネットワークを介して実行するオンラインゲームサーバとを備えたオンラインゲームシステムであって、前記オンラインゲームサーバは、前記オンラインゲームのサーバ側ゲームプログラムおよび該サーバ側ゲームプログラムに用いられるサーバ側ゲームデータを格納する格納手段と、前記格納手段に格納された前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの少なくとも一方であって前記オンラインゲームにおけるメインゲーム以外のサブゲームの実行に際して使用されるデータに対する更新操作に応じてデータ更新し、該データ更新による更新部分のデータを示す更新部分データを前記クライアント端末にて利用可能な共有ライブラリ形式とする更新手段と、前記更新手段によって共有ライブラリ形式とされた更新部分データを少なくとも含む更新データを前記クライアント端末に対して送信する送信手段とを含み、前記クライアント端末は、前記オンラインゲームサーバから提供された前記オンラインゲームのクライアント側ゲームプログラムおよび該クライアント側ゲームプログラムに用いられるクライアント側ゲームデータを記憶する記憶手段と、前記送信手段によって送信された更新データを受信する受信手段と、前記記憶手段によって記憶された前記クライアント側ゲームプログラムおよび前記クライアント側ゲームデータのうちの少なくとも何れかを前記受信手段によって受信された更新データを用いて書き換える書換手段と、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記オンラインゲームサーバへの通信を行うことなく、前記記憶手段によって記憶された前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータを利用して、前記オンラインゲームの進行を制御する制御手段とを含むことを特徴とする。
【0010】
上記の構成としたことで、クライアント端末でのスタンドアローン動作を実現して通信負荷の軽減を図ることができるようになる。また、オンラインゲームサーバにて更新された更新部分データを含む更新データがクライアント端末にて利用可能な共有ライブラリ形式とされた状態で、クライアント端末にて書き換えるようにしているので、オンラインゲーム提供者のデータ更新漏れなどのミスを防止して、作業負担の軽減を図ることができるようになる。
【0011】
前記更新データは、前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの前記サブゲームの実行に際して使用されるデータの一部であってもよく、全部であってもよい。
【0012】
前記オンラインゲームサーバは、前記クライアント端末からの前記更新データの送信に関する認証フラグ付きデータ送信要求を受信するデータ送信要求受信手段をさらに含み、前記送信手段は、前記データ送信要求受信手段によって受信された認証フラグ付きデータ送信要求に基づいて、該認証フラグが前記更新データに付された確認フラグと一致するか否かを判断し、判断結果に応じて前記更新データを前記クライアント端末に対して送信するように構成されていてもよい。
【0013】
前記クライアント端末は、前記プレイヤによる指定操作入力に基づく操作入力情報を前記オンラインゲームサーバに対して送信する操作入力情報送信手段をさらに備え、前記制御手段は、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記操作入力情報に基づく処理に用いられるデータの参照先指定情報を、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータに対する指定から、前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータに対する指定に置き換えて、ループバック処理を実行し前記オンラインゲームの進行を制御するように構成されていてもよい。
【0014】
また、本発明のオンラインゲームプログラムは、プレイヤに操作されるクライアント端末と、該クライアント端末にて遊戯されるオンラインゲームを通信ネットワークを介して実行するオンラインゲームサーバとにオンラインゲームに関する各種処理を実行させるオンラインゲームプログラムであって、前記オンラインゲームサーバに、自己が備える格納手段に格納された前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの少なくとも一方であって前記オンラインゲームにおけるメインゲーム以外のサブゲームの実行に際して使用されるデータに対する更新操作に応じてデータ更新し、該データ更新による更新部分のデータを示す更新部分データを前記クライアント端末にて利用可能な共有ライブラリ形式とする更新処理と、前記更新処理にて共有ライブラリ形式とされた更新部分データを少なくとも含む更新データを前記クライアント端末に対して送信する送信処理とを実行させ、前記クライアント端末に、前記送信処理によって送信された更新データを受信する受信処理と、自己が備える記憶手段に記憶された前記クライアント側ゲームプログラムおよび前記クライアント側ゲームデータのうちの少なくとも何れかを前記受信処理にて受信された更新データを用いて書き換える書換処理と、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記オンラインゲームサーバへの通信を行うことなく、前記自己が備える記憶手段に記憶された前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータを利用して、前記オンラインゲームの進行を制御する制御処理とを実行させるためのものである。
【発明の効果】
【0015】
本発明によれば、クライアント端末でのスタンドアローン動作を実現してゲーム進行中の通信負荷の軽減を図ることができるようになる。また、オンラインゲーム提供者のデータ更新漏れなどのミスを防止して、作業負担の軽減を図ることができるようになる。
【発明を実施するための最良の形態】
【0016】
以下、本発明の実施の形態について図面を参照して説明する。
【0017】
図1は、本発明の一実施の形態におけるオンラインゲームシステムの構成の例を示すブロック図である。図1に示すように、オンラインゲームシステム100は、オンラインゲームサーバ10と、複数のクライアント端末21〜2N(Nは任意の整数)とを含む。
【0018】
このオンラインゲームシステム100を構成するオンラインゲームサーバ10および複数のクライアント端末21〜2Nは、例えば、それぞれインターネットなどの通信ネットワーク30に接続されている。
【0019】
オンラインゲームサーバ10は、例えば、本システム100のシステム管理者(オンラインゲーム提供者)によって管理され、クライアント端末21〜2Nそれぞれに対してオンラインゲームを提供し実行するための各種の機能を有する。このオンラインゲームサーバ10は、WWWサーバなどの情報処理装置によって構成される。なお、オンラインゲームサーバ10は、テレビジョン装置や液晶表示装置などによって構成される画像の表示部(表示画面)を有する表示装置を、内部あるいは外部に備えていてもよい。
【0020】
クライアント端末21〜2Nは、それぞれ、オンラインゲームを行う(遊戯する)プレイヤ(ユーザ)によって管理され、例えば、パーソナルコンピュータや携帯通信端末などの情報処理装置によって構成される。クライアント端末21〜2Nは、通信ネットワーク30に接続するための通信モジュールなどのハードウェアおよび通信ソフトなどのソフトウェアを備えている。これらのクライアント端末21〜2Nは、それぞれ、テレビジョン装置や液晶表示装置などによって構成される画像の表示部(表示画面)を有する表示装置を、内部あるいは外部に備えている。
【0021】
ここで、本実施の形態におけるオンラインゲームとは、例えばオンラインゲームサーバ10から通信ネットワーク30を介してダウンロード(DL)などによってクライアント端末21〜2Nに提供され、プレイヤの操作によってクライアント端末21〜2Nにおいて遊戯されるゲームである。そして、メインのシナリオとなるメインゲームの進行に際して自動的に、あるいはゲーム表示画面中に選択可能に表示された項目などのオブジェクトを任意に選択すると、メインのシナリオ進行とは直接的に関わらないサブゲームが実行されるゲームのことをいう。
【0022】
図2は、オンラインゲームサーバ10およびクライアント端末21〜2Nの構成の例を示すブロック図である。図2に示すように、オンラインゲームサーバ10は、制御部11と、入力部12と、格納部13と、表示部14と、通信制御部15と、更新処理部16とを含む。また、クライアント端末21〜2Nは、制御部31と、入力部32と、記憶部33と、表示部34と、通信制御部35と、音声出力部36とを含む。
【0023】
オンラインゲームサーバ10の制御部11は、CPUやROM、RAMなどを含み、格納部13に格納されたサーバ側ゲームプログラムやこのサーバ側ゲームプログラムに用いられるサーバ側ゲームデータなどの各種プログラムやデータのうち、例えば、制御プログラムにしたがってオンラインゲームサーバ10全体の制御を行う。
【0024】
入力部12は、リモコン、キーボード、マウス、タッチパネル、ジョイスティックなどの各種の入力デバイスによって構成され、文字、数値、操作入力に伴う各種の指示などのオンラインゲームサーバ10に対しての入力を受け付けるものである。
【0025】
格納部13は、例えば、磁気ディスクと磁気ディスクドライブ、および光ディスクと光ディスクドライブなどの記憶装置や、データベース装置などによって構成され、上述した各種のプログラムやデータが格納される記憶媒体である。この格納部13は、オンラインゲームサーバ10に対して着脱自在に構成され、例えば、メモリカードなどの記憶媒体であってもよい。
【0026】
表示部14は、上述したようにテレビジョン装置や液晶表示装置によって構成され、表示画面上に画像や文字、アイコン、メニュー、カーソル、ウィンドウなどの各種データを表示する。
【0027】
通信制御部15は、無線あるいは有線を介して通信ネットワーク30に接続され、制御部11と通信ネットワーク30とのインタフェース(I/F)として機能し、クライアント端末21〜2Nとの各種データの通信(送受信)全般を制御する。さらに更新処理部16は、例えば、入力部12によって受け付けられたオンラインゲーム提供者による更新操作に伴う入力にしたがって、格納部13に格納されている各種のプログラムやデータの更新に関する処理を行う。更新処理については詳細を別途後述する。
【0028】
一方、クライアント端末21〜2Nの制御部31は、CPUやROM、RAMなどを含み、オンラインゲームサーバ10から提供され記憶部33に記憶されたクライアント側ゲームプログラムやこのクライアント側ゲームプログラムに用いられるクライアント側ゲームデータなどの各種プログラムやデータのうち、例えば、オンラインゲームプログラムにしたがってオンラインゲームの進行に関する全体の制御を行う。
【0029】
入力部32は、上記オンラインゲームサーバ10の入力部12と同様に、各種の入力デバイスによって構成され、例えば、オンラインゲームに関する各種の操作や指示などのクライアント端末21〜2Nに対しての入力を受け付けるものである。
【0030】
記憶部33は、上記オンラインゲームサーバ10の格納部13と同様に、上述した各種のプログラムやデータが記憶される記憶媒体である。この記憶部33は、クライアント端末21〜2Nに対して着脱自在に構成され、例えば、メモリカードなどの記憶媒体であってもよい。
【0031】
表示部34は、上記オンラインゲームサーバ10の表示部14と同様に、表示画面上に画像などの各種データを表示する。
【0032】
音声出力部36は、例えば、オンラインゲームプログラムの実行に伴って制御部31によって生成されたオンラインゲームに関する音声データを音声として出力するスピーカ装置などによって構成される。
【0033】
なお、この実施の形態に係るオンラインゲームは、例えば、MORPG(Multi−player Online Role−Playing Game)やMMORPG(Massively Multiplayer Online Role−Playing Game)などの仮想三次元空間において構築されたゲーム世界で、プレイヤがプレイヤキャラクタを操作して様々な仕掛けをクリアしたり戦闘を経験したりしてゲームを進行させ、所定の目標を達成することを目的とするロールプレイングタイプのものであるとする。
【0034】
通常、オンラインゲームにおいては、ゲームの進行に必要な各種データはオンラインゲームサーバ10内に保存されるものと、それぞれのクライアント端末21〜2N内に保存されるものがある。クライアント端末21〜2N側に保存されるデータは、主にプレイヤが入力部32から入力した操作情報をオンラインゲームサーバ10に送信したり、オンラインゲームサーバ10から受信した情報を表示部34に表示したりする際に用いられる制御データが主となる。一方、オンラインゲームサーバ10内に保存されるデータは、各クライアント端末21〜2Nから受け付けた操作情報に基づいて各種の演算を行うための計算式や、各プレイヤキャラクタのステータス情報等であり、オンラインゲームサーバ10内に記録、保存されている。
【0035】
上述のように、オンラインゲームサーバ10上に保存される情報は、クライアント端末21〜2N上に保存される情報に比べて高いセキュリティーを必要とするデータである。これは、悪意のあるプレイヤが解析や改変を行うことを防止する目的によるものであり、このためオンラインゲーム提供者は、オンラインゲームの進行に必要な重要な情報については極力クライアント端末21〜2Nにダウンロードさせることを許可せず、プレイヤが操作指示を行う度にオンラインゲームサーバ10と通信を介して適宜必要な情報だけを送受信することによって、極力オンラインゲームサーバ10側にオンラインゲーム進行に必要な各種データを集中させてセキュリティーを高めることが求められている。
【0036】
本例では上述のサブゲームのように、メインのシナリオ進行とは直接的に関わらない部分に関するデータについてはセキュリティーを高い状態に保つ必要性が低いものとし、これらのデータについてはクライアント端末21〜2Nにダウンロードさせることを許可することとしている。このようにすることによって、サブゲームのようなデータについては各クライアント端末21〜2Nとオンラインゲームサーバ10との通信を必要とせず、クライアント端末21〜2N内に保存されたデータ間での情報のやり取りによってゲームを進行させることで、スタンドアローン動作を実施させることを可能にしている。したがって、オンラインゲームサーバ10と各クライアント端末21〜2N間の通信回数を減らし、通信負荷の軽減を図ることができる。以下に、チュートリアルモードを実行する場合の処理を例にとって詳細に説明を行う。
【0037】
チュートリアルモードとは、例えばメインゲームの戦闘場面において必要となるプレイヤキャラクタ(プレイヤが操作するキャラクタ)の基本的な戦闘操作などについてプレイヤに説明を行うとともに、ゲームのシナリオとは無関係な具体例を実行させながら、ある程度上手に操作ができるようになるまでプレイヤに操作を練習させるために設けられている。このチュートリアルモードを実行することにより、プレイヤはメインシナリオを進行する際に必要な敵キャラクタとの戦闘動作などを、初回からスムーズに操作することが可能となる。
【0038】
図3は、本例のオンラインゲームシステム100におけるサブゲームの例を説明するための説明図である。図3に示すように、ここでのサブゲームは、例えば、オンラインゲーム開始後において、プレイヤキャラクタPCの弓による攻撃の練習を行うためのチュートリアルモードであるとする。なお、このチュートリアルモードは、オンラインゲームの実行中に何度でも実行可能としてもよい。
【0039】
チュートリアルモード画面500には、チュートリアルモードが実行されるとメインゲームの画面(図示せず)と切り替えて表示部34の表示画面上に表示され、例えば、弓PYを構えるプレイヤキャラクタPCが表示されるキャラクタ表示領域501と、射的の点数(スコア)を表示する点数表示領域502と、風船などの複数の的を表示する的表示領域503と、例えば、「上手く当てられるように練習しましょう!」などのメッセージ表示文を表示するメッセージ表示領域504とが設けられている。
【0040】
このチュートリアルモード画面500においては、プレイヤは、プレイヤキャラクタPCを操作して弓PYを使って的表示領域503に表示された的を射る練習をする。なお、このチュートリアルモードの際に、プレイヤキャラクタPCに適用される戦闘用パラメータ(例えば、攻撃力、防御力、俊敏性など)は、オンラインゲームにおける戦闘モードに用いられる戦闘用パラメータに影響のないように別途設定されている。具体的には、例えば、戦闘モードにおいて1つの攻撃が成功した場合に、攻撃力が+5%UPで上昇するとしたら、チュートリアルモードにおいては攻撃が成功した場合であっても攻撃力に変化はなく点数に計算されるような戦闘用パラメータが適用される。
【0041】
上述の通り、チュートリアルモードの実行で必要となるデータは、メインのシナリオ実行時とは異なるパラメータを使用することから、万一悪意のあるプレイヤにデータを解析された場合も当該オンラインゲームのメインシナリオと直接関係する重要な情報は含まれないため、クライアント端末側に配布しても重要な問題は発生しにくいと考えられる訳である。
【0042】
以下にチュートリアルモードを含むサブゲーム等、重要度の低いゲームデータをクライアント端末に配布する方法について図4に沿って説明する。ゲーム提供者は上述の通り、当該データに望まれるセキュリティーの高さを基準として、それぞれのデータについてクライアント端末21〜2Nに送信可能か否かを判断し、重要度の低いデータについては高いセキュリティーは必要がないものとして「送信可能」と認識し、送信可能フラグを設定する。概念的に表すと、図4に示すように、オンラインゲームサーバ10側の情報は、大別するとサーバ側ゲームプログラムSPと、サーバ側ゲームデータSDによって構成される。さらに、これらは上述した送信可能フラグの有無によって、クライアント端末21〜2N側に送信することができないメインシナリオに関する情報であるサーバ側ゲームプログラム(メイン)SP−M、サーバ側ゲームデータ(メイン)SD−Mと、送信可能なその他の情報であるサーバ側ゲームプログラム(サブ)SP−S、サーバ側ゲームデータ(サブ)SD−Sに細分化される。
【0043】
そして、送信可能フラグが設定されているサーバ側ゲームプログラム(サブ)SP−S、サーバ側ゲームデータ(サブ)SD−Sは自動的に複製され、オンラインゲームサーバ10上の別の場所にクライアント端末21〜2Nへの配布用ゲームデータとしてセットで保存される。この配布用ゲームデータは、後述する方法でクライアント端末21〜2Nに送信され、保存される。なお、この配布用ゲームデータのセットは、共有ライブラリ形式で保存するようにしてもよい。この共有ライブラリ形式としては、例えばオペレーティングシステム(OS)がWindows(登録商標)である場合は、DLL(Dynamic Link Library)形式などが挙げられる。
【0044】
クライアント端末21〜2Nでは、初回ゲーム開始時にクライアント側ゲームプログラムを記憶媒体を通してインストールするか、もしくはオンラインゲームサーバ10からダウンロードする形で端末21〜2N内に保存するとともに、上記の配布用ゲームデータをオンラインゲームサーバ10からダウンロードしてクライアント端末21〜2N内に保存する。その後は後述する方法で毎回ゲーム開始時にオンラインゲームサーバ10側に保存されている配布用ゲームデータと、クライアント端末21〜2N内に保存されている当該データのバージョン情報を比較することで、オンラインゲームサーバ10側の配布用ゲームデータが更新されている場合(すなわちバージョン情報が更新されている場合)は、自動的にオンラインサーバ10側の配布用ゲームデータを再度ダウンロードしてクライアント端末21〜2N側のデータに上書き保存する。この時、クライアント端末21〜2N側に保存された配布用ゲームデータのコピーを便宜上SP−S’およびSD−S’とする。
【0045】
クライアント側ゲームプログラムCPは、ゲームのメインシナリオを進行させる場合にはサーバ側ゲームプログラムSP−Mと通信を行い、チュートリアルモードなどのその他のプログラムを実行させる場合には、SP−S’と通信を行うことによりオンラインゲームサーバ10と通信を行うことなく、スタンドアローン状態でゲームを進行させることが可能となる。この時、配布用ゲームデータのダウンロードおよび保存時のファイル名の定義等を工夫することによって、スタンドアローンモード移行時の通信先の切り替えは、ループバックの仕組みを利用することによって、さらに効率的に行うことができる。これについては詳細を後述する。
【0046】
図5は、本例のオンラインゲームシステム100におけるオンラインゲームの動作の例を示すフローチャートである。図5に示すように、まず、クライアント端末21〜2Nの制御部31は、入力部32に入力されたプレイヤの指示操作入力を受け付け(ステップS130)、受け付けた指示操作入力がチュートリアルモードの開始を指示するものであるか否かを判断する(ステップS131)。
【0047】
上記ステップS131にてチュートリアルモードの開始を指示するものでないと判断した場合(ステップS131のN)は、制御部31は、メインシナリオに関するプログラムの実施と判断し、通信制御部35を介して、オンラインゲームサーバ10の制御部11に対して、指示内容に基づき必要データの送信を要求する(ステップS140)。これにより、オンラインゲームサーバ10の制御部11(具体的にはサーバ側ゲームプログラムSP−M)は、格納部13(具体的にはサーバ側ゲームデータSD−M)に対して必要データの送信を要求する。
【0048】
例えばプレイヤからの操作指示が戦闘処理の開始であった場合、オンラインゲームサーバ10の制御部11は、このような送信の要求に応じた戦闘処理のリクエストを受け付け(ステップS141)、格納部13に対して当該戦闘処理に必要なプレイヤキャラクタのステータス情報や戦闘用パラメータ等、必要となるデータの送信を要求する(ステップS142)。そして、このようなデータ送信要求を受信した後、格納部13は、戦闘用プログラムに必要なデータとして、例えば戦闘用パラメータAを選択して送信する(ステップS143)。
【0049】
戦闘用パラメータAが送信された後、制御部11は、戦闘動作の演算処理を行い(ステップS144)、演算結果を通信制御部15を介してクライアント端末21〜2Nの制御部31に対して送信する(ステップS145)。オンラインゲームサーバ10から演算結果が送信されたら、クライアント端末21〜2Nの制御部31は、表示部34の表示画面上に演算結果に基づく画像を表示するなどして結果を反映する(ステップS138)。
【0050】
一方、上記ステップS130において受け付けたプレイヤの指示操作入力の内容がチュートリアルモードの開始を指示するものであると判断した場合(ステップS131のY)には、制御部31は受け付けた指示操作入力の送信先アドレスを自身の端末アドレスに変更することでループバックの仕組みを利用することができる。ループバックとは、データの送信先アドレスを自身の端末アドレス(ループバックアドレス)にして送信することにより、同一のホスト内でデータの送受信が行われる通信のことであり、ソフトウェアからはネットワークにアクセスしているように見えるが、実際のネットワークにはパケットは流れないという仕組みのことをいう。すなわち、このようにすることで、クライアント端末21〜2Nはオンラインゲームサーバ10と通信を行わず、自身の端末内の記憶部33に格納された配布用ゲームデータのコピー(すなわちSP−S’)を参照することになる。これは、オンラインゲームサーバ内に格納された配布用ゲームデータをクライアント端末21〜2N側にダウンロードする際に、ファイル名を変えずに保存することによって簡単に実現可能となる。ループバック処理が開始されると(ステップS132)、SP−S’はチュートリアル処理のリクエストを受け付け(ステップS133)、記憶部33に格納されているSD−S’対してチュートリアル処理に必要なデータの送信を要求する(ステップS134)。
【0051】
上記ステップS132での処理は、具体的には、オンラインゲームサーバ10のチュートリアル用プログラムに含まれる指示内容に対応する部分への通信の参照先指定が、擬似的にオンラインゲームサーバ10内のSP−Sに通信しているような状態であるにもかかわらず、クライアント端末21〜2Nのチュートリアル用プログラムに含まれる指示内容に対応する部分(すなわちSP−S’)のデータが通信の参照先に設定されているためループバックが行われる。例えば、送信されたデータの要求の内容がチュートリアル用の戦闘処理の実施であった後、記憶部33は、記憶されているチュートリアル用プログラムに用いられるチュートリアル用データから、必要なデータとしてのチュートリアル用戦闘用パラメータA’を選択して送信する(ステップS135)。
【0052】
チュートリアル用戦闘用パラメータA’が送信された後、制御部31(具体的にはSP−S’)は、チュートリアル動作の演算処理を行い(ステップS136)、表示部34の表示画面上に演算結果に基づく画像を表示するなどして結果を反映し(ステップS137)、チュートリアルモードを終了するか否かを判断する(ステップS138)。
【0053】
チュートリアルモードを終了すると判断した場合(ステップS138のY)には、制御部31は、指示操作入力の送信先アドレスをオンラインゲームサーバ10のアドレスに戻してループバックを終了し(ステップS139)、本フローチャートによる一連の処理を終了する。チュートリアルモードを終了しないと判断した場合(ステップS138のN)には、上記ステップS133に移行して上述した処理を繰り返す。
【0054】
このように、本例のオンラインゲームでは、クライアント端末21〜2Nにてスタンドアローン動作するチュートリアルモードにおいては、通常、クライアント端末21〜2Nからのデータの送信先となっているオンラインゲームサーバ10のアドレスのIP情報を、クライアント端末21〜2N自身のIP情報(すなわちループバックアドレス)に書き換えることにより、チュートリアル用プログラムやチュートリアル用データの参照先はクライアント端末21〜2N内に保存された配布用データのコピーデータであるSP−S’およびSD−S’に簡単に変更することができ、クライアント側プログラムCPはあたかもオンラインゲームサーバ10と通信するかのように、クライアント端末21〜2N内のこれらのデータと通信を行うことでチュートリアルモード等のサブゲームのプログラムを進行させることが可能となる。このため、非常に簡単なプログラムの操作によってクライアント端末21〜2Nとオンラインゲームサーバ10との通信負荷を軽減することが可能となる。特に新しいオンラインゲームの販売直後は、ほとんどのプレイヤがチュートリアルモードの実施からゲームを開始するため、ゲーム販売直後にチュートリアルモードを進行させるための通信負荷が非常に大きかったが、この課題を非常に効果的に解決することが可能となる。
【0055】
なお、上述した例では、サブゲームとしてチュートリアルモードを挙げて説明したが、オンラインゲームのメインゲームとは異なる(メインゲーム以外の)サブゲームとしてのあらゆる種類のゲーム(例えば、シナリオに関連性のないミニゲームなど)の動作において、ループバック処理を用いたスタンドアローン動作を実行するようにしてもよい。
【0056】
次にオンラインゲームサーバ10に記憶されているゲームデータに変更が生じた際の更新処理について説明する。図6は、本例のオンラインゲームシステム100におけるデータ更新処理手順の例を示すフローチャートである。データ更新処理は、オンラインゲーム提供者による入力部12の更新操作による更新に関するデータの入力が受け付けられたときに開始される。データ更新処理において、オンラインゲームサーバ10の更新処理部16は、先ず、格納部13に格納されているサーバ側ゲームプログラムSPおよびサーバ側ゲームデータSDのうちの少なくとも一方の更新箇所に対し、上述した更新操作により修正されたデータ(修正データ)を反映させて更新箇所を書き換える(ステップS100)。
【0057】
次に、更新処理部16は、サーバ側ゲームプログラムSPおよびサーバ側ゲームデータSDのうちの少なくとも一方に行われた更新処理について、更新が行われた箇所(更新部分)を特定し、当該箇所(書換部分)が送信可能データに及んでいるか否かを判断する(ステップS101)。送信可能データに更新が行われたと判断された場合(ステップS101のY)は、更新処理部16は送信可能フラグが設定されている全てのデータを複製(すなわち、送信可能データを全てコピー)し(ステップS102)、オンラインゲームサーバ10に格納されている配布用ゲームデータ(SP−S,SD−S)に対して上書き保存する(ステップS103)。
【0058】
更に更新処理部16は新たに上書きされた配布用ゲームデータのバージョン情報を更新して保存する(ステップS104)ことにより、配布用ゲームデータの更新を完了する。クライアント端末21〜2Nは、毎回当該オンラインゲームの開始時にクライアント端末21〜2N内にダウンロード保存されている配布用ゲームデータ(SP−S’,SD−S’)と、オンラインゲームサーバ10内に保存されている配布用ゲームデータ(SP−S,SD−S)のオリジナルデータのバージョン情報を比較し、このバージョン情報が不一致となった場合は、自動的にオンラインゲームサーバ10内に保存された配布用ゲームデータを再ダウンロードしてクライアント端末21〜2N内に上書き保存させることで、オンラインゲームサーバ10とクライアント端末21〜2Nのそれぞれに保存されている配布用ゲームデータの同期を取り、バージョン管理を行う。一方、更新処理が行われた箇所が送信可能データに一切及ばない場合(ステップS101のN)、更新処理部16は更新内容を保存して更新処理を終了する。
【0059】
このような一連の更新処理を実施することにより、特にオンラインゲームサーバ10上に保存された配布用ゲームデータに対する更新内容の反映については、送信可能フラグが設定されているデータに関しては自動的に複製が行われるようにしたために、人為的なミスによる更新漏れなどを防止できるほか、更新に要する人為的な稼動を最小限に留めることが可能となる。
【0060】
なお、上述した例では、更新部分が送信可能データに及ぶ場合、更新が行われていないデータも含めた全ての送信可能データを複製して配布用ゲームデータ全体を上書き保存する方法について記述したが、少なくとも更新部分のデータが複製されて上書きされていればよく、例えば、更新部分のデータをピンポイントで複製して配布用ゲームデータの内容を更新することとしてもよい。
【0061】
以上説明したように、上述した一実施の形態では、オンラインゲームサーバ10が、オンラインゲームのサーバ側ゲームプログラムSPおよびこのサーバ側ゲームプログラムSPに用いられるサーバ側ゲームデータSDを格納部13にて格納し、更新処理部16がこの格納部13に格納されたサーバ側ゲームプログラムSPおよびサーバ側ゲームデータSDのうちの少なくとも一方であってオンラインゲームにおけるメインゲーム以外のサブゲームの実行に際して使用されるデータに対する更新操作に応じてデータ更新し、このデータ更新による更新部分のデータを示す更新部分データをクライアント端末21〜2Nにて利用可能な共有ライブラリ形式(例えば、DLL形式)とし、更新処理部16によって共有ライブラリ形式とされた更新部分データを少なくとも含む更新データSP−S,SD−Sをクライアント端末21〜2Nに対して通信制御部15によって送信するとともに、クライアント端末21〜2Nが、オンラインゲームサーバ10から提供されたオンラインゲームのクライアント側ゲームプログラムCPおよびこのクライアント側ゲームプログラムCPに用いられるクライアント側ゲームデータを記憶部33にて記憶し、通信制御部15によって送信された更新データSP−S,SD−Sを通信制御部35にて受信し、制御部31が記憶部33に記憶されたクライアント側ゲームプログラムCPおよびクライアント側ゲームデータのうちの少なくとも何れかを通信制御部35にて受信された更新データSP−S,SD−Sを用いて書き換え、サーバ側ゲームプログラムSPあるいはサーバ側ゲームデータSDのうちサブゲームのデータを使用するプレイヤによる指定操作入力があった場合に、オンラインゲームサーバ10への通信を行うことなく、記憶部33にて記憶されたクライアント側ゲームプログラムCPあるいはクライアント側ゲームデータを利用して、オンラインゲームの進行を制御部31にて制御するようにしているので、クライアント端末21〜2Nでのスタンドアローン動作を実現して通信負荷の軽減を図ることができる。また、オンラインゲームサーバ10にて更新された更新部分データを含む更新データSP−S,SD−Sがクライアント端末21〜2Nにて利用可能な共有ライブラリ形式とされた状態で、クライアント端末21〜2Nにて書き換えるようにしているので、オンラインゲーム提供者のデータ更新漏れなどのミスを防止して、作業負担の軽減を図ることができる。
【0062】
また、上述した一実施の形態では、オンラインゲームサーバ10が送信可能フラグを設定したデータのバージョン情報に基づいて、クライアント端末21〜2Nが配布用ゲームデータをダウンロードするとしていたが、次のように構成してもよい。すなわち、オンラインゲームサーバ10が、クライアント端末21〜2Nからの更新データSP−S,SD−Sの送信に関する認証フラグ付きデータ送信要求を通信制御部15にて受信し、この通信制御部15が、受信された認証フラグ付きデータ送信要求に基づいて、この認証フラグが更新データSP−S,SD−Sに付された確認フラグ(例えば、送信可能フラグ)と一致するか否かを判断し、判断結果に応じて更新データSP−S,SD−Sをクライアント端末21〜2Nに対して送信するように構成する。これにより、通信されるデータの不正な解析や改ざん、盗用などに対する対策を強化することができる。
【0063】
以上のような方法を取ることにより、オンラインゲームに関する重要性の高いデータのセキュリティーを高く保ったまま、ゲームデータの一部をクライアント端末側に配布することによって、オンラインゲームサーバ10とクライアント端末21〜2N間のデータ通信量を減少させてオンラインゲームサーバ10にかかる通信負荷を軽減し、多くのプレイヤが同時にオンラインゲームサーバ10にアクセスする際に起こる、ゲーム進行中の通信遅延等を起こりにくくさせることができる。また、オンラインゲームのプログラムに変更が生じた際のデータの更新にかかる稼動を減少させることができるようになる。
【0064】
なお、上述した実施の形態では特に言及していないが、オンラインゲームサーバ10やクライアント端末21〜2Nは、自己が備える記憶装置(例えば、格納部13や記憶部33)に記憶されている制御プログラム(オンラインゲームプログラム)にしたがって、上述したオンラインゲームに関する各種処理(オンラインゲームの進行やチュートリアルモードの実行など)やデータ更新処理を実行する。
【産業上の利用可能性】
【0065】
本発明によれば、通信ネットワークを介してオンラインゲームを進行させるオンラインゲームシステムに適用するのに有用である。
【図面の簡単な説明】
【0066】
【図1】本発明の一実施の形態におけるオンラインゲームシステムの構成の例を示すブロック図である。
【図2】オンラインゲームサーバおよびクライアント端末の構成の例を示すブロック図である。
【図3】オンラインゲームシステムにおけるサブゲームの例を説明するための説明図である。
【図4】オンラインゲームシステムにて重要度の低いゲームデータをクライアント端末に配布する方法を説明するための説明図である。
【図5】オンラインゲームシステムにおけるオンラインゲームの動作の例を示すフローチャートである。
【図6】オンラインゲームシステムにおけるデータ更新処理手順の例を示すフローチャートである。
【符号の説明】
【0067】
10 オンラインゲームサーバ
11,31 制御部
12,32 入力部
13 格納部
14,34 表示部
15,35 通信制御部
16 更新処理部
21〜2N クライアント端末
30 通信ネットワーク
36 音声出力部
17 通信制御部
100 オンラインゲームシステム

【特許請求の範囲】
【請求項1】
プレイヤに操作されるクライアント端末と、該クライアント端末にて遊戯されるオンラインゲームを通信ネットワークを介して実行するオンラインゲームサーバとを備えたオンラインゲームシステムであって、
前記オンラインゲームサーバは、
前記オンラインゲームのサーバ側ゲームプログラムおよび該サーバ側ゲームプログラムに用いられるサーバ側ゲームデータを格納する格納手段と、
前記格納手段に格納された前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの少なくとも一方であって前記オンラインゲームにおけるメインゲーム以外のサブゲームの実行に際して使用されるデータに対する更新操作に応じてデータ更新し、該データ更新による更新部分のデータを示す更新部分データを前記クライアント端末にて利用可能な共有ライブラリ形式とする更新手段と、
前記更新手段によって共有ライブラリ形式とされた更新部分データを少なくとも含む更新データを前記クライアント端末に対して送信する送信手段とを含み、
前記クライアント端末は、
前記オンラインゲームサーバから提供された前記オンラインゲームのクライアント側ゲームプログラムおよび該クライアント側ゲームプログラムに用いられるクライアント側ゲームデータを記憶する記憶手段と、
前記送信手段によって送信された更新データを受信する受信手段と、
前記記憶手段によって記憶された前記クライアント側ゲームプログラムおよび前記クライアント側ゲームデータのうちの少なくとも何れかを前記受信手段によって受信された更新データを用いて書き換える書換手段と、
前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記オンラインゲームサーバへの通信を行うことなく、前記記憶手段によって記憶された前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータを利用して、前記オンラインゲームの進行を制御する制御手段とを含む
ことを特徴とするオンラインゲームシステム。
【請求項2】
前記更新データは、前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの前記サブゲームの実行に際して使用されるデータの一部又は全部である
請求項1記載のオンラインゲームシステム。
【請求項3】
前記オンラインゲームサーバは、
前記クライアント端末からの前記更新データの送信に関する認証フラグ付きデータ送信要求を受信するデータ送信要求受信手段をさらに含み、
前記送信手段は、前記データ送信要求受信手段によって受信された認証フラグ付きデータ送信要求に基づいて、該認証フラグが前記更新データに付された確認フラグと一致するか否かを判断し、判断結果に応じて前記更新データを前記クライアント端末に対して送信する
請求項1または請求項2記載のオンラインゲームシステム。
【請求項4】
前記クライアント端末は、
前記プレイヤによる指定操作入力に基づく操作入力情報を前記オンラインゲームサーバに対して送信する操作入力情報送信手段をさらに備え、
前記制御手段は、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記操作入力情報に基づく処理に用いられるデータの参照先指定情報を、前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータに対する指定から、前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータに対する指定に置き換えて、ループバック処理を実行し前記オンラインゲームの進行を制御する
請求項1から請求項3のうちいずれかに記載のオンラインゲームシステム。
【請求項5】
プレイヤに操作されるクライアント端末と、該クライアント端末にて遊戯されるオンラインゲームを通信ネットワークを介して実行するオンラインゲームサーバとにオンラインゲームに関する各種処理を実行させるオンラインゲームプログラムであって、
前記オンラインゲームサーバに、
自己が備える格納手段に格納された前記サーバ側ゲームプログラムおよび前記サーバ側ゲームデータのうちの少なくとも一方であって前記オンラインゲームにおけるメインゲーム以外のサブゲームの実行に際して使用されるデータに対する更新操作に応じてデータ更新し、該データ更新による更新部分のデータを示す更新部分データを前記クライアント端末にて利用可能な共有ライブラリ形式とする更新処理と、
前記更新処理にて共有ライブラリ形式とされた更新部分データを少なくとも含む更新データを前記クライアント端末に対して送信する送信処理とを実行させ、
前記クライアント端末に、
前記送信処理によって送信された更新データを受信する受信処理と、
自己が備える記憶手段に記憶された前記クライアント側ゲームプログラムおよび前記クライアント側ゲームデータのうちの少なくとも何れかを前記受信処理にて受信された更新データを用いて書き換える書換処理と、
前記サーバ側ゲームプログラムあるいはサーバ側ゲームデータのうち前記サブゲームのデータを使用する前記プレイヤによる指定操作入力があった場合に、前記オンラインゲームサーバへの通信を行うことなく、前記自己が備える記憶手段に記憶された前記クライアント側ゲームプログラムあるいは前記クライアント側ゲームデータを利用して、前記オンラインゲームの進行を制御する制御処理と
を実行させるためのオンラインゲームプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−125271(P2009−125271A)
【公開日】平成21年6月11日(2009.6.11)
【国際特許分類】
【出願番号】特願2007−302858(P2007−302858)
【出願日】平成19年11月22日(2007.11.22)
【出願人】(308033283)株式会社スクウェア・エニックス (173)
【Fターム(参考)】