以下、本発明の実施の形態に係るゲームプログラムおよびゲームシステムについて、図面を参照しつつ説明する。
[ゲーム概要]
本ゲームのゲーム空間はオープンワールドに設計されており、プレイヤが操作するプレイヤキャラクタ(以下、PCと略称する場合がある)の移動に伴って変化するゲーム空間が、ゲーム装置の画面にシームレスに表示される。ゲーム空間は、このオープンワールドなゲーム空間の一部を示している。ただし、本発明の適用対象はオープンワールドのゲームに限定されない。例えば、ゲーム空間が複数のフィールドに分割されたゲームであって、フィールド間を移動する際に、移動先のフィールドのデータをロードし、移動前後のフィールドを切り換えて表示するようなゲームにも適用することができる。
プレイヤはこのようなゲーム空間を移動するPCを操作することによってゲームを進行させる。また、PCには、一または複数体のノンプレイヤキャラクタ(以下、NPCと略称する場合がある)が味方キャラクタ(本実施形態では最大3体の味方キャラクタ)として同伴し、1つのパーティを形成する。パーティを形成する各味方キャラクタは、PCとともにゲーム空間を移動し、適宜出現する敵キャラクタと遭遇した場合には、互いに協力し合って戦闘を行う。
また、各味方キャラクタは、様々な場面で状況に応じた行動を実行するとともに、その行動に応じた発言をする。これにより、PCに対して自身の意思、すなわち、なぜ自身(NPC)がそのような行動をしたのかという意思を表現する。例えば、PCらのパーティが、ある街に入ると、何れかの味方キャラクタが「賑やかでいい街ですね」と発言しつつ周囲を見渡す動作をする。また、街のある住人と会話することで所定のクエストが発生すると、そのクエスト内容に応じて味方キャラクタは、例えば森へ向かいつつ「森へ行って探してみましょう!」などと発言し、街から出ることを促す。また、森へ出たパーティが、片足に怪我を負った敵キャラクタに遭遇すると、これと対戦する際に味方キャラクタは「もう片方の足を攻撃します!」と発言し、戦闘の準備態勢をとる。さらに、敵キャラクタとの戦闘により味方キャラクタがダメージを受けると、その味方キャラクタは、攻撃を受けたリアクションをしつつ「ウワッ!」と発言する。
本実施形態におけるゲームでは、このように味方キャラクタが、ゲーム状況に応じた行動および発言により、積極的にPC(またはプレイヤ)に対して意思の疎通を図る。また、その行動および発言内容は、経験から得た知識や、敵及び自分(味方キャラクタ)の状態など、ゲームの進行状況に応じて変化するようになっている。さらに、味方キャラクタの発言はディスプレイに文字列で表示され、対応する音声も出力されるが、その際、プレイヤに違和感を生じさせることなく、しかも、発言内容を把握しやすいように出力されるようになっている。
このような味方キャラクタには、自分のゲーム装置(一のアカウント)で作成したNPCの他、他人のゲーム装置(他のアカウント)や予め外部のシステムで作成されたNPCをネットワークを介してダウンロードすることにより、使用することが可能である。本実施形態においては自分のゲーム装置で作成したNPC1体と他人のゲーム装置または外部のシステムで作成されたNPC最大2体とで、パーティを構成することができる。
[ハードウェア構成]
上述したゲームを実現するゲーム装置の構成について説明する。本実施形態におけるゲームシステムは、下記ゲーム装置2と、当該ゲーム装置2に接続されるモニタ19、スピーカ22およびコントローラ24などの外部装置とで構成され、下記ディスク型記憶媒体30から読み込んだゲームプログラム30aおよびゲームデータ30bに基づいてゲームを行い得るものである。ただし、以下では、説明を簡単にするため、単にゲーム装置2と称する場合がある。図1は、本実施形態におけるゲーム装置2を含むネットワークゲームシステムを示す概略構成図であり、図2は、本実施形態におけるゲーム装置2のハードウェア構成を示すブロック図である。図1および図2に示すように、ゲーム装置2は、他のゲーム装置2およびサーバ装置3との間で、インターネットまたはLANなどのネットワークNWを介して互いに通信可能である。このゲーム装置2は、その動作を制御するコンピュータであるCPU10を備え、このCPU10にはバス11を介してディスクドライブ12、メモリカードスロット13、プログラム記憶部を成すHDD14、ROM15およびRAM16が接続されている。
ディスクドライブ12には、DVD−ROM等のディスク型記憶媒体30が装填可能であり、該ディスク型記憶媒体30には、本発明の実施の形態に係るゲームプログラム30aおよび本実施の形態で説明するゲームに登場するキャラクタならびにゲーム空間を形成するのに必要なオブジェクトおよびテクスチャ等のゲームデータ30bが記憶されている。また、メモリカードスロット13にはカード型の外部記憶媒体31が装填でき、ゲームの途中経過等のプレイ状況を示すセーブデータを、CPU10からの指示に応じて記憶可能である。
HDD14はゲーム装置2に内蔵される大容量記憶媒体であって、ディスク型記憶媒体30から読み込んだゲームプログラム30aおよびゲームデータ30bならびにセーブデータなどを記憶する。ROM15は、マスクROMまたはPROMなどの半導体メモリであり、ゲーム装置2を起動する起動プログラムや、ディスク型記憶媒体30が装填されたときの動作を制御するプログラムなどを記憶している。RAM16は、DRAMまたはSRAMなどからなり、CPU10が実行すべきゲームプログラム30aや、その実行の際に必要になるゲームデータ30bなどを、ゲームのプレイ状況に応じてディスク型記憶媒体30またはHDD14から読み込んで一時的に記憶する。
さらに、HDD14にも、セーブデータを、CPU10からの指示に応じて記憶可能である。このように、本実施形態におけるゲームのセーブデータは、ゲーム装置2のHDD14および外部の外部記憶媒体31に記憶することができる。しかも、HDD14および外部記憶媒体31に記憶されるセーブデータは、同じセーブデータである必要はない。したがって、一方のセーブデータがあるアイテムの取得前のゲーム状況を記憶したデータであって、他方のセーブデータが当該アイテムの取得後のゲーム状況を記憶したデータである状況が生まれ得る。このような状況は、セーブデータをHDD14および外部記憶媒体31との双方に記憶する場合に限らず、HDD14および外部記憶媒体31の何れかの一方に複数のセーブデータが記憶される場合にも生じ得る。
本実施形態において、HDD14および外部記憶媒体31に記憶されるセーブデータには、後述する報酬データをサーバ装置3の対応する記憶領域にアップロードした回数(以下、アップロード回数)のデータが含まれる。
また、CPU10には、バス11を介してグラフィック処理部17、オーディオ合成部20、無線通信制御部23およびネットワークインタフェース25が接続されている。
このうちグラフィック処理部17は、CPU10の指示に従ってゲーム空間や各キャラクタなどを含むゲーム画像を描画する。また、グラフィック処理部17にはビデオ変換部18を介して外部のモニタ19が接続されており、グラフィック処理部17にて描画されたゲーム画像はビデオ変換部18において動画形式に変換され、モニタ19にて表示されるようになっている。
オーディオ合成部20は、CPU10の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ合成部20にはオーディオ変換部21を介して外部のスピーカ22が接続されている。従って、オーディオ合成部20にて再生および合成されたゲーム音声は、オーディオ変換部21にてアナログ形式にデコードされ、更にスピーカ22から外部へ出力されるようになっている。
無線通信制御部23は、2.4GHz帯の無線通信モジュールを有し、ゲーム装置2に付属するコントローラ24との間で無線により接続され、データの送受信が可能となっている。ユーザは、このコントローラ24に設けられたボタン等の操作子(図示せず)を操作することにより、ゲーム装置2へ信号を入力することができ、モニタ19に表示されるPCの動作を制御可能になっている。また、ネットワークインタフェース25は、インターネットまたはLANなどのネットワークNWに対してゲーム装置2を接続するものであり、サーバ装置3との間で通信可能である。そして、複数のゲーム装置2のそれぞれを、ネットワークNWを介してサーバ装置3と接続し、ゲーム装置2で作成されたNPCをサーバ装置3にアップロードし、当該NPCのデータを別のゲーム装置2にダウンロードさせることにより、同一のゲーム空間内で他のアカウント(ゲーム装置2)で生成されたNPCをダウンロードして他のアカウントが所持するNPCと自己のPCおよびNPCとでゲームを進行させることが可能になっている。
サーバ装置3は、複数のゲーム装置2ごとに各ゲーム装置2におけるゲーム状態を記憶する記憶領域RA−A,RA−B,RA−C,…(以下、RA−iと総称する場合がある)を有している。各ゲーム装置2には、ゲーム装置2ごとに異なるアカウント(サーバ装置3にアクセスする権利)が付与されており、アカウントごとにID(識別符号)が設けられている。したがって、各ゲーム装置2がネットワークNWを介してサーバ装置3の対応する記憶領域RA−iにアクセスする場合には、当該ゲーム装置2から自己のアカウントi(i=A,B,C,…)を送信し、サーバ装置3において所定の認証を受けた上で、当該アカウントiに対応する記憶領域RA−iにアクセス可能となる。なお、アカウントiは、原則的には一のゲーム装置2に1つ付与される。
図1に示されるように、サーバ装置3の各記憶領域RA−iには、対応するアカウントiのセーブデータがゲーム装置2からアップロードされて記憶される。具体的には、一のゲーム装置2において保存された一のアカウントにおけるセーブデータ、特に、保存時におけるPCのデータ(例えばレベル、強さなど)および当該アカウントiが所持するNPCのデータが、それぞれサーバ装置3にアップロードされ、ゲーム装置2のアカウントiに対応する記憶領域RA−iに記憶される。
さらに、サーバ装置3の各記憶領域RA−iには、ゲーム装置2(アカウント)から報酬データがアップロードされた回数(以下、アップロード回数)が、セーブデータに対応付けられて記憶される。アップロード回数のカウント開始の基準は、特に限定されないが、例えば、ゲーム開始からの総アップロード回数としてもよいし、ゲームを所定のセクションで区分けして、当該セクション内におけるアップロード回数としてもよいし、図4で後述するように、アップロード回数が一致しなかった場合に、当該アップロード回数をリセットし(0にし)、その時点から再びカウントすることとしてもよい。
このようにして、一のアカウントに基づくゲーム進行に応じて付与されるアップロード回数(識別情報)が、セーブデータに対応付けられた状態で、第1領域(アカウントiのゲーム装置2のHDD14または外部記憶媒体31)に記憶されるとともに、第1領域とは異なる第2領域(サーバ装置3の対応する記憶領域i)に記憶される。ここで、第2領域は、プレイヤが書き換えることができない領域として設定されている。
さらに、サーバ装置3は、同じゲームにおける進行状況などの所定のパラメータに応じた各アカウントのランキングを集計するランキング作成部4を有している。ランキング作成部4で作成されたランキングは、各ゲーム装置2がサーバ装置3にアクセスすることによりゲーム画面上に表示させることができる。また、このランキングでは、NPCを所持するアカウントのIDの他に、当該アカウントが所持するNPCの情報(例えばレベル、ジョブ、性別、装備スキルなどのNPCの全情報のうちある程度限られた情報)を閲覧することが可能となっている。NPCの全情報には、例えば上記情報の他に、強さなどのより詳細なパラメータ値や体格などの情報が含まれる。
[ゲーム装置の機能的構成]
図3は、本実施形態におけるゲーム装置2の機能的な構成を示すブロック図である。図2に示すようにゲーム装置2は、CPU10、HDD14、ROM15、RAM16、グラフィック処理部17、ビデオ変換部18、オーディオ合成部20、オーディオ変換部21、ネットワークインタフェース25などを含む制御部を備えたコンピュータとして動作する。そして、図2に示すように、ゲーム装置2の制御部は、本発明のゲームプログラム30aを実行することで、サーバアクセス手段41、ゲーム空間生成手段42、キャラクタ制御手段43、NPCデータアップロード手段44、NPCデータダウンロード手段45、報酬データアップロード手段46、履歴情報アップロード手段47、データ更新手段48、アップロード回数記憶手段49およびセーブデータ記憶手段50などの機能を発揮する。
このうち、サーバアクセス手段41は、前述したように、ネットワークNWを介してゲーム装置2のコンピュータに接続されるサーバ装置3にアクセスし、後述するアップロードおよびダウンロードを行う。
ゲーム空間生成手段42は、キャラクタが動作する仮想のゲーム空間および当該ゲーム空間内で動作する各キャラクタを生成し、モニタ19に表示させる。例えば、ゲーム空間生成手段42は、PCの移動に伴って、ゲームデータ30bに含まれるオブジェクトおよびテクスチャなどのデータを読み出し、三次元の仮想ゲーム空間を生成する。さらに、ゲーム空間生成手段42は、ゲーム装置2のモニタ19にゲーム空間を表示するために、生成したゲーム空間を所定の仮想カメラで撮影したときの二次元画像を生成する。
キャラクタ制御手段43は、プレイヤによるコントローラ24の操作やゲームの進行状況に応じて、ゲーム空間におけるキャラクタの動作を制御する。キャラクタ制御手段43には、プレイヤが操作するPCの動作を制御するPC制御手段431と、当該プレイヤに割り当てられたアカウントが所持するNPCの動作を制御するNPC制御手段432と、他のアカウントが所持するNPC(レンタルキャラクタ)の動作を制御するレンタルキャラクタ制御手段433とを含んでいる。
NPCキャラクタ制御手段432およびレンタルキャラクタ制御手段433は、NPCまたはレンタルキャラクタの行動内容と発言するメッセージとが関連付けられた複数の行動候補情報を取得し、当該複数の行動候補情報の中から、経験的に得た知識に基づいてNPCまたはレンタルキャラクタの行動を選択するとともに、選択した行動に関連付けられたメッセージを出力する。これにより、前述したように、味方キャラクタが、ゲーム状況に応じた行動および発言を行うことを実現することができる。
セーブデータ記憶手段50は、一のアカウントiに基づくゲーム進行に応じたセーブデータを作成し、当該セーブデータを当該一のアカウントiのコンピュータに記憶させる。セーブデータには、PCおよびNPCのレベルや各パラメータ値のデータ、PCが所持するアイテムのデータ、ゲームの進行度(クリアしたクエストの情報)などが含まれる。また、NPCデータアップロード手段44は、一のアカウントiが所持する(ゲーム装置2で作成され、記憶された)NPCのデータを、サーバ装置3の当該一のアカウントiに割り当てられた記憶領域RA−iにアップロードすることにより記憶させる。セーブデータ記憶手段50は、一のアカウントiのPCのデータを、サーバ装置3の当該一のアカウントiに割り当てられた記憶領域RA−iにアップロードすることにより記憶させる。NPCデータアップロード手段44がアップロードするNPCのデータは、セーブデータの一部を複製したものとなる。
また、NPCデータダウンロード手段45は、他のアカウントjが所持し、サーバ装置3の当該他のアカウントjに割り当てられた記憶領域RA−jに記憶されたNPC(以下、レンタルキャラクタ)のデータをダウンロードすることにより取得する。すなわち、NPCデータアップロード手段44がアップロードした一のアカウントiのNPCのデータは、他のアカウントjにおいてNPCデータダウンロード手段45がダウンロードするレンタルキャラクタのデータ(図1においてはRCデータとして示される)となり得る。
一のアカウントiにおいて、NPCデータダウンロード手段45がダウンロードしたNPCのデータは、当該一のアカウントiにおけるゲーム装置2にレンタルキャラクタとして記憶される。そして、ゲーム装置2により実行されるゲーム進行において、レンタルキャラクタを、ゲーム装置2に元々記憶されているPCおよびNPCと同行させることができる。このとき、各キャラクタは、キャラクタ制御手段43により制御される。このようなゲーム進行の結果、レンタルキャラクタに関連して得られたデータは、報酬データとしてゲーム装置2に記憶される。
なお、報酬データは、ゲーム進行に基づいて利用される情報が少なくとも1つ含まれる限り特に限定されない。例えば、報酬データは、レンタルキャラクタの経験値、経験値に基づく値、レンタルキャラクタの特殊能力などのスキル、ゲーム内通貨、アイテムおよび知識などのうちの少なくとも1つを含むものである。
報酬データアップロード手段46は、一のアカウントiに基づくゲーム進行において取得した報酬データを、サーバ装置3の当該一のアカウントiに割り当てられた記憶領域RA−iにアップロードすることにより記憶させる。本実施形態においては、報酬データは、一のアカウントiに基づくゲーム進行においてレンタルキャラクタに関連付けられたデータである。また、履歴情報アップロード手段47は、報酬データがサーバ装置3にアップロードされた場合に、報酬データがアップロードされたことに関する履歴情報を、サーバ装置3の当該報酬データに対応するレンタルキャラクタをアップロードしたアカウントjに割り当てられた記憶領域RA−jにアップロードすることにより記憶させる。このような履歴情報がアカウントjに割り当てられた記憶領域RA−jに記憶されることにより、当該アカウントjが所持するNPCがアカウントiによって貸し出され、その結果得られるデータ(すなわち、報酬データ)を受け取り可能となったことを、アカウントjに知らせることができる。
当然ながら、アカウントjのゲーム装置3においてもコンピュータが報酬データアップロード手段46および履歴情報アップロード手段47として機能する。例えばアカウントjに基づくゲーム進行において、アカウントiのNPCをレンタルキャラクタとして同行させた場合には、報酬データアップロード手段46がサーバ装置3のアカウントjに割り当てられた記憶領域RA−jに報酬データをアップロードするとともに、履歴情報アップロード手段47がサーバ装置3のアカウントiに割り当てられた記憶領域RA−iに履歴情報をアップロードする。
データ更新手段48は、一のアカウントiに割り当てられた記憶領域RA−iに記憶された履歴情報に基づいて、他のアカウントjに割り当てられた記憶領域RA−jに記憶された、履歴情報に対応する報酬データをダウンロードすることにより取得し、当該報酬データに基づいて当該一のアカウントiのデータを更新する。例えば、報酬データがNPCの経験値であれば、当該経験値をゲーム装置2に記憶されたNPCの経験値に加算する。また、例えば、報酬データがアイテムであれば、当該アイテムをアカウントiに基づくゲーム進行において使用可能とする(アイテムリストに追加する)。
コンピュータは、上記NPCデータアップロード手段44、NPCデータダウンロード手段45、報酬データアップロード手段46、履歴情報アップロード手段47およびデータ更新手段49として機能することにより、他のアカウントjのコンピュータとデータの通信を行うデータ伝送手段として機能する。
一のアカウントiのゲーム装置2における識別情報記憶手段であるアップロード回数記憶手段49は、報酬データアップロード手段46がサーバ装置3の一のアカウントiに割り当てられた記憶領域RA−iに報酬データをアップロードした回数を同じ記憶領域RA−iに記憶するとともに、当該アカウントiのゲーム装置2内のコンピュータ(HDD14または外部記憶媒体31)に記憶する。このように、アップロード回数記憶手段49は、識別情報として報酬データのアップロード回数を異なる2つの領域に記憶する。
以上のように、本実施形態の複数のゲーム装置2において、コンピュータを、サーバアクセス手段41、NPCデータアップロード手段44、NPCデータダウンロード手段45、報酬データアップロード手段46、履歴情報アップロード手段47およびデータ更新手段48として機能させることにより、各ゲーム装置2(に対応付けられたアカウント)が所持するNPCを他のゲーム装置2(に対応付けられたアカウント)にレンタルするレンタル処理を行う。
[NPCのレンタル処理]
図1に基づいてNPCのレンタル処理の流れについて具体例を挙げて説明する。ここでは、アカウントAのゲーム装置2がアカウントBのゲーム装置2が所持するNPCをレンタルする場合について主に説明する。なお、図1に示すように、以下では各キャラクタデータの後の符号(ここではAまたはB)は当該キャラクタをアップロードしたアカウント(貸し主)のIDを付すものとする。また、図1においては、以下に説明するデータの流れを一点鎖線(アップロード)および破線(ダウンロード)で示している。なお、この図1におけるデータの流れを示す線は、各記憶領域同士を直接結んでいるが、いずれの流れにおいてもネットワークNWを介したゲーム装置2とサーバ装置3との間の通信により実現される。
まず、各アカウントA,Bのゲーム装置2においてはそれぞれ自らが所持するPCおよびNPCを用いてゲームが行われる。本実施形態においては、後述するNPCのレンタル処理を除いて、サーバ装置3や他のゲーム装置2には接続しないオフラインゲームが行われる。この際、各ゲーム装置2のコンピュータは、PC制御手段431およびNPC制御手段432として機能し、各キャラクタの動作を制御する。
PCおよびNPCのパーティがゲーム空間内の所定の位置(例えば宿屋)に位置し、所定の動作(例えば宿泊する)を行った場合、各ゲーム装置2のコンピュータは、セーブデータ記憶手段50として機能し、セーブデータとしてそのときのPCおよびNPCのデータを含むゲーム状況を当該ゲーム装置2のHDD14または外部記憶媒体31に記憶する。HDD14および外部記憶媒体31の何れにセーブデータを記憶させるかは、プレイヤにより選択されてもよい。なお、セーブデータを記憶するタイミングはこれに限らない。例えば、ゲーム進行中の任意のタイミングで、ユーザの操作によってセーブデータを記憶してもよいし、ゲーム進行の所定のタイミング(例えば、チェックポイントを通過)で自動的にセーブデータが記憶される(オートセーブされる)ようにしてもよい。また、各ゲーム装置2のコンピュータはNPCデータアップロード手段44として機能し、セーブ時のNPCのデータをサーバ装置3の対応するアカウントの記憶領域RA−A,RA−Bに記憶する(アカウントBに関しては特に図1における(1)参照)。記憶領域RA−A,RA−Bに記憶されるNPCのデータは、例えば当該NPCのパラメータ(レベルや強さなど)、装備品、NPCの外観情報(顔のテクスチャや、NPCの身長および体格の情報など)など、他のゲーム装置2においてレンタルキャラクタとして再現可能な程度の情報が含まれる。同様に、本実施形態においてはPCのデータもサーバ装置3の各記憶領域RA−A,RA−Bに記憶される。
アカウントAのゲーム装置2において、他のアカウントのNPCをレンタルキャラクタとして使用したい場合、ゲーム装置2のコンピュータはサーバアクセス手段41として機能し、サーバ装置3にアクセスする。なお、本実施形態においては、アカウントAに基づくゲーム空間内においてPCが所定の位置(例えばレンタルキャラクタを召還できる石碑のある場所)に位置した場合に、他のアカウントのNPCをレンタルキャラクタとして使用する(レンタルする)ためのレンタル処理を開始することが可能となる。
サーバ装置3は、前述したように、ランキング作成部4で作成されたランキングデータを記憶している。アカウントAのゲーム装置2は、このランキングデータにアクセスすることにより、各アカウントが所持しているNPCのランキングを閲覧することができる。ランキングは例えばNPCのレベルごとに他のアカウントによる使用率(レンタル率)が高い順に作成されている。ランキングには、当該NPCを所持するアカウントのIDおよび選択の参考とするためにNPCの特性等を示す必要最低限の情報(例えば属性や強さなどのパラメータなど)が対応付けられている。
本実施形態におけるゲームでは、アカウントAのゲーム装置2において、レンタル可能な他のアカウントのNPCは、アカウントAのPCのレベルと同じレベル以下のレベルを有するNPCに制限される。したがって、アカウントAのゲーム装置2からサーバ装置3のランキングデータにアクセスした際は、当該アカウントAのPCのレベルと同じレベル以下のNPCのランキングのみ閲覧可能としてもよい。アカウントAのゲーム装置2のゲーム画面に表示されたランキングにおいて、プレイヤがNPCのアカウントのIDの1つを選択すると、コンピュータは、当該アカウントのIDに対応付けられたNPCの上記情報を表示する。プレイヤはこの情報に基づいて当該NPCをレンタルするかどうかを決定する。
プレイヤの操作によってレンタルするNPCを決定した場合(ここでは、アカウントBのNPCに決定した場合)、アカウントAのゲーム装置2のコンピュータは、NPCデータダウンロード手段45として機能する。すなわち、アカウントAのゲーム装置2のコンピュータは、サーバ装置3のアカウントBに割り当てられた記憶領域RA−Bにアクセスし、当該記憶領域RA−Bに記憶されているNPCデータBをアカウントAのゲーム装置2にダウンロードする(図1に示す(2)参照)。図1に示すように、アカウントAのゲーム装置2においてはレンタルしたNPCのデータをRCデータBとして記憶している。
なお、ゲーム装置2がネットワークNWを介してサーバ装置3と繋がらない場合には、各ゲーム装置2におけるゲームデータ30bに予め記憶されたNPCのデータを使用することとしてもよい。同様に、ネットワークNWにレンタル可能な他のアカウントが所持するNPCが存在しない場合(サーバ装置3の運用開始直後など)には、予めサーバ装置3に記憶されたNPCのデータをダウンロードして使用したり、各ゲーム装置2におけるゲームデータ30bに予め記憶されたNPCのデータを使用したりしてもよい。サーバ装置3がNPCの貸し主となる場合も、サーバ装置3が借り主からの報酬データを受信し、これに基づいて当該NPCのデータを更新することとしてもよい。この場合、次に当該NPCを借りる際には、成長後のNPCを用いてゲームが行われる。
アカウントAのゲーム装置2においては、PCデータAおよびNPCデータAに加えてRCデータBを用いて、PC、NPCおよびレンタルキャラクタでパーティを組んでゲームを行うことが可能となる。このとき、アカウントAのゲーム装置2のコンピュータは、PC制御手段431、NPC制御手段432およびレンタルキャラクタ制御手段433として機能し、各キャラクタの動作を制御する。なお、レンタルキャラクタは、パーティの他のPCおよびNPCと同様に経験値に基づいてレベルアップすることとしてもよいし、レンタルキャラクタはレベルアップせず、経験値に応じたゲーム内通貨(例えばPCのレベルより高いレベルのNPCをレンタルする場合に用いる)を獲得することとしてもよい。
レンタルキャラクタを借りたアカウントAに基づくゲーム進行では、レンタルキャラクタが当該パーティの戦力になることによりゲームを有利に進めることができるだけでなく、アカウントAが保有するNPCがレンタルキャラクタと行動をともにすることにより、レンタルキャラクタが有する知識に基づいて、当該アカウントAが保有するNPCの知識を更新することも可能である。このように、アカウントAはレンタルキャラクタを借り受けることにより、様々な恩恵を受けることができる。
なお、アカウントAがアカウントBのNPCをレンタルキャラクタとして借り受けている間であっても、アカウントBのゲーム装置2およびサーバ装置3には、アカウントBが所持するNPCのデータが記憶されたままである。したがって、当該アカウントBが、自身が所持するNPCを用いてゲームを進めることに何ら制限はない。また、アカウントAがアカウントBのNPCを借り受けている間において、加えてその他のアカウント(例えばC)がアカウントBのNPCをレンタルする(複数のアカウントに同一のNPCをレンタルする)ことも妨げられない。
アカウントAに基づくゲーム進行において、PC、NPCおよびレンタルキャラクタのパーティがゲーム空間内の所定の位置(例えば宿屋)に位置し、所定の動作(例えば宿泊する)を行った場合、アカウントAのゲーム装置2のコンピュータは、再びセーブデータアップロード手段50として機能し、前述したようにそのときのPCおよびNPCのデータを含むセーブデータを、ゲーム装置2のHDD14または外部記憶媒体31に記憶する。さらに、アカウントAのゲーム装置2のコンピュータは、当該PCおよびNPCのデータをサーバ装置3のアカウントAに割り当てられた記憶領域RA−Aに記憶する。
また、例えば宿屋においてレンタルキャラクタを返却する(レンタルキャラクタと別れる)操作を行うことより、アカウントAのゲーム装置2のコンピュータは、報酬データアップロード手段46として機能する。すなわち、コンピュータは、それまでにレンタルキャラクタに関連して得られたデータを、報酬データBとして作成し、当該報酬データBをサーバ装置3のアカウントAに割り当てられた記憶領域RA−Aにアップロードすることにより記憶させる(図1に示す(3)参照)。
なお、本実施形態において、アカウントAに基づくゲーム中にレンタルキャラクタが死亡などすることにより、パーティから離れた場合には、パーティから離れた時点で当該レンタルキャラクタは返却処理される。すなわち、レンタルしてからパーティから離れるまでの間にレンタルキャラクタに関連して得られたデータを、報酬データとして作成する。ただし、この時点では報酬データはサーバ装置3にはアップロードされず、ゲームが進行しているアカウントAのゲーム装置2において記憶される。したがって、ゲーム装置2には、同じアカウントBが所持するNPCをレンタルした場合であっても複数のレンタル回数分の報酬データ(複数個の報酬データパック)が記憶され得る。そして、アカウントAに基づくゲーム進行において上記のように所定の場所(宿屋)において、その時点でパーティに同行しているレンタルキャラクタを返却する操作を行うことにより、報酬データアップロード手段46は、途中でパーティを離脱したような過去のレンタルキャラクタに対する報酬データパックについてもまとめてサーバ装置3にアップロードする。なお、サーバ装置3にアクセスして報酬データを記憶するタイミングはこれに限らない。例えば、ゲーム進行中の任意のタイミングで、ユーザの操作によってゲームデータをセーブする際でもよいし、ゲームオーバーになった時でもよいし、ゲームを開始するときでもよいし、ゲーム進行の所定のタイミング(例えば、チェックポイントを通過)で自動的にゲームデータがセーブされる(オートセーブされる)ときでもよい。
報酬データアップロード手段46が報酬データBをサーバ装置3のアカウントAに割り当てられた記憶領域RA−Aに記憶する際、アカウントAのゲーム装置2のコンピュータは、アップロード回数記憶手段49として機能する。アップロード回数記憶手段49は、サーバ装置3の対応する記憶領域RA−Aに報酬データがアップロードされた回数(アップロード回数)を当該記憶領域RA−Aに記憶する。
さらに、アップロード回数記憶手段49は、当該アップロード回数を対応するアカウントAのゲーム装置2のコンピュータ(HDD14または外部記憶媒体31)にも記憶する。本実施形態において、アカウントAのゲーム装置2に記憶されるアップロード回数は、同じくアカウントAのゲーム装置2に記憶されるセーブデータに対応付けられる。すなわち、セーブデータを読み出した場合に、当該セーブデータに基づいてアップロード回数も読み出すことが可能なように構成される。図1に示すように、アップロード回数のデータがセーブデータに含まれてもよい。この場合、アップロード回数は、セーブデータがHDD14に記憶された場合にはHDD14に記憶され、セーブデータが外部記憶媒体31に記憶された場合には外部記憶媒体31に記憶される。
なお、アップロード回数のデータは、セーブデータとは別に記憶されることとしてもよい。ただし、この場合でもアップロード回数のデータとセーブデータとは、一対一で対応付けられる。例えばゲーム装置2のHDD14および外部記憶媒体31が複数のセーブデータを保持可能な場合、複数のセーブデータのそれぞれに対応するアップロード回数(そのセーブデータのセーブ時点におけるアップロード回数)が記憶される。
これにより、報酬データをサーバ装置3にアップロードした後に、ゲーム装置2のコンピュータ(HDD14および外部記憶媒体31)に記憶された当該アップロード前の時点におけるセーブデータをロードすることによりセーブデータの巻き戻しが生じる。この場合、サーバ装置3の対応する記憶領域に記憶されるアップロード回数は変化しないため、当該サーバ装置のアップロード回数とゲーム装置2のコンピュータ(HDD14および外部記憶媒体31)に記憶されたセーブデータに付随するアップロード回数(ゲーム装置2のコンピュータに記憶されるアップロード回数)との間に差異が生じることとなる。したがって、ゲーム装置2のコンピュータに記憶されるアップロード回数と、サーバ装置3の対応する記憶領域に記憶されるアップロード回数とが一致しない状況が生じ得る。このように、セーブデータと当該セーブデータが記憶される装置(領域)に記憶されるアップロード回数とが対応付けられることにより、ゲーム装置2とサーバ装置3とにそれぞれ記憶されるアップロード回数が一致するか否かでセーブデータの巻き戻しが生じたか否かを容易に判定することができる。
なお、本実施形態においては、ゲーム装置2のコンピュータ(HDD14および外部記憶媒体31)にセーブデータが記憶されることとしているが、セーブデータをサーバ装置3の対応する記憶領域RA−iに記憶することとしてもよい。この場合、サーバ装置3に記憶されるアップロード回数が当該セーブデータに対応付けられる。
レンタルしたNPC(すなわちレンタルキャラクタ)を返却する際、報酬データアップロード手段46は、報酬データをアップロードする場合に、アカウントAのゲーム装置2に記憶されたアップロード回数とサーバ装置3の対応する記憶領域RA−Aに記憶されたアップロード回数とを比較する異常判定処理を行い、一致している場合には、正常処理を行い、一致していない場合には、異常処理を行う。
[異常判定処理]
図4は本実施形態における異常判定処理の流れを示すフローチャートである。図4においてもアカウントAがアカウントBの所持するNPCをレンタルキャラクタとしてレンタルする場合に基づいて記載されている。前述したように、アカウントAに基づくゲーム進行において、PC、NPCおよびレンタルキャラクタのパーティがゲーム空間内の所定の位置において、レンタルキャラクタを返却する操作を行った場合、報酬データアップロード手段46として機能するアカウントAのゲーム装置2のコンピュータ(以下、本フローチャートの説明においてコンピュータAと称する)は、自らのゲーム装置2(アカウントAのゲーム装置2)のHDD14または外部記憶媒体31に記憶されたアップロード回数を読み出す(ステップS1)。
また、コンピュータAは、サーバ装置3の対応する記憶領域RA−Aにアクセスし、当該記憶領域RA−Aに記憶されているアップロード回数を読み出す(ステップS2)。そして、コンピュータAは、ゲーム装置2およびサーバ装置3の双方から読み出したアップロード回数を比較して両者が一致するか否かを判定する(ステップS3)。
アップロード回数が一致する場合(ステップS3でYes)、コンピュータAは、現時点がアカウントAに関するペナルティ期間外か否かを判定する(ステップS4)。このペナルティ期間は、あるアカウントによる報酬データのアップロード回数がゲーム装置2およびサーバ装置3で一致しない事態が生じた場合に、それ以後、当該アカウントによる報酬データのアップロードに対して所定のペナルティを課す期間である。ペナルティ期間外である場合(ステップS4でYes)、コンピュータAは、報酬データアップロード手段46として、正常処理を行う(ステップS5)。
具体的には、正常処理において、コンピュータAは、アカウントAのゲーム進行においてレンタルキャラクタに関連して得られたデータを、当該アカウントAのゲーム進行に即して報酬データBとして作成する。その上で、コンピュータAは、当該報酬データBをサーバ装置3の対応する記憶領域RA−Aにアップロードすることにより、記憶させる。
一方、アップロード回数が一致しない場合(ステップS3でNo)、コンピュータAは、異常処理を行う(ステップS6〜S9)。
異常処理について順を追って説明する。まず、コンピュータAは、アカウントAのゲーム装置2およびサーバ装置3のアカウントAに割り当てられた記憶領域RA−Aのそれぞれに記憶されたアップロード回数を一致させる(ステップS6)。例えば、アップロード回数を0にリセットしたり、ゲーム装置2およびサーバ装置3のうちの一方のアップロード回数を他方のアップロード回数に合わせるように変更して再記憶させる。そして、コンピュータAは、所定の時間、異常処理を継続するペナルティ期間を設定し、当該ペナルティ期間を開始する(ステップS7)。
コンピュータAは、アカウントAのゲーム進行においてレンタルキャラクタに関連して得られたデータのうち、所定のデータを改変した報酬データ(改変報酬データ)B’を作成する(ステップS8)。その上で、コンピュータAは、当該改変報酬データB’をサーバ装置3の対応する記憶領域RA−Aにアップロードすることにより、記憶させる。
ペナルティ期間開始後は、さらなるセーブデータの巻き戻しが行われない限り、双方のアップロード回数は一致している(ステップS6)。しかし、このペナルティ期間内に再びアカウントAからレンタルキャラクタ(アカウントBが所持しているNPCに限られない)が返却処理される場合、コンピュータAは、ペナルティ期間内であると判定する(ステップS4でNo)。このため、コンピュータAは、再び改変報酬データB’を作成し、対応する記憶領域RA−Aにアップロードする(ステップS8〜S9)。このようにして、ペナルティ期間内は、異常処理が継続される。
このように、一度、アップロード回数が一致していないと判定された場合には、双方のアップロード回数を一致させた上で、異常処理を所定のペナルティ期間において継続させる。これにより、ペナルティ期間経過後には正常処理に戻す処理を、異常判定処理を複雑化することなく実現することが可能となる。これにより、所定のペナルティ期間が過ぎれば、再び通常通り報酬データのアップロードができる。従って、不正にアイテムなどを取得する目的でなく、過去のセーブデータ(サーバ装置3に記憶されているアップロード回数と一致しないセーブデータ)をロードしてやり直す場合(ゲーム進行においてレベル不足などで行き詰ったり、重要なアイテムなどを取得できなかった場合などにより、やむなく過去のセーブデータからやり直そうとした場合)であっても、所定のペナルティ期間が過ぎれば再び通常のゲーム性(通常通り報酬データのアップロードができる)のもと、報酬データをアップロードするなどゲームを楽しむことができる。なお、ペナルティ期間の設定態様は特に限定されないが、例えば、一律に所定期間を設定することとしてもよいし、アイテムの重要度(または希少度)やゲームの進行度に応じて異なる長さのペナルティ期間を設定してもよい。また、ペナルティ期間を無期限に設定してもよいし、ペナルティの回数を記憶し、ペナルティ回数に応じてペナルティの期間、種類などを変更するなど適宜設定してもよい。
報酬データBまたは改変報酬データB’をサーバ装置3にアップロードした後、アカウントAのゲーム装置2のコンピュータは、ゲーム装置2に記憶されたレンタルキャラクタのデータおよび報酬データBまたは改変報酬データB’を削除する。なお、次回以降も同じアカウントBのレンタルキャラクタを容易にレンタルすることが可能なように、レンタルキャラクタをアップロードした貸し主のアカウント(ここでは、B)をアカウントAのゲーム装置2において記憶しておいてもよい。この際、ゲーム装置2に記憶される情報は、サーバ装置3のランキング生成部4が生成したランキングデータと同様に、当該NPCを所持するアカウントのIDおよび必要最低限の情報(例えば属性や強さなどのパラメータなど)を含むことが好ましい。
図5は本実施形態における報酬データの内容を概略的に示した図である。図5においては報酬データの一覧が示されているが、このような報酬データの一覧表示はゲーム画面上に必ずしも表示しなくてよい。なお、報酬データのこのようなリストは、レンタルキャラクタの借り主であるアカウントAのゲーム装置2のコンピュータ(GDD14または外部記憶媒体31)に記憶される情報である。
図5に示すように、報酬データには、当該報酬データを付与すべきアカウントのID(上記例においては、B)と、アカウントAに基づくゲームにおけるレンタルキャラクタの経験に基づいた値(ここでは例えばレンタルキャラクタの経験値に応じたゲーム内通貨RIMおよび獲得した知識)の情報が含まれている。さらに、報酬データには、レンタルキャラクタをダウンロードしたアカウントAが所持する所定のアイテムのデータを含んでもよい。この場合、アカウントAに基づくゲーム進行において、レンタルキャラクタを返却する際に、プレイヤがレンタルキャラクタ(の所持者であるアカウントBのプレイヤ)に対して任意に付与するアイテム(プレゼントアイテム)を選択することにより、報酬データに当該プレゼントアイテムのデータが含まれる。プレゼントアイテムを付与する場合には、プレイヤはアカウントAにおいて所持しているアイテムの中から所望のアイテムを付与することができる。報酬データとして付与したアイテムは、報酬データをサーバ装置3にアップロードした時点で、アカウントAのゲーム装置2におけるセーブデータからは削除される。
さらに、報酬データには、レンタルキャラクタに付随する情報として、例えばレンタルキャラクタの評価やレンタルキャラクタに対するコメントを添付することも可能である(図示せず)。これにより、別途、メールや掲示板などの機能をゲームに実装することなく、レンタルキャラクタを使用したアカウントAのプレイヤの感想やアドバイスを元々NPCを所持しているアカウントBのプレイヤに容易に伝えることができる。なお、このようなコメントは、貸し主がNPCをアップロードする際に添付可能とすることとしてもよい。
また、コンピュータは、報酬データをサーバ装置3にアップロードする場合に、履歴情報アップロード手段47としても機能する。すなわち、アカウントAのゲーム装置2のコンピュータは、報酬データがアップロードされたことに関する履歴情報を、サーバ装置3の報酬データがアップロードされたレンタルキャラクタを元々所持している(貸し主である)アカウントBに割り当てられた記憶領域RA−Bにアップロードすることにより、履歴データとして記憶させる(図1に示す(4)参照)。
図6は本実施形態における履歴データの内容を概略的に示した図である。図6に示すように、履歴情報は、対応するレンタルキャラクタをダウンロードすることにより取得したアカウントのID(ここではA)およびレンタルした日時などの最低限の情報のみが時系列的に書き込まれた履歴データとして構成される(ある程度の件数が履歴として閲覧可能なように記憶される)。履歴データは、例えばSNS(ソーシャルネットワーキングサービス)における足跡機能のようなシステムをサーバ装置3上に構築することで実現できる。履歴情報の構成を最低限の情報とすることにより、各記憶領域RA−A,RA−B,…に要求されるデータ容量の増大を抑制し、ひいてはサーバ装置3に要求されるデータ容量の増大を抑制することができる。
次に、アカウントBのゲーム装置2にて、自身のNPCが他のアカウントAでのプレイにより得た報酬データに基づき、アカウントBのNPCデータを更新する処理について説明する。アカウントAに基づくゲーム進行においてレンタルキャラクタとして使用されたNPCをアップロードしたアカウントBのゲーム装置2は、アカウントBに基づくゲーム進行において、アカウントBのPCを含むパーティが所定の位置(例えば宿屋)に位置した際、サーバ装置3のアカウントBに割り当てられた記憶領域RA−Bにアクセスすることにより、履歴データ(図5に示すような一覧表示)をゲーム画面上に表示する(図1に示す(5)参照)。
アカウントBのプレイヤがサーバ装置3の履歴情報を閲覧し、その中から何れかの履歴情報を選択した場合、アカウントBのゲーム装置2のコンピュータは、データ更新手段48として機能し、選択された履歴情報に対応する報酬データをアカウントAに割り当てられた記憶領域RA−Aからダウンロードすることにより取得する(図1に示す(6)参照)。さらに、データ更新手段48は、ダウンロードした報酬データに基づいてアカウントBのデータを更新する。例えば報酬データにゲーム内通貨RIMが含まれる場合には、アカウントBにおけるゲーム進行において、プレイヤ(PC)が所持するゲーム内通貨RIMと報酬データに含まれるゲーム内通貨RIMとを合算する。また、報酬データに、レンタルキャラクタがアカウントAに基づくゲーム進行において獲得した知識や経験値等が含まれる場合には、アカウントBにおけるゲーム装置2のNPCデータBに当該報酬データに含まれる知識や経験値を結合させる。なお、ゲーム装置2のコンピュータが履歴情報の有無を判定し、履歴情報を検出した場合には、当該履歴情報に基づく報酬データの更新を自動的に行うこととしてもよい。
なお、図1および図6に示すように、アカウントBが所持するNPCに関し、アカウントBにおけるゲーム装置2においてデータ更新がなされていない履歴データが複数ある場合、それらにそれぞれ対応する各アカウントの記憶領域からダウンロードする処理が行われる。
このように、アカウントBが所持するNPCをアカウントAがレンタルキャラクタとして用いてプレイしたゲーム内容に応じて、アカウントBのNPCが成長したり、アイテムを得られたりすることができる。例えば、アカウントBのNPCがレンタルキャラクタとして行動したゲーム進行において、アカウントBに基づくゲーム進行においては行ったことのない洞窟に入って宝箱を見つけたとする。この場合、アカウントAからの報酬データには、洞窟のどこに宝箱があるかについての知識が含まれる。したがって、このような報酬データをダウンロードして、アカウントBのNPCのデータに結合させた場合、アカウントBのNPCは、アカウントBに基づくゲーム進行においてまだ行ったことのない洞窟のどこに宝箱があるかという情報を知っていることになる。このため、アカウントBに基づくゲーム進行において初めて当該洞窟に入った場合に、洞窟内の分岐路に位置するとアカウントBのNPCが「右に進むと宝箱があります」といったメッセージを発することができる。
なお、上記のような知識は、予めゲームデータ30bに記憶されており、NPCが知識を覚えているか否かについてはフラグなどで識別、管理される。すなわち、上記の例において、洞窟内の上記分岐路に位置し、かつ、洞窟の宝箱のありかに関するフラグが立っている場合に、「右に進むと宝箱があります」といったメッセージを発することが予め設定されている。そして、アカウントBがアカウントAから上記報酬データを得た場合、当該NPCについて洞窟の宝箱のありかに関する知識についてのフラグが立つように設定されている。これにより、その後で、当該NPCが洞窟内の上記分岐路に位置すると上記メッセージを発するというイベントを実現することができる。
改変報酬データがサーバ装置3の一のアカウント(上記例においてはA)に割り当てられた記憶領域(上記例においてはRA−A)にアップロードされた場合も、当該改変報酬データを、レンタルキャラクタを元々所持しているアカウント(上記例においてはB)へ受け渡す流れは、上記報酬データの場合(図1における(4)〜(6))と基本的に同じである。
例えば、報酬データに、一のアカウントiに基づくゲーム進行において取得したアイテムを含む場合、報酬データアップロード手段46は、異常処理として、アップロードすべきアイテムとは異なるアイテムのデータを改変報酬データとして、サーバ装置3の当該一のアカウントiに割り当てられた記憶領域RA−iにアップロードする。つまり、例えば上記例において、アカウントAはレアアイテムをアカウントBに渡したつもりでも、実際に、アカウントBが受け取るアイテムは、例えば石ころのような非常に価値の低いアイテムとなる。その他、アカウントBが受け取るアイテムとしては、アイテムの見た目は同じでも性能の劣った偽物アイテムとなっていたり、アイテムが破壊された状態となっていてもよい。また、アイテムが失われた(落としたなど)としてアカウントBがアイテムを受け取れないこととしてもよい。
また、例えば、報酬データに、一のアカウントiに基づくゲーム進行において獲得したレンタルキャラクタの経験値に基づく値(ゲーム内通貨RIM)を含む場合、報酬データアップロード手段46は、異常処理として、当該経験値に基づく値を正常処理時より低減した値とする処理を行う。つまり、例えば上記例において、アカウントAに基づくゲーム進行においてアカウントBからレンタルしたレンタルキャラクタの経験値が100とすると、正常処理時において報酬データBに含まれるゲーム内通貨RIMは、10であるのに対し、異常処理時において改変報酬データB’に含まれるゲーム内通貨RIMは6となる。なお、低減される量は、正常処理時に対する所定の割合(例えば40%減らす)であってもよいし、正常処理時の値にかかわらず一定量減らす(例えば4減らす)こととしてもよい。また、経験値に基づく値は、ゲーム内通貨RIMに限られず、経験値に応じた所定のステータス値でもよいし、経験値そのものでもよい。
このように、改変報酬データは、報酬データに含まれる情報のうち、少なくとも1つの情報が改変される。例えば、上述したアイテムおよびレンタルキャラクタの経験値に基づく値のいずれか一方または双方が改変されることとしてもよい。すなわち、例えば図5に示すような報酬データにおいては、レンタルキャラクタが獲得した知識については改変しないこととしてもよい。もちろん、レンタルキャラクタが獲得した知識についても改変する(例えば知識が得られなかったこととする)こととしてもよい。また、その他、報酬データに含まれ、他のアカウントに付与し得るすべての情報の全部または一部を改変し得る。改変される情報の種類は、このように適宜選択可能である。また、同じゲーム上においても、ゲームの進行度、アイテムの重要度(希少度)、異常処理が行われた回数(セーブデータの巻き戻し回数)に応じて改変する情報の種類を変更したり、改変する情報の種類を増減させてもよい。例えば異常処理が行われた回数が所定回数未満ならレンタルキャラクタの経験値に基づく値のみ改変することとし、所定回数以上になるとレンタルキャラクタの経験値に基づく値に加えて、アイテムも改変した改変報酬データを作成することとしてもよい。
また、異常処理においては、上記報酬データの変更に加えて、異常処理となるセーブデータの巻き戻しを行ったアカウントiのゲーム進行においてペナルティを与えることとしてもよい。例えば、アカウントiのゲーム進行においてプレイヤキャラクタのレベルを下げたり、体力などのパラメータ値を下げたり、所定のアイテムを喪失させることとしてもよい。さらに、異常処理においては、異常処理となるセーブデータの巻き戻しを行ったアカウントiのゲーム画面に不正行為が行われたことを示すマークを表示させることとしてもよい。また、この情報をサーバ装置3のランキング生成部4に送り、ランキング上に表示させることとしてもよい。
上記構成によれば、一のアカウントiが報酬データをサーバ装置3にアップロードした回数が、サーバ装置3の対応する記憶領域RA−iおよび自身の(一のアカウントiの)ゲーム装置2の双方にそれぞれ記憶される。ゲーム装置2に記憶されたアップロード回数は、セーブデータに対応付けられている。このため、セーブデータを巻き戻すと、ゲーム装置2に記憶されたアップロード回数は減少し得るが、サーバ装置3に記憶されたアップロード回数は変化しない。したがって、アップロード回数が一致するか否かを判定することにより、セーブデータが巻き戻されたか否かを判定することができる。そして、アップロード回数が一致しないと判定された場合には、アイテムなどの報酬データを正常に受け渡せないようにする異常処理が行われる。このようにして、セーブデータの巻き戻しにより同じデータのやりとりが繰り返し行われることを防止することができる。このような複数のアカウント間での不正なデータのやり取りを防止することにより、上述したようなより豊かなゲーム性を実現することができる。
なお、異常処理が行われる間、プレイヤに当該異常処理中であることをゲーム画面上で報知することとしてもよい。例えば、ゲーム画面上に異常処理が継続中(ペナルティ期間中)であることを示すアイコン表示を行ったり、レンタルキャラクタの返却時などに報酬データを正常に受け渡せない旨の注意表示を行ったりしてもよい。
すなわち、上記構成によれば、一のアカウントAが他のアカウントBのNPCをレンタルした場合に、そのNPCが同行したアカウントAに基づくゲームに伴う報酬データをサーバ装置3のNPCの借り主である自己のアカウントAに割り当てられた記憶領域RA−Aに記憶させる。そして、NPCをアップロードしたアカウントBに割り当てられたサーバ装置3の記憶領域RA−Bには、誰にレンタルされたかを知らせるための履歴データのみが記憶される。これにより、NPCを貸した側のアカウントBは、借り主であるアカウントAに割り当てられた記憶領域RA−Aにアクセスし、当該記憶領域RA−Aに記憶されたNPCに関連する報酬データをダウンロードする。
これにより、レンタルキャラクタとして一のアカウントAに貸し出され、当該アカウントAに基づくゲーム進行において使用されたアカウントBのNPCに関連するデータをアカウントB自身の操作によってアカウントBのゲーム進行に反映させることができる。この際、アカウントAに基づく報酬データは、サーバ装置3に記憶されているため、アカウントBが報酬データをダウンロードする際に、報酬データが作成されたアカウントAがオンライン状態となっている必要はない。しかも、貸した側のアカウントBのゲーム装置2におけるセーブデータの更新は、当該アカウントB自身で行うため、借り主である一のアカウントAが自己のアカウントAとは異なる他のアカウントBのデータを勝手に書き換える必要をなくすことができる。
このように、各アカウントi(上記例におけるA)に基づくゲーム進行において使用したレンタルキャラクタに関連するデータ(報酬データ)は、サーバ装置3の各アカウントiに割り当てられた記憶領域RA−i(上記例におけるRA−A)においてそれぞれ記憶されるため、他のアカウントj(上記例におけるRA−B)が所持するNPCがレンタルキャラクタとして多くの他のアカウント(AやCなど)にレンタルされたとしても、当該アカウントjの記憶領域RA−j(上記例におけるRA−B)のデータ量のみが局所的に増大することはない。つまり、一のレンタルキャラクタが使用されたことによる報酬データは、使用したアカウントごとに分散して記憶されるため、貸した側のアカウントj(上記例におけるRA−B)のデータ容量が不当に圧迫されるのを防止することができる。したがって、サーバ装置3の記憶容量を効率的に使用することができ、何れのアカウントにおいてもスムーズなゲーム進行を行うことができる。
さらに、レンタルキャラクタを貸し出す側のアカウントおよび借り受ける側のアカウントの双方において、知らない情報や新たなアイテムなどを得ることができる。このように、NPCが実際に自己のアカウント(プレイヤ)から離れて他のアカウント(他のプレイヤ)に連れられて経験をし、成長して戻ってきた様を表現することができる。このため、レンタルキャラクタの貸し借りも積極的に行われることとなり、一のアカウントに基づくゲーム進行において取り扱われるゲーム内の情報量を増やすことができる。すなわち、一人でゲームを行っているにも拘らず、複数人でゲームを行っているかのように感じさせることができ、より豊かなゲーム演出を行うことができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
例えば、上記実施形態において、各アカウントiのPCデータ、NPCデータ、報酬データおよび履歴データがすべて1つのサーバ装置3の各アカウントiに割り当てられた記憶領域RA−iに記憶される場合に基づいて説明したが、本発明の態様はこれに限られない。例えば、各アカウントiの履歴データについては、別のサーバに記憶することとしてもよい。この場合は、サーバ装置3に割り当てられる各アカウントiに割り当てられた記憶領域RA−iへは、自己のアカウントiのみがアップロードして書き換えることができ、他のアカウントjは一切書き込みすることができないこととすることができる。この他、ランキング生成部4を別のサーバ装置に記憶させたり、各アカウントiの記憶領域RA−iを複数のサーバ装置で構成するなど、サーバ装置3の構成は、適宜変更可能である。
また、上述した説明では、一のアカウントに基づくゲーム進行において、一体のPCと、一体のNPCと、最大二体のレンタルキャラクタとでパーティを組んで行動する態様に基づいて説明したが、自己のアカウントが所持するNPCの数および同時にレンタル可能なレンタルキャラクタの数は、これに限られず、種々適用可能である。
また、上記実施形態においては、他のアカウントが所持するNPCをレンタルし、自己のアカウントに基づくゲーム進行において、当該NPC(レンタルキャラクタ)に関連付けられたデータを、報酬データとして作成する例に基づいて説明したが、本発明の態様は、これに限られない。例えば、サーバ装置を介することなく複数のゲーム装置間でデータを通信する構成についても本発明を適用可能である。この場合、複数のゲーム装置のうちの少なくとも一台が上記サーバ装置の役割を担うこととしてもよい。なお、ゲーム装置間の通信は、P2Pやブルートゥースなどによるものであってもよい。複数のゲーム装置間で通信されるデータは、上記報酬データに限られず、例えばオブジェクト(キャラクタ、アイテムなど)、メッセージ(文字情報)、音楽、動画など、通信により送受信される情報(データ)であれば何でもよい。
また、上記実施形態においては、一のアカウントに基づくゲーム進行に応じて付与される識別情報として、報酬データのアップロード回数を用いた態様に基づいて説明したが、本発明の態様は、これに限られない。例えば、識別情報は、セーブデータの生成に基づいて付与されるものでもよい。具体的には、例えば、識別情報としてセーブ回数を用いてもよい。また、識別情報は上記回数に限られず、例えば、ゲーム進行に応じて所定の処理(アップロード、データセーブなど)が行われた日時の情報であってもよい。また、セーブデータごとに異なる所定の識別子がセーブデータに対応付けられて記憶されることとし、この識別子を識別情報として用いてもよい。
なお、「ゲーム進行」とは、キャラクタを操作してゲームを進める状態を意味するだけでなく、ゲームプログラムを実行(ディスク型記憶媒体30をゲーム装置2に挿入して起動)している間の状態(メニュー画面操作、キャラクタ設定、BGMの視聴、ムービーの閲覧、他のゲーム装置2との通信など)をも含む概念である。
また、上述した説明では、一人のプレイヤがオフラインゲームを行う場合(NPCのレンタル処理を行う間のみオンラインとなる構成)について例示したが、本発明は、複数のプレイヤが各自のプレイヤキャラクタを同一のゲーム空間内に登場させ、これらを協力させて行動させるオンラインゲームにおいても適用することができる。
また、本実施形態では据え置き型のゲーム装置について説明したが、携帯型のゲーム装置、携帯電話機、およびパーソナルコンピュータなどのコンピュータについても、本発明を好適に適用することができる。