図1を参照して、本発明の一実施例に係る情報処理システムについて説明する。図1に示すように、当該情報処理システムの一例である情報処理システム1は、情報処理装置3およびサーバ200が、ネットワーク100を介して接続されて構築される。なお、図1においては、情報処理装置3が複数台図示されているが、情報処理システム1を構成する情報処理装置3は、1台であってもよい。
情報処理装置3は、無線または有線通信を用いて、ネットワーク100に接続可能に構成され、サーバ200との間でクライアント−サーバシステムを構成している。例えば、情報処理装置3は、所定のアプリケーション(例えば、ゲームアプリケーション)の実行が可能である。また、情報処理装置3は、上記所定のアプリケーションを実行することによって、ネットワーク100を介して、サーバ200と接続を確立して、サーバ200との通信が可能となる。例えば、情報処理装置3は、交換可能なメモリカードや光ディスク等の記憶媒体内に記憶され、または、他の装置から受信した情報処理プログラムを実行可能である。情報処理装置3は、一般的なパーソナルコンピュータ、据置型ゲーム機、携帯電話機、携帯ゲーム機、PDA(Personal Digital Assistant)等のデバイスであってもかまわない。
次に、図2を参照して、情報処理装置3について説明する。なお、図2は、情報処理装置3の構成の一例を示すブロック図である。図2において、情報処理装置3は、制御部31、記憶部32、プログラム格納部33、入力部34、表示部35、および通信部36を備える。なお、情報処理装置3は、制御部31を少なくとも含む情報処理装置と他の装置とを含む1以上の装置によって構成されてもよい。
制御部31は、各種の情報処理を実行するための情報処理手段(コンピュータ)であり、例えばCPUである。例えば、制御部31は、各種の情報処理として、上記アプリケーションを実行して、後述するゲーム処理やサーバ200を介したデータ送受信処理等を実行する機能を有し、CPUが所定のプログラムを実行することによって、制御部31における各機能が実現される。
記憶部32は、制御部31が上記情報処理を実行する際に用いる各種のデータを記憶する。記憶部32は、例えばCPU(制御部31)がアクセス可能なメモリである。
プログラム格納部33は、プログラムを記憶(格納)する。プログラム格納部33は、制御部31がアクセス可能な記憶装置(記憶媒体)であればどのようなものであってもよい。例えば、プログラム格納部33は、制御部31を含む情報処理装置内に設けられる記憶装置であってもよいし、制御部31を含む情報処理装置に着脱自在に装着される記憶媒体であってもよい。また、プログラム格納部33は、制御部31とネットワークを介して接続される記憶装置(サーバ等)であってもよい。制御部31(CPU)は、ゲームプログラムの一部または全部を適宜のタイミングで記憶部32に読み出し、読み出されたプログラムを実行するようにしてもよい。
入力部34は、ユーザによって操作可能な入力装置である。入力部34はどのような入力装置であってもよい。一例として、入力部34は、表示部35の画面上に設けられるタッチパネルでもよい。例えば、タッチパネルは、任意の種類のものであってよく、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものやシングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
表示部35は、制御部31の指示にしたがって画像を表示する。なお、情報処理装置3が据置型のゲーム装置やパーソナルコンピュータで構成される場合、表示部35が情報処理装置3と別体で構成されることもあり得る。
通信部36は、所定の通信モジュールによって構成され、ネットワーク100を介して他の機器(例えば、サーバ200)との間でデータを送受信したり、他の情報処理装置3との間でデータを送受信したりする。
次に、図3を参照して、サーバ200について説明する。なお、図3は、サーバ200の構成の一例を示すブロック図である。
サーバ200は、通信部201、制御部202、および記憶部203を有している。通信部201は、通信パケットの送受信を行うことで、ネットワーク100を介して情報処理装置3等と通信を行う。一例として、制御部202は、情報処理装置3との間で行われるゲーム進行の管理、ユーザが購入するゲーム内通貨、ゲームアイテム(例えば、コイン)、ゲームオブジェクト(例えば、ゲーム内で使用される装備)等を管理する処理、スロット抽選に当選する確率を管理する処理、課金に関する情報を管理する処理のほか、通信部201を介して情報処理装置3等との通信リンクを確立し、ネットワーク100におけるデータ搬送制御や経路選択を行う。また、制御部202は、複数の情報処理装置3との間でゲームを行う場合、当該ゲームを行う情報処理装置3の組み合わせや当該情報処理装置3の間のデータ通信の管理を行う。記憶部203は、制御部202で実行されるプログラム、上記処理に必要な各種データ、情報処理装置3との通信に必要な各種データ等が記憶される。なお、ネットワーク100を用いたデータ送受信に所定のログイン処理が必要なシステムである場合、当該ログインしようとしているユーザが正規のユーザか否かを判別する認証処理をサーバ200において行ってもかまわない。また、サーバ200は、単一のサーバマシンから構成されてもいいし、複数のサーバマシンによって構成されてもよい。
次に、情報処理装置3やサーバ200が行う具体的な処理を説明する前に、図4〜図9を用いて情報処理システム1において行われる移動および発射処理例の概要について説明する。移動および発射処理例は、情報処理システム1を用いて、プレイヤオブジェクトPO(移動オブジェクト)の移動方向の操作およびアイテムI(他のオブジェクト)の発射操作を行うための処理である。なお、図4は、情報処理装置3の表示部35に表示されるゲーム画像例を示す図である。図5は、情報処理装置3の表示部35に表示されるゲーム画像例を示す図である。図6は、表示画面を基準として、プレイヤオブジェクトPOの移動方向を制御する一例を示す図である。図7は、表示画面を基準として、アイテムIの発射動作を制御する一例を示す図である。図8は、表示画面を基準として、アイテムIに対する発射操作を判定するための判定領域の一例を説明するための図である。図9は、プレイヤオブジェクトPOを基準として、アイテムIに対する発射操作を判定するための判定領域の一例を説明するための図である。なお、以下の説明では、情報処理装置3において実行するアプリケーションの一例としてゲームを用いているが、情報処理装置3において他のアプリケーションを実行してもかまわない。
図4において、情報処理装置3の表示部35には、情報処理装置3でプレイされているゲームに対応したゲーム画像が表示され、その一例としてプレイヤオブジェクトPOがレースゲームを行う一場面が表示されている。例えば、上記ゲームにおいて、プレイヤオブジェクトPOは、仮想世界内に設けられたコース上をカートに乗車して走行する。当該コース上には、別のカートに乗車する敵オブジェクトEOも走行しており、当該コース上に設けられたゴールに到着するまでの順位が競われる。また、ゲーム画像を生成するための仮想カメラは、プレイヤオブジェクトPOの走行に応じてプレイヤオブジェクトPOの後方にコースに沿って配置される。なお、上記仮想カメラは、プレイヤオブジェクトPOがスピンしたりドリフトしたりするなど、コースの走行方向に対して異なる方向を向いた場合、当該プレイヤオブジェクトPOの後方からプレイヤオブジェクトPOを見る位置に常時配置されてもよいし、コースに沿った走行方向の後方からプレイヤオブジェクトPOを見る位置に配置されてもよい。なお、上記プレイヤオブジェクトPOが仮想空間において移動する移動オブジェクトの一例に相当する。
図4に示すように、表示部35の画面上に設けられたタッチパネル(入力部34)をタッチ操作することによって、プレイヤオブジェクトPOの移動方向を制御することができる。一例として、プレイヤオブジェクトPOは、コースに沿って自動的に前進走行するように制御されているが、プレイヤオブジェクトPOの左右の移動方向に関してはユーザ操作によってハンドル操作が可能に構成されている。具体的には、タッチパネルにタッチオンしたタッチ位置を基準として、右方向にスワイプするタッチ操作が行われた場合、プレイヤオブジェクトPOが右に移動方向を変化させる。また、タッチパネルにタッチオンしたタッチ位置を基準として、左方向にスワイプするタッチ操作が行われた場合、プレイヤオブジェクトPOが左に移動方向を変化させる。例えば、図4において、表示部35には、タッチパネルにタッチオンしたタッチ位置を示す基準画像Rと現在のタッチ位置を示すタッチ位置画像Tとが表示されており、基準画像Rに対してタッチ位置画像Tが右方向に配置されているため、プレイヤオブジェクトPOが右に移動方向(図示a方向)を変化させている。なお、プレイヤオブジェクトPOは、コースに沿って自動的に前進走行するように制御されなくてもよく、ユーザのアクセル操作に応じて走行するものであってもよい。また、プレイヤオブジェクトPOは、コースに沿って自動的に左右にハンドル操作されるものであってもよい。例えば、コースが右に曲がっていれば、ユーザがハンドル操作しない場合であっても、プレイヤオブジェクトPOの移動方向がある程度は右に変化し、右ハンドル操作があった場合にさらにプレイヤオブジェクトPOの移動方向が右に変化するようなものであってもよい。
また、タッチ操作することによって、プレイヤオブジェクトPOが所持しているアイテムIを発射することができる。例えば、表示部35には、プレイヤオブジェクトPOが所持しているアイテムIを示す複数の所持枠HFが設けられている。図4に示す所持枠HFの例では、3つのアイテムI1、I2、およびI3をそれぞれ所持することが可能である。また、プレイヤオブジェクトPOが所持している所持枠HF内のアイテムIのうち、1つのアイテムIがプレイヤオブジェクトPOのカート後方に設けられている使用準備位置に、使用準備アイテムIPとして表示されている。例えば、使用準備アイテムIPは、所持枠HF内のアイテムIのうち、最も早くに取得したアイテムIが選択され、図4の例では、左端の所持枠HFに表示されているバナナのアイテムI1が、使用準備アイテムIPとして上記使用準備位置に表示されている。
図5において、タッチパネルに対して上方向にスワイプするタッチ操作が行われると、プレイヤオブジェクトPOの使用準備位置に配置されている使用準備アイテムIPが発射可能な種類である場合、発射アイテムIMとなってプレイヤオブジェクトPOの前方に発射される。なお、典型的には、使用準備アイテムIPと発射アイテムIMとは同じオブジェクトであるが、異なる態様のオブジェクトに変化してもかまわない。また、使用準備位置に配置されている使用準備アイテムIMの種類(例えば、バナナのアイテム)によって、タッチパネルに対して下方向にスワイプするタッチ操作が行われた場合、プレイヤオブジェクトPOの後方に発射アイテムIMとして発射することもできる。なお、プレイヤオブジェクトPOの使用準備位置に配置されている使用準備アイテムIPの発射方向が固定されている場合、タッチパネルに対して上方向および下方向の何れの方向にスワイプするタッチ操作が行われたとしても、当該固定された発射方向に発射アイテムIMとなって発射されてもかまわない。また、使用準備位置に配置されている使用準備アイテムIPがプレイヤオブジェクトPOから発射されずにプレイヤオブジェクトPO自体によって使用される種類である場合、タッチパネルに対して上方向または下方向にスワイプするタッチ操作が行われると、プレイヤオブジェクトPOの使用準備位置に配置されている使用準備アイテムIPがプレイヤオブジェクトPOによって使用される。なお、所持枠HFは、仮想空間内に配置されてもよいし、表示画面にオーバーレイして配置されてもよい。また、上記アイテムIの使用することによるゲーム動作の方向が、移動オブジェクトの移動とは異なるゲーム動作の方向の一例に相当する。また、上記発射アイテムIM(アイテムI)が移動オブジェクトから離れる方向に移動する他のオブジェクトの一例に相当する。
プレイヤオブジェクトPOが発射アイテムIMを発射した場合、当該発射アイテムIMの種類に応じて、プレイヤオブジェクトPOがレースを進める上で有利となる効果を得ることができる。例えば、甲羅を示す発射アイテムIMが敵オブジェクトEOに衝突した場合、当該衝撃によって敵オブジェクトEOの走行を減速させたり停止させたりすることによる妨害を行うとともに、衝突状況に応じて敵オブジェクトEOが損傷することがある。また、バナナを示す発射アイテムIMが敵オブジェクトEOに衝突した場合、敵オブジェクトEOが路上で滑るような影響が与えられて、敵オブジェクトEOの走行を減速させたり停止させたりする。なお、上記甲羅を示す発射アイテムIMおよびバナナを示す発射アイテムIMが、衝突したオブジェクトを減速または停止させる攻撃アイテムの一例に相当する。
また、使用準備アイテムIPを使用することによって、プレイヤオブジェクトPO自体の能力が一定期間上昇する場合もある。例えば、キノコを示す使用準備アイテムIPが使用された場合、プレイヤオブジェクトPOの速度が一定期間上昇する。なお、使用準備アイテムIPを使用することによって、プレイヤオブジェクトPO自体のサイズが一定期間大きくなったり、プレイヤオブジェクトPOが所有するゲーム内コインが増えたりする効果が得られてもよい。
アイテムIを使用した場合、当該アイテムIがプレイヤオブジェクトPOにおいて未所持状態となるため、使用準備位置に表示されていた使用準備アイテムIPが消去されるとともに、当該使用準備アイテムIPに対応する所持枠HFのアイテムI(図5の例では、左端の所持枠HFに表示されていたアイテムI1)も消去される。これによって、発射アイテムIMとして発射されたアイテムIを表示していた所持枠HFは、アイテムIが表示されていない空枠Eとなる。
上述したように、情報処理システム1において行われる移動および発射処理例では、タッチパネルに対するスワイプ入力が左右方向である場合にプレイヤオブジェクトPOの移動方向を変化させ、タッチパネルに対するスワイプ入力が上下方向である場合にアイテムIの発射動作を制御している。以下、図6および図7を参照して、スワイプ入力の方向を判別する一例について説明する。
図6において、プレイヤオブジェクトPOの左右の移動方向は、タッチパネルに対するスワイプ入力における表示画面の左右方向成分の大きさに応じて設定される。具体的には、タッチパネルに対するタッチ操作において、当該タッチパネルに対してタッチオンされた基準座標R0と、当該タッチオンから継続して行われているスワイプ操作における現タッチ座標位置Tとを、表示部35の表示画面座標系に基づいてそれぞれ設定する。例えば、図6に示すように、表示部35の表示画面には、表示画面の左右方向となる第1軸をX軸(右方向がX軸正方向)とし、表示画面の上下方向となる当該第1軸と直交する第2軸をY軸(上方向がY軸正方向)とする表示画面座標系が定義される。このとき、基準座標がR0(X0、Y0)として設定され、現タッチ位置座標TがT(Xt、Yt)として設定される。この場合、スワイプ入力における表示画面の左右方向成分(X軸方向成分)の大きさがXt−X0で算出され、スワイプ入力における表示画面の上下方向成分(Y軸方向成分)の大きさがYt−Y0で算出される。本実施例では、X軸方向成分Xt−X0が正の値である場合、Xt−X0の絶対値に応じたハンドル角度で右方向にプレイヤオブジェクトPOの移動方向を変化させる。また、X軸方向成分Xt−X0が負の値である場合、Xt−X0の絶対値に応じたハンドル角度で左方向にプレイヤオブジェクトPOの移動方向を変化させる。そして、タッチパネルに対してタッチオフされた場合、上記基準座標R0および現タッチ座標位置Tを初期化するとともに、所定の変化量でハンドル角度を中立位置まで戻すようにプレイヤオブジェクトPOの移動方向を変化させる。なお、上記基準座標R0が、座標入力を示すユーザ入力により定まる第1基準座標の一例に相当する。また、上記X軸が、第1軸の一例に相当し、上記Y軸が第2軸の一例に相当する。
なお、Xt−X0の絶対値に応じたハンドル角度は、コースに対するプレイヤオブジェクトPOの位置に応じて変化させてもかまわない。例えば、プレイヤオブジェクトPOがコースの中央にいる場合はユーザ操作に応じて設定されるハンドル角度を相対的に大きくし、プレイヤオブジェクトPOがコースの端ではユーザ操作に応じて設定されるハンドル角度を相対的に小さくしてもよい。また、ユーザ操作に応じたハンドル角度、コースの状況、カートの性能等によって、プレイヤオブジェクトPOが乗車しているカートが滑って、いわゆるドリフト走行が行われてもよい。この場合、ハンドル角度とプレイヤオブジェクトPOのカートの移動方向とが一致しない状態が生じるため、結果的に、タッチパネルに対するスワイプ入力における左右方向成分の大きさとプレイヤオブジェクトPOの移動方向とが、完全に一致していない状態が生じることもあり得る。
図7において、タッチパネルに対するスワイプ入力における表示画面の上下方向成分に応じて、アイテムIの発射動作が制御される。具体的には、タッチパネルに対するタッチ操作において、当該タッチパネルに対してタッチオンされた基準座標Rm(タッチオン時点では、上述した基準座標R0と同じ位置)と、当該タッチオンから継続して行われているスワイプ操作における現タッチ座標位置Tとを、表示部35の表示画面座標系に基づいてそれぞれ設定する。例えば、図7に示すように、表示部35の表示画面には、上記図6と同様に、表示画面の左右方向となる第1軸をX軸(右方向がX軸正方向)とし、表示画面の上下方向となる当該第1軸と直交する第2軸をY軸(上方向がY軸正方向)とする表示画面座標系が定義される。このとき、基準座標がRm(Xm、Ym)として設定され、現タッチ位置座標TがT(Xt、Yt)として設定される。そして、基準座標Rmから現タッチ位置座標Tに向かうベクトルFDが算出され、当該ベクトルFDの方向に基づいて、タッチパネルに対するスワイプ入力が上方向または下方向に相当するか否かが判定される。
タッチパネルに対するスワイプ入力における表示画面の上下方向成分の判定処理では、基準座標Rmと現タッチ位置座標Tとの間の位置関係が所定の条件を満たすように維持され、当該条件から外れた場合に当該条件を満たすように基準座標Rmが移動する。例えば、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ位置の軌跡(タッチ入力軌跡)の長さが閾値Lより長い場合、当該長さが閾値L以下となるように基準座標Rmが当該タッチ入力軌跡上を現タッチ位置座標Tに向かって移動する(図示b方向)。なお、上記長さが閾値L以下となるように上記タッチ入力軌跡上を現タッチ位置座標Tに向かって移動する基準座標Rmは、閾値L以下の長さとなるまで時間経過に応じて所定の速度で閾値Lの長さとなるまで移動してもよいし、即時に閾値L以下の長さとなるように移動してもよい。また、タッチ位置座標Tに向かって基準座標Rmを移動させる処理は、閾値Lより長くなる過去に記録されたタッチ位置座標Tを上記所定の速度に基づいて順次削除し、当該削除処理に応じて最も古いタッチ位置座標Tとなった位置が基準座標Rmに設定されてもよい。このように基準座標Rmがタッチ入力軌跡に沿って移動することによって、基準座標Rmと現タッチ位置座標Tとの間は、その間のタッチ入力軌跡長さがL以下となる位置関係に維持され、当該移動後の基準座標Rmから現タッチ位置座標Tに向かうベクトルFDが算出される。なお、タッチ入力が行われている限り、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さが閾値Lより短くても、基準座標Rmが常に現タッチ位置座標Tに近づくようにタッチ入力軌跡上を移動してもよい。
ベクトルFDの長さが所定の長さ以上、かつ、ベクトルFDの方向が判定領域内にある場合、タッチパネルに対して表示画面の上方向または下方向のスワイプ入力が行われたと判定され、使用準備アイテムIPが発射アイテムIMとなって当該判定に応じた方向に発射される。例えば、図8に示すように、Y軸正方向を中心とする所定の角度範囲が前方判定領域UAとして設定され、Y軸負方向を中心とする所定の角度範囲が後方判定領域LAとして設定される。そして、ベクトルFDの長さが所定の長さ以上でベクトルFDの方向が前方判定領域UA内となった場合、使用準備アイテムIPが発射アイテムIMとなってプレイヤオブジェクトPOの前方(例えば、真正面方向)に発射される。また、使用準備アイテムIPがプレイヤオブジェクトPOの後方にも発射可能、かつ、ベクトルFDの長さが所定の長さ以上でベクトルFDの方向が後方判定領域LA内となった場合、使用準備アイテムIPが発射アイテムIMとなってプレイヤオブジェクトPOの後方(例えば、真後ろ方向)に発射される。なお、上記ベクトルFDの長さが所定の長さ以上であることを判定することが、第2基準座標を基準としたユーザ入力の座標変化が基準値以上であることを判定することの一例に相当する。また、上記ベクトルFDの方向が判定領域内にあることを判定することが、ユーザ入力の変化の向きが第2軸方向を基準とする所定の角度条件を満たすことを判定することの一例に相当する。
なお、後方判定領域LAの角度範囲は、前方判定領域UAの角度範囲より大きく設定してもよい。一般的に、タッチパネルを用いた下方向へのスワイプ入力は、上方向のスワイプ入力より難しいことが多く、特に情報処理装置3を把持した手の親指でタッチ操作をする場合に顕著となり、このように相対的に難しいスワイプ入力の判定条件を緩和することによって、操作性を向上することができる。また、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さを判定するための所定の長さは、判定する方向に応じて異なる閾値としてもよい。上述した理由により相対的に難しいスワイプ入力の判定条件を緩和するために、後方判定領域LA内であるか否かを判定する対象となるために要求されるタッチ入力軌跡の長さは、前方判定領域UAであるか否かを判定する対象となるために要求されるタッチ入力軌跡の長さより短くてもよい。また、上記処理では、基準座標Rmがタッチ入力軌跡に沿って移動する例を用いたが、基準座標Rmが移動する態様はこれに限らない。例えば、基準座標Rmと現タッチ位置座標Tとの直線距離が閾値L以下となるように、基準座標Rmが現タッチ位置座標Tに向かって近づく直線上を移動してもよい。また、基準座標Rmを基準座標R0と同じ位置、すなわちタッチオンされた位置に固定して設定してもよい。なお、異なる角度範囲に設定された上記前方判定領域UAおよび後方判定領域LAが、異なる値が用いられた基準値の一例に相当する。
また、上記入力判定に用いている基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さは、他のパラメータに代えてもかまわない。第1の例として、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さに代えて、基準座標Rmと現タッチ位置座標Tとの間の直線距離を用いてもかまわない。第2の例として、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さに代えて、ベクトルFDにおけるY軸成分の長さを用いてもかまわない。第3の例として、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さに代えて、ベクトルFDの長さを用いてもかまわない。
また、タッチパネルに対するスワイプ入力における表示画面の上下方向成分の判定処理では、基準座標Rmを用いずに判定してもかまわない。第1の例として、現タッチ位置座標Tまでのスワイプ位置の変化速度(例えば、前回検出された現タッチ位置座標Tから今回検出された現タッチ位置座標Tまでの長さや、直前に検出された所定時間内のタッチ入力軌跡の長さ)が基準値以上である場合に、当該変化速度が検出されたスワイプ入力の方向が前方判定領域UAまたは後方判定領域LA内であれば、タッチパネルに対して表示画面の上方向または下方向のスワイプ入力が行われたと判定してもよい。第2の例として、現タッチ位置座標Tまでのスワイプ位置の変化速度が基準値以上である場合に、当該変化速度が検出されたスワイプ入力のY軸方向成分の長さが所定の長さ以上であれば、タッチパネルに対して表示画面の上方向または下方向のスワイプ入力が行われたと判定してもよい。
また、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さを判定する基準値となる所定の長さは、ユーザのスワイプ入力に応じて変化させてもよい。例えば、スワイプ入力における左右方向成分Xt−X0が所定の閾値以上の大きさである場合、上記基準値となる所定の長さを変化させてもよい。一例として、スワイプ入力における左右方向成分Xt−X0が所定の閾値以上の大きさである場合に、上記基準値となる所定の長さを長くすることによって、プレイヤオブジェクトPOのハンドルを左右に大きく切るような操作やいわゆるドリフト走行するような操作、すなわちスワイプ入力における変化量が大きい操作を行う場合に、ユーザが意図せずアイテムを前後に発射する操作を行ったと判定されることを防止することができる。他の例として、スワイプ入力における左右方向成分Xt−X0が所定の閾値以上の大きさである場合に、上記基準値となる所定の長さを短くすることによって、プレイヤオブジェクトPOのハンドルを左右に大きく切るような操作やいわゆるドリフト走行するような操作中にアイテムIを発射する操作を行っても、当該発射操作による左右移動方向への影響を少なくすることができる。
また、上述した実施例では、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さが所定の長さ以上、かつ、ベクトルFDの方向が判定領域内にある条件を満たした場合に、プレイヤオブジェクトPOの真正面方向または真後ろ方向に発射アイテムIMが発射される。これは、スワイプ入力の上下方向成分のみを用いて判定する場合に、ユーザが左右方向のスワイプ入力をしたつもりであっても当該スワイプ入力に上下方向成分が含まれていることによって発射判定されることを防止するためであり、上記条件を設定することによって正確な入力判定が可能となる。また、プレイヤオブジェクトPOの真正面方向または真後ろ方向に発射方向を制限することによって、当該方向からずれた入力誤差を吸収することができ、操作の難易度を考慮することも可能である。しかしながら、このような効果を期待しない場合、発射アイテムIMが発射される方向は、プレイヤオブジェクトPOの真正面方向または真後ろ方向からずれた方向であってもよい。例えば、ベクトルFDの方向が前方判定領域UA内となった場合、Y軸正方向とベクトルFDの方向との角度差に基づいて、プレイヤオブジェクトPOの真正面方向から当該角度差だけずれた方向に発射アイテムIMが発射されてもよい。また、ベクトルFDの方向が後方判定領域LA内となった場合、Y軸負方向とベクトルFDの方向との角度差に基づいて、プレイヤオブジェクトPOの真後ろ方向から当該角度差だけずれた方向に発射アイテムIMが発射されてもよい。
また、発射アイテムIMが発射される方向は、プレイヤオブジェクトPOのタイプやプレイヤオブジェクトPOが用いている装備(例えば、プレイヤオブジェクトPOが乗車しているカート)に応じて異なってもよい。
また、上述したタッチパネルに対するスワイプ入力の判定処理においては、表示部35の表示画面に定義された座標軸(XY軸)を基準としてタッチ入力方向の判定を行っているが、他の座標軸を基準としてタッチ入力方向を判定してもかまわない。例えば、図9に示すように、プレイヤオブジェクトPOに定義された座標軸を基準として、タッチ入力方向の判定を行うことが考えられる。
図9において、プレイヤオブジェクトPOは、表示部35の表示画面において右に向いた状態で表示されている。そして、プレイヤオブジェクトPOの左右方向となる第1軸をx軸(プレイヤオブジェクトPOの右方向がx軸正方向)とし、プレイヤオブジェクトPOの前後方向となる当該第1軸と直交する第2軸をy軸(プレイヤオブジェクトPOの前方方向がy軸正方向)とするプレイヤオブジェクト座標系が定義される。このような座標系を用いる場合であっても、スワイプ操作の左右方向を判定するための基準座標R0をR0(x0、x0)として設定し、現タッチ位置座標TをT(xt、yt)として設定する。これによって、スワイプ入力におけるプレイヤオブジェクトPOの左右方向成分(x軸方向成分)の大きさがxt−x0で算出し、スワイプ入力におけるプレイヤオブジェクトPOの前後方向成分(y軸方向成分)の大きさがyt−y0で算出することができる。そしてx軸方向成分xt−x0が正の値である場合、xt−x0の絶対値に応じたハンドル角度で右方向にプレイヤオブジェクトPOの移動方向を変化させる。また、x軸方向成分xt−x0が負の値である場合、xt−x0の絶対値に応じたハンドル角度で左方向にプレイヤオブジェクトPOの移動方向を変化させる。そして、タッチパネルに対してタッチオフされた場合、上記基準座標R0および現タッチ座標位置Tを初期化するとともに、所定の変化量でハンドル角度を中立位置まで戻すようにプレイヤオブジェクトPOの移動方向を変化させる。
また、上記プレイヤオブジェクト座標系において、スワイプ操作のプレイヤオブジェクトPOの前後方向を判定するための基準座標RmをRm(xm、xm)として設定する。そして、基準座標Rmから現タッチ位置座標Tに向かうベクトルFDを算出し、当該ベクトルFDの方向に基づいて、タッチパネルに対するスワイプ入力がプレイヤオブジェクトPOの前方方向または後方方向に相当するか否かを判定する。また、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さが閾値Lより長い場合、当該長さが閾値L以下となるように基準座標Rmを当該タッチ入力軌跡に沿って現タッチ位置座標Tに向かって移動させる。そして、ベクトルFDの長さが所定の長さ以上、かつ、ベクトルFDの方向が判定領域内にある場合、タッチパネルに対してプレイヤオブジェクトPOの前方方向または後方方向のスワイプ入力が行われたと判定され、使用準備アイテムIPが発射アイテムIMとなって当該判定に応じた方向に発射される。
例えば、プレイヤオブジェクト座標系では、図9に示す判定領域が用いられる。例えば、プレイヤオブジェクト座標系では、プレイヤオブジェクトPOの前方方向となるy軸正方向を中心とする所定の角度範囲が前方判定領域UApとして設定され、プレイヤオブジェクトPOの後方方向となるy軸負方向を中心とする所定の角度範囲が後方判定領域LApとして設定される。そして、ベクトルFDの長さが所定の長さ以上でベクトルFDの方向が前方判定領域UAp内となった場合、使用準備アイテムIPが発射アイテムIMとなってプレイヤオブジェクトPOの前方(例えば、真正面方向)に発射される。また、使用準備アイテムIPがプレイヤオブジェクトPOの後方にも発射可能、かつ、ベクトルFDの長さが所定の長さ以上でベクトルFDの方向が後方判定領域LAp内となった場合、使用準備アイテムIPが発射アイテムIMとなってプレイヤオブジェクトPOの後方(例えば、真後ろ方向)に発射される。また、上記x軸が、第1軸の他の例に相当し、上記y軸が第2軸の他の例に相当する。なお、上記プレイヤオブジェクトPOの真正面方向は、プレイヤオブジェクトPOの向いている方向の正面でもよいし、表示画面の画面真上方向(すなわち、仮想カメラとプレイヤオブジェクトPOを結ぶ方向)でもよい。
なお、プレイヤオブジェクト座標系において設定される前方判定領域UApおよび後方判定領域LApは、プレイヤオブジェクトPOが回転表示された場合、当該回転表示される角度に応じて表示画面に対して回転して設定される。このとき、前方判定領域UApおよび後方判定領域LApが表示画面に回転して設定されることに応じて、その範囲が拡大または縮小されてもよい。
このように、プレイヤオブジェクト座標系では、表示画面に表示されるプレイヤオブジェクトPOの向きが変化すると、スワイプ方向を判定するための座標軸(xy軸)が変化する。したがって、プレイヤオブジェクト座標系を用いる場合、タッチパネルをタッチ操作するユーザは、プレイヤオブジェクトPOの向きに応じたリアリティの高いスワイプ操作が可能となり、表示されているプレイヤオブジェクトPOの方向に応じた直感的なタッチ操作が可能となる。なお、プレイヤオブジェクト座標系の基準となるプレイヤオブジェクトPOの向きは、プレイヤオブジェクトPOが乗車しているカートの向きでもよいし、カートに乗車しているプレイヤオブジェクトPOの向きでもかまわない。カートにプレイヤオブジェクトPOが乗車している場合、それぞれの向きが異なることも考えられ、何れの向きに応じて前方判定領域UApや後方判定領域LApが設定されてもかまわない。一方、表示部35の表示画面に定義された座標軸(XY軸)は、表示画面に表示されるプレイヤオブジェクトPOの方向が変化した場合でも当該表示画面に対して固定されている。したがって、表示画面に定義された座標軸を用いる場合、タッチパネルをタッチ操作するユーザは、固定された座標軸を用いたスワイプ操作が可能となり、表示されているプレイヤオブジェクトPOの方向とは無関係に固定された簡単な操作方法を用いたタッチ操作が可能となる。また、表示画面に定義された座標軸を用いる場合、タッチ操作を判定するための座標軸が固定されることによって、当該判定のための処理負荷を軽減することが可能となる。
なお、上述したタッチ入力方向の判定処理では、判定するタッチ入力方向に応じて異なる座標軸を用いてもかまわない。一例として、タッチパネルに対するスワイプ入力における左右方向成分の大きさの検出においては表示部35の表示画面座標系を用いて判定し、タッチパネルに対するスワイプ入力における上下方向(プレイヤオブジェクトPOの前後方向)の検出においてはプレイヤオブジェクト座標系を用いることが考えられる。他の例として、タッチパネルに対するスワイプ入力における左右方向成分の大きさの検出においてはプレイヤオブジェクト座標系を用いて判定し、タッチパネルに対するスワイプ入力における上下方向の検出においては表示部35の表示画面座標系を用いることが考えられる。このように異なる座標系を並行して用いてタッチ入力方向を判定する場合であっても、基準座標R0およびRmや現タッチ位置座標Tをそれぞれの座標系において設定することによって、同様にタッチ入力方向を判定することが可能となる。
また、上述した説明では、表示画面座標系を用いる操作判定とプレイヤオブジェクト座標系を用いる操作判定とを用いたが、何れの座標系を用いるかに関して、操作対象毎にユーザ選択可能にしてもよい。上述したように何れの座標系を用いる場合であっても利点があるため、ユーザの好みによって選択可能にすることによって、さらに操作性を向上させることが可能となる。
また、アイテムの使用においては、表示画面に表示された所持枠HF内のアイテムIや使用準備位置の使用準備アイテムIP上のタッチパネルをタッチ操作(例えば、タップ操作)されることによって、当該タッチ操作されたアイテムが使用されてもよい。具体的には、使用準備アイテムIP上のタッチパネルをタッチオンしたタイミング、または使用準備アイテムIP上のタッチパネルをタッチオンした後にタッチオフしたタイミングで、タッチ操作されたアイテムが使用される。この場合、タッチ操作されたアイテムがプレイヤオブジェクトPOから発射されるタイプであれば、その発射方向がデフォルト方向に設定されてもよい。なお、表示画面に表示された所持枠HF内のアイテムIや使用準備位置の使用準備アイテムIP上のタッチパネルをタッチ操作することによってこれらのアイテムが使用される場合であっても、スワイプ操作(ドラッグ操作)された方向(例えば、表示画面の上方向や下方向)に応じて当該アイテムが発射される方向が変化してもかまわない。
また、入力方向を判定するための判定領域(前方判定領域UA、後方判定領域LA、前方判定領域UAp、および後方判定領域LAp)は、プレイヤオブジェクトPOの動作に応じて、その大きさが変化してもかまわない。例えば、プレイヤオブジェクトPOがハンドル角度とは異なる方向に向く動作(例えば、ドリフト走行動作、スピン動作等)をしている状態において、上記判定領域の大きさを狭く変化させてもよい。プレイヤオブジェクトPOがハンドル角度とは異なる方向に向くように動作している場合、ユーザが入力した方向がユーザの操作の意図とは異なって判定領域内に入ってしまうことが考えられる。したがって、このようなプレイヤオブジェクトPOの動作に対応して判定領域を狭くすることによって、ユーザの意図とは異なる操作判定を少なくすることができる。
また、上述した説明では、タッチパネルに対するスワイプ入力における左右方向成分の大きさに応じて、プレイヤオブジェクトPOの移動方向を制御しているが、少なくとも当該左右成分の大きさを用いていれば、他の操作や他の方向成分を加えてもかまわない。一例として、所定の操作(例えば、所定の操作ボタンを押下する操作や所定の操作ボタン画像へのタッチ操作)が行われている状態に限って、タッチパネルに対するスワイプ入力における左右方向成分の大きさに応じて、プレイヤオブジェクトPOの移動方向を制御してもよい。他の例として、タッチパネルに対するスワイプ入力における左右方向成分の大きさおよび上下方向成分の大きさに応じて、プレイヤオブジェクトPOの移動方向を制御してもよい。この場合、スワイプ入力における上下左右方向成分に応じてプレイヤオブジェクトPOの左右移動方向を制御することとなり、一例として、スワイプ入力における左右方向成分が+1.73、上下方向成分が+1.00の場合に右へのハンドリング量として2が用いられることが考えられる。
また、タッチパネルに対するスワイプ入力における上下方向成分に応じて、アイテムIに対する動作制御が行われているが、少なくとも当該上下成分を用いていれば、他の操作や他の方向成分を加えてもかまわない。一例として、所定の操作(例えば、所定の操作ボタンを押下する操作や所定の操作ボタン画像へのタッチ操作)が行われている状態に限って、タッチパネルに対するスワイプ入力における上下方向成分の大きさに応じて、アイテムIに対する動作を制御してもよい。他の例として、タッチパネルに対するスワイプ入力における上下方向成分および左右方向成分に応じて、アイテムIに対する動作を制御してもよい。この場合、スワイプ入力における上下方向成分に応じてアイテムIの発射動作を制御し、スワイプ入力における左右方向成分に応じて発射されたアイテムIの方向を制御することが考えられる。
また、上述した説明では、タッチパネルに対するスワイプ入力における左右方向成分の大きさに応じて、プレイヤオブジェクトPOの移動方向を制御しているが、他の要素を制御してもかまわない。例えば、プレイヤオブジェクトPOの主観視点によるゲーム画像が表示される場合、タッチパネルに対するスワイプ入力における左右方向成分の大きさに応じて、当該ゲーム画像を生成するための仮想カメラの移動方向を制御することが考えられる。また、タッチパネルに対するスワイプ入力における上下方向成分に応じて、アイテムIに対する動作制御が行われているが、他の要素を制御してもかまわない。例えば、ビームを撃つ動作、装備を切り替える操作、ターゲットを切り替える動作、視界や視点を切り替える操作等の動作制御を、タッチパネルに対するスワイプ入力における上下方向成分に応じて行うことが考えられる。
また、上述した実施例では、ベクトルFDの長さが所定の長さ以上、かつ、ベクトルFDの方向が判定領域内にある条件が満たされることに応じて、使用準備アイテムIPが発射アイテムIMとなって当該判定に応じた方向に発射される例を用いたが、発射アイテムIMとなって発射されるタイミングは、他のタイミングであってもよい。例えば、ベクトルFDの長さ以上、かつ、ベクトルFDの方向が判定領域内にある条件が満たされた後、タッチパネルからタッチオフされることに応じて、使用準備アイテムIPが発射アイテムIMとなって当該判定に応じた方向に発射されてもよい。
また、上述した実施例では、アイテムIが発射アイテムIMとなって発射される位置(使用準備位置)を、プレイヤオブジェクトPOが乗車するカートの後部に設定されているが、他の位置に設定されてもよい。一例として、プレイヤオブジェクトPOが乗車するカートの前部等、プレイヤオブジェクトPOが乗車するカートの他の位置やカート近傍から発射アイテムIMが発射されてもよい。他の例として、表示画面の上端または下端やコース外に設けられた発射位置等に使用準備位置が設定され、プレイヤオブジェクトPOが乗車するカートとは離れた位置から発射アイテムIMが発射されてもよい。
また、発射された発射アイテムIMが移動する速度は、発射アイテムIMのタイプに応じて設定されてもよいし、ユーザ入力に応じて変化してもよい。例えば、発射アイテムIMを発射するためのスワイプ入力が行われた速度(スワイプ入力が行われた際にタッチ位置が移動する速度)に応じて、発射された発射アイテムIMが移動する速度が変化してもよい。
また、上述した説明では、ベクトルFDの長さが所定の長さ以上、かつ、ベクトルFDの方向が判定領域内にある場合、タッチパネルに対して表示画面の上方向または下方向のスワイプ入力が行われたと判定され、使用準備アイテムIPが発射アイテムIMとなって当該判定に応じた方向に発射される例を用いたが、タッチ入力軌跡を用いてスワイプ入力方向が判定されてもかまわない。例えば、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さが所定の長さ以上、かつ、ベクトルFDの方向が判定領域内にある場合に、タッチパネルに対して表示画面の上方向または下方向のスワイプ入力が行われたと判定してもかまわない。この場合、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さが所定の長さ以上であることを判定することが、第2基準座標を基準としたユーザ入力の座標変化が基準値以上であることを判定することの他の例に相当する。
ここで、所定時間前のタッチ位置座標Tと現タッチ位置座標Tとの差を用いてスワイプ入力方向を判定することを考えた場合、タッチオンされてから当該所定時間を経過するまではスワイプ入力方向の判定ができないことになる。一例として、0.5秒前にタッチ入力されたタッチ位置座標Tと現タッチ位置座標Tとの差が所定値以上であることをスワイプ入力方向の判定に用いた場合、タッチオンして即時に大きくスワイプ操作したとしても、0.5秒間はスワイプ入力方向が判定されないため、アイテムを発射するまでの応答性が低下してユーザに違和感を与えることが考えられる。一方、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さを用いてスワイプ入力方向を判定する場合、タッチオンしてから即時に大きくスワイプ操作した場合に即時にスワイプ入力方向が判定されるため、アイテムを発射するまでの応答性が向上してユーザに違和感を与えることがない。
なお、上述したように、タッチ入力軌跡の長さが閾値Lよりも長い場合、当該タッチ入力軌跡の長さが当該閾値L以下となるまで、タッチ位置座標Tの履歴からより古い履歴を所定の速度で削除することによって当該削除後に最も古いタッチ位置座標Tの履歴を基準座標Rmとして設定している。これによって、タッチ入力軌跡の長さが閾値Lよりも長い場合、当該タッチ入力軌跡の長さが当該閾値L以下となるまで、タッチ位置座標Tの履歴のうち、より新しいタッチ位置座標Tを新たな基準座標Rmとして再設定される処理が繰り返されていることになり、このようなタッチ入力軌跡および基準座標Rmを用いて上述したスワイプ入力方向の判定が行われている。このように、より新しいタッチ位置座標Tを新たな基準座標Rmとして再設定される処理が行われる場合、上述したスワイプ入力が行われたと判定されるための判定条件の1つである基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さが所定の長さ以上であることを判定する際の「所定の長さ」は、閾値Lより短く設定することが望ましい。
また、タッチ入力されている時間に応じて基準座標Rmが再設定されてもよい。例えば、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡として保持されるタッチ位置座標Tの履歴を、所定の処理回数分(例えば、5フレーム分に対応する5点のタッチ位置座標Tの履歴)だけ保持して、当該履歴を用いてスワイプ入力方向を判定してもよい。一例として、上記履歴のうち、最古の履歴となるタッチ位置座標Tと最新の履歴となる現タッチ位置座標Tとを比較した値を、上記タッチ入力軌跡として用いてもかまわない。この場合、最古の履歴となるタッチ位置座標Tは、基準座標Rmとして機能していることになる。これによって、タッチ入力軌跡を生成するために継続しているタッチ操作しているタッチ入力時間の長さが所定の時間(例えば、5フレーム)よりも長い場合、当該タッチ入力軌跡を生成するために要した時間が当該所定の時間以下となるように、タッチ位置座標Tの履歴のうち、より新しいタッチ位置座標Tを新たな基準座標Rmとして再設定される処理が繰り返されていることになり、このようなタッチ入力軌跡および基準座標Rmを用いて上述したスワイプ入力方向の判定が行われていることになる。なお、上記履歴が所定の処理回数分に満たない場合、当該履歴のうち、最古の履歴となるタッチ位置座標Tと最新の履歴となる現タッチ位置座標Tとを比較した値を、上記タッチ入力軌跡として用いればよい。なお、タッチ入力されている時間に応じて基準座標Rmが再設定されるこれらの記載は、「ベクトルFD」および「タッチ入力軌跡」のいずれを用いた処理でも適宜適用できる。
ベクトルFDの長さや上記タッチ入力軌跡の長さを判定するための閾値となる上記所定の長さは、上方向へのスワイプ操作と判定される長さと下方向へのスワイプ操作と判定される長さと異なる長さに設定してもよい。一例として、上方向へのスワイプ操作と判定される上記所定の長さと比べて、下方向へのスワイプ操作と判定される上記所定の長さを短く設定することによって、スワイプ操作が相対的に難しい下方向へのスワイプ操作が判定されやすくしてもよい。
また、ベクトルFDの長さや上記タッチ入力軌跡の長さを判定するための閾値となる上記所定の長さは、タッチオンからの経過時間に応じて変化させてもかまわない。一例として、継続してタッチ操作されている時間が0.2秒未満の場合、当該時間が0.2秒以上において設定される上記閾値の0.25倍にしてもよい。これによって、タッチオンして即時にスワイプ操作した場合に、スワイプ操作が判定されやすくすることができる。
また、ベクトルFDの長さや上記タッチ入力軌跡の長さを判定するための閾値となる上記所定の長さは、一方への方向へのスワイプ操作が行われたと判定された後では、他方への方向へのスワイプ操作が行われたと判定されるための当該閾値が変化してもかまわない。一例として、上方向および下方向の一方へのスワイプ操作が行われたと判定された後もタッチ操作が継続している場合、上方向および下方向の他方へのスワイプ操作が行われたと判定されるための上記所定の長さを1.5倍に変化させてもよい。これによって、一方への方向にスワイプ操作された後は、タッチ操作している指を単に元のタッチ位置に戻すために逆方向に動かす傾向があったとしても、そのような場合にユーザの意図に反するスワイプ操作の判定が行われることを防止することができる。なお、ベクトルFDの長さや上記タッチ入力軌跡の長さを判定するための閾値となる上記所定の長さを長く変化させる場合、基準座標Rmと現タッチ位置座標Tとの間に形成されているタッチ入力軌跡の長さを維持するための上記閾値Lも長く変化(例えば、閾値Lを1.5倍)させてもよい。
上述したスワイプ操作の判定を行う情報処理装置3で実行される情報処理プログラムは、以下に示す構成であってもよい。
情報処理プログラムは、ユーザの操作に基づいた処理を行う装置に含まれるコンピュータで実行される。情報処理プログラムは、入力受付手段、座標記憶手段、基準座標設定手段、軌跡計算手段、および方向判定手段として上記コンピュータを機能させる。入力受付手段は、ユーザによる座標入力を受け付ける。座標記憶手段は、継続して行われた前記座標入力の座標を逐次記憶する。基準座標設定手段は、座標記憶手段に記憶された座標のうち1つを基準座標として設定する。軌跡計算手段は、基準座標を開始点として、座標入力の軌跡の長さを計算する。方向判定手段は、座標記憶手段に記憶された座標のうち、基準座標以後に入力された少なくとも2つの座標を用いて、座標入力が示す方向を判定する。基準座標設定手段は、軌跡の長さが所定の閾値よりも長い場合、当該軌跡の長さが当該所定の閾値以下となるまで、座標記憶手段に記憶された座標のうち、より新しい座標を基準座標として設定する処理を繰り返す。
また、上記情報処理プログラムは、ゲーム動作実行手段として、さらに上記コンピュータを機能させてもよい。ゲーム動作実行手段は、上記方向判定手段が判定した方向に基づいて、所定のゲーム動作の方向を決定して当該ゲーム動作を実行してもよい。
また、上記ゲーム動作実行手段は、上記座標記憶手段に記憶された座標のうち、基準座標以後に入力された2つの座標の差が所定値以上のときに、ゲーム動作の方向を決定して当該ゲーム動作を実行してもよい。
また、上記2つの座標は、基準座標と座標入力の最新の座標とであってもよい。
また、上記ゲーム動作実行手段は、軌跡の長さが所定値以上のときにゲーム動作の方向を決定して当該ゲーム動作を実行してもよい。
次に、図10〜図14を用いて情報処理システム1において行われる第1アイテム抽選処理例の概要について説明する。第1アイテム抽選処理例は、プレイヤオブジェクトPOが所持しているアイテムI(ゲームオブジェクト)が所定の組み合わせ条件を満たした場合に、ゲームを相対的に有利に進めることができる効果をプレイヤオブジェクトPOに付与するための処理である。なお、図10は、情報処理装置3の表示部35に表示されるゲーム画像の例を示す図である。図11は、情報処理装置3の表示部35に表示されるゲーム画像の例を示す図である。図12は、所持枠HF内に所持されるアイテムIの状態変移の一例を示す図である。図13は、所持枠HF内に所持されるアイテムIの状態変移の他の例を示す図である。図14は、抽選テーブルの一例を示す図である。
図10において、図4および図5と同様に、情報処理装置3の表示部35には、情報処理装置3でプレイされているゲームに対応したゲーム画像が表示され、その一例としてプレイヤオブジェクトPOがレースゲームを行う一場面が表示されている。例えば、上記ゲームにおいて、プレイヤオブジェクトPOは、仮想世界内に設けられたコース上をカートに乗車して走行しており、当該コース上に設置されたアイテムボックスIBを通過して開封することによって、新たなアイテムIを取得することができる。なお、プレイヤオブジェクトPOは、空枠Eの所持枠HFがある場合に限って、新たなアイテムIを取得することができる。
プレイヤオブジェクトPOがアイテムボックスIBを通過して開封する際、取得する新たなアイテムIを抽選する演出が行われる。例えば、空枠Eの所持枠HF内において、ドラムロール式やフラップ式等によって複数種類のアイテムIがシャッフルされて順次表示される抽選演出表示(以下、回転抽選表示と記載する)が行われた後、何れか1つのアイテムIを所持枠HF内で停止表示させることによって、所持枠HF内で停止表示されたアイテムIが抽選で確定して取得されたことが示される。例えば、図10では、プレイヤオブジェクトPOがアイテムボックスIBを通過することに応じて、複数種類のアイテムIが順次表示されて抽選中であることを示す回転表示アイテムIRが、全所持枠HF(3つの枠)内において回転抽選表示されている例を示している。なお、上記アイテムIを取得するための抽選は、既にアイテムIが表示されている所持枠HFに対しては行われない。つまり、所持枠HFにおいて、空枠EとアイテムIの表示枠とが混在している場合、空枠Eに対してのみ上記抽選が行われることになる。また、空枠Eの所持枠HFがない場合、上記抽選が行われないため、プレイヤオブジェクトPOは、当該抽選によって新たなアイテムIを取得できない状態となる。なお、アイテムボックスIBが配置されている位置までプレイヤオブジェクトPOが到達しなくても、アイテムボックスIBが配置されている特定の位置とプレイヤオブジェクトPOの位置が所定の位置関係になることによって、取得する新たなアイテムIを抽選する演出が行われてもよい。例えば、プレイヤオブジェクトPOがアイテムボックスIBから所定の距離内に入る、アイテムボックスIBの真上または真下を通過する、リング状のアイテムボックスIBの中を通過する場合に、取得する新たなアイテムIを抽選する演出が行われてもよい。なお、アイテムボックスIBは、コース上における特定の位置に設置されてもよいし、時間経過に応じてコース上の任意の位置に出現してもよい。
所持枠HF内において停止表示されたアイテムIは、プレイヤオブジェクトPOが抽選によって取得したことが確定し、当該確定後に上述した操作方法によってプレイヤオブジェクトPOが所定の順番(例えば、取得順)で1つずつ使用することができる。そして、プレイヤオブジェクトPOは、アイテムIを使用することによって、レースを進める上で有利な効果を得ることができる。
図11に示すように、本実施例では、全所持枠HFにおいて同じアイテムIが抽選によって確定した場合、いわゆる「フィーバー状態」となる当たりとなり、プレイヤオブジェクトPOがレースを進める上でさらに有利な効果を得ることができる。一例として、プレイヤオブジェクトPOが「フィーバー状態」となった場合、予め定められたフィーバー期間中に限って「フィーバー状態」となったアイテムを連続して使用することができる。なお、後述により明らかとなるが、各アイテムIには固有のオブジェクトIDが設定されており、「フィーバー状態」になったか否かについては、所持枠HF毎に設定されるオブジェクトIDを用いて判定される。なお、フィーバー期間は、プレイヤオブジェクトPOが用いている装備等に応じて、変化してもかまわない。
例えば、図11の例では、左端の所持枠HFに甲羅のアイテムI1が停止表示され、中央の所持枠HFに甲羅のアイテムI2が停止表示され、右端の所持枠HFに甲羅のアイテムI3が停止表示されており、抽選によって全所持枠HFにおいて同じ甲羅のアイテムIが確定した状態となっている。この場合、所定期間内において甲羅のアイテムによる「フィーバー状態」となり、予め定められたフィーバー期間中に限って、甲羅のアイテムを用いた有利な効果がプレイヤオブジェクトPOに与えられる。例えば、甲羅のアイテムによる「フィーバー状態」では、プレイヤオブジェクトPOの周辺に複数の甲羅のアイテムIFが配置されて、甲羅のアイテムによる「フィーバー状態」であることがユーザに示される。そして、ユーザがタッチパネルに対して何らかのタッチ操作を行っている場合、所定の周期で連続して甲羅の発射アイテムIMがプレイヤオブジェクトPOの前方に発射される。つまり、通常状態おいて甲羅のアイテムIを使用した場合、甲羅の発射アイテムIMをプレイヤオブジェクトPOから単発で発射することができるが、甲羅のアイテムによる「フィーバー状態」では、複数発の甲羅の発射アイテムIMをプレイヤオブジェクトPOから連続発射することができる。また、「フィーバー状態」では、アイテムを発射するためのスワイプ操作をしなくても所定の周期で連続して甲羅の発射アイテムIMが発射されるため、タッチ操作によってプレイヤオブジェクトPOの移動方向を制御しながら、繰り返しアイテムを使用することが容易となる。さらに、通常状態において、所持枠HF毎に1回アイテムIを使用することができるため、所持枠HFの数、すなわちアイテムIを例えば3回使用することができるが、同じアイテムIが3つ揃った「フィーバー状態」となったフィーバー期間中は、所持枠HFの数に限らずに連続して無制限(すなわち、所持枠HFの数以上であり、例えば、4回以上)にアイテムIを使用することができるため、ユーザにとって通常状態より非常に有利な状態となる。
なお、「フィーバー状態」においてプレイヤオブジェクトPOから発射される発射アイテムIMの方向は、所定の方向(例えば、プレイヤオブジェクトPOの真正面方向)に固定されてもよいし、プレイヤオブジェクトPOの周辺方向となるランダムな方向に逐次発射されてもよい。また、「フィーバー状態」において発射アイテムIMの発射条件を満たすベクトルFD(すなわち、ベクトルFDの長さが所定の長さ以上、かつ前方判定領域UAまたは後方判定領域LA内の方向となるベクトルFD)が設定された場合、当該ベクトルFDの方向に基づいて発射アイテムIMが逐次発射されてもよい。
また、「フィーバー状態」においてプレイヤオブジェクトPOの周辺に配置される複数のアイテムIFは、フィーバー期間の経過に応じてその表示数を減らして表示してもよい。これによって、情報処理装置3のユーザは、アイテムIFの表示数によって、フィーバー期間の残り時間を把握することが可能となる。なお、表示数を減らしてフィーバー期間の残り時間を報知するための画像は、プレイヤオブジェクトPOの周辺に配置される複数のアイテムIFでなくてもよい。例えば、フィーバー期間の経過に応じて、所持枠HF内に表示されているアイテムIの数を減らして表示してもよい。
次に、図12および図13を参照して、新たなアイテムIを抽選するゲーム進行の一例(所持枠HFの状態が推移する一例)について説明する。
図12において、所持枠HFの初期状態の一例である状態Aでは、全所持枠HFが空枠Eとなっている。この状態Aにおいて、プレイヤオブジェクトPOがアイテムボックスIBを通過して開封した場合、全所持枠HFが抽選対象となったアイテム抽選が行われる。これによって、全所持枠HFを対象として回転表示アイテムIRが回転抽選表示される状態Bとなる。なお、上記状態Bにおいて、「フィーバー状態」の当たりとなる確率の制御が行われているが、当該確率制御については後述する。
状態Bにおけるアイテム抽選において「フィーバー状態」の当たりとなる場合、全所持枠HFが同じアイテムIが停止表示されて確定される状態Cとなる。例えば、状態Cでは、左端の所持枠HFに甲羅のアイテムI1が停止表示され、中央の所持枠HFに甲羅のアイテムI2が停止表示され、右端の所持枠HFに甲羅のアイテムI3が停止表示されている。すなわち、状態Bにおけるアイテム抽選の結果、全所持枠HFにおいて同じ甲羅のアイテムIが確定される甲羅のアイテムによる「フィーバー状態」に当たったことが状態Cにおいて示されている。これによって、プレイヤオブジェクトPOは、甲羅のアイテムによる「フィーバー状態」となったレースを進行する。
甲羅のアイテムによる「フィーバー状態」となった後、所定のフィーバー期間が経過すると、プレイヤオブジェクトPOの「フィーバー状態」が終了し、全所持枠HFが空枠Eとなった状態Dとなる。このように全所持枠HFが空枠Eとなることによって、全所持枠HFが抽選対象となったアイテム抽選を再度行うことができる状態となる。
状態Dにおいて、プレイヤオブジェクトPOがアイテムボックスIBと再通過して開封した場合、全所持枠HFが抽選対象となったアイテム抽選が再度行われる。これによって、全所持枠HFを対象として回転表示アイテムIRが回転抽選表示される状態Eとなる。
状態Eにおけるアイテム抽選においてはずれた場合、全所持枠HFにおいて少なくとも1つが異なったアイテムIが停止表示されて確定される状態Fとなる。例えば、状態Fでは、左端の所持枠HFと右端の所持枠HFとが同じ甲羅のアイテムI1およびI3が停止表示されているが、中央の所持枠HFに異なるバナナのアイテムI2が停止表示されている。すなわち、状態Eにおけるアイテム抽選の結果、はずれたことが状態Fにおいて示されている。状態Fによる所持枠HFにそれぞれ表示されているアイテムI1〜I3は、個別にプレイヤオブジェクトPOが使用することができる。
図13において、状態Fにおける左端の所持枠HFに表示されているアイテムI1が使用された場合、当該左端の所持枠HFが空枠Eとなった状態Gとなる。このように、少なくとも1つの所持枠HFが空枠Eとなることによって、当該空枠Eが抽選対象となったアイテム抽選を行うことができる状態となる。
状態Gにおいて、プレイヤオブジェクトPOがアイテムボックスIBと再通過して開封した場合、左端の所持枠HFの空枠Eが抽選対象となったアイテム抽選が行われる。これによって、左端の所持枠HFの空枠Eのみを対象として回転表示アイテムIRが回転抽選表示される状態Hとなる。しかしながら、状態Hでは、中央の所持枠HFと右端の所持枠HFとに異なるアイテムI2およびI3が既に確定表示されているため、左端の所持枠HFの空枠EにおいてどのようなアイテムIが確定したとしてもアイテム抽選でははずれとなって、左端の所持枠HFにおいてアイテムI1が停止表示された状態Iとなる。一例として、所持枠HF内にそれぞれ表示されているアイテムIは、FIFO(先入れ先出し)方式によって使用することができる。すなわち、状態Iでは、所持枠HFにそれぞれ表示されているアイテムI1〜I3のうち、アイテムI1が最後に取得されたため、プレイヤオブジェクトPOがアイテムI1〜I3を使用する際には、アイテムI1を最後に使用することができる。なお、所持枠HF内にそれぞれ表示されているアイテムIの使用順序は、FIFO(先入れ先出し)方式でなくてもよい。例えば、ユーザが所持枠HF内に表示されている何れかのアイテムIを選択する操作(例えば、アイテムI上のタッチパネルをタッチする操作)を行うことによって、選択されたアイテムIが使用されるようにしてもよい。
状態Iにおける中央の所持枠HFに表示されているアイテムI2および右端の所持枠HFに表示されているアイテムI3が使用された場合、当該中央および右端の所持枠HFが空枠Eとなった状態Jとなる。このように2つの所持枠HFが空枠Eとなることによって、当該2つの空枠Eが抽選対象となったアイテム抽選を行うことができる状態となる。
状態Jにおいて、プレイヤオブジェクトPOがアイテムボックスIBと再通過して開封した場合、中央および右端の所持枠HFの空枠Eが抽選対象となったアイテム抽選が行われる。これによって、中央および右端の所持枠HFの空枠Eを対象として回転表示アイテムIRが回転抽選表示される状態Kとなる。ここで、状態Jでは、左端の所持枠HFにアイテムI1が既に確定表示されているが、中央および右端の所持枠HFの空枠EにおいてアイテムI1と同じ種類のアイテムIが確定すると「フィーバー状態」の当たりとなる可能性がある。
状態Kにおけるアイテム抽選において「フィーバー状態」の当たりとなる場合、中央および右端の所持枠HFもアイテムI1と同じ種類のアイテムIが停止表示されて確定される状態Lとなる。例えば、状態Lでは、左端の所持枠HFにキノコのアイテムI1が停止表示され、中央の所持枠HFにキノコのアイテムI2が停止表示され、右端の所持枠HFにキノコのアイテムI3が停止表示されている。すなわち、状態Kにおけるアイテム抽選の結果、全所持枠HFにおいて同じキノコのアイテムIが確定されるキノコのアイテムによる「フィーバー状態」に当たったことが状態Lにおいて示されている。これによって、プレイヤオブジェクトPOは、キノコのアイテムによる「フィーバー状態」となったレースを進行する。
このように、情報処理システム1において行われる第1アイテム抽選処理例においては、複数の所持枠にそれぞれ含まれるアイテムIの少なくとも1つを選択して使用することにより、当該選択されたアイテムIの種類に基づいたゲーム内効果を得ることができるとともに、当該ゲーム内効果を発生させたアイテムIが表示されていた所持枠を空枠Eとしている。また、アイテム抽選によって、上記複数の所持枠に含まれるアイテムIが全て同じになる条件を満たした場合、上記ゲーム内効果よりさらに有利なゲーム内効果を得ることができる。
次に、図14を参照して、「フィーバー状態」の当たりとなる確率を設定する抽選テーブルの一例について説明する。
図14において、抽選テーブルは、所持枠HFの空枠Eの数および「フィーバー状態」とするアイテムIの種類に対応する当たり確率が記述されている。そして、抽選テーブルは、アイテムI毎の当たり確率を積算することによる、全体の当たり確率も記述されている。
例えば、図14に例示する抽選テーブルでは、全所持枠HFが空枠Eとなって回転抽選状態となる全枠回転におけるアイテム抽選では、甲羅のアイテムで当たる確率が10%、バナナのアイテムで当たる確率が10%、キノコのアイテムで当たる確率が10%にそれぞれ設定されている。また、上記抽選テーブルでは、1つまたは2つの所持枠HFに甲羅のアイテムIが確定表示され、残りの所持枠HFが空枠E(すなわち、空枠Eの所持枠HFと甲羅のアイテムIが確定表示された所持枠HFとが混在している状態)となって回転抽選状態となる非全枠回転におけるアイテム抽選では、甲羅のアイテムで当たる確率が10%、バナナおよびキノコのアイテムで当たる確率が0%にそれぞれ設定されている。また、上記抽選テーブルでは、1つまたは2つの所持枠HFにバナナのアイテムIが確定表示され、残りの所持枠HFが空枠E(すなわち、空枠Eの所持枠HFとバナナのアイテムIが確定表示された所持枠HFとが混在している状態)となって回転抽選状態となる非全枠回転におけるアイテム抽選では、バナナのアイテムで当たる確率が10%、甲羅およびキノコのアイテムで当たる確率が0%にそれぞれ設定されている。そして、上記抽選テーブルでは、1つまたは2つの所持枠HFにキノコのアイテムIが確定表示され、残りの所持枠HFが空枠E(すなわち、空枠Eの所持枠HFとキノコのアイテムIが確定表示された所持枠HFとが混在している状態)となって回転抽選状態となる非全枠回転におけるアイテム抽選では、キノコのアイテムで当たる確率が10%、甲羅およびバナナのアイテムで当たる確率が0%にそれぞれ設定されている。
上記抽選テーブルでは、全枠回転によって何れかのアイテムで当たる確率が30%に設定されているが、非全枠回転によって何れかのアイテムで当たる確率が10%に設定されている。つまり、上記抽選テーブルを用いた場合、「フィーバー状態」の当たりとなる確率は、全所持枠HFを空枠Eとしてアイテム抽選する場合が最も高確率となる。これは、どのような状態のアイテム抽選においてもアイテム毎の当たり確率を一定にしているためである。したがって、このような抽選テーブルを用いることによって、ユーザ所望のアイテムIを所持枠HFに確定状態で残して当該アイテムIによる当たりを高確率にするような戦略を防止することができる。
なお、上記抽選テーブルは、サーバ200において管理され、情報処理装置3におけるゲームが開始される時点でサーバ200から情報処理装置3へ送信されてもよい。この場合、サーバ200は、プレイされる時期や情報処理装置3のユーザのレベル等に応じて、異なる抽選テーブルを送信してもよい。また、サーバ200は、ゲームの状況に応じてそれぞれ別の抽選テーブルが用いられるように設定してもよい。例えば、サーバ200は、レースの周回数、レースの順位、コースやレースの種類、プレイヤオブジェクトPOの種類等に応じて、異なる抽選テーブルをそれぞれ設定してもよい。一例として、レースの終盤に近いほど、すなわち周回数を重ねるほど、「フィーバー状態」の当たりとなる確率を高くする抽選テーブルを設定することが考えられる。他の例として、プレイヤオブジェクトPOがレースに用いている装備に応じて、異なる抽選テーブルを設定してもよい。例えば、プレイヤオブジェクトPOが特殊な装備を用いている場合、「フィーバー状態」の当たりとなる確率を高くする抽選テーブルを設定することが考えられる。
また、「フィーバー状態」の当たりとなった場合、当たりとなったアイテムIによる効果とは別に、プレイヤオブジェクトPOにさらなる効果が与えられてもよい。一例として、甲羅のアイテムによる「フィーバー状態」の当たりとなった場合、フィーバー期間中において甲羅の発射アイテムIMを連続発射できる効果をプレイヤオブジェクトPOに与えるとともに、当該プレイヤオブジェクトPOの走行速度が加速または減速するような効果が当該プレイヤオブジェクトPOに与えられてもよい。他の例として、甲羅のアイテムによる「フィーバー状態」の当たりとなった場合、フィーバー期間中において甲羅の発射アイテムIMを連続発射できる効果をプレイヤオブジェクトPOに与えるとともに、敵オブジェクトEOからの攻撃を受けたり他のオブジェクトと衝突したりしても走行に影響を与えない防御効果が当該プレイヤオブジェクトPOに与えられてもよい。一例として、プレイヤオブジェクトPOが発射した甲羅の発射アイテムIMがプレイヤオブジェクトPO自身に向かってきたとしても、プレイヤオブジェクトPOが甲羅の発射アイテムIMを跳ね返したり通過したりすることによってプレイヤオブジェクトPOの走行に影響が与えられないため、「フィーバー状態」においてユーザはプレイヤオブジェクトPO自身への影響を気にすることなく甲羅の発射アイテムIMを発射することができる。
また、複数種類のアイテムIの効果が得られる特殊アイテム(例えば、「ラッキー7」のアイテム)を設定してもよい。例えば、上記アイテム抽選において、全所持枠HFに上記特殊アイテムが確定表示されて特殊アイテムによる「フィーバー状態」の当たりとなった場合、当該ゲームで出現する複数のアイテムによる効果が順次生じるような効果がフィーバー期間中においてプレイヤオブジェクトPOに与えられる。一方、上記アイテム抽選において、所持枠HFの少なくとも1つに特殊アイテムが混在する態様ではずれた場合、当該特殊アイテムを単発使用することによる効果が得られることなく、所持枠HFから当該特殊アイテムが消去されて空枠Eとなる。
また、上述した実施例では、空枠Eの所持枠HFがある場合に限って、プレイヤオブジェクトPOが新たなアイテムIを取得することができるが、所持枠HFに空枠Eがない場合であっても、新たなアイテムIを取得することができるようにしてもよい。この場合、所持枠HFに空枠Eがない場合であってもアイテム抽選が可能となり、アイテムIが表示されている所持枠HFにおいても回転抽選状態となる。また、空枠EとアイテムIが表示されている枠とが所持枠HFに混在している場合、アイテム抽選が行われることに応じて、空枠EだけでなくアイテムIが表示されている所持枠HFにおいても回転抽選状態としてもよい。このようにアイテムIが表示されている所持枠HFにおいても回転抽選状態としてアイテム抽選を行う場合、アイテムIの使用に応じて所持枠HFを空枠Eに変更しなくてもよい。
また、上述した実施例では、3つの所持枠HF全てが同じアイテムIで揃った場合に「フィーバー状態」の当たりとなる例を用いたが、当該当たりとなるアイテムIの組み合わせ条件は他の組み合わせ条件でもかまわない。一例として、所持枠HFが4つ以上あり、当該所持枠HFの少なくとも3つが同じアイテムIで揃った場合に、「フィーバー状態」の当たりとなってもよい。他の例として、3つの所持枠HFがアイテムIの特定の組み合わせ(例えば、キノコ−甲羅−バナナ)となった場合に、「フィーバー状態」の当たりとなってもよい。
また、「フィーバー状態」の当たりとなった後、プレイヤオブジェクトPOが「フィーバー状態」となるタイミングは、当該当たりの報知直後や報知後の所定の時間経過によって開始されてもよい。また、「フィーバー状態」の当たりとなった後、ユーザの所定の操作が行われること応じて、プレイヤオブジェクトPOが「フィーバー状態」となってもよい。
また、「フィーバー状態」の当たりとする確率や所持枠HF内に停止表示させるアイテムIの種類については、抽選テーブルによる制御とは異なるルールに基づいて行われてもよい。例えば、「フィーバー状態」の当たりとする確率や所持枠HF内に停止表示させるアイテムIの種類は、ランダムに制御されてもよいし、アイテムボックスIBが開封されたタイミングに基づいて制御されてもよいし、所持枠HF内に停止表示されるアイテムIが所定の順番となるように制御されてもよい。
次に、図15〜図18を用いて情報処理システム1において行われる第2アイテム抽選処理例の概要について説明する。第2アイテム抽選処理例は、レース上に設けられたアイテムボックスIBを開封しなくても、所定の条件を満たすことによって上記アイテム抽選を行うことが可能となる処理である。なお、図15は、情報処理装置3の表示部35に表示されるゲーム画像例を示す図である。図16は、情報処理装置3の表示部35に表示されるゲーム画像例を示す図である。図17は、所持枠HF内に所持されるアイテムIおよびアイテム抽選アイコンABの状態変移の一例を示す図である。図18は、情報処理装置3の表示部35に表示されるゲーム画像例を示す図である。
図15において、図4および図5と同様に、情報処理装置3の表示部35には、情報処理装置3でプレイされているゲームに対応したゲーム画像が表示され、その一例としてプレイヤオブジェクトPOがレースゲームを行う一場面が表示されている。例えば、上記ゲームにおいて、プレイヤオブジェクトPOは、仮想世界内に設けられたコース上をカートに乗車して走行している。そして、プレイヤオブジェクトPOが走行中に所定の条件を満たしている場合、所持枠HFに代わってアイテム抽選アイコンABが出現する。
アイテム抽選アイコンABは、ユーザのタッチ操作によって選択されることによって実行される操作指示ボタンとして機能する。また、アイテム抽選アイコンABの近傍には、当該アイテム抽選アイコンABを選択して実行した場合に消費される仮想通貨の価格を示す価格情報Mが付与される。図15の例では、アイテム抽選アイコンABが使用された場合、ユーザが課金することによって取得できる星形の仮想通貨が1枚消費されることが、価格情報Mとして示されている。なお、アイテム抽選アイコンABおよび価格情報Mは、全所持枠HFが空枠Eである場合に出現するが、使用することにより使用回数制限(例えば、1レース1回に制限)を超える場合やユーザが使用するために必要な仮想通貨を所持していない場合等では出現しない。例えば、アイテム抽選アイコンAB上のタッチパネルをタッチ操作(例えば、タップ操作)されてアイテム抽選アイコンABが使用された場合、新たなアイテムIを取得するためのアイテム抽選を行う演出が開始される。なお、アイテム抽選アイコンABが出現しない状態は、表示画面にアイテム抽選アイコンABが表示されていない状態でもよいし、アイテム抽選アイコンABをグレーアウト表示や半透明表示されている状態でもよい。また、アイテム抽選アイコンABが選択できない状態であっても、アイテム抽選アイコンABを表示画面に表示していてもよく、その場合、ユーザがアイテム抽選アイコンABを選択する操作を行ったとしても、アイテム抽選アイコンABが無反応となる。
図16に示すように、アイテム抽選アイコンABが使用された場合、アイテム抽選アイコンABおよび価格情報Mに代わって所持枠HFが出現する。そして、上記第1アイテム抽選処理例と同様に、全所持枠HF内において、回転抽選表示状態を示す回転表示アイテムIRが表示された後、各枠において何れか1つのアイテムIを停止表示させることによって、停止表示されたアイテムIが抽選で確定して取得されたことが示される。
アイテム抽選アイコンABを使用したことによるアイテム抽選においても、所持枠HF内において停止表示されたアイテムIは、プレイヤオブジェクトPOが抽選によって取得したことが確定し、当該確定後に上述した操作方法によってプレイヤオブジェクトPOが所定の順番で1つずつ使用することができる。そして、プレイヤオブジェクトPOは、アイテムIを使用することによって、レースを進める上で有利な効果を得ることができる。
また、アイテム抽選アイコンABを使用したことによるアイテム抽選においても、全所持枠HFにおいて同じアイテムIが抽選によって確定した場合、「フィーバー状態」となる当たりとなり、プレイヤオブジェクトPOがレースを進める上でさらに有利な効果を得ることができる。上記第1アイテム抽選処理例と同様に、プレイヤオブジェクトPOが「フィーバー状態」となった場合、予め定められたフィーバー期間中に限って「フィーバー状態」となったアイテムを連続して使用することができる。
このように、アイテム抽選アイコンABを使用したことによるアイテム抽選では、コース上に設けられたアイテムボックスIBを開封することによるアイテム抽選と同様に、新たなアイテムIが取得されたり「フィーバー状態」となる当たりの抽選が行われたりすることができる。したがって、ユーザは、コース上にアイテムボックスIBが配置されている場合に限らず、アイテム抽選アイコンABが出現すればいつでも新たなアイテム抽選を開始することができる。なお、アイテム抽選アイコンABを使用したことによるアイテム抽選とアイテムボックスIBを開封することによるアイテム抽選との間には、さらに異なる要素を盛り込んでもよい。
第1の例として、アイテム抽選アイコンABを使用したことによってアイテム抽選が行われている時間(アイテムIの回転抽選演出が行われている時間)を、アイテムボックスIBを開封することによってアイテム抽選が行われる時間より短くしてもよい。これによって、アイテム抽選アイコンABを使用した場合に、プレイヤオブジェクトPOが新たなアイテムIを取得したり「フィーバー状態」となる当たりによる効果を得たりするまでの時間を短縮することが可能となり、結果的にプレイヤオブジェクトPOが有利な効果を早期に得ることが可能となる。
第2の例として、アイテム抽選アイコンABを使用したことによるアイテム抽選によって「フィーバー状態」となる当たりになる確率を、アイテムボックスIBを開封することによるアイテム抽選によって「フィーバー状態」となる当たりになる確率より高くしてもよい。これによって、アイテム抽選アイコンABを使用した場合に、プレイヤオブジェクトPOが「フィーバー状態」となる当たりによる効果を得る確率が高くなるため、プレイヤオブジェクトPOがより有利な効果を得る可能性が高くなる。なお、「フィーバー状態」となる当たりになる確率が上昇する大きさは、アイテム抽選アイコンABを選択して実行した場合に消費される仮想通貨の価格に応じて変化させてもよい。一例として、アイテム抽選アイコンABを選択して実行した場合に消費される仮想通貨の価格が高額であるほど、上記確率を上昇させることが考えられる。この場合、1レース中にアイテム抽選アイコンABを選択して実行した回数が増えるほど、当該実行によって消費される仮想通貨の価格を上昇させ、当該価格の上昇とともに上記確率も上昇させることも考えられる。また、アイテムボックスIBを開封することによるアイテム抽選によって「フィーバー状態」となる当たりに対して、アイテム抽選アイコンABを使用したことによるアイテム抽選によって「フィーバー状態」となる当たりでは、より効果が高いアイテムによる当たりとなる確率が高くてもよい。
次に、図17を参照して、アイテム抽選アイコンABを使用することによって新たなアイテムIを抽選するゲーム進行の一例について説明する。
図17において、所持枠HFの状態の一例である状態Mでは、所持枠HFに表示されているアイテムIが全て異なるはずれ状態となっている。状態Mにおける所持枠HFにそれぞれ表示されているアイテムI1〜I3が全て使用された場合、全所持枠HFが空枠Eとなった状態Nとなる。このように、全所持枠HFが空枠Eとなることによって、アイテム抽選アイコンABが出現するための条件の1つが満たされる。
状態Nにおいて、アイテム抽選アイコンABを選択して実行する制限回数に未到達であり、当該実行の際に消費される仮想通貨をユーザが所持している場合、所持枠HFに代わってアイテム抽選アイコンABおよび価格情報Mが出現して状態Oとなる。そして、アイテム抽選アイコンAB上のタッチパネルをタッチ操作した場合、アイテム抽選アイコンABを選択して実行する処理に移行して、全所持枠HFが抽選対象となったアイテム抽選が行われる。これによって、全所持枠HFを対象として回転表示アイテムIRが回転抽選表示される状態Pとなる。
状態Pにおけるアイテム抽選において「フィーバー状態」の当たりとなる場合、全所持枠HFが同じアイテムIが停止表示されて確定される状態Qとなる。例えば、状態Qでは、左端の所持枠HFにキノコのアイテムI1が停止表示され、中央の所持枠HFにキノコのアイテムI2が停止表示され、右端の所持枠HFにキノコのアイテムI3が停止表示されている。すなわち、状態Pにおけるアイテム抽選の結果、全所持枠HFにおいて同じキノコのアイテムIが確定されるキノコのアイテムによる「フィーバー状態」に当たったことが状態Qにおいて示されている。これによって、プレイヤオブジェクトPOは、キノコのアイテムによる「フィーバー状態」となったレースを進行する。
キノコのアイテムによる「フィーバー状態」となった後、所定のフィーバー期間が経過すると、プレイヤオブジェクトPOの「フィーバー状態」が終了し、全所持枠HFが空枠Eとなった状態Rとなる。このように全所持枠HFが空枠Eとなることによって、全所持枠HFが抽選対象となったアイテム抽選を再度行うことができる状態となる。なお、全所持枠HFが空枠Eとなった状態Rでは、アイテム抽選アイコンABを選択して実行する制限回数にまだ未到達であり、さらに当該実行において消費される仮想通貨をユーザが所持している場合、所持枠HFに代わってアイテム抽選アイコンABおよび価格情報Mが出現する状態となるが、上記条件を満たさない場合は、当該レース中にアイテム抽選アイコンABが再度出現することはない。
次に、アイテム抽選アイコンABを選択して実行する際に消費される仮想通貨の一例について説明する。例えば、本実施例では、星形の仮想通貨をユーザが現実世界のお金を用いて購入、すなわち課金によって購入することができる。例えば、ユーザが情報処理装置3を用いて星形の仮想通貨を現実世界の通貨で購入する処理を行った場合、当該購入に伴う支払いに関する情報がサーバ200へ送信され、所定の認証処理が行われた後にサーバ200とユーザとの間で決済される。そして、星形の仮想通貨を購入する決済が行われたことがサーバ200から通知された場合、情報処理装置3は、購入された星形の仮想通貨をユーザ所持分として追加する。なお、ユーザ所持分として管理されている星形の仮想通貨は、他のゲームにおいても使用できることもあり得る。ここで、「購入」とは、現実世界のお金をさらに支払うことによって仮想通貨を取得することができる状態を示している。すなわち、ゲームを行うためのソフトウェアが有料であるもの、ゲームプレイ自体が有料であるもの、ゲームにおける所定の動作が有料であるもの等である場合、これらの料金にさらに現実世界のお金を支払うことによって仮想通貨を取得している状態であれば、仮想通貨を購入して取得していると考えることができる。当然ながら、ゲームを行うためのソフトウェアが無料であるもの、ゲームプレイ自体が無料であるもの、ゲームにおける所定の動作が無料であるもの等である場合、現実世界のお金を支払うことによって仮想通貨を取得している状態であれば、仮想通貨を購入して取得していると考えることができる。また、上述した現実世界の通貨で購入するとは、ユーザが事前に購入したものや事後に精算されるものによって決済されることを含んでおり、例えば、ユーザが事前に購入したプリペイドカードや事後に引き落としが行われるクレジットカードを用いて仮想通貨を購入するような形態でもよい。
上述したように課金によって購入された星形の仮想通貨は、上述したゲームにおいて使用できる様々なものに交換することができる。例えば、上記レースゲーム開始前や上記レースゲーム終了後に開いて見ることが可能となる購入場面、すなわちレース中のゲーム場面とは異なるゲーム場面において、レースに用いられる装備やゲーム内コイン等を星形の仮想通貨を用いて購入することが可能となる。例えば、図18に示すように、上記購入場面で表示される購入画面では、星形の仮想通貨を用いてゲーム内コインを購入できる購入ボタンB1、ゲーム内コインを用いてレースに用いる装備を購入できる購入ボタンB2、および星形の仮想通貨を課金によって購入できる購入ボタンB3が表示されている。
具体的には、購入ボタンB1は、星形の仮想通貨10枚をゲーム内コイン100枚に交換するボタンと、星形の仮想通貨100枚をゲーム内コイン1200枚に交換するボタンと、星形の仮想通貨1000枚をゲーム内コイン15000枚に交換するボタンとを含んでいる。ここで、ゲーム内コインは、上記レースゲームにおける成績の対価として獲得できたり、上記レースゲーム中において所定のアイテムを取得することによって獲得できたりするパラメータとして機能するものであり、典型的には、上記レースゲームにおいて獲得および使用することができる。そして、ゲーム内コインは、上記購入画面において、ユーザが所望する購入ボタンB1を選択して実行することによって、ユーザが所有している仮想通貨によって購入(仮想通貨と交換)することもできる。
また、購入ボタンB2は、ゲーム内コイン1000枚を消費して上記レースに用いることができる第1の装備を購入するボタンと、ゲーム内コイン200枚を消費して上記レースに用いることができる第2の装備を購入するボタンと、ゲーム内コイン500枚を消費して上記レースに用いることができる第3の装備を購入するボタンと、ゲーム内コイン100枚を消費して上記レースに用いることができる第4の装備を購入するボタンとを含んでいる。ここで、上記レースに用いることができる装備は、プレイヤオブジェクトPOが当該装備を使用してレースに出場することによって、当該装備に固有の能力がプレイヤオブジェクトPOに付与されるものであり、プレイヤオブジェクトPOが当該装備の使用によってレースを有利に進めることができるゲーム内効果を得ることができる。一例として、プレイヤオブジェクトPOは、装備を使用することによって、走行速度や加速が上昇したり、操舵性が向上したり、走行可能な場所が増えたり、防御力が向上したりするような、装備の固有能力を得ることができる。また、購入した装備をプレイヤオブジェクトPOが複数のレースに継続使用できるため、上記装備は、当該装備の効力が有効である限り、プレイヤオブジェクトPOに継続的なゲーム内効果を与えるアイテムとして機能する。一方、上述したアイテムIを使用することによるゲーム内効果や「フィーバー状態」となることによるゲーム内効果は、アイテムIの所持を他のレースに持ち越すことができたとしても、当該効果が生じたレース内の一部期間に限ったものであり、他のレースにまで継続するものではないため、プレイヤオブジェクトPOに一時的なゲーム内効果を与えるアイテムであると言える。
また、上記購入ボタンB1およびB2から明らかなように、ユーザは、星形の仮想通貨をゲーム内コインに交換した後、当該ゲーム内コインを用いて装備の購入が可能である。したがって、ユーザは、ゲーム内コインを介して、星形の仮想通貨を用いて装備の購入が可能となる。なお、上述した購入画面例では、星形の仮想通貨を用いて装備の購入するためには、ゲーム内コインに一旦交換することが必要となるが、ゲーム内コインに交換することなく星形の仮想通貨を用いて装備の購入が直接可能であってもかまわない。また、星形の仮想通貨の設定がないゲームでは、ゲーム内コインが直接課金によって購入可能であってもよい。この場合、ゲーム内では星形の仮想通貨が存在せず、ゲーム内コインだけが存在することになるため、ゲーム内コインを用いて装備の購入が可能であるとともに、アイテム抽選アイコンABが使用された場合に所定枚数(例えば、1000枚)のゲーム内コインが消費される態様であってもよい。また、ゲーム内コインだけが存在する場合、そのゲーム内コインは、必ずしも直接課金により購入可能でなくてもよい。
また、上述したゲーム例では、アイテム抽選アイコンABを選択して実行する際に、星形の仮想通貨が消費される例を用いたが、上記購入画面において星形の仮想通貨から交換可能なゲーム内コインが当該実行の際に消費される態様でもかまわない。このように、アイテム抽選アイコンABを選択して実行する際にゲーム内コインが消費される態様であっても、星形の仮想通貨をゲーム内コインに一旦交換した後、当該ゲーム内コインを用いてアイテム抽選アイコンABの実行が可能となるため、結果的に、星形の仮想通貨を用いてアイテム抽選アイコンABの実行が可能であると考えることもできる。
また、上記購入画面において、星形の仮想通貨または星形の仮想通貨から交換可能なゲーム内コインを用いて、アイテム抽選アイコンABを選択して実行することが可能な「アイテム抽選アイコンAB実行権利」を購入可能であってもよい。例えば、「アイテム抽選アイコンAB実行権利」を購入して所持しているユーザは、アイテム抽選アイコンABが出現した際に、「アイテム抽選アイコンAB実行権利」を使用して消費することによって、アイテム抽選アイコンABを選択して実行することが可能となる。このように、アイテム抽選アイコンABを選択して実行する際に「アイテム抽選アイコンAB実行権利」が消費される態様であっても、星形の仮想通貨またはゲーム内コインを「アイテム抽選アイコンAB実行権利」に一旦交換した後、当該「アイテム抽選アイコンAB実行権利」を用いてアイテム抽選アイコンABの実行が可能となるため、結果的に、星形の仮想通貨を用いてアイテム抽選アイコンABの実行が可能であると考えることもできる。
このように、情報処理システム1において行われる第2アイテム抽選処理例においては、ゲーム内コインや装備等を購入可能な購入場面において、星形の仮想通貨や当該仮想通貨と交換されるゲーム内コインを用いて装備を購入した場合、当該仮想通貨の所有量が減るとともに、複数のレースにおいて有効となる当該設備の継続的な効果をプレイヤオブジェクトPOが得ることができる。また、レースにおいてコース上に配置されたアイテムボックスIBとプレイヤオブジェクトPOとが接触した場合、当該レースにおいて有効となるアイテムIの使用による一時的な効果をプレイヤオブジェクトPOが得ることができる。さらに、レースにおいてアイテム抽選アイコンABを選択して実行することによって、当該実行によって消費される仮想通貨の所有量が減るともに、当該レースにおいて有効となるアイテムIの使用による上記一時的な効果または「フィーバー状態」となる当たりの一時的な効果をプレイヤオブジェクトPOが得ることができる。したがって、星形の仮想通貨やゲーム内コインは、プレイヤオブジェクトPOに様々な効果を与えるアイテムとして機能するため、星形の仮想通貨やゲーム内コインを獲得する動機付けを高めることができる。
なお、上述した実施例では、空枠Eの全所持枠HFが空枠Eである場合に限って、アイテム抽選アイコンABが出現することとしたが、所持枠HFに空枠Eがない場合や一部の所持枠HFが空枠Eである場合にもアイテム抽選アイコンABが出現可能にしてもよい。この場合、所持枠HFに空枠Eがない場合や一部の所持枠HFが空枠Eである場合であってもアイテム抽選アイコンABを選択することによるアイテム抽選が可能となり、アイテムIが表示されている所持枠HFにおいても回転抽選状態となる。また、空枠EとアイテムIが表示されている枠とが所持枠HFに混在している状態でアイテム抽選アイコンABを選択することによるアイテム抽選が行われた場合、空枠EだけでなくアイテムIが表示されている所持枠HFにおいても回転抽選状態としてもよい。
また、上述した説明では、レースにおいてコース上に配置されたアイテムボックスIBとプレイヤオブジェクトPOとが接触した場合、当該レースにおいて有効となるアイテムIの使用による一時的な効果をプレイヤオブジェクトPOが得ることができるが、アイテムボックスIBとの接触がなくても上記一時的な効果が得られてもよい。例えば、アイテムボックスIBとプレイヤオブジェクトPOとが接触したことに応じて新たなアイテムIを抽選する演出が行われることに代えて、所定時間が経過する毎に自動的に新たなアイテムIを抽選する演出が行われてもよい。この場合、アイテム抽選アイコンABを選択することによって、上記所定時間が経過していなくても新たなアイテムIを抽選して取得することが可能としてもよい。
また、アイテム抽選アイコンABを選択することによる「フィーバー状態」の当たりとする確率や所持枠HF内に停止表示させるアイテムIの種類についても、抽選テーブルによる制御とは異なるルールに基づいて行われてもよい。例えば、アイテム抽選アイコンABを選択することによる「フィーバー状態」の当たりとする確率や所持枠HF内に停止表示させるアイテムIの種類は、ランダムに制御されてもよいし、アイテム抽選アイコンABが選択されたタイミングに基づいて制御されてもよいし、所持枠HF内に停止表示されるアイテムIが所定の順番となるように制御されてもよい。
また、所持枠HFの数は、プレイヤオブジェクトPOの種類に応じて変化してもよい。一例として、走行するコースとプレイヤオブジェクトPOとの相性の善し悪しに応じて、相性がよいコースでは3つの所持枠HFが表示され、相性が悪いコースでは1つの所持枠HFが表示される態様でもかまわない。所持枠HFが1つ表示されるコースを用いてプレイする場合、プレイヤオブジェクトPOが同時に所持できるアイテムIの数が少なくなるとともに、全所持枠HFのアイテムIが揃うことによる「フィーバー状態」にならないため、ユーザにとって不利な条件となる。なお、相性が悪いコースで1つの所持枠HFが表示される場合であっても、アイテム抽選アイコンABを選択した場合は3つの所持枠HFが出現して新たなアイテムIを抽選する演出が行われてもよい。このように、プレイヤオブジェクトPOとコースとの相性に応じて表示する所持枠HFの数を変化させることによって、ユーザが使用するプレイヤオブジェクトPOの種類を選択する動機付けとなる。
次に、情報処理装置3において行われる処理の詳細を説明する。まず、図19を参照して、情報処理装置3において行われる処理において用いられる主なデータについて説明する。なお、図19は、情報処理装置3の記憶部32に記憶される主なデータおよびプログラムの一例を示す図である。
図19に示すように、記憶部32のデータ記憶領域には、操作データDa、送信データDb、受信データDc、ユーザ所有データDd、抽選テーブルデータDe、現タッチ入力座標データDf、タッチ軌跡座標データDg、第1基準座標データDh、第2基準座標データDi、左右方向成分データDj、ハンドル角度データDk、入力長さデータDm、入力ベクトルデータDn、判定領域データDp、発射方向データDq、所持枠データDr、第1抽選フラグデータDs、第2抽選フラグデータDt、当たりフラグデータDu、抽選回数データDv、プレイヤオブジェクト動作データDw、敵オブジェクト動作データDx、アイテム位置データDy、および画像データDz等が記憶される。なお、記憶部32には、図19に示す情報に含まれるデータの他、実行するアプリケーションで用いるデータ等、処理に必要なデータが記憶される。また、記憶部32のプログラム記憶領域には、通信プログラムや情報処理プログラム(ゲームプログラム)を構成する各種プログラム群Paが記憶される。
操作データDaは、ユーザが情報処理装置3を操作した操作情報を示すデータである。例えば、タッチパネルを含む入力部34を操作したことを示す操作データは、情報処理装置3が処理する時間単位(例えば、1/60秒)毎に取得され、当該取得に応じて操作データDaに格納されて更新される。
送信データDbは、サーバ200へ送信するデータとして登録されたデータである。受信データDcは、サーバ200から受信したデータである。
ユーザ所有データDdは、ユーザや当該ユーザが操作しているプレイヤオブジェクトPOが所有している仮想通貨、ゲーム内コイン、装備、キャラクタ、アイテム、経験値、プレイレベル、ユーザID等を示す各種データであり、サーバ200によって管理されてゲーム開始前にサーバ200から送信されることによって設定されるデータも含んでいる。
抽選テーブルデータDeは、「フィーバー状態」とするアイテムIの種類に対応する当たり確率をそれぞれ記述したデータであり、空枠Eの数、時期、プレイヤオブジェクトPOの状況等に応じてそれぞれ設定される。例えば、抽選テーブルデータDeは、サーバ200によって管理され、ゲーム開始前にサーバ200から送信されことによって設定される。
現タッチ入力座標データDfは、入力部34(タッチパネル)を現時点でタッチ操作している現タッチ位置座標Tを示すデータである。タッチ軌跡座標データDgは、タッチパネルに対してタッチオンしてから現時点までのタッチ入力座標の履歴(タッチ軌跡座標)を示すデータである。第1基準座標データDhは、タッチパネルに対してタッチオンしたタッチ入力座標を示すデータであり、スワイプ入力における左右方向成分を算出するための基準座標(基準座標R0)を示すデータである。第2基準座標データDiは、所定の条件を満たすようにタッチ軌跡座標上を移動するタッチ入力座標を示すデータであり、スワイプ入力における上下方向成分を算出するための基準座標(基準座標Rm)を示すデータである。
左右方向成分データDjは、ユーザによって入力されたスワイプ入力の左右方向成分を示すデータである。ハンドル角度データDkは、上記スワイプ入力の左右方向成分に基づいて算出される、プレイヤオブジェクトPOのハンドル角度を示すデータである。
入力長さデータDmは、ユーザによって入力されたタッチ位置の軌跡の長さを示すデータである。入力ベクトルデータDnは、基準座標Rmから現タッチ位置座標Tに向かうベクトルFDを示すデータである。
判定領域データDpは、上方向または下方向のスワイプ入力を判定するための判定領域UAおよびLAを示すデータである。発射方向データDqは、プレイヤオブジェクトPOが発射した発射アイテムIMの方向を示すデータである。
所持枠データDrは、所持枠HF毎にそれぞれ配置されているアイテムIのオブジェクトIDを示すデータであり、空枠Eの場合であっても空枠Eであることを示すデータが当該所持枠HFに設定される。
第1抽選フラグデータDsは、プレイヤオブジェクトPOがアイテムボックスIBを開封することによって開始されるアイテム抽選が行われている期間中にオンに設定される第1抽選フラグを示すデータである。第2抽選フラグデータDtは、ユーザがアイテム抽選アイコンABを選択して実行することによって開始されるアイテム抽選が行われている期間中にオンに設定される第2抽選フラグを示すデータである。当たりフラグデータDuは、「フィーバー状態」となる当たり中にオンに設定される当たりフラグを示すデータである。抽選回数データDvは、アイテム抽選アイコンABを選択して実行することによって行われたアイテム抽選の回数を示すデータである。
プレイヤオブジェクト動作データDwは、プレイヤオブジェクトPOの動作を示すデータであり、レース中のプレイヤオブジェクトPOの位置、速度、姿勢、周回回数、順位等を示すデータも含んでいる。敵オブジェクト動作データDxは、敵オブジェクトEOの動作を示すデータであり、レース中の敵オブジェクトEOの位置、速度、姿勢、周回回数、順位等を示すデータも含んでいる。アイテム位置データDyは、使用準備位置に配置されているアイコンI(使用準備アイテムIP)の位置や発射されたアイコンI(発射アイテムIM)の位置を示すデータである。
画像データDzは、ゲームの際に情報処理装置3の表示部35にゲーム画像(例えば、プレイヤオブジェクトPOの画像、敵オブジェクトEOの画像、アイテムIの画像、所持枠HFの画像、アイテム抽選アイコンABの画像、他の仮想オブジェクトの画像、コース等のフィールド画像、背景画像等)を表示するためのデータである。
次に、図20〜図24を参照して、情報処理装置3において行われる処理の詳細を説明する。なお、図20は、情報処理装置3において実行される処理の一例を示すフローチャートである。図21は、図20のステップS106における操作内容判定処理の詳細な一例を示すサブルーチンである。図22は、図20のステップS107における第1アイテム抽選処理の詳細な一例を示すサブルーチンである。図23は、図20のステップS108における第2アイテム抽選処理の詳細な一例を示すサブルーチンである。図24は、図20のステップS116における購入処理の詳細な一例を示すサブルーチンである。ここで、図20〜図24に示すフローチャートにおいては、情報処理システム1における処理のうち、一例としてプレイヤオブジェクトPOに対する操作、アイテム抽選、およびレース外で行われる購入処理に関連するゲーム処理について主に説明し、これらの処理と直接関連しない他の処理については詳細な説明を省略する。また、図20〜図24では、制御部31が実行する各ステップを「S」と略称する。
本実施例においては、図20〜図24に示す一連の処理は、制御部31(CPU)が、プログラム記憶部33に記憶される通信プログラムやゲームプログラムを実行することによって行われる。なお、図20〜図24に示す処理が開始されるタイミングは任意である。このとき、通信プログラムやゲームプログラムは、適宜のタイミングでその一部または全部が記憶部32に読み出され、制御部31によって実行される。これによって、図20〜図24に示す一連の処理が開始される。なお、通信プログラムおよびゲームプログラムは、プログラム記憶部33に予め記憶されているものとする。ただし、他の実施例においては、情報処理装置3に着脱可能な記憶媒体から取得されて記憶部32に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されて記憶部32に記憶されてもよい。
また、図20〜図24に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えておよび/または代えて別の処理が実行されてもよい。また、本実施例では、上記フローチャートの各ステップの処理を制御部31が実行するものとして説明するが、上記フローチャートにおける一部または全部のステップの処理を、上記制御部31のCPU以外のプロセッサや専用回路が実行するようにしてもよい。
図20において、制御部31は、通信処理を行い(ステップS101)、次のステップに処理を進める。例えば、制御部31は、ネットワーク100を介して、送信データDbに格納されている送信データ(例えば、ユーザ認証を行うためのデータ(例えば、ユーザIDを示すデータ))をサーバ200へ送信する。また、制御部31は、ネットワーク100を介して、サーバ200からデータを受信し、受信したデータを用いて受信データDcを更新する。一例として、制御部31は、他の情報処理装置3との間でゲームを行う場合や自機のみでゲームを行う場合、上記ステップS101において当該ゲームを進行するためのデータをサーバ200との間で適宜送受信する。
次に、制御部31は、初期設定を行い(ステップS102)、次のステップに処理を進める。例えば、制御部31は、以降の処理に用いる各パラメータを初期化する。また、制御部31は、現時点でプレイヤオブジェクトPOが所有している仮想オブジェクトやアイテム等のコンテンツに基づいて、ユーザ所有データDdを初期設定する。例えば、制御部31は、ユーザが所有しているデータや当該ユーザが操作しているプレイヤオブジェクトPOに関するデータ(例えば、仮想通貨、ゲーム内コイン、装備、キャラクタ、アイテム、経験値、プレイレベル等に関するデータ)、後述するレースゲームを進行するためのデータ(例えば、抽選テーブルデータ)等を上記ステップS101においてサーバ200から受信している。そして、制御部31は、サーバ200から受信したデータや情報処理装置3に記憶されていたデータに基づいて、ユーザ所有データDdおよび抽選テーブルデータDeを初期設定する。上記ステップS101およびステップS102において、ユーザが所有している仮想通貨およびゲーム内コインの量やアイテム抽選を行うための抽選テーブル等が初期設定される。
次に、制御部31は、入力部34から操作データを取得して操作データDaを更新し(ステップS103)、次のステップに処理を進める。
次に、制御部31は、レースゲームを開始するか否かを判定する(ステップS104)。例えば、制御部31は、ユーザによってレースゲームを開始する操作が行われた場合やレースゲームを開始する所定の開始条件が満たされた場合、上記ステップS104において肯定判定する。そして、制御部31は、レースゲームを開始する場合、ステップS105に処理を進める。一方、制御部31は、レースゲームを開始しない場合、ステップS115に処理を進める。
ステップS105において、制御部31は、入力部34から操作データを取得して操作データDaを更新し、次のステップに処理を進める。なお、入力受付手段は、ユーザによる座標入力を受け付ける処理を行うものであり、一例としてステップS105の処理を行う制御部31に相当する。
次に、制御部31は、操作内容判定処理を行い(ステップS106)、ステップS107に処理を進める。以下、図21を参照して、上記ステップS106において行われる操作内容判定処理について説明する。
図21において、制御部31は、上記ステップS105において取得した最新の操作データに基づいて、現タッチ位置座標を更新して(ステップS121)、次のステップに処理を進める。例えば、制御部31は、表示部35の表示画面に、当該表示画面の左右方向となるX軸(右方向がX軸正方向)と当該表示画面の上下方向となるY軸(上方向がY軸正方向)とが設定された表示画面座標系を定義する。そして、制御部31は、上記ステップS105において取得した最新の操作データから、情報処理装置3のタッチパネルに対してタッチ操作されている上記表示画面座標系のタッチ入力座標を現タッチ入力座標Tとして取得し、当該現タッチ入力座標Tを用いて現タッチ入力座標データDfを更新する。なお、制御部31は、上記ステップS105において取得した最新の操作データに、タッチパネルに対してタッチ操作されているタッチ入力座標が含まれない場合、タッチパネルに対してユーザがタッチオフしていると判定して、タッチオフを示すデータを用いて現タッチ入力座標データDfを更新する。
次に、制御部31は、上記ステップS121において更新された現タッチ入力座標Tをタッチ軌跡座標に追加し(ステップS122)、次のステップに処理を進める。例えば、制御部31は、タッチ軌跡座標データDgが示すタッチ軌跡座標に、上記ステップS121において更新された現タッチ入力座標Tを追加し、当該追加後のタッチ軌跡座標を用いてタッチ軌跡座標データDgを更新する。なお、制御部31は、現タッチ入力座標データDfがタッチオフを示す場合、タッチ軌跡座標データDgを更新することなく次のステップに処理を進める。
次に、制御部31は、情報処理装置3のタッチパネルがタッチオフ状態からタッチオン状態となったか否かを判定する(ステップS123)。そして、制御部31は、タッチパネルがタッチオフ状態からタッチオン状態となった場合、ステップS124に処理を進める。一方、制御部31は、タッチパネルがタッチオフ状態からタッチオン状態となっていない場合(例えば、タッチオフ中やタッチオンされた後に継続してタッチ操作中である場合)、ステップS125に処理を進める。
ステップS124において、制御部31は、第1基準座標および第2基準座標を設定し、ステップS125に処理を進める。例えば、制御部31は、現タッチ入力座標データDfを参照して、上記ステップS121において更新された現タッチ入力座標Tを取得し、当該現タッチ入力座標Tを上記表示画面座標系の第1基準座標R0および第2基準座標Rmとしてそれぞれ設定する。そして、制御部31は、設定された第1基準座標R0を用いて第1基準座標データDhを更新し、設定された第2基準座標Rmを用いて第2基準座標データDiを更新する。
ステップS125において、制御部31は、タッチパネルに対するスワイプ入力の左右方向成分を算出し、次のステップに処理を進める。例えば、制御部31は、第1基準座標データDhおよび現タッチ入力座標データDfを参照して、上記表示画面座標系における基準座標R0(X0、Y0)と現タッチ位置座標T(Xt、Yt)とを取得する。そして、制御部31は、スワイプ入力における表示画面の左右方向成分(X軸方向成分)の大きさとして、Xt−X0を算出し、当該算出されたXt−X0を用いて左右方向成分データDjを更新する。
次に、制御部31は、プレイヤオブジェクトPOのハンドル角度を算出し(ステップS126)、次のステップに処理を進める。例えば、制御部31は、上記ステップS125において算出された左右方向成分Xt−X0が正の値である場合、Xt−X0の絶対値に応じて右方向のハンドル角度を算出し、当該ハンドル角度を用いてハンドル角度データDkを更新する。また、制御部31は、上記ステップS125において算出された左右方向成分Xt−X0が負の値である場合、Xt−X0の絶対値に応じて左方向のハンドル角度を算出し、当該ハンドル角度を用いてハンドル角度データDkを更新する。なお、制御部31は、タッチパネルに対してタッチオフされている場合、所定の速度でハンドル角度を中立位置に戻すように変化させて、ハンドル角度データDkを更新する。なお、オブジェクト移動手段は、ユーザ入力により定まる第1基準座標を基準とした当該ユーザ入力の変化の大きさの第1軸方向の成分に少なくとも基づいて移動オブジェクトの移動方向を変化させる処理を行うものであり、一例としてステップS124−ステップS126の処理を行う制御部31に相当する。
次に、制御部31は、第2基準座標Rmから現タッチ入力座標Tまでの入力長さを算出し(ステップS127)、次のステップに処理を進める。例えば、制御部31は、現タッチ入力座標データDf、タッチ軌跡座標データDg、および第2基準座標データDiを参照して、タッチ入力軌跡に沿った第2基準座標Rmから現タッチ位置座標Tまでの入力長さを算出し、当該入力長さを用いて入力長さデータDmを更新する。
次に、制御部31は、上記ステップS127において算出された入力長さが所定の閾値Lより長いか否かを判定する(ステップS128)。そして、制御部31は、上記入力長さが所定の閾値Lより長い場合、ステップS129に処理を進める。一方、制御部31は、上記入力長さが所定の閾値L以下である場合、ステップS130に処理を進める。
ステップS129において、制御部31は、上記入力長さが閾値L以下となるように第2基準座標Rmを移動させ、ステップS130に処理を進める。例えば、制御部31は、上記ステップS127において算出された入力長さが所定の速度で閾値L以下となるように、閾値Lより長くなるタッチ位置座標Tの履歴を所定の速度に基づいて順次削除し、当該削除処理に応じて最も古いタッチ位置座標Tとなった位置を第2基準座標Rmとして設定する。これによって、制御部31は、タッチ入力軌跡に沿って現タッチ位置座標Tの方向に第2基準座標Rmを移動させ、当該移動後の第2基準座標Rmを用いて第2基準座標データDiを更新する。
ステップS130において、制御部31は、入力ベクトルFDを算出し、次のステップに処理を進める。例えば、制御部31は、現タッチ入力座標データDfおよび第2基準座標データDiを参照して、上記表示画面座標系において第2基準座標Rmから現タッチ位置座標Tに向かう入力ベクトルFDを算出し、当該入力ベクトルFDを用いて入力ベクトルデータDnを更新する。
次に、制御部31は、入力ベクトルFDの長さが所定の長さ以上、かつ、当該入力ベクトルFDが示す方向が予め定められている判定領域内であるか否かを判定する(ステップS131)。そして、制御部31は、入力ベクトルFDの長さが所定の長さ以上、かつ、当該入力ベクトルFDが示す方向が上記判定領域内である場合、ステップS132に処理を進める。一方、制御部31は、入力ベクトルFDの長さが所定の長さ以上ではない、または入力ベクトルFDが示す方向が上記判定領域内でない場合、発射方向データDqが示す発射方向を消去して、ステップS133に処理を進める。例えば、制御部31は、判定領域データDpを参照して、Y軸正方向を中心とする所定の角度範囲である前方判定領域UAと、Y軸負方向を中心とする所定の角度範囲である後方判定領域LAとを取得し、上記ステップS130において算出された入力ベクトルFDの長さが所定の長さ以上、かつ、入力ベクトルFDの方向が前方判定領域UA内または後方判定領域LA内にある場合、上記ステップS131において肯定判定する。
ステップS132において、制御部31は、発射方向を設定し、ステップS133に処理を進める。例えば、制御部31は、上記ステップS130において算出された入力ベクトルFDの方向が前方判定領域UA内である場合、プレイヤオブジェクトPOの真正面方向を発射方向に設定し、当該発射方向を用いて発射方向データDqを更新する。また、制御部31は、上記ステップS130において算出された入力ベクトルFDの方向が後方判定領域LA内である場合、プレイヤオブジェクトPOの真後ろ方向を発射方向に設定し、当該発射方向を用いて発射方向データDqを更新する。なお、制御部31は、Y軸方向と入力ベクトルFDの方向との角度差だけ、プレイヤオブジェクトPOの真正面方向または真後ろ方向からずれた方向を、上記発射方向として設定してもかまわない。なお、ゲーム動作実行手段は、第2軸方向のユーザ入力の成分に少なくとも基づいて移動オブジェクトの移動とは異なるゲーム動作を決定する処理を行うものであり、一例としてステップS124およびステップS127−ステップS132の処理を行う制御部31に相当する。
ステップS133において、制御部31は、情報処理装置3のタッチパネルがタッチ操作されている状態からタッチオフ状態となったか否かを判定する。そして、制御部31は、タッチパネルがタッチ操作されている状態からタッチオフ状態となった場合、ステップS134に処理を進める。一方、制御部31は、タッチパネルがタッチ操作されている状態からタッチオフ状態となっていない場合(例えば、タッチオフされてから継続してタッチ操作されていない場合、タッチオンされた場合、タッチオンされた後に継続してタッチ操作中である場合)、当該サブルーチンによる処理を終了する。
ステップS134において、制御部31は、第1基準座標R0、第2基準座標Rm、タッチ軌跡座標を消去して、当該サブルーチンによる処理を終了する。例えば、制御部31は、第1基準座標データDhが示す第1基準座標R0、第2基準座標データDiが示す第2基準座標Rm、およびタッチ軌跡座標データDgが示すタッチ軌跡座標をそれぞれ消去する。
図20に戻り、上記ステップS106における操作内容判定処理の後、制御部31は、第1アイテム抽選処理を行い(ステップS107)、ステップS108に処理を進める。以下、図22を参照して、上記ステップS107において行われる第1アイテム抽選処理について説明する。
図22において、制御部31は、所持枠HFの中に空枠Eがあるか否かを判定する(ステップS141)。例えば、制御部31は、所持枠データDrを参照して、各所持枠HFに設定されているオブジェクトIDを取得し、当該所持枠HFの少なくとも1つに空枠Eであることを示すデータが含まれている場合、上記ステップS141において肯定判定する。そして、制御部31は、所持枠HFの中に空枠Eがある場合、ステップS142に処理を進める。一方、制御部31は、所持枠HFの中に空枠Eがない場合、すなわち全所持枠HFに対してアイテムIのオブジェクトIDが設定されている場合、ステップS145に処理を進める。
ステップS142において、制御部31は、プレイヤオブジェクトPOがコース上に配置されたアイテムボックスIBを通過して開封したか否かを判定する。例えば、制御部31は、プレイヤオブジェクト動作データDw等を参照して、プレイヤオブジェクトPOがアイテムボックスIBを通過する動作が設定されている場合、上記ステップS142において肯定判定する。そして、制御部31は、プレイヤオブジェクトPOがアイテムボックスIBを開封した場合、ステップS143に処理を進める。一方、制御部31は、プレイヤオブジェクトPOがアイテムボックスIBを開封していない場合、ステップS145に処理を進める。
ステップS143において、制御部31は、アイテム抽選演出処理を開始し、次のステップに処理を進める。例えば、制御部31は、空枠Eの所持枠HF内において、複数種類のアイテムIを回転抽選表示した後、何れか1つのアイテムIを当該所持枠HF内で停止表示させるアイテム抽選演出を表示部35に表示するアイテム抽選演出処理を開始する。また、制御部31は、アイテム抽選演出処理を開始するとともに、第1抽選演出経過時間の計測を開始する。
次に、制御部31は、第1抽選フラグをオンに設定し(ステップS144)、ステップS145に処理を進める。例えば、制御部31は、第1抽選フラグデータDsが示す第1抽選フラグをオンに設定して、第1抽選フラグデータDsを更新する。
ステップS145において、制御部31は、第1抽選フラグがオンに設定されているか否かを判定する。例えば、制御部31は、第1抽選フラグデータDsが示す第1抽選フラグを参照することによって、上記ステップS145の判定を行う。そして、制御部31は、第1抽選フラグがオンに設定されている場合、ステップS146に処理を進める。一方、制御部31は、第1抽選フラグがオフに設定されている場合、ステップS151に処理を進める。
ステップS146において、制御部31は、第1経過時間に到達したか否かを判定する。例えば、制御部31は、上記ステップS143から計測が開始されている第1抽選演出経過時間が予め定められている第1抽選時間に到達したか否かを判定する。そして、制御部31は、第1抽選時間に到達した場合、ステップS147に処理を進める。一方、制御部31は、第1抽選時間に到達していない場合、ステップS151に処理を進める。
ステップS147において、制御部31は、第1抽選フラグをオフに設定し、次のステップに処理を進める。例えば、制御部31は、第1抽選フラグデータDsが示す第1抽選フラグをオフに設定して、第1抽選フラグデータDsを更新する。
次に、制御部31は、アイテム抽選結果判定を行い(ステップS148)、次のステップに処理を進める。例えば、制御部31は、「フィーバー状態」の当たりとするか否かに関して、抽選テーブルデータDeが示す抽選テーブルに基づいて判定する。例えば、制御部31は、空枠Eの数、レースの周回数、レースの順位、コースやレースの種類、プレイヤオブジェクトPOの種類等に応じて、抽選テーブルデータDeから当たり判定に用いる抽選テーブルを抽出する。そして、制御部31は、抽出された抽選テーブルに記述された当たり確率に基づいて、上記ステップS148におけるアイテム抽選結果判定において「フィーバー状態」の当たりとするか否か、および当該当たりとなるアイテムI(すなわち、全所持枠HFにおいて同じとなるアイテムI)とを判定する。また、制御部31は、上記ステップS148におけるアイテム抽選結果判定においてはずれの場合、停止表示するアイテムIを所持枠HF毎に決定する。
なお、本実施例では、第1抽選時間が経過した後にアイテム抽選結果判定を行っているが、第1抽選演出経過時間のカウント開始時点やカウント中など、アイテム抽選結果報知前であれば、アイテム抽選結果判定を他のタイミングで行ってもかまわない。
次に、制御部31は、上記ステップS148におけるアイテム抽選結果判定が当たりであるか否かを判定する(ステップS149)。そして、制御部31は、上記ステップS148におけるアイテム抽選結果判定が当たりである場合、ステップS150に処理を進める。一方、制御部31は、上記ステップS148におけるアイテム抽選結果判定がはずれである場合、ステップS156に処理を進める。
ステップS150において、制御部31は、当たりを示すアイテム抽選結果報知処理を行った後、フィーバー状態に移行し、ステップS151に処理を進める。例えば、制御部31は、上記ステップS148で決定されたアイテムIを全所持枠HFにおいて停止表示させるとともに、「フィーバー状態」の当たりであることを報知するアイテム抽選結果報知演出を表示部35に表示するアイテム抽選結果報知処理を行う。そして、制御部31は、当たりフラグをオンに設定して当たりフラグデータDuを更新するとともにフィーバー経過時間の計測を開始し、所持枠データDrにおける全所持枠HFに上記停止表示するアイテムIのオブジェクトIDを設定する。また、制御部31は、プレイヤオブジェクトPOの動作を停止表示させたアイテムIによるフィーバー状態による動作に設定し、プレイヤオブジェクト動作データDwを更新する。
一方、上記アイテム抽選結果判定がはずれの場合、ステップS156において、制御部31は、はずれを示すアイテム抽選結果報知処理を行った後、ステップS151に処理を進める。例えば、制御部31は、空枠Eであった所持枠HF内に何れか1つのアイテムIを停止表示させて取得されたアイテムIおよびはずれであることを報知するアイテム抽選結果報知演出を表示部35に表示するアイテム抽選結果報知処理を行う。また、制御部31は、所持枠データDrにおける所持枠HFに上記停止表示するアイテムIのオブジェクトIDを設定する。
ステップS151において、制御部31は、当たりフラグがオンであるか否かを判定する。例えば、制御部31は、当たりフラグデータDuが示す当たりフラグを参照することによって、上記ステップS151の判定を行う。そして、制御部31は、当たりフラグがオンに設定されている場合、ステップS152に処理を進める。一方、制御部31は、当たりフラグがオフに設定されている場合、ステップS157に処理を進める。
ステップS152において、制御部31は、情報処理装置3のタッチパネルに対するタッチ入力があるか否かを判定する。例えば、制御部31は、現タッチ入力座標データDfに現タッチ入力座標Tが設定されている場合、上記ステップS152において肯定判定する。そして、制御部31は、タッチパネルに対するタッチ入力がある場合、ステップS153に処理を進める。一方、制御部31は、タッチパネルに対するタッチ入力がない場合、ステップS154に処理を進める。
ステップS153において、制御部31は、アイテム使用処理を行い、ステップS154に処理を進める。例えば、制御部31は、フィーバー期間中に限って可能となる「フィーバー状態」となったアイテムを連続して使用する処理を行う。一例として、制御部31は、甲羅のアイテムによる「フィーバー状態」の場合、プレイヤオブジェクトPOの周辺に複数の甲羅のアイテムIFを配置し、ユーザのタッチ操作に応じて、所定の周期で連続して甲羅の発射アイテムIMをプレイヤオブジェクトPOの前方に発射するアイテム使用処理を行って、プレイヤオブジェクト動作データDwおよびアイテム位置データDy等を更新する。
ステップS154において、制御部31は、フィーバー時間に到達したか否かを判定する。例えば、制御部31は、上記ステップS150および後述するステップS183から計測が開始されているフィーバー経過時間が予め定められているフィーバー時間に到達したか否かを判定する。そして、制御部31は、フィーバー時間に到達した場合、ステップS155に処理を進める。一方、制御部31は、フィーバー時間に到達していない場合、当該サブルーチンによる処理を終了する。
ステップS155において、制御部31は、フィーバー状態を解除する処理を行い、当該サブルーチンによる処理を終了する。例えば、制御部31は、所持枠データDrにおける全所持枠HFに空枠Eを設定するとともに、当たりフラグをオフに設定して当たりフラグデータDuを更新する。また、制御部31は、プレイヤオブジェクトPOの動作を通常状態による動作に設定し、プレイヤオブジェクト動作データDwを更新する。
一方、上記ステップS151において当たりフラグがオフであると判定された場合、制御部31は、アイテムの発射方向が設定されているか否かを判定する(ステップS157)。例えば、制御部31は、発射方向データDqに発射方向が設定されている場合、上記ステップS157において肯定判定する。そして、制御部31は、発射方向が設定されている場合、ステップS158に処理を進める。一方、制御部31は、発射方向が設定されていない場合、当該サブルーチンによる処理を終了する。
ステップS158において、制御部31は、所持枠HFにアイテムIを所持しているか否かを判定する。例えば、制御部31は、所持枠データDrにおける所持枠HFの少なくとも1つにアイテムのオブジェクトIDが設定されている場合、上記ステップS158において肯定判定する。そして、制御部31は、所持枠HFにアイテムIを所持している場合、ステップS159に処理を進める。一方、所持枠HFにアイテムIを所持していない場合、当該サブルーチンによる処理を終了する。
ステップS159において、制御部31は、アイテム使用処理を行い、当該サブルーチンによる処理を終了する。例えば、制御部31は、所持枠HFに表示されているアイテムIのうち、FIFO(先入れ先出し)方式によって使用されるアイテムIを選択する。そして、選択されたアイテムIが発射方向データDqに設定されている発射方向に発射可能である場合、制御部31は、当該アイテムIを発射アイテムIMとしてプレイヤオブジェクトPO近傍から単発発射して移動させるアイテム使用処理を行って、プレイヤオブジェクト動作データDwおよびアイテム位置データDy等を更新する。また、選択されたアイテムIがプレイヤオブジェクトPO自体によって使用される種類である場合、プレイヤオブジェクトPO自身によって使用されて当該アイテムIの効果が得られるアイテム使用処理を行って、プレイヤオブジェクト動作データDw等を更新する。また、制御部31は、アイテムIの使用によって、当該アイテムIが表示されていた所持枠HFを空枠Eに変更して、変更後の所持枠HFの状態を用いて所持枠データDrを更新する。
なお、上記ステップS159において、制御部31は、アイテムIの使用に伴って発射方向データDqが示す発射方向および第2基準座標データDiが示す第2基準座標Rmをそれぞれ消去してもかまわないし、それぞれそのままの状態を維持してもかまわない。前者の場合、アイテムIを再度使用するためには、タッチパネルに対して再度タッチオンしてアイテムIが使用される方向へドラッグ操作する必要がある。後者の場合、アイテムIが使用可能となった時点で、維持されている発射方向および第2基準座標Rmに基づいてアイテムIが即時に使用される。
また、使用準備位置に配置されている使用準備アイテムIP上をタッチ操作(タップ操作)されることによって、当該使用準備アイテムIPを使用できる態様とする場合、上記ステップS157において、発射方向が設定されている場合だけでなく、当該タッチ操作が行われている場合も肯定判定される。そして、上記ステップS159では、タッチ操作された使用準備アイテムIPがプレイヤオブジェクトPO自体によって使用される、またはデフォルトの方向へ発射アイテムIMとして発射されることによって使用されるアイテム使用処理が行われる。
図20に戻り、上記ステップS107における第1アイテム抽選処理の後、制御部31は、第2アイテム抽選処理を行い(ステップS108)、ステップS109に処理を進める。以下、図23を参照して、上記ステップS108において行われる第2アイテム抽選処理について説明する。
図23において、制御部31は、全所持枠HFが空枠Eであるか否かを判定する(ステップS171)。例えば、制御部31は、所持枠データDrを参照して、全所持枠HFが空枠Eであることを示すデータである場合、上記ステップS171において肯定判定する。そして、制御部31は、全所持枠HFが空枠Eである場合、ステップS172に処理を進める。一方、制御部31は、所持枠HFの少なくとも1つにアイテムIのオブジェクトIDが設定されていたり、所持枠HFの少なくとも1つが回転抽選表示されていたりする場合、アイテム抽選アイコンABが出現していれば当該アイテム抽選アイコンABを表示画面から退避させて、ステップS174に処理を進める。
ステップS172において、制御部31は、アイテム抽選アイコンABが出現する条件を満たしているか否かを判定する。例えば、制御部31は、抽選回数データDvが示す抽選回数がアイテム抽選アイコンABを選択して実行する制限回数にまだ未到達であり、さらにユーザ所有データDdが示す仮想通貨の所持量が当該実行において消費される仮想通貨以上である場合、上記条件を満たしていると判定する。そして、制御部31は、アイテム抽選アイコンABが出現する条件を満たしている場合、ステップS173に処理を進める。一方、制御部31は、アイテム抽選アイコンABが出現する条件を満たしていない場合、ステップS174に処理を進める。
ステップS173において、制御部31は、アイテム抽選アイコンABを表示部35に出現させて表示する設定を行い、ステップS174に処理を進める。例えば、制御部31は、アイテム抽選アイコンABを選択する際に必要となる仮想通貨の量を示す価格情報Mとともにアイテム抽選アイコンABを表示部35に表示する設定を行う。
ステップS174において、制御部31は、アイテム抽選アイコンABを選択して実行する操作が行われたか否かを判定する。例えば、制御部31は、表示部35に表示されているアイテム抽選アイコンAB上をタッチ操作(タップ操作)された場合、アイテム抽選アイコンABを選択して実行する操作が行われたと判定する。そして、制御部31は、アイテム抽選アイコンABを選択して実行する操作が行われた場合、ステップS175に処理を進める。一方、制御部31は、アイテム抽選アイコンABを選択して実行する操作が行われていない場合、ステップS178に処理を進める。
ステップS175において、制御部31は、アイテム抽選アイコンABを選択して実行されることに応じて仮想通貨を消費させる処理を行い、次のステップに処理を進める。例えば、制御部31は、ユーザ所持データDdが示すユーザが所持する仮想通貨量から、アイテム抽選アイコンABを選択して実行されることに応じて消費される仮想通貨量を減算し、当該減算した仮想通貨量を用いてユーザ所持データDdを更新する。
次に、制御部31は、アイテム抽選演出処理を開始し(ステップS176)、次のステップに処理を進める。例えば、制御部31は、空枠Eとなっている全所持枠HF内において、複数種類のアイテムIを回転抽選表示した後、何れか1つのアイテムIを当該所持枠HF内で停止表示させるアイテム抽選演出を表示部35に表示するアイテム抽選演出処理を開始する。また、制御部31は、アイテム抽選演出処理を開始するとともに、第2抽選演出経過時間の計測を開始する。
次に、制御部31は、第2抽選フラグをオンに設定し(ステップS177)、ステップS178に処理を進める。例えば、制御部31は、第2抽選フラグデータDtが示す第2抽選フラグをオンに設定して、第2抽選フラグデータDtを更新する。
ステップS178において、制御部31は、第2抽選フラグがオンに設定されているか否かを判定する。例えば、制御部31は、第2抽選フラグデータDtが示す第2抽選フラグを参照することによって、上記ステップS178の判定を行う。そして、制御部31は、第2抽選フラグがオンに設定されている場合、ステップS179に処理を進める。一方、制御部31は、第2抽選フラグがオフに設定されている場合、当該サブルーチンによる処理を終了する。
ステップS179において、制御部31は、第2経過時間に到達したか否かを判定する。例えば、制御部31は、上記ステップS176から計測が開始されている第2抽選演出経過時間が予め定められている第2抽選時間に到達したか否かを判定する。そして、制御部31は、第2抽選時間に到達した場合、ステップS180に処理を進める。一方、制御部31は、第2抽選時間に到達していない場合、当該サブルーチンによる処理を終了する。なお、制御部31は、第2経過時間を上記第1経過時間より短い時間に設定する。
ステップS180において、制御部31は、第2抽選フラグをオフに設定し、次のステップに処理を進める。例えば、制御部31は、第2抽選フラグデータDtが示す第2抽選フラグをオフに設定して、第2抽選フラグデータDtを更新する。
次に、制御部31は、アイテム抽選結果判定を行い(ステップS181)、次のステップに処理を進める。例えば、制御部31は、「フィーバー状態」の当たりとするか否かに関して、抽選テーブルデータDeが示す抽選テーブルに基づいて判定する。例えば、制御部31は、空枠Eの数、レースの周回数、レースの順位、コースやレースの種類、プレイヤオブジェクトPOの種類等に応じて、抽選テーブルデータDeから当たり判定に用いる抽選テーブルを抽出する。また、アイテム抽選アイコンABを選択して実行されることよるアイテム抽選を行う場合、当該アイテム抽選が同じレース中に行われた回数や消費される仮想通貨量に応じて、異なる抽選テーブルが抽出されてもよく、アイテムボックスIBの開封によるアイテム抽選より高確率で当たりとなる抽選テーブルが抽出されてもよい。そして、制御部31は、抽出された抽選テーブルに記述された当たり確率に基づいて、上記ステップS181におけるアイテム抽選結果判定において「フィーバー状態」の当たりとするか否か、および当該当たりとなるアイテムI(すなわち、全所持枠HFにおいて同じとなるアイテムI)とを判定する。
なお、本実施例では、第2抽選時間が経過した後にアイテム抽選結果判定を行っているが、第2抽選演出経過時間のカウント開始時点やカウント中など、アイテム抽選結果報知前であれば、アイテム抽選結果判定を他のタイミングで行ってもかまわない。
次に、制御部31は、上記ステップS181におけるアイテム抽選結果判定が当たりであるか否かを判定する(ステップS182)。そして、制御部31は、上記ステップS181におけるアイテム抽選結果判定が当たりである場合、ステップS183に処理を進める。一方、制御部31は、上記ステップS181におけるアイテム抽選結果判定がはずれである場合、ステップS184に処理を進める。
ステップS183において、制御部31は、当たりを示すアイテム抽選結果報知処理を行った後、フィーバー状態に移行し、当該サブルーチンによる処理を終了する。例えば、制御部31は、上記ステップS181で決定されたアイテムIを全所持枠HFにおいて停止表示させるとともに、「フィーバー状態」の当たりであることを報知するアイテム抽選結果報知演出を表示部35に表示するアイテム抽選結果報知処理を行う。そして、制御部31は、当たりフラグをオンに設定して当たりフラグデータDuを更新するとともにフィーバー経過時間の計測を開始し、所持枠データDrにおける全所持枠HFに上記停止表示するアイテムIのオブジェクトIDを設定する。また、制御部31は、プレイヤオブジェクトPOの動作を停止表示させたアイテムIによるフィーバー状態による動作に設定し、プレイヤオブジェクト動作データDwを更新する。
一方、上記アイテム抽選結果判定がはずれの場合、ステップS184において、制御部31は、はずれを示すアイテム抽選結果報知処理を行った後、当該サブルーチンによる処理を終了する。例えば、制御部31は、空枠Eであった所持枠HF内に何れか1つのアイテムIを停止表示させて取得されたアイテムIおよびはずれであることを報知するアイテム抽選結果報知演出を表示部35に表示するアイテム抽選結果報知処理を行う。また、制御部31は、所持枠データDrにおける所持枠HFに上記停止表示するアイテムIのオブジェクトIDを設定する。
図20に戻り、上記ステップS108における第2アイテム抽選処理の後、制御部31は、プレイヤオブジェクトPOの動作を設定する処理を行い(ステップS109)、次のステップに処理を進める。例えば、制御部31は、ハンドル角度データDkが示すハンドル角度や他の仮想オブジェクトからの影響等を考慮して、プレイヤオブジェクトPOの位置および姿勢を設定するとともに、プレイヤオブジェクト動作データDwに設定されているプレイヤオブジェクトPOの状態を考慮してプレイヤオブジェクトPOの動作、位置、姿勢等を決定して、プレイヤオブジェクト動作データDwを更新する。
次に、制御部31は、敵オブジェクトEOの動作を設定する処理を行い(ステップS110)、次のステップに処理を進める。一例として、敵オブジェクトEOの動作が制御部31によって制御されている場合、制御部31は、所定のアルゴリズムに基づいて敵オブジェクトEOを動作させ、当該動作に基づいて敵オブジェクトデータDxを更新する。他の例として、敵オブジェクトEOの動作が他のユーザによって制御されている場合、制御部31は、プレイヤオブジェクトPOと同様に当該他のユーザの操作に基づいて敵オブジェクトEOを動作させ、当該動作に基づいて敵オブジェクトデータDxを更新する。
次に、制御部31は、アイテムの動作を設定する処理を行い(ステップS111)、次のステップに処理を進める。例えば、制御部31は、上記処理によって使用が設定されてプレイヤオブジェクトPOから発射された発射アイテムIMを、発射方向データDqに基づいて移動させる処理を行い、当該移動後の位置や姿勢に基づいてアイテム位置データDyを更新する。
次に、制御部31は、表示画像を生成して表示部35に表示する表示制御処理を行い(ステップS112)、次のステップに処理を進める。例えば、制御部31は、プレイヤオブジェクト動作データDw、敵オブジェクトデータDx、およびアイテム位置データDy等に応じて、上述した各ステップにおける処理結果に応じた表示画像を生成して、当該表示画像を表示部35に表示する処理を行う。
次に、制御部31は、レースを終了するか否かを判断する(ステップS113)。レースを終了する条件としては、例えば、レースを終了させる条件が満たされたことや、ユーザがレースを終了する操作を行ったこと等がある。制御部31は、レースを継続する場合に上記ステップS105に戻って処理を繰り返し、レースを終了する場合にステップS114に処理を進める。
ステップS114において、制御部31は、通信処理を行い、次のステップに処理を進める。例えば、制御部31は、ネットワーク100を介して、送信データDbに格納されている送信データ(例えば、仮想通貨やゲーム内コインの増減量、レースの結果等、ゲーム処理の結果を示すデータ)をサーバ200へ送信する。また、制御部31は、ネットワーク100を介して、サーバ200からデータを受信し、受信したデータを用いて受信データDcを更新する。
次に、制御部31は、購入処理を行うか否かを判定する(ステップS115)。例えば、制御部31は、上記ステップS103において取得した操作データがユーザによる購入が行われることを示す場合や、購入する条件が満たされた場合に、上記ステップS115において肯定判定する。そして、制御部31は、購入処理を行う場合、ステップS116に処理を進める。一方、制御部31は、購入処理を行わない場合、ステップS117に処理を進める。
ステップS116において、制御部31は、購入処理を行い、ステップS117に処理を進める。以下、図24を参照して、上記ステップS116において行われる購入処理について説明する。
図24において、通信処理を行い(ステップS190)、次のステップに処理を進める。例えば、制御部31は、ネットワーク100を介して、送信データDbに格納されている送信データ(例えば、ユーザ認証を行うためのデータ(例えば、ユーザIDを示すデータ))をサーバ200へ送信する。また、制御部31は、ネットワーク100を介して、サーバ200からデータ(例えば、現時点で購入可能な装備、交換レート、ユーザが所有している仮想通貨やゲーム内コインの量等、購入処理に必要なデータのうち、サーバ200が管理しているデータ)を受信し、受信したデータを用いて受信データDcを更新する。
次に、制御部31は、入力部34から操作データを取得して操作データDaを更新し(ステップS191)、次のステップに処理を進める。
次に、制御部31は、購入処理を行い(ステップS192)、次のステップに処理を進める。例えば、制御部31は、購入する装備、ゲーム内コイン、仮想通貨等をユーザに選択させる画面(図18参照)を、上記ステップS190において受信した受信データに基づいて表示し、ユーザに選択を促す。そして、上記ステップS191において取得した操作データが、ユーザが購入を決定する操作である場合、当該操作に応じて選択された装備、ゲーム内コイン、仮想通貨等をユーザ所持に変更するとともに、その対価をユーザ所持から減らす処理を行って、ユーザ所有データDdを更新する。
次に、制御部31は、購入処理を終了するか否かを判定する(ステップS193)。例えば、制御部31は、上記ステップS191において取得した操作データが購入処理を終了することを示す場合や、購入処理を終了する条件が満たされた場合に、上記ステップS193において肯定判定する。そして、制御部31は、購入処理を終了する場合、ステップS194に処理を進める。一方、制御部31は、購入処理を継続する場合、ステップS191に処理を進める。
ステップS194において、制御部31は、通信処理を行い、当該サブルーチンによる処理を終了する。例えば、制御部31は、ネットワーク100を介して、送信データDbに格納されている送信データ(例えば、上記ステップS193における購入処理における購入内容を示すデータ)をサーバ200へ送信する。また、制御部31は、ネットワーク100を介して、サーバ200からデータを受信し、受信したデータを用いて受信データDcを更新する。
図20に戻り、ステップS117において、制御部31は、ゲーム処理を終了するか否かを判断する。ゲーム処理を終了する条件としては、例えば、ゲーム処理を終了させる条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。制御部31は、ゲーム処理を継続する場合に上記ステップS102に戻って処理を繰り返し、レースを終了する場合に当該フローチャートによる処理を終了する。
このように、上記ゲーム処理を行う情報処理システム1によれば、1つの入力部34(タッチパネル)を用いて、プレイヤオブジェクトPOの移動方向を制御する操作が可能であるとともに、プレイヤオブジェクトPOとは異なる仮想オブジェクト(アイテムI)の動作の制御も可能となるため、ユーザ操作に対する処理を多様にすることができる。また、上記ゲーム処理を行う情報処理システム1によれば、所持枠HF内に所持されているゲームアイテムの組み合わせによって新たなゲーム内効果(「フィーバー状態」となる当たり)を発生させるため、ユーザが所有しているゲームアイテムの取り扱いに関して興趣性を高めることができる。さらに、上記ゲーム処理を行う情報処理システム1によれば、ゲームにおいて利用できる対価や課金によって取得できるアイテム(例えば、仮想通貨、ゲーム内コイン等)を用いて、アイテム抽選アイコンABを選択して実行することによるアイテム抽選が可能であるため、当該対価やアイテムを獲得する動機付けを高めることができる。
なお、上述した情報処理システム1を用いたゲーム処理では、情報処理装置3とサーバ200との間の通信処理が含まれているが、サーバ200と接続されることなく情報処理装置3単独でゲーム処理を行ってもかまわない。特に、ユーザがプレイヤオブジェクトPOを操作してレースゲームを行う処理では、サーバ200が介在することなく実行可能であるため、情報処理装置3の内部処理だけで実現することができる。また、複数の情報処理装置3が参加するレースゲームを行う場合であっても、サーバ200を介さずに情報処理装置3同士や他の装置と通信が行われて上記ゲーム処理が実現されてもよい。また、ユーザがプレイヤオブジェクトPOを操作してレースゲームを行う処理の一部をサーバ200が実行してもかまわない。これにより、複数の情報処理装置3における処理をサーバ200において集中して管理することができる。
また、上述した説明では情報処理や通信処理を情報処理装置3で行う例を用いたが、上記処理における処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、情報処理装置3と通信可能なサーバ200や他の装置(例えば、別のサーバ、他のゲーム装置、他の携帯端末)が協働することによって、上記処理における処理ステップが実行されてもよい。このように、上記処理における処理ステップの少なくとも一部をサーバ200や他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、情報処理装置3の制御部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、情報処理装置3が備える専用回路によって上記処理の一部または全部が行われてもよい。
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理の各ステップの処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
また、上記各プログラムは、外部メモリ等の外部記憶媒体を通じて情報処理装置3に供給されるだけでなく、有線または無線の通信回線を通じて情報処理装置3に供給されてもよい。また、上記プログラムは、情報処理装置3内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。