(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-28
(45)【発行日】2024-06-05
(54)【発明の名称】ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
(51)【国際特許分類】
A63F 13/426 20140101AFI20240529BHJP
A63F 13/55 20140101ALI20240529BHJP
A63F 13/803 20140101ALI20240529BHJP
【FI】
A63F13/426
A63F13/55
A63F13/803
(21)【出願番号】P 2023070980
(22)【出願日】2023-04-24
(62)【分割の表示】P 2021122596の分割
【原出願日】2017-05-22
【審査請求日】2023-04-28
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】矢吹 光佑
(72)【発明者】
【氏名】宮本 健
(72)【発明者】
【氏名】村田 茂人
(72)【発明者】
【氏名】中野 慎也
【審査官】宇佐田 健二
(56)【参考文献】
【文献】特開2012-252587(JP,A)
【文献】特開2016-218774(JP,A)
【文献】特開2016-206740(JP,A)
【文献】特開2006-192246(JP,A)
【文献】五十嵐 達雄,「任天堂ゲーム攻略本 NintendoDREAM マリオカートDS」,初版第1刷,日本,株式会社毎日コミュニケーションズ,2006年01月25日,pp.2-5,ISBN:4-8399-1983-6
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98,9/24
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
ポインティングデバイスによって検出された入力位置を繰り返し取得する取得ステップと、
前記ポインティングデバイスに対する
移動操作入力が開始されたときの入力位置に基づいて基準位置を設定する基準位置設定ステップと、
前記基準位置と、前記
移動操作入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間におい
てオブジェクト
を第1移動処理
で移動させる第1移動処理ステップと、
前記
移動操作入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と前記基準位置との関係に関する第1条件を満たす場合、
前記仮想ゲーム空間において前
記オブジェクト
を前記第1移動処理とは異なる第2移動処理で移動させる第2移動処理ステップとを実行させる、ゲームプログラム
であって、
前記第1移動処理および前記第2移動処理においては、前記基準位置と前記入力位置との間の、当該基準位置から当該入力位置への方向によらずに予め定められた所定方向についての距離に基づいて、前記仮想ゲーム空間において前記オブジェクトの移動方向が変化され、
前記第1条件は、前記入力位置と前記基準位置との前記所定方向についての関係に関する条件を含み、
前記オブジェクトの移動方向の変化量が同じである場合、前記第2移動処理における前記オブジェクトの移動速度は、前記第1移動処理における前記オブジェクトの移動速度よりも大きい、ゲームプログラム。
【請求項2】
情報処理装置のコンピュータに、
ポインティングデバイスによって検出された入力位置を繰り返し取得する取得ステップと、
前記ポインティングデバイスに対する移動操作入力が開始されたときの入力位置に基づいて基準位置を設定する基準位置設定ステップと、
前記基準位置と、前記移動操作入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間においてオブジェクトを第1移動処理で移動させる第1移動処理ステップと、
前記移動操作入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と前記基準位置との関係に関する第1条件を満たす場合、前記仮想ゲーム空間において前記オブジェクトを前記第1移動処理とは異なる第2移動処理で移動させる第2移動処理ステップとを実行させる、ゲームプログラムであって、
前記第1移動処理および前記第2移動処理においては、前記基準位置と前記入力位置との間の、当該基準位置から当該入力位置への方向によらずに予め定められた所定方向についての距離に基づいて、前記仮想ゲーム空間において前記オブジェクトの移動方向が変化され、
前記第1条件は、前記入力位置と前記基準位置との前記所定方向についての関係に関する条件を含み、
前記オブジェクトの移動速度が同じである場合、前記第2移動処理における前記オブジェクトの前記移動方向の変化量は、前記第1移動処理における前記オブジェクトの前記移動方向の変化量よりも大きい、ゲームプログラム。
【請求項3】
前記
移動操作入力が開始されてから継続して行われる入力であって、かつ、
前記第1条件を満たした後における入力が第2条件を満たす場合
、前記オブジェクトに対する
所定の処理を実行す
る処理実行ステップを、前記コンピュータにさらに実行させる、請求項1
または請求項2に記載のゲームプログラム。
【請求項4】
前
記処理実行ステップにおいては、前記
所定の処理として、前
記オブジェクトの移動に関する処理が実行される、請求項
3に記載のゲームプログラム。
【請求項5】
前
記処理実行ステップにおいては、前記
移動操作入力が開始されてから継続して行われる入力の終了に応じて前記
所定の処理が実行される、請求項
3または請求項
4に記載のゲームプログラム。
【請求項6】
前記第1条件は、前記
移動操作入力が開始されてから継続して行われる入力の入力位置が所定の条件を満たす状態が所定時間継続したことを含む、請求項1から請求項
5のいずれか1項に記載のゲームプログラム。
【請求項7】
前記
第2移動処理ステップにおいては、前記第1移動処理が開始された後で前記第1条件が満たされたことに応じて前記
第2移動処理が実行される、請求項1から請求項
6のいずれか1項に記載のゲームプログラム。
【請求項8】
前記移動操作入力が開始されてから継続して行われる入力の入力位置が所定の条件を満たす場合、当該条件が満たされたときの入力位置に前記基準位置を再設定する基準位置再設定ステップ
を前記コンピュータにさらに実行させる、
請求項1から請求項7のいずれか1項に記載のゲームプログラム。
【請求項9】
前記
移動操作入力が開始されてから継続して行われる入力の入力位置が前記所定の条件を満たすか否かを判定する判定ステップを前記コンピュータにさらに実行させ、
前記基準位置再設定ステップにおいては、前記判定ステップにおいて条件を満たすと判定された入力位置に前記基準位置が再設定される、請求項
8に記載のゲームプログラム。
【請求項10】
前記移動操作入力が開始されてから継続して行われる入力の入力位置から所定距離内となるように前記基準位置を変更する基準位置変更ステップを前記コンピュータにさらに実行させる、請求項1から請求項7のいずれか1項に記載のゲームプログラム。
【請求項11】
ポインティングデバイスによって検出された入力位置を繰り返し取得する取得手段と、
前記ポインティングデバイスに対する
移動操作入力が開始されたときの入力位置に基づいて基準位置を設定する基準位置設定手段と、
前記基準位置と、前記
移動操作入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間におい
てオブジェクト
を第1移動処理
で移動させる第1移動処理手段と、
前記
移動操作入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と前記基準位置との関係に関する第1条件を満たす場合、
前記仮想ゲーム空間において前
記オブジェクト
を前記第1移動処理とは異なる第2移動処理で移動させる第2移動処理手段とを備え
、
前記第1移動処理および前記第2移動処理においては、前記基準位置と前記入力位置との間の、当該基準位置から当該入力位置への方向によらずに予め定められた所定方向についての距離に基づいて、前記仮想ゲーム空間において前記オブジェクトの移動方向が変化され、
前記第1条件は、前記入力位置と前記基準位置との前記所定方向についての関係に関する条件を含み、
前記オブジェクトの移動方向の変化量が同じである場合、前記第2移動処理における前記オブジェクトの移動速度は、前記第1移動処理における前記オブジェクトの移動速度よりも大きい、情報処理装置。
【請求項12】
ポインティングデバイスによって検出された入力位置を繰り返し取得する取得手段と、
前記ポインティングデバイスに対する移動操作入力が開始されたときの入力位置に基づいて基準位置を設定する基準位置設定手段と、
前記基準位置と、前記移動操作入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間においてオブジェクトを第1移動処理で移動させる第1移動処理手段と、
前記移動操作入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と前記基準位置との関係に関する第1条件を満たす場合、前記仮想ゲーム空間において前記オブジェクトを前記第1移動処理とは異なる第2移動処理で移動させる第2移動処理手段とを備え、
前記第1移動処理および前記第2移動処理においては、前記基準位置と前記入力位置との間の、当該基準位置から当該入力位置への方向によらずに予め定められた所定方向についての距離に基づいて、前記仮想ゲーム空間において前記オブジェクトの移動方向が変化され、
前記第1条件は、前記入力位置と前記基準位置との前記所定方向についての関係に関する条件を含み、
前記オブジェクトの移動速度が同じである場合、前記第2移動処理における前記オブジェクトの前記移動方向の変化量は、前記第1移動処理における前記オブジェクトの前記移動方向の変化量よりも大きい、情報処理装置。
【請求項13】
ポインティングデバイスによって検出された入力位置を繰り返し取得する取得手段と、
前記ポインティングデバイスに対する
移動操作入力が開始されたときの入力位置に基づいて基準位置を設定する基準位置設定手段と、
前記基準位置と、前記
移動操作入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間におい
てオブジェクト
を第1移動処理
で移動させる第1移動処理手段と、
前記
移動操作入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と前記基準位置との関係に関する第1条件を満たす場合、
前記仮想ゲーム空間において前
記オブジェクト
を前記第1移動処理とは異なる第2移動処理で移動させる第2移動処理手段とを備え
、
前記第1移動処理および前記第2移動処理においては、前記基準位置と前記入力位置との間の、当該基準位置から当該入力位置への方向によらずに予め定められた所定方向についての距離に基づいて、前記仮想ゲーム空間において前記オブジェクトの移動方向が変化され、
前記第1条件は、前記入力位置と前記基準位置との前記所定方向についての関係に関する条件を含み、
前記オブジェクトの移動方向の変化量が同じである場合、前記第2移動処理における前記オブジェクトの移動速度は、前記第1移動処理における前記オブジェクトの移動速度よりも大きい、情報処理システム。
【請求項14】
ポインティングデバイスによって検出された入力位置を繰り返し取得する取得手段と、
前記ポインティングデバイスに対する移動操作入力が開始されたときの入力位置に基づいて基準位置を設定する基準位置設定手段と、
前記基準位置と、前記移動操作入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間においてオブジェクトを第1移動処理で移動させる第1移動処理手段と、
前記移動操作入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と前記基準位置との関係に関する第1条件を満たす場合、前記仮想ゲーム空間において前記オブジェクトを前記第1移動処理とは異なる第2移動処理で移動させる第2移動処理手段とを備え、
前記第1移動処理および前記第2移動処理においては、前記基準位置と前記入力位置との間の、当該基準位置から当該入力位置への方向によらずに予め定められた所定方向についての距離に基づいて、前記仮想ゲーム空間において前記オブジェクトの移動方向が変化され、
前記第1条件は、前記入力位置と前記基準位置との前記所定方向についての関係に関する条件を含み、
前記オブジェクトの移動速度が同じである場合、前記第2移動処理における前記オブジェクトの前記移動方向の変化量は、前記第1移動処理における前記オブジェクトの前記移動方向の変化量よりも大きい、情報処理システム。
【請求項15】
情報処理システムにおいて実行されるゲーム処理方法であって、
ポインティングデバイスによって検出された入力位置を繰り返し取得する取得ステップと、
前記ポインティングデバイスに対する
移動操作入力が開始されたときの入力位置に基づいて基準位置を設定する基準位置設定ステップと、
前記基準位置と、前記
移動操作入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間におい
てオブジェクト
を第1移動処理
で移動させる第1移動処理ステップと、
前記
移動操作入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と前記基準位置との関係に関する所定の第1条件を満たす場合、
前記仮想ゲーム空間において前
記オブジェクト
を前記第1移動処理とは異なる第2移動処理で移動させる第2移動処理ステップとを含
み、
前記第1移動処理および前記第2移動処理においては、前記基準位置と前記入力位置との間の、当該基準位置から当該入力位置への方向によらずに予め定められた所定方向についての距離に基づいて、前記仮想ゲーム空間において前記オブジェクトの移動方向が変化され、
前記第1条件は、前記入力位置と前記基準位置との前記所定方向についての関係に関する条件を含み、
前記オブジェクトの移動方向の変化量が同じである場合、前記第2移動処理における前記オブジェクトの移動速度は、前記第1移動処理における前記オブジェクトの移動速度よりも大きい、ゲーム処理方法。
【請求項16】
情報処理システムにおいて実行されるゲーム処理方法であって、
ポインティングデバイスによって検出された入力位置を繰り返し取得する取得ステップと、
前記ポインティングデバイスに対する移動操作入力が開始されたときの入力位置に基づいて基準位置を設定する基準位置設定ステップと、
前記基準位置と、前記移動操作入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間においてオブジェクトを第1移動処理で移動させる第1移動処理ステップと、
前記移動操作入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と前記基準位置との関係に関する所定の第1条件を満たす場合、前記仮想ゲーム空間において前記オブジェクトを前記第1移動処理とは異なる第2移動処理で移動させる第2移動処理ステップとを含み、
前記第1移動処理および前記第2移動処理においては、前記基準位置と前記入力位置との間の、当該基準位置から当該入力位置への方向によらずに予め定められた所定方向についての距離に基づいて、前記仮想ゲーム空間において前記オブジェクトの移動方向が変化され、
前記第1条件は、前記入力位置と前記基準位置との前記所定方向についての関係に関する条件を含み、
前記オブジェクトの移動速度が同じである場合、前記第2移動処理における前記オブジェクトの前記移動方向の変化量は、前記第1移動処理における前記オブジェクトの前記移動方向の変化量よりも大きい、ゲーム処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ポインティングデバイスを用いて入力を行うゲームプログラム、ゲーム装置、ゲームシステム、および、ゲーム処理方法に関する。
【背景技術】
【0002】
従来、タッチパネル等のポインティングデバイスを用いてゲーム操作を行う技術がある。例えば、ゲーム空間のオブジェクトを移動させるゲーム操作が、ポインティングデバイスを用いて行われる(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ポインティングデバイスを用いて、より多様なゲーム操作を可能とするユーザインターフェースが望まれている。
【0005】
それ故、本発明の目的は、ポインティングデバイスを用いて多様なゲーム操作を可能とするゲームプログラム、ゲーム装置、ゲームシステム、および、ゲーム処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記の課題を解決すべく、本発明は、以下の(1)~(13)の構成を採用した。
【0007】
(1)
本発明の一例は、情報処理装置のコンピュータに、取得ステップと、基準位置設定ステップと、第1移動処理ステップと、第1処理実行ステップとを実行させるゲームプログラムである。取得ステップにおいて、コンピュータは、ポインティングデバイスによって検出された入力位置を繰り返し取得する。基準位置設定ステップにおいて、コンピュータは、ポインティングデバイスに対する入力が開始されたときの入力位置に基づいて基準位置を設定する。第1移動処理ステップにおいて、コンピュータは、基準位置と、ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間において第1オブジェクトを移動させる第1移動処理を実行する。第1処理実行ステップにおいて、コンピュータは、ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と基準位置との関係に関する第1条件を満たす場合、第1オブジェクトと同じまたは異なる第2オブジェクトに対する第1処理を実行する。
【0008】
上記(1)の構成によれば、ユーザは、ポインティングデバイスに対する入力の開始から継続する入力によってオブジェクトに対する移動操作を行うことができ、さらに、当該継続する入力によってオブジェクトに対する第1処理を実行することができる。これによれば、ポインティングデバイスを用いて多様なゲーム操作を可能とすることができる。
【0009】
(2)
ゲームプログラムは、第2移動処理ステップをコンピュータにさらに実行させてもよい。第2移動処理ステップにおいて、コンピュータは、ポインティングデバイスに対する入力が開始されてから継続して行われる入力であって、かつ、第1処理の実行後における入力の入力位置に基づいて、仮想ゲーム空間において第2オブジェクトを移動させる第2移動処理を実行する。
【0010】
上記(2)の構成によれば、ユーザは、第2オブジェクトに対する第1処理を実行させる操作を行った後においても第2オブジェクトに対する移動操作を行うことができる。これによって、オブジェクトに対する移動操作の操作性を向上することができる。
【0011】
(3)
第2オブジェクトは、第1オブジェクトと同じであってもよい。第1処理実行ステップにおいては、第1処理として、第1オブジェクトの状態を変化させる処理が実行されてもよい。
【0012】
上記(3)の構成によれば、ユーザは、オブジェクトに対する移動操作と状態を変化させる操作との両方の操作を、ポインティングデバイスに対する一連の入力によって行うことができる。これによれば、ポインティングデバイスに対する一連の入力によって複数種類の操作をユーザに行わせることができるので、より多様なゲーム操作を可能とすることができる。
【0013】
(4)
第1処理実行ステップにおいては、第1処理として、第1オブジェクトの移動に関する状態を変化させる処理が実行されてもよい。ゲームプログラムは、第3移動処理ステップを、コンピュータにさらに実行させてもよい。第3移動処理ステップにおいて、コンピュータは、ポインティングデバイスに対する入力が開始されてから継続して行われる入力であって、かつ、第1処理の実行後における入力の入力位置に基づいて、第1移動処理とは異なる制御方法で第1オブジェクトを移動させる第3移動処理を実行する。
【0014】
上記(4)の構成によれば、ユーザは、第1処理によって、移動操作による移動の制御方法を変更することができる。したがって、上記(4)の構成によれば、ユーザは、オブジェクトに対する移動操作と、移動操作による移動制御方法の変更操作とを、一連の入力によって行うことができる。これによれば、多様な移動操作を簡易な入力方法によってユーザに行わせることができる。
【0015】
(5)
第1処理実行ステップにおいては、第1条件が満たされたことに応じて第2オブジェクトの状態が変化した場合、第1条件が満たされなくなった後において変化後の状態が維持されてもよい。
【0016】
上記(5)の構成によれば、第1条件が満たされた場合には、その後に第1条件が満たされなくなっても、第1処理によって変化させられた第1オブジェクトの状態が維持される。すなわち、ユーザは、第1条件を満たす操作を行った後は、第1条件の制約を受けずに操作を行うことができるので、ポインティングデバイスに対する入力によって他の操作を行うことができる。これによって、ポインティングデバイスに対する入力による操作の自由度を向上することができ、操作性を向上することができる。
【0017】
(6)
第1処理実行ステップにおいては、第1処理として、第1移動処理とは異なる処理であって、第2オブジェクトの動作を制御する処理が実行されてもよい。
【0018】
上記(6)の構成によれば、ユーザは、第1オブジェクトに対する移動操作と、第2オブジェクト(第1オブジェクトと同じであってもよいし、異なっていてもよい)に対する操作とを、ポインティングデバイスに対する一連の入力によって行うことができる。これによれば、ポインティングデバイスに対する一連の入力によって複数種類の操作をユーザに行わせることができるので、より多様なゲーム操作を可能とすることができる。
【0019】
(7)
ゲームプログラムは、第2処理実行ステップを、コンピュータにさらに実行させてもよい。第2処理実行ステップにおいて、コンピュータは、ポインティングデバイスに対する入力が開始されてから継続して行われる入力であって、かつ、第1処理の実行後における入力が第2条件を満たす場合、第1処理とは異なる処理であって、第2オブジェクトに対する第2処理を実行する。
【0020】
上記(7)の構成によれば、ユーザは、第1条件を満たす操作によって情報処理装置に第1処理を実行させた後に、さらに、第2条件を満たす操作によって情報処理装置に第2処理を実行させることができる。これによれば、ポインティングデバイスに対する一連の入力によって複数種類の操作をユーザに行わせることができるので、より多様なゲーム操作を可能とすることができる。
【0021】
(8)
第2処理実行ステップにおいては、第2処理として、第2オブジェクトの移動に関する処理が実行されてもよい。
【0022】
上記(8)の構成によれば、ユーザは、第1条件を満たす操作によって情報処理装置に第1処理を実行させた後においても、第1オブジェクトの移動に関する操作を行うことができる。これによれば、オブジェクトの移動に関する多様な操作を簡易な入力方法によってユーザに行わせることができる。
【0023】
(9)
第2処理実行ステップにおいては、ポインティングデバイスに対する入力が開始されてから継続して行われる入力の終了に応じて第2処理が実行されてもよい。
【0024】
上記(9)の構成によれば、ユーザは、ポインティングデバイスに対する一連の入力を終了する操作によって、情報処理装置に第2処理を実行させることができる。これによれば、一連の入力中の操作に加えて、一連の入力を終了する操作によってもユーザにゲーム操作を行わせることができるので、より多様なゲーム操作を可能とすることができる。
【0025】
(10)
第1条件は、ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置が所定の条件を満たす状態が所定時間継続したことを含んでもよい。
【0026】
上記(10)の構成によれば、入力位置が一時的に(すなわち、上記所定時間より短い期間の間)所定の条件を満たしたとしても、第1条件は満たしたことにはならない。したがって、ユーザの誤入力または意図しない入力によって第1条件が満たされる結果、ユーザの意図に反して第1処理が実行される可能性を低減することができる。これによって、ポインティングデバイスに対する入力による操作の操作性を向上することができる。
【0027】
(11)
第1処理実行ステップにおいては、第1移動処理が開始された後で第1条件が満たされたことに応じて第1処理が実行されてもよい。
【0028】
上記(11)の構成によれば、ユーザは、第1オブジェクトに対する移動操作中に、第2オブジェクトに対する操作を行うことができる。つまり、ユーザは、第1オブジェクトに対する操作に続けて第2オブジェクトに対する操作を行うことができる。例えば、第1オブジェクトと第2オブジェクトとが同一である場合には、ユーザは、移動操作中の第1オブジェクトに対して、移動操作の入力から継続して行われる入力によって、移動操作とは異なる操作を行うことができる。
【0029】
(12)
本発明の他の一例は、情報処理装置のコンピュータに、取得ステップと、基準位置設定ステップと、移動処理ステップと、基準位置再設定ステップとを実行させる、ゲームプログラムである。取得ステップにおいて、コンピュータは、ポインティングデバイスによって検出された入力位置を繰り返し取得する。基準位置設定ステップにおいて、コンピュータは、ポインティングデバイスに対する入力が開始されたときの入力位置に基づいて基準位置を設定する。移動処理ステップにおいて、コンピュータは、基準位置と、ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置とに基づいて、仮想ゲーム空間においてオブジェクトを移動させる移動処理を実行する。基準位置再設定ステップにおいて、コンピュータは、ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置が所定の条件を満たす場合、当該条件が満たされたときの入力位置に基準位置を再設定する。
【0030】
上記(12)の構成によれば、オブジェクトに対する移動操作と、基準位置を再設定する操作とを、ポインティングデバイスに対する一連の入力によって行うことができる。これによれば、ポインティングデバイスを用いた多様な操作をユーザに行わせることができる。また、上記(12)の構成によれば、ユーザは、入力を継続したままで基準位置を設定し直すことができるので、入力をし直す必要なく、基準位置を簡易な操作で設定し直すことができる。これによって、ポインティングデバイスを用いた操作の操作性を向上することができる。また、所定の条件が満たされたときの入力位置が新たな基準位置となるので、情報処理装置は、ユーザにとって直感的に理解しやすい位置に基準位置を設定することができる。
【0031】
(13)
ゲームプログラムは、判定ステップをコンピュータにさらに実行させてもよい。判定ステップにおいて、コンピュータは、ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置が所定の条件を満たすか否かを判定する。このとき、基準位置再設定ステップにおいては、判定ステップにおいて条件を満たすと判定された入力位置に基準位置が再設定されてもよい。
【0032】
上記(13)の構成によれば、所定の条件を満たすと判定された時点における入力位置に、基準位置が再設定される。これによれば、所定の条件が満たされたときの入力位置を容易に特定することができ、当該入力位置に新たな基準位置を設定することができる。
【0033】
なお、本発明の別の一例は、上記(1)~(13)における各ステップの処理を実行する(プログラムによって各ステップを実行する態様に限らない)情報処理装置または情報処理システムであってもよい。また、本発明の別の一例は、上記(1)~(13)における各ステップの処理をコンピュータが実行するゲーム処理方法であってよい。
【発明の効果】
【0034】
本発明によれば、ポインティングデバイスを用いて多様なゲーム操作を可能とすることができる。
【図面の簡単な説明】
【0035】
【
図1】本実施形態における情報処理システムの構成の一例を示すブロック図
【
図5】本実施形態においてタッチ入力によって行うことができるゲーム操作の一例を示す図
【
図6】タッチ入力が開始されたときのゲーム画像の一例を示す図
【
図10】基準位置が再設定される様子の一例を示す図
【
図11】ドリフト状態におけるオブジェクトを含むゲーム画像の一例を示す図
【
図12】加速可能状態におけるオブジェクトを含むゲーム画像の一例を示す図
【
図13】加速状態におけるオブジェクトを含むゲーム画像の一例を示す図
【
図14】情報処理システムにおけるゲーム処理に用いられるデータの一例を示す図
【
図15】端末装置によって実行されるゲーム処理の一例の流れを示すフローチャート
【
図16】端末装置によって実行されるゲーム処理の一例の流れを示すフローチャート
【発明を実施するための形態】
【0036】
[1.システムの全体構成]
以下、本実施形態に係る情報処理システム、情報処理装置、ゲームプログラム、および、ゲーム処理方法について説明する。まず、本実施形態に係る情報処理システムの全体構成と、情報処理システムに含まれる端末装置およびサーバの構成とについて説明する。
図1は、本実施形態における情報処理システムの構成の一例を示すブロック図である。
図1に示すように、情報処理システムは、サーバ1と、端末装置2とを含む。これらのサーバ1および端末装置2は、インターネットおよび/またはモバイル通信網等のネットワーク3に接続可能である。サーバ1および端末装置2は、ネットワーク3を介して互いに通信可能である。
【0037】
サーバ1は、端末装置2において実行されるアプリケーションに関するサービスを提供するためのサーバである。本実施形態において、サーバ1は、端末装置2においてゲームを実行するためのゲームサーバである。つまり、サーバ1は、端末装置2においてゲーム処理を実行するための環境を提供する。例えば、サーバ1は、ゲーム処理を実行する端末装置2からの要求に応じて、必要に応じてゲーム処理を実行し、要求に応じたゲームデータを当該端末装置2へ送信する。
【0038】
端末装置2は、ユーザが有する情報処理装置の一例であり、例えば、スマートフォン、携帯型または据置型のゲーム装置、携帯電話、タブレット端末、あるいは、ウェアラブル端末等である。端末装置2は、サーバ1がサービスを提供するゲームのためのゲームプログラム(換言すれば、ゲームアプリケーション)を実行することが可能である。
【0039】
(サーバ1の構成の具体例)
図2は、サーバ1の構成の一例を示すブロック図である。
図2に示す、サーバ1が備える各構成は、1以上の情報処理装置によって実現される。なお、本実施形態におけるサーバ1のハードウェア構成は、従来のサーバのためのハードウェア構成と同様であってもよい。
【0040】
図2に示すように、サーバ1は、処理部11および記憶部12を備える。処理部11は、サーバ1の各部12~15に電気的に接続される。処理部11は、CPU(Central Processing Unit)およびメモリを有する。サーバ1においては、CPUがメモリを用いて、記憶部12に記憶されたプログラムを実行することによって各種の情報処理が実行される。記憶部12は、処理部11がアクセス可能な任意の記憶装置(記憶媒体とも言う)である。記憶部12は、処理部11において実行されるプログラム、処理部11による情報処理に用いられるデータ、および、当該情報処理によって得られたデータ等を記憶する。本実施形態においては、記憶部12は、端末装置2において実行されるゲーム処理のためにサーバ側で実行されるゲーム処理のためのプログラムを少なくとも記憶する。
【0041】
サーバ1は、通信部13を備える。通信部13は、ネットワーク3に接続し、ネットワーク3を介して他の装置(例えば、端末装置2)と通信を行う機能を有する。また、サーバ1は、入出力インターフェースとして、入力部14および表示部15を備える。
【0042】
(端末装置2の構成の具体例)
図3は、端末装置2の構成の一例を示すブロック図である。
図3に示すように、端末装置2は、処理部21および記憶部22を備える。処理部21は、端末装置2の各部22~25に電気的に接続される。処理部21は、CPUおよびメモリを有する。端末装置2においては、CPUがメモリを用いて、記憶部22に記憶されたプログラム(上述のゲームプログラムを含む)を実行することによって各種の情報処理が実行される。記憶部22は、処理部21において実行されるプログラム、処理部21による情報処理に用いられるデータ、および、当該情報処理によって得られたデータ等を記憶する。なお、記憶部22は、端末装置2に対して着脱可能な記憶媒体(例えば、カード型の記憶媒体)であってもよい。
【0043】
端末装置2は、入力部の一例として、ポインティングデバイスを備える。ポインティングデバイスは、入力面上において(例えばユーザによって)指定された位置を検出可能な任意の入力装置である。本実施形態においては、ポインティングデバイスは、表示部24の画面上に設けられるタッチパネル23である。タッチパネル23は、入力面(換言すれば、表示部24の画面上に設定される面)にタッチする入力(「タッチ入力」と呼ぶ)によって指定される位置を検出する。
【0044】
ポインティングデバイスは、例えばタッチスクリーン、タッチパネル、または、タッチパッド等、入力面上において(例えばユーザによって)指定された位置を検出することが可能なタッチ入力式の入力装置であってもよい。タッチ入力式の入力装置は、入力面に対する接触または非接触の入力を行うことが可能な入力装置であってもよい。すなわち、タッチ入力式の入力装置は、入力面に対するタッチ入力の位置を検出することが可能な装置に限らず、入力面から少し離れた位置に配置される指等を検知することによって入力位置を検出することが可能な入力装置(例えば、フローティングタッチ機能を有する入力装置)であってもよい。つまり、タッチ入力式の入力装置は、入力面に対するタッチ入力に代えて(またはタッチ入力に加えて)、入力面には接触せずに、入力面から少し離れた位置に指等を配置する入力によって指定される位置を検出してもよい。
【0045】
さらに、ポインティングデバイスは、タッチ入力式の入力装置に限らず、マウスであってもよいし、または、ユーザによって動かされる操作装置であって、当該操作装置の位置および/または向きによって入力面上の位置を指定することが可能な操作装置であってもよい。
【0046】
なお、例えばタッチパネルのように、ポインティングデバイスの入力面が表示装置24の画面上に設定される場合、ポインティングデバイスによって検出される入力位置は、正確に言えば、表示画面上の位置に対応する位置である。ただし、入力位置は実質的には表示画面上の位置を示す。そのため、本実施形態の説明においては、説明をわかりやすくする目的で、入力位置を表示画面上の位置として説明することがある。なお、「入力位置が表示画面上の特定の位置にある」とは、厳密には、入力位置が、表示画面上における特定の位置に対応する位置であって、入力面上における位置にある、という意味である。
【0047】
端末装置2は、表示部24を備える。表示部24は、端末装置2の処理部21において実行される情報処理によって生成された画像(例えば、ゲーム画像等)を表示する。
【0048】
端末装置2は、通信部25を備える。本実施形態において、通信部25は、モバイル通信網(換言すれば、携帯電話通信網)に接続して通信を行う機能を有する。すなわち、端末装置2(具体的には、処理部21)は、通信部25を用いて(換言すれば、通信部25を介して)モバイル通信網を介してネットワーク3に接続し、他の装置(例えば、サーバ1等)と通信を行う。なお、端末装置2がネットワーク3を介した通信を行うための通信部の構成は任意である。例えば、通信部25は、Wi-Fiの認証を受けた通信モジュールによって無線LANに接続する機能を有していてもよいし、モバイル通信網に接続する機能と、無線LANに接続する機能との両方を有していてもよい。
【0049】
[2.情報処理システムにおける処理の概要]
以下、
図4~
図13を参照して、情報処理システムにおいて実行されるゲーム処理の概要について説明する。なお、本実施形態においては、情報処理システムにおいて、車を模したオブジェクトをユーザ(換言すれば、プレイヤ)が操作するレースゲーム(
図4参照)のためのゲーム処理が実行される場合を例として説明する。
【0050】
本実施形態においては、ユーザは、タッチ入力によってオブジェクトに対する操作を行う。すなわち、端末装置2は、タッチパネル23に対するタッチ入力に基づいてオブジェクトの動作を制御する。
【0051】
[2-1.タッチ入力が行われていない場合における動作]
まず、タッチ入力が行われていない場合における動作について説明する。
図4は、ゲーム画像の一例を示す図である。なお、
図4は、タッチ入力が行われていない場合におけるゲーム画像である。
図4に示されるように、端末装置2は、仮想のゲーム空間(本実施形態においては、レースコース)と、当該ゲーム空間に登場するオブジェクト31とを含むゲーム画像を表示部24に表示する。オブジェクト31は、車(および、車を運転するキャラクタ)を模したオブジェクトであり、ユーザによって操作される。
【0052】
本実施形態では、タッチ入力が行われていない場合、端末装置2は、オブジェクト31の移動を自動的に(すなわち、予め定められたアルゴリズムに従って)制御する。この場合、オブジェクト31は、レースコースに沿って進むように自動的に制御される。なお、他の実施形態においては、端末装置2は、タッチ入力が行われていない場合、直進するようにオブジェクト31の移動を制御してもよい。
【0053】
また、本実施形態においては、オブジェクト31のスピードは、後述する加速動作が行われる場合を除いて、自動的に(例えば、一定速度で)制御される。なお、他の実施形態においては、オブジェクト31のスピードは、ユーザの入力に基づいて制御されてもよい。例えば、端末装置2は、ユーザによる指示(例えば、画面上に表示されるアクセルボタンに対するタッチ入力による指示)に基づいてオブジェクト31のスピードを制御してもよい。
【0054】
ここで、本実施形態においては、オブジェクト31は、通常状態とドリフト状態という、2種類の状態をとることが可能である。詳細は後述するが、通常状態とドリフト状態とでは、ユーザによるタッチ入力に基づいてオブジェクト31の移動を制御する処理の内容が異なっている。本実施形態においては、タッチ入力が行われていない場合には少なくとも、オブジェクト31は通常状態となる。
【0055】
本実施形態においては、タッチ入力がない状態では自動的に移動が制御されるオブジェクト31に対して、ユーザは、タッチ入力によって、オブジェクト31に対する種々のゲーム操作を行う。
図5は、本実施形態においてタッチ入力によって行うことができるゲーム操作の一例を示す図である。
図5に示すように、本実施形態においては、ユーザは、タッチ入力によって、オブジェクト31を所望の方向に移動させたり(
図5に示す(b)および(d))、オブジェクト31を通常状態からドリフト状態へ遷移させたり(
図5に示す(c))、加速させたり(
図5に示す(f))することができる。以下、
図5に示す(a)~(f)のゲーム操作が行われる場合を例として、動作の概要を説明する。
【0056】
[2-2.タッチ入力が開始されてからの移動操作に関する動作]
図6~
図8を参照して、タッチ入力が開始され、当該タッチ入力によって移動操作が行われる場合(
図5(a)および(b))における動作について説明する。
図6は、タッチ入力が開始されたときのゲーム画像の一例を示す図である。
【0057】
本実施形態においては、タッチ入力が開始されると、端末装置2は、まず、タッチオン時の入力位置に基づいて基準位置を設定する(
図5(a))。詳細は後述するが、基準位置は、タッチ入力による入力指示の内容を特定するために用いられる位置である。本実施形態においては、タッチオン時における入力位置、すなわちタッチ入力開始時における入力位置が基準位置として設定される。ここで、本明細書においては、「タッチオン」とは、タッチ入力が開始されたこと、換言すれば、タッチ入力が行われていない状態からタッチ入力が行われている状態へと変化したことを意味する。また、本明細書においては、タッチ入力が終了したこと、換言すれば、タッチ入力が行われている状態からタッチ入力が行われていない状態へと変化したことを、「タッチオフ」と呼ぶ。
【0058】
なお、他の実施形態においては、タッチオン時に設定される基準位置は、タッチオン時の入力位置に基づいて設定される任意の位置であってもよい。例えば、タッチオン時の入力位置が表示部24の画面の端部付近に位置する場合、端末装置2は、当該入力位置に基づいて、画面の端部から所定距離となる位置を基準位置として設定してもよい。これは、上記の場合において、基準位置から任意の方向へ所定距離だけ離れた入力位置をユーザが指定することができるようにするためである。また、上記の場合、基準位置は、画面の端部から、後述する基準位置画像の半径r2の距離となる位置に設定されてもよい。また、他の実施形態においては、タッチオン時に設定される基準位置は、タッチオン時の入力位置にかかわらず、固定的に設定されてもよい。すなわち、端末装置2は、予め定められた位置(例えば、表示部24の画面の中心位置)を基準位置として設定してもよい。
【0059】
なお、本実施形態においては、ユーザは、タッチパネル23の入力面上における任意の位置を入力開始位置として、移動操作のためのタッチ入力を開始することができる。すなわち、端末装置2は、入力面のうちの任意の位置でタッチ入力が開始されたことに応じて、基準位置を設定する処理と、後述する入力指示を特定する処理とを実行する。ただし、他の実施形態においては、端末装置2は、入力面のうちの所定の入力受付領域内においてタッチ入力が開始されたことを条件として、これらの処理を実行するようにしてもよい。上記入力受付領域は、例えば、オブジェクト31の位置を基準として設定される領域であってもよいし、予め定められた領域であってもよい。
【0060】
図6に示すように、タッチパネル23に対するタッチ入力が行われている場合、端末装置2は、ゲーム画像に加えて操作画像32を表示部24に表示する。なお、
図6では、タッチ入力を行っているユーザの指を点線で示している。本実施形態においては、操作画像32は、入力位置画像33と、基準位置画像34とを含む。
【0061】
入力位置画像33は、タッチパネル23の入力面上の位置であって、現在の入力位置を示す画像である。具体的には、入力位置画像33は、入力位置を中心とする半径r1の円形領域を表す(
図7参照)。基準位置画像34は、タッチパネル23の入力面上の位置であって、基準位置を示す画像である。具体的には、基準位置画像34は、基準位置を中心とする半径r2(>r1)の円形領域を表す(
図7参照)。
【0062】
以上のように、本実施形態においては、操作画像32が表示されることによって、ユーザは入力位置および基準位置を視認することができる。これによって、ユーザは、意図に沿った入力を行いやすくなり、端末装置2は、タッチ入力の操作性を向上することができる。なお、
図6に示すように、本実施形態における操作画像32は、方向入力装置の一例であるスライドパッドを模した画像である。ただし、他の実施形態においては、操作画像32は、基準位置と入力位置とを表す任意の画像であってよい。また、他の実施形態においては、操作画像32は表示部24に表示されなくてもよい。
【0063】
タッチ入力を開始した後、ユーザは、タッチ入力を継続することによって、具体的には、スライド操作によってオブジェクト31に対する移動操作を行う(
図5(b))。つまり、本実施形態において、ユーザは、タッチ入力によって、オブジェクト31の移動方向を指示するための入力指示を行う。以下、
図7を参照して、入力指示を行う方法について説明する。
【0064】
図7は、操作画像の一例を示す図である。なお、
図7では、表示部24に表示される操作画像32に加えて、基準位置と入力位置とを示している。なお、本実施形態において、入力位置は、入力面上の位置を示す2次元座標としてタッチパネル23から取得される。また、入力位置および基準位置は、2次元座標として端末装置2に記憶される。
【0065】
図7は、タッチオン後において、入力位置Ptがタッチオン時の位置(すなわち、基準位置Pr)から移動した状態を示している。タッチ入力による入力指示は、タッチオンからタッチ入力が継続する間、行われる。ここで、タッチオンから継続して行われる(すなわち、タッチオンから途切れずに入力される)タッチ入力を、「継続タッチ入力」と呼ぶ。端末装置2は、継続タッチ入力が行われている間において、基準位置と入力位置とに基づいて入力指示の内容を特定する。本実施形態においては、入力指示の内容を表す値として、入力方向と、入力距離とが算出される。
【0066】
入力方向は、基準位置Prから入力位置PtへのベクトルVに基づいて算出される。ベクトルVは、基準位置Prを始点とし、入力位置Ptを終点とするベクトルである。本実施形態においては、入力方向は、上記ベクトルVのx軸成分(換言すれば、入力面における横方向の成分)の向きとして算出される。すなわち、本実施形態においては、入力方向は、右方向(すなわち、x軸正方向)または左方向(すなわち、x軸負方向)として算出される。
【0067】
入力距離は、上記ベクトルVの大きさに基づいて算出される。本実施形態においては、入力距離は、上記ベクトルVのx軸成分の大きさVxとして算出される。
【0068】
上記のように、本実施形態においては、入力指示は、1次元の方向(具体的には、x軸方向)に関する方向および大きさである。したがって、入力指示は、例えば、「-2」や「1」のように、入力方向を正負の符号で表し、入力距離を絶対値で表す数値として表現されてもよい。
【0069】
なお、他の実施形態においては、入力指示は、2次元に関する方向および大きさであってもよい。すなわち、入力指示は、上記ベクトルVの向きを入力方向とし、上記ベクトルVの大きさを入力距離とするものであってもよい。また、他の実施形態においては、入力指示は、入力方向および入力距離のいずれか一方のみを含むものであってもよい。
【0070】
端末装置2は、上記の入力指示に基づいてオブジェクト31の動作(具体的には、移動)を制御する。換言すれば、オブジェクト31は、入力位置と基準位置とに基づいて制御される。オブジェクト31の具体的な制御方法は任意であるが、本実施形態においては、端末装置2は、入力方向に応じた方向に、入力距離に応じた曲がり量で曲がるように、オブジェクト31を制御する。つまり、オブジェクト31は、基準位置Prに対して入力位置Ptが右側に位置するほど、右に大きく曲がるように動作し、基準位置Prに対して入力位置Ptが左側に位置するほど、左に大きく曲がるように動作する。なお、オブジェクト31が曲がる方向および曲がる量は、直進方向を基準に算出されてもよいし、オブジェクト31が自動走行を行う場合(つまり、タッチ入力が行われていない場合)におけるオブジェクト31の進行方向を基準に算出されてもよい。また、上述のように、本実施形態においては、オブジェクト31のスピードは、加速動作が行われる場合を除いて、自動的に制御される。
【0071】
上記のように、本実施形態においては、端末装置2は、基準位置とタッチオン後に継続して取得される入力位置との間の距離である入力距離と、基準位置から入力位置への方向である入力方向とに基づいてオブジェクト31の移動を制御する。これによれば、ユーザは、タッチオンから継続する一連のタッチ入力(すなわち、継続タッチ入力)という簡単な操作方法によって、オブジェクトに対する操作を行うことができる。なお、他の実施形態においては、上記入力距離と入力方向との少なくとも一方に基づいてオブジェクト31の移動が制御されてもよい。
【0072】
また、端末装置2は、入力距離が所定の制御開始距離を超えたことを条件として、オブジェクト31の制御を開始するようにしてもよい。このとき、入力が開始されてから、入力位置が基準位置からある程度離れるまでの期間においては、オブジェクト31に対する制御が行われない。これによれば、例えばユーザが移動操作を行う意図がなく誤ってタッチ入力を行ってしまった場合(より具体的には、例えば、タッチパネル23の入力面に指が当たってしまった場合)に、ユーザの意図に反してオブジェクト31の移動制御が行われる可能性を低減することができる。
【0073】
(基準位置の変更処理)
本実施形態においては、タッチオン時に設定された基準位置は、タッチオンから継続するタッチ入力が行われている間に変更されることがある。以下、基準位置の変更処理について説明する。
【0074】
図8は、基準位置が変更される様子の一例を示す図である。
図8において、位置Pr0は、継続タッチ入力中のある時点t=0における基準位置であり、位置Pt0は、当該ある時点t=0に検出された入力位置である。
図8に示す例においては、上記時点t=0の次に入力位置が検出される時点t=1において、入力位置Pt1が検出される。本実施形態においては、位置Pt1の入力位置が検出されたことに応じて、基準位置は、位置Pr0から位置Pr1に変更される(
図8参照)。
【0075】
具体的には、端末装置2は、継続タッチ入力によって入力位置が移動した結果、基準位置から入力位置までの距離が所定距離よりも大きくなる場合、端末装置2は基準位置を変更する。ここで、所定距離は、予め定められており、例えば、上記基準位置画像34の半径r2から上記入力位置画像の半径r1を減算した値である。したがって、本実施形態においては、基準位置は、入力位置画像33が基準位置画像34の内側に含まれるように設定(換言すれば、変更)される。つまり、入力位置画像33は、基準位置画像34の円形領域内に含まれるように配置される。なお、他の実施形態においては、基準位置は、入力位置(すなわち、入力位置画像33の中心)が基準位置画像34の内側に含まれるように設定されてもよい。このとき、上記所定距離は、基準位置画像34の半径r2に設定される。また、他の実施形態においては、上記所定距離は、入力位置画像33の半径r1および基準位置画像34の半径r2とは独立した値に設定されてもよい。つまり、入力位置画像33および基準位置画像34の大きさは、基準位置の変更処理に用いられなくてもよい。
【0076】
上記のように、端末装置2は、基準位置から入力位置までの距離が上記所定距離以内となるように、基準位置を変更する。本実施形態においては、変更後の基準位置Pr1は、変更前の基準位置Pr0と、現在の入力位置Pt1とを結ぶ線分上の位置であって、変更後の基準位置Pr1から現在の入力位置Pt1までの距離が上記所定距離となる位置に決定される(
図8参照)。
【0077】
なお、変更後の基準位置の具体的な算出方法は任意である。例えば、他の実施形態においては、端末装置2は、基準位置を変更する前の入力位置Pt0から現在の入力位置Pt1への方向に応じた方向へ、変更前の基準位置Pr0を移動させるように、変更後の基準位置Pr1を算出してもよい。
【0078】
上記のように基準位置が変更された場合、端末装置2は、オブジェクト31の移動制御のために用いられる上記入力指示(入力方向および入力距離)を、変更後の基準位置に基づいて算出する。なお、入力指示に基づいてオブジェクト31を制御する処理は、基準位置の変更前と変更後とにおいて同様である。
【0079】
以上のように、本実施形態においては、端末装置2は、一定条件下で入力位置の移動に追従するように基準位置を変更する。これによれば、入力位置と基準位置との距離が上記所定距離以内に維持されるので、ユーザは、現在の入力位置を基準位置に対して反対側へ移動させる操作を容易に行うことができる。例えば、ユーザは、基準位置に対して右側にある入力位置を、基準位置に対して左側の位置へと容易に変更することができる。つまり、ユーザは、右方向を指示する入力指示を、左方向を指示する入力指示へと容易に変更することができる。
【0080】
なお、他の実施形態においては、端末装置2は、基準位置を変更する処理を実行しなくてもよい。すなわち、入力位置から基準位置までの距離が上記所定距離より大きくなった場合であっても、基準位置が変更されなくてもよい。なお、このとき、端末装置2は、入力距離の大きさに制限をかける(すなわち、入力距離の最大値を設定する)ようにしてもよい。例えば、端末装置2は、入力位置から基準位置までの距離が上記所定距離より大きい場合には、入力距離を所定距離としてもよい。
【0081】
[2-3.ドリフト状態への遷移操作]
本実施形態においては、タッチ入力が開始された直後においてはオブジェクト31は通常状態であり、継続タッチ入力中においてユーザが所定の遷移操作を行った場合、オブジェクト31はドリフト状態へと遷移する(
図5(c))。すなわち、本実施形態においては、継続タッチ入力中において、継続タッチ入力による入力位置がドリフト条件を満たした場合、端末装置2は、オブジェクト31を通常状態からドリフト状態へと遷移させる。このように、ユーザは、通常状態におけるオブジェクト31を一連の継続タッチ入力によって操作している途中で、その継続タッチ入力によってオブジェクト31をドリフト状態に遷移させることができる。以下、
図9を参照して、オブジェクト31を通常状態からドリフト状態へと遷移させる処理について説明する。
【0082】
図9は、ドリフト条件の判定方法の一例を示す図である。本実施形態においては、端末装置2は、タッチオン後において、オブジェクト31が通常状態であって、継続タッチ入力が行われている間、入力位置がドリフト条件を満たすか否かを判定する。端末装置2は、上記の判定を、入力位置が検出される度に行う。
【0083】
本実施形態においては、ドリフト条件は、入力位置Ptと基準位置Prとの関係に関する条件である。具体的には、
図9に示すように、ドリフト条件は、(条件a)「タッチ入力の速さが所定速度以上であること」、かつ、(条件b)「現在の入力位置に基づく入力距離が所定値以上である状態が所定の第1時間の間継続すること」である。
【0084】
(条件a)における上記「タッチ入力の速さ」とは、タッチオンから継続して行われるタッチ入力に関する速さであって、換言すれば、入力位置の移動速度である。「タッチ入力の速さ」は、タッチ入力が継続中である期間における入力位置Ptの移動速度を表す任意の指標でよい。例えば、端末装置2は、タッチ入力の速さとして、タッチオン時の入力位置(すなわち、基準位置Pr)から現在の入力位置Ptまでの距離を、タッチオン時から現在までの時間で割った速さを算出してもよい。また例えば、端末装置2は、継続タッチ入力に関して、単位時間当たりの入力位置Ptの移動速度(すなわち、ある入力位置から次の入力位置までの距離を、単位時間で割った速度)を算出し、さらに、当該移動速度の最大値または平均値を、タッチ入力の速さとして算出してもよい。端末装置2は、入力位置Ptに基づいて上記タッチ入力の速さを算出し、タッチ入力の速さが、予め定められた所定速度以上であるか否かを判定することによって、(条件a)が満たされるか否かを判定する。
【0085】
上記(条件b)における入力距離は、入力方向に対応する方向成分(本実施形態においては、x軸成分)に関する距離、すなわち、上記ベクトルVのx成分の大きさである(
図9参照)。ただし、他の実施形態においては、入力距離に代えて、上記ベクトルVの大きさが用いられてもよい。端末装置2は、入力位置Ptに基づいて入力距離を算出し、入力距離が、予め定められた所定値以上であるか否かを判定する。そして、端末装置2は、入力距離が所定値以上である状態が上記第1時間の間継続するか否かを判定することによって、(条件b)が満たされるか否かを判定する。
【0086】
端末装置2は、上記(条件a)および(条件b)が共に満たされる場合、ドリフト条件が満たされると判断する。ドリフト条件が満たされる場合、端末装置2は、オブジェクト31を通常状態からドリフト状態へと遷移させる。
【0087】
なお、ドリフト条件は、基準位置と入力位置とに関する任意の条件であってもよい。例えば、他の実施形態においては、ドリフト条件は、(条件a)および(条件b)のいずれか一方が満たされることであってもよい。また、(条件b)は、入力距離が上記の所定値以上である状態となったこと(当該状態が継続することは要求されない意味である)であってもよい。ドリフト条件は、(条件a)および(条件b)に代えて(または加えて)他の条件を含んでもよい。例えば、ドリフト条件は、基準位置から入力位置への方向に関する条件を含んでもよい。具体的には、ドリフト条件は、基準位置から入力位置への方向が所定角度以上変化したこと、という条件を含んでいてもよい。以上のように、ドリフト条件は、入力方向および/または入力距離に関する条件であってもよい。
【0088】
上記のように、本実施形態においては、ドリフト条件は、継続タッチ入力の入力位置が所定の条件を満たす状態が所定時間継続したこと(すなわち、(条件b))を含む。これによれば、継続タッチ入力の途中で、ユーザの意図に反してドリフト条件が満たされてしまう可能性を低減することができる。すなわち、ユーザが意図しない処理が実行されてしまう可能性を低減することができるので、タッチ入力による操作の操作性を向上することができる。
【0089】
本実施形態において、端末装置2は、ドリフト条件が満たされた場合における入力位置と基準位置との方向に応じて、ドリフト状態の開始時におけるオブジェクト31の向きを制御する。すなわち、本実施形態においては、オブジェクト31は、ドリフト状態として、左向きのドリフト状態(つまり、左に曲がるドリフト状態)と、右向きのドリフト状態(つまり、右に曲がるドリフト状態)とを取り得る。ドリフト条件が満たされた場合における入力位置が基準位置に対して左側にある場合、オブジェクト31は、左向きのドリフト状態に制御され、ドリフト条件が満たされた場合における入力位置が基準位置に対して右側にある場合、オブジェクト31は、右向きのドリフト状態に制御される。
【0090】
上記のように、本実施形態においては、オブジェクト31が通常状態である間におけるタッチ入力に継続するタッチ入力によって、オブジェクト31をドリフト状態へと遷移させることができる(
図5(b)~(c))。つまり、ユーザは、通常状態のオブジェクト31を移動させる移動操作を開始してから、タッチ入力を継続したまま、オブジェクト31をドリフト状態へと遷移させる遷移操作を行うことができる。このように、本実施形態においては、移動操作を開始してからの一連のタッチ入力によって遷移操作を行うことができる。これによって、ユーザは、一連のタッチ入力によって多様な操作を行うことができる。また、移動操作および遷移操作の操作性を向上することができる。
【0091】
以上のように、本実施形態においては、オブジェクト31をドリフト状態へと遷移させる遷移操作は、オブジェクト31を移動させる移動操作と同種の操作(すなわち、基準位置と入力位置との関係に基づく操作)によって行われる。例えば、ユーザは、オブジェクト31を大きく右方向に曲がらせるための移動操作(すなわち、基準位置に対して右方向に上記所定値以上離れた位置に入力位置を配置させる操作)を上記第1時間の間継続することによって、オブジェクト31をドリフト状態へと遷移させることができる。以上のように、本実施形態においては、ユーザは、移動操作中に遷移操作を自然に行うことができる。また、移動操作と遷移操作との連続性を維持することができる。これによって、オブジェクト31の操作性を向上することができる。
【0092】
また、他の実施形態においては、ドリフト条件は、基準位置に関連しない条件であってもよい。例えば、ドリフト条件は、「継続タッチ入力が所定のジェスチャを表す(すなわち、継続タッチ入力の軌跡が所定の形状となる)こと」という条件を含んでもよいし、「継続タッチ入力によって所定の操作(例えば、フリック操作、具体的には、入力位置が所定の速度以上で移動した後、タッチオフされる操作)が行われたこと」という条件を含んでもよい。
【0093】
本実施形態においては、端末装置2は、ドリフト条件が満たされたことに応じてオブジェクト31の状態が変化した場合、ドリフト条件が満たされなくなった後において変化後の状態(すなわち、ドリフト状態)を維持する。つまり、継続タッチ入力の入力位置がドリフト条件を満たした後で、当該継続タッチ入力の入力位置がドリフト条件を満たさなくなっても、端末装置2は、オブジェクト31の状態をドリフト状態に維持する。これによれば、ユーザは、オブジェクト31をドリフト状態に維持するために遷移操作を維持する必要はなく、遷移操作を行った後で、他の操作を行うことができる。これによって、端末装置2は、継続タッチ入力によってユーザにより多様な操作を行わせることができる。例えば、本実施形態においては、ユーザは、遷移操作の後で、上記他の操作として、ドリフト状態であるオブジェクト31に対する移動操作を行うことができる(
図5(d))。
【0094】
なお、端末装置2は、ドリフト条件が満たされなくなった後において、所定の条件が満たされることに応じて、ドリフト状態から他の状態(例えば、通常状態)へと遷移させてもよい。詳細は後述するが、本実施形態においては、タッチ入力が終了することに応じて、オブジェクト31はドリフト状態から通常状態へと遷移する。
【0095】
(基準位置の再設定)
また、本実施形態では、ドリフト条件が満たされた場合、端末装置2は、基準位置を再設定する(
図5(c))。
図10は、基準位置が再設定される様子の一例を示す図である。
図10において、位置Pr0は、ドリフト条件が満たされる前のある時点t=0における基準位置であり、位置Pt1は、ドリフト条件が満たされた時点t=1に検出された入力位置である。
図10に示す例においては、ドリフト条件が満たされた時点t=1における入力位置Pt1の位置に、基準位置Pr1が再設定される(
図10に示す矢印を参照)。
【0096】
上記のように、基準位置は、ドリフト状態に移行した時点の入力位置(すなわち、ドリフト条件を満たす入力位置)が新たな基準位置となるように再設定(変更とも言う)される。ここで、本実施形態においては、ドリフト状態においても通常状態と同様に、端末装置2は、オブジェクト31の移動方向を制御するための入力指示を受け付ける。したがって、ドリフト状態に遷移した時点で基準位置を再設定することによって、ユーザは、当該時点における入力位置を基準位置として入力指示を行うことができるので、ドリフト状態における入力指示をより行いやすくなる。これによって、ドリフト状態における入力指示の操作性を向上することができる。
【0097】
[2-4.ドリフト状態における移動操作]
本実施形態においては、オブジェクト31がドリフト状態となった後も、ユーザは、移動操作を行うことができる(
図5(d))。つまり、ユーザは、オブジェクト31が通常状態である間におけるタッチ入力に継続するタッチ入力によって、ドリフト状態においてもオブジェクト31を操作することができる。以下、
図11および
図12を参照して、オブジェクトがドリフト状態である場合における動作について説明する。
【0098】
図11は、ドリフト状態におけるオブジェクトを含むゲーム画像の一例を示す図である。上述のように、ドリフト状態は、通常状態における移動制御とは異なる方法で移動制御が行われる状態である。
図11に示すように、ドリフト状態においては、オブジェクト31がドリフトしている様子(具体的には、タイヤから煙が上がっている様子)が表示される。
【0099】
本実施形態においては、ドリフト状態における移動操作は、通常状態における移動操作と同様の操作方法である。すなわち、端末装置2は、オブジェクト31がドリフト状態である場合においても、通常状態である場合と同様に、タッチ入力に基づいて入力指示(具体的には、入力方向および入力距離)を特定する。このように、ユーザは、オブジェクト31が通常状態である場合もドリフト状態である場合も、同じ操作方法でオブジェクト31を操作することができる。ただし、入力指示に基づいてオブジェクト31の移動を制御する処理が、通常状態とドリフト状態とでは異なっている。
【0100】
本実施形態においては、ドリフト状態においては、オブジェクト31は、同じスピードで通常状態よりも鋭くカーブを曲がることができるように移動制御される。なお、ドリフト状態における移動制御の具体的な方法は任意である。例えば、他の実施形態においては、ドリフト状態においては、オブジェクト31は、カーブを通常状態よりも速く曲がることができるように移動制御されてもよい。このように、端末装置2は、ドリフト状態では、通常状態に比べてゲーム上有利な操作をユーザが行うことができるようにオブジェクト31の移動制御を行ってもよい。
【0101】
以上のように、本実施形態においては、端末装置2は、継続タッチ入力であって、かつ、所定の処理(具体的には、ドリフト状態への遷移処理)の実行後におけるタッチ入力の入力位置に基づいてオブジェクト31を移動させる移動処理を実行する(
図5(d)。したがって、ユーザは、遷移処理の後も、オブジェクト31に対する移動操作を継続して行うことができる。これによって、オブジェクト31に対する移動操作の操作性を向上することができる。
【0102】
なお、ドリフト状態における移動処理は、ドリフト状態への遷移処理の実行直後(すなわち、ドリフト状態への遷移直後)から実行される必要はない。ただし、本実施形態においては、端末装置2は、遷移処理を実行する前後において(すなわち、ドリフト状態へと遷移させる前後において)、移動操作(具体的には
図5(b)および(d)における移動操作)を継続的に受け付け、移動操作に基づく移動制御を継続して実行する。これによれば、ユーザは、オブジェクト31の状態が遷移する場合においてもオブジェクト31に対する移動操作を途切れることなく行うことができるので、移動操作の操作性をより向上することができる。
【0103】
なお、上記所定の処理は、オブジェクトの移動に関する状態を遷移させる処理に限らない。例えば、他の実施形態においては、上記所定の処理は、オブジェクトの状態を遷移させる任意の処理(例えば、オブジェクトが所定のアイテムを利用不可能な状態から利用可能な状態へと遷移させる処理)であってもよい。このとき、オブジェクトの状態を遷移させる処理の実行後における移動処理は、当該処理の実行前における移動処理と、移動制御方法が同じであってもよい。
【0104】
また、本実施形態において、ドリフト状態における移動処理は、通常状態における移動処理とは異なる制御方法で前記第1オブジェクトを移動させる移動処理である。したがって、ユーザは、遷移処理によってオブジェクト31の状態(具体的には、移動に関する状態)を変化させることによって、遷移処理の前後で異なる制御方法でオブジェクト31を移動させることができる。すなわち、本実施形態においては、ユーザは、(a)オブジェクト31の第1移動操作、(b)制御方法の変更操作(すなわち、遷移操作)、および、(c)第1移動操作とは異なる制御方法での第2移動操作という、3種類の操作を、一連のタッチ入力によって行うことができる。これによって、端末装置2は、オブジェクト31の移動操作の操作性を向上することができる。
【0105】
なお、
図5には示していないが、本実施形態においては、オブジェクト31がドリフト状態である場合に継続タッチ入力が終了(すなわち、タッチオフ)すると、端末装置2は、オブジェクト31を通常状態へと遷移させる。上述のように、タッチ入力が行われていない期間においては、端末装置2はオブジェクト31を自動的に制御する。
【0106】
一方、
図5に示す例においては、ユーザは、ドリフト状態における移動操作を継続して行う(
図5(e))ことによって、オブジェクト31を(ドリフト状態であって、かつ、)加速可能状態に設定する。すなわち、本実施形態においては、オブジェクト31がドリフト状態である状況において所定の加速条件が満たされると、端末装置2は、オブジェクト31を加速可能状態に設定する。詳細は後述するが、オブジェクト31が加速可能状態となった後で移動操作が終了された(すなわち、タッチオフとなった)場合、オブジェクト31は、通常よりも加速した加速状態で移動が制御される。
【0107】
図12は、加速可能状態におけるオブジェクトを含むゲーム画像の一例を示す図である。
図12に示すように、加速可能状態においては、オブジェクト31は、ドリフト状態を表す表示態様(具体的には、タイヤから煙が上がっている表示態様)に加えて、加速可能状態を表す表示態様(具体的には、タイヤから火花が出ている表示態様)で表示される。なお、本実施形態においては、ドリフト状態であるオブジェクト31のスピードは、加速可能状態であるか否かによって変わらない。ただし、他の実施形態においては、ドリフト状態であるオブジェクト31が加速可能状態である場合、加速可能状態でない場合に比べてオブジェクト31のスピードが速くなってもよい。
【0108】
本実施形態においては、上記加速条件は、ドリフト状態が所定の第2時間の間継続されることである。つまり、ドリフト状態となってから第2時間が経過したことに応じて、オブジェクト31は加速可能状態となる。なお、他の実施形態においては、加速条件は任意である。例えば、加速条件は、「ドリフト状態において継続タッチ入力が所定のジェスチャを表すこと」という条件を含んでもよいし、「ドリフト状態において継続タッチ入力によって所定の操作が行われたこと」という条件を含んでもよい。このように、加速条件は、入力方向および/または入力距離に関する所定の条件を満たす入力が行われた状態となったことであってもよいし、その状態が所定時間継続したことであってもよい。
【0109】
以上のように、本実施形態においては、端末装置2は、継続タッチ入力であって、かつ、第1処理(すなわち、ドリフト状態への遷移処理)の実行後におけるタッチ入力が所定の条件(すなわち、加速条件)を満たす場合、当該第1処理とは異なる処理であって、オブジェクト31に対する第2処理(すなわち、オブジェクト31を加速可能状態に設定する処理)を実行する。これによれば、ユーザは、継続タッチ入力の途中において、端末装置2に第1処理を実行させるとともに、さらに第2処理を実行させることができる。すなわち、端末装置2は、一連のタッチ入力によって、より多様なゲーム操作をユーザに行わせることができる。
【0110】
なお、上記第2処理は、オブジェクト31の移動に関する任意の処理であってもよい。例えば、第2処理は、オブジェクト31を所定の制御方法で移動させる処理であってもよい。したがって、本実施形態においては、後述する「加速状態でオブジェクト31を移動させる処理」も第2処理の一例であるということができる。なお、このとき、上記所定の条件は、「継続タッチ入力が終了すること」である。このように、上記所定の条件は、「第1処理の実行後における継続タッチ入力が、ある条件を満たす状態が所定時間継続したこと」であってもよいし、「第1処理の実行後における継続タッチ入力が、ある条件を満たす状態が所定時間継続した後で、第1処理の実行後における継続タッチ入力が終了したこと」であってもよい。また、他の実施形態においては、上記所定の条件は、「第1処理の実行後における継続タッチ入力が終了したこと」であってもよい。
【0111】
図5に示す例においては、ユーザは、オブジェクト31が加速可能状態となった後で、加速操作(すなわち、タッチ入力を終了する操作)を行うことによって、オブジェクト31を加速状態で走行させることができる(
図5(f))。すなわち、加速可能状態となった状態で継続タッチ入力が終了した場合、端末装置2は、オブジェクト31を加速状態で移動させる。なお、加速状態とは、通常状態におけるオブジェクト31のスピードよりも速いスピードでオブジェクト31が移動する状態である。
【0112】
図13は、加速状態におけるオブジェクトを含むゲーム画像の一例を示す図である。
図13に示すように、加速状態においては、オブジェクト31が加速状態である様子(具体的には、後方へ火花を噴射している様子)が表示される。
【0113】
本実施形態においては、加速状態は、予め定められた所定時間の間継続される。すなわち、端末装置2は、タッチオフ時から所定時間の間、オブジェクト31を加速状態で移動させた後で、通常状態における自動制御を行う。
【0114】
以上のように、ユーザは、ドリフト状態においてオブジェクト31を加速可能状態となるように操作した後でタッチ入力を終了することによって、オブジェクト31をより速く走行させることができる。例えば、ユーザは、オブジェクト31をドリフト状態に遷移させた状態でレースコースのカーブを曲がり、レースコースが直線になった位置からオブジェクト31を加速状態で走行させることによって、オブジェクト31を速く走行させることができる。
【0115】
なお、他の実施形態においては、オブジェクト31は、複数段階の加速可能状態をとることが可能であってもよい。例えば、ドリフト状態が上記第2時間の間継続されることに応じて、オブジェクト31は第1加速可能状態となり、第1加速可能状態が所定の第3時間の間継続されることに応じて、オブジェクト31は第2加速可能状態となるように制御されてもよい。このとき、端末装置2は、オブジェクト31が第2加速可能状態から(タッチオフに応じて)加速状態になる場合には、第1加速可能状態から(タッチオフに応じて)加速状態になる場合に比べて、加速状態が長く継続するようにオブジェクト31を制御する。なお、他の実施形態においては、端末装置2は、上記の場合に、第1加速可能状態から(タッチオフに応じて)加速状態になる場合に比べて、加速状態におけるスピードが速くなるようにオブジェクト31を制御してもよい。
【0116】
また、端末装置2は、複数段階の加速可能状態を互いに区別可能となるようにオブジェクト31を表示してもよい。例えば、端末装置2は、第1加速可能状態と第2加速可能状態とで火花の色および/または大きさが異なるようにオブジェクト31を表示してもよい。
【0117】
以上に説明したように、本実施形態においては、ユーザは、1回のタッチ入力によって、
図5に示す(a)~(f)の複数種類の操作を行うことが可能である。このように、本実施形態においては、端末装置2は、ポインティングデバイス(すなわち、タッチパネル)を用いて多様なゲーム操作をユーザに行わせることができる。
【0118】
また、本実施形態においては、
図5に示す各種操作(すなわち、移動操作、遷移操作、および、加速操作)は、いずれも、ユーザが1本の指で行うことができる操作である。したがって、本実施形態によれば、ユーザは、1本の指でオブジェクト31を操作することができ、例えば、端末装置2を片手で把持するとともに、その手の親指ででゲーム操作を行うことができる。
【0119】
なお、上記においては、
図5に示す各操作が行われる場合を例として説明したが、上記実施形態においては、タッチ入力によって、当該各操作以外の操作が可能であってもよい。例えば、端末装置2は、アイテムを示すアイコンを表示部24に表示してもよく、オブジェクト31にアイテムを使用させるための操作として、アイコンを指定するタッチ入力を受け付けるようにしてもよい。また例えば、端末装置2は、タッチパネル23に対するタップ操作(具体的には、タッチオンから一定時間が経過する前にタッチオフする操作)に応じて、オブジェクト31に所定の動作(例えば、ジャンプ動作)を行わせるようにしてもよい。このとき、上述の移動操作とタップ操作とを区別するべく、端末装置2は、タッチオンから上記一定時間が経過した後で、移動操作を受け付けるようにしてもよい。
【0120】
[3.情報処理システムにおける処理の具体例]
図14~
図16を参照して、上記において概要を説明したゲーム処理が情報処理システムにおいて実行される場合の具体例について説明する。
【0121】
[3-1.処理に用いられるデータ]
図14を参照して、情報処理システムにおけるゲーム処理に用いられるデータの具体例について説明する。
図14は、情報処理システムにおけるゲーム処理に用いられるデータの一例を示す図である。
図14に示すデータは、端末装置2の記憶装置(具体的には、処理部11のメモリ、および/または、記憶部12)に記憶される。
図14に示すように、端末装置2は、入力位置データ、基準位置データ、入力指示データ、オブジェクト位置データ、オブジェクト状態データ、および、加速フラグデータを記憶する。
【0122】
入力位置データは、上記入力位置を示すデータである。本実施形態では、入力位置データは、現在の入力位置(換言すれば、最新の入力位置)を示すデータを含むことに加えて、過去の入力位置を示すデータを含む。具体的には、入力位置データは、タッチオンから継続して入力される一連のタッチ入力に関する入力位置を示すデータを含む。なお、入力位置データの内容は、タッチオフ時にリセットされてもよい。
【0123】
基準位置データは、上記基準位置を示すデータである。なお、上記入力位置データおよび基準位置データは、例えば、タッチパネル23の入力面上における位置を示す2次元座標値のデータである。
【0124】
入力指示データは、入力位置に基づいて特定される上記入力指示の内容を示す。具体的には、入力指示データは、上記入力方向および入力距離を示す。上述したように、入力指示データは、入力方向を正負の符号で表し、入力距離を絶対値で表す数値を示すデータであってもよい。
【0125】
オブジェクト位置データは、ゲーム空間におけるオブジェクト31の位置を示す。例えば、オブジェクト位置データは、ゲーム空間における位置を示す3次元または2次元の座標値を示すデータである。
【0126】
オブジェクト状態データは、オブジェクト31の状態を示す。具体的には、オブジェクト状態データは、通常状態またはドリフト状態であることを示すデータである。なお、本実施形態においては、ゲーム開始時(すなわち、レースゲームのスタート時)においては、オブジェクト31は通常状態であるとし、通常状態を示すオブジェクト状態データが記憶される。
【0127】
加速フラグデータは、オブジェクト31を加速した状態で移動させる制御を行うか否かを表す加速フラグを示すデータである。詳細は後述するが、オブジェクト31が上述の加速可能状態または加速状態となる場合、加速フラグがオンに設定され、オブジェクト31が加速可能状態でもなく加速状態でもない場合、加速フラグがオフに設定される。なお、本実施形態においては、ゲーム開始時においては、加速フラグがオフに設定される。
【0128】
[3-2.ゲーム処理例]
図15および
図16は、端末装置によって実行されるゲーム処理の一例の流れを示すフローチャートである。なお、
図15および
図16に示す一連の処理は、記憶部22に記憶される上記ゲームプログラムの起動後、レースゲームの開始に応じて開始される。
【0129】
なお、本実施形態では、端末装置2の処理部21のCPU(換言すればプロセッサ)が、記憶部22に記憶されているゲームプログラム(具体的には、レースゲームのためのゲームプログラム)を実行することによって、
図15および
図16に示す各ステップの処理を実行するものとして説明する。ただし、他の実施形態においては、上記各ステップの処理のうちの一部の処理を、CPUとは別のプロセッサ(例えば、専用回路等)が実行するようにしてもよい。また、
図15および
図16に示す各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。
【0130】
また、他の実施形態においては、
図15および
図16に示す各ステップの処理は、端末装置2とサーバ1との協働によって実行されてもよい。つまり、
図15および
図16に示す各ステップの処理のうちの一部の処理は、サーバ1によって実行されてもよい。このとき、サーバ1は、処理に用いるデータを、ネットワーク3を介して端末装置2から受信する。サーバ1は、処理の結果得られたデータを、ネットワーク3を介して端末装置2へ送信する。
【0131】
また、端末装置の処理部21は、
図15および
図16に示す各ステップの処理を、メモリを用いて実行する。すなわち、処理部21のCPUは、各処理ステップによって得られる情報(換言すれば、データ)をメモリに記憶し、それ以降の処理ステップにおいて当該情報を用いる場合には、メモリから当該情報を読み出して利用する。
【0132】
図15に示すステップS1において、処理部21は、タッチパネル23から入力位置を取得する。すなわち、タッチパネル23は、入力面上の入力位置を検出し、検出した入力位置を示す検出結果データを出力する。処理部21は、タッチパネル23から検出結果データを取得し、取得した検出結果データを含む入力位置データをメモリに記憶する。なお、本実施形態においては、タッチパネル23は、タッチパネル23に対するタッチ入力が行われていない場合、タッチ入力が無いことを示す検出結果データを出力する。この場合、処理部21は、タッチ入力が無いことを示す検出結果データを取得する。ステップS1の次に、ステップS2の処理が実行される。
【0133】
ステップS2において、処理部21は、タッチ入力が行われたか否かを判定する。処理部21は、ステップS2における判定を、メモリに記憶されている入力位置データ(換言すれば、上記ステップS1の処理においてタッチパネル23から取得されたデータ)に基づいて行う。ステップS2の判定結果が肯定である場合、ステップS3の処理が実行される。一方、ステップS2の判定結果が否定である場合、後述するステップS16の処理が実行される。
【0134】
ステップS3において、処理部21は、タッチ入力がタッチオン時の入力であるか否かを判定する。処理部21は、ステップS3における判定を、メモリに記憶されている入力位置データに基づいて行う。すなわち、前回の処理ループ(具体的には、ステップS1~S24の処理ループ)におけるステップS1で取得された検出結果データが、タッチ入力が無いことを示す値である場合、タッチ入力はタッチオン時の入力であると判定され、当該検出結果データが、タッチ入力があることを示す値である場合、タッチ入力はタッチオン時の入力でないと判定される。ステップS3の判定結果が肯定である場合、ステップS4の処理が実行される。一方、ステップS3の判定結果が否定である場合、ステップS4の処理がスキップされて、後述するステップS5の処理が実行される。
【0135】
ステップS4において、処理部21は、基準位置を設定する。すなわち、処理部21は、今回の処理ループにおけるステップS1の処理で取得された入力位置を、基準位置として設定する。処理部21は、設定された基準位置を示す基準位置データをメモリに記憶する。ステップS4の次に、ステップS5の処理が実行される。
【0136】
ステップS5において、処理部21は、基準位置を変更するか否かを判定する。すなわち、処理部21は、メモリに記憶されている入力位置データおよび基準位置データに基づいて、上記“(基準位置の変更処理)”で説明した方法によって上記の判定を行う。ステップS5の判定結果が肯定である場合、ステップS6の処理が実行される。一方、ステップS5の判定結果が否定である場合、ステップS6の処理がスキップされて、後述するステップS7の処理が実行される。
【0137】
ステップS6において、処理部21は、基準位置を変更する。すなわち、処理部21は、メモリに記憶されている入力位置データおよび基準位置データに基づいて、上記“(基準位置の変更処理)”で説明した方法によって、変更後の基準位置を算出する。さらに、処理部21は、メモリに記憶されている基準位置データを、算出された変更後の基準位置を示す内容に更新する。ステップS6の次に、ステップS7の処理が実行される。
【0138】
ステップS7において、処理部21は、ドリフト条件が満たされたか否かを判定する。すなわち、処理部21は、メモリに記憶されている入力位置データおよび基準位置データに基づいて、入力位置がドリフト条件を満たすか否かを判定する。なお、ステップS7における判定の具体的な方法は、上記“[2-3.ドリフト状態への遷移操作]”で説明した方法である。ステップS7の判定結果が肯定である場合、ステップS8の処理が実行される。一方、ステップS7の判定結果が否定である場合、ステップS8およびS9の処理がスキップされて、後述するステップS10の処理が実行される。
【0139】
ステップS8において、処理部21は、オブジェクト31の状態をドリフト状態へと遷移させる。すなわち、処理部21は、ドリフト状態を示すオブジェクト状態データをメモリに記憶する。ステップS8の次に、ステップS9の処理が実行される。
【0140】
ステップS9において、処理部21は、基準位置を再設定する。ステップS9における具体的な処理は、上記ステップS6における処理と同様である。これによって、メモリに記憶される基準位置データの内容が更新される。ステップS9の次に、ステップS10の処理が実行される。
【0141】
ステップS10において、処理部21は、入力指示の内容を特定する。すなわち、処理部21は、メモリに記憶されている入力位置データおよび基準位置データを参照して、入力方向および入力距離を算出する。なお、入力方向および入力距離の具体的な算出方法は、上記“[2-2.タッチ入力が開始されてからの移動操作に関する動作]”で説明した方法である。処理部21は、算出された入力方向および入力距離を示す入力指示データをメモリに記憶する。ステップS10の次に、ステップS11の処理が実行される。
【0142】
図16を参照して、ステップS11~S15の処理について説明する。ステップS11において、処理部21は、メモリに記憶されているオブジェクト状態データに基づいて、オブジェクト31がドリフト状態であるか否かを判定する。ステップS11の判定結果が否定である場合(すなわち、オブジェクト31が通常状態である場合)、ステップS12の処理が実行される。一方、ステップS11の判定結果が肯定である場合(すなわち、オブジェクト31がドリフト状態である場合)、ステップS13の処理が実行される。
【0143】
ステップS12において、処理部21は、メモリに記憶されている入力指示データに基づいて、通常状態におけるオブジェクト31の移動制御を行う。具体的には、処理部21は、1フレーム時間におけるオブジェクト31の移動方向および移動距離を算出し、算出された移動方向および移動距離と、現在のオブジェクト31の位置とに基づいて移動後の位置を算出する。なお、ステップS12における移動制御は、上記“[2-2.タッチ入力が開始されてからの移動操作に関する動作]”で説明した方法によって行われる。処理部21は、算出された移動後の位置を示すオブジェクト位置データをメモリに記憶する。ステップS12の次に、後述するステップS23の処理が実行される。
【0144】
ステップS13において、処理部21は、ドリフト状態におけるオブジェクト31の移動制御を行う。ステップS13においてもステップS12と同様、処理部21は、メモリに記憶されている入力指示データに基づいて、オブジェクト31の移動後の位置を算出する。ただし、ステップS13における移動制御は、ステップS12における移動制御とは異なり、上記“[2-4.ドリフト状態における移動操作]”で説明した方法によって行われる。処理部21は、算出された移動後の位置を示すオブジェクト位置データをメモリに記憶する。ステップS13の次に、ステップS14の処理が実行される。
【0145】
ステップS14において、処理部21は、オブジェクト31がドリフト状態へと遷移してから上述の第2時間が経過したか否かを判定する。ステップS14の判定結果が肯定である場合、ステップS15の処理が実行される。一方、ステップS14の判定結果が否定である場合、ステップS15の処理がスキップされて、後述するステップS23の処理が実行される。
【0146】
ステップS15において、処理部21は、加速フラグをオンに設定する。すなわち、処理部21は、加速フラグがオンであることを示す加速フラグデータをメモリに記憶する。これによって、オブジェクト31は、(ドリフト状態であって、かつ、)加速可能状態に設定されたことになる。ステップS15の次に、後述するステップS23の処理が実行される。
【0147】
再び
図15を参照して、ステップS16およびS17の処理について説明する。ステップS16において、処理部21は、タッチ入力が終了した(すなわち、タッチオフとなった)か否かを判定する。処理部21は、ステップS16における判定を、メモリに記憶されている入力位置データに基づいて行う。すなわち、前回の処理ループ(具体的には、ステップS1~S24の処理ループ)におけるステップS1で取得された検出結果データが、タッチ入力があることを示す値である場合、タッチ入力が終了したと判定され、当該検出結果データが、タッチ入力が無いことを示す値である場合、タッチ入力が終了したタイミングでないと判定される。ステップS16の判定結果が肯定である場合、ステップS17の処理が実行される。一方、ステップS16の判定結果が否定である場合、ステップS17の処理がスキップされて、後述するステップS18の処理が実行される。
【0148】
ステップS17において、処理部21は、オブジェクト31の状態を通常状態へと遷移させる。すなわち、処理部21は、通常状態を示すオブジェクト状態データをメモリに記憶する。ステップS17の次に、ステップS18の処理が実行される。
【0149】
再び
図16を参照して、ステップS18~S24の処理について説明する。ステップS18において、処理部21は、メモリに記憶されている加速フラグデータに基づいて、加速フラグがオンに設定されているか否かを判定する。ステップS18の判定結果が否定である場合(すなわち、加速フラグがオフに設定されている場合)、ステップS19の処理が実行される。一方、ステップS18の判定結果が肯定である場合(すなわち、加速フラグがオンに設定されている場合)、後述するステップS20の処理が実行される。
【0150】
ステップS19において、処理部21は、オブジェクト31の自動制御を行う。すなわち、処理部21は、記憶部12に記憶されているゲームアプリケーションのプログラムにおいて予め定められたアルゴリズムに従ってオブジェクト31の移動を制御することによって、オブジェクト31の移動後の位置を算出する。処理部21は、算出された移動後の位置を示すオブジェクト位置データをメモリに記憶する。ステップS19の次に、後述するステップS23の処理が実行される。
【0151】
一方、ステップS20において、処理部21は、加速状態でオブジェクト31の自動制御を行う。ステップS20においてもステップS19と同様、処理部21は、上記ゲームアプリケーションのプログラムにおいて予め定められたアルゴリズムに従ってオブジェクト31の移動を制御することによって、オブジェクト31の移動後の位置を算出する。ただし、ステップS20においては、ステップS19において設定される移動速度よりも速く移動するように、オブジェクト31の移動後の位置が算出される。処理部21は、算出された移動後の位置を示すオブジェクト位置データをメモリに記憶する。ステップS20の次に、ステップS21の処理が実行される。
【0152】
ステップS21において、処理部21は、オブジェクト31に対する加速状態での移動制御を開始してから(換言すれば、タッチオフとなってから)上述の所定時間が経過したか否かを判定する。ステップS21の判定結果が肯定である場合、ステップS22の処理が実行される。一方、ステップS21の判定結果が否定である場合、ステップS22の処理がスキップされて、後述するステップS23の処理が実行される。
【0153】
ステップS22において、処理部21は、加速フラグをオフに設定する。すなわち、処理部21は、加速フラグがオフであることを示す加速フラグデータをメモリに記憶する。これによって、オブジェクト31は、(通常状態であって、かつ、)加速状態に設定されたことになる。ステップS22の次に、ステップS23の処理が実行される。
【0154】
ステップS23において、処理部21は、ゲーム画像を生成して、表示部24に表示させる。すなわち、処理部21は、メモリに記憶されているオブジェクト位置データに基づいてゲーム画像を生成し、生成されたゲーム画像を表示部24に表示する。ステップS23で生成されるゲーム画像は、オブジェクト位置データにより示される位置にオブジェクト31が配置されたゲーム空間を表す。なお、ステップS23の処理において、処理部21は、必要に応じて、他のオブジェクト(例えば、他のキャラクタやアイテム)の動作を制御し、これらのオブジェクトを含むゲーム空間を表すゲーム画像を生成する。ステップS23の次に、ステップS24の処理が実行される。
【0155】
ステップS24において、処理部21は、ゲームを終了するか否かを判定する。すなわち、処理部21は、予め定められたゲーム終了条件(例えば、ユーザが操作するオブジェクトがゴールしたこと)が満たされた、または、ユーザによって所定の終了指示が行われた場合、ゲームを終了する。また、処理部21は、上記ゲーム終了条件が満たされず、かつ、ユーザによって所定の終了指示が行われていない場合、ゲームを終了しないと判定する。ステップS24の判定結果が否定である場合、ステップS1の処理が実行される。なお、処理部21は、ステップS24においてゲームを終了すると判定するまで、ステップS1~S24の一連の処理を繰り返し実行する。一方、ステップS24の判定結果が肯定である場合、処理部21は、
図15および
図16に示すゲーム処理を終了する。
【0156】
[4.本実施形態の作用効果および変形例]
以上に説明した実施形態によれば、ゲームプログラムは、ポインティングデバイス(例えば、タッチパネル23)を備える情報処理装置(例えば、端末装置2)のコンピュータに、以下の処理ステップを実行させる。
・基準位置と、ポインティングデバイスに対する入力が開始されてから継続して行われる入力(すなわち、継続タッチ入力)の入力位置とに基づいて、仮想ゲーム空間においてオブジェクトを移動させる第1移動処理を実行する第1移動処理ステップ(S12)
・ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置が、当該入力位置と基準位置との関係に関する所定の第1条件(すなわち、ドリフト条件)を満たす場合、オブジェクトに対する第1処理を実行する第1処理実行ステップ(S8またはS13)
【0157】
上記によれば、ユーザは、入力開始から継続する入力によってオブジェクトに対する移動操作を行うことができ、さらに、当該継続する入力によってオブジェクトに対する第1処理を実行することができる。したがって、情報処理装置は、シンプルな入力方法によって多様な操作をユーザに行わせることができる。具体的には、上記実施形態によれば、ユーザは、入力開始からの一連のタッチ入力によって、オブジェクトに対する複数種類の操作を行うことができる。
【0158】
なお、上記第1移動処理ステップおよび第1処理実行ステップを実行する場合、情報処理装置は、後述の基準位置再設定ステップを実行しなくてもよい。この場合でも、情報処理装置は上記の効果を奏する。
【0159】
なお、上記「ポインティングデバイスに対する入力が開始されてから継続して行われる入力」は、入力が厳密な意味で連続していることを要求するものではない。例えば、上述の継続タッチ入力に関して言えば、タッチパネル23は、実際にはタッチ入力が行われているにもかかわらず、所定期間の間、誤検出によって一時的にタッチ入力が検出されない場合も考えられる。この場合、端末装置2は、当該所定期間の前において検出されていたタッチ入力と、当該所定期間の後において検出されたタッチ入力とを、まとめて1回の継続タッチ入力として取り扱ってもよい。具体的には、端末装置2は、あるタッチ入力が検出されなくなってから、次のタッチ入力が検出されるまでの期間が所定の長さよりも短い場合、当該あるタッチ入力と当該次のタッチ入力とをまとめて1回の継続タッチ入力として取り扱ってもよい。
【0160】
上記第1処理は、上記実施形態においては、オブジェクト31の状態(より具体的には、オブジェクトの移動に関する状態)を変化させる処理(ステップS8)であるということができる。また、上記実施形態においては、第1処理は、第1移動処理(すなわち、通常状態における移動制御処理(S12))とは異なる処理であって、オブジェクト31の動作を制御する処理(すなわち、ドリフト状態における移動制御処理(S13))であるということができる。なお、他の実施形態においては、「オブジェクトの動作を制御する処理」は、オブジェクトを移動させる処理に限らず、例えば、オブジェクトに所定の動作(例えば、ジャンプや攻撃の動作)を行わせる処理であってもよい。
【0161】
他の実施形態においては、第1移動処理の対象となる第1オブジェクトと、第1処理の対象となる第2オブジェクトとは、異なるオブジェクトであってもよい。例えば、他の実施形態においては、第1オブジェクトは、銃を持ったキャラクタのオブジェクトであり、第2オブジェクトは、銃から発射される弾のオブジェクトであってもよい。このとき、情報処理装置は、第1移動処理によってキャラクタを移動させ、第1条件が満たされる場合に、第1処理として、弾を発射させる処理(換言すれば、弾を移動させる処理)を実行してもよい。
【0162】
なお、上記実施形態においては、上記第1処理は、上記第1移動処理が開始された後で上記第1条件が満たされたことに応じて実行される。ここで、他の実施形態においては、第1移動処理は、ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置と基準位置との関係に関する第2条件(ただし、第2条件は、第1条件とは異なる条件である)を満たす場合に、実行されてもよい。第2条件は、例えば、入力距離が上述の制御開始距離を超えたことである。なお、第1条件は、第2条件よりも厳しい条件(つまり、第2条件が満たされた後でのみ第1条件が満たされるような条件)である。例えば、上記制御開始距離は、上記(条件b)における所定値よりも小さい値に設定される。
【0163】
また、以上に説明した実施形態によれば、ゲームプログラムは、ポインティングデバイス(例えば、タッチパネル23)を備える情報処理装置(例えば、端末装置2)のコンピュータに、以下の処理ステップを実行させる。
・基準位置と、ポインティングデバイスに対する入力が開始されてから継続して行われる入力(すなわち、継続タッチ入力)の入力位置とに基づいて、仮想ゲーム空間においてオブジェクトを移動させる移動処理を実行する移動処理ステップ(S12)
・ポインティングデバイスに対する入力が開始されてから継続して行われる入力の入力位置が所定の条件(すなわち、ドリフト条件)を満たす場合、当該条件が満たされたときの入力位置に基準位置を再設定する基準位置再設定ステップ(S9)。
【0164】
上記によれば、ユーザは、オブジェクトに対する移動操作と、基準位置を再設定する操作とを、継続して行われる一連の入力によって行うことができる。これによれば、ポインティングデバイスを用いて多様な操作が可能となる。また、上記によれば、ユーザは、入力を継続したままで基準位置を設定し直すことができるので、入力をし直す必要なく、基準位置を簡易な操作で設定し直すことができる。これによって、移動操作の操作性を向上することができる。より具体的には、上記実施形態によれば、ドリフト状態となったことに応じて基準位置が再設定されるので、ドリフト状態となった時点で適切な位置に基準位置が設定される結果、ユーザは、左右の両方向に関する指示を容易に行うことができる。
【0165】
なお、上記移動処理ステップおよび基準位置再設定ステップを実行する場合、情報処理装置は、第1処理実行ステップを実行しなくてもよい。この場合でも、情報処理装置は上記の効果を奏する。
【0166】
なお、上記実施形態においては、基準位置を再設定するための上記所定の条件は、ドリフト条件と同じであった。ここで、他の実施形態においては、上記所定の条件は、ドリフト条件と同じである必要はない。例えば、他の実施形態においては、端末装置2は、所定の条件が満たされたことに応じて基準位置を再設定する一方、当該所定の条件が満たされたことに応じてオブジェクト31をドリフト状態へと遷移させなくてもよい。
【0167】
(ゲーム内容に関する変形例)
他の実施形態においては、端末装置2において実行されるゲームの内容は、レースゲームに限らず、任意の内容のゲームであってよい。例えば、他の実施形態においては、端末装置2において実行されるゲームは、アクションゲームにおけるオブジェクト(すなわち、プレイヤキャラクタ)を、ポインティングデバイスに対する入力によって操作するゲームであってもよい。すなわち、端末装置2は、ステップS12の移動処理において上記オブジェクトを歩いて移動させ、ステップS13の移動処理において当該オブジェクトを走って移動させるように、移動制御を行ってもよい。このとき、端末装置2は、オブジェクトの移動方法に関する状態(すなわち、歩くまたは走る)を管理し、ステップS8において、オブジェクトの状態を、歩く状態から走る状態へと遷移させる。さらにこのとき、端末装置2は、ステップS20の処理において、ステップS13の移動処理における速度よりも速い速度でオブジェクトが走るように移動制御を行ってもよい。
【産業上の利用可能性】
【0168】
上記実施形態は、ポインティングデバイスを用いて多様なゲーム操作を可能とすること等を目的として、例えばゲームプログラムやゲーム装置等として利用することができる。
【符号の説明】
【0169】
1 サーバ
2 端末装置
21 処理部
22 記憶部
23 タッチパネル
24 表示部
25 通信部
31 オブジェクト
32 操作画像