以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<実施の形態1>
本実施形態において、ユーザは、例えばスマートフォンなどの、タッチスクリーンを搭載した情報処理装置を操作して、ゲームサーバと、スマートフォンとの間でゲームに関するデータを送受信しながらゲームを進行させる。ゲームは、ユーザが一人でプレイするシングルプレイと、ユーザが他のユーザとともにプレイするマルチプレイとに対応する。
図1は、実施の形態のゲーム配信システム1の構成を示す図である。図1に示すように、ゲーム配信システム1は、ユーザが使用する情報処理装置と、サーバ20とを含み、これらの装置がネットワーク80によって互いに通信可能に接続されている。
図1の例では、ユーザが使用する情報処理装置として、携帯端末10A、携帯端末10B、携帯端末10Cおよび携帯端末10D(以下、携帯端末10A、10B、10C、10Dなどの携帯端末を総称して「携帯端末10」と記載することもある)など複数の携帯端末を示している。携帯端末10Aと携帯端末10Bとは、無線基地局81と通信することにより、ネットワーク80と接続する。携帯端末10Cは、家屋などの施設に設置される無線ルータ82と通信することにより、ネットワーク80と接続する。ある局面において、携帯端末10は、タッチスクリーンを備える端末であり、例えば、スマートフォン、ファブレット、タブレットなどである。ある局面において、携帯端末10は、ウェアラブルデバイスでもある。携帯端末10がウェアラブルデバイスである場合、例えば、ユーザが所持するスマートフォンなど別の情報処理装置と通信する。
ある局面において、携帯端末10Dは、近距離無線通信に対応した通信装置71と通信する。通信装置71は、例えば、NFC(Near field radio communication)などの近距離無線通信規格に対応しているリーダ/ライタ81を搭載する。また、携帯端末10Dは、NFCなどに対応したNFCチップを搭載しており、携帯端末10Dとリーダ/ライタ81とを一定距離以内に近接させることで、これら機器の間で情報を入出力することができる。NFCチップには様々な情報を記憶させることができ、例えば、電子マネー、公共交通機関(電車、バス等)の乗車および降車の記録など様々な処理にNFCチップを利用することができる。例えば、NFCチップを搭載した携帯端末10Dとリーダ/ライタ装置81とを一定距離以内に近接させることにより、決済処理を行う、公共交通機関における乗車場所を記録する、降車場所を記録する、などの処理を行うことができる。これにより、携帯端末10Dは、ユーザがいる位置をサーバ20等に登録することができる。例えば、携帯端末10Dとリーダ/ライタ装置81とが近距離無線通信を行った場合、リーダ/ライタ装置81がサーバ20と通信することにより、携帯端末10Dとリーダ/ライタ装置81との通信内容の履歴をサーバ20で保持する。この場合、通信装置71が、リーダ/ライタ装置81と携帯端末10Dとの通信の履歴をサーバ20等へ送信することにより、サーバ20は、携帯端末10Dが、いつ、どの場所に(リーダ/ライタ81が設置されている位置)位置しているかを把握することができる。これによりユーザの位置をサーバ20に登録することができる。
携帯端末10は、ゲームプログラムを実行することにより、ゲームプログラムに応じたゲームをプレイする環境をユーザに対して提供する。携帯端末10は、例えば、アプリ等を配信するプラットフォームを介してゲームプログラムをインストールする。携帯端末10は、携帯端末10にインストールされたゲームプログラム、または、予めプリインストールされているゲームプログラムを実行することで、ユーザによるゲームのプレイを可能とする。携帯端末10は、ゲームプログラムを読み込んで実行することにより、携帯端末10と、サーバ20とを通信接続して、ゲームの進行に応じてゲームに関連するデータを携帯端末10とサーバ20との間で送受信する。
サーバ20は、ゲームのプレイに必要なデータを、適宜、携帯端末10へ送信することで、携帯端末10でのゲームのプレイを進行させる。サーバ20は、ゲームをプレイする各ユーザの、ゲームに関連する各種データを管理する。サーバ20は、携帯端末10と通信し、各ユーザのゲームの進行に応じて、画像、音声、テキストデータその他のデータを携帯端末10へ送信する。
例えば、サーバ20は、各ユーザがゲームのストーリーを進行させた進行状況、ゲーム内に登場するゲームキャラクタのうち各ユーザが使用可能なゲームキャラクタの情報、ゲームキャラクタの能力を示すパラメータ、ゲームキャラクタが使用する道具の性能を示すパラメータその他の各種データを管理する。また、サーバ20は、ゲームの運営者がユーザに対してキャンペーン、ゲームの進行における不具合の発生、不具合の解消その他のゲームの運営に関連する情報等をユーザに通知する処理を行う。
ゲームプログラムは、ユーザがゲームをプレイするモードとして、一人のユーザがプレイする場合(シングルプレイ)と、複数人のユーザが協同してプレイする場合(マルチプレイ)とに対応している。例えば、ゲーム配信システム1において、サーバ20が、マルチプレイに参加するユーザを特定して各ユーザの各携帯端末10と通信すること等により
、マルチプレイでゲームをプレイする環境を各ユーザに提供する。
ゲーム配信システム1は、マルチプレイに対応することにより、例えば、アクションゲームであれば、ユーザ同士が共闘してゲームに登場するゲームキャラクタと戦うこと、または、ユーザとユーザとが対戦することを可能とする。
<構成>
サーバ20のハードウェアの構成を説明する。サーバ20は、通信IF(Interface)
22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備え
、これらが通信バスを介して互いに接続する。
通信IF22は、例えばLAN(Local Area Network)規格など各種の通信規格に対応しており、携帯端末10など外部の通信機器との間でデータを送受信するためのインタフェースとして機能する。
入出力IF23は、サーバ20への情報の入力を受け付けるとともに、サーバ20の外部へ情報を出力するためのインタフェースとして機能する。入出力IF23は、マウス、キーボード等の情報入力機器の接続を受け付ける入力受付部と、画像等を表示するためのディスプレイ等の情報出力機器の接続を受け付ける出力部とを含む。
メモリ25は、処理に使用されるデータ等を記憶するための記憶装置である。メモリ25は、例えば、プロセッサ29が処理を行う際に一時的に使用するための作業領域をプロセッサ29に提供する。メモリ25は、ROM(Read Only Memory)、RAM(Random
Access Memory)等の記憶装置を含んで構成されている。
ストレージ26は、プロセッサ29が読み込んで実行するための各種プログラム及びデータを記憶するための記憶装置である。ストレージ26が記憶する情報は、ゲームプログラム、ゲームプログラムに関連する情報、ゲームプログラムをプレイするユーザの情報その他の情報を含む。ストレージ26は、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶装置を含んで構成されている。
プロセッサ29は、ストレージ26に記憶されるプログラム等を読み込んで実行することにより、サーバ20の動作を制御する。プロセッサ29は、例えば、CPU(Central
Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Proce ssing Unit)等を含んで構成される。
図2は、携帯端末10の構成を示すブロック図である。図2を参照して、携帯端末10は、アンテナ110と、無線通信IF120と、タッチスクリーン130と、入出力IF140と、記憶部150と、音声処理部160と、マイク170と、スピーカ180と、制御部190とを含む。
アンテナ110は、携帯端末10が発する信号を電波として空間へ放射する。また、アンテナ110は、空間から電波を受信して受信信号を無線通信IF120へ与える。
無線通信IF120は、携帯端末10が他の通信機器と通信するため、アンテナ110等を介して信号を送受信するための変復調処理などを行う。無線通信IF120は、チューナー、高周波回路などを含む無線通信用の通信モジュールであり、携帯端末10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部190へ与える。
タッチスクリーン130は、ユーザからの入力を受け付けて、ユーザに対し情報をディスプレイ132に出力する。タッチスクリーン130は、ユーザの入力操作を受け付けるための部材(タッチセンシティブデバイス131)を含む。また、タッチスクリーン13
0は、メニュー画面や、ゲームの進行を画面に表示するための部材(ディスプレイ132)を含む。タッチセンシティブデバイス131は、例えば静電容量方式のタッチパネルを用いることによって、ユーザの指などが接近したことを検出する。ディスプレイ132は
、例えばLCD(Liquid Crystal Display)、有機EL(electroluminescence)その他の表示装置によって実現される。
入出力IF140は、携帯端末10への情報の入力を受け付けるとともに、携帯端末1
0の外部へ情報を出力するためのインタフェースとして機能する。 GPS測位部141は、携帯端末10の位置情報を測位するための機構により構成される。GPS測位部141は、例えば、GPS(Global Positioning System)モジュールを含み、GPS信号に基づいて携帯端末10の位置情報を測位する。
記憶部150は、フラッシュメモリ、RAM(Random Access Memory)等により構成され、携帯端末10が使用するプログラム、および、携帯端末10がサーバ20から受信する各種データ等を記憶する。
音声処理部160は、音声信号の変復調を行う。音声処理部160は、マイク170から与えられる信号を変調して、変調後の信号を制御部190へ与える。また、音声処理部160は、音声信号をスピーカ180へ与える。音声処理部160は、例えば、音声処理用のプロセッサによって実現される。マイク170は、音声信号の入力を受け付けて制御部190へ出力するための音声入力部として機能する。スピーカ180は、音声信号を、携帯端末10の外部へ出力するための音声出力部として機能する。
制御部190は、記憶部150に記憶されるプログラムを読み込んで実行することにより、携帯端末10の動作を制御する。制御部190は、例えば、アプリケーションプロセッサによって実現される。
携帯端末10がゲームプログラム151を実行する処理について、より詳細に説明する
。ある局面において、記憶部150は、ゲームプログラム151と、ゲーム情報152と、ユーザ情報153と、地図データ154とを記憶する。サーバ20は、地図データを配信する情報処理装置と通信することにより、道路、施設、行政区画等の情報を含む地図データを受信し、受信した地図データに基づいて、ゲームにおいて使用する地図データをストレージ26等において保持する。携帯端末10は、例えば、サーバ20からゲームプログラムおよび地図データをダウンロードして記憶部150にゲームプログラム151、地図データ154として記憶させる。また、携帯端末10は、ゲームの進行に伴いサーバ20と通信することで、ゲーム情報152およびユーザ情報153等の各種のデータをサーバ20と送受信する。
ゲームプログラム151は、携帯端末10においてゲームを進行させるためのプログラムである。ゲーム情報152は、ゲームプログラム151が参照する各種のデータを含む。ゲーム情報152は、例えば、ゲームにおいて仮想空間に配置するオブジェクトの情報、オブジェクトに対応付けられた効果の情報(ゲームキャラクタに設定されるスキルの情報などを含む)などを含む。ユーザ情報153は、ゲームをプレイするユーザについての情報を含む。ユーザ情報153は、例えば、ゲームをプレイする携帯端末10のユーザを識別する情報、マルチプレイ時に協同してゲームをプレイする他のユーザを識別する情報その他の情報を含む。
制御部190は、ゲームプログラム151を読み込んで実行することにより、入力操作受付部191と、ゲーム進行処理部192と、端末位置取得部193と、カメラ配置制御部194と、オブジェクト制御部195と、表示制御部196と、の各機能を発揮する。
入力操作受付部191は、タッチスクリーン130の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部191は、ユーザの指などがタッチセンシティブデバイス131に接近したことを、タッチスクリーン130を構成する面の横軸および縦軸からなる座標系の座標として検出する。
入力操作受付部191は、タッチスクリーン130に対するユーザの操作を判別する。入力操作受付部191は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「ダブルタップ操作」、(5)「長押し操作(ロングタッチ操作)」、(6)「ドラッグ操作(スワイプ操作)」、(7)「ムーブ操作」、(8)「フリック操作」、その他のユーザの操作を判別する。入力操作受付部191が判別するユーザの操作は、上記に限られない。例えば、タッチセンシティブデバイス131が、ユーザがタッチセンシティブデバイス131に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部191は、ユーザが押下した圧力の大きさを判別する。また、制御部190は、タッチスクリーン130へのユーザの指などの接近を検出している状態を、「タッチオン状態」と判別する。制御部190は、タッチスクリーン130へのユーザの指などの接近を検出しない状態を、「タッチオフ状態」と判別する。制御部190は、タッチスクリーン130が逐次出力するユーザの指などの接近位置を示す座標を、「タッチナウ」の座標として受け付ける。
ここで、(1)「接近操作」とは、ユーザが指などをタッチスクリーン130に接近させる操作である。
(2)「リリース操作」とは、ユーザがタッチスクリーン130に指などを接近させることで操作する状態を止める操作である。入力操作受付部191は、例えば、ユーザが指などをタッチスクリーン130に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。
(3)「タップ操作」とは、ユーザがタッチスクリーン130に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。
(4)「ダブルタップ操作」とは、ユーザがタップ操作を一定時間内に2回行う操作である。入力操作受付部191は、例えば、ユーザの操作をタップ操作と判別してから一定時間内に、タップ操作にかかる座標で再びタップ操作を判別した場合に、ユーザの操作を
「ダブルタップ操作」と判別する。
(5)「長押し操作」とは、ユーザがタッチスクリーン130を押し続ける操作である。タッチスクリーン130は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。
(6)「ドラッグ操作」とは、ユーザがタッチスクリーン130に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
(7)「ムーブ操作」とは、ユーザがタッチスクリーン130において、接近操作を維持しつつ、タッチスクリーン130に指などを接近させている位置を移動させてリリース操作を行う一連の操作をいう。
(8)「フリック操作」は、ユーザがムーブ操作を予め定められた時間よりも短い時間で行う操作をいう。フリック操作は、ユーザがタッチスクリーン130で指を弾くような操作である。
ゲーム進行処理部192は、ユーザの操作に応じて、各種のプログラムを呼び出す等によりゲームを進行させる処理を行う。例えば、ゲーム進行処理部192は、携帯端末10の位置情報をユーザの位置としてサーバ20に送信し、ユーザの位置に応じてゲームパラメータを設定する処理、サーバ20と通信し、ユーザが他のユーザと協同して、ゲームにおいて提供されるイベント(クエストと称することもある)をプレイするため、複数のユーザからなるグループ(パーティと称することもある)を管理する処理その他の各種の処理を行う。具体的には、ゲーム進行処理部は、ゲームの進行に応じてサーバ20へデータを送信する処理、サーバ20からゲームに関連するデータを受信する処理、ゲームの進行に応じてユーザに報酬を付与する処理、時間の経過を計測する処理その他の処理を行う。
より具体的には、制御部190が記憶部150のゲームプログラム151を読み込んで実行することにより、ゲーム進行処理部192は、位置送信部192A、拠点範囲指定部192B、イベント処理部192C、戦闘パート192D、チャット処理部192E、地図データ取得部192F等の各機能を発揮する。
位置送信部192Aは、端末位置取得部193によってユーザの位置を取得し、取得したユーザの位置を、サーバ20等の外部の装置へ送信する処理を行う。
拠点範囲指定部192Bは、ゲームプログラム151において使用される地図データにおいて、ユーザが位置することでゲームパラメータを設定することが可能な所定の位置範囲をユーザが指定するための入力操作を受け付ける処理、受け付けた入力操作に基づいて、ユーザについて位置範囲を設定する処理等を行う。例えば、ゲームプログラム151が、位置情報を用いたロールプレイングゲームであるとすると、ゲームプログラム151における仮想の施設を、地図データにおいてユーザが指定した所定の位置範囲に設置する。
ここで、ゲームプログラム151における仮想の施設には、それぞれ、ゲームパラメータを設定する機能が対応付けられている。このように、施設に応じて属性があり、ユーザが指定可能な位置範囲に対応付けて、これら属性のいずれか(または複数)をユーザが指定可能としている。例えば、仮想の施設として、ユーザが操作するキャラクタの体力等を回復させる施設(施設の属性は、施設「宿屋」)、ユーザが操作するキャラクタと関連付けることでゲームパラメータを変化させる施設(施設「武器屋」または施設「防具屋」)、ユーザが操作するキャラクタにゲームアイテムを関連づけることができる施設(施設「道具屋」)、ユーザが操作するキャラクタの状態異常を回復させる施設、ユーザが操作するキャラクタの職業を変更可能な施設、ユーザが他のキャラクタをパーティ編成に組み込むことが可能な施設、ユーザが敵キャラクタとして登場するキャラクタを、操作キャラクタとしてパーティ編成に組み込むことが可能な施設その他の施設がある。また、例えば、状態異常としては、(1)時間の経過とともにキャラクタの体力が減少する状態(「毒状態」と称することもある)、(2)キャラクタの体力値はあるが攻撃などの行動が不能である状態(「マヒ状態」と称することもある)、(3-1)キャラクタが所定のコマンドを実行できない状態、(3-2)キャラクタがユーザの指示したものとは異なる動作をすることがある状態(「呪い状態」と称することもある)、(4)キャラクタの体力値を、通常の回復アイテムでは回復できない状態、など様々なものがある。また、施設によっては、複数の属性を有することとしてもよい(例えば、体力等のパラメータを回復させつつ、毒状態などの状態異常をも回復させる施設)。
このように、ゲームプログラム151においては、地図データにおいて、ユーザが指定した位置に、これら仮想の施設を設置することができる。また、例えば、ユーザが地図データにおいて設置する対象は、複数の施設を含むもの(例えば、宿屋、武器屋など複数の施設を含む街全体)としてもよい。例えば、地図データにおいて、ユーザが住む家がある地点を含む一定範囲に、ゲームプログラム151のゲームシナリオにおける始まりの街を設置するとユーザが指定する。こうすることで、ユーザは、自宅の周囲が、上記のようにユーザが位置することでゲームパラメータを設定することが可能な特定の位置範囲に含まれることになるため、例えば、自宅に帰る都度、ゲームにおける宿屋を利用してゲームキャラクタの体力を回復させる等をすることができる。
本実施形態において、拠点範囲指定部192Bは、ユーザから、地図データにおいてゲームパラメータを設定することが可能な所定の位置範囲を指定する操作を受け付けるが(例えば、施設「宿屋」を地図データのある地点に設置するとユーザが指定する操作、施設「武器屋」を地図データの別の地点に設置するとユーザが指定する操作など)、これら施設ごとに指定される位置範囲は、少なくとも一定の間隔をあけて配置されるように上記指定を受け付ける。例えば、各施設が、予め定められた一定距離を少なくともあけるように(例えば、各施設を、少なくとも数百メートルはあける、数キロメートルはあける、または、数十キロメートルはあけるようにユーザの指定を受け付ける。ただし、各施設の間隔は上記の例に限られない)、ゲームパラメータを設定することが可能な位置範囲についてユーザの指定を受け付ける。なお、特定の施設については、これら各施設について指定を受け付ける間隔にかかわらず地図データにおいてその施設を設置する位置をユーザが指定可能としてもよい。例えば、施設「宿屋」など特定の施設については、これら施設を設置可能な間隔にかかわらずユーザが地図データにおいて設置する個所を指定可能としてもよい。また、特定の地点については、これら各施設について指定を受け付ける間隔にかかわらず地図データにおいてその施設を設置する位置をユーザが指定可能としてもよい。例えば、自宅が位置する地点については、これら各施設についての設置可能な間隔にかかわらず、宿屋など何らかの施設を設置可能としてもよい。こうすることで、自宅などユーザが頻繁に位置する地点において、その地点に関連付けてゲームの施設を設置するとユーザが指定することができ、ゲームを進行させる機会が増えて興趣性がいっそう向上する。
また、拠点範囲指定部192Bは、ユーザから、地図データにおいてゲームパラメータを設定することが可能な所定の位置範囲を指定する操作を受け付けるが、施設ごとに指定される位置範囲を、地図データにおいて少なくとも一定の間隔をあけて指定可能とする際に、ユーザの移動時間が一定以上となるように位置範囲を指定可能であるとしてもよい。例えば、ユーザが地図データにおいて指定した位置範囲が、交通機関の発着地点(電車の駅、バス停など)を含む場合に、この一定の間隔として、これら交通機関に設定される移動速度(例えば、電車であれば時速数十キロである等)および予め定められた移動時間(例えば、数分以上、数十分以上、数時間以上などの移動時間)に基づいた距離を少なくともあけるようにユーザから位置範囲の指定を受け付ける。ここで、各交通機関の移動時間は、時刻表等を参照してもよい。例えば、ある駅をユーザが(例えば、宿屋などを設置する)所定の位置範囲として指定すると、その駅から所定時間以上の移動時間を要する駅について、ユーザが(例えば、武器屋などを設置する)所定の位置範囲として指定することを可能とする。こうすることで、ゲームを通じてユーザの移動を促すことができ、ゲームプレイおよび現実世界におけるユーザの移動から興趣性を提供し得る。
また、拠点範囲指定部192Bは、これら施設の属性の指定をユーザから受け付けつつ(宿屋を設置するのか、武器屋を設置するのかといったユーザの指定)地図データにおいて位置範囲を指定するが、ユーザが指定可能な施設の属性は、ユーザによるゲームプレイの進行状況に応じて変更されることとしてもよい。例えば、ゲームプログラムにおいてユーザに提供されるイベントのうち、ストーリー進行にかかわるイベントがあるとする。サーバ20は、ストーリー進行にかかわるイベントをユーザがゲームクリアするにつれて、ストーリーの進行状況に応じてイベントをユーザに提供する。このように、サーバ20において、各ユーザがストーリーを進行させた状況を、ストーリー進行にかかわるイベントのゲームクリアの度合いとして管理する。ここで、ストーリー進行にかかわる一連のイベントをユーザがゲームクリアした状況に応じて、ユーザが指定可能な施設の属性を拡大することとしてもよい。こうすることで、ストーリーを進行させたユーザほど、様々な施設を設置する位置範囲を地図データにおいて指定することができる。例えば、ストーリーを進行させることで、ユーザが操作するキャラクタの職業を変更可能な施設、ユーザが他のキャラクタをパーティ編成に組み込むことが可能な施設(例えば、施設「酒場」と称することもある)、敵キャラクタとして登場するキャラクタを、操作キャラクタとしてパーティ編成に組み込むことが可能な施設、洞窟等のように一定の広さを有して敵キャラクタが登場する施設(例えば、施設「ダンジョン」と称することもある)、その他の施設をユーザが地図データにおいて指定可能であるとする。これにより、よりいっそうゲームの興趣性を向上させることができる。例えば、施設「ダンジョン」をユーザが地図データにおいて設置する一定範囲を指定した場合、当該施設「ダンジョン」が設置される一定範囲にユーザが位置することで、ゲームプログラムは、ユーザに対し、施設「ダンジョン」をプレイするためのゲームパートを提供する。この施設「ダンジョン」をプレイするためのゲームパートにおいて、ゲームプログラムは、例えば、タップ操作などの入力操作に応じて、洞窟等(洞窟にかぎられず、建物などであってもよい)のゲームキャラクタが移動可能な一定範囲内においてゲームキャラクタを移動させ、敵モンスターとランダムにエンカウントさせる。そして、これら施設「ダンジョン」においては、比較的強力な敵キャラクタ(「ボスキャラクタ」と称することもある)とエンカウントする機会をユーザに提供し、ユーザが入力操作に応じてボスキャラクタを撃破すると、アイテム、当該ボスキャラクタを撃破することで発生するイベントなどの報酬をユーザに付与する。
ユーザが操作するキャラクタの職業としては、例えば、剣または拳などの攻撃を得意とする職種、魔法などによる攻撃または回復を得意とする職種、戦闘イベントに限らず様々なスキルを獲得する職種(例えば、一定範囲内にアイテム獲得可能な宝箱の有無を探知するスキル、敵キャラクタとのエンカウント率を高めるスキル、ダンジョンなどから脱出することを助けるスキルなど)などがある。ゲームキャラクタは、敵キャラクタを倒すことで獲得する経験値によるレベルアップの他に、職業ごとのレベルも設定されており、各職業についてもレベルアップ可能であるとしてもよい。例えば、各職業にレベルの上限値が設定されており、職業のレベルがアップすることで、職業に特有のスキルをゲームキャラクタが可能である(例えば、職業「戦士」や職業「格闘家」であれば、敵キャラクタに比較的大きいダメージを与えるスキル、複数の敵キャラクタを対象として攻撃することを可能とするスキルなど)としてもよい。ここで、ユーザが操作するキャラクタの職業を変更可能な施設(例えば、施設「転職場」などと称する)をユーザが地図データにおいて設置する一定範囲を指定すると、ユーザがこの一定範囲に位置することで、キャラクタの職業を変更することができ、ゲームの興趣性がいっそう向上する。ここで、職業ごとにレベルアップにより獲得したスキルは、転職後も引き継げることとしてもよい。
また、他のキャラクタをパーティ編成に組み込むことが可能な施設は、ゲームプレイが一定程度進んだことを条件として、地図データにおいてユーザが一定範囲を指定可能であるとしてもよい。また、他のキャラクタをパーティ編成に組み込むことが可能な施設が設置可能となることを契機として、ユーザに対し、他のキャラクタを獲得するためのイベント(例えば、地図データにおいて、ある地点へとユーザ自身が移動することで位置し、当該位置で、ゲームにおいてキャラクタとの戦闘イベントを行う等により、当該キャラクタをユーザが獲得可能とするもの)を設定することとしてもよい。
また、敵キャラクタとして登場するキャラクタの中には、ユーザが操作するキャラクタとして獲得可能なものを含めることとしてもよい。例えば、戦闘イベントの終了後に、敵キャラクタを仲間にすることができるか否かを抽選することとしてもよい。また、ある程度、ゲームを進行させるまでは、敵キャラクタを仲間として獲得することを制限することとしてもよい。この場合、ユーザがゲームプレイをすることで、ストーリー進行にかかわるイベントが一定程度進んだことを条件として、敵キャラクタとして登場するキャラクタをユーザが獲得可能にすること、また、敵キャラクタとして登場するキャラクタを操作キャラクタとしてパーティ編成に組み込むことが可能な施設をユーザが地図データにおいて設置する一定範囲を指定可能であるとしてもよい。このユーザが獲得した敵キャラクタは、イベントのプレイ時に、操作キャラクタとともにパーティ編成に組み込むことが可能であるとしてもよい。また、ユーザが獲得した敵キャラクタも、操作キャラクタと同様に経験値等を獲得してレベルアップ可能であり、当該敵キャラクタに固有のスキルを獲得可能(例えば、火を吐く敵キャラクタの場合は、火炎に基づく攻撃スキルなど)であるとしてもよい。また、ゲームプログラムは、このように各ユーザが獲得した敵キャラクタについて、これら敵キャラクタ同士で対戦させることが可能なゲームモードを有することとしてもよい。
また、拠点範囲指定部192Bは、地図データにおいてユーザが位置範囲を指定した指定済みの位置範囲について、一定の条件を満たした場合に、地図データにおいてどこを指定するかの再指定を受け付けることとしてもよい。ここで、一定の条件とは、例えば、ユーザが位置範囲を指定してから一定の期間(例えば、数日など)が経過すること等である。例えば、ユーザが施設「武器屋」などを地図データにおいて指定したものの、より望ましい位置範囲に再指定したい場合や、短期または長期の出張、ユーザの引っ越し等により、ユーザの移動範囲にかかわる状況が一定以上に変化する場合もあり、このような場合においてもゲームの興趣性を提供し得る。
また、拠点範囲指定部192Bは、地図データにおいて、一定期間のみ、位置範囲として指定可能であるとしてもよい。例えば、ユーザのフライト情報、出張先の情報、旅行先の情報などを含むスケジュールデータと連動して、一定期間については、既に指定済みの位置範囲を再指定可能であるとしてもよい。
イベント処理部192Cは、ユーザと、ゲームプログラム151において発生するイベント(クエストと称することもある)とを関連づけて、ユーザによるイベントのゲームプレイを進行させる。これらイベントには、ゲームに参加するすべてのユーザを対象とするもの(例えば、ユーザがゲームプレイに習熟するのを容易にするためのチュートリアルのイベント、ユーザによるストーリーの進行に伴って自動的にユーザに付与するイベントその他のイベントがある)もあれば、ユーザそれぞれにランダムに付与するイベントもある。これらイベントは、クリアの条件として、地図データにおける特定の地点にユーザが行くことが含まれるものもある。また、イベントのクリア条件としては、特定の地点にユーザが行くとともに、当該特定の地点で戦闘可能な特定のキャラクタとの戦闘イベントに勝利することなども含まれる。これらイベントには、複数のプレイヤの参加が可能なものもあり、このようなイベントでは、複数のユーザが、イベントにおいて指定された特定の地点に位置することでゲームプレイを可能とすることとしてもよい。これにより、複数のプレイヤで移動してゲームを楽しむことができ、興趣性をいっそう向上させることができる。このように複数のプレイヤでイベントをプレイすることができるものは、例えば、プレイヤが指定した他のプレイヤの参加を可能とするものと、不特定のプレイヤに対して参加を呼びかけることが可能なものとを含めることとしてもよい。例えば、ユーザが、他のキャラクタをパーティ編成に組み込むことが可能な施設(上記の施設「酒場」など)を地図データにおいて設置する一定範囲を指定している場合に、不特定のプレイヤに対して参加を呼びかけることが可能であるとしてもよい。
戦闘パート進行部192Dは、ユーザが操作するキャラクタと、敵キャラクタとが戦闘する機会が発生した場合に、戦闘パートを進行させる処理を行う。例えば、携帯端末10が、端末位置取得部193によって取得されるユーザの位置を、周期的にサーバ20へ送信し、サーバ20側で、ユーザの移動に応じて敵キャラクタとエンカウントしたとして戦闘パートを発生させることとしてもよい。ユーザが操作するキャラクタと、敵キャラクタとが戦闘する戦闘パートは、例えば、ユーザの入力操作による介入がなくとも自動で進行させることができることとしてもよい。例えば、ユーザが操作するキャラクタのゲームパラメータ(体力値、攻撃力値、守備力値、スキルを発動するためのパラメータその他のパラメータ)と、敵キャラクタのパラメータと、自動で戦闘を進行させるためユーザのキャラクタに行わせる行動の指針(攻撃重視、回復重視など、行動のパターンに応じたAI( Artificial Intelligence)制御の方針)と、敵キャラクタに戦闘を行わせるためのアルゴリズム等により、戦闘パートの勝敗を決することとしてもよい。また、戦闘イベントにおいて、敵キャラクタとの戦闘をするために、ユーザの入力操作を受け付けることとしてもよい。例えば、オートバトルで戦闘が進行している途中において、ユーザによる手動の操作をするための介入を受け付けることとしてもよい。また、ユーザの移動に応じて敵キャラクタとのエンカウントを発生させるが、戦闘をオートバトルで実行させる場合は、その戦闘結果の履歴が保存され、ユーザの入力操作に応じて戦闘結果の履歴をユーザが閲覧可能としてもよい。これにより、ユーザは、例えば携帯端末10への入力操作を行わない間においても、移動とともに敵キャラクタと戦闘イベントをこなして操作キャラクタを成長させる、戦闘イベントのゲームクリアに基づくイベントの獲得などが可能となる。また、この場合、戦闘結果の履歴において、ユーザが戦闘イベントを指定することで、再戦することが可能であるとしてもよい。例えば、戦闘イベントにおいて操作キャラクタの体力値が尽きて敗北し、操作キャラクタの経験値獲得、アイテム獲得がなされなかったものについて、ユーザが指定することで、当該戦闘イベントを再戦することができるものとしてもよい。これにより、例えば、強力な敵キャラクタに遭遇してオートバトルで敗北し、経験値等の獲得機会を逸したとしても、再戦によって挑戦することができ、ユーザの納得感をいっそう高めることができる。
また、戦闘終了後に、ユーザの入力操作を介さず自動的にユーザのキャラクタのパラメータを回復等させるための動作を行うこととしてもよい(例えば、戦闘パートで減少した体力値を回復させるための道具の使用、呪文の使用などを、戦闘パートのオートバトル後に自動で実行させることとしてもよい)。
また、戦闘イベントにより、ユーザの操作キャラクタの体力値が尽きた場合は、以降、体力値を回復させるまで敵キャラクタとのエンカウントを発生させない(敵キャラクタを撃破することによる経験値、イベント等を獲得する機会を、体力値の回復があるまで発生させない)こととしてもよい。また、この場合、操作キャラクタの体力値が尽きたとしても、体力値が尽きた時点から一定期間(例えば、数十分、数時間など)が経過することで
、体力値を一定量回復させることとしてもよい。
また、イベントによっては、複数のプレイヤが協同して敵キャラクタと戦闘することが可能なものも含まれる。このとき、戦闘パート進行部192Dは、他の味方キャラクタのゲームパラメータの増減に基づいて、戦闘パートにおける各キャラクタの動作を決定することとしてもよい。
チャット処理部192Eは、プレイヤ間でチャットを送受信する処理を行う。
地図データ取得部192Fは、携帯端末10が、サーバ20から、ゲームプログラム151の実行に伴って使用される地図データを受信する処理を行う。例えば、携帯端末10の位置情報をサーバ20へ送信することで、サーバ20から、携帯端末10の位置情報の周囲の地図データを受信することができる。
ゲーム進行処理部192は、このようにユーザによるゲームプレイに応じて、ユーザについてのゲームパラメータを更新する処理を行う。ここで、ゲーム進行処理部192は、ユーザのゲームプレイに応じて、ユーザに、ゲームにおいて特定のコマンドの実行を可能にしてもよい。例えば、敵キャラクタを撃破して経験値等のパラメータをゲームキャラクタに獲得させ、ゲームキャラクタのレベルアップに応じて、特定コマンドの実行を可能にしてもよいし、ストーリー進行にかかわるイベントの進行に応じて、特定コマンドの実行を可能にしてもよい。ゲーム進行処理部192は、特定コマンドの実行をユーザから受け付けることにより、ユーザの位置が、ユーザの指定にかかる位置範囲に含まれない場合においても、当該位置範囲にユーザの位置が含まれている場合と同様にユーザのゲームパラメータを設定可能にゲームを進行させることとしてもよい。例えば、ユーザの自宅がある地点を含むように、施設「宿屋」の位置範囲が指定されている場合に、当該位置範囲にユーザが位置していない場合においても、特定コマンド(例えば、遠隔の街等の施設へ瞬間移動することを示すコマンド)の実行をユーザから受け付けることで、当該施設から得られる効果をゲームパラメータに反映させることとしてもよい。
端末位置取得部193は、ユーザの位置を取得するための処理を行う。ユーザの位置とは、例えば、緯度経度により特定される位置情報、ユーザが位置している施設の住所の情報などである。端末位置取得部193は、例えば、ユーザの位置として、GPS測位部141の出力に基づいて、携帯端末10の緯度経度の情報を取得する。また、端末位置取得部193は、NFCなどの近距離無線通信により、他の装置と通信し、当該他の装置から、当該他の装置が設置されている位置情報を取得することとしてもよい。また、例えば、携帯端末10が、NFCに対応したICチップを内蔵する、またはICチップを搭載したデバイスと通信することが可能に構成されているとする。当該ICチップを用いて公共交通機関などの改札口を通過する際に、その乗降にかかる駅の情報がICチップに記録される場合に、これらICチップに記録される交通機関の利用状況(乗降にかかる駅の名称、乗降にかかる時間など)を携帯端末10が取得することで、ユーザの位置を取得する。また、ICチップにより通信可能な地点は、公共交通機関などに限られず、コンビニエンスストア、飲食店、家電量販店、テイクアウト型の店舗その他の販売ショップの店頭などにおいて決済端末が設置される地点も含むこととしてもよい。ICチップにより決済処理を行うことで、ユーザが、いつ、どの店舗(どの場所)で消費を行ったかが、決済処理を管理するサーバ等に蓄積される。また、ユーザがICチップに記録される電子マネーをチャージする場合は、いつ、どの場所(コンビニエンスストアの店内、駅構内など)でチャージを行ったかが、電子マネーを管理するサーバ等に蓄積される。このように、NFCなどの近距離無線通信の利用状況に基づいて、ユーザの位置を取得することができる。また、端末位置取得部193は、携帯端末10と、無線LANアクセスポイントとの通信状況に応じて、ユーザの位置を取得することとしてもよい。
カメラ配置制御部194は、仮想空間に配置される各オブジェクトを、どのようにユーザに見せるかを決定する。具体的には、カメラ配置制御部194は、制御部190がゲームプログラム151を読み込んで実行することで生成される仮想空間において、仮想カメラの配置(カメラワーク)を制御する。制御部190は、仮想空間における仮想カメラの撮影画像をディスプレイ132に表示することで、ユーザに対しゲームのプレイ環境を提供する。
オブジェクト制御部195は、携帯端末10がゲームプログラム151を実行することにより進行されるゲームに登場する各種オブジェクト、および、入力操作受付部191が受け付けたユーザの操作内容に基づいて生成される各種オブジェクト(例えば、GUI( Graphical User Interface)画面など)の生成、変形、移動などの処理を制御する。オブジェクト制御部195は、例えば、ユーザがゲームキャラクタを移動させるためのタッチスクリーン130に対する入力操作に基づいて、ゲームキャラクタの移動方向を示すオブジェクトを生成し、生成したオブジェクトを変形する。
表示制御部196は、仮想カメラのカメラワークに従った画像をディスプレイ132に出力する。表示制御部196は、仮想空間内における仮想カメラの配置に応じて、ディスプレイ132の表示内容を決定し、決定した表示内容に従う画像、テキスト等の各種の情報をディスプレイ132に出力する。
携帯端末10は、タッチスクリーン130からユーザの指が離れた状態から、ユーザが指をタッチスクリーン130に接近させて、入力操作受付部191がタッチセンシティブデバイス131にユーザの指が接近したことを検出した座標を初期タッチ位置として、ユーザがドラッグ操作を行った場合に、初期タッチ位置の座標とタッチスクリーン130の検出結果とに基づいて、ゲームキャラクタの移動方向を検出する。
図3は、サーバ20の機能的な構成を示すブロック図である。図3を参照して、サーバ20の詳細な構成を説明する。図3の図示例(A)に示すように、サーバ20は、プログラムに従って動作することにより、通信部220と、記憶部250と、制御部290としての機能を発揮する。
通信部220は、サーバ20が携帯端末10などの外部の通信機器と通信するためのインタフェースとして機能する。
記憶部250は、携帯端末10においてユーザがゲームを進行させるための各種プログラムおよびデータを記憶する。ある局面において、記憶部250は、ゲームプログラム2
51と、ゲーム情報252と、ユーザ情報253と、地図データ256とを記憶する。
ゲームプログラム251は、サーバ20が携帯端末10と通信して、携帯端末10においてゲームを進行させるためのプログラムである。ゲームプログラム251は、ゲームを進行させるための各種データであるゲーム情報252およびユーザ情報253等を参照して、ユーザの入力操作に応じてゲームを進行させる。ゲームプログラム251は、制御部290に実行されることにより、携帯端末10とデータを送受信する処理、携帯端末10のユーザが行った操作内容に応じてゲームを進行させる処理、ゲームをプレイするユーザの情報を更新する処理その他の処理をサーバ20に行わせる。
ゲーム情報252は、ゲームプログラム251が参照する各種のデータを含む。ゲーム情報252は、オブジェクト管理テーブル252Aと、パッシブスキル管理テーブル25
2Bと、アクティブスキル管理テーブル252Cとを含む。
オブジェクト管理テーブル252Aは、ゲームの仮想空間内に配置されるオブジェクトの設定を示す。携帯端末10は、ゲームプログラム151を実行することにより、仮想空間内に配置されるオブジェクトを、仮想空間内に配置される仮想カメラによって撮影した画像をディスプレイ132に表示することでゲームを進行させる。
ここで、オブジェクトとしては、例えば、ユーザが操作するゲームキャラクタを示すオブジェクト、ゲームキャラクタが装着する装着対象物を示すオブジェクト、敵キャラクタを示すオブジェクト、ゲームパラメータを更新可能な施設を示すオブジェクトなど様々なものがある。制御部190は、ユーザがタッチスクリーン130に対して予め定められた入力操作を行うこと、ゲームの進行に伴い一定の条件を満たすこと、その他の様々な事象の発生を契機として、オブジェクトに対応付けられた処理を行う。
例えば、あるオブジェクトに対してユーザがタッチスクリーン130に対して接近操作を行うことで、制御部190は、オブジェクトを、ユーザによって選択された状態とする。また、例えば、制御部190は、ユーザによるドラッグ操作を受け付けることで、ユーザが移動対象とするオブジェクトを、ユーザの入力操作に応じて移動させる等の処理を行う。また、例えば、制御部190は、ユーザがオブジェクトに対して行うタッチ操作を受け付けることで、ユーザに対し、ゲームを有利に進めるための報酬を付与する等の処理を行う。
パッシブスキル管理テーブル252Bは、オブジェクトを識別する情報と、オブジェクトに対応付けられたパッシブスキルの情報とが対応付けられている。ここで、パッシブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動され、ユーザがゲームを有利に進行させることができるものである。例えば、パッシブスキルが発動した場合に、ゲームキャラクタの移動速度が向上する等の、ゲームを有利に進行させられる効果を発揮させる。
アクティブスキル管理テーブル252Cは、オブジェクトを識別する情報と、オブジェクトに対応付けられたアクティブスキルの情報とが対応付けられている。ここで、アクティブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動可能な状態となり、ユーザから、スキルを発動させるための入力操作を受け付けることにより、ユーザがゲームを有利に進行させることができるものである。
ユーザ情報253は、ゲームをプレイするユーザについての情報である。ユーザ情報253は、ゲームパラメータ253Aを含む。ゲームパラメータ253Aは、各ユーザを識別する情報と、各ユーザが地図データにおいていずれの範囲を指定しているかを示す情報(地図データのどこに街を設置すると指定したか等)と、ユーザがゲームにおけるストーリー進行にかかわる特定のイベントを進行させた度合いを示す情報と、ユーザがゲーム内で保有するアイテム、ゲームキャラクタ、ゲームキャラクタが使用する装着物等の情報その他の情報を含む。
地図データ256は、サーバ20が、地図データを配信する外部のサーバと通信することで記憶部250に蓄積させている地図情報をもとに、ゲームプログラム251の実行時に使用する地図データを生成したものである。
制御部290は、記憶部250に記憶されるゲームプログラム251を実行することにより、送受信部291、サーバ処理部292、データ管理部293としての機能を発揮する。
送受信部291は、ゲームプログラム151を実行する携帯端末10から、各種情報を受信し、携帯端末10に対し、各種情報を送信する。サーバ20は、携帯端末10からユーザの位置を示す情報を受信する、受信したユーザの位置を示す情報に基づいて地図データのうちユーザの位置の周囲を含むデータを携帯端末10へ送信する、ユーザの位置を示す情報に基づいてランダムエンカウントする敵キャラクタを発生させる、発生させた敵キャラクタの情報を携帯端末10へ送信する、などの各種の情報を携帯端末10との間で送受信する。
サーバ処理部292は、サーバ20全体の動作を制御し、各種のプログラムを呼び出す等によりゲームの進行に必要な処理を行う。サーバ処理部292は、例えば、携帯端末10から受信した情報に基づいて、ゲーム情報252、ユーザ情報253などのデータを更新し、携帯端末10に各種データを送信することでゲームを進行させる。
データ管理部293は、サーバ処理部292の処理結果に従って、記憶部250に記憶される各種データを更新する処理、データベースにレコードを追加/更新/削除する処理などを行う。
図3の図示例(B)に、サーバ処理部292の機能的な構成の詳細を示す。図示するように、サーバ処理部292は、位置登録受付部292A、ゲームデータ送信部292B、拠点範囲設定部292Cおよびイベント設定部292Dの各種の処理を行う。
位置登録受付部292Aは、ゲームにおいてユーザがいつどこに位置していたかの情報をデータベースに登録する。携帯端末10から送信されるユーザの位置の情報を受信した受信結果を、それぞれのユーザと対応付けて記憶部250に登録する。
ゲームデータ送信部292Bは、ユーザの位置に応じて発生させる各種のゲーム進行に伴うゲームデータを、ユーザそれぞれの携帯端末10へ送信する。
拠点範囲設定部292Cは、ユーザが地図データにおいて、ゲームにおける仮想の施設を設置すると指定した範囲の情報を携帯端末10から受け付けてデータベースに登録する
。
イベント設定部292Dは、ユーザの位置の情報の登録状況、ユーザによるクエストのプレイ状況その他の情報に基づいて、ユーザにイベントを付与するか否か、付与する場合はどのようなイベントを付与するかの処理を行う。例えば、イベント設定部292Dは、逐次、携帯端末10から送信されるユーザの位置の情報に基づいて、ランダムエンカウントさせる敵キャラクタを地図データと対応付けて携帯端末10へ送信する処理、ユーザが敵キャラクタを戦闘パートにおいて撃破することで報酬としてイベントを獲得する場合に、そのイベントの内容を決定する処理(イベント内容とは、例えば、ユーザがイベントを獲得した地点から一定距離以内の所定の建物に行くことなどである。この場合、ユーザがイベントを獲得した地点に応じて、イベントにおいてユーザが行先の目標とする地点が設定される)。このように、サーバ20は、ゲームにおいて使用される地図データにおいて、敵キャラクタと戦闘する戦闘イベントを発生させる位置と、位置登録受付部292Aにより登録されるユーザの位置とが一定の位置関係にある場合(一定距離以下にある等)に、ユーザに対して、戦闘イベントを発生させる。イベント設定部292Dは、ユーザの操作に基づき戦闘イベントが進行した結果、ユーザに対し、例えばイベントの発生確率に基づいてイベントを付与する(ユーザは、戦闘イベントが終了した時に、何らかのイベントを獲得できることがある)。ここで、戦闘イベントのプレイによりユーザに関連付けられるイベントは、ストーリーの進行にかかわるイベントが含まれていてもよい。こうすることで、例えば、ユーザは、日常の移動圏内でゲームプレイをし、戦闘イベントにおいて敵キャラクタを撃破することで経験値等をゲームキャラクタに獲得させ、ゲームキャラクタの成長等から興趣性を感じつつ、ストーリー進行にかかわるイベントを獲得することもできる。これにより、ユーザに対し、移動をしつつ、ゲームにおいては冒険などのストーリーの主人公としてゲームプレイをしているという興趣性を提供し得る。
また、イベント設定部292Dは、ユーザにイベントを付与する場合に、当該イベントを付与する際のユーザの位置の情報に基づいて、当該付与するイベントにおける目標地点を設定することとしてもよい。ここで、サーバ20は、予め、地図データにおいて、イベントにおいて目標地点とする候補をデータベースとして保持している。例えば、地域にかかわらず存在する可能性が高いものを、目標地点の候補としてもよい。このような目標地点の候補としては、各市町村に存在する可能性が高い公共施設(市役所、町役場、学校、公園)、交通機関(駅)などがある。イベント設定部292Dは、例えばユーザが戦闘イベントをゲームクリアしたこと等を契機としてイベントを付与する際に、ユーザの位置に基づいて目標地点を選択し、選択した目標地点を含むイベントをユーザに付与する。また、イベント設定部292Dは、ユーザにイベントを付与する場合に、当該イベントの難易度、当該イベントが発生する確率(レアリティ)に基づいて、ユーザの位置に基づく複数の目標地点の候補の中からイベントに含める目標地点を決定することとしてもよい。例えば、難易度が低いイベント(イベントにおいて撃破の対象とする敵キャラクタのレベルが比較的低い等)は、ユーザの位置から比較的近い位置にある目標地点を選択することとしてもよい。また、例えば、イベントが発生する確率が比較的低く設定されているレアリティの高いイベント(特別なボスキャラクタを撃破するイベントなど)については、ユーザの位置に基づく目標地点の候補の中から比較的遠い位置にある目標地点を選択することとしてもよい。イベントの内容としては、例えば、地図データにおいて特定の地点に行くことで特定の敵キャラクタと戦闘をするもの(例えば、ランドマーク的な建築物においてボスキャラクタが登場したので、当該ランドマーク的な建築物へとユーザが移動して当該ボスキャラクタと戦闘して勝利することをゲームクリアの条件とする者)、地図データにおいて特定の地点に発生させた迷宮(ダンジョン)をプレイするもの、地図データにおいて特定の地点に特定のキャラクタが登場したことを示すもの(例えば、ユーザの位置から遠方の位置にレアリティの高いキャラクタが存在し、当該位置へとユーザが移動することでキャラクタを獲得可能とする)などがある。これらの場合、例えば携帯端末10は、イベントをプレイするユーザの位置を端末位置取得部193等によって取得し、取得したユーザの位置を参照することで、イベントにおいて指定されている目標地点にユーザが位置しているか否かを判断し、目標地点にユーザが位置していないと判断する場合は当該イベントのプレイを不可とし、目標地点にユーザが位置していると判断する場合に当該イベントのプレイを可能とする。
また、イベント設定部292Dは、イベントにおいて、複数のイベント(イベントに含まれる複数のイベントのそれぞれを「サブクエスト」と称することもある)を含むものをユーザに付与することとしてもよい。ゲームプログラムにおいて、これら一連のサブクエストをユーザがゲームクリアすることで、イベントをゲームクリアとすることとしてもよい。ここで、ゲームプログラムは、ユーザに対し、ユーザがイベントをゲームプレイした当初はイベントに含まれるすべてのサブクエストを閲覧可能とはせず一部のサブクエストの閲覧を可能とし、サブクエストを進行させることで、プレイ可能なサブクエストを次々とユーザに提示することとしてもよい。これらサブクエストは、それぞれ目標地点を含んでおり、ユーザは、イベントに含まれるサブクエストの目標地点に順次移動してそれぞれのサブクエストをゲームクリアすることで、イベントをプレイする。
また、ゲームプログラムにおいて、あるイベントと、別のイベントとを連結してユーザに提示することとしてもよい。この場合、ゲームプログラムは、あるイベントに含まれるサブクエストをユーザがゲームクリアすると、別のイベント(複数のサブクエストを含む
)が登場するように演出することとしてもよい。
<実施の形態1の構成のまとめ>
以上のように、実施の形態のゲーム配信システム1の構成を説明してきた。本実施形態において、ゲームプログラム151は、例えば、携帯端末10の位置情報などに基づいて地図データにおけるユーザの位置を特定し、特定した位置に応じてゲームを進行させるロールプレイングゲームその他のゲームである。
通常のロールプレイングゲームの場合、フィールドマップをプレイヤーキャラクタに移動させ、ゲームにおける城や街など様々な施設でイベントを発生させ、武器防具などの装備アイテム、道具アイテムなどをプレイヤに入手可能とする。道具アイテムとしては、例えば、体力パラメータを回復させるもの(例えば、薬草など)、呪文、魔法等の様々なスキルを発動する際に消費されるゲームポイントを回復させるアイテム、街から街へと移動させる効果を発揮するアイテム、迷宮などの入り口へと復帰させる効果を発揮するアイテム、プレイヤーキャラクタの状態異常(毒状態、マヒ状態、呪い状態その他の状態異常)を回復させるアイテム、敵キャラクタとのエンカウント率を制御する(エンカウント率を下げる、または、エンカウント率を高める)アイテム、フィールドにおいてゲームパラメータを変更させるエリアにプレイヤーキャラクタを移動させたとしてもゲームパラメータの変更を無効化するアイテム(例えば、毒の沼地やバリア地帯といった、プレイヤーキャラクタの体力値を減少させるエリアに移動したとしても体力値の減少を免れさせるアイテム)など様々なものがある。また、通常のロールプレイングゲームの場合、プレイヤーキャラクタの移動手段を拡張する要素もある。プレイヤーキャラクタの移動手段を拡張する要素としては、プレイヤーキャラクタが歩行では移動できないエリア(例えば、海、高山など)を、乗り物(ゲームにおいて船、飛行船などを登場させる)などの移動手段により移動可能とする要素がある。また、通常のロールプレイングゲームの場合、プレイヤーキャラクタが移動可能なエリアを、所定のアイテムを入手することで可能とするものもある。例えば、カギなどの特別なアイテムを入手することで、プレイヤーキャラクタが移動可能なエリアを広げるものや、ゲーム中のイベントの進行に応じて、門番が道を開けて新たなエリアへの移動を可能とするものがある。
本実施形態においては、携帯端末10の位置情報などユーザの位置に応じてゲームを進行させる。例えば、ゲームプログラムは、ユーザの位置に応じて敵キャラクタとのエンカウントを発生させる。また、ゲームプログラムは、例えば、ユーザが地図データにおいてゲームパラメータを設定可能な仮想の施設を指定した位置にユーザが移動した場合に、その施設で設定可能なゲームパラメータを当該ユーザに設定する(ユーザが宿屋を設置すると指定した位置にユーザが移動することで、プレイヤーキャラクタの体力が回復する等)。ゲームプログラムは、例えば、ユーザに対し、ゲームの進行に応じて様々なイベントを獲得させるが、これらイベントには、地図データにおいて特定の地点、施設などにユーザが行き、ボスキャラクタを倒す、アイテムを取得するなどの操作を行うことでゲームを進行させるものがあり、これらイベントにおいて示される位置にユーザが移動することで、ゲームパラメータを当該ユーザに設定する。
このように、ユーザがゲームにおける施設を設置する位置範囲を地図データにおいてユーザが指定することで、例えば、日常生活におけるユーザに行動範囲に基づいてゲームを進行させることができ、日々の日常生活において移動をすることが、ゲームプログラムによって興趣性が高められることとなる。
<データ構造>
図4から図7を参照して、ゲームプログラム251またはゲームプログラム151を実行する装置で使用するデータのデータ構造を説明する。
図4は、サーバ20が、ユーザ情報253として、各ユーザが、地図データにおいて指定した位置範囲を管理するためのテーブルのデータ構造を示す図である。
図4に示すように、ユーザ情報253は、地図データにおいてユーザが指定した位置範囲を管理するための拠点範囲管理テーブルを含む。拠点範囲管理テーブルは、各項目として、各ユーザを識別する情報と、ユーザがゲームプログラムで使用する地図データにおいて指定した位置範囲を示す情報と、ユーザが指定した位置範囲の属性を示す情報と、ユーザが位置範囲を指定した日時を示す情報とを含む。このように、ユーザごとに、地図データにおいて指定している位置範囲が異なることとなる。位置範囲には、それぞれ属性を対応付けてユーザが指定するため、ユーザ自身が、属性に対応する施設を地図データにおいて設置することができる。このように、ロールプレイングゲームにおける街をユーザ自身が地図データに設置することで作り上げる感覚をユーザに提供することができる。また、各ユーザが地図データにおいて位置範囲を指定した日時を拠点範囲管理テーブルにおいて保持しているため、例えば、ユーザが位置範囲を指定してから一定期間が経過した場合に、既に指定済みの位置範囲について、地図データのどこに位置範囲を指定するかの再指定をサーバ20がユーザから受け付けることができる。また、位置範囲において、複数の施設を設定することが可能としてもよい(いわば、複数の施設を含む拠点(城、街など)を地図データにおいてユーザが指定する)。
図5は、サーバ20が、ユーザ情報253として、各ユーザがゲームを進行させている進行状況を管理するためのテーブルのデータ構造を示す図である。
図5に示すように、ユーザ情報253は、各ユーザがゲームを進行させている進行状況を示すゲーム進行状況管理テーブルを含む。ゲーム進行状況管理テーブルは、各項目として、各ユーザを識別する情報と、各ユーザの操作キャラクタの経験値パラメータを示す情報と、各ユーザがストーリー進行にかかわるイベントをプレイした履歴を示すストーリーレベルの情報と、各ユーザに付与されているイベントを示す情報と、各ユーザがゲームプレイで獲得したゲーム内の通貨保有量パラメータを示す資金情報と、各ユーザがゲームにおいて保有しているアイテムを示す情報と、各ユーザがゲームキャラクタのうちパーティとして編成可能なキャラクタを示す情報と、各ユーザが敵キャラクタのうちパーティとして編成可能なキャラクタを示す情報とを含む。
ここで、各ユーザについてサーバ20が関連付けられるイベントの数は、上限数があることとしてもよい。このように、ユーザごとに、プレイ可能なイベント数の上限があり、イベントをクリアしない限り、新たにイベントが付与されないこととしてもよい。また、これら各ユーザが保有可能なイベント数の上限数は、例えば、保有可能なイベントの上限数を拡大するためのユーザの入力操作を受け付けて、入力操作に応じて拡大することが可能であるとしてもよい。例えば、ユーザが保有可能なイベントに上限数がある場合に、他のユーザと協同でプレイ可能なイベントをユーザが温存しつつ、ユーザ単独でプレイ可能なイベントを次々とプレイしていく場合に、保有可能なイベントの上限数が多いほどユーザの利便性が向上する。
ここで、ユーザの操作キャラクタの経験値パラメータを示す情報は、各ユーザがクエストをクリアする等により獲得した経験値の累計値、および、当該経験値の累計値により定まるレベル値とを含む。例えば、ユーザが一定のレベルに達する都度、ユーザがプレイ可能な項目(例えば、一定レベル以上であればプレイ可能なクエスト、一定レベル以上であれば使用可能なシステム、アイテムなど)を含むこととしてもよい。また、例えば、経験値の累計が一定の閾値を超える都度、ユーザのレベルが上昇する。
各ユーザがゲームキャラクタのうちパーティとして編成可能なキャラクタを示す情報について説明する。ゲームプログラム251は、ユーザに対し、複数のゲームキャラクタを提供しており、ユーザがクエストを進行させる、ユーザが抽選をするための入力操作をすることで抽選の結果としてゲームキャラクタを獲得する、その他の処理により、ユーザが使用可能なキャラクタのリストを更新する。なお、ユーザが使用可能なキャラクタのうち
、任意のゲームキャラクタを特定したパーティ編成を保持することとしてもよい。
また、ゲーム進行状況管理テーブルにおいて、各ユーザと対応付けて、各ユーザが保有している仮想通貨の保有量を管理することとしてもよい。仮想通貨は、例えば、ゲーム内で消費されるアイテムを入手するため、抽選を行うためその他の操作を行うために使用することができる。ゲーム進行処理部192は、仮想通貨を使用してアイテムを購入する、抽選を行う等の入力操作を受け付けて、仮想通貨の保有量を変動させる。ここで、ゲームプログラム251は、仮想通貨を有償でユーザに提供した量と、無償でユーザに提供した量とをそれぞれ管理することとしてもよい。これら仮想通貨には、使用可能な有効期限(例えば、有償の仮想通貨について、仮想通貨の購入時点から6か月以内など)を設定することとしてもよい。
各ユーザがゲームにおいて保有しているアイテムを示す情報は、キャラクタと関連づけられるアイテムとして、キャラクタに装備させることが可能なアイテムを示す。キャラクタに装備させることが可能なアイテムとは、例えば、キャラクタに装備させることが可能な武器、防具、アクセサリその他のアイテムである。これらキャラクタが装備可能なアイテムは、クエストの進行、抽選、その他の処理によって、ユーザに付与される。また、これら保有しているアイテムを示す情報は、ユーザがゲームプレイ時に使用することで、ゲームプレイ時に一定の効果を発揮させるアイテムを示す。これらアイテムは、ユーザが使用するための入力操作をすることで消費される。ゲームプレイ時に一定の効果を発揮させるアイテムとは、例えば、アイテムの使用開始から一定時間(例えば30分間)、クエストのクリア時等に獲得される経験値、キャラクタを成長させるために消費されるアイテム等の獲得量が一定以上増加するもの(例えば、獲得量が2倍以上となる)などがある。
図6は、サーバ20が、ゲーム情報252として、ユーザに付与する対象のイベントを管理するためのテーブルである。
図6に示すように、ゲーム情報252は、ユーザに付与する対象のイベントを管理するイベント管理テーブルを含む。イベント管理テーブルは、それぞれのイベントを識別する情報と、イベントにおいてユーザが移動するよう指定されている目的地(目標地点)を示す情報と、イベントの内容を示す情報(特定の敵キャラクタとの戦闘イベント、特定のゲームキャラクタと接触するイベント、ダンジョン等のゲームクリアを内容とするイベント、特定のアイテムが入手可能であるイベントその他のイベントを含む)と、イベントの有効期限を示す情報と、ユーザがイベントを獲得した(サーバ20がユーザにイベントを設定した)日時および場所(地点)を示す情報と、ユーザがイベントをゲームクリアした日時を示す情報と、イベントに参加したプレイヤを示す情報(複数のプレイヤが参加可能なイベント)とを含む。
ここで、それぞれのイベントを識別する情報は、各イベントが、ストーリーの進行にかかわるイベントであるか、ストーリー進行にかかわらないイベントであるかを区別可能に構成されていてもよい。
図7は、サーバ20が、ゲーム情報252として、イベントにおいて目的地として設定する候補を管理するための目的地候補管理テーブルを示す。
図7に示すように、目的地候補管理テーブルは、目的地候補を識別する情報と、イベントにおいて候補となる目的地の位置情報と、目的地の候補の特性(例えば、目的地の候補の特性として、施設の種別、場所の種別その他の情報を含む。例えば、目的地の候補となる施設として、公共施設(市役所、学校、公園)などがある。また、例えば、目的地の場所の種別として、観光名所などがある)を示す情報と、イベントにおいて目的地として決定される可能性の高低(レアリティ)を示す情報とを含む。例えば、イベントにおいて目的地として設定される可能性が高いものは、ユーザが移動する可能性が高くなる。そのため、サーバ20は、例えば、施設によっては、ユーザが来訪する可能性を高めるために、施設からの申出等に応答して、イベントにおいて目的地として決定される可能性を高めることとしてもよい。これにより、スポンサーとなることを希望する施設がイベントにおいて目的地として決定される可能性を高めることができる。また、サーバ20は、ユーザが来訪する可能性を低くするために、施設等からの申出等に応答して、イベントにおいて目的地として決定される可能性を低くすることとしてもよい。これにより、例えば、人の流入量を適切な水準としたい施設については、目的地として決定される可能性を低くすることができる。このように、目的地の候補がイベントにおいて目的地として決定される可能性を調整することで、プレイヤの移動の予測に役立てることができる。
<動作>
以下、本実施の形態における携帯端末10およびサーバ20の動作について説明する。
携帯端末10のゲーム進行処理部192は、端末位置取得部193によりユーザの位置を逐次取得し、取得したユーザの位置をサーバ20へ送信する。
サーバ20のサーバ処理部292は、各ユーザの位置を携帯端末10等から受信し、受信したユーザの位置に応じて、敵キャラクタとのランダムエンカウント、イベントの付与などの処理を行うとともに、ユーザの位置に応じた各処理の結果およびユーザの位置に応じた地図データを携帯端末10へ送信する。こうすることで、各ユーザの端末では、ユーザの位置に応じて地図データが逐次更新されるとともに、ユーザの位置に応じてイベント発生などの処理を行う。
(1)ユーザがゲーム内の施設を地図データにおいて配置する位置範囲を指定することで、ゲームにおける街づくり(拠点づくり)を進行させる処理
携帯端末10のゲーム進行処理部192は、ユーザが地図データにおいてゲームの施設を設置する位置範囲の指定を受け付けるための画面をタッチスクリーン130に表示する
。
ゲーム進行処理部192は、タッチスクリーン130への入力操作をユーザから受け付けて、ユーザが地図データにおいて設置するゲームの施設の属性の指定(例えば、施設「宿屋」を設置する等の指定)と、施設を設置する位置範囲(例えば、地図データにおいて自宅の位置を含む一定範囲を指定する)との入力を受け付ける。ゲーム進行処理部192は、このとき、既にユーザがゲームの施設を設置すると地図データにおいて指定している位置範囲の情報を地図データとともにタッチスクリーン130に表示する。ゲーム進行処理部192は、ユーザから、ゲームの施設を設置する位置範囲の指定を受け付ける際に、既にユーザが設置している施設の位置範囲から一定間隔があいていない場合は、施設の設置ができないことを示す表示と、既にユーザが設置している施設の位置範囲から一定間隔をあけて新たに施設を設置する位置範囲を指定することを促す表示とをタッチスクリーン
130に行う。
ゲーム進行処理部は、ユーザから受け付けた施設の属性の指定、および、施設を地図データにおいて設置すると指定する位置範囲の情報をサーバ20へ送信する。
サーバ20のサーバ処理部292は、携帯端末10から、ユーザが地図データにおいてゲームの施設を設置すると指定した位置範囲の情報および施設の属性の情報とを受信し、受信した情報に基づき拠点範囲管理テーブルを更新する。サーバ20は、このとき、ユーザが地図データにおいて位置範囲を指定するタイミング(日時)の情報もデータベースに登録する。
ゲーム進行処理部192は、ユーザがゲームを進行させ、ストーリーの進行状況に応じて、ユーザが設置可能な施設の属性が拡大した場合に、その旨をタッチスクリーン130に表示して、施設を設置する位置範囲の指定を地図データにおいて受け付けることとしてもよい。こうすることで、ユーザは、ゲームパラメータを更新するために、移動範囲を徐々に広げることとなり、ゲームの興趣性がいっそう向上する。
(2)ユーザが指定した位置範囲へとユーザが移動することで、当該指定した位置範囲に基づくゲームパラメータの設定をする処理
携帯端末10のゲーム進行処理部192は、タッチスクリーン130に、地図データとともに、ユーザが地図データにおいてゲームの施設を設置すると指定した位置範囲と、端末位置取得部193により取得されるユーザの位置とを表示する。
ゲーム進行処理部192は、ユーザの位置と、ユーザが指定した位置範囲とを比較して、ユーザの位置と、ユーザが指定した位置範囲との位置関係が一定の関係であるか(ユーザが指定した位置範囲の近くにユーザが位置しているか)を判定する。例えば、ゲーム進行処理部192は、ユーザが指定した位置範囲に含まれるか否かを判定する(または、ユーザの位置から一定範囲内に、ユーザが指定した位置範囲が含まれるか否かを判定することとしてもよい)。ゲーム進行処理部192は、ユーザの位置が、ユーザが指定した位置範囲に含まれない場合は、当該位置範囲に対応する施設からのゲームパラメータの設定(例えば、施設「道具屋」であれば、アイテムの購入を可能にする、施設「宿屋」であれば
、ユーザが操作するキャラクタの体力値等を回復させる等)を不可とし、ユーザの位置が、ユーザが指定した位置範囲に含まれる場合は、これら位置範囲に対応するゲームの施設からのゲームパラメータの設定を可能とする。
携帯端末10は、ユーザが、ユーザが指定した位置範囲へと移動することでゲームパラメータを設定する入力操作をした場合に、当該ユーザの入力操作の内容に応じて設定されたゲームパラメータの設定内容をサーバ20へ送信する。サーバ20は、携帯端末10から受信した情報に基づいて、ゲーム情報252、ユーザ情報253の各種データベースを更新する(例えば、ユーザが、アイテムを購入した場合は、ユーザがゲームを進行させている状況を管理する情報において、当該ユーザと対応付けてアイテムを保持していることを示す情報をデータベースとして更新する)。
(3)ユーザがイベントを獲得した位置に応じて、イベントにおいて目的地とする地点をサーバ20が決定する処理
サーバ20は、ユーザの位置に応じて敵キャラクタとのランダムエンカウントを発生させ、敵キャラクタとの戦闘イベントをゲームクリアすること等により、ユーザに対し、イベントを付与する。(なお、地図データに示される各地点において、敵キャラクタとのエンカウント率がそれぞれ異なることとしてもよい。例えば、ある地域では敵キャラクタとのエンカウントが発生しにくい等としてもよい)
サーバ20のサーバ処理部292は、ユーザに対し、イベントを付与する処理を行う場合に、携帯端末10から受信して保持するユーザの位置の情報を参照し、当該ユーザの位置の情報から一定距離以内にある目的地の候補を、目的地候補テーブルから抽出する。
サーバ処理部292は、ユーザに対して付与するイベントのレアリティを決定し、レアリティに応じて、ユーザに付与するイベントの目的地を抽選により決定する。サーバ処理部292は、抽選により決定した目的地を含むイベントを生成し、ユーザがゲームを進行させている進行状況を示すゲーム進行状況管理テーブルを更新するとともに、生成したイベントの情報を携帯端末10へ送信する。
以上のように各実施形態のゲーム配信システムを構成する携帯端末10およびサーバ20の動作について説明してきたが、携帯端末10で行われる各処理をサーバ20で行うこととしてもよいし、サーバ20で行われる処理を携帯端末10で行うこととしてもよい。
例えば、携帯端末10は、タッチスクリーン130に対するユーザの入力操作を受け付けて、受け付けた操作内容をサーバ20へ送信する。サーバ20は、ユーザの入力操作を携帯端末10から受け付けて、ゲームを進行させるための各処理を行い、仮想カメラの配置に基づいて携帯端末10に表示させるための表示画面を生成し、生成した表示画面を、逐次、携帯端末10に表示する。このように、ゲームを進行させるための処理の大部分をサーバ20が担うこととしてもよい。また、ゲームを進行させるための処理の大部分を携帯端末10が担うこととしてもよい。
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。