【文献】
井上マサキ,"マリオ?スト2?スペランカー?見覚えのある8bitキャラ無法地帯のランゲーム『スーパーピコピコラン,アプリ学園,日本,株式会社エムフロ,2014年 5月21日,[2016年11月07日検索],URL,http://www.appgaku.com/iphone-app/スーパーピコピコランナーズ
【文献】
"「スーパーピコピコランナーズ」をあそんでみた",ゆるあぷ!,日本,ゆるあぷ!,2014年 5月15日,[2016年11月07日検索],URL,http://android.yuruapp.com/?p=1887%uFEFF
(58)【調査した分野】(Int.Cl.,DB名)
前記第2の判定手段は、前記プレイヤキャラクタと、当該プレイヤキャラクタの移動の妨げとなる障害物オブジェクトとの位置関係が所定の関係にあるときに、前記第2の所定条件が満たされたと判定する、請求項2または3のいずれかに記載のゲームプログラム。
前記第2の判定手段は、前記プレイヤキャラクタが前記障害物オブジェクトに接触したときに、前記第2の所定条件が満たされたと判定する、請求項4に記載のゲームプログラム。
前記第2の判定手段は、前記プレイヤキャラクタが前記障害物オブジェクトに接触したときの当該プレイヤキャラクタおよび障害物オブジェクトの位置関係が所定の位置関係である場合に、前記第2の所定条件が満たされたと判定する、請求項5に記載のゲームプログラム。
前記第2アクション実行手段は、前記プレイヤキャラクタが前記障害物オブジェクトを回避するアクションを前記第2のアクションとして実行させる、請求項4ないし7のいずれかに記載のゲームプログラム。
前記第1判定手段は、前記プレイヤキャラクタが前記第1のアクションとは異なるアクションを実行中にタッチ入力が検出されたとき、前記第1の所定条件が満たされた状態で前記タッチ入力が検出されたと判定する、請求項1ないし9のいずれかに記載のゲームプログラム。
前記第1判定手段は、前記プレイヤキャラクタと他のオブジェクトとの間の位置関係が所定の関係であるときにタッチ入力が検出されたとき、前記第1の所定条件が満たされた状態で前記タッチ入力が検出されたと判定する、請求項1ないし10のいずれかに記載のゲームプログラム。
前記第1判定手段は、前記プレイヤキャラクタが前記第2のアクションを実行中にタッチ入力が検出されたとき、前記第1の所定条件が満たされた状態で前記タッチ入力が検出されたと判定する、請求項2ないし11のいずれかに記載のゲームプログラム。
前記ゲームプログラムは、仮想カメラで撮像した仮想ゲーム空間を表示する表示領域が前記プレイヤキャラクタの移動に追従して前記所定の方向に画面スクロールするように前記ゲーム画面のスクロールを制御するスクロール制御手段として前記コンピュータを更に機能させる、請求項1ないし14のいずれかに記載のゲームプログラム。
前記第1アクション実行手段は、前記第1の所定条件が満たされていない状態において前記タッチ入力が検出されたことに応じて、前記第1のアクションとは異なる第3のアクションを前記プレイヤキャラクタに実行させる第3アクション実行手段を含み、
前記第3アクション実行手段による第3のアクションの実行に対しては前記第1のポイントは加算されない、請求項1ないし15のいずれかに記載のゲームプログラム。
前記第1の判定手段は、前記第1の所定条件が満たされた状態で前記操作受付手段においてタッチオンが検出されたことに応じて、第1の所定条件が満たされた状態でタッチ入力が検出されたと判定する、請求項1ないし16のいずれかに記載のゲームプログラム。
前記第1の加算手段は、前記第1の判定手段によって第1の所定条件が満たされたと判定されたことに応じて実行された前記第1のアクションのそれぞれに応じて異なる量の第1のポイントを加算する、請求項19に記載のゲームプログラム。
前記コンピュータは、前記第1のポイントとは異なる第3のポイントを加算する第3の加算手段として前記コンピュータを更に機能させる、請求項1ないし20のいずれかに記載のゲームプログラム。
前記第3の加算手段は、仮想ゲーム空間内に配置されているアイテムオブジェクトに前記プレイヤキャラクタが接触することに応じて、前記第3のポイントを加算する、請求項21に記載のゲームプログラム。
前記アクション実行手段は、所定の記憶部に予め記憶されている前記第1モーションデータに基づいて前記プレイヤキャラクタに前記第1モーションを実行させる、請求項27に記載のゲームプログラム。
前記ゲームプログラムは、前記プレイヤからの移動指示入力が行われていないときに第2の所定条件が満たされたことに応じて、前記第1のポイントとは異なる第2のポイントを加算する第2の加算手段として更に前記コンピュータを機能させる、請求項29に記載のゲームプログラム。
【発明を実施するための形態】
【0027】
以下、本発明の一実施形態について説明する。
【0028】
図1は、本実施形態に係る情報処理装置の一例である携帯型スマートデバイス102(以下では、単にスマートデバイスと呼ぶ)の機能ブロック図である。
図1において、スマートデバイス102は、プロセッサ部111と、内部記憶装置112と、メインメモリ113と、通信部114と、操作部115と、表示部116とを備えている。プロセッサ部111は、後述する情報処理を実行したり、スマートデバイス102の全体的な動作を制御したりするためのシステムプログラム(図示せず)を実行することで、スマートデバイス102の動作を制御する。なお、プロセッサ部111は、単一のプロセッサを搭載してもよいし、複数のプロセッサを搭載するようにしてもよい。内部記憶装置112には、プロセッサ部111によって実行される各種プログラムや当該プログラムで利用される各種データが格納されている。内部記憶装置112は、例えば、フラッシュEEPROMやハードディスク装置である。メインメモリ113は、コンピュータプログラムや情報を一時的に記憶する。通信部114は、有線、または無線通信によってネットワークと接続し、所定のサーバや他のスマートデバイスとの間で所定のデータを送受信可能である。操作部115は、例えば、ユーザからの操作を受け付けるための入力装置である。表示部116は、典型的には液晶表示装置である。なお、本実施形態に係る処理では、操作部115及び表示部116として、液晶画面と一体化したタッチパネルを想定する。他の実施形態では、操作部115として、タッチパネル以外の所定のポインティングデバイスを用いてもよい。
【0029】
なお、本実施形態では、スマートデバイス102で後述のゲーム処理が実行される例を説明するが、この他、情報処理装置として携帯型ゲーム装置等に対しても以下の実施形態にかかる処理は適用可能である。
【0030】
次に、本実施形態にかかる情報処理の動作概要を説明する。本実施形態にかかる処理は、横スクロール型のジャンプアクションゲームを想定している。より具体的には、本実施形態で想定するゲームは、横方向に画面が自動スクロールするジャンプアクションゲームである。すなわち、プレイヤの操作によらずに(プレイヤからの移動指示入力が行われていないときでも)プレイヤキャラクタが自動的に移動することによって、画面が自動的にスクロールするゲームである。
図2に、本実施形態にかかるゲーム画面の一例を示す。
図2では、プレイヤキャラクタ201、コインオブジェクト202、フィーバーメーター203が示されている。本ゲームでは、原則として、プレイヤキャラクタ201は自動的に画面右方向に向けて移動する。そして、このプレイヤキャラクタの移動に連動して、画面も自動的に横スクロールするものである(換言すれば、強制的に画面が横スクロールすることになる)。また、この際、画面(表示領域)上において、プレイヤキャラクタ201の画面横方向軸(横軸)における表示位置については、原則として変化させずに所定の位置を維持するようにしている。本実施形態では、この横軸上の表示位置については、画面の中央部分であるとする。
【0031】
スクロール制御についてより具体的に説明すると、まず、仮想カメラの正面方向にプレイヤキャラクタ201が位置するように仮想カメラが仮想ゲーム空間に配置される。そして、この位置関係を維持するように、プレイヤキャラクタ201の移動と連動して仮想カメラも移動する。換言すれば、表示領域を、プレイヤキャラクタ201の移動に追従するようにして画面横方向にスクロールさせるという制御が行われる。この追従の制御については、プレイヤキャラクタ201の移動に対して時間的に遅れないようにぴったりと追従させる制御でも良いし、少し遅れて追従させるような制御でも良い。
【0032】
なお、プレイヤキャラクタ201の表示位置に関しては、上記の位置に限らない。他の実施形態では、進行方向側がより広く見えるように、横軸上における画面中央よりも少し左側に固定的に表示するようにしてもよい。また、本実施形態では、画面が強制的に横スクロールするゲームを例として説明するが、スクロール方向は横方向に限るものではない。他の実施形態では、スクロール方向を縦方向や斜め方向としてもよい。
【0033】
また、本ゲームの基本的な目的は、ゲームコース内に配置されているコインオブジェクト202を集めながら、(制限時間内に)ゴール地点を目指すというものである。なお、本ゲームでは、集めたコインオブジェクト202の枚数に関しては、ゲームコースの進行中は画面には表示されない。本ゲームでは、ゲームコースをクリアした後に「リザルト画面」(図示は省略)が表示され、この画面において、獲得したコインオブジェクト202の枚数(これはスコアの意味も兼ねている)が表示されるようになっている。
【0034】
本ゲームの基本的な遊び方を説明すると、上記のようにプレイヤキャラクタは自動的に右方向に向けて進行していく。そして、当該プレイヤキャラクタ201は、所定の条件を満たすことで、プレイヤが特に操作を行わずとも自動的に所定の「アクション」を行う。以下の説明では、このような自動的に行われるアクションのことを「自動アクション」呼ぶ。具体的には、プレイヤキャラクタ201の1ユニット分の高さを自動的に飛び越える「馬跳び」という自動アクションがある。例えば、プレイヤキャラクタ201の進行方向に、プレイヤキャラクタ201の1ユニット分の高さを有する敵キャラクタが存在しているとする。このような場合に、当該敵キャラクタと接触しそうになったとき(ある程度接近したとき)に、自動的にプレイヤキャラクタ201が敵キャラクタを馬跳びするアクションを行って飛び越える(自動回避)。更に、その他の自動アクションの例として、プレイヤキャラクタ201よりも高い壁を登る「よじ登り」というアクションがある。このような壁の上端1ユニット分の箇所にプレイヤキャラクタ201が接触すると、プレイヤキャラクタ201が自動的に当該壁をよじ登り、登り終えると前転する、というアクションを行う。また、更に他の自動アクションの例として、「受け身」というアクションも行われる。これは、プレイヤキャラクタ201の2ユニット分以上の高さからプレイヤキャラクタ201が飛び降りて着地したとき、自動的に前転して受け身をとる、というアクションである。このような自動アクションによって、プレイヤが特に操作をせずとも、プレイヤキャラクタ201にゴール地点を目指してゲームコースを進ませることができる。
【0035】
なお、上記馬跳びの自動アクションに関して、敵キャラクタについては種類分けがなされており、全ての敵キャラクタに対して上記のような馬跳びによる自動回避が行われるわけではない。予め設定された特定の種類の敵キャラクタが上記の自動アクションの実行対象となっている。そのため、自動アクションの対象となっていない敵キャラクタが進行方向にいた場合、そのままプレイヤが操作せずに放置していると、当該敵キャラクタと接触することになる。その結果、プレイヤキャラクタ201に所定のダメージ値が加算される等、プレイヤにとって不利となる処理が実行されることになる。そのため、このような場合は、プレイヤは後述の通常手動アクションを行ってこのような敵キャラクタを避ける等する必要がある。
【0036】
次に、プレイヤの操作に基づいてプレイヤキャラクタに所定のアクションを行わせる場合について説明する。上記のような自動アクションとは異なる種類のアクションとして、プレイヤは、画面をタップ操作することで、プレイヤキャラクタに所定のアクションを行わせることができる。以下では、このようなアクションのことを、上記自動アクションと対比して「手動アクション」と呼ぶ。そして、本実施形態では、当該手動アクションは更に、「通常手動アクション」と「特殊手動アクション」の2種類に分類される。
【0037】
まず、通常手動アクションについて説明する。このアクションは、具体的には、プレイヤキャラクタ201が地面に接触している状態でプレイヤが行ったタップ操作に応じて、プレイヤキャラクタ201が「ジャンプ」するというアクションである(いわば、通常のジャンプ)。このタップ操作は、原則として画面上のどの位置をタップしてもよい。但し、メニューボタン等を画面上に配置する場合は、このような場所は除外しても良い。あるいは、仮想ゲーム空間を表示している表示領域上でのタップ操作のみを対象としても良い。また、タップ操作におけるタッチ継続時間(タッチオンしてからタッチオフするまでの時間)に応じて、ジャンプする高さも多少変化する。
【0038】
次に、特殊手動アクションについて説明する。これは、所定の条件下においてプレイヤがタップ操作を行うことで実行されるアクションである。特殊手動アクションの例をいくつか挙げると、例えば、上記馬跳び中にタップ操作が行われたことに応じてジャンプするアクションが特殊手動アクションとなる。また、上記よじ登りの自動アクションにおいて、最後の前転している最中(前転のモーションが表示されているタイミング)のタップ操作で行われるジャンプも、特殊手動アクションとなる。また、上記受け身の自動アクションにおいて、前転して受け身を取っているモーション中のタップ操作によるジャンプも特殊手動アクションとして扱われる。その他、後述するギミックブロック(逆矢印ブロック等)の上でのジャンプも特殊手動アクションとして扱われる。また、以下に例示する「壁蹴りジャンプ」も特殊手動アクションである。なお、自動アクション、特殊手動アクション共に、上記のようなアクションに限らず、他のアクションであってもよいことは言うまでもない。
【0039】
ここで、図面を用いて、自動アクションと特殊手動アクションについていくつか例示する。まず、上記馬跳びの自動アクションと馬跳び中の特殊手動アクションについて襟辞する。上記のように、プレイヤキャラクタ201は自動的に移動するが、この場合に、
図3に示すように、プレイヤキャラクタ201の進行方向に敵キャラクタ205が存在している状況(進行方向から敵キャラクタ205が近づいてきている状況)を想定する。このような場合、プレイヤが何も操作せずにいると、プレイヤキャラクタ201は、敵キャラクタ205に接触しそうな程度まで近づくと、
図4に示すように、自動的に敵キャラクタを「馬跳び」して、接触することを回避する(自動回避)という自動アクションを行う(この場合は敵キャラクタ205にはダメージは与えない)。
【0040】
ここで、上記の「馬跳び」の最中(馬跳びのモーションが表示されている間)にタイミングを合わせてプレイヤがタップ操作を行うと、プレイヤキャラクタ201に特殊手動アクションを行わせることができる。具体的には、
図5に示すように、プレイヤキャラクタ201は、敵キャラクタ205を踏みつけてジャンプする攻撃を、「特殊手動アクション」として行う。また、この場合、敵キャラクタ205を攻撃していることになるため、敵キャラクタ205にダメージを与えることもできる。このように、所定の条件下(この例では自動アクションのモーションが表示されているタイミング)でタップ操作が行われることで、特殊手動アクションをプレイヤキャラクタ201に行わせることができる。なお、特殊手動アクションを行ったときのその他の処理に関しては後述する。
【0041】
自動アクションおよび特殊手動アクションの更に他の例について、
図6〜
図7を用いて説明する。この図で説明する例は、壁(土管等の障害物などでも良い)にプレイヤキャラクタ201が直面したときの例である。
図6の例は、自動アクションとしてその壁をよじ登るというアクションを行うという例である。
図6において、プレイヤキャラクタ201が自動的に移動し、壁に接近したとする。そのままプレイヤが何も操作せずにいると、プレイヤキャラクタ201は、壁に接触し、そこで一旦移動が停止する(障害物である高い壁に遮られて、先に進めない状態となる)。この位置で(あるいは壁にある程度接近した時点で)プレイヤがタップ操作を行うと、プレイヤキャラクタ201はジャンプを行う。そして、壁の上端1ユニット分に接近あるいは接触したら、壁に掴まり、そのまま、壁の上端部分をよじ登っていき、登り終えたら前転するというモーションが行われる。換言すれば、壁の上端に掴まってよじ登っていくという自動アクションが行われる。
【0042】
一方、プレイヤキャラクタ201が壁に接触している状態(かつ、地面には接触していない状態)で、プレイヤがタップ操作を行うと、
図7に示すように、壁を蹴って斜め後ろにジャンプする(壁蹴りジャンプ)という特殊手動アクションが行われる。この際、上記自動移動における進行方向とは逆方向に一時的に移動することになる。これに伴い、表示領域も逆方向にスクロールする。そして、プレイヤキャラクタ201が接地した後は、再度進行方向に向けて移動することになる。
【0043】
このように、本ゲームでは、プレイヤと他のオブジェクト(敵キャラクタや地形オブジェクト)の位置関係が所定の関係であるという条件を満たすと、予め定義されている自動アクションが行われる。また、所定の条件下(例えば、特定の自動アクションが行われているタイミング)でプレイヤがタップ操作を行うことで、特殊手動アクションをプレイヤキャラクタに行わせることができる(なお、全ての自動アクションが対象ではなく、複数の自動アクションのうちのいくつかが、特殊手動アクションの実行条件として予め定義されている)。この特殊手動アクションは、操作としては上記通常手動アクションと同じくタップ操作で発動できるものではあるが、その内容としては、通常手動アクションとは異なるアクションとなっている。つまり、タップ操作というシンプルな操作に対して、上述の通常手動アクションと、特殊手動アクションという2種類のアクションを割り当てている。
【0044】
次に、上記
図2で示したフィーバーメーター203と、上記特殊手動アクションを行うことによる効果(処理)に関して説明する。本ゲームでは、上記のような特殊手動アクションを行うと、フィーバーメーター203を所定量貯めることができる。つまり、フィーバーメーターのポイントを所定量貯めることができる。なお、貯めることができる量については、特殊手動アクション毎に「重み(係数)」が設定されており、この「重み」に応じて、貯めることができる量が変化する。そして、フィーバーメーター203が最大まで貯まると、一定時間(例えば10秒間)「フィーバーモード」が発動する。換言すれば、フィーバーメーターのポイントが所定値に達したときに、フィーバーモードが発動する。フィーバーモードが発動すると、プレイヤキャラクタ201のパラメータが変化される。例えば、プレイヤキャラクタの移動速度が速くなる。また、後述する「?」ブロックから得られるコインの数が増加する。すなわち、一定時間の間、プレイヤに有利な状態となる処理が実行される。そのため、プレイヤにとっては、特殊手動アクションを多く発動させてフィーバーモードを速やかに発動させることで、短時間で多数のコインオブジェクト202を集めることが可能となる。また、フィーバーモードに入ったとき、フィーバーモードの残り時間を表示するようにしても良い。あるいは、貯まったゲージが時間の経過に伴って減っていくような表示としてもよい。つまり、直接的または間接的に、フィーバーモードの残り時間をプレイヤに提示するようにしてもよい。また、フィーバーモードに入っていないときは、現在までに貯まっているフィーバーメーターの値を、例えば「現在値/最大値」のような形式で表示するようにしても良い。更に、フィーバーモードとなっている間に上記特殊手動アクションを行うことで、フィーバーモードの時間を補充、あるいは延長可能としても良い。また、上記の一定時間が経過すれば、フィーバーメーターはリセットされ、特殊手動アクションを行うことで、再度フィーバーメーターを貯めていくことができる。
【0045】
また、上記特殊手動アクションが行われたとき、上記のフィーバーメーター203の増加の他、次のような処理が行われる。すなわち、特殊手動アクションを発動させることで、「ボーナスポイント」と呼ばれるポイントを所定数獲得することができる。この「ボーナスポイント」の意義としては、プレイヤが自発的におこしたアクションであって、上記の通常手動アクションよりも高度な操作を行った場合に、その行為を「褒める」「賞賛する」という意味合いを有するものである。換言すれば、通常手動アクションのような単なるジャンプ操作ではないような「かっこいいアクション」をプレイヤが行った際に、これをボーナスポイントという形で評価し、プレイヤのモチベーションを高めさせるというものである。また、このことは、特殊手動アクション自体にボーナスポイント等を加算(付与)するものともいえる(通常手動アクションや自動アクションではボーナスポイント等は加算されない)。つまり、例えばジャンプというアクションを行った結果、コインオブジェクト202に接触してそのコインを取得するという場合とは異なり、特殊手動アクションによるポイント等の獲得は、特殊手動アクション自体にボーナスポイント等が加算されることで得られる、という性質のものである。そして、本ゲームでは、上記リザルト画面において当該ボーナスポイントが獲得コインに合算されることで、最終的なスコアが算出される。これにより、自動アクションや通常手動アクションを利用しながらコースクリアを目指す過程で、いかに特殊手動アクションを決めていくか(コインと共にボーナスポイントも集めていくか)、という楽しみ方をプレイヤに提供するものである。
【0046】
このように、本ゲームでは、プレイヤキャラクタ201の移動は自動的なものとし、プレイヤの操作は基本的にはタップ操作のみという構成としている。そして、上記のような自動アクションや通常手動アクションに加えて、特殊手動アクションを用いることで、簡単な操作ながら奥深いゲーム性を提供することができる。
【0047】
(ギミックブロック)
ところで、本ゲームでは、ゲーム性をより高めるために、ゲームコース上に様々な種類の「ギミックブロック」を配置している。当該ギミックブロックは、何らかの「仕掛け(ギミック)」が設定されているブロックである。そして、本実施形態では、当該ギミックブロックとプレイヤキャラクタ201とが仮想ゲーム空間内において所定の位置関係となったときに、そのギミックが発動する。あるいは、上記所定の位置関係となっている状態で更にプレイヤからのタップ操作を受け付けたときに、そのギミックが発動する。また、所定の位置関係としては、例えば、プレイヤキャラクタ201が、ギミックブロックに載ること、ギミックブロックに重なること、ギミックブロックに所定方向から接触したこと、ギミックブロックから所定の距離内に近づくこと、等が挙げられる。以下、本ゲームにおいて特徴的なギミックブロックについて説明する。具体的には、以下の4種類のギミックブロックについて説明する。
(1)逆矢印ブロック
(2)点線ブロック
(3)一時停止ブロック
(4)「?(ハテナ)」ブロック
【0048】
(1)逆矢印ブロック
図8〜
図10を用いて、逆矢印ブロックについて説明する。本ゲームは上記のように、プレイヤキャラクタ201が画面右方向に自動で進行していく横スクロールジャンプアクションゲームであるが、当該逆矢印ブロックを利用することで、プレイヤキャラクタ201を一時的に、その進行方向とは逆方向(の成分を有する所定の方向)に移動させることができる。図を用いて説明すると、まず、
図8のように、プレイヤキャラクタ201の進行方向の通過面(地面部分)に、逆矢印ブロック211が存在しているとする。逆矢印ブロック211は、左向きの矢印(自動進行方向とは逆方向の矢印)が描かれたブロックとなっている。そして、
図9に示すように、プレイヤキャラクタ201が当該逆矢印ブロック211の上に載っている(より正確には、仮想ゲーム空間内において、逆矢印ブロック211の上にプレイヤキャラクタ201が位置している関係にある)ときにプレイヤがタップ操作を行うと、
図10に示すように、プレイヤキャラクタ201が、進行方向とは逆方向の斜め上方向にジャンプする。これに伴い、画面スクロールも一時的に逆方向にスクロールする(仮想カメラはプレイヤキャラクタ201の動きに追従するため)。その後、プレイヤキャラクタ201が接地すれば、再度進行方向に向けて自動的な移動を開始する。また、逆矢印ブロック211の上に載っているときにプレイヤがタップ操作しなければ、プレイヤキャラクタ201はジャンプすることなく、当該逆矢印ブロック211を通過することができる。なお、プレイヤキャラクタ201が移動(ジャンプ)する方向については、上記のような進行方向とは逆方向の斜め上方向の限らず、進行方向とは反対方向の成分を含む方向であればどのような方向でもよい。
【0049】
このように、逆矢印ブロックを利用することで、本ゲームのような強制スクロール形式のゲームにおいても、進行経路に多様性を持たせることが可能となる。例えば、
図11のようなコース構成の場合、プレイヤが何も操作しなければ、下側のコースXに進行する。しかし、逆矢印ブロック211を利用して一旦「A」の位置にジャンプし、更に通常手動アクションで「B」の位置にジャンプすることで、上側のコースYに進むことができ、コースに分岐点を設けて多様性を持たせることができる。
【0050】
(2)点線ブロック
図12〜
図14を用いて、点線ブロックについて説明する。
図12に示す点線ブロック212は、その輪郭が点線で表示され、当該ブロック内に所定方向の矢印が表示されたブロックである。点線ブロック212は、
図13のようにプレイヤキャラクタ201と接触することで、
図14に示すように、そのブロックに表示されている矢印方向に沿って、複数枚のコインオブジェクト202を出現させるブロックである(この際、点線ブロック212は消滅する)。換言すれば、点線ブロック212に、所定方向の矢印で示される方向が関連づけられている。そして、当該点線ブロック212とプレイヤキャラクタ201が接触することで、当該矢印に対応する方向(位置)にコインオブジェクト202が出現する、というものである。すなわち、点線ブロック212を基準として(点線ブロック212から見て)上記矢印で示される方向上の所定位置にコインオブジェクト202を出現させるというものである。
【0051】
ここで、上記逆矢印ブロックと点線ブロックを組み合わせた使用例を
図15〜
図18で示す。
図15では、障害物オブジェクトであるブロック群が略三角形状に存在している。当該略三角形のブロック群の3つの頂点の近い位置に、それぞれ点線ブロック212A、212B、212Cが配置されている。点線ブロック212Aには、進行方向に沿った矢印(右方向)が表示され、点線ブロック212Bには、左斜め上方向の矢印が表示され、点線ブロック212Cには、左斜め下方向の矢印が表示されている。また、点線ブロック212Cの下方(地面部分)には、逆矢印ブロック211が配置されている。このような配置により、プレイヤキャラクタ(図示せず)が図の左側から移動してくると、まず、点線ブロック212Aに接触し、
図16に示すように、上記略三角形のブロック群の下辺に沿ってコインオブジェクト202が出現する(同時に点線ブロック212Aは消滅)。その後、プレイヤキャラクタが点線ブロック212Bに接触すると、
図17に示すように、上記略三角形のブロック群の右辺に沿うようにコインオブジェクト202が出現する。また、コインオブジェクト202の出現と同時に点線ブロック212Bは消滅する(なお、消滅させる他、表示を薄くする、グレーアウトする等で表示態様を変化させることで、コイン出現済みであることをプレイヤが認識できるようにしてもよい)。そして、このタイミング(逆矢印ブロック211に載っているタイミング)でプレイヤがタップ操作を行えば、左斜め上方向にプレイヤキャラクタ201をジャンプさせることができ、コインオブジェクト202を獲得することができる(逆に、タップ操作しなければ、これらのコインオブジェクト202を獲得することなく先に進むことになる)。更に、当該ジャンプの結果、プレイヤキャラクタ201が点線ブロック212Cに接触し、
図18に示すように、上記略三角形のブロック群の左辺に沿うようにコインオブジェクトが出現する(同時に点線ブロック212Cは消滅)。上記ジャンプの下降(左斜め下方向への移動となる)によって、これら出現したコインオブジェクト202を獲得することができる。そして、プレイヤキャラクタ201が地面に接地すれば、再度進行方向に向けて自動的に移動を開始することになる。このような配置により、プレイヤによりたくさんのコインオブジェクト202獲得のチャンスを提供することができ、ゲームの興趣性をより高めることができる。
【0052】
なお、上記点線ブロック212にプレイヤキャラクタ201が接触したときにコインオブジェクト202を出現させることに限らず、他の実施形態では、例えば点線ブロック212にプレイヤキャラクタ201がある程度接近したとき等、点線ブロック212とプレイヤキャラクタ201との位置関係が所定の位置関係となったときに、コインオブジェクト202を出現させるようにしても良い。また、出現させる数についても、上記のように複数出現させることに限らず、コインオブジェクト202を1つだけ出現させるようにしてもよい。
【0053】
(3)一時停止ブロック
次に、
図19〜
図21を用いて、一時停止ブロックについて説明する。上記のように、本ゲームはプレイヤキャラクタ201が画面右方向に自動で進行していく横スクロールジャンプアクションゲームであるが、当該一時停止ブロックは、プレイヤキャラクタ201の自動移動を一時的に停止させることができるブロックである。
図19に示される一時停止ブロック213は、地面部分に配置されている。また、一時停止ブロック213には、2本の縦棒を並べたような図柄が表示されている。そして、当該一時停止ブロック213にプレイヤキャラクタ201が載ると、
図20に示すように、一時停止ブロック213の図柄が右方向の矢印に変化すると共に、プレイヤキャラクタ201の移動が停止する。そして、
図21に示すように、プレイヤが所望のタイミングでタップ操作を行うことで、一時停止状態が解除され、矢印で示される方向への移動を開始する。
図21の場合は、右方向への移動を開始(再開)することになる。
【0054】
図22〜
図24に、一時停止ブロックの他の例を示す。
図22の例では、一時停止ブロック213の図柄について、上記
図19で示した図柄を斜めに傾けたような図柄となっている。このような図柄の一時停止ブロック213の場合、プレイヤキャラクタ201が当該一時停止ブロック213に載ると、
図23のように、その図柄が右斜め上の矢印に変化する。そして、所望のタイミングでプレイヤがタップ操作を行うと、
図24に示すように、右斜め上方向へのジャンプが行われる。つまり、
図22で示した図柄の一時停止ブロック213は、一時停止後に移動を再開すると、ジャンプが行われるというブロックとなっている。
【0055】
図25に、上記
図19で示したような一時停止ブロックの利用例を示す。
図25では、進行方向の地面部分が途切れており、その途切れている部分に、上下方向に反復移動する「動く床」が複数配置されている。プレイヤは、一時停止ブロック213でプレイヤキャラクタ201を停止させ、これら「動く床」が横並びとなるタイミングを見計らって、プレイヤの移動を再開させる(タップ操作を行う)ことができる。
【0056】
また、
図26に、上記
図22で示したような一時停止ブロックの利用例を示す。この例では、上記同様に進行方向の地面部分が途切れており、その途切れている部分に、ダメージ判定を有する火の玉オブジェクトが上下に反復するよう移動している。プレイヤは、この火の玉オブジェクトに当たらないようなタイミングを見計らってタップ操作を行うことで、当該途切れた部分を飛び越えてプレイヤキャラクタを進ませることが可能である。上記のいずれの場合も、基本的に自動で移動するゲームにおいて、進行タイミングをプレイヤに図らせるという要素を提供し、ゲームの興趣性をより高めることができるものである。
【0057】
なお、他の実施形態では、一時停止ブロックに載った場合に限らず、プレイヤキャラクタ201と一時停止ブロックとが所定の位置関係になったとき、例えば一時停止ブロックの真下にプレイヤキャラクタ201が来たとき(プレイヤキャラクタ201の真上に一時停止ブロックが位置しているという位置関係になったとき)に、上記のように移動を一時停止させるようにしてもよい。なお、この場合のプレイヤキャラクタ201と一時停止ブロックとの間の距離は、例えば近傍あるいは隣接と言える程度に近い距離であってもよいし、より離れた距離であってもよい。
【0058】
また、上記の例では、プレイヤキャラクタ201が一時停止ブロックの「上」に載った場合や、一時停止ブロックの「下」にプレイヤキャラクタ201が来た例を挙げたが、これは、厳密な意味で「上」または「下」である必要はない。多少は前後方向(左右方向)の幅があってもよく、例えばプレイヤキャラクタ201の一部分だけが一時停止ブロックの「上」にさしかかったような場合等でもよい。また、プレイヤキャラクタ201を基準にして例えば1ユニット分の範囲内(距離内)というような、プレイヤキャラクタ201の近傍といえるような範囲内で前後方向にずれた位置に一時停止ブロックが存在する場合も、上記のような所定の位置関係になったものとして扱っても良い(なお、この位置関係に関しては、上記逆方向ブロックについても同様のことが言える)。
【0059】
(4)「?」ブロック
次に、
図27〜
図29を用いて、「?」ブロックについて説明する。このブロックは、プレイヤキャラクタ201が下方から接触することで、コインオブジェクト202を出現させるブロックである。但し、上述したようなフィーバーモードの状態であるか否かで、出現するコインの枚数が変化するブロックである。
図27において、「?」ブロック214には、「?」の図柄が表示されている。フィーバーモードでは無いときに、プレイヤキャラクタ201が当該「?」ブロック214に下から接触する(下から叩く)と、
図28に示すように、コインオブジェクト202が1枚だけ、真上方向に出現し、当該コインオブジェクト202を獲得することができる(なお、他の実施形態では、当該コインオブジェクト202にプレイヤキャラクタ201を接触させることで、このコインオブジェクト202を獲得できるようにしてもよい)。一方、フィーバーモードの状態において、当該ブロックを下から叩いた場合は、
図29に示すように、プレイヤキャラクタ201の進行方向側に、複数枚のコインオブジェクト202がばらまかれるようにして出現する。また、進行方向側にばらまかれるため、これらのコインオブジェクト202の回収(獲得)が行いやすくなっている。このように、「?」ブロック214は、フィーバー
モードであるか否かによって、獲得できるコインの枚数を変化させることができ、ゲームの興趣性をより高めることができる。
【0060】
このように、上述したような各ギミックブロックに設定されている各種ギミックの発動条件として、各ギミックブロックとプレイヤキャラクタ201が所定の位置関係となっていること、あるいは、当該所定の位置関係となっている状態で、更にプレイヤからのタップ操作を受け付けたことが条件となっている。このような条件を満たしたことに応じて、各ギミックブロックに設定されている各種ギミックが発動するものである。
【0061】
次に、上述したようなタップ操作以外のプレイヤキャラクタの操作について説明する。本ゲームでは、上記のようにタップ操作によってプレイヤキャラクタに
通常手動アクションまたは特殊手動アクションを行わせることができる。このような操作の他、本ゲームでは、タッチを継続したまま、そのタッチ位置を移動させる操作を用いることで、そのジャンプ移動に「ブレーキ」をかけるようなことができる。具体的には、ジャンプ中に進行方向と逆方向に向けてこのような操作を行うことで、そのジャンプ移動に「ブレーキ」をかけるようなことができる。以下では、このような操作をスライド操作と呼ぶ。なお、スライド操作の他、フリックやスワイプと呼ばれる操作であってもよい。
図30に、単にタップ操作を行った場合の飛距離の例を示す。この場合は、飛距離Hだけジャンプで移動できることを示す。
図31に、タップ操作後にすぐに左方向(進行方向と反対方向)へのスライド操作をプレイヤが行った場合の例を示す。この場合は、スライド操作の内容(例えばスライドした量)に応じて、ジャンプ中におけるプレイヤキャラクタ201の移動速度が減速される。その結果、飛距離が
図30に比べて距離bだけ短い距離となる(距離bの長さが、スライド操作の内容に応じて決定される)。また、
図32に、プレイヤキャラクタ201が接地している状態で、タップ操作ではなく最初からスライド操作を行った場合の例を示す。このような場合は、スライド操作におけるタッチオンの検出に応じてプレイヤキャラクタ201のジャンプは開始されるが、ジャンプ開始と同時にスライド操作内容に応じた減速も行われることになる。その結果、プレイヤキャラクタ201の移動軌跡としては、少しだけ進行方向にジャンプ移動した後、後方に下がるように上昇し、最高点に到達後、後方に向けて下降するような軌跡となる。その結果、ジャンプ開始した地点よりも少しだけ後ろに下がって着地するような動きとなる。
【0062】
このように、本実施形態にかかるゲームでは、タップ操作という簡単な操作だけでもプレイ内容の多様性を高め、奥深いゲーム性を提供することができる。
【0063】
次に、
図33〜
図44を参照して、本実施形態におけるゲーム処理の詳細を説明する。
【0064】
図33は、スマートデバイス102のメインメモリ113に格納されるプログラムおよび情報の一例を示している。メインメモリ113には、ゲーム処理プログラム301、操作データ302、現在状態データ303、フィーバーメーター値304、獲得コイン枚数データ305、獲得ボーナスポイントデータ306、プレイヤキャラクタデータ307、敵キャラクタデータ311、地形オブジェクトデータ312、ギミックブロックデータ313、コースデータ314等が格納される。
【0065】
ゲーム処理プログラム301は、上述したようなゲーム処理を実行するためのプログラムである。具体的には、後述する
図34〜
図35のフローチャート処理を実行するためのプログラムである。
【0066】
操作データ302は、スマートデバイス102に対して行われた各種操作を示すデータである。本実施形態では、操作データ302には、ボタンデータやタッチパネルデータが含まれる。これらのデータは操作部115に対して行われた操作内容を示すデータであり、各種ボタンの押下状態やタッチパネルのタッチ座標やタッチ継続時間等を示すデータである。
【0067】
現在状態データ303は、ゲーム中におけるプレイヤキャラクタ201の現在状態を示すためのデータである。具体的には、プレイヤキャラクタ201が、以下に示すいずれの状態であるかを示すデータである。このデータで示される状態としては、(a)自動的に移動している状態(通常移動状態)、(b)自動アクションの実行中(自動アクション状態)、(c)通常手動アクションの実行中(通常手動アクション状態、なお、本ゲームでは通常手動アクションは実質的に「ジャンプ」のみである)、(d)特殊手動アクションの実行中(特殊手動アクション状態)、(e)移動を一時停止している状態(一時停止状態)、という少なくとも5つの状態がある。なお、初期値としては、「通常移動状態」が設定される。
【0068】
フィーバーメーター値304は、上記の
図2で示したフィーバーメーター203の値を示すデータである。獲得コイン枚数データ305は、プレイヤキャラクタ201が獲得したコインオブジェクト202の枚数を示すデータである。また、獲得ボーナスポイントデータ306は、上記のボーナスポイントの獲得数を示すデータである。(それぞれ、各ゲームコースのプレイ開始時に初期化される)
【0069】
プレイヤキャラクタデータ307は、プレイヤキャラクタ201を表示するためのデータである。プレイヤキャラクタデータ307には、上述した自動アクションのモーションを定義したデータである自動アクションモーションデータ308、通常手動アクションのモーションを定義したデータである通常手動アクションモーションデータ309、上記特殊手動アクションのモーションを定義したデータである特殊手動アクションモーションデータ310が含まれている。これらのモーションデータは、例えばアニメーションパターンを定義したデータである。また、例えば自動アクションモーションデータ308には、複数の自動アクションについてそれぞれ識別可能なようにして、複数の自動アクションのモーションデータが格納されている(通常手動・特殊手動アクションのモーションデータについても同様である)。また、その他、プレイヤキャラクタデータ307には、プレイヤキャラクタ201に関する各種データも含まれ得る。
【0070】
敵キャラクタデータ311は、(複数種類の)敵キャラクタについて定義したデータである。その外観を示すデータや、敵キャラクタの動作内容(行動の仕方)を示す情報、自動アクションの対象となる敵キャラクタであるか否かを示す情報等が含まれている。以下では、説明の便宜のため、自動アクションの対象となる敵キャラクタを「第1種敵キャラクタ」、自動アクションの対象とならない敵キャラクタを「第2種敵キャラクタ」と呼ぶこともある。
【0071】
地形オブジェクトデータ312は、ゲームコースを構成する各種地形オブジェクトについてのデータである。その外観を示すデータや、自動アクションの対象となる地形オブジェクト(上記
図6のような高い壁の上端部分や、小さな段差部分等)であるか否かを示す情報等が含まれている。
【0072】
ギミックブロックデータ313は、上述したようなギミックブロックについて定義したデータである。上述したような4種類のギミックブロックの役割・機能等を定義した情報が含まれている、また、上記以外のギミックブロックについての情報も含まれている、
【0073】
コースデータ314は、ゲームコースの内容を定義したデータである。コースの地形を示す情報や、コインオブジェクトや敵キャラクタの配置、ギミックブロックの配置を示す情報等が含まれている。当該データに基づいて、仮想ゲーム空間内にゲームコースが適宜生成されることになる。
【0074】
その他、メインメモリ113には、プレイヤキャラクタ201の移動方向(進行方向)を示す進行方向パラメータや、その移動速度を示す移動速度パラメータ、上述したジャンプを行う際の飛距離を示すジャンプ距離パラメータや、フィーバーモード中であるか否かを示すフラグ等、ゲーム処理において利用される各種データも適宜記憶される。
【0075】
次に、
図34および
図35のフローチャートを参照して、スマートデバイス102のプロセッサ部111によって実行されるゲーム処理の流れを説明する。
図34〜35は、当該ゲーム処理の詳細を示すフローチャートである。当該処理は、例えば、所定のゲームコース選択画面(図示せず)を表示し、プレイヤがプレイしたいコースを選んで、「プレイ開始」指示操作を行うことによって、開始される。
【0076】
図34において、まず、ステップS1で、プロセッサ部111は、初期処理を実行する。この処理では、コースデータ314に基づくゲームコースの生成と各種キャラクタ、オブジェクトの配置が実行される。また、フィーバーメーター値304や獲得コイン枚数データ305、獲得ボーナスポイントデータ306等の各種データを初期化する処理も実行される。また、上述したような進行方向パラメータの初期値として「右方向」を設定し、移動速度パラメータの初期値として所定の値を設定する処理等も実行される。そして、コースのスタート地点を仮想カメラで撮像したゲーム画像を画面に表示する処理も実行される。
【0077】
次に、ステップS2で、プロセッサ部111は、現在状態判定処理を実行する。具体的には、プロセッサ部111は、現在状態データ303を参照して、プレイヤキャラクタ201の現在状態を判定する。
【0078】
次に、ステップS3で、プロセッサ部111は、プレイヤキャラクタ201の現在状態が「通常移動状態」であるか否かを判定する。その結果、「通常移動状態」のときは(ステップS3でYES)、ステップS4で、通常移動処理が実行される。一方、「通常移動状態」ではないときは(ステップS3でNO)、後述するステップS5の処理に進む。
【0079】
図36および
図37は、上記通常移動処理の詳細を示すフローチャートである。
図36において、まず、ステップS21で、プロセッサ部111は、操作データ302を参照して、タップ操作が行われたか否かを判定する。その結果、タップ操作が行われていたときは(ステップS21でYES)、
図37のステップS29で、プロセッサ部111は、プレイヤキャラクタ201が、上述したような逆矢印ブロック211(
図8参照)に載っているか否かを判定する。その結果、載っているときは(ステップS29でYES)、ステップS30で、プロセッサ部111は、第1のギミックブロック処理を実行する。
【0080】
なお、上記タップ操作の検出に関して、本例では(所定時間内での)タッチオン〜タッチオフまでの操作をタップ操作として説明するが、他の実施形態では、タップ操作ではなく、タッチオンが検出されたか否かで判定するようにしても良い。すなわち、タッチオンが検出された時点で、後述するような特殊手動アクションや
通常手動アクションの実行を開始するような処理としてもよい。
【0081】
図38は、第1のギミックブロック処理の詳細を示すフローチャートである。この処理では、プレイヤキャラクタ201を進行方向とは逆の方向にジャンプさせるための処理が実行される。
図38において、まず、ステップS41で、プロセッサ部111は、プレイヤキャラクタ201の進行方向を、左斜め上方向(つまり、進行方向とは逆斜め上の方向)に設定する。次に、ステップS42で、プロセッサ部111は、操作データ302を参照し、上記タップ操作におけるタッチ継続時間に応じてプレイヤキャラクタ201のジャンプの飛距離を設定する。そして、ステップS43で、プロセッサ部111は、現在状態データ303に「通常手動アクション中」を示す情報を設定する。その後、第1のギミックブロック処理は終了する。
【0082】
図37に戻り、第1のギミックブロック処理が終われば、通常移動処理も終了する。
【0083】
一方、上記ステップS29の判定の結果、逆矢印ブロック211にプレイヤキャラクタ201が載っていないときは(ステップS29でNO)、プレイヤキャラクタ201を進行方向にジャンプさせるための処理が行われる。具体的には、ステップS31で、プロセッサ部111は、操作データ302を参照し、当該タップ操作におけるタッチ継続時間に応じてプレイヤキャラクタ201のジャンプの飛距離を設定する。次に、ステップS32で、プロセッサ部111は、現在状態データ303に「通常手動アクション中」を示す情報を設定する。そして、通常移動処理を終了する。
【0084】
図36に戻り、一方、上記ステップS21の判定の結果、タップ操作が行われていないときは(ステップS21でNO)、ステップS22で、プロセッサ部111は、プレイヤキャラクタ201が、上述した点線ブロック212、一時停止ブロック213、「?」ブロック214のいずれかに接触しているか否かを判定する。その結果、いずれかのギミックブロックに接触しているときは(ステップS22でYES)、ステップS27で、プロセッサ部111は、第2のギミックブロック処理を実行する。
【0085】
図39は、第2のギミックブロック処理の詳細を示すフローチャートである。
図39において、まず、ステップS51で、プロセッサ部111は、プレイヤキャラクタ201が、一時停止ブロック213に載っているか否かを判定する。当該判定の結果、載っているときは(ステップS51でYES)、ステップS52で、プロセッサ部111は、プレイヤキャラクタの移動を停止させるための処理を行う。すなわち、ステップS52で、プロセッサ部111は、プレイヤキャラクタ201の移動速度を0に設定する処理を実行する。次に、ステップS53で、プロセッサ部111は、現在状態データ303を「一時停止中」に設定する。
【0086】
一方、上記ステップS51の判定の結果、一時停止ブロック213に載っていないときは(ステップS51でNO)、ステップS54で、プロセッサ部111は、プレイヤキャラクタ201は上記点線ブロック212に接触したか否かを判定する。その結果、点線ブロック212に接触しているときは(ステップS54でYES)、ステップS55で、プロセッサ部111は、コインオブジェクト202を出現させる処理を行う。具体的には、接触した点線ブロック212に設定されている(表示されている)矢印方向に沿って、所定枚数のコインオブジェクト202を並べて出現させる処理が実行される。さらに、当該接触した点線ブロック212を消去する処理も実行される。
【0087】
一方、上記ステップS54の判定の結果、点線ブロック212に接触していないときは(ステップS54でNO)、ステップS56で、プロセッサ部111は、「?」ブロック214の下方から(下辺に)プレイヤキャラクタ201が接触した状態であるか否かを判定する。その結果、下から接触していないときは(ステップS56でNO)、第2のギミックブロック処理は終了する。下から接触しているときは(ステップS56でYES)、ステップS57で、プロセッサ部111は、「フィーバーモード」が発動している状態であるか否かを判定する。その結果、「フィーバーモード」ではないときは(ステップS57でNO)、ステップS58で、プロセッサ部111は、「?」ブロック214からコインオブジェクト202を1枚だけ出現させると共に、獲得コイン枚数データ305に1を加算する処理を実行する(上記
図28参照)。一方、「フィーバーモード」であるときは(ステップS57でYES)、ステップS59で、プロセッサ部111は、上記
図29で示したように、プレイヤキャラクタ201の進行方向側に向けてばらまかれるように、複数枚のコインオブジェクト202を「?」ブロック214から出現させる処理を実行する。すなわち、出現させる複数のコインオブジェクト202について、その移動方向はプレイヤキャラクタ201の進行方向側と設定される。その移動速度については、プレイヤキャラクタ201の移動速度よりも速い初速度が設定され、その後、減速するように設定される。また、これら複数枚のコインに設定される移動速度については、ランダムな速度が設定される。これにより、プレイヤキャラクタ201の位置よりも前方(進行方向)にコインがばらまかれるようになるため、本ゲームのような強制スクロールのゲームにおいても、これらのコインを回収しやすくすることができる。以上で、第2のギミックブロック処理は終了する。
【0088】
図36に戻り、次に、上記ステップS22の判定の結果、プレイヤキャラクタ201が、上述した点線ブロック212、一時停止ブロック213、「?」ブロック214のいずれにも接触していないと判定されたときの処理(ステップS22でNO)について説明する。この場合は、ステップS23で、プロセッサ部111は、自動アクションの実行条件を満たしているか否かを判定する。具体的には、プロセッサ部111は、プレイヤキャラクタ201の進行方向側でプレイヤキャラクタ201から所定範囲内に他のオブジェクト(敵キャラクタ、地形オブジェクト)が存在するか否かを判定する。換言すれば、プレイヤキャラクタ201と所定の位置関係となっている他のオブジェクトが存在するか否かを判定する。そして、当該条件を満たす他のオブジェクトが、自動アクションの対象となるオブジェクト(上記第1種敵キャラクタ等)であるか否かを判定する。自動アクションの対象となるオブジェクトであれば、自動アクション実行条件を満たすと判定し、そうでなければ、自動アクション実行条件は満たさないと判定することになる。
【0089】
上記判定の結果、自動アクション実行条件を満たすと判定されたときは(ステップS23でYES)、次に、ステップS24で、プロセッサ部111は、実行する自動アクションを選択あるいは決定する処理を実行する。この選択あるいは決定については、どのような処理でも良いが、例えば、特定の敵キャラクタや地形オブジェクトに、所定の自動アクション(の識別子等)を予め対応づけておき、このように対応づけられた自動アクションを選択するようにしてもよい。
【0090】
次に、ステップS25で、プロセッサ部111は、上記選択した自動アクションに応じたプレイヤキャラクタ201の進行方向や移動速度を設定する。次に、ステップS26で、プロセッサ部111は、現在状態データ303を「自動アクション中」に設定する。そして、通常移動処理を終了する。
【0091】
一方、上記ステップS23の判定の結果、自動アクション実行条件を満たしていないと判定されたときは(ステップS23でNO)、ステップS28で、プロセッサ部111は、設定されている移動速度および進行方向に基づいて、プレイヤキャラクタ201(および仮想カメラ)を移動させる処理を実行する。また、この際、上述以外のオブジェクトとの当たり判定処理も実行される。例えばコインオブジェクト202に接触していれば、そのコインオブジェクト202を獲得する処理が実行される。また、上記第2種敵キャラクタ(自動アクションの対象とならない敵キャラクタ)に接触していれば、プレイヤキャラクタ201にダメージ値が加算される等の処理が実行される。以上で、通常移動処理は終了する。
【0092】
図34に戻り、通常移動処理が終われば、
図35に示すステップS13の処理に進む。この処理については後述する。
【0093】
次に、上記ステップS3の判定の結果、プレイヤキャラクタ201の現在状態が「通常移動状態」ではないときについて説明する。この場合は(ステップS3でNO)、ステップS5で、プロセッサ部111は、プレイヤキャラクタ201の現在状態が「自動アクション中」であるか否かを判定する。その結果、「自動アクション中」のときは(ステップS5でYES)、ステップS6で、自動アクション処理が実行される。一方、「自動アクション中」ではないときは(ステップS5でNO)、後述するステップS7の処理に進む。
【0094】
図40〜41は、上記自動アクション処理の詳細を示すフローチャートである。
図40において、まず、ステップS61で、プロセッサ部111は、操作データ302を参照して、タップ操作が行われたか否かを判定する。その結果、タップ操作が行われていないときは(ステップS61でNO)、次に、ステップS62で、プロセッサ部111は、(現在実行中である)自動アクションのモーションが終了したか否かを判定する。その結果、まだ終了していなければ(ステップS62でNO)、次に、ステップS63で、プロセッサ部111は、上記自動アクションのモーションの実行を行う。すなわち、自動アクションのモーションに基づいてプレイヤキャラクタ201を移動させる。
【0095】
次に、ステップS64で、プロセッサ部111は、プレイヤキャラクタ201が、上述した点線ブロック212、一時停止ブロック213、「?」ブロック214のいずれかに接触しているか否かを判定する。その結果、いずれかのギミックブロックに接触しているときは(ステップS64でYES)、ステップS65で、プロセッサ部111は、第2のギミックブロック処理を実行する。なお、当該第2のギミックブロック処理は上記ステップS27の処理を同じであるため、説明は省略する。
【0096】
一方、ステップS64の判定の結果、上記のいずれのギミックブロックにも接触していないときは(ステップS64でNO)、ステップS67で、プロセッサ部111は、プレイヤキャラクタ201が上述以外の所定のオブジェクトに接触しているか否かを判定する。例えば、コインオブジェクト202や第2種敵キャラクタに接触しているか否かが判定される。当該判定の結果、接触しているときは(ステップS67でYES)、ステップS68で、接触しているオブジェクトに応じた処理、例えば、コインを獲得する処理等が実行される。一方、接触していなければ(ステップS67でNO)、当該ステップS68の処理はスキップされる。
【0097】
一方、上記ステップS62の判定の結果、自動アクションのモーションが終了したときは(ステップS62でYES)、ステップS66で、プロセッサ部111は、現在状態データ303に「通常移動状態」を設定する。そして、自動アクション処理を終了する。
【0098】
一方、上記ステップS61の判定の結果、タップ操作が行われていたときは(ステップS61でYES)、
図41のステップS71で、プロセッサ部111は、プレイヤキャラクタ201が、上述したような逆矢印ブロック211(
図9参照)に載っているか否かを判定する。その結果、載っているときは(ステップS71でYES)、ステップS72で、プロセッサ部111は、第1のギミックブロック処理を実行する。なお、当該第1のギミックブロック処理は上記ステップS30の処理を同じであるため、説明は省略する。
【0099】
一方、上記ステップS71の判定の結果、逆矢印ブロック211にプレイヤキャラクタ201が載っていないときは(ステップS71でNO)、次に、ステップS73で、プロセッサ部111は、特殊手動アクションの実行条件が満たされているか否かを判定する。例えば、予め定められた特定の自動アクションの実行中にタップ操作が行われた場合は、当該実行条件が満たされたと判定される。
【0100】
上記判定の結果、特殊手動アクションの実行条件が満たされていたときは(ステップS73でYES)、ステップS74で、プロセッサ部111は、実行する特殊手動アクションを選択あるいは決定する処理を実行する。例えば、特定の自動アクションに、特定の特殊手動アクションを予め対応づけておき、このように対応づけられた特殊手動アクションを選択する処理が実行される。そのため、上記
図3〜
図7を用いて説明したように、実行中の自動アクションに応じて、実行される特殊手動アクションの内容も異なることになる。すなわち、タップしたときに行われている自動アクションによって、異なる特殊手動アクションが実行される。
【0101】
次に、ステップS75で、プロセッサ部111は、現在状態データ303を「特殊手動アクション中」に設定する。
【0102】
一方、上記ステップS73の判定の結果、特殊手動アクションの実行条件が満たされていないときは(ステップS73でNO)、ステップS76で、プロセッサ部111は、タップ操作におけるタッチ継続時間に応じてプレイヤキャラクタ201のジャンプの飛距離(を示すパラメータ)を設定する。更に、ステップS77で、プロセッサ部111は、現在状態データ303に「
通常手動アクション中」を示す情報を設定する。つまり、特殊手動アクションの実行条件が満たされていないときは、手動アクションによるジャンプ操作として扱うことになる。以上で、自動アクション処理は終了する。
【0103】
図34に戻り、次に、上記ステップS5の判定の結果、プレイヤキャラクタ201の現在状態が「自動アクション中」ではないときについて説明する。この場合は(ステップS5でNO)、ステップS7で、プロセッサ部111は、プレイヤキャラクタ201の現在状態が「通常手動アクション中」であるか否かを判定する。その結果、「通常手動アクション中」のときは(ステップS7でYES)、ステップS8で、通常手動アクション処理が実行される。一方、「通常手動アクション中」ではないときは(ステップS7でNO)、後述するステップS9の処理に進む。
【0104】
図42は、上記通常手動アクション処理の詳細を示すフローチャートである(なお、本ゲームでは、実質的に、通常手動アクションは通常のジャンプとなる)。
図42において、まず、ステップS81で、プロセッサ部111は、通常手動アクションのモーションが終了したか否かを判定する。なお、本ゲームでは通常手動アクションは実質的にジャンプのアクションであるため、例えば、プレイヤキャラクタ201が地面部分に接地したら、手動アクションのモーションが終了したと判定してもよい。当該判定の結果、まだ終了していないときは(ステップS81でNO)、ステップS82で、通常手動アクションのモーションを実行する。すなわち、通常手動アクションのモーションに基づいてプレイヤキャラクタ201を移動させる処理が実行される。
【0105】
次に、ステップS84で、プロセッサ部111は、プレイヤキャラクタ201が、上述した点線ブロック212、一時停止ブロック213、「?」ブロック214のいずれかに接触しているか否かを判定する。その結果、いずれかのギミックブロックに接触しているときは(ステップS84でYES)、ステップS85で、プロセッサ部111は、第2のギミックブロック処理を実行する。なお、当該第2のギミックブロック処理は上記ステップS27の処理を同じであるため、説明は省略する。
【0106】
一方、ステップS84の判定の結果、上記のいずれのギミックブロックにも接触していないときは(ステップS84でNO)、ステップS85で、プロセッサ部111は、プレイヤキャラクタが上述以外の所定のオブジェクトに接触しているか否かを判定する。当該判定の結果、接触しているときは(ステップS85でYES)、ステップS86で、プロセッサ部111は、接触しているオブジェクトに応じた処理、例えば、コインオブジェクト202に接触していれば、コインを獲得する処理等を実行する。一方、接触していなければ(ステップS85でNO)、当該ステップS86の処理はスキップされる。
【0107】
次に、上記ステップS81の判定の結果、通常手動アクションのモーションが終了したときは(ステップS81でYES)、ステップS88で、プロセッサ部111は、プレイヤキャラクタ201の進行方向、移動速度を示すパラメータの初期値を設定する。更に、現在状態データ303に「通常移動状態」を設定する。そして、通常手動アクション処理を終了する。
【0108】
図34に戻り、次に、上記ステップS7の判定の結果、プレイヤキャラクタ201の現在状態が「通常手動アクション中」ではないときについて説明する。この場合は(ステップS7でNO)、ステップS9で、プロセッサ部111は、プレイヤキャラクタ201の現在状態が「特殊手動アクション中」であるか否かを判定する。その結果、「特殊手動アクション中」のときは(ステップS9でYES)、ステップS10で、特殊手動アクション処理が実行される。一方、「特殊手動アクション中」ではないときは(ステップS9でNO)、後述するステップS11の処理に進む。
【0109】
図43は、上記特殊手動アクション処理の詳細を示すフローチャートである。
図43において、まず、ステップS91で、プロセッサ部111は、特殊手動アクションのモーションが終了したか否かを判定する。当該判定の結果、まだ終了していなければ(ステップS
91でNO)、ステップS92で、プロセッサ部111は、現在実行される特殊手動アクションに対するボーナスポイントの加算とフィーバーメーター値の加算が既に行われたか否かを判定する。その結果、まだ加算されていないときは(ステップS92でNO)、ステップS93で、プロセッサ部111は、実行する特殊手動アクションに応じて、フィーバーメーター値304を加算する処理を実行する。更に、プロセッサ部111は、実行する特殊手動アクションに応じた上記ボーナスポイントを獲得ボーナスポイントデータ306に加算する処理も実行する。例えば、上述したような馬跳び中に行われた特殊手動アクションと、壁をよじ登っているときに行われた特殊手動アクションとでは、得られるフィーバーメーター値、ボーナスポイントが異なる量となる。一方、ボーナスポイント等が既に加算済みであれば(ステップS92でYES)、ステップS93の処理はスキップされる。
【0110】
次に、ステップS94で、プロセッサ部111は、特殊手動アクションのモーションの実行を行う。すなわち、特殊手動アクションのモーションに基づいてプレイヤキャラクタ201を移動させる処理を実行する。
【0111】
次に、ステップS95で、プロセッサ部111は、プレイヤキャラクタ201が、上述した点線ブロック212、一時停止ブロック213、「?」ブロック214のいずれかに接触しているか否かを判定する。その結果、いずれかのギミックブロックに接触しているときは(ステップS95でYES)、ステップS98で、プロセッサ部111は、第2のギミックブロック処理を実行する。なお、当該第2のギミックブロック処理は上記ステップS27の処理を同じであるため、説明は省略する。
【0112】
一方、ステップS95の判定の結果、上記のいずれのギミックブロックにも接触していないときは(ステップS95でNO)、ステップS96で、プロセッサ部111は、プレイヤキャラクタが上述以外の所定のオブジェクトに接触しているか否かを判定する。当該判定の結果、接触しているときは(ステップS96でYES)、ステップS97で、プロセッサ部111は、接触しているオブジェクトに応じた処理を実行する。一方、接触していなければ(ステップS96でNO)、当該ステップS97の処理はスキップされる。
【0113】
次に、上記ステップS91の判定の結果、特殊手動アクションのモーションが終了したときは(ステップS91でYES)、ステップS100で、プロセッサ部111は、プレイヤキャラクタ201の進行方向、移動速度を示すパラメータの初期値を設定する。更に、現在状態データ303に「通常移動状態」を設定する。そして、特殊手動アクション処理を終了する。
【0114】
図34に戻り、次に、上記ステップS9の判定の結果、プレイヤキャラクタ201の現在状態が「特殊手動アクション中」ではないときについて説明する。この場合は(ステップS9でNO)、ステップS11で、プロセッサ部111は、プレイヤキャラクタ201の現在状態が「一時停止中」であるか否かを判定する。その結果、「一時停止中」のときは(ステップS11でYES)、ステップS12で、一時停止処理が実行される。一方、「一時停止中」ではないときは(ステップS11でNO)、後述のステップS13の処理に進む。
【0115】
図44は、上記一時停止処理の詳細を示すフローチャートである。
図44において、まず、ステップS111で、操作データ302を参照して、タップ操作が行われたか否かを判定する。その結果、タップ操作が行われていないときは(ステップS111でNO)、当該一時停止処理は終了する(すなわち、特に何も行われず、プレイヤキャラクタ201が停止した状態が維持されることになる)。
【0116】
一方、タップ操作が行われていたときは(ステップS111でYES)、ステップS112で、プロセッサ部111は、プレイヤキャラクタ201が載っている一時停止ブロックに応じた進行方向および移動速度のパラメータの設定を行う。上記のように、本ゲームでは2種類の一時停止ブロックがある(
図19〜
図24参照)。そのため、プレイヤキャラクタ201が載っている一時停止ブロックに応じて、右方向に直進する動きか、ジャンプ移動かのいずれかの動きとなるように、進行方向と移動速度の設定が行われる。また、右方向に直進する動きの場合は、停止前の移動速度に戻すように移動速度の設定が行われる。
【0117】
次に、ステップS113で、プロセッサ部111は、現在状態データ303を通常移動状態に設定する。そして、一時停止処理は終了する。
【0118】
次に、
図35のステップS13以降の処理について説明する。まず、ステップS13で、プロセッサ部111は、描画処理を実行する。すなわち、プロセッサ部111は、上述したような処理が反映された仮想ゲーム空間を仮想カメラで撮像した画像を描画する処理を実行する。
【0119】
次に、ステップS14で、プロセッサ部111は、ゲームコースをクリアしたか否かを判定する。すなわち、ゴール地点に到達したか否かを判定する。なお、制限時間を設けている場合は、制限時間経過時点で、ゴールまで到達していなくともコースクリアとして扱うこのとする。当該判定の結果、コースクリアしていなければ(ステップS14でNO)、上記ステップS2に戻り、処理が繰り返される。コースクリアしていれば(ステップS14でYES)、ステップS15で、プロセッサ部111は、リザルト画面処理を実行する。具体的には、所定のリザルト画面を表示し、獲得したコイン枚数やボーナスポイント数、最終的なスコア等をプレイヤに提示する処理が実行される。
【0120】
以上で、本実施形態にかかるゲーム処理の詳細説明は終了する。
【0121】
このように、本実施形態では、タップ操作のみというシンプルな操作だけで、操作性を向上させつつ、そのプレイ内容に多様性を持たせることができる。例えば、上記のような自動アクションや特殊手動アクションを取り入れることで、単純な操作体系ながらもプレイヤに選択肢を増やすことができる。例えば、自動アクションがあることで、意図的にプレイヤキャラクタを敵キャラクタに接触させる等、プレイ内容の多様性を高めることができる。また、ボーナスポイントの付与などで特殊手動アクション自体をプレイヤにわかりやすく評価するため、プレイヤに対して、ゲームプレイに対する新たなモチベーションを与えることができる。また、シンプルな操作であるためゲームの初心者にも楽しませることができる一方で、自動アクションや特殊手動アクション、各種ギミックブロックという要素によって、熟練者に対するやりこみ要素を提供することもできる。
【0122】
また、本ゲームのような強制スクロール形式のゲームにおいて上記のような逆矢印ブロックを設けることで、自動スクロールの方向に変化を与えることで意外性を高めたり、コースの進行経路に多様性を与えたりすることができ、ゲームの興趣性をより高めることができる。
【0123】
また、本ゲームのような、プレイヤキャラクタが自動的に移動していく形式のゲームにおいて、上記のような一時停止ブロックを設けることで、プレイヤの操作に応じて移動のタイミングを選ぶことができる機会を提供できる。すなわち、自動移動している中でも、プレイヤの意思を反映させる機会を提供することができ、ゲームの興趣性を高めることができる。
【0124】
また、本ゲームのような自動スクロール形式(自動移動形式)のゲームにおいて、上記のような点線ブロックを設けることで、プレイヤキャラクタ201の動き(プレイヤの操作)をある程度誘導することが可能となる。つまり、点線ブロックで示される方向にコインオブジェクト202が出現することを(あるいは、コインではなくとも、何かがあることを)プレイヤに予測させることができるため、その矢印方向にプレイヤの操作を誘導する効果がある。これにより、進行経路の多様性をプレイヤに予告し、ゲームの興趣性をより高めることが可能となる。
【0125】
なお、上述した自動アクションのモーションとして、例えば敵キャラクタを回避するために馬跳びのモーションを行う例を示した。他の実施形態では、自動アクションと上記通常手動アクションとを同じアクションとするようにしてもよい。例えば、敵キャラクタを回避するための自動アクションとしては、上記通常手動アクションと同じジャンプのアクションとしてもよい。
【0126】
また、フィーバーメーター203に関して、上記の例では、特殊手動アクションを行ったときに当該メーターが貯まる例を示したが、他の実施形態では、自動アクションが実行されたときにも、フィーバーメーターが貯まるようにしても良い。この場合は、自動アクションで貯まる量よりも、特殊手動アクションで貯まる量のほうを大きくしても良い。これにより、プレイヤが特に操作せずともフィーバーメーターは貯まっていくため、ゲームの難易度を調節できると共に、特殊手動アクションを行うことの優位性も確保できる。
【0127】
また、上記では、フィーバーメーターのポイントが所定値に達したとき(メーターが貯まったとき)にフィーバーモードが発動する例を挙げたが、この他、上記特殊手動アクションによって貯まったポイントを用いる他の処理を実行可能なようにしてもよい。例えば、上記特殊手動アクションによって貯まったポイントを利用して他のプレイヤとの勝敗判定を行う対戦ゲーム処理を実行するようにしても良い。より具体的には、上記のポイント
の大小を比較して、勝敗判定を行えばよい。あるいは、上記の獲得コイン枚数および獲得ボーナスポイントの双方に基づいて勝敗判定を行っても良い(例えば、ボーナスポイントに基づいて獲得コイン数に補正係数をかけて大小判定を行なう等)。また、この対戦ゲーム処理は、同期対戦方式(リアルタイム対戦)でもよいし、非同期対戦方式でもよい。また、対戦ゲーム処理におけるデータの送受信に関しても、所定のサーバを経由する方式の対戦ゲーム処理でも良いし、サーバは経由せずにスマートデバイス間で直接通信を行う対戦ゲーム処理でもよい。また、上記のようなポイントを消費して、例えば上記のようなゲーム処理中に利用可能な「アイテム」を購入可能とするための購入処理(ショップ処理)を実行するようにしてもよい。
【0128】
また、特殊手動アクションに対するボーナスポイント等の付与に関して、上記実施例では、特殊手動アクションを行った時点でボーナスポイント等を付与していた。この他、他の実施形態では、一連のアクションの結果に対して、ボーナスポイント等を付与するようにしても良い。例えば、ゲームコース上において、通常では取りにくいような位置に複数枚のコインオブジェクト202が配置されているとする。そして、これら複数枚のコインオブジェクトを所定時間内に全て取った場合に、このコイン取得にかかる一連のアクションを事後的に特殊手動アクションとして扱い、ボーナスポイント等を付与するようにしても良い。また、その他、例えば、敵キャラクタを連続して3匹以上踏みつけるようなアクションを行った場合に、この一連のアクションを事後的に特殊手動アクションとして扱い、ボーナスポイント等を付与するようにしても良い。
【0129】
また、特殊手動アクションの実行条件の判定に関して、上記の例では、自動アクション中のタップ操作に基づいて判定していた。この他、他の実施形態では、
通常手動アクションのモーション中に行われたタップ操作に基づいて、特殊手動アクションの実行条件を判定しても良い。すなわち、通常手動アクションとしてプレイヤキャラクタ201をジャンプさせた場合、そのジャンプ中であって所定の条件をみたしている状況下でタップ操作が行われれば、特殊手動アクションを実行するようにしても良い。
【0130】
また、上記逆矢印ブロックに関して、上記の例では逆矢印ブロックに載ったときにタップ操作することで、一時的に逆方向にプレイヤキャラクタ201を移動させる例を示した。他の実施形態では、逆矢印ブロックにプレイヤキャラクタ201が接触した時点で、上記のような逆方向へのジャンプを行わせるようにしてもよい。この場合は、プレイヤは、手動アクションによるジャンプで当該逆矢印ブロックを回避しない限り、先に進めないこととなる。
【0131】
また、上記一時停止ブロックに関して、上記の例ではその上に載ると、プレイヤキャラクタ201の移動を一時停止させていた。他の実施形態では、一時停止させる他、プレイヤキャラクタ201の移動速度を減速させたり、あるいは、加速させたりするような処理を行ってもよい。
【0132】
また、上記実施例では、プレイヤキャラクタ201の自動移動方向とスクロール方向とが一致する場合を例として説明していた。この2つの方向は必ずしも一致している必要は無く、他の実施形態では、両者は異なる方向であってもよい。例えば、プレイヤキャラクタ201の自動移動方向は画面横方向であるが、ゲームコース自体は横方向にスクロールはせず、縦方向にスクロールする、というようなものであってもよい。つまり、ゲームコースが縦長の構成となっているものである(
図45参照)。この場合は、プレイヤキャラクタ201は、ジャンプを行うことで、下から上に向けて上っていく、というものである。また、この場合におけるプレイヤキャラクタ201の横方向における移動については、例えば、画面の右端まで移動すると、画面の左端から出現するというような移動の制御を行っても良い(
図46および
図47参照)。つまり、画面の右端と左端が繋がっていてループするような構成としてもよい。あるいは、
図48に示すように、画面の左右端を壁として構成しておき、上述したような壁蹴りジャンプを行うことによって、プレイヤキャラクタ201の自動移動方向が反対方向に切り替わる、という制御としてもよい。つまり、自動移動方向が右方向であった場合は、画面右端にプレイヤキャラクタ201が到達して壁蹴りジャンプを行うと(
図49参照)、自動移動方向が左方向に変化し(
図50参照)、その後、画面左端にプレイヤキャラクタ201が到達し(
図51参照)、壁蹴りジャンプを行うと(
図52参照)、自動移動方向が右方向に変化する(
図53参照)、というような制御としてもよい。
【0133】
また、上記実施形態においては、上記のようなゲーム処理の一連の処理が単一の装置(スマートデバイス)において実行される場合を説明したが、他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。さらには、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。