【実施例1】
【0017】
まず、実施例1について説明する。
図1は、本発明の実施例1にかかるゲームのプログラムが実行されるモバイル端末を含むネットワークシステムを示す図である。
図1に示されるように、ネットワークシステムは、第1モバイル端末10a〜第3モバイル端末10cと、第1基地局20a〜第3基地局20cと、ネットワーク30と、サーバ装置40と、PC端末50とを含んで構成される。
【0018】
なお、図示の都合上、モバイル端末10及び基地局20は共に3台のみ図示したが、これにかぎらず、任意の数のモバイル端末10及び基地局20がネットワークシステムに含まれてもよい。PC端末50についても同様に、任意の数、ネットワークシステムに含まれてもよい。また、第1モバイル端末10a〜第3モバイル端末10cは、それぞれ異なる基地局20にそれぞれ接続されるとして図示しているが、これにかぎらず、1つの基地局20に複数のモバイル端末10が接続されていても、本発明が適用可能であることは言うまでもない。
【0019】
サーバ装置40は、記憶装置を含んでおり、この記憶装置にゲームプログラムが記憶される。サーバ装置40は、モバイル端末10の要求に応じて、ネットワーク30及び基地局20を介して、このモバイル端末10に対してゲームプログラムを図示しない配信部により配信することができる。
【0020】
モバイル端末10は、ユーザの操作によって、上記のようにゲームプログラムをサーバ装置40から受信し、モバイル端末10の記憶装置に記憶させる。モバイル端末10では、ユーザの操作に応じてこのゲームプログラムが実行される。
【0021】
図2は、モバイル端末10の外観例を示す図である。モバイル端末10は、操作入力部としてキー110とタッチパネル120とを含む。モバイル端末10はさらに、音声を出力するスピーカー(図示せず)をさらに備えてもよい。
【0022】
図3は、モバイル端末10の構成例を示す図である。モバイル端末10は、上記のキー110及びタッチパネル120に加え、キー操作検出部111及び制御部200をさらに含んで構成される。
【0023】
タッチパネル120は、画像を表示する機能を有する表示部121、及びユーザによる接触を検出するタッチ操作検出部122を含む。表示部121は、液晶ディスプレイ(LCD)または有機ELディスプレイなどで構成され、制御部200の制御に応じて所定の画像をユーザが視認可能な状態で表示する。タッチ操作検出部122は、ユーザによるタッチパネル120に対する接触または近接を検出し、検出されたユーザによる指示具(指またはタッチペンなど)の接触または近接に関する情報を制御部200に出力する。
【0024】
キー110は、ユーザにより押下可能に形成される。キー操作検出部111は、キー110が押下されたことを検出し、検出結果を制御部200に出力する。なお、モバイル端末10は、キー110、キー操作検出部111を備えなくてもよく、この場合、タッチパネル120に対するユーザのタップ操作により、代替的に同様の処理がなされることとなる。
【0025】
制御部200は、表示制御部210、フィールド生成部220、フィールド編集制御部230、敵キャラクタ制御部240、味方キャラクタ制御部250、パラメータ管理部260、テーブル記憶部270を含む。制御部200は、タッチ操作検出部122またはキー操作検出部111により検出されたユーザによる操作に応じて、所定の処理を実行する。具体的な処理については後述する。
【0026】
表示制御部210は、制御部200に含まれる各要素におけるプログラムの実行結果に応じた画像を表示部121に表示するよう制御する。具体的には、表示制御部210は、プログラムの実行結果に基づいて、少なくとも後述の初期フィールド及びゲームフィールドの状態を表示部121に逐次表示させる。
【0027】
フィールド生成部220は、ユーザによりゲームのプログラムが実行されたときに、格子状に配置されたブロックを含む初期フィールドを生成する。これらのブロックのそれぞれには、味方キャラクタが隠れている1以上の特殊ブロックと、通常のブロックが含まれる。特殊ブロックには、落とし穴などの地形が隠されたものを含んでもよい。
【0028】
フィールド編集制御部230は、上記フィールド生成部220による初期フィールドが生成された後に、ユーザの操作に基づくゲームフィールドの編集を実行する。具体的には、フィールド編集制御部230は、ユーザがタッチしたタッチパネル120の位置に対応したフィールド上のブロックを通路に変更する。また、特殊ブロックをタップした場合、特殊ブロックに関連付けられた味方キャラクタ及び地形をフィールド上に登場させる処理を行う。ここで登場される味方キャラクタは、後述のテーブル記憶部270に記憶された味方キャラクタデータベースにより示されるパラメータを有する。最後に、フィールド編集制御部230は、ユーザの指示により、フィールド上の通路のうちのいずれかの箇所を敵キャラクタの最終目的地として指定して、フィールドの編集を終了する。
【0029】
敵キャラクタ制御部240は、上記フィールド編集制御部230によるフィールドの編集が終了した後、フィールド上に1以上の敵キャラクタを登場させ、所定のアルゴリズムに基づいてそれぞれの敵キャラクタを移動させるよう制御する。敵キャラクタ制御部240は、それぞれの敵キャラクタが通ったフィールド上の箇所に足跡が残るよう処理する。それぞれの敵キャラクタは、後述のテーブル記憶部270に記憶された敵キャラクタデータベースにより示されるパラメータを有する。
【0030】
敵キャラクタ制御部240は、フィールド上の敵キャラクタの移動に合わせてパラメータを変化させる。具体的には後述するが、敵キャラクタ制御部240は例えば以下のような処理を行う。敵キャラクタ制御部240は、敵キャラクタが通路を移動する度、及び通路の分岐または行き止まりに遭遇したときに体力値を減少させるよう処理する。すなわち、敵キャラクタが分岐または行き止まりに到達したときには、一本道を移動しているときよりも多くの体力値が減少する。また、体力値の所定の値を下回るたびに、味方キャラクタから攻撃された際の体力値が減少するときの減少幅が大きくなる。ここでの分岐とは、例えば通路のT字路または十字路などのように、敵キャラクタの移動可能通路としての選択肢が複数ある状態を含む。また、行き止まりとは、来た道をそのまま戻る以外に移動可能通路としての選択肢がない状態を含む。なお、敵キャラクタ制御部240は、敵キャラクタが通路の分岐に到達したときに、体力値とは別に設定されたパラメータである気力値を減少させるよう処理してもよい。この場合、気力値が少ないほど、味方キャラクタから攻撃された際の体力値の減少幅が大きくなるようにしてもよい。
【0031】
また、敵キャラクタ制御部240は、敵キャラクタが味方キャラクタとゲームフィールド上で接触したときに所定のバトル処理を行い、その結果に応じて体力値を減少させるよう処理する。このバトル処理は、敵キャラクタの攻撃力及び防御力と、味方キャラクタの攻撃力、防御力及び体力とに基づく所定の演算により行われる。
【0032】
味方キャラクタ制御部250は、上記フィールド編集制御部230によるフィールド御編集が終了した後、フィールド上の味方キャラクタを所定のアルゴリズムに基づいて移動させるよう制御する。また、味方キャラクタ制御部250は、ユーザによる味方キャラクタのタッチ(タップ)が検出されたとき、この味方キャラクタの関連付けられた所定の攻撃アクションを実行するよう制御する。
【0033】
パラメータ管理部260は、敵キャラクタ及び味方キャラクタのそれぞれの体力値、攻撃力、防御力、及び移動アルゴリズム、並びに敵キャラクタの気力値を含むパラメータを管理し、敵キャラクタ制御部240及び味方キャラクタ制御部250での処理に基づいて、体力値及び気力値を増減させる処理を行う。
【0034】
テーブル記憶部270は、上記のような敵キャラクタデータベース、味方キャラクタデータベース、及び気力値に応じたダメージ補正に関するテーブルなどを記憶する。
【0035】
図4は、敵キャラクタデータベースのテーブルの一例である。
図4に示されるように、敵キャラクタデータベースとして、敵キャラクタoc001〜oc005のそれぞれに対応する体力値、攻撃力、防御力、及び移動アルゴリズムがテーブル記憶部270に記憶される。移動アルゴリズムは、例えば進行方向に対して左側の壁に沿って移動する、右側の壁に沿って移動する、ゲームフィールドの初期の位置から順に漏れが無いよう移動する、またはフィールドの最も深い位置に対して最短ルートで移動した後に初期の位置に戻りつつ枝分かれした道を順に探索する、などのアルゴリズムが考えられる。
【0036】
図5は、味方キャラクタデータベースのテーブルの一例である。
図5に示されるように、味方キャラクタデータベースとして、味方キャラクタpc001〜pc005のそれぞれに対応する体力値、攻撃力、防御力、及び移動アルゴリズムがテーブル記憶部270に記憶される。移動アルゴリズムは、前述の例と同様であってもよい。
【0037】
図6は、体力値に応じたダメージ補正に関するテーブルの一例である。
図6に示されるように、敵キャラクタの体力値レベルと、その体力値レベルの状態におけるダメージ補正とが対応付けられてテーブル記憶部270に記憶される。体力値レベルとは、体力値の最大値からの減少割合により定義され、たとえば、体力値レベル1は体力値の最大値から80%以上減少した状態、レベル2は体力値の最大値から60%以上80%未満減少した状態、レベル3は体力値の最大値から40%以上60%未満減少した状態、レベル4は体力値の最大値から40%未満減少した状態と設定されていてもよい。敵キャラクタがダメージを受けることによって体力値が減少した際に、減少後の体力値がどの体力値レベルに対応するか判断し、当該レベルに設定されたダメージ補正が適用されてもよい。ダメージ補正とは、敵キャラクタの体力値の減少に対する補正量を示しており、例えば体力値レベル4のときに体力値が100減少するケースでは、体力値レベルが1のときには体力値が200減少するように処理される。なお、体力レベルの代わりに、気力値を設定してもよい。
【0038】
次に、ゲームプログラムが実行されるときのゲームの処理の流れについて説明する。
図7は、ゲームプログラムの処理の流れの一例を示すフローチャートである。
【0039】
まず、ユーザによってゲームプログラムが実行されてゲームが開始されると(S700)、フィールド生成部220は初期フィールドを生成する。初期フィールドには、格子状に配置されたブロックが含まれ、これらのブロックには、ユーザの操作によりブロックが壊されて通路にされたときにその場所に発生する味方キャラクタまたは地形が、必要に応じて関連付けられる。具体的な例としては、ブロックAには何も関連付けられず、特殊ブロックとしてのブロックBには味方キャラクタpc001が関連付けられ、特殊ブロックとしてのブロックCには別の味方キャラクタpc002が関連付けられ、特殊ブロックとしてのブロックDには地形としての落とし穴や水たまりが関連付けられる。味方キャラクタまたは地形が関連付けられたブロックは、何も関連付けられていないブロックとは区別可能な態様で表示されるが、関連付けられた具体的な内容については区別不能な態様で表示される。このようにしてフィールド生成部220で初期フィールドが生成されたら、表示制御部210は初期フィールドの状態を表示部121に表示させる。
【0040】
次に、上記初期フィールドの生成及び表示が完了したら、ユーザのタッチパネル120に対する操作に基づくフィールド編集が行われる(S720)。フィールド編集では、ユーザは表示部121に表示された初期フィールドに対するタッチ操作を行い、フィールド編集制御部230では、ユーザのタッチ位置に対応するフィールド上のブロックを通路に変更し、さらにこのブロックに味方キャラクタまたは地形が関連付けられている場合には、これらの味方キャラクタまたは地形をフィールド上に登場させる。また、ユーザは、フィールド上に宝箱を配置することで最終目的地を設定する操作を行う。この宝箱が配置された場所に体力値が0となる前に敵キャラクタが到達した場合にはゲームの敗北となる。このフィールド編集は、所定の時間が経過するか、またはユーザによりフィールド編集の終了が選択されたタイミングで終了する。
【0041】
フィールド編集が終了したら、次は1以上の敵キャラクタ及び味方キャラクタの移動が開始される(S730)。1以上の敵キャラクタは、フィールド上の所定の位置から侵入して敵キャラクタごとに設定された移動アルゴリズムに基づいて移動するように、敵キャラクタ制御部240により制御される。味方キャラクタは、フィールド編集の終了時点での位置から所定のアルゴリズムに基づいて移動するよう、味方キャラクタ制御部250により制御される。
【0042】
ここで、所定のイベントが発生したら、そのイベントに応じた処理が行われる(S740)。敵キャラクタ制御部240は、敵キャラクタが移動するごとに、敵キャラクタの体力値を所定量減少させる処理を行う。また、敵キャラクタ制御部240は、敵キャラクタがフィールド上の水たまりなどの地形に到達したときには、体力値を減少させるなどの所定の処理を行う。また、敵キャラクタ制御部240は、敵キャラクタが通路上の分岐または行き止まりに到達したときには、さらに体力値を減少させるなどの処理を行う。また、敵キャラクタ制御部240は、敵キャラクタが通路上の分岐に到達したときには気力値を減少させるなどの処理を行う。また、敵キャラクタ制御部240は、敵キャラクタが味方キャラクタと接触したときにはバトル処理の演算を実行して体力値を減少させるなどの処理を行う。また、敵キャラクタ制御部240は、敵キャラクタが味方キャラクタからの攻撃を受けた場合には、体力値を所定量だけ減少させるなどの処理を行う。
【0043】
味方キャラクタ制御部250は、味方キャラクタが敵キャラクタと接触したときにバトル処理の演算を実行して勝敗を判定し、味方キャラクタが負けた場合にはこの味方キャラクタをフィールド上から消去する処理を行う。また、ユーザがタッチパネル120の味方キャラクタが表示された位置をタッチ(タップ)したときには、味方キャラクタによる所定の攻撃アクションが行われるよう処理する。
【0044】
ここで、敵キャラクタがフィールド上の宝箱に到達したら(S750でY)、ゲームの敗北処理が実行される(S770)。
【0045】
また、敵キャラクタの体力が0になった場合(S760でY)、ゲームの勝利処理が実行される(S780)。ゲームの勝利処理では、フィールドが一旦すべて消去(リセット)されて次のステージに進み、ゲームの難度が高くなるよう処理がなされた後、S700以降の処理が繰り返されることとなる。
【0046】
そして、敵キャラクタがフィールド上の宝箱に到達しておらず(S750でN)、敵キャラクタの体力が0になっていない場合は(S760でN)、S740以降のイベント処理が繰り返される。
【0047】
次に、
図8乃至
図14を参照しながら、ゲームプログラムが実行されているときのゲーム画面の例について説明する。
【0048】
まず、ゲームが開始されて(S700)、初期フィールドが生成されると(S710)、表示制御部210はこの初期フィールドの状態を表示部121に表示させる。
図8は、この初期フィールドの状態が表示された表示部121を含むタッチパネル120を示している。
図8に示されるように、タッチパネル120の上側には、魔力800及び残り時間810が表示される。ここで表示された残り時間が0になると、ユーザによるフィールド編集が強制的に終了させられる。ここで表示された魔力は、ユーザが壊す(通路に変更する)ことができるブロックの量を示しており、この魔力が0になるとそれ以上のブロックは壊すことができなくなる。なお、ブロックを1箇所壊すごとに魔力が1減少するように処理してもよいし、ブロックの属性に応じて減少する魔力の値が異なるように処理してもよい。
【0049】
また、
図8に示されるように、タッチパネル120に表示されるフィールドには、格子状に配列された複数のブロックが含まれる。ブロックには、通常態様ブロック910と、特殊態様ブロック920とが含まれる。通常態様ブロック910には、味方キャラクタ及び地形のいずれも関連付けられておらず、このブロックが壊され通路に変更されたときには、味方キャラクタ及び地形のいずれも発生しない。一方で、特殊態様ブロック920には、味方キャラクタまたは地形のいずれかが関連付けられているが、何が関連付けられているのかはタッチパネル120の表示からは判別できない。ユーザがこの特殊態様ブロック920にタッチして壊したときには、通路に加え、所定の味方キャラクタまたは地形が登場するよう、フィールド編集制御部230により制御される。また、初期フィールドの一部には通路930が設けられる。
【0050】
次に、フィールド編集の処理では(S720)、ユーザによりタッチされたタッチパネル120上の位置に対応するブロックが破壊されて通路が出現するよう、フィールド編集制御部230により制御される。
図9は、フィールド編集が行われているときのフィールドの状態が表示されたタッチパネル120を示している。
図9に示されるように、フィールド上には味方キャラクタ940及び941、及び地形としての水たまり950が表示される。所定の時間が経過するか、またはユーザによりフィールド編集の終了が選択されることによってフィールド編集が終了すると、ユーザは、フィールド上の任意の位置に宝箱960を配置するよう促される。
【0051】
ユーザによって宝箱960が配置されると、敵キャラクタ900、並びに味方キャラクタ940及び941が移動を開始する(S730)。敵キャラクタ900の移動は、敵キャラクタ制御部240によって処理され、味方キャラクタ940及び941の移動は、味方キャラクタ制御部250によって処理される。移動開始時には、敵キャラクタの体力値はテーブル記憶部270に記憶された初期値となっており、ここでの例においては、
図9の下側に示すように体力値は100となっている。この体力値は、パラメータ管理部260で管理されている。なお、本実施例では、体力値及び気力値はタッチパネル120に表示されない具体例について説明しているが、体力値及び気力値はタッチパネル120に表示されてもよい。
【0052】
図10は、敵キャラクタ及び味方キャラクタが移動しているときのフィールドの状態が表示されたタッチパネル120を示している。
図10に示されるように、敵キャラクタ900はフィールドの上側から侵入してフィールド内を移動する。敵キャラクタ900が移動した通路には足跡901が表示される。敵キャラクタ900が移動すると、敵キャラクタ制御部240は、パラメータ管理部260で管理された敵キャラクタの体力値を徐々に減少させるよう処理する。また、敵キャラクタ900がフィールド上の分岐に到達すると、敵キャラクタ制御部240は、パラメータ管理部260で管理された敵キャラクタの体力値や気力値を減少させるよう処理する。
【0053】
図11は、敵キャラクタ900が水たまり950を通過したときのフィールドの状態が表示されたタッチパネル120を示している。
図11に示されるように、敵キャラクタ900が所定の地形(ここでは水たまり950)を通過したときには、敵キャラクタの体力値が減少する処理が敵キャラクタ制御部240により行われる。
【0054】
図12は、敵キャラクタ900が味方キャラクタ940と接触してバトルのイベントが発生したとき(S740)のフィールドの状態が表示されたタッチパネル120を示している。このとき、敵キャラクタ制御部240と味方キャラクタ制御部250とでは、それぞれ所定のバトルに関する演算がなされる。ここでは、バトルの結果として敵キャラクタ900が勝利したため、味方キャラクタ制御部250は味方キャラクタ940をフィールドから消去するよう処理する。また、敵キャラクタ制御部240は、味方キャラクタとのバトルの際に、敵キャラクタ900の体力値を所定量だけ減少させるよう処理する。
【0055】
図13は、ユーザが味方キャラクタ941をタップする操作を行ったときのフィールドの状態が表示されたタッチパネル120を示している。ユーザが味方キャラクタ941をタップすると、味方キャラクタ制御部250は、この味方キャラクタ941に関連付けられた所定の攻撃アクションを実行する。この具体例では、ユーザのタップに応答して、味方キャラクタ941はフィールド上に特殊攻撃942を発生させる。ここで、
図11に示されるように、特殊攻撃942は敵キャラクタ900に命中しているため、敵キャラクタ制御部240は、敵キャラクタ900の体力値を所定量だけ減少させる処理を行う。ここでは、この体力値の減少の結果、敵キャラクタ900の体力値は0以下になったものとする。
【0056】
図14は、上記処理の結果、敵キャラクタ900の体力値が0になったときのフィールドの状態が表示されたタッチパネル120を示している。
図14に示されるように、敵キャラクタ900の体力値が0になったため(S760でY)、敵キャラクタ900が倒れる演出が表示される。この後、制御部200は勝利処理(S780)を実行して、フィールドを初期化する処理を行う。
【0057】
以上、実施例1についての具体的な説明を行った。本実施例は、以下のような変形例を適用可能である。以下、実施例1の変形例について説明する。
【0058】
上述した実施例における初期フィールドの生成は、ランダムに、またはデータベースからの読み出しにより実行されうる。初期フィールドの生成は、モバイル端末10の中で実行されてもよいし、サーバ装置40からの受信データによって行われてもよい。
【0059】
上述の実施例では、通路が分岐または行き止まりになっている箇所に敵キャラクタが到達したときに体力値を減少させる例を説明したが、これに限定されるものではない。例えば、通路が十字路になっている箇所ではより多くの敵キャラクタの体力値が減少するよう設定されてもよい。また、例えば長い一本道では追加で体力が減少されるよう設定されてもよい。
【0060】
上述の実施例では、地形の一例として水たまりを挙げていたが、この地形は複数のものが含まれてもよい。例えば、水たまりに加えて落とし穴を設け、落とし穴に落下した敵キャラクタは気力値が減少されるような処理を行うなどしてもよい。
【0061】
また、上述の実施例では、体力値レベルに応じてダメージ補正が行われる例について説明したが、この例に限定されるものではない。例えば、敵キャラクタが体力値とは異なるパラメータである気力値を有しており、気力値レベルに基づいてダメージ補正が行われるようにしてもよい。
図6と同様に気力値レベルとダメージ補正とを対応付けたテーブルがテーブル記憶部270に記憶されており、それに従ってダメージ補正が行われる。このような実施形態では、敵キャラクタの体力値に関係なくダメージ補正が行われるため、敵キャラクタの体力値が十分残っている状態であっても敵キャラクタの気力値を減らせば味方キャラクタによって大きいダメージを与えることが可能となる。従って、ユーザは、敵キャラクタの気力値を減少させるようにうまく通路の分岐や行き止まりを配置し、その後に多くの味方キャラクタによって攻撃を行うようにフィールドを編集するなどの戦略を取ることが可能となる。その他のパラメータについても同様に、種々の態様を適用可能である。また、実施例に記載のパラメータ以外にパラメータを含むことを排除するものでもない。
【0062】
また、上述の実施例では、宝箱を1つ配置する例について説明したが、複数の宝箱を設置するようにしてもよい。このとき、敵キャラクタが少なくとも1つの宝箱に到達したことを敗北条件としてもよいし、敵キャラクタがすべての宝箱に到達したことを敗北条件としてもよい。
【0063】
以上、本発明を実施例をもとに説明した。本発明は上述した実施例及び変形例の内容に限定されるものではなく、本発明の要旨の範囲において種々に変形して実施をすることが可能である。上記実施例はあくまで例示であって、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に当然に理解されるところである。