(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-04
(45)【発行日】2022-03-14
(54)【発明の名称】ゲームプログラム
(51)【国際特許分類】
A63F 13/426 20140101AFI20220307BHJP
A63F 13/2145 20140101ALI20220307BHJP
A63F 13/55 20140101ALI20220307BHJP
A63F 13/812 20140101ALI20220307BHJP
A63F 13/577 20140101ALI20220307BHJP
G06F 3/0488 20220101ALI20220307BHJP
【FI】
A63F13/426
A63F13/2145
A63F13/55
A63F13/812 B
A63F13/577
G06F3/0488
(21)【出願番号】P 2020081366
(22)【出願日】2020-05-01
(62)【分割の表示】P 2016217936の分割
【原出願日】2016-02-25
【審査請求日】2020-05-27
(73)【特許権者】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】上山 真一
【審査官】比嘉 翔一
(56)【参考文献】
【文献】特許第6043448(JP,B1)
【文献】特開2005-279165(JP,A)
【文献】特開2015-153159(JP,A)
【文献】特許第5865535(JP,B1)
【文献】コロプラ、「ぷにコン」による本格サッカーアクションゲームを発表,GAME Watch,2015年12月15日,https://game.watch.impress.co.jp/docs/news/735399.html#03_s.png,令和1年10月3日検索
(58)【調査した分野】(Int.Cl.,DB名)
A63F13/00-13/98
A63F 9/24
(57)【特許請求の範囲】
【請求項1】
タッチスクリーンを備える
携帯端末によって実行されるゲームプログラムであって、前記携帯端末のプロセッサに、
前記タッチスクリーン上の任意の位置情報を検知し、所定のフレームレート毎にタッチ位置情報を繰り返し取得するステップと、
ゲーム空間に、ユーザのタッチ操作を通じて複数の動作が可能なキャラクタを配置するステップと、
前記タッチスクリーンに対して前記ユーザがタッチしたタッチ位置を前記携帯端末のメモリに格納させるステップと、
前記タッチスクリーンに表示される前記キャラクタの表示位置に対してタッチ操作をすることによらず、前記タッチ位置から前記タッチスクリーン上の任意の位置への前記ユーザのスライド操作の方向に基づいて、前記キャラクタを移動させる移動方向を決定し、決定した移動方向へ前記キャラクタを移動させるステップと、
複数のフレームを含む所定期間内の前記タッチ位置の情報に基づいて、前記キャラクタを移動させている状態において前記所定期間内に前記タッチ位置が移動した距離を示すスライド距離が閾値以上であることを検出するステップと、
前記スライド距離が前記閾値以上と検出される場合に、前記キャラクタの第1の動作を第1の態様で実行し、
前記スライド距離がゼロより大きく前記閾値に満たない場合に、前記キャラクタの前記第1の動作を前記第1の態様とは異なる第2の態様で実行するステップと、
前記キャラクタの特性に応じて、前記タッチスクリーン上に動作領域を設定するステップと、を実行させ、
前記実行するステップにおいて、前記キャラクタが前記動作領域に位置するときに、前記スライド距離が前記閾値以上と検出される場合、前記タッチ位置が移動したスライド方向に従って、前記キャラクタの前記第1の動作を前記第1の態様で実行させる、
ゲームプログラム。
【請求項2】
縦長の状態の前記タッチスクリーンに、前記ゲーム空間に基づくゲーム画面を表示させるステップをさらに含む、請求項1に記載のゲームプログラム。
【請求項3】
前記実行するステップにおいて、前記スライド距離が前記閾値以上と検出される場合に、前記タッチ位置が移動したスライド方向に従って、前記キャラクタの前記第1の動作を前記第1の態様で実行する、請求項1または2に記載のゲームプログラム。
【請求項4】
タッチスクリーンを備える携帯端末によって実行されるゲーム実行方法であって、前記携帯端末に、
前記タッチスクリーン上の任意の位置情報を検知し、所定のフレームレート毎にタッチ位置情報を繰り返し取得するステップと、
ゲーム空間に、ユーザのタッチ操作を通じて複数の動作が可能なキャラクタを配置するステップと、
前記タッチスクリーンに対して前記ユーザがタッチしたタッチ位置を前記携帯端末のメモリに格納させるステップと、
前記タッチスクリーンに表示される前記キャラクタの表示位置に対してタッチ操作をすることによらず、前記タッチ位置から前記タッチスクリーン上の任意の位置への前記ユーザのスライド操作の方向に基づいて、前記キャラクタを移動させる移動方向を決定し、決定した移動方向へ前記キャラクタを移動させるステップと、
複数のフレームを含む所定期間内の前記タッチ位置の情報に基づいて、前記キャラクタを移動させている状態において前記所定期間内に前記タッチ位置が移動した距離を示すスライド距離が閾値以上であることを検出するステップと、
前記スライド距離が前記閾値以上と検出される場合に、前記キャラクタの第1の動作を第1の態様で実行し、
前記スライド距離がゼロより大きく前記閾値に満たない場合に、前記キャラクタの前記第1の動作を前記第1の態様とは異なる第2の態様で実行するステップと、
前記キャラクタの特性に応じて、前記タッチスクリーン上に動作領域を設定するステップと、を実行させ、
前記実行するステップにおいて、前記キャラクタが前記動作領域に位置するときに、前記スライド距離が前記閾値以上と検出される場合、前記タッチ位置が移動したスライド方向に従って、前記キャラクタの前記第1の動作を前記第1の態様で実行させる、
ゲーム実行方法。
【請求項5】
タッチスクリーン、プロセッサおよびメモリを備える携帯端末であって、前記携帯端末のプロセッサが、前記メモリに記憶されるゲームプログラムを読みだして実行することにより、前記携帯端末を、
前記タッチスクリーン上の任意の位置情報を検知し、所定のフレームレート毎にタッチ位置情報を繰り返し取得し、
ゲーム空間に、ユーザのタッチ操作を通じて複数の動作が可能なキャラクタを配置し、
前記タッチスクリーンに対して前記ユーザがタッチしたタッチ位置を前記携帯端末のメモリに格納させ、
前記タッチスクリーンに表示される前記キャラクタの表示位置に対してタッチ操作をすることによらず、前記タッチ位置から前記タッチスクリーン上の任意の位置への前記ユーザのスライド操作の方向に基づいて、前記キャラクタを移動させる移動方向を決定し、決定した移動方向へ前記キャラクタを移動させ、
複数のフレームを含む所定期間内の前記タッチ位置の情報に基づいて、前記キャラクタを移動させている状態において前記所定期間内に前記タッチ位置が移動した距離を示すスライド距離が閾値以上であることを検出し、
前記スライド距離が前記閾値以上と検出される場合に、前記キャラクタの第1の動作を第1の態様で実行し、
前記スライド距離がゼロより大きく前記閾値に満たない場合に、前記キャラクタの前記第1の動作を前記第1の態様とは異なる第2の態様で実行し、
前記キャラクタの特性に応じて、前記タッチスクリーン上に動作領域を設定し、
前記キャラクタが前記動作領域に位置するときに、前記スライド距離が前記閾値以上と検出される場合、前記タッチ位置が移動したスライド方向に従って、前記キャラクタの前記第1の動作を前記第1の態様で実行する、
携帯端末。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、タッチディスプレイ上での特定のタッチ操作に応じて、ゲーム空間内のオブジェクトを動作させるゲームプログラムに関する。
【背景技術】
【0002】
昨今、タッチディスプレイを備えた携帯端末(例えばスマートフォン)によるゲームプログラムがインターネットを通じてユーザに配信されている。ゲームプログラムの中には、タッチディスプレイ上でのタッチ操作を通じて、ゲーム空間内のオブジェクトを移動制御するものも多い。特許文献1では、サッカーゲームにおいて、ユーザがタッチディスプレイ上で動作対象のキャラクタや位置を都度指定しながら、ゲームを進行させる技術が開示される。特に、タッチ操作による移動体(ボール)の移動先の指定やタッチ操作種別に応じて、移動体への動作(パス、ドリブル、シュート等)を実施する技術が開示される。また、特許文献2には、タッチ操作が、タッチダウンから所定の速度以上で所定のストローク距離だけ移動するような操作の場合に、当該タッチ操作をフリック操作として決定し、プレイヤ・キャラクタを移動目標に向けて移動させる技術が開示される。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-79643号公報
【文献】国際公開第2013-024771号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0004】
サッカーゲームのように、多くのキャラクタを移動体と共に動作させることを要するゲーム・アプリケーションでは、簡易で直感的なタッチ操作性をユーザに提供することが求められる。本発明は、簡易な操作性を維持しつつ、ゲーム・オブジェクトを意のままに動作させることが可能なゲームプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明によれば、タッチディスプレイを備えるコンピュータによって実行されると、コンピュータに、タッチディスプレイ上の任意の位置情報を検知し、所定のフレームレート毎にタッチ位置情報を繰り返し取得するステップと、所定の数のタッチ位置情報に基づいて、第1操作情報を決定するステップと、第1操作情報に基づき、ゲーム空間内の移動体への第1動作を実施するステップと、タッチディスプレイからのタッチオフを判定するステップと、タッチオフの直前の少なくとも1つのフレームにおけるタッチ位置情報を用いて第2操作情報を決定するステップと、第2操作情報に基づいて、フリック操作を判定するステップと、フリック操作に応じて第1動作が解除され、第2操作情報に基づく移動体への第2動作を実施するステップと、を含む方法を実行させ、第1動作が、キャラクタと共にゲーム空間内を移動すべく移動体を動作させ、第2動作が、キャラクタとは離れてゲーム空間を移動すべく移動体を動作させる、ゲームプログラムが得られる。
【発明の効果】
【0006】
本発明によれば、簡易な操作性を維持しつつ、ゲーム・オブジェクトを意のままに動作させることが可能なゲームプログラムが提供される。
【図面の簡単な説明】
【0007】
【
図1】一実施形態におけるコンピュータの基本構成のブロック図である。
【
図2】一実施形態におけるコンピュータの詳細構成のブロック図である。
【
図3】一実施形態のゲームプログラムにより生成されるゲーム画面例である。
【
図4】一実施形態によるオブジェクトへの概略動作例である。
【
図5】一実施形態による全体処理概要を示すフロー図である。
【
図6(a)】一実施形態により取得されるタッチ位置情報の概略配列図である。
【
図6(b)】一実施形態により取得されるタッチ位置情報の概略配列図である。
【
図7】一実施形態による詳細処理例を示すフロー図である。
【
図8】一実施形態による詳細処理例を示すフロー図である。
【
図9】一実施形態により決定されるスライド操作情報のグラフ例である。
【
図10】一実施形態による詳細処理例を示すフロー図である。
【
図11】一実施形態のフィールド内領域例を示す概略図である。
【
図12】一実施形態のテーブル構成例を示す概略図である。
【
図13】一実施形態のテーブル構成例を示す概略図である。
【
図14】一実施形態により生成されるUI画像例である。
【
図15】一実施形態により表示されるUI画像表示の遷移例である。
【
図16】一実施形態による詳細処理例を示すフロー図である。
【発明を実施するための形態】
【0008】
〔本発明の実施形態の説明〕
最初に、本発明の実施形態の内容を列記して説明する。本発明の実施形態によるゲームプログラムは、以下のような構成を備える。
【0009】
(項目1) タッチディスプレイを備えるコンピュータによって実行されると、前記コンピュータに、
前記タッチディスプレイ上の任意の位置情報を検知し、所定のフレームレート毎にタッチ位置情報を繰り返し取得するステップと、
所定の数の前記タッチ位置情報に基づいて、第1操作情報を決定するステップと、
前記第1操作情報に基づき、ゲーム空間内の移動体への第1動作を実施するステップと、
前記タッチディスプレイからのタッチオフを判定するステップと、
前記タッチオフの直前の少なくとも1つのフレームにおける前記タッチ位置情報を用いて第2操作情報を決定するステップと、
前記第2操作情報に基づいて、フリック操作を判定するステップと、
前記フリック操作に応じて前記第1動作が解除され、前記第2操作情報に基づく前記移動体への第2動作を実施するステップと
を含む方法を実行させ、
前記第1動作が、キャラクタと共に前記ゲーム空間内を移動すべく前記移動体を動作させ、
前記第2動作が、前記キャラクタとは離れて前記ゲーム空間を移動すべく前記移動体を動作させる、ゲームプログラム。
【0010】
(項目2) 項目1記載のゲームプログラムであって、前記タッチオフを判定する前記ステップにおいて、複数のフレームレート単位にわたり前記タッチ位置情報が連続して取得できない場合に、前記タッチオフを判定する、ゲームプログラム。
【0011】
(項目3) 項目1または2記載のゲームプログラムにおいて、
前記第2操作情報が、前記直前の少なくとも1つのフレームにおけるフリック方向を含み、
前記第2動作を実施する前記ステップにおいて、前記フリック方向に対応する前記ゲーム空間の方向に前記第2動作が実施される、ゲームプログラム。
【0012】
(項目4) 項目1から3のいずれか一項記載のゲームプログラムにおいて、
前記第2操作情報が、前記直前の少なくとも1つのフレームにおけるフリック距離を含み、
前記フリック操作を判定する前記ステップにおいて、前記フリック距離に基づいてフリック操作種別が決定され、
前記第2動作を実施する前記ステップにおいて、前記フリック操作種別に関連づけられる動作が実施される、ゲームプログラム。
【0013】
(項目5) 項目4記載のゲームプログラムにおいて、
前記フリック操作種別は、前記直前の連続する2つ以上のフレームにおける各フリック距離の最大値が、所定の閾値で規定される範囲内にあるか基づいて決定される、ゲームプログラム。
【0014】
(項目6) 項目4または5記載のゲームプログラムであって、前記移動体への前記第2動作を実施する前記ステップが更に、
前記ゲーム空間において前記キャラクタの位置が所定の動作領域に含まれるかを判定するステップと、
前記キャラクタの位置が前記所定の動作領域に含まれる場合に前記第2動作を特定のアクション種別に関連づけるステップと
を含み、
前記第2動作を実施する前記ステップにおいて、前記特定のアクション種別に関連づけられる動作が実施される、ゲームプログラム。
【0015】
(項目7) 項目6記載のゲームプログラムにおいて、前記所定の動作領域が、前記キャラクタの特性に基づいて構成される、ゲームプログラム。
【0016】
(項目8) 項目6または7記載のゲームプログラムにおいて、当該ゲームプログラムがサッカーゲームに適用され、
前記第1動作が前記キャラクタによる前記移動体への「ドリブル」動作であり、
前記第2動作が前記キャラクタによる前記移動体への「キック」動作であり、
前記第2動作において、前記特定のアクション種別が「シュート」動作に関連づけられる、ゲームプログラム。
【0017】
(項目9) 項目8記載のゲームプログラムであって、
前記フリック操作種別が「強」フリック操作および「弱」フリック操作を含み、
前記第2動作において、前記「強」フリック操作が「高い弾道」に関連づけられ、前記「弱」フリック操作が「低い弾道」に関連づけられる、ゲームプログラム。
【0018】
(項目10) 項目1から9のいずれか一項記載のゲームプログラムであって、前記方法が、更に、
前記タッチ位置情報を繰り返し取得する前記ステップに応じて、フレームレート毎に、タッチオンを検知した第1タッチ位置情報と現在検知している第2タッチ位置情報とに関連づけて、画像を生成および表示するステップであって、
前記画像が、基部および先端部を有する弾性体の画像であり、
前記基部が前記第1タッチ位置情報に関連づけられ、前記先端部がフレーム毎に前記第2タッチ位置情報に関連づけられることにより、スライド操作を通じて、前記第2タッチ位置情報の変更に伴って前記弾性体を変形させるように前記画像が表示される、ゲームプログラム。
【0019】
(項目11) 項目10記載のゲームプログラムであって、前記画像を生成および表示する前記ステップにおいて、
前記第1タッチ位置情報と前記第2タッチ位置情報の間の距離が所定の上限値を超える場合に、前記先端部が、前記第1タッチ位置情報から前記第2タッチ位置情報に向けて前記所定の上限値だけ離れた位置情報に関連づけられる、ゲームプログラム。
【0020】
(項目12) 項目10または11記載のゲームプログラムであって、前記画像を生成および表示する前記ステップが、更に、
前記基部と前記先端部の間の距離に応じて、前記弾性体の画像に視覚上の処理を実施するステップを含む、ゲームプログラム。
【0021】
(項目13) 項目10から12のいずれか一項記載のゲームプログラムにおいて、前記画像を生成および表示する前記ステップが、更に、現在第2タッチ位置情報に基づくスライド方向を示す指標を、前記先端部に関連づけて、前記画像と共に表示するステップを含む、ゲームプログラム。
【0022】
〔本発明の実施形態の詳細〕
本発明の実施形態に係るゲームプログラムの具体例を、以下に図面を参照しながら説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0023】
図1は、本発明の一実施形態によるコンピュータ100の基本構成のブロック図を示す。コンピュータ100は、スマートフォンやタブレット型コンピュータなどのタッチディスプレイを備えるデバイスとするのがよい。本明細書において、「タッチディスプレイ」という用語は、「タッチパネル」および「タッチ・スクリーン」と置き換え可能であることが当業者には理解される。図示されるように、コンピュータ100は、タッチディスプレイ102、処理部108、記憶部110および通信部112を備える。タッチディスプレイ102は、記憶部110に格納された各種データや処理部108により生成された各種画像などを表示するための表示部104を備える。タッチディスプレイ102はまた、表示部104に対し、ユーザの指やスタイラス等の物体による接触操作(主に、タッチ操作、スワイプ操作、スライド操作、フリック操作、ドラッグ操作、およびタップ操作等の物理的接触操作)を検知する接触検知部106を備える。接触検知部106は、タッチディスプレイ102の構造上、液晶パネル、有機EL、プラズマディスプレイ等の表示部104の上層に配置されてもよい。接触検知部106は、圧力検出方式、抵抗膜方式、静電容量方式や電磁誘導方式等を採用することができる。接触検知部106上で指やスタイラス等の物体の接触による入力を受けると、その接触位置における押圧、電気抵抗、電気容量や弾性波のエネルギー等の変化量が検知され、表示部104上の対応する接触位置座標が特定されることになる。
【0024】
処理部108は、プロセッサとして構成されてもよく、本発明の実施形態によるユーザ・インタフェース画像表示プログラム、およびゲームプログラム等のコンピュータ・プログラムを記憶部110等から読み出して、それに従った処理をコンピュータ100に実行させる。処理部108の具体的な構成及び動作については後記する。記憶部110は、ゲームプログラム、ユーザやゲームに関連する各種データ等を一時的又は永続的に格納することができ、処理部108からの命令に応答して、情報の登録、更新、削除等を実行する。記憶部110の例は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶や、ハードディスク、フラッシュメモリ、光ディスク等の補助記憶を含むが、これらに限定されない。通信部112は、インターネット等の通信ネットワークを介して外部のサーバ(図示せず)等との間でゲームに関するデータのやり取りを実行するために使用することができる。
【0025】
図2は、本発明の一実施形態によるコンピュータ100の詳細構成を詳細に示すブロック図である。
図1に関連して説明したように、コンピュータ100は、表示部104および接触検知部106を含むタッチディスプレイ102、処理部108、記憶部110および通信部112を備える。処理部108は、機能ブロックとして、タッチ位置情報取得部201、操作情報決定部202、ドリブル動作実施部203、フリック操作判定部204、キック動作実施部205、およびUI画像生成部206を有する。各コンポーネントによって実行される処理の詳細については後述する。他にも、ゲーム進行時のアニメーションを生成するアニメーション生成部等の基本機能部を含むが図示は省略する。各機能ブロックは、ソフトウェアによって実装され、
図1に示したプロセッサ108がメモリ110に記憶した各プログラムモジュールを読み出して実行することで実現される。
【0026】
図3は、一実施形態のゲームプログラムをサッカーゲームに適用する場合のゲーム画面例である。タッチディスプレイ102には、ゲーム空間として、空間の垂直方向から仮想カメラ(図示せず)で撮像したサッカー・フィールドFDが表示される。また、タッチディスプレイ102の上部には、スコア「1-0」や経過時間「後半01:12」が付加情報として表示される。サッカー・フィールドFDには、ユーザが操作可能な様々なゲーム・オブジェクトが配置される。オブジェクト例には、移動体(サッカー・ボール)MO、自チームの自キャラクタCH11~12、対戦相手チームの相手キャラクタCH21~23、およびゴールGL等が含まれる。各キャラクタには「FW」等のポジションが併せて表示される。ディスプレイ中央では、自キャラクタCH12にボールMBが関連づけられており、自キャラクタCH11の上には▽印の活性マークMKが表示されている。活性マークMKが表示されている自キャラクタCH12は、ユーザのタッチ操作を通じて動作可能である。自キャラクタの動作の例として、ボールに対するドリブルやキック、およびフィールド内移動(ポジショニング)もある。キックには、パス、クリア、センタリング、シュート等の各種動作が含まれる。フィールドFBにわたり、ゲーム空間座標としてフィールド座標が規定される。即ち、配置されるボール、自キャラクタCH11~12、対戦相手チームの相手キャラクタCH21~23、およびゴールGL等の各オブジェクトは座標情報を有する。画面下部に、ユーザによるタッチ操作に応じたユーザ・インタフェース画像(以下、「UI画像」と称する。)が表示される。UI画像は、自キャラクタCH12への動作指令に関連付けられる。一実施形態によれば、UI画像は、スライド操作において、スライド方向をキャラクタのゲーム空間内の移動方向に関連づけ、またスライドの距離をキャラクタの移動速度に関連付けるのがよい。これにより、直感的に優れた操作性をユーザに提供可能なUI画像を提供することができる。
【0027】
本明細書において、「ゲーム・オブジェクト」(単に「オブジェクト」と称することもある。)には、主に、ゲーム空間に配置される移動体(ボール)およびキャラクタが含まれ、それぞれが、共にまたは離れて、ユーザにより動作させられ得る。本明細書において、「スライド」操作という用語は、タッチディスプレイ120上をユーザが指等の物体で接触し(タッチオン)、そのまま位置を変えながら接触を維持し(タッチナウ)、その後に物体を離す(タッチオフ)という一連のタッチ操作を総称したものである。特に、本明細書において、タッチオン後、一定の期間にわたりタッチディスプレイ120上で物体を滑らせる操作のことを「スワイプ」操作と称する。同様に、タッチディスプレイ120上で物体を所定の速度で滑らせた後にタッチオフする操作のことを「フリック」操作と称する。つまり、本明細書において、「スライド」操作の概念は「スワイプ」操作や「フリック」操作の概念を包括するものである。
【0028】
(A)オブジェクトへの動作の全体的処理の概要
図4および
図5に、ゲーム空間内のオブジェクトを動作させる情報処理の全体概要を示す。
図4に、一実施形態による2次元フィールドFD上のオブジェクトの概略動作例を示し、
図5に、当該オブジェクト動作に対応する情報処理のフローチャートを示す。
図4において、自チームのキャラクタCH12が活性化され、ボールと共に(またはボールと離れて)動作される。つまり、(a)の状態では、キャラクタCH12はボールMBと関連づけられている。タッチディスプレイ102上でのユーザによるスワイプ操作に応答して、ボールMBを、キャラクタCH12と共に、2次元フィールドFD上をスライド方向(図では右下方向)に移動させる。即ち、キャラクタCH12の「ドリブル」動作によりボールMBを移動させる。(b)の状態では、タッチディスプレイ上のフリック操作に応答して、キャラクタCH12のボールMBとの関連づけが解除される。即ち、上記「ドリブル」動作が解除される。そして、ボールMBを、キャラクタCH12とは離れて2次元フィールドFD上をフリック方向(図では右方向)に移動させる。即ち、キャラクタCH12に、ボールMBへの「キック」動作によりボールMBのみを移動させる。このように、ユーザは、ボールに対する「ドリブル」から「キック」までの一連の動作を、タッチディスプレイ上のスライド操作を通じて実施可能であり、簡易で直感的なタッチ操作性をユーザに提供することができる。
【0029】
図5のフローチャートにおいて、スライド操作による処理開始時には、所定のユーザ作用または自動的に、キャラクタCH11はボールMBと関連づけられる。情報処理は、タッチオン・フェーズ(S301~S302)、タッチナウ・フェーズ(S303~S307)、およびタッチオフ・フェーズ(S308~S310)の各段階を含む。接触検知部106が所定のフレームレート毎に接触を検知することを通じて、タッチオン、タッチナウおよびタッチオフが判定される。タッチオン・フェーズでは、接触検知部106が最初に接触を検知すると(S301)、タッチ位置情報取得部201はタッチオン状態としてタッチ位置情報を取得し、記憶部110に格納する(S302)。タッチオン状態のタッチ位置情報は、タッチディスプレイ102上のタッチ領域の任意の位置とすることができ、ユーザは好きな位置をタッチすればよい。
【0030】
タッチナウ・フェーズは、ユーザによるスライド操作の内のスワイプ操作状態に相当する。接触検知部106が所定のフレームレート毎(例えば30fbps)に継続して接触を検知する(S303)。すると、タッチ位置情報取得部201は、タッチナウ状態として、タッチ位置情報をフレームレート毎に繰り返し取得する(S304)。特に、取得したタッチナウ状態でのタッチ位置情報の内、最新の所定数のタッチ位置情報が記憶部110に格納される。操作情報決定部202は、格納済みのタッチ位置情報を用いて、各フレームに対応するスワイプ操作情報を決定する(S305)。UI画像生成部206は、フレームレート毎にUI画像を連続的に生成してタッチディスプレイ102に表示する(S306)。ドリブル動作実施部203は、スワイプ操作に応じて、ゲーム空間内のオブジェクトへの動作を、スワイプ操作情報に基づいて実施させる(S307)。
図4(a)の例では、キャラクタCH12に、ボールMBを伴いながらスワイプ方向(図では右下方向)に「ドリブル」動作を実施させる。タッチナウ・フェーズではS304~S307の処理が所定のフレームレート毎に繰り返し実施される。
【0031】
タッチオフ・フェーズでは、接触検知部106が接触を検知しない場合に(S308)、タッチ位置情報取得部201はタッチ位置情報を特定できないことから、タッチオフ状態と判定する。その際、UI画像は消滅される(図示せず)。操作情報決定部202は、格納されたタッチオフの直前の少なくとも1つフレームにおけるタッチ位置情報を用いて、フリック(スライド)操作情報を決定する(S309)。フリック操作判定部204は、フリック操作情報に基づいて、直前の操作がフリック操作であるか、且つその場合のフリック操作種別を判定する(S310)。フリック操作の場合に、キック動作実施部205は、ゲーム空間内のオブジェクトへの動作を、フリック操作情報に基づき実施させる(S311)。
図4(b)の上記例では、キャラクタCH12に、ボールMBへの「キック」動作をさせ、フリック方向にボールMBを移動させる。
【0032】
(B)タッチ位置情報の格納(S302、S304およびS309)
図6(a)および
図6(b)に、上記のS302、S304およびS309において、タッチ位置情報取得部201が取得したタッチ位置情報を格納する際の格納例を示す。スライド操作を通じて、所定数のタッチ位置情報が、所定のフレームレート(例えば、30fbps)毎に記憶部110内の配列テーブルfpに格納される。また、スライド操作毎にその初期位置座標がテーブルに格納される。タッチ位置情報は、タッチディスプレイ120上のタッチ領域のxy位置座標として取得されるのがよい。一般に、ユーザが用いる携帯端末100毎にタッチ領域(タッチディスプレイ120の大きさ)が異なるものとなる。xy位置座標は、例えば、タッチ領域の中心を原点(0,0)とし、縦方向上端が+1.0且つ縦方向下端が-1.0となるように調整し、それに合わせて横方向のタッチ領域範囲を決定するのがよい。一例として、一般的な携帯端末であれば、それを縦持ちする場合の横方向のタッチ領域範囲は、概ね-0.6(左端)から+0.6(右端)となる。タッチ位置情報に基づくことにより、S305でスワイプ操作情報が、S309でフリック操作情報が決定される。
【0033】
図6(a)の格納例では、配列テーブルfpとして、fp[0]からfp[10]までフレームレート毎に11個のタッチ位置情報を格納する記憶領域を設ける。なお、タッチ位置情報の個数は限定的でなく任意の数とすることができる。最初のタッチオン状態では、タッチ領域上でタッチされた時点での位置座標(x0,y0)がfp[0]に格納される。当該タッチオン状態ではfp[1]からfp[10]は未だnull(空)値であるが、タッチナウ状態が進行するにつれて、フレームレート毎に位置座標が順次格納される。例えば、タッチナウ状態1では、fp[1]からfp[5]まで順に5個の位置座標が格納され、タッチナウ状態2では、更にfp[6]からfp[10]まで順に5個の位置座標が格納されている。配列テーブルfpは、11個のデータしか格納しないため、容量が一杯になり次第、古いデータを順次削除する必要がある。なお、スワイプ方向を常に検知できるように、タッチオン座標情報(x0,y0)を初期位置座標として別途保存する。初期位置座標は、タッチオフ状態に至るまでスライド操作を通じて削除されないことが好ましい。
【0034】
タッチナウ状態2から更にタッチナウ状態が進行してその次のタッチオフ判定に至るまで、フレームレート毎の位置座標のデータを用いて再度fp[0]から順次上書きされ古い位置座標のデータが順次削除される。タッチオフ判定は、物理的に位置座標が取得されず、null値が格納される場合に実施される。
図6(a)では、少なくともfp[5]がnull値で上書き更新されたために、タッチオフ判定が実施される。タッチオフと判定された場合には、一連のスライド操作のタッチ位置情報の取得が完了する。タッチオフ判定では、タッチ位置情報が1回のみ取得できない(null値が1つの)場合ではなく、複数のフレームレート単位にわたり連続して取得できない(null値が連続して2つ以上の)場合に、タッチオフを判定するように判定ロジックを構成してもよい。このように構成するのは、スライド操作が複雑なものである場合に、ほんの一瞬指がタッチディスプレイから離れてしまうことが十分に想定されるためである。例えば、サッカーゲームにおける「ドリブル」動作(例えば
図4(a))では、キャラクタの切り返し動作等が頻繁に実施されることになるために、複雑なスライド操作が行われることが想定される。
【0035】
図6(b)に、
図6(a)のタッチオフ判定の結果、(1)タッチオフ判定され、その後再度タッチオン状態となる場合、および(2)タッチオフ判定されずその後もタッチナウ状態3としてタッチナウが継続する場合の2つのパターンの格納例を示す。(1)(2)共に、fp[5]およびfp[6]に、(x16,y16)および(x17,y17)ではなくnull値が格納される。また、次のタッチ位置座標(x18,y18)の入力を受けると、fp[7]に当該(x18,y18)が格納される。その後もフレームレート毎にfp[8]から位置座標が順次格納される(矢印)。一方、(1)の場合は、初期位置座標が新たに(x18,y18)で上書き更新されるのに対し、(2)の場合は、初期位置座標が(x0,y0)として維持される。(2)に限らず、(1)でタッチオフ判定された後においても、配列テーブルfpが初期化されないように構成されるのがよい。つまり、前回スライド操作での直近のタッチ位置情報(x14,y14)や(x15,y15)等を別途の処理で使用可能なようにしておくために、これらの情報を維持しておくのが好ましい。
【0036】
以下に、上記S301~S311の幾らかについて、より詳細に個別説明する。
図7に、S309でのフリック操作情報の決定の詳細を示す。
図8および
図9に、S310でのフリック操作判定の詳細を示す。
図10~
図13に、S311でのオブジェクトへの動作の実施の詳細を示す。
図14~
図16に、S306でのUI画像生成の詳細を示す。
【0037】
(C)フリック操作情報の決定(S309)
図7に、操作情報決定部202によるフリック操作情報の決定の処理(S309)について詳細なフローチャートを示す。タッチオフ状態が特定されると、最初に、これまでのキャラクタとボールの関連づけが解除される(S401)。これにより、キャラクタのボールMBを伴う「ドリブル」動作が解除され、フリック操作に応じた「キック」動作が可能になる(例えば
図4(b))。タッチオフの直前の少なくとも1つフレームにおけるタッチ位置情報が記憶部から抽出される(S402)。抽出されたタッチ位置情報を用いて、フリック操作情報として、スライド方向およびスライド距離が決定される(S403)。
【0038】
上記の
図6(b)の(2)のタッチオフ状態の例では、最新の11個の位置座標を参照することにより、最新の10フレーム分(第1フレームから第10フレーム)のスライド操作情報が決定される。具体的には、タッチオフ直前の第10フレームのフリック操作情報は、fp[3]の(x14,y14)およびfp[4]の(x15,y15)のタッチ位置情報(位置座標)を用いて決定される。更にその直前の第9フレームのフリック操作情報は、fp[2]の(x13,y13)およびfp[3]の(x14,y14)の位置座標を用いて決定される。フリック操作情報として、例えば、xy座標移動方向(即ち、フリック方向)、xy座標移動量(即ち、フリック距離)、およびxy座標移動速度(即ち、座標移動量/フレームレートで計算されるフリック速度)が計算される。フリック操作情報は、直前の連続する2つまたはそれ以上のフレームを用いて計算するのがよい。一例として、フリック方向は、ゲーム空間においてオブジェクトを操作する方向に対応させるように用いるのがよく、また、フリック距離はオブジェクトへの動作のスピードを決定するように用いるのがよい。このように、限定的な個数の位置座標を取得することにより、スライド操作に関する様々な操作パラメータが特定可能である。
【0039】
(D)フリック操作判定およびフリック操作種別判定(S310)
図8および
図9を参照して、フリック操作判定部204によるフリック操作判定およびフリック操作種別判定の処理(S310)について更に説明する。
図8にS310の詳細処理フローを示す。また、
図9に一例のフリック(スライド)操作情報のグラフ例を示す。グラフの横軸は所定のフレームレート単位のフレームFを、縦軸はスライド距離(スワイプ距離またはフリック距離)を示す。第1フレームF[1]でタッチオン状態が検知され、第n-1フレームF[n-1]まで、タッチナウ状態としてスライド(スワイプ)距離がプロットされている。第nフレームF[n]で、タッチ位置情報が特定されないことで、スライド距離が計算不能(N/A)となる。これにより、距離タッチオフが検知されている状況である。
【0040】
S309における直前の少なくとも1つフレームにおけるフリック操作情報の決定に応じて、フリック操作情報の内のスライド距離について、閾値TH1以上かが判定される(S501)。具体的には、直前の第n-1フレームF[n-1]やその更に直前の第n-2フレームF[n-2]でプロットされたスライド(フリック)距離が閾値TH1以上かが判定される。「はい」の場合は、フリック操作が成立したものと判定され、以降の処理を通じてオブジェクトへの動作が実行されることになる。他方、「いいえ」の場合はフリック操作が不成立であると判定され、オブジェクトへの動作は実行されずにスワイプ処理のまま終了する。F[n-1]およびF[n-2]の2つのフリック距離を用いる場合は、何れもが閾値TH1以上である場合に、フリック操作の成立が判定されるのがよい。つまり、F[n-1]の1フレーム分のフリック距離のみが閾値TH1以上であったとしても、フリック操作の成立は判定されない。判定に用いる複数の直前のフレームは、2以上且つ遡ることが可能な数(
図6(a)および
図6(b)の例では10個)までの何れの数としてよい。複数の直前のフレームを用いるのは、直前1つのみのフレームの操作情報しか決定されないタップ操作と区別するためである。なお、フリック距離のみならず、フリック方向についても上記判定で用いたフレームを用いて決定するのがよい。直近のフレームでの方向をフリック方向として決定してもよいし、複数のフレームを判定に用いる場合は、最も古いフレームの方向をフリック方向として決定してもよい。これ以外にも、各フレームの平均の方向を計算してフリック方向として決定してもよい。
【0041】
S501の結果、フリック操作の成立が判定されると、更に、フリック距離に基づいてフリック操作種別が決定される。フリック操作種別には、「強」フリック操作および「弱」フリック操作が含まれる。つまり、フリック距離が更なる閾値T2(>T1)以上であるかが判定される(S502)。「はい」の場合はフリック操作種別が「強」フリック操作に設定され(S503)、「いいえ」の場合はフリック操作種別が「弱」フリック操作に設定される(S504)。連続する複数のフレームのフリック距離を用いる場合は、それらの内の最大値を閾値T2と比較することで判断されるのがよい。即ち、
図8ではF[n-1]のフリック距離が最大値で且つTH2より大きいため、ここではフリック操作種別が「強」フリック操作と設定される。フリック操作種別は、実施されることになる動作が関連付けられる。
【0042】
(E)オブジェクトへの動作の実施(S311)
図10から
図12を参照して、サッカーゲームプログラムにおけるキック動作実施部203によるオブジェクトへの動作(即ち、キャラクタによるボールへの動作)の実施の処理(S311)について更に説明する。
図10に、S311の詳細処理フローを示す。
図11に、特定のアクション種別の決定に関する動作領域(シュート・レンジSR)の概略を示す。
図12にキャラクタ特性を定義するキャラクタ・テーブル200を、
図13にキャラクタによるボールへの動作に関する動作テーブルの一覧300~500をそれぞれ示す。
図12および
図13に示すテーブル群は、携帯端末の通信部112を通じてゲームプログラムと共にゲームサーバからダウンロードすることにより、携帯端末100に反映される。
【0043】
最初にタッチオフ時点におけるゲーム空間内のキャラクタ位置が決定される(S601)。キャラクタ位置が動作領域に含まれるかが判断される(S602)。「はい」の場合は、S403で取得したスライド方向に対応するゲーム空間内の方向について、ゴール方向を向いているかが更に判断される(S603)。「はい」の場合は、フリック操作に対し、フリック方向への「シュート」という特定のアクション種別の動作が関連付けられる(S604)。一方、S602またはS603で「いいえ」の場合は、フリック操作に対し、フリック方向への「キック」というデフォルトのアクション種別の動作が関連付けられる(S605)。フリック操作に対しアクション種別の動作が関連付けられると、アクション種別およびS503,S504で設定済みのフリック操作種別に応じて、実際の動作が実施される(S606)。動作の実施時には、その内容に応じてキャラクタやボールのフリック方向のアクションに関するアニメーションが再生される。
【0044】
フィールドFD上に配置されるキャラクタやボールのような各オブジェクトの位置データはフィールド座標(XY座標)で管理される。S602やS603もXY座標系において判断されるのがよい。XY座標系は、フィールドの中心や自チームのゴールを原点にする等、直交座標系での2次元平面を定義できるのであれば何れでもよい。S602に関連し、
図11のフィールドFDの例では、自キャラクタCH12は、シュート・レンジSR内に含まれるように配置されている。シュート・レンジSRという動作領域では、フリック操作に応じて自キャラクタCH12は「シュート」動作を実施する。シュート・レンジSRはゴール・エリアGAやペナルティ・エリアPAを包含しているが必ずしもこれに限定されない。また、シュート・レンジSRの形状も矩形に限定されない。シュート・レンジSRは、キャラクタ(プレイヤ)の特性に応じて、キャラクタ毎に異なるように構成するのがよい。キャラクタの特性は、一例として、
図12に示されるような、記憶部110内のキャラクタ・テーブル200で管理される。具体的には、キャラクタID、選手名、所属チーム(自チーム/相手チーム)、ポジションのような一般的なキャラクタ情報に加え、一実施形態では、シュート力(例えば、60/100)のようなパラメータもキャラクタ特性として管理するのがよい。つまり、シュート・レンジSRはシュート力に基づいてキャラクタ毎に設定されるのがよい。例えば、ミドルシュートが得意な選手は、シュート力が高く、シュート・レンジSRも広く設定されるのがよい。なお、キャラクタ・テーブル200の項目は例示に過ぎず、これらに限定されない。他にも利き足(右利き/左利き)を管理してシュート・レンジSRの構成に反映させてもよい。S603におけるゴール方向とは、例えば
図11では、自キャラクタCH12の位置に対し、ゴールの左右方向(ゴールポスト方向gd1,gd2(点線))から外側に角度α(実線)を設けて成されるゴール方向領域GDAに向く方向と規定される。
【0045】
S606に関し、フリック操作種別およびアクション種別に応じた動作は、一例として、記憶部110に格納された
図13の動作テーブル群から決定される。テーブル群には、スライド操作・動作テーブル300、フリック操作・動作テーブル400、およびフリック操作・特定動作テーブル500が含まれるが、必ずしもこれに限定されない。
【0046】
スライド操作・動作テーブル300は、スライド操作種別に応じたデフォルトの動作が規定される。フリック操作の場合は「キック」動作が関連づけられる。つまり、フリック操作の場合はデフォルト動作として「キック」動作が決定される。なお、
図5のS307では、スワイプ操作に関連づけられる「ドリブル」動作についても、スライド操作・動作テーブル300を参照することで決定される。フリック操作・動作テーブル400は、フリック操作種別に応じたデフォルトの動作が規定される。フリック操作種別が「強フリック」操作には「高い弾道」が関連づけられ、「弱リック」操作には「低い弾道」が関連づけられる。これらスライド操作・動作テーブル300とフリック操作・動作テーブル400に基づくことにより、例えば
図8のS503でフリック操作種別が「強フリック」操作と設定された場合に、「高い弾道」の「キック」が動作として決定される。同様にS504で「弱リック」操作と設定された場合に、「低い弾道」の「キック」が動作として決定される。加えて、フリック操作・特定動作テーブル500は、対象動作領域に応じた特定のアクション種別が規定される。一例として、シュート・レンジSRには特定アクション種別「シュート」がフリック操作に関連づけられる。自ペナルティ・エリアPA2には特定アクション種別「クリア」がフリック操作に関連づけられる。これ以外にも、例えば相手コーナー・エリアを定義して特定アクション種別として「センタリング」を関連づける等、様々な特定アクション種別が関連づけられ得る。なお、自キャラクタCHがフリック操作・特定動作テーブル500に規定される何れの動作領域にも位置しない場合は、スライド操作・動作テーブル300におけるデフォルト動作である「キック」がそのまま実施される。
【0047】
図13の例では、フリック操作・動作テーブル400での「フリック操作種別」、およびフリック操作・特定動作テーブル500での「特定アクション種別」の内容によって、少なくとも次の6つの動作パターンが想定される。即ち、「高い弾道」の「シュート」動作、「高い弾道」の「クリア」動作、「高い弾道」の「キック」動作、「低い弾道」の「シュート」動作、「低い弾道」の「クリア」動作、「低い弾道」の「キック」動作である。S606ではこれら少なくとも6つの動作パターンの内の1つが、フリック方向に対応する空間内の方向に向けて実施される。なお、上記例は一例にすぎず、必ずしもこれらに限定されない。
【0048】
このように、ユーザのフリック操作に様々な動作を割り当てることができるという意味で、簡易で直感的なタッチ操作性をユーザに提供することができる。また、簡易な操作性を維持しつつ、キャラクタがボールに複雑な動作を実施させることで円滑にゲーム進行が可能となる。
【0049】
(F)UI画像生成処理(S306)
図14および
図15を参照して、UI画像生成部206により、UI画像が生成されタッチディスプレイに表示される処理(S306)について更に説明する。
図14に、一実施形態により生成されるUI画像の概略図を示す。
図15に、タッチオンからタッチオフまでの一連のスライド操作を通じてタッチディスプレイ102に表示されるUI画像の遷移例を示す。
図16に、S306の詳細処理フローを示す。
図14に示されるように、UI画像は、基部BP、先端部TPおよびこれらの間の接続部CPを有する水滴形状の弾性体の画像Iとして形成される。
図15(a)のように、弾性体の初期形状は円形状である。弾性体の形状は、正方形または3角形状から成る複数のポリゴンのセット(メッシュ)によって形成可能であることが当業者に理解される。つまり、各ポリゴンの各頂点座標を所定の数式に代入することにより、弾性体の水滴形状を再現することができる。
図15(a)~(c)のように、一連のスライド操作を通じて、UI画像は、弾性体の基部BPがタッチ開始点に固定され、弾性体の先端部TPが指のタッチ位置に追従するように形成するのがよい。フレームレート毎に、弾性体が弾性変形して伸縮する態様のUI画像が表示される。基部BPから先端部TPまでの長さには、所定の上限値が設けられる。上限値を超える場合は、先端部TPが指の位置から分離されるようにUI画像が表示される。
【0050】
S306のUI画像生成処理では、タッチ位置情報取得部201によってタッチオン状態で取得されるタッチ位置情報(タッチ開始点の座標)が記憶されている。また、タッチ位置情報取得部201によってタッチナウ状態で現在取得しているタッチ位置情報(現在のタッチ点の座標)が都度記憶されている。最初に、タッチ開始点と現在のタッチ点の間の距離dが計算される(S701)。距離dが上限値D以下であるかが判定される(S702)。「はい」の場合(例えば
図15(b))は、弾性体の基部BPが、タッチ開始点に関連づけられる(S703)と共に、弾性体の先端部TPが現在のタッチ点に関連づけられる(S705)。即ち、弾性体の基部BPがタッチ開始点に位置合わせされ、先端部TPが現在のタッチ点に位置合わせされる。そして、基部BPおよび先端部TPが表示され、更にこれらの間を連結部CPで連結するように表示されて、弾性体のUI画像Iが生成される(S707/
図15の(b)(c))。これにより、スライド操作を通じて、現在のタッチ点の変更に伴って弾性体を変形させるような態様でUI画像が表示される。他方、S702で「いいえ」の場合(例えば
図15(d))は、弾性体の基部BPはタッチ開始点に関連づけられる(S704)が、弾性体の先端部TPは、今度は、タッチ開始点から現在のタッチ点に向けて上限値の距離Dだけ離れた点の位置に関連づけられる(S706)。そして、上記同様、弾性体のUI画像Iが生成される(S707)。
図15(d)のように、現在のタッチ点と先端部TPは分離された位置関係となる。基部BPから先端部TPまでの長さに上限値Dを設けるのは、特にサッカーゲームでの「ドリブル」操作(例えば
図4(a))では、複雑なスライド操作によって操作距離が長くなるからである。サッカーではフィールドFD内に多くのプレイヤ・キャラクタが存在する。仮に、操作距離が長い場合であってもそれに追従する弾性体のUI画像を完全に表示すると、ゲーム画面上、プレイヤ・キャラクタがUI画像で覆われ、隠れてしまうためである。
【0051】
図16に戻り、S708でUI画像が生成されると、更に、タッチ開始点と現在のタッチ点の間の距離dに応じて、弾性体のUI画像に視覚上の処理が実施される(S708)。例えば、
図15(b)の状態ではUI画像が白色となるよう色彩処理され、他方で
図15(d)の距離dが上限値Dに達した状態ではUI画像が水色となるよう異なる色彩処理がされる。現在のタッチ点の座標に少なくとも基づいて、現在のスライド操作のスライド方向が決定される(S709)。より詳細には、
図6(a)に示したような連続する直前の2つのタッチ位置座標を少なくとも用いることにより、現在のスライド操作のスライド方向が決定される。決定されたスライド方向に関する指標IND(
図15(b)から(d)の矢印)が先端部TPに関連づけられる。即ち、指標INDが弾性体の先端部TPに位置合わせされて、UI画像と共に表示される(S710)。このように、本発明は、簡易で直感的なタッチ操作性をユーザに提供する。また、簡易な操作性を維持しつつ、ゲーム・オブジェクトへの複雑な動作を実施し、円滑にゲームを進行させることを可能にする。
【0052】
上述した実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。