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