(57)【要約】【課題】タッチパネルを用いたゲームにおいて、ユーザが実行を指示できるゲーム処理の種類を増やす。【解決手段】ゲーム制御装置（１０）の方向取得手段（１０１）は、タッチパネルがタッチされた状態でタッチ位置が移動した場合に、当該タッチ位置の移動方向を取得する。ゲーム処理実行手段（１０５）は、方向取得手段により取得された移動方向に基づいて、第１のゲーム処理を実行する。検知手段（１０２）は、方向取得手段（１０１）により取得された移動方向について、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したことを検知する。ゲーム処理実行手段（１０５）は、検知手段（１０２）により移動方向の変化が検知された場合に、変化前又は変化後の移動方向に基づいて、第２のゲーム処理を実行する。【選択図】図１０
2018143784.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルがタッチされた状態でタッチ位置が移動した場合に、当該タッチ位置の移動方向を取得する方向取得手段と、
前記方向取得手段により取得された前記移動方向に基づいて、第１のゲーム処理を実行するゲーム処理実行手段と、
前記方向取得手段により取得された前記移動方向について、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したことを検知する検知手段と、
を含み、
前記ゲーム処理実行手段は、前記検知手段により移動方向の変化が検知された場合に、変化前又は変化後の移動方向に基づいて、第２のゲーム処理を実行する、
ことを特徴とするゲーム制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム制御装置、ゲームシステム、及びプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレット型端末などの普及に伴い、タッチパネルを使ったゲームが増加している。例えば、特許文献１には、ユーザがタッチパネルをタッチした場合に仮想的なパッドを表示部に表示させ、ユーザがタッチパネルをタッチしたままタッチ位置を移動させると、タッチ位置の移動方向にキャラクタを移動させるゲーム制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５７１１４０９号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
タッチパネルを用いたゲームでは、複数のボタンやレバーなどを備える物理的なゲームコントローラを使用する場合に比べて、操作のバリエーションが少なくなってしまう。ゲームコントローラの場合、複数のボタンにそれぞれゲーム処理を割り当てることができるため、ボタンの数を多くすることで容易に多種多様な操作を実現することができる。一方、タッチパネルへの操作の場合、タップ操作やスライド操作などに操作が限られるため、多数のボタンを備えるゲームコントローラに比べて多種多様な操作を実現することが難しい。例えば、特許文献１には、ユーザがタッチパネルをタッチしたままタッチ位置を移動させる操作に関する技術が開示されている。しかしながら、特許文献１に記載の技術では、タッチ位置の移動方向にキャラクタを移動させるゲーム処理が実行可能になるだけである。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、タッチパネルを用いたゲームにおいて、ユーザが実行を指示できるゲーム処理の種類を増やすことである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一態様に係るゲーム制御装置は、タッチパネルがタッチされた状態でタッチ位置が移動した場合に、当該タッチ位置の移動方向を取得する方向取得手段と、前記方向取得手段により取得された前記移動方向に基づいて、第１のゲーム処理を実行するゲーム処理実行手段と、前記方向取得手段により取得された前記移動方向について、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したことを検知する検知手段と、を含み、前記ゲーム処理実行手段は、前記検知手段により移動方向の変化が検知された場合に、変化前又は変化後の移動方向に基づいて、第２のゲーム処理を実行する、ことを特徴とする。
【０００７】
本発明の一態様に係るゲームシステムは、タッチパネルがタッチされた状態でタッチ位置が移動した場合に、当該タッチ位置の移動方向を取得する方向取得手段と、前記方向取得手段により取得された前記移動方向に基づいて、第１のゲーム処理を実行するゲーム処理実行手段と、前記方向取得手段により取得された前記移動方向について、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したことを検知する検知手段と、を含み、前記ゲーム処理実行手段は、前記検知手段により移動方向の変化が検知された場合に、変化前又は変化後の移動方向に基づいて、第２のゲーム処理を実行する、ことを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】ゲームシステムの全体構成を示す図である。
【図２】仮想世界の一例を示す図である。
【図３】仮想世界画像の一例を示す図である。
【図４】タッチパネルに設定された複数の領域を示す図である。
【図５】攻撃時における左側領域に対する操作の一例を示す図である。
【図６】攻撃時における右側領域に対する操作の一例を示す図である。
【図７】攻撃時における右側領域に対する操作の一例を示す図である。
【図８】攻撃時における右側領域に対する操作の一例を示す図である。
【図９】攻撃時における右側領域に対する操作の一例を示す図である。
【図１０】ゲーム制御装置で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。
【図１１】ゲーム状況データの一例を示す図である。
【図１２】タッチ状況データの一例を示す図である。
【図１３】タッチ位置の移動方向が変化する様子を示す図である。
【図１４】ゲーム制御装置において実行される処理の一例を示すフロー図である。
【図１５】ゲーム制御装置において実行される処理の一例を示すフロー図である。
【図１６】仮想視点が切り替わる様子を示す図である。
【図１７】仮想視点が背後視点になった場合の仮想世界画像の一例を示す図である。
【図１８】実施形態２の左側領域及び右側領域を示す図である。
【図１９】背後視点における左側領域に対する操作を示す図である。
【図２０】背後視点における右側領域に対する操作を示す図である。
【図２１】実施形態２における機能ブロック図である。
【図２２】実施形態２のゲーム制御装置において実行される処理の一例を示すフロー図である。
【図２３】実施形態２のゲーム制御装置において実行される処理の一例を示すフロー図である。
【図２４】変形例における操作を示す図である。
【図２５】変形例における操作を示す図である。
【図２６】ユーザチームがペナルティキックを獲得した場合の仮想世界画像を示す図である。
【図２７】対戦相手チームがペナルティキックを獲得した場合の仮想世界画像を示す図である。
【発明を実施するための形態】
【０００９】
［１．実施形態１］
以下、本発明に係る実施形態を図面に基づいて説明する。なお、図面において同一又は対応する構成には同一の符号を付し、繰り返しの説明を省略することがある。
【００１０】
［１−１．ゲームシステム及びゲーム制御装置のハードウェア構成］
図１は、ゲームシステムの全体構成を示す図である。図１に示すように、本実施形態に係るゲームシステムＳは、ゲーム制御装置１０と、サーバ３０と、を含む。ゲーム制御装置１０及びサーバ３０は、インターネットなどのネットワークＮに接続される。このため、ゲーム制御装置１０とサーバ３０との間で相互にデータ通信が可能である。
【００１１】
ゲーム制御装置１０は、ユーザが操作するコンピュータである。例えば、ゲーム制御装置１０は、携帯端末（例えば、スマートフォンなどの携帯電話又はタブレット型コンピュータ）、パーソナルコンピュータ、携帯ゲーム機、据置ゲーム機、業務用ゲーム機、又は、情報処理機能を備えた多機能型テレビジョン受像機（スマートテレビ）等である。なお、以下では、タッチパネルを備えた携帯電話がゲーム制御装置１０であり、サーバ３０から供給されるプログラムが携帯電話において実行される場合について説明する。なお、プログラムは、サーバ３０とは異なるサーバや記録媒体等を介して供給されてもよい。
【００１２】
図１に示すように、ゲーム制御装置１０は、制御部１１、記憶部１２、通信部１３、操作部１４、及び表示部１５を含む。制御部１１は、少なくとも１つのマイクロプロセッサを含む。制御部１１は、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部１２は、主記憶部（例えば、ＲＡＭ）及び補助記憶部（例えば、不揮発性の半導体メモリ）を含む。記憶部１２は、プログラムやデータを記憶する。なお例えば、ゲーム制御装置１０がパーソナルコンピュータ等である場合、記憶部１２は、例えばハードディスクドライブ又はソリッドステートドライブ等の補助記憶部を含むようにしてもよい。通信部１３は、ネットワークカードなどの通信インタフェースを含む。通信部１３は、ネットワークＮを介してデータ通信を行う。
【００１３】
操作部１４は、入力デバイスであり、タッチパネル１４Ａを含む。タッチパネル１４Ａは、静電容量方式や抵抗膜方式などの種々の方式のタッチパネルを適用可能である。タッチパネル１４Ａは、タッチ位置を検出する。制御部１１は、タッチパネル１４Ａの検出信号に基づいて、タッチ位置を示す座標情報を取得する。例えば、タッチパネル１４Ａは、表示部１５に重畳するようにして設けられている。即ち、タッチパネル１４Ａは、表示部の上に配置されている。なお、タッチパネル１４Ａと表示部１５は、一体となっていてもよいし、別体であってもよい。
【００１４】
なお、操作部１４は、タッチパネル１４Ａ以外の入力デバイスを含んでもよい。例えば、操作部１４は、ボタン、キー、レバー、ゲームコントローラ（ゲームパッド）、マウスなどのポインティングデバイス、又はキーボード等を含んでもよい。また例えば、操作部１４は、ユーザが音声又はジェスチャによって入力操作を行うためのマイクやカメラを含んでもよい。
【００１５】
表示部１５は、例えば、液晶表示パネル又は有機ＥＬディスプレイ等であり、制御部１１の指示に従って画面を表示する。なお、操作部１４及び表示部１５は、ゲーム制御装置１０に内蔵されていなくともよく、ゲーム制御装置１０に接続された外部装置であってもよい。
【００１６】
サーバ３０は、サーバコンピュータである。図１に示すように、サーバ３０は、制御部３１、記憶部３２、及び通信部３３を含む。制御部３１、記憶部３２、及び通信部３３のハードウェア構成は、それぞれ制御部１１、記憶部１２、及び通信部１３と同様であってよい。例えば、サーバ３０は、ゲームプログラムを記憶しており、ゲーム制御装置１０からの要求に応じてゲームプログラムを配信する。
【００１７】
なお、記憶部１２又は記憶部３２に記憶されるものとして説明するプログラムやデータは、例えば、ネットワークＮを介してゲーム制御装置１０又はサーバ３０に供給されるようにしてもよい。また、ゲーム制御装置１０又はサーバ３０は、情報記憶媒体（例えば、光ディスク又はメモリカード等）に記憶されたプログラム又はデータを読み取るための読取部（例えば、光ディスクドライブ又はメモリカードスロット）を含むようにしてもよい。そして、情報記憶媒体を介してゲーム制御装置１０又はサーバ３０にプログラムやデータが供給されるようにしてもよい。
【００１８】
［１−２．ゲームの概要］
ゲーム制御装置１０では、タッチパネル１４Ａを使ったゲームが実行される。タッチパネル１４Ａを使ったゲームでは、例えば、ユーザは、タッチパネル１４Ａにタッチして操作を行う。タッチとは、例えば、タッチパネル１４Ａに物体が触れることである。物体は、例えば、ユーザの指などの部位であってもよいし、タッチペンなどのユーザ以外の物体であってもよい。
【００１９】
ユーザは、タッチパネル１４Ａにタッチした状態でタッチ位置を移動させてもよい。タッチ位置とは、例えば、物体が触れているタッチパネル１４Ａ上の位置であり、タッチパネル１４Ａが検出した座標である。タッチ位置は、例えば、フレームレートに基づいて定まる時間ごとに取得される。タッチ位置は、毎フレーム取得されるようにしてもよいし、所定フレームが経過するごとに取得されるようにしてもよい。例えば、なお、タッチパネル１４Ａにタッチした物体がタッチパネル１４Ａから離れることを、本実施形態ではタッチを解除するという。
【００２０】
ゲーム制御装置１０では、例えば、スポーツゲーム、アクションゲーム、又はロールプレイングゲームなどの種々のタイプのゲームを実行可能であるが、本実施形態では、ユーザオブジェクトと対戦相手オブジェクトとが仮想世界で対戦するゲームを実行する。
【００２１】
オブジェクトとは、例えば、ゲームにおいて、使用され得る対象である。例えば、オブジェクトは、仮想世界に配置される仮想的な移動体である。例えば、オブジェクトは、仮想世界が３次元であれば３次元モデル（３Ｄオブジェクト）であり、仮想世界が２次元であれば画像に示された物体である。例えば、移動物体（ボール又はパック）、キャラクタ、又は乗り物（例えば、飛行機や戦車）等が「オブジェクト」の一例に相当する。さらに、スポーツゲームの場合、キャラクタの一例は、選手キャラクタである。
【００２２】
ユーザオブジェクトとは、例えば、ユーザがゲームで使用するオブジェクトであり、いわゆるプレイヤキャラクタ（ユーザの操作対象）である。例えば、ユーザオブジェクトは、ユーザの指示に基づいて動作するオブジェクトである。例えば、ユーザオブジェクトは、ユーザの指示に関連付けられた種類の動作をする。例えば、ユーザオブジェクトは、ユーザが指示した方向に移動したり、ユーザが指示した行動をしたりする。また例えば、ユーザオブジェクトは、ユーザの操作対象とともに戦うオブジェクトであってもよい。この場合、ユーザオブジェクトは、所定のアルゴリズムに基づいて動作する。
【００２３】
対戦相手オブジェクトとは、例えば、対戦相手がゲームで使用するゲームオブジェクトであり、いわゆるノンプレイヤキャラクタである。対戦相手は、例えば、コンピュータ（ＣＰＵ）であってもよいし、他のユーザであってもよい。例えば、対戦相手オブジェクトは、所定のアルゴリズムに基づいて動作してもよいし、他のユーザの操作に基づいて動作してもよい。なお、アルゴリズムは、オブジェクトの動作を決定するための計算の手順（移動方向や移動速度等を決めるための数式や条件式等の集合体）を示すものである。
【００２４】
仮想世界とは、ゲームの中の世界であり、例えば、ゲームの中の競技場等である。仮想世界は、３次元的な空間であってもよいし、２次元的な平面であってもよい。また、仮想世界は、仮想空間といってもよいし、ゲーム空間といってもよい。
【００２５】
本実施形態では、オブジェクトの一例としてキャラクタを説明する。このため、以降では、ユーザオブジェクトをユーザキャラクタと記載し、対戦相手オブジェクトを対戦相手キャラクタと記載する。以降の説明で「キャラクタ」と記載した箇所については、「オブジェクト」と読み替えることができる。また、ゲームの一例として、ユーザキャラクタと対戦相手キャラクタとが仮想世界でスポーツの試合をするスポーツゲームが実行される場合を説明する。更に、スポーツゲームの一例として、サッカーゲームを説明する。例えば、ユーザチームに所属する複数のユーザキャラクタと、対戦相手チームに所属する複数の対戦相手キャラクタと、が仮想世界でサッカーの試合をするゲームが実行される。
【００２６】
図２は、仮想世界の一例を示す図である。図２に示すように、仮想世界ＶＷは、例えば、３次元空間における仮想的なサッカー場を示す。仮想世界ＶＷには、所定の位置を原点Ｏｗとし、互いに直交するＸｗ軸、Ｙｗ軸、及びＺｗ軸（ワールド座標系の座標軸）が設定される。仮想世界ＶＷにおける位置は、ワールド座標系の座標値により特定される。
【００２７】
図２に示すように、仮想世界ＶＷには、Ｘｗ−Ｙｗ平面と平行になるようにピッチの３ＤモデルであるピッチＰＴが配置される。ピッチＰＴには、例えば、タッチラインＴＬ、ゴールラインＥＬ、ハーフウェーラインＨＬ、及びペナルティエリアＰＡが描かれている。また例えば、ピッチＰＴ上には、ユーザキャラクタＵＣ、対戦相手キャラクタＯＣ、ボールの３ＤモデルであるボールＢ、及び、ゴールの３ＤモデルであるゴールＧＬが配置される。
【００２８】
仮想世界ＶＷには、仮想視点ＶＣが設定される。仮想視点ＶＣは、仮想世界ＶＷに設定される視点であり、例えば、仮想カメラである。仮想視点ＶＣの位置及び視線方向は、固定されていてもよいが、本実施形態では、ユーザの操作対象のユーザキャラクタＵＣ及びボールＢＬの少なくとも一方が視野内に含まれるように制御されるものとする。ゲームが開始すると、仮想視点ＶＣから仮想世界ＶＷを見た様子を示す仮想世界画像が表示部１５に表示される。
【００２９】
図３は、仮想世界画像の一例を示す図である。図３に示すように、仮想世界画像Ｇ１には、仮想世界ＶＷのうち、仮想視点ＶＣの視野内の様子が座標変換されることで表示される。なお、表示部１５の表示領域には、所定の位置（例えば、表示領域の左上）を原点Ｏｓとし、互いに直交するＸｓ軸及びＹｓ軸（スクリーン座標系の座標軸）が設定される。表示領域とは、例えば、表示部１５の画面全体のことである。表示領域上の位置は、スクリーン座標系の座標値により特定される。
【００３０】
例えば、表示領域の右端部のＸｓ座標値をＸＭＡＸと記載し、表示領域のした端部Ｙｓ座標値をＹＭＡＸと記載する。本実施形態では、横幅が縦幅よりも長い状態（ゲーム制御装置１０を横持ちにした状態）でゲームがプレイされる場合を説明するが、これとは逆に、縦幅が横幅よりも長い状態（ゲーム制御装置１０を縦持ちにした状態）でゲームがプレイされてもよい。本実施形態では、タッチパネル１４Ａが検出したタッチ位置もスクリーン座標系の座標値によって示されるものとするが、タッチ位置は、別の座標軸の座標値で示されてもよい。
【００３１】
ユーザは、仮想世界画像Ｇ１を見ながらタッチパネル１４Ａを操作してゲームをプレイする。例えば、ユーザの操作対象に設定されたユーザキャラクタＵＣの足元には、操作対象であることを識別するためのカーソルＣが表示される。ユーザは、タッチパネル１４Ａから種々の操作をすることができてよいが、本実施形態では、タッチパネル１４Ａ上の領域が複数の操作領域に分けられている。操作領域ごとに別個の操作体系が定義されており、ユーザは、タッチした操作領域に応じた操作をする。
【００３２】
図４は、タッチパネル１４Ａに設定された複数の領域を示す図である。図４に示すように、本実施形態では、タッチパネル１４Ａの中央を境に、左側領域ＬＡと右側領域ＲＡとが設定されている。例えば、左側領域ＬＡは、ＸＳ座標がＸＭＡＸ／２未満の領域であり、右側領域ＲＡは、ＸＳ座標がＸＭＡＸ／２以上の領域である。例えば、左側領域ＬＡは、主に、ユーザキャラクタＵＣの移動を指示するために用いられる。また例えば、右側領域ＲＡは、主に、ボールＢの移動を指示するために用いられる。
【００３３】
なお、ここでは、タッチパネル１４Ａの中央が操作領域の境界となっているが、操作領域の境界は任意の場所に設定されてよい。また、左側領域ＬＡと右側領域ＲＡの２つが設定される場合を説明するが、タッチパネル１４Ａ上に設定される操作領域の数は、２つに限られず、３つ以上であってもよい。
【００３４】
本実施形態では、攻撃時と守備時とで左側領域ＬＡ及び右側領域ＲＡに対する操作体系が異なるようになっている。攻撃時とは、例えば、ユーザチームがボールＢを保有している状態である。守備時とは、例えば、対戦相手チームがボールＢを保有している状態である。なお、ボールＢを誰も保有していない状態は、攻撃時に分類されてもよいし、守備時に分類されてもよい。また、ユーザチームがボールＢを保有している場合であっても、ボールＢが自陣にある場合には、守備時に分類されてもよい。なお、自陣とは、ピッチＰＴのうちハーフウェーラインＨＬよりもユーザチームのゴールＧＬ側である。
【００３５】
まず、攻撃時の操作体系を説明する。本実施形態では、攻撃時において、ボールＢを保有するユーザキャラクタＵＣが操作対象に設定される。このため、攻撃時においては、ユーザは、ボールＢを保有するユーザキャラクタＵＣの動作を指示することになる。
【００３６】
図５は、攻撃時における左側領域ＬＡに対する操作の一例を示す図である。なお、ここでは説明の簡略化のために、仮想世界画像Ｇ１は省略する。図５に示すように、例えば、ユーザが左側領域ＬＡに対してスライド操作をすると、ユーザキャラクタＵＣがスライド方向にドリブルする。スライド操作は、例えば、ユーザがタッチパネル１４Ａをタッチした後に、タッチを維持したままタッチ位置を移動させ、移動後においてもタッチを維持する操作である。例えば、タッチが開始されたタッチ位置を起点とし、起点から現在のタッチ位置に向けた方向がスライド方向となる。なお、現在のタッチ位置が起点のタッチ位置から離れた場合は、現在のタッチ位置に近づくように起点が更新されてもよい。
【００３７】
図６〜図９は、攻撃時における右側領域ＲＡに対する操作の一例を示す図である。図６に示すように、例えば、ユーザが右側領域ＲＡに対してフリック操作をすると、ユーザキャラクタＵＣがフリック方向にグラウンダーパスをする。フリック操作は、例えば、ユーザがタッチパネル１４Ａをタッチした後に、タッチを維持したまま素早くタッチ位置を移動させてタッチを解除する操作である。グラウンダーパスは、例えば、味方に対して低い軌道で行うパスである。ユーザキャラクタＵＣがグラウンダーパスをすると、例えば、ボールＢは、ピッチＰＴ上を転がるように、受け手に向かって移動する。
【００３８】
図７に示すように、例えば、ユーザが右側領域ＲＡに対してスワイプ操作をした後にタッチ位置を停止させると、ユーザキャラクタＵＣがスワイプ方向にグラウンダースルーパスをする。スワイプ操作は、例えば、タッチパネル１４Ａ上をタッチした後に、タッチを維持したまま、タッチ位置を一定方向に移動させる操作である。スワイプ操作は、先述したスライド操作と似ているが、スライド操作は、ユーザが指示する方向をタッチ中に変更できるのに対し、スワイプ操作は、原則として、ユーザが指示する方向をタッチ中に変更しない点で異なる。なお、以降では、図７に示す操作を、スワイプ止め操作という。グラウンダースルーパスは、例えば、味方の前方にあるスペースに対して低い軌道で行うパスである。ユーザキャラクタＵＣがグラウンダースルーパスをすると、例えば、ボールＢは、敵の合間をぬってピッチＰＴ上を転がるように、受け手の前方スペースに向かって移動する。
【００３９】
図８に示すように、例えば、ユーザが右側領域ＲＡに対して、パスしたい方向とは逆方向に少し引いた後に、パスしたい方向に対してフリック操作をすると、ユーザキャラクタＵＣがフライパスをする。フライパスは、例えば、味方に対して高い軌道で行うパスである。ユーザキャラクタＵＣがフライパスをすると、例えば、ボールＢは、高く浮き上がるように、受け手に向かって移動する。なお、以降では、図８に示す操作を、引きフリック操作という。
【００４０】
図９に示すように、例えば、ユーザが右側領域ＲＡに対して、パスしたい方向とは逆方向に少し引いた後に、パスしたい方向に対してスワイプ操作をしてタッチ位置を停止させると、ユーザキャラクタＵＣがスワイプ方向にフライスルーパスをする。フライスルーパスは、例えば、味方の前方にあるスペースに対して高い軌道で行うパスである。ユーザキャラクタＵＣがフライスルーパスをすると、例えば、ボールＢは、高く浮き上がるように、敵の頭上を通って受け手の前方スペースに向かって移動する。なお、以降では、図９に示す操作を、引きスワイプ止め操作という。
【００４１】
なお、上記説明したグラウンダーパス、グラウンダースルーパス、フライパス、及びフライスルーパスの軌道は、キッカーの能力によって決まるようにしてよい。例えば、キッカーの能力によって、理想的な軌道からのずれが決まってもよい。キッカーの能力の一例として、グラウンダーパスの精度を示すパラメータと、フライパスの精度を示すパラメータと、があるようにしてよい。また、左側領域ＬＡ及び右側領域ＲＡに対する操作は、上記の例に限られない。例えば、ユーザが左側領域ＬＡに対してフリック操作をすると、ユーザキャラクタＵＣがフリック方向にフェイントしてもよい。また例えば、ユーザが左側領域ＬＡに対してタップ操作をすると、ユーザキャラクタＵＣがドリブルを停止してもよい。タップ操作は、例えば、タッチパネル１４Ａ上をタッチした後に、すぐにタッチを解除する操作である。また例えば、ユーザが右側領域ＲＡに対してダブルタップ操作をすると、ユーザキャラクタＵＣがシュートしてもよい。ダブルタップ操作は、例えば、タップ操作を２回続けて行う操作である。また例えば、ボールＢがタッチラインＴＬ及び対戦相手チームのゴールラインＥＬ付近にある場合に、ユーザが引きフリック操作又は引きスワイプ止め操作をすると、ユーザキャラクタＵＣがセンタリング動作をしてもよい。
【００４２】
また例えば、左側領域ＬＡに対する操作と、右側領域ＲＡに対する操作と、の組み合わせによってユーザキャラクタＵＣが動作してもよい。例えば、ユーザが左側領域ＬＡに対してスライド操作をしている間に、右側領域ＲＡに対するタッチを維持する長押し操作をすると、ユーザキャラクタＵＣが、通常のドリブルよりも速いダッシュドリブルをしてもよい。また例えば、ユーザが左側領域ＬＡに対してフリック操作をしている間に、右側領域ＲＡに対して長押し操作をすると、ユーザキャラクタＵＣが、ダッシュドリブルよりも速いバーストドリブルをしてもよい。また例えば、ユーザが右側領域ＲＡに対して図６〜図９の何れかの操作をした後すぐに左側領域ＬＡに対してフリック操作をすると、ユーザキャラクタＵＣがパスをした後すぐに走り出すようにしてもよい。
【００４３】
なお、上記では、攻撃時の操作を例に挙げたが、守備時でも、左側領域ＬＡ及び右側領域ＲＡの各々に対する操作が行われるようにしてよい。守備時においては、ボールを保有する対戦相手キャラクタＯＣの最も近くにいるユーザキャラクタＵＣが操作対象に設定されるようにしてよいが、ユーザが操作対象を自由に切り替えることができてもよい。
【００４４】
例えば、ユーザが左側領域ＬＡに対してスライド操作をすると、ユーザキャラクタＵＣがスライド方向に移動する。また例えば、ユーザが左側領域ＬＡに対してスライド操作をしている間に、右側領域ＲＡに対して長押し操作をすると、ユーザキャラクタＵＣが、ダッシュ移動し、対戦相手キャラクタにプレスをかける。また例えば、ユーザが右側領域ＲＡに対してフリック操作をすると、ユーザキャラクタＵＣがフリック方向にスライディングする。
【００４５】
また例えば、ユーザキャラクタＵＣが自陣においてボールＢを保有している場合、ユーザが左側領域ＬＡに対してスライド操作をしている間に、右側領域ＲＡに対してダブルタップ操作をすると、ユーザキャラクタＵＣがクリアする。また例えば、ユーザが右側領域ＲＡに対してタップ操作をすると、操作対象となるユーザキャラクタＵＣが切り替わる。また例えば、ユーザが右側領域ＲＡに対してスワイプ止め操作をすると、ユーザキャラクタＵＣがスワイプ方向にプレスをする。
【００４６】
上記のように、本実施形態では、タッチパネル１４Ａを利用して種々の操作が可能になっており、特に、引きフリック操作及び引きスワイプ止め操作のように従来にない操作が可能になっている。これにより、タッチパネル１４Ａを用いたゲームにおいて、ユーザが実行を指示できるゲーム処理の種類を増やすことができる。以降、この処理の詳細を説明する。なお、以降では、特に図面を参照する必要のないときは、ユーザキャラクタやボールなどの符号を省略する。
【００４７】
［１−３．ゲーム制御装置において実現される機能］
図１０は、ゲーム制御装置１０で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。本実施形態では、ゲーム制御装置１０において、データ記憶部１００、方向取得部１０１、検知部１０２、速度取得部１０３、速度判定部１０４、及びゲーム処理実行部１０５が実現される。
【００４８】
［１−３−１．データ記憶部］
データ記憶部１００は、記憶部１２を主として実現される。データ記憶部１００は、ゲームを実行するために必要なデータを記憶する。ここでは、データ記憶部１００が記憶するデータの一例として、ゲーム状況データＤＴ１及びタッチ状況データＤＴ２を説明する。
【００４９】
図１１は、ゲーム状況データＤＴ１の一例を示す図である。図１１に示すように、ゲーム状況データＤＴ１は、実行中のゲームの状況を示すデータである。図１１に示すように、ゲーム状況データＤＴ１には、例えば、仮想空間の状況及び試合の戦況等が格納される。例えば、現在の仮想空間の状況としては、各キャラクタの状態、ボールの状態、及び仮想視点の状態が格納される。ゲーム状況データＤＴ１は、ゲームの実行中に適宜更新され、その履歴がデータ記憶部１００に蓄積されるようにしてもよい。
【００５０】
例えば、キャラクタの状態としては、ユーザキャラクタ及び対戦相手キャラクタの各々を一意に識別するキャラクタＩＤに関連付けて、位置、向き、姿勢、及び移動方向等が格納される。なお、操作対象に設定されたユーザキャラクタを識別する操作対象フラグが、ゲーム状況データＤＴ１に格納されてもよい。また例えば、ボールの状態としては、ボールの位置、移動方向、移動速度、及びボールを保有する保有キャラクタ等が格納される。また例えば、仮想視点の状態としては、仮想視点の位置、視線方向、画角などの情報が格納されていてもよい。試合の戦況としては、ユーザチームの得点、対戦相手チームの得点、及び試合の経過時間等が格納される。
【００５１】
図１２は、タッチ状況データＤＴ２の一例を示す図である。図１２に示すように、タッチ状況データＤＴ２は、ユーザがタッチパネル１４Ａから行った操作の履歴を示すデータである。図１２に示すように、タッチ状況データＤＴ２には、例えば、タッチ位置の履歴、ベース位置、パス入力開始フラグ、及び引き操作フラグが格納される。タッチ位置の履歴としては、例えば、試合開始から現時点までのタッチ位置の履歴が格納されてもよいし、タッチが開始されてから解除されるまでの間だけのタッチ位置の履歴が格納されてもよい。ベース位置は、ボールの移動方向を決めるための基準となるタッチ位置であり、例えば、タッチ開始後の任意のタッチ位置が格納されてよい。
【００５２】
パス入力開始フラグは、右側領域ＲＡに対してパスをするため操作入力が開始されたかを識別する情報であり、例えば、フラグがオンである場合には、パスをするための操作入力が開始されたことを示し、フラグがオフである場合には、パスをするための操作入力が開始されていないことを示す。後述するように、本実施形態では、タッチ位置の移動速度が基準速度以上になった場合に、パス入力開始フラグがオンになる。
【００５３】
引き操作フラグは、引きフリック操作又は引きスワイプ止め操作の入力中であるかを識別する情報であり、例えば、フラグがオンである場合には、引きフリック操作又は引きスワイプ止め操作の実行中であることを示し、フラグがオフである場合には、引きフリック操作又は引きスワイプ止め操作の実行中ではないことを示す。後述するように、本実施形態では、パス入力開始フラグがオンになった場合のタッチ位置の移動方向と、その後のタッチ位置の移動方向と、のなす角度が基準角度以上になった場合に、引き操作フラグがオンになる。
【００５４】
なお、データ記憶部１００に記憶されるデータは、上記の例に限られない。データ記憶部１００は、ゲームを実行するために必要なデータを記憶すればよく、例えば、キャラクタが動作を定義したモーションデータを記憶してもよいし、操作内容とキャラクタの動作との関係を示すデータを記憶してもよい。また例えば、データ記憶部１００は、左側領域ＬＡと右側領域ＲＡを識別するデータ（例えば、境界や端部などの位置を示す座標データ）を記憶してもよい。
【００５５】
［１−３−２．方向取得部］
方向取得部１０１は、制御部１１を主として実現される。方向取得部１０１は、タッチパネルがタッチされた状態でタッチ位置が移動した場合に、当該タッチ位置の移動方向を取得する。移動方向とは、例えば、タッチ位置が変化した方向である。例えば、移動方向は、ある時点におけるタッチ位置と、当該時点よりも後の時点におけるタッチ位置と、を結ぶベクトルである。移動方向は、任意のタイミングで取得されてよいが、例えば、フレームレートに基づいて定まる時間ごとに取得されるようにしてよい。この場合、移動方向は、毎フレーム取得されるようにしてもよいし、所定フレームが経過するごとに取得されるようにしてもよい。
【００５６】
例えば、方向取得部１０１は、タッチ状況データＤＴ２に格納されたタッチ位置の履歴に基づいて、タッチ位置の移動方向を取得する。例えば、方向取得部１０１は、ある時点（例えば、現フレーム）におけるタッチ位置と、それよりも前の時点（例えば、１つ前のフレーム）におけるタッチ位置と、に基づいて、タッチ位置の移動方向を取得する。例えば、方向取得部１０１は、これら２つのタッチ位置を結ぶベクトルを移動方向として取得する。なお、移動方向は、複数の時点の各々におけるタッチ位置の位置関係に基づいて取得されるようにすればよく、これらの時点は何フレーム分ずれていてもよい。
【００５７】
［１−３−３．検知部］
検知部１０２は、制御部１１を主として実現される。検知部１０２は、方向取得部１０１により取得された移動方向について、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したことを検知する。
【００５８】
所定のタイミングとは、例えば、タッチ開始後の任意の時点である。例えば、所定のタイミングは、タッチが開始されてから、タッチが解除される前又はタッチ位置の移動が停止若しくは略停止する前までの間の任意のタイミングである。また例えば、所定のタイミングは、検知部１０２が毎フレーム判定処理を実行する場合には、現時点の所定時間前の時点における移動方向である。本実施形態では、タッチ位置の移動速度が基準速度以上になったタイミングが、所定のタイミングに相当する場合を説明する。
【００５９】
なす角度とは、例えば、２つのベクトルの交差角である。所定角度とは、予め定められた角度であってよく、例えば、９０°である。任意の移動方向とは、所定のタイミングでの移動方向とのなす角度が所定角度以上となる方向であればどの方向でもよいという意味である。
【００６０】
図１３は、タッチ位置の移動方向が変化する様子を示す図である。図１３に示すように、ある時点ｔ０におけるタッチ位置をＰ０とし、それよりも後の時点ｔ１におけるタッチ位置をＰ１とし、更に後の時点ｔ２におけるタッチ位置をＰ２とする。そして、時点ｔ０〜ｔ１におけるタッチ位置の移動方向をＶ０１とし、時点ｔ１〜ｔ２におけるタッチ位置の移動方向をＶ１２とする。検知部１０２は、移動方向Ｖ０１とＶ１２の内積を取ることで、これらのなす角度θを取得する。検知部１０２は、取得した角度θが所定角度以上であるかを判定する。本実施形態では、移動方向Ｖ０１は、後述する速度判定部１０４によりタッチ位置の移動速度が基準速度以上であると判定された場合の移動方向である。移動方向Ｖ１２は、方向取得部１０１が毎フレーム取得する移動方向であってよい。
【００６１】
［１−３−４．速度取得部］
速度取得部１０３は、制御部１１を主として実現される。速度取得部１０３は、タッチパネル１４Ａがタッチされた状態でタッチ位置が移動した場合に、タッチ位置の移動速度を取得する。移動速度とは、例えば、単位時間（例えば、所定フレーム）あたりの移動速度である。例えば、方向取得部１０１は、タッチ状況データＤＴ２に格納されたタッチ位置の履歴に基づいて、タッチ位置の移動速度を取得する。
【００６２】
例えば、方向取得部１０１は、ある時点（例えば、現フレーム）におけるタッチ位置と、それよりも前の時点（例えば、１つ前のフレーム）におけるタッチ位置と、の距離に基づいて、タッチ位置の移動速度を取得する。例えば、方向取得部１０１は、これら２つのタッチ位置の距離をそのまま移動速度としてもよいし、２つのタッチ位置の各々の時間間隔で当該距離を割った値を移動速度としてもよい。
【００６３】
［１−３−５．速度判定部］
速度判定部１０４は、制御部１１を主として実現される。速度判定部１０４は、速度取得部１０３により取得された移動速度が基準速度以上であるかを判定する。基準速度は、予め定められた速度であればよい。なお、先述したように、本実施形態では、方向取得部１０１が移動方向を取得する所定のタイミングは、速度判定部１０４により移動速度が基準速度以上であると判定された場合の移動方向である。
【００６４】
［１−３−６．ゲーム処理実行部］
ゲーム処理実行部１０５は、制御部１１を主として実現される。ゲーム処理実行部１０５は、方向取得部１０１により取得された移動方向に基づいて、第１のゲーム処理を実行する。また、ゲーム処理実行部１０５は、検知部１０２により移動方向の変化が検知された場合に、変化前又は変化後の移動方向に基づいて、第２のゲーム処理を実行する。
【００６５】
ゲーム処理とは、例えば、ユーザの操作に応じて実行される処理である。例えば、操作内容と、ゲーム処理の種類と、が予め関連付けられている。例えば、ゲーム処理は、タッチ位置の移動方向によって結果の変わる処理であってよい。また例えば、移動方向に移動物体を移動させる処理であってよい。なお、本実施形態では、ボールが移動物体の一例である場合を説明するが、移動物体は、仮想世界に配置されたオブジェクトであればよく、例えば、キャラクタであってもよい。
【００６６】
第１のゲーム処理と第２のゲーム処理とは、例えば、互いに種類が異なるゲーム処理であればよい。即ち、第１のゲーム処理と第２のゲーム処理とは、例えば、ゲーム処理の結果が異なるものであればよい。本実施形態では、第１のゲーム処理及び第２のゲーム処理の各々は、仮想世界において操作対象が移動物体を移動させる処理であり、その内容が異なる処理である場合を説明する。
【００６７】
例えば、第１のゲーム処理は、方向取得部１０１により取得された移動方向に基づいて、仮想世界においてボールを移動させる処理である。また例えば、第２のゲーム処理は、第１のゲーム処理とは異なる移動のさせ方で、仮想世界においてボールを移動させる処理である。移動のさせ方とは、ボールの軌道、速度、又は回転である。軌道は、例えば、ボールが通る軌跡であり、水平方向及び垂直方向の位置変化の履歴である。回転は、例えば、回転方向又は回転量である。例えば、本実施形態のように、ゲーム処理がボールを移動させる処理である場合、第１のゲーム処理と第２のゲーム処理とではボールの移動のさせ方が異なる処理となる。
【００６８】
第１のゲーム処理及び第２のゲーム処理の意味は上記の通りであるが、本実施形態では、第１のゲーム処理がグラウンダーパス又はグラウンダースルーパスであり、第２のゲーム処理がフライパスである場合を一例に挙げて説明する。先述した通り、グラウンダーパス又はグラウンダースルーパスとフライパスとは、少なくとも軌道が異なるパスである。
【００６９】
なお、上述した変化前とは、例えば、移動方向が変化した時点、又は、それよりも前の時点である。例えば、タッチが開始された直後であってもよいし、上記所定のタイミングであってもよい。変化後とは、例えば、移動方向が変化した時点、又は、それよりも後の時点である。例えば、タッチが解除された直前であってもよいし、タッチが停止又は略停止する直前であってもよい。本実施形態では、ゲーム処理実行部は、変化後の移動方向に基づいてゲーム処理を実行する。
【００７０】
例えば、本実施形態では、引きフリック操作を検知可能なので、ゲーム処理実行部１０５は、検知部１０２により移動方向の変化が検知された場合に、タッチパネル１４Ａへのタッチが解除されたことに応じて、フライパスを実行する。即ち、ゲーム処理実行部１０５は、引きフリック操作においてタッチが解除されたことをトリガーにして、フライパスを実行する。
【００７１】
また例えば、ゲーム処理実行部１０５は、検知部１０２により移動方向の変化が検知された場合に、変化後の移動方向の起点となるタッチ位置と、タッチパネル１４Ａへのタッチが解除された場合のタッチ位置と、の距離に基づいて、フライパスを実行するようにしてよい。起点とは、例えば、タッチ位置の移動方向が変化した場合の始点であり、移動方向が切り替わった位置であってよい。例えば、ゲーム処理実行部１０５は、当該距離が短いほどキックの強さを弱くし、当該距離が長いほどキックの強さを強くする。キックの強さが弱いと、ボールの速度が遅くなり移動距離も短くなる。キックの強さが強いと、ボールの速度が速くなり移動距離が長くなる。例えば、ゲーム処理実行部１０５は、キックの強さに基づいて、ボールの目標位置を決定する。
【００７２】
また例えば、本実施形態では、引きスワイプ止め操作が可能なので、ゲーム処理実行部１０５は、検知部１０２により移動方向の変化が検知された場合に、タッチ位置の移動が停止又は略停止したことに応じて、第３のゲーム処理を実行する。ゲーム処理の意味は先述した通りであり、第３のゲーム処理は、第１のゲーム処理及び第２のゲーム処理と異なる処理であればよい。本実施形態では、第３の処理がフライスルーパスである場合を説明する。先述したように、フライスルーパスは、少なくともボールの軌道が他のパスとは異なる。
【００７３】
停止とは、例えば、所定フレームが経過してもタッチ位置が変わらないことである。略停止とは、例えば、所定フレームにおけるタッチ位置の変化量が閾値未満となることである。ゲーム処理実行部１０５は、引きフリック操作においてタッチが停止又は略停止されたことをトリガーにして、フライスルーパスを実行する。
【００７４】
例えば、ゲーム処理実行部１０５は、検知部１０２により移動方向の変化が検知された場合に、変化後の移動方向の起点となるタッチ位置と、当該タッチ位置が移動した後、停止又は略停止した場合のタッチ位置と、の距離に基づいて、フライスルーパスを実行する。起点の意味は先述した通りであり、ゲーム処理実行部１０５は、当該距離が短いほどキックの強さを弱くし、当該距離が長いほどキックの強さを強くする。ゲーム処理実行部１０５は、キックの強さに基づいて、ボールの目標位置を決定する。
【００７５】
なお、上記説明した各種パスなどのゲーム処理は、任意のタイミングで実行可能であってよいが、本実施形態では、ゲーム処理実行部１０５は、操作対象がボールを保持している間、又は、操作対象がボールに触れる前において取得された移動方向に基づいて、ゲーム処理を実行するものとする。操作対象がボールを保持している間とは、例えば、操作対象の付近にボールがあり、操作対象がボールの移動を支配している状況である。本実施形態では、保有フラグが操作対象に関連付けられている間である。また、操作対象がボールに触れる前の期間とは、例えば、操作対象がボールに触れる時点の所定時間前から当該時点までの期間である。
【００７６】
また例えば、ゲーム処理実行部１０５は、操作対象がボールを保持している間、又は、操作対象がボールに触れる前の期間内において取得された移動方向に基づいて、上記説明した第１のゲーム処理を実行するようにしてよい。また例えば、ゲーム処理実行部１０５は、操作対象がボールを保持している間、又は、操作対象がボールに触れる前の期間内において取得された移動方向に基づいて、上記説明した第２のゲーム処理を実行するようにしてよい。即ち、ゲーム処理実行部１０５は、操作対象がボールを保持している間、又は、操作対象がボールに触れる前の期間以外の期間において、方向取得部１０１が移動方向を取得しても、ゲーム処理は実行しない。
【００７７】
［１−４．ゲーム制御装置において実行される処理］
図１４及び図１５は、ゲーム制御装置１０において実行される処理の一例を示すフロー図である。ここでは、ゲームに関する処理のうち、ユーザチームの攻撃時において、フリック操作、スワイプ操作、引きフリック操作、及び引きスワイプ止め操作を検知するための処理を説明する。なお、ゲーム制御装置１０では、他の処理が実行されてよく、例えば、ゲーム状況データＤＴ１を更新する処理、攻撃時における他の操作を検知するための処理、及び守備時における操作を検知するための処理などが実行されるようにしてよい。
【００７８】
図１４に示す処理は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することによって実行される。下記の処理は、図１０に示す各機能ブロックによる処理の一例である。例えば、下記の処理は、所定のフレームレートに基づいて定まる時間間隔（例えば、１／３０秒）ごとに実行される。
【００７９】
図１４に示すように、まず、制御部１１は、ゲーム状況データＤＴ１に基づいて、ユーザチームがボールをキープ中又はキープ前であるかを判定する（Ｓ１）。Ｓ１においては、例えば、制御部１１は、ゲーム状況データＤＴ１に格納されたボールを保有するキャラクタを参照し、ユーザキャラクタがボールを保有しているかを判定することによって、キープ中であるかを判定する。また例えば、制御部１１は、ゲーム状況データＤＴ１に格納されたボールの位置及び移動方向を参照し、ユーザキャラクタに向かってボールが移動しており、かつ、ユーザキャラクタとボールの距離が閾値未満であるかを判定することによって、キープ前であるかを判定してもよい。また例えば、制御部１１は、誰もボールを保有していないルーズボールの状態で操作対象がボールを追いかけているかを判定することによって、キープ前であるかを判定してもよい。また例えば、制御部１１は、対戦相手チームのフライパスなどにより、操作対象が対戦相手キャラクタと競り合う状況であるかを判定することによってキープ前であるかを判定してもよい。
【００８０】
ユーザチームがボールをキープ中又はキープ前であると判定されない場合（Ｓ１；Ｎ）、ボールを移動させることができないので、本処理は終了する。一方、ユーザチームがボールをキープ中又はキープ前であると判定された場合（Ｓ１；Ｙ）、制御部１１は、タッチ状況データＤＴ２に格納されたパス入力開始フラグを参照する（Ｓ２）。なお、パス入力開始フラグの初期値はオフとする。パス入力開始フラグがオフであると判定された場合（Ｓ２；オフ）、制御部１１は、タッチパネル１４Ａの検出信号に基づいて、タッチ位置が取得されたかを判定する（Ｓ３）。
【００８１】
タッチ位置が取得されたと判定されない場合（Ｓ３；Ｎ）、ユーザが操作をしていないので、本処理は終了する。一方、タッチ位置が取得されたと判定された場合（Ｓ３；Ｙ）、制御部１１は、タッチ状況データＤＴ２にタッチ位置を格納し、タッチ位置の移動速度が基準速度以上であるかを判定する（Ｓ４）。Ｓ４においては、制御部１１は、例えば、直近のフレームにおけるタッチ位置と、Ｓ３で取得した最新のタッチ位置と、の距離が基準速度以上であるかを判定する。即ち、例えば、制御部１１は、１フレームあたりタッチ位置が所定ピクセル以上移動したかを判定する。なお、基準速度は、記憶部１２に予め記憶されており、固定値であってもよいし、可変値であってもよい。
【００８２】
移動速度が基準速度以上ではないと判定された場合（Ｓ４；Ｎ）、制御部１１は、タッチ状況データＤＴ２に格納されたベース位置を更新し（Ｓ５）、本処理を終了する。Ｓ５においては、制御部１１は、タッチ状況データＤＴ２に格納されたベース位置として、Ｓ３で取得したタッチ位置を格納する。なお、ユーザがタッチパネル１４Ａをタッチしたばかりの時点では、まだベース位置が格納されていないので、この場合は、制御部１１は、ベース位置の初期値として、Ｓ３で取得したタッチ位置を格納することになる。ベース位置を更新するのは、ユーザがタッチ位置を固定していたつもりでも徐々にずれてしまうことがあり、この場合に、最新のタッチ位置をベース位置とするためである。
【００８３】
一方、Ｓにおいて、移動速度が基準速度以上であると判定された場合（Ｓ４；Ｙ）、制御部１１は、タッチ状況データＤＴ２を参照し、パス入力開始フラグをオンにして（Ｓ６）、初期入力方向を記録し（Ｓ７）、本処理を終了する。Ｓ７においては、制御部１１は、例えば、直近のフレームにおけるタッチ位置と、Ｓ３で取得した最新のタッチ位置と、のベクトルを取得し、初期入力方向として記憶部１２に格納する。
【００８４】
Ｓ２において、パス入力開始フラグがオンであると判定された場合（Ｓ２；オン）、直近のフレームにおいてタッチパネル１４Ａがタッチされていたことを示すので、制御部１１は、タッチパネル１４Ａの検出信号に基づいて、タッチが解除されたかを判定する（Ｓ８）。Ｓ８においては、制御部１１は、タッチパネル１４Ａからタッチ位置を示す信号を受信したかを判定することになる。
【００８５】
タッチが解除されたと判定されない場合（Ｓ８；Ｙ）、即ち、タッチパネル１４Ａへのタッチが維持されている場合、制御部１１は、タッチ状況データＤＴ２に基づいて、タッチ位置の移度が停止又は略停止したかを判定する（Ｓ９）。Ｓ９においては、制御部１１は、例えば、直近のフレームにおけるタッチ位置と、Ｓ３で取得した最新のタッチ位置と、の距離を、タッチ位置の移動速度として取得する。そして、制御部１１は、取得した移動速度が基準速度以上であるかを判定する。
【００８６】
タッチ位置の移動が停止又は略停止したと判定されない場合（Ｓ９；Ｎ）、制御部１１は、タッチ状況データＤＴ２に基づいて、現在のタッチ位置の移動方向と初期移動方向とが一定以上の角度の差がついたかを判定する（Ｓ１０）。Ｓ１０においては、制御部１１は、例えば、直近のフレームにおけるタッチ位置と、Ｓ３で取得した最新のタッチ位置と、のベクトルを現在のタッチ位置の移動方向として取得する。そして、制御部１１は、取得した移動方向と初期移動方向との角度を取得する。制御部１１は、取得した角度が閾値以上であるかを判定する。
【００８７】
一定以上の角度の差がついたと判定されない場合（Ｓ１０；Ｙ）、まだタッチ中なので特にパス動作は行われずに本処理は終了する。一方、一定以上の角度の差がついたと判定された場合（Ｓ１０；Ｙ）、制御部１１は、タッチ状況データＤＴ２を参照し、引き操作フラグをオンにして（Ｓ１１）、ベース位置を更新し（Ｓ１２）、本処理を終了する。Ｓ１２においては、制御部１１は、タッチ状況データＤＴ２に格納されたベース位置として、Ｓ３で取得したタッチ位置を格納する。
【００８８】
一方、Ｓ８において、タッチが解除されたと判定された場合（Ｓ８；Ｙ）、図１５に移行し、制御部１１は、タッチ状況データＤＴ２に格納された引き操作フラグを参照する（Ｓ１３）。引き操作フラグがオンである場合（Ｓ１３；オン）、引きフリック操作が行われたことになるので、制御部１１は、操作対象のユーザキャラクタにフライパスをさせ（Ｓ１４）、タッチ状況データＤＴ２を初期状態に戻し（Ｓ１５）、本処理は終了する。
【００８９】
Ｓ１４においては、制御部１１は、タッチ状況データＤＴ２を参照し、ベース位置と、タッチが解除される直前のタッチ位置と、の距離に基づいて、操作対象のキックの強さを決定する。そして、制御部１１は、これらのベクトルに基づいて、ボールの移動方向を決定する。制御部１１は、決定したキックの強さ及び移動方向を、フライパス用に定義された物理計算アルゴリズムに基づいて、ボールの軌道を決定する。そして、制御部１１は、フライパス用に定義されたモーションデータを再生して操作対象にフライパスの動作をさせ、ボールを決定した軌道上で移動させる。なお、Ｓ１５においては、タッチ位置の履歴は残したまま各フラグだけが初期値に戻ってもよいし、タッチ状況データＤＴ２の全ての情報が初期値に戻ってもよい。
【００９０】
一方、引き操作フラグがオフである場合（Ｓ１３；オフ）、フリック操作が行われたことになるので、制御部１１は、操作対象のユーザキャラクタにグラウンダーパスをさせ（Ｓ１６）、Ｓ１５の処理に移行する。なお、Ｓ１６において、制御部１１がキックの強さ及びボールの移動方向を決定し、モーションデータを再生して操作対象にグラウンダーパスをさせる処理は、Ｓ１４と同様であってよい。
【００９１】
一方、Ｓ９において、タッチ位置の移動が停止又は略停止したと判定された場合（Ｓ９；Ｙ）、制御部１１は、タッチ状況データＤＴ２に格納された引き操作フラグを参照する（Ｓ１７）。引き操作フラグがオンである場合（Ｓ１７；オン）、引きスワイプ止め操作が行われたことになるので、制御部１１は、操作対象のユーザキャラクタにフライスルーパスをさせ（Ｓ１８）、Ｓ１５の処理に移行する。なお、Ｓ１８において、制御部１１がキックの強さ及びボールの移動方向を決定し、モーションデータを再生して操作対象にフライスルーパスをさせる処理は、Ｓ１４と同様であってよい。
【００９２】
一方、引き操作フラグがオフである場合（Ｓ１７；オフ）、スワイプ止め操作が行われたことになるので、制御部１１は、操作対象のユーザキャラクタにグラウンダースルーパスをさせ（Ｓ１９）、本処理は終了する。なお、Ｓ１９において、制御部１１がキックの強さ及びボールの移動方向を決定し、モーションデータを再生して操作対象にグラウンダースルーパスをさせる処理は、Ｓ１４と同様であってよい。
【００９３】
以上説明したゲーム制御装置１０によれば、引きフリック操作や引きスワイプ止め操作のように、タッチ位置の移動方向が、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したことが検知されると、実行されるゲーム処理（ここではパスの種類）が変わるので、ユーザが指示可能なゲーム処理の種類を増やすことができる。即ち、タッチ位置の移動方向を切り返すような操作が可能になり、単なるフリック操作やスワイプ操作などとは異なる新規の操作をユーザに提供することができるので、タッチパネル１４Ａを使ったゲームにおける操作の種類を増やすことができる。更に、タッチ方向を切り返したときの角度の違いが所定角度以上であることを条件とすることで、例えばフリック操作やスワイプ操作などのような操作との区別が明確になり、ユーザにとって分かりやすい操作とすることができる。更に、フリック操作やスワイプ操作などとは判定方法が明確に異なるので、ゲーム制御装置１０が上記操作を誤ってフリック操作やスワイプ操作などと誤認識してしまうことを防止することができる。また例えば、家庭用ゲーム機向けに開発されたゲームをスマートフォンなどに移植する場合には、物理的なボタンやレバーを有するゲームコントローラを使った操作と同等の操作をスマートフォンなどのタッチパネル１４Ａ上で実現すれば、家庭用ゲーム機版のゲームに慣れているユーザの操作性が向上する。しかし、タッチパネル１４Ａ上には物理的なボタンやレバーは存在しないので、例えば、ゲームコントローラと同等の操作を実現するためには、タッチ操作を工夫する必要がある。この点、実施形態１によれば、引きフリック操作や引きスワイプ止め操作のように多様な操作を実現することができるので、例えば、操作の多様性を担保することで家庭用ゲーム機の操作性に近づけることができる。
【００９４】
また、引きフリック操作のように、タッチ位置の移動方向を、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化させ、かつ、タッチを解除させるという新たな操作をユーザに提供することができる。
【００９５】
また、引きフリック操作では、変化後の移動方向の起点となるタッチ位置（ベース位置）と、タッチが解除された場合のタッチ位置と、の距離に基づいてゲーム処理を実行することで、当該距離を調整することでゲーム処理の内容（ここでは、キックの強さ）を指示するという新たな操作を提供することができる。例えば、当該距離が長いほど、キャラクタの動作の強度（例えば、キックの強さ）を強くするようにした場合、距離と強度に相関関係が生まれるので、直感的な動作を可能とすることができる。
【００９６】
また、引きスワイプ止め操作のように、タッチ位置の移動方向を、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化させ、かつ、タッチ位置の移動を停止又は略停止させるという新たな操作をユーザに提供することができる。
【００９７】
また、引きスワイプ止め操作では、変化後の移動方向の起点となるタッチ位置と、タッチ位置の移動が停止又は略停止した場合のタッチ位置と、の距離に基づいてゲーム処理を実行することで、当該距離を調整することでゲーム処理の内容（ここでは、キックの強さ）を指示するという新たな操作を提供することができる。例えば、当該距離が長いほど、キャラクタの動作の強度（例えば、キックの強さ）を強くするようにした場合、距離と強度に相関関係が生まれるので、直感的な動作を可能とすることができる。
【００９８】
また、例えばタッチパネル１４Ａがタッチし続ける操作をする場合には、ゲームのプレイ中にタッチ位置が自然にずれてしまうことがあるが、引きフリック操作や引きスワイプ止め操作では、タッチ位置の移動速度が基準速度以上である場合の移動方向が基準になるので、ユーザがはっきりとした意図を持って本発明に係る操作をした場合に、フライパスやフライスルーパスを実行することができる。このため、上記のように、ゲームプレイ中にタッチ位置が自然にずれてしまった場合であったとしても、引きフリック操作や引きスワイプ止め操作が行われたと判定されてしまうことを防止することができる。
【００９９】
また、グラウンダーパス及びグラウンダースルーパスと、フライパス及びフライスルーパスと、は軌道が異なるので、ボールの移動のさせ方を指示可能な種々の操作を提供することができる。
【０１００】
また、実施形態１のように操作対象がボールを移動させるゲームに引きフリック操作や引きスワイプ止め操作を適用することで、操作対象がボールを移動させるための操作の種類を増やすことができる。また、操作対象がボールに触れる前の期間内において取得された移動方向に基づいてフライパスやフライスルーパスを実行可能とする場合には、操作対象がボールに触れる前に、予め操作をさせることができるので、操作対象がボールに触れてすぐに移動させることができる。
【０１０１】
［２．実施形態２］
次に、本発明に係る別実施形態を説明する。実施形態２では、実施形態１と同様のゲームが実行可能であってよく、実施形態１と同様の部分については説明を省略する。
【０１０２】
［２−１．実施形態２における処理の概要］
実施形態２では、対戦相手チームが反則して、ユーザチームがフリーキックを獲得した場合の処理を一例に挙げて説明する。フリーキックは、試合中に反則行為が行われた場合に、反則を受けた側が、反則を受けた地点から相手の妨害を受けずにキックしてプレイを再開することである。なお、フリーキックでは、キックしたボールに合わせてユーザキャラクタがシュートを狙うセットプレイが行われたり、直接ゴールを狙ってキックしたりすることができる。例えば、ユーザチームがフリーキックを獲得すると、仮想視点ＶＣが切り替わる。
【０１０３】
図１６は、仮想視点が切り替わる様子を示す図である。図１６に示すように、ユーザチームがフリーキックを獲得する前（即ち、試合が進行するインプレイの状態）は、仮想視点は、ピッチＰＴを斜め上から見下ろすような俯瞰視点ＶＣ１となる。俯瞰視点ＶＣ１の場合、仮想視点は、ピッチＰＴとの距離を所定距離以上に保ち、かつ、視線方向とピッチＰＴとのなす角度を所定角度以上に保つ。仮想視点が俯瞰視点ＶＣ１である場合の仮想世界画像Ｇ１は、図３で説明した状態となる。
【０１０４】
一方、ユーザチームがフリーキックを獲得すると、仮想視点は、ボールＢを蹴るユーザキャラクタＵＣに寄り、当該ユーザキャラクタＵＣの背後からボールＢを見るような視点（以降、背後視点ＶＣ２という。）に切り替わる。背後視点ＶＣ２の場合、仮想視点は、ピッチＰＴとの距離を所定距離未満に保ち、かつ、視線方向とピッチＰＴとのなす角度を所定角度未満に保つ。
【０１０５】
図１７は、仮想視点が背後視点ＶＣ２になった場合の仮想世界画像Ｇ１の一例を示す図である。図１７に示すように、背後視点ＶＣ２になると、仮想視点がキッカーのユーザキャラクタＵＣ（即ち、操作対象）に寄るので、ピッチＰＴ、ユーザキャラクタＵＣ、対戦相手キャラクタＯＣ、ボールＢ、及びゴールＧＬなどの各オブジェクトが俯瞰視点ＶＣ１の時よりも大きく表示される。なお、キッカーとは、フリーキックを蹴る人のことである。
【０１０６】
なお、ユーザチームがフリーキックを獲得した場合は、仮想世界画像上には、キッカーを変更するためのキッカー変更ボタンＢ１と、仮想視点を切り替える視点変更ボタンＢ２と、が表示されるようにしてよい。例えば、ユーザがキッカー変更ボタンＢ１を選択すると、出場中のユーザキャラクタＵＣの中からキッカーを変更することができる。また例えば、ユーザが視点変更ボタンＢ２を選択すると、仮想視点を俯瞰視点ＶＣ１に戻すことができる。仮想視点が俯瞰視点ＶＣ１になった場合の仮想世界画像Ｇ１は、図３で説明したようなアングルとなる。この場合にもユーザは視点変更ボタンＢ２を選択可能であり、仮想視点を再び背後視点ＶＣ２に戻すことができてよい。このように、ユーザは、視点変更ボタンＢ２を選択することで、仮想視点を俯瞰視点ＶＣ１と背後視点ＶＣ２との間で切り替えることができる。
【０１０７】
図１７に示すように、背後視点ＶＣ２になると、ボールＢが表示領域の中央付近（Ｘ座標値がＸＭＡＸ／２付近）に表示され、俯瞰視点ＶＣ１よりもピッチＰＴに近い位置から対戦相手チームのゴールＧＬを狙うようなアングルとなる。即ち、背後視点ＶＣ２では、ユーザがピッチＰＴ上に立っているかのように仮想世界画像Ｇ１が表示され、対戦相手チームのゴールＧＬを狙いやすい状態となる。このため、ユーザはボールＢをタッチしてなぞるような直感的な操作をしがちである。この点、実施形態１で説明した右側領域ＲＡをそのまま変えなかったとすると、ボールＢが右側領域ＲＡの境界付近に表示されているので、ユーザがボールＢをタッチして操作しようとしても、右側領域ＲＡの外をタッチしてしまい、ボールＢを移動させることができず、誤操作の原因となってしまう。
【０１０８】
例えば、ボールＢの全部が右側領域ＲＡの外にはみ出している場合は、ユーザはボールＢをタッチしても移動させることができず、誤操作の原因となってしまう。また例えば、ボールＢの一部が右側領域ＲＡの外にはみ出している場合は、ユーザはタッチした位置がわずかに右側領域ＲＡの外になる可能性があり、この場合は、ボールＢをタッチしても移動させることができず、誤操作の原因となってしまう。また例えば、ボールＢがあと少しで右側領域ＲＡからはみ出してしまう場合は、ユーザが誤って右側領域ＲＡの外をタッチしてしまう可能性があり、誤操作の原因となってしまう。このため、実施形態２では、背後視点ＶＣ２になると、右側領域ＲＡを全体的に左側に拡張して、十分なスペースを確保するようにしている。
【０１０９】
図１８は、実施形態２の左側領域ＬＡ及び右側領域ＲＡを示す図である。図１８に示すように、実施形態２では、背後視点ＶＣ２になると、右側領域ＲＡが左側に拡張する。右側領域ＲＡがどの程度拡張するかは任意であってよく、その形状も変化してよいが、図１８の例では、右側領域ＲＡは、Ｘｓ座標がＸＭＡＸ／２以上の領域から、Ｘｓ座標がＸＭＡＸ／３以上の領域に拡張する。なお、ユーザが視点変更ボタンＢ２を選択して仮想視点を俯瞰視点ＶＣ１に戻すと、右側領域ＲＡは元の広さに戻るようにしてもよい。例えば、俯瞰視点ＶＣ１の場合の操作体系は、インプレイ時と同じ操作体系であってよいが、背後視点ＶＣ２の場合の操作体系は、インプレイ時の操作体系と異なっている。
【０１１０】
図１９は、背後視点ＶＣ２における左側領域ＬＡに対する操作を示す図である。例えば、背後視点ＶＣ２になると、左側領域ＬＡは、仮想視点の制御のために用いられる。図１９に示すように、例えば、ユーザが左側領域ＬＡに対してスライド操作をすると、仮想視点がスライド方向に移動したり向きを変えたりする。なお、ユーザがスライド操作を止めた場合に、仮想視点は、スライド操作を開始する前の状態に戻ってもよいし、現在の状態で固定されてもよい。
【０１１１】
図２０は、背後視点ＶＣ２における右側領域ＲＡに対する操作を示す図である。図２０に示すように、例えば、ユーザが右側領域ＲＡに対して任意の軌道でフリック操作をすると、ボールＢが当該軌道を描くように移動する。例えば、ユーザが描いた軌道上に表示されている仮想世界ＶＷ内の３次元座標を通るようにボールＢが移動してもよいし、軌道上の３次元座標のうち最も高い場所を通るようにボールＢが移動してもよい。先述した通り、右側領域ＲＡは拡張しているので、ユーザがボールＢに触れるスペースが十分に確保されている。なお、フリック操作の起点は、右側領域ＲＡにあればよく、本実施形態では、必ずしも、起点がボールＢである必要はないものとする。
【０１１２】
以上のように、実施形態２のゲーム制御装置１０は、ユーザがボールＢをタッチして移動させたいような状況になった場合に、右側領域ＲＡが拡張してボールＢをタッチするためのスペースが十分に確保されるので、ユーザはボールＢにタッチする操作が可能になり、ユーザの誤操作を防止するようになっている。以降、この処理の詳細を説明する。なお、以降では、特に図面を参照する必要のないときは、ユーザキャラクタやボールなどの符号を省略する。
【０１１３】
［２−２．実施形態２において実現される機能］
図２１は、実施形態２における機能ブロック図である。図２１に示すように、実施形態２では、ゲーム制御装置１０において、データ記憶部１００、表示制御部１０６、操作領域設定部１０７、及び移動制御部１０８が実現される。なお、図２１に示すように、データ記憶部１００に記憶されるデータは、実施形態１と同様であってよい。
【０１１４】
［２−２−１．表示制御部］
表示制御部１０６は、制御部１１を主として実現される。表示制御部１０６は、タッチパネル１４Ａに対するユーザの操作に応じてボールを移動させるゲームにおいて、ボールを表示領域に表示させる。ここでの操作とは、例えば、タッチパネル１４Ａをタッチする操作である。例えば、タッチパネル１４Ａをタップする操作であってもよいし、タッチパネル１４Ａに触れた後にスライドさせる操作であってもよい。なお、実施形態２では、ユーザの操作に応じて移動するオブジェクトの一例としてボールを説明するので、実施形態２の説明において「ボール」と記載した箇所は、「オブジェクト」と読み替えることができる。
【０１１５】
本実施形態では、表示領域には、ボールが配置された仮想世界を仮想視点から見た様子が表示されるので、表示制御部１０６は、ゲームの実行中に、仮想視点の位置及び視線方向を制御することになる。表示制御部１０６は、仮想視点の位置及び視線方向を任意の方法で制御可能であってよく、例えば、ボール又はユーザの操作対象と所定の位置関係を保つように、仮想視点の位置及び視線方向を制御してよい。また例えば、表示制御部１０６は、ボール及びユーザの操作対象の少なくとも一方が視野内に収まるように、仮想視点の位置及び視線方向を制御してもよい。
【０１１６】
［２−２−２．操作領域設定部］
操作領域設定部１０７は、制御部１１を主として実現される。操作領域設定部１０７は、表示領域のうちの第１の領域を、操作領域として設定する。第１の領域とは、例えば、タッチパネル１４Ａ上の一部の領域である。第１の領域の形状及びサイズは、任意であってよく、例えば、長方形であってもよいし、正方形であってもよいし、円形であってもよい。
【０１１７】
ここでの操作領域とは、例えば、操作を受け付けるタッチパネル１４Ａ上の領域である。例えば、操作領域上で所定の操作が行われた場合に、当該操作領域に関連付けられた処理が実行される。当該所定の操作は、例えば、タップ操作、スライド操作、フリック操作、スワイプ操作、曲線状に軌道を描くスライド操作、スワイプ止め操作、引きフリック操作、又は引きスワイプ止め操作などである。なお、操作領域は、タッチパネル１４Ａに複数設けられてもよい。左側領域ＬＡ及び右側領域ＲＡは、操作領域の一例である。ただし、実施形態２では、第１の領域が操作領域として設定されるのは右側領域ＲＡである場合を一例に挙げて説明する。更に、第１の領域は、俯瞰視点における右側領域ＲＡを示す場合を一例に挙げて説明する。
【０１１８】
操作領域設定部１０７は、所定のゲーム状況であって、ボールの全部若しくは一部が第１の領域外に含まれることになる状況、又は、ボールが前記第１の領域の端部に配置されることになる状況では、右側領域ＲＡを、ボールが領域の端部に配置されることのない第２の領域に変更する。
【０１１９】
所定のゲーム状況とは、例えば、ユーザが表示されているボールに直接触れたくなるような状況である。例えば、ボールの全部若しくは一部が第１の領域外に含まれることになる状況である。即ち、例えば、表示領域のうちボールが表示された画素の全てが第１の領域外となること、又は、当該画素の一部が第１の領域外となることである。また例えば、ボールが第１の領域の端部に配置されることになる状況である。なお、第１の領域の端部とは、例えば、第１の領域の輪郭の画素であり、ボールの表示位置が当該画素から所定距離以内となることである。
【０１２０】
例えば、所定のゲーム状況は、仮想視点とボールとの位置関係が所定の関係となる状況であってよい。位置関係は、例えば、仮想視点とボールの相対的な位置であり、仮想視点の位置とボールの位置とのずれ、又は、仮想視点の視線方向と、ボールが配置された平面の方向と、のずれである。所定の関係とは、例えば、仮想視点の位置とボールの位置とのずれが基準距離未満となること、又は、仮想視点の視線方向と、ボールが配置された平面の方向と、のずれが基準角度未満となることである。例えば、所定のゲーム状況は、ボールが画面中央付近に表示される状況である。また例えば、所定のゲーム状況は、仮想視点が俯瞰視点からフィールド上の視点に変化した状況である。この場合、仮想視点の視線方向とフィールドとのなす角度は基準角度未満であり、かつ、仮想視点とフィールドとの距離が基準距離未満となる。また例えば、サッカーのようにボールを目標位置（例えば、ゴール）に移動させるゲームでは、仮想視点の視線方向が目標位置を向くような状況である。
【０１２１】
また例えば、所定のゲーム状況は、ゲームの実行中に、ボールが停止する状況であってよい。例えば、スポーツの試合が行われるゲームであれば、試合において反則が発生した場合である。また例えば、周囲に敵がおらずボールの目標位置を狙いやすい状態であってもよいし、敵がボールを奪いにきてはいけない状態であってもよい。また例えば、対戦ゲームにおいて、ボールを移動させるために対戦相手が邪魔をしない状況（例えば、フリーキックやＰＫ）である。本実施形態では、フリーキックになり、かつ、背後視点になることが所定のゲーム状況に相当する。
【０１２２】
ボールが領域の端部に配置されることのない第２の領域とは、例えば、領域の端部とボールの表示位置とが所定距離以上となり、かつ、領域の内側にボールを含まない領域である。
【０１２３】
例えば、操作領域設定部１０７は、ゲームが所定のゲーム状況になった場合に、右側領域ＲＡを、少なくとも第１の領域を含む第２の領域に拡張する。例えば、第２の領域は、第１の領域を拡張した領域である。拡張する方向は任意であってよく、例えば、第１の領域が表示領域の右側に配置されていれば左方向に拡張された領域であってもよいし、第１の領域が表示領域の左側に配置されていれば右方向に拡張された領域であってもよい。また例えば、第２の領域は、第１の領域とボールの周囲領域とを含む領域であってよい。周囲領域は、例えば、ボールから所定距離の領域である。周囲領域の形状は任意であってよく、長方形であってもよいし、正方形であってもよいし、円形であってもよい。周囲領域は、固定サイズであってもよいし、可変サイズであってもよい。なお、第２の領域は、第１の領域よりも大きくてもよいし小さくてもよいし同じサイズであってもよい。第２の領域は、第１の領域と同じ形状であってもよいし、異なる形状であってもよい。
【０１２４】
本実施形態では、表示領域は横幅が縦幅よりも長く、操作領域設定部１０７は、複数の右側領域ＲＡを設定可能であり、第１の領域及び第２の領域は、他の操作領域（ここでは、左側領域ＬＡ）よりも右側にある領域である。即ち、ユーザから見て横長の表示領域となり、フリーキックにおいて背後視点になった場合に拡張する領域は、最も右側にある右側領域ＲＡとなる。
【０１２５】
［２−２−３．移動制御部］
移動制御部１０８は、制御部１１を主として実現される。実施形態１ではゲーム処理実行部１０５がボールを移動させる場合を説明したが、実施形態２では、移動制御部１０８がボールを移動させる場合を説明する。このため、移動制御部１０８は、ゲーム処理実行部１０５と同様の処理を実行可能であってよい。移動制御部１０８は、右側領域ＲＡに対するユーザの操作に基づいて、ボールを移動させる。例えば、移動制御部１０８は、ユーザが所定の操作をした場合に、ボールを移動させる。また例えば、操作の種類とボールの移動のさせ方との関係をデータ記憶部１００に定義しておき、移動制御部１０８は、ユーザが行った操作の種類に関連付けられた移動のさせ方でボールを移動させてもよい。例えば、ユーザが右側領域ＲＡ上でボールの移動方向を指示した場合に、移動制御部１０８は、ユーザが指示した方向にボールを移動させる。
【０１２６】
本実施形態では、ユーザが行う操作は、右側領域ＲＡをタッチした後にタッチ位置を移動させる操作であるので、移動制御部１０８は、タッチ位置が移動中に右側領域ＲＡの外に移動したとしても、当該操作に基づいてボールを移動させる。即ち、移動制御部１０８は、タッチパネル１４Ａへのタッチが開始されたタッチ位置が右側領域ＲＡであれば、その後にタッチ位置が右側領域ＲＡにあるか否かに関係なく、その後の操作に基づいてボールを移動させる。
【０１２７】
例えば、移動制御部１０８は、第１の領域が右側領域ＲＡとして設定されている場合は（即ち、俯瞰視点の右側領域ＲＡ）、第１の領域に対する第１の操作に基づいてボールを移動させ、第２の領域が前記右側領域ＲＡとして設定されている場合は（即ち、背後視点の右側領域ＲＡ）、第２の領域に対する第２の操作に基づいてボールを移動させる。即ち、移動制御部１０８は、俯瞰視点の右側領域ＲＡが設定されている場合は、第１の操作体系に基づいてボールを移動させ、背後視点の右側領域ＲＡが設定されている場合は、第２の操作体系に基づいてボールを移動させる。別の言い方をすれば、移動制御部１０８は、第１の領域が右側領域ＲＡとして設定されている場合と（即ち、俯瞰視点の右側領域ＲＡ）、第２の領域が右側領域ＲＡとして設定されている場合と（即ち、背後視点の右側領域ＲＡ）、で右側領域ＲＡに対する操作体系を異ならせる。
【０１２８】
また例えば、移動制御部１０８は、第１の領域が右側領域ＲＡとして設定されている場合と（即ち、俯瞰視点の右側領域ＲＡ）、第２の領域が右側領域ＲＡとして設定されている場合と（即ち、背後視点の右側領域ＲＡ）、でボールの移動のさせ方を異ならせる。移動のさせ方とは、ボールの軌道、速度、又は回転である。軌道は、例えば、移動物体の高さである。回転は、例えば、回転方向又は回転量である。例えば、移動制御部１０８は、俯瞰視点の右側領域ＲＡに対する操作に応じてボールが移動する場合と、背後視点の右側領域ＲＡに対する操作に応じてボールが移動する場合と、でボールの軌道、速度、及び回転の少なくとも一つが異ならせるようにしてよい。
【０１２９】
例えば、移動制御部１０８は、俯瞰視点の右側領域ＲＡの場合は、実施形態１で説明した操作に基づいてボールを移動させる。一方、移動制御部１０８は、背後視点の右側領域ＲＡの場合は、ユーザが右側領域ＲＡをなぞるようにフリック操作をした場合に、その軌道に基づいてボールを移動させる。例えば、移動制御部１０８は、軌道の曲がり具合に基づいてボールの曲がり具合を決定してもよい。この場合、移動制御部１０８は、フリック操作の開始時点のタッチ位置の移動方向と、終了時点のタッチ位置の移動方向と、の角度に基づいてボールの回転や軌跡のカーブ量を決定してもよい。また例えば、移動制御部１０８は、フリック操作における軌道上の任意の点に表示されている仮想世界内の３次元座標を通るようにボールを移動させてもよい。また例えば、移動制御部１０８は、フリック操作における軌道のうち仮想世界内の３次元座標が最も高くにある点に表示されている仮想世界内の３次元座標を通るようにボールを移動させてもよい。このようにすれば、ユーザが大きく弧を描くようにフリック操作をすると、打ち上げ気味のキックとなり、逆に直線に近いフリック操作をすると、ライナー性の弾道のキックとなる。
【０１３０】
［２−３．ゲーム制御装置において実行される処理］
図２２及び図２３は、実施形態２のゲーム制御装置１０において実行される処理の一例を示すフロー図である。図２２及び図２３に示す処理は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することによって実行される。下記の処理は、図２１に示す各機能ブロックによる処理の一例である。
【０１３１】
図２２に示すように、制御部１１は、ゲーム状況データＤＴ１に基づいて、ユーザチームがフリーキックを獲得したかを判定する（Ｓ３０）。Ｓ３０においては、制御部１１は、ゲーム状況データＤＴ１を参照して対戦相手キャラクタの動作を特定し、対戦相手キャラクタが所定の反則動作をしたかを判定する。反則動作は、予め定められた動作であればよく、例えば、ユーザキャラクタに接触して転ばせることであってもよいし、ボールが対戦相手キャラクタの手に接触することであってもよい。
【０１３２】
ユーザチームがフリーキックを獲得したと判定されない場合（Ｓ３０；Ｙ）、本処理は終了する。一方、ユーザチームがフリーキックを獲得したと判定された場合（Ｓ３０；Ｙ）、制御部１１は、仮想視点を背後視点に切り替える（Ｓ３１）。Ｓ３１においては、制御部１１は、例えば、反則が発生した位置又はその付近にボールを配置する。そして、制御部１１は、任意のユーザキャラクタをキッカーとして選択し、ボールの近くに配置する。制御部１１は、キッカーとして選択されたユーザキャラクタの背後に回るように、仮想視点の位置及び視線方向を変更する。
【０１３３】
制御部１１は、右側領域ＲＡを左側に拡張させる（Ｓ３２）。Ｓ３２においては、制御部１１は、例えば、全体的に左側に伸びるように右側領域ＲＡを拡張させる。なお、右側領域ＲＡの拡張の程度は、固定であってもよいし、状況に応じて可変であってもよい。拡張後の右側領域ＲＡを識別する情報は、予め記憶部１２に記憶されているものとする。
【０１３４】
制御部１１は、Ｓ３１で切り替えた背後視点に基づいて仮想世界画像Ｇ１を表示部１５に表示させる（Ｓ３３）。Ｓ３３においては、制御部１１は、図１７の状態の仮想世界画像Ｇ１を表示部１５に表示させる。制御部１１は、タッチパネル１４Ａの検出信号に基づいて、ユーザの操作を特定する（Ｓ３４）。ここでは、左側領域ＬＡに対するスライド操作、右側領域ＲＡに対するフリック操作、キッカー変更ボタンＢ１の選択、又は視点変更ボタンＢ２の選択の何れかが行われるものとする。
【０１３５】
ユーザが左側領域ＬＡに対してスライド操作をした場合（Ｓ３４；左側）、制御部１１は、スライド方向に移動するように仮想視点を制御し（Ｓ３５）、Ｓ３４に戻る。Ｓ３５においては、制御部１１は、スライド方向に基づいて仮想視点の移動方向を決定する。また、制御部１１は、スライド操作によりタッチ位置が移動した距離に基づいて仮想視点の移動距離を決定する。
【０１３６】
ユーザが右側領域ＲＡに対してフリック操作をした場合（Ｓ３４；右側領域）、制御部１１は、フリック操作により指示された軌道に基づいて、ユーザキャラクタにボールを蹴らせ（Ｓ３６）、本処理は終了する。Ｓ３６においては、制御部１１は、タッチ状況データを参照し、フリック操作におけるタッチ位置の履歴を特定する。制御部１１は、タッチ位置に表示された仮想世界のうちで最も高い地点を特定する。制御部１１は、ボールが現在の位置から当該最も高い地点を通るように軌道を決定する。そして、制御部１１は、モーションデータを再生して操作対象にキックの動作をさせ、ボールを決定した軌道上で移動させる。
【０１３７】
ユーザがキッカー変更ボタンＢ１を選択した場合（Ｓ３４；Ｂ１）、制御部１１は、出場中のユーザキャラクタの中でキッカーを変更し（Ｓ３７）、Ｓ３４の処理に戻る。ユーザが視点変更ボタンＢ２を選択した場合（Ｓ３４；Ｂ２）、制御部１１は、仮想視点を俯瞰視点に切り替えて（Ｓ３８）、右側領域ＲＡを元に戻す（Ｓ３９）。Ｓ３８においては、制御部１１は、ゲーム状況データに格納された仮想視点の位置及び視線方向を俯瞰視点用のものに変更する。また、Ｓ３９においては、制御部１１は、右側領域ＲＡの拡張を停止して元の状態に戻す。
【０１３８】
図２３に移行し、制御部１１は、俯瞰視点に基づく仮想世界画像Ｇ１を表示部１５に表示させる（Ｓ４０）。制御部１１は、タッチパネル１４Ａの検出信号に基づいて、ユーザの操作を特定する（Ｓ４１）。ここでは、キッカー変更ボタンＢ１の選択、視点変更ボタンＢ２の選択、又はその他の操作が行われるものとする。その他の操作は、実施形態１で説明したインプレイ中の各操作であってよく、例えば、右側領域ＲＡに対するフリック操作、スワイプ止め操作、引きフリック操作、又は引きスワイプ止め操作であってよい。
【０１３９】
ユーザがキッカー変更ボタンＢ１を選択した場合（Ｓ４１；Ｂ１）、制御部１１は、出場中のユーザキャラクタの中でキッカーを変更し（Ｓ４２）、Ｓ４１の処理に戻る。ユーザが視点変更ボタンＢ２を選択した場合（Ｓ４１；Ｂ２）、Ｓ２の処理に戻り、仮想視点が背後視点に切り替わって、右側領域ＲＡが再び拡張する。ユーザが他の操作をした場合（Ｓ４１；他の操作）、制御部１１は、操作に応じた処理を実行し（Ｓ４４）、本処理は終了する。Ｓ４４においては、制御部１１は、例えば、ユーザキャラクタにグラウンダーパスやフライパスなどをさせる。この処理自体は、実施形態１で説明した処理と同様であってよいので、説明を省略する。
【０１４０】
以上説明したゲーム制御装置１０によれば、ボールの全部又は一部が第１の領域（ここでは、俯瞰視点時の右側領域ＲＡ）外に含まれることになる状況、又は、ボールが第１の領域の端部に配置されることになる状況は、ユーザの誤操作が起こりやすい状況であり、このような状況において、右側領域ＲＡが、ボールが端部に配置されることのない領域に変更され、ボールに触れる直感的な操作が可能になるので、誤操作を防止することができる。また、特に上記のような状況ではない場合（即ち、ユーザが表示されているボールに直接触れたいと思わない場合）には、ボールの表示位置付近を他の操作のために割り当てることができるので、タッチパネル１４Ａ上の領域を有効活用することもできる。また例えば、スマートフォンなどを横持ちしてプレイすることを前提としたサッカーゲームでは、画面中央を境界として、左側領域ＬＡをバーチャルパッド領域とし、右側領域ＲＡをアクション入力領域とすることが多い。例えば、ユーザは、仮想視点により映し出されるピッチを見ながら、バーチャルパッド領域である左側領域ＬＡに対する操作で選手を移動させ、アクション入力領域である右側領域ＲＡに対する操作でパスやシュート等を行って試合を進行させることが多い。実施形態２では、試合中、フリーキックのようなセットプレイ時は、俯瞰視点から背後視点に切り替わり、ユーザは、バーチャルパッド領域である左側領域ＬＡに対する操作で仮想視点の視線方向を移動させつつ、アクション入力領域である右側領域ＲＡに対する操作でボールをキックする操作を行う。実施形態２では、セットプレイ時のボールのキックは、アクション入力領域である右側領域ＲＡの任意の位置をタッチしてそのままフリック操作をすることで行うものであるが（先述したように、最初にボールをタッチする必要はない）、直感的な操作をしてしまうユーザは、最初にボールをタッチしてフリック操作をしてしまいがちである。しかしながら、このようなセットプレイ時は、ボールが、左側領域ＬＡと右側領域ＲＡの境界となる画面中央に配置されているため、ユーザが最初にボールをタッチしようとすると、アクション入力領域でなく誤ってバーチャルパッド領域をタッチしてしまうという誤操作が起こり得る。そこで、実施形態２では、ユーザがタッチしてしまいがちなボール等のオブジェクトが画面中央に配置されるような場面では、少なくともオブジェクト全体がアクション入力領域に含まれるように右側領域ＲＡを拡張させるようにする。これにより、直感的な操作をしてしまうユーザの誤操作を防ぐことができるようになっている。
【０１４１】
また、背後視点になった場合に右側領域ＲＡが変更されるので、仮想視点とボールとが特定の位置関係となり、ユーザがボールに触りたくなるような状況における誤操作を防止することができる。
【０１４２】
また、フリーキックになった場合に右側領域ＲＡが変更されるので、ボールが停止してユーザがじっくりと狙いを定める場合には、ユーザがボールに触りたくなるため、ユーザの誤操作をより効果的に防止することができる。
【０１４３】
また、タッチ位置が右側領域ＲＡの外に移動したとしても、ボールを移動させる処理が実行されるので、タッチ位置が他の操作領域に侵入したときに処理が変わってしまうことを防止することができる。
【０１４４】
また、ユーザが表示されているボールに直接触れたくなるような特定の状況になった場合に、元々の右側領域ＲＡが拡張し、元々の右側領域ＲＡに対して操作することもできるので、ユーザの好みに応じた操作を提供することができる。
【０１４５】
また、物理的なゲームコントローラでは、例えばボールを蹴って移動させるために右側のボタンを利用することが多いが、タッチパネル１４Ａでも、右側にある右側領域ＲＡへの操作でボールを移動させることで、ユーザが使い慣れた自然な操作性を提供することができる。
【０１４６】
また、設定される右側領域ＲＡに応じて操作体系を変えることができ、状況に応じた多種多様な操作をユーザに提供することができる。
【０１４７】
また、設定される右側領域ＲＡに応じてボールの移動のさせ方が異なるので、ゲームの状況に応じた移動のさせ方でボールを移動させることができる。
【０１４８】
［３．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１４９】
［３−１．実施形態１に関する変形例］
まず、実施形態１に関する変形例を説明する。例えば、実施形態１では、ユーザが引きフリック操作及び引きスワイプ止め操作をした場合に、ユーザがタッチ位置の移動方向を切り返した位置をベース位置とし、その後の移動方向に基づいてボールの移動方向が決まる場合を説明した。これとは逆に、切り返した位置の前におけるタッチ位置の移動方向に基づいてボールの移動方向が決まってもよい。
【０１５０】
図２４及び図２５は、変形例における操作を示す図である。図２４に示すように、例えば、ユーザが右側領域ＲＡに対して、パスしたい方向に対してスワイプ操作をした後に、逆方向に少しフリック操作をすると、ユーザキャラクタＵＣがスワイプ方向にフライパスをするようにしてもよい。この場合、例えば、実施形態１のフライパスとは異なり、ボールＢがバックスピンするようにしてもよい。図２４の操作を押しフリック操作と記載すると、押しフリック操作と引きフリック操作の何れかのみを有効としてもよいし、これらの両方を有効としてもよい。両方を有効とする場合には、引きフリック操作が行われたか押しフリック操作が行われたかは、タッチ開始時のタッチ位置と移動方向の切り返し位置との第１距離と、移動方向の切り返し位置とタッチの解除位置との第２距離と、の何れが長いかによって判定されてよい。第１距離が第２距離よりも短ければ引きフリック操作と判定され、第２距離が第１距離よりも短ければ押しフリック操作と判定されてよい。これらの判定は、検知部１０２又はゲーム処理実行部１０５が行えばよい。
【０１５１】
また例えば、図２５に示すように、例えば、ユーザが右側領域ＲＡに対して、パスしたい方向に対してスワイプ操作をした後に、逆方向に少しスワイプ操作をしてタッチ位置を停止させると、ユーザキャラクタＵＣが最初のスワイプ方向にフライスルーパスをするようにしてもよい。この場合、例えば、実施形態１のフライスルーパスとは異なり、ボールＢがバックスピンするようにしてもよい。図２５の操作を押しスワイプ止め操作と記載すると、押しスワイプ止め操作と引きスワイプ止め操作の何れかのみを有効としてもよいし、これらの両方を有効としてもよい。両方を有効とする場合には、引きスワイプ止め操作が行われたか押しスワイプ止め操作が行われたかは、タッチ開始時のタッチ位置と移動方向の切り返し位置との第３距離と、移動方向の切り返し位置とタッチの停止位置との第４距離と、の何れが長いかによって判定されてよい。第３距離が第４距離よりも短ければ引きスワイプ止め操作と判定され、第４距離が第３距離よりも短ければ押しスワイプ止め操作と判定されてよい。これらの判定は、検知部１０２又はゲーム処理実行部１０５が行えばよい。
【０１５２】
押しフリック操作及び押しスワイプ止め操作では、ゲーム処理実行部１０５は、検知部１０２が移動方向の切り返しを検知する前におけるタッチ位置と、検知部１０２が切り返し検知した場合のタッチ位置と、に基づいて定まる方向にボールを移動させるようにすればよい。例えば、ゲーム処理実行部１０５は、所定のタイミングにおける移動方向の起点となるタッチ位置と、変化後の移動方向の起点となるタッチ位置（切り返し位置）と、の方向及び距離の少なくとも一方に基づいて、フライパスやスライスルーパスを実行してよい。上記のようにすれば、例えば、ユーザキャラクタＵＣがバックスピンをかけてボールを移動させるような直感的な操作が可能になり、ユーザに提供可能な操作を更に増加させることができる。
【０１５３】
なお、実施形態１と実施形態２を組み合わせてもよいが、実施形態１においては、実施形態２のように、右側領域ＲＡを拡張する処理は必須ではなく、省略してもよい。また例えば、引きフリック操作と引きスワイプ止め操作の何れかのみが実現されてもよい。また例えば、ユーザが引きフリック操作をした場合に、特に、ベース位置と、タッチが解除される直前のタッチ位置と、の距離を考慮せずにフライパスが実行されてもよい。また例えば、ユーザが引きスワイプ止め操作をした場合に、特に、ベース位置と、タッチ位置の移動が停止又は略停止した場合のタッチ位置と、の距離を考慮せずにフライスルーパスが実行されてもよい。
【０１５４】
［３−２．実施形態２に関する変形例］
次に、実施形態２に関する変形例を説明する。例えば、対戦相手チームが反則をしてユーザチームがペナルティキックを獲得することがある。ペナルティキックとは、ペナルティエリア内で発生した反則行為に対し、反則を行った側のチームに与えられる罰則であり、キッカーとゴールキーパーが１対１の状態でペナルティエリア内の所定位置からキックが行われる。ユーザチームがペナルティキックを獲得した場合にも、実施形態２で説明したように右側領域ＲＡが左側に拡張するようにしてもよい。
【０１５５】
図２６は、ユーザチームがペナルティキックを獲得した場合の仮想世界画像Ｇ１を示す図である。図２６に示すように、ユーザチームがペナルティキックを獲得した場合にも、仮想視点は背後視点となる。このため、ペナルティキックでは、ユーザはボールＢをタッチして移動させたい状況となる。この場合に、図１８と同様に、右側領域ＲＡが左側に拡張するようにしてよい。なお、ペナルティキックでは、特に左側領域ＬＡは操作に用いられなくてもよい。例えば、ユーザは、右側領域ＲＡにおいてフリック操作をすることでシュートの軌道を指示することになる。
【０１５６】
また例えば、上記とは逆に、ユーザチームが反則をして対戦相手チームがペナルティキックを獲得することがある。この場合は、ユーザは、ボールＢの移動を指示できないので、その代わりに、ゴールキーパーを指示できるようにしてもよい。即ち、実施形態２で実行されるゲームは、ボールＢ、ユーザキャラクタ、及び対戦相手キャラクタなどの複数のオブジェクトが移動するゲームなので、このようなゲームにおいて、移動制御部１０８は、第１の領域が右側領域ＲＡ（即ち、俯瞰視点の右側領域ＲＡ）として設定されている場合と、第２の領域が右側領域ＲＡ（即ち、背後視点の右側領域ＲＡ）として設定されている場合と、で複数のオブジェクトの中で制御対象となるオブジェクトを異ならせるようにしてもよい。上記の場合ごとに制御対象となるオブジェクトが定義されたデータが、予めデータ記憶部１００に記憶されており、移動制御部は、当該データを参照して制御対象のオブジェクトを特定する。
【０１５７】
図２７は、対戦相手チームがペナルティキックを獲得した場合の仮想世界画像Ｇ１を示す図である。図２７に示すように、対戦相手チームがペナルティキックを獲得した場合にも、仮想視点は背後視点となる。ただし、この場合は、キッカーである対戦相手キャラクタＯＣの背後視点となる。対戦相手チームがペナルティキックを獲得した場合にも、図１８と同様に、右側領域ＲＡが左側に拡張するようにしてよい。なお、ペナルティキックでは、特に左側領域ＬＡは操作に用いられなくてもよい。例えば、ユーザは、右側領域ＲＡにおいてフリック操作をすることでゴールキーパーであるユーザキャラクタＵＣが移動する方向を指示することになる。また例えば、ゴールキーパーの能力に基づいて、シュートを防ぐための動作が変わってもよい。図２７のようにすれば、ゲームの状況に応じたオブジェクトを移動させることができる。
【０１５８】
また例えば、フリーキックになった場合に、右側領域ＲＡが全体的に左側に拡張される場合を説明したが、元々の右側領域ＲＡとボールの周囲領域とが合わせることで、右側領域ＲＡが拡張してもよい。ボールの周囲領域とは、ボールから所定距離未満の位置からなる領域であり、その形状は、円形であってもよいし、楕円形であってもよいし、多角形であってもよい。また例えば、右側領域ＲＡが拡張する場合を説明したが、左側領域ＬＡにおいてボールの移動を指示可能な場合には、左側領域ＬＡが拡張してもよい。また例えば、フリーキック以外の他のセットプレイが行われる場合に右側領域ＲＡが拡張されるようにしてもよい。例えば、スローインやコーナーキックの場面で右側領域ＲＡが拡張されてもよい。
【０１５９】
なお、実施形態１と実施形態２を組み合わせてもよいが、実施形態２においては、実施形態１のように、引きフリック操作と引きスワイプ止め操作は必須ではなく、省略してもよい。また例えば、右側領域ＲＡが拡張されるのは、特にフリーキックのようにゲームの進行が停止している場面でなくてもよい。また例えば、右側領域ＲＡは、必ずしも拡張する必要はなく、ボールを含むようにサイズ及び形状の少なくとも一方が変化してもよい。また例えば、横長の表示領域を例に挙げたが、縦長の表示領域において操作領域が拡張されてもよい。また例えば、右側領域ＲＡの拡張前後で特に操作体系が変わらなくてもよい。また例えば、右側領域ＲＡの拡張前後でボールの移動のさせ方が同じであってもよい。
【０１６０】
［３−３．その他変形例］
例えば、実施形態１、実施形態２、及び上記説明した変形例の２つ以上を組み合わせてもよい。
【０１６１】
また例えば、ゲーム制御装置１０において実現される各機能は、サーバ３０において実現されてもよい。例えば、サーバ３０によって、データ記憶部１００が実現されてもよい。この場合、データ記憶部１００は、記憶部３２を主として実現される。ゲーム制御装置１０は、サーバ３０からデータを受信することによって、ゲームを実行する。ゲーム制御装置１０は、ゲームの実行結果をサーバ３０に送信することによって、サーバ３０が記憶する各データが更新される。
【０１６２】
また例えば、サーバ３０において、ゲームの主な処理が実行されるようにしてもよい。この場合、サーバ３０が本発明に係るゲーム制御装置に相当する。例えば、実施形態１において、方向取得部１０１、検知部１０２、速度取得部１０３、速度判定部１０４、及びゲーム処理実行部１０５がサーバ３０で実現される場合、これらは制御部３１を主として実現される。また例えば、実施形態２において、表示制御部１０６、操作領域設定部１０７、及び移動制御部１０８がサーバ３０で実現される場合、これらは制御部３１を主として実現される。この場合、ゲーム制御装置１０は、サーバ３０から画像データを受信して仮想世界画像Ｇ１を表示部１５に表示させる。また、ゲーム制御装置１０は、操作部１４及びタッチパネル１４Ａが受け付けた指示を示すデータをサーバ３０に送信する。サーバ３０は、当該データを受信することで、ユーザの指示を特定し、ゲームを実行すればよい。また例えば、ゲーム制御装置１０とサーバ３０とで各機能が分担されてもよい。この場合、各機能ブロックの処理結果が、ゲーム制御装置１０とサーバ３０との間で送受信されるようにすればよい。
【０１６３】
また例えば、サッカーゲームが実行される場合を説明したが、他のゲームに本発明に係る処理を適用してもよい。例えば、サッカーゲーム以外のスポーツゲーム（例えば、野球、テニス、アメリカンフットボール、バスケットボール、バレーボール等を題材としたゲーム）に本発明に係る処理を適用してもよい。また例えば、スポーツゲーム以外にも、アクションゲームやロールプレイングゲーム等のように、ゲーム形式・ジャンルを問わず種々のゲームに本発明に係る処理を適用してもよい。
【０１６４】
［４．付記］
以上のような記載から、本発明は例えば以下のように把握される。
【０１６５】
［４−１．実施形態１に係る発明］
１−１）本発明の一態様に係るゲーム制御装置（１０，３０）は、タッチパネルがタッチされた状態でタッチ位置が移動した場合に、当該タッチ位置の移動方向を取得する方向取得手段（１０１）と、前記方向取得手段（１０１）により取得された前記移動方向に基づいて、第１のゲーム処理を実行するゲーム処理実行手段（１０５）と、前記方向取得手段（１０１）により取得された前記移動方向について、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したことを検知する検知手段（１０２）と、を含み、前記ゲーム処理実行手段（１０５）は、前記検知手段（１０２）により移動方向の変化が検知された場合に、変化前又は変化後の移動方向に基づいて、第２のゲーム処理を実行する、ことを特徴とする。
【０１６６】
１−９）本発明の一態様に係るゲームシステム（Ｓ）は、タッチパネルがタッチされた状態でタッチ位置が移動した場合に、当該タッチ位置の移動方向を取得する方向取得手段（１０１）と、前記方向取得手段（１０１）により取得された前記移動方向に基づいて、第１のゲーム処理を実行するゲーム処理実行手段（１０５）と、前記方向取得手段（１０１）により取得された前記移動方向について、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したことを検知する検知手段（１０２）と、を含み、前記ゲーム処理実行手段（１０５）は、前記検知手段（１０２）により移動方向の変化が検知された場合に、変化前又は変化後の移動方向に基づいて、第２のゲーム処理を実行する、ことを特徴とする。
【０１６７】
１−１０）本発明の一態様に係るプログラムは、１−１）〜１−８）の何れかに記載のゲーム制御装置（１０，３０）又は１−９）に記載のゲームシステム（Ｓ）としてコンピュータを機能させる。
【０１６８】
１−１１）本発明の一態様に係る情報記憶媒体は、１−１０）のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
【０１６９】
１−１）又は１−９）〜１−１１）に係る発明によれば、タッチ位置の移動方向が、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化したが検知されると、実行されるゲーム処理が変わるので、ユーザが指示可能なゲーム処理の種類を増やすことができる。即ち、タッチ位置の移動方向を切り返すような操作が可能になり、単なるフリックやスワイプなどとは異なる新規の操作をユーザに提供することができるので、タッチパネルを使ったゲームにおける操作の種類を増やすことができる。更に、角度の違いが所定角度以上であることを条件とすることで、例えばフリックやスワイプなどのような操作との区別が明確になり、ユーザにとって分かりやすい操作とすることができる。更に、フリックやスワイプなどとは判定方法が明確に異なるので、ゲーム制御装置（１０，３０）が上記操作を誤ってフリックやスワイプなどと誤認識してしまうことを防止することができる。
【０１７０】
１−２）本発明の一態様では、前記ゲーム処理実行手段（１０５）は、前記検知手段（１０２）により移動方向の変化が検知された場合に、前記タッチパネルへのタッチが解除されたことに応じて、前記第２のゲーム処理を実行する、ことを特徴とする。１−２）の態様によれば、タッチ位置の移動方向を、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化させ、かつ、タッチを解除させるという新たな操作をユーザに提供することができる。
【０１７１】
１−３）本発明の一態様では、前記ゲーム処理実行手段（１０５）は、前記検知手段（１０２）により移動方向の変化が検知された場合に、前記変化後の移動方向の起点となる前記タッチ位置と、前記タッチパネルへのタッチが解除された場合の前記タッチ位置と、の距離に基づいて、前記第２のゲーム処理を実行する、ことを特徴とする。１−３）の態様によれば、変化後の移動方向の起点となるタッチ位置と、タッチが解除された場合のタッチ位置と、の距離に基づいてゲーム処理を実行することで、当該距離を調整することでゲーム処理の内容を指示するという新たな操作を提供することができる。例えば、当該距離が長いほど、キャラクタの動作の強度（例えば、キックの強さ）を強くするようにした場合、距離と強度に相関関係が生まれるので、直感的な動作を可能とすることができる。
【０１７２】
１−４）本発明の一態様では、前記ゲーム処理実行手段（１０５）は、前記検知手段（１０２）により移動方向の変化が検知された場合に、前記タッチ位置の移動が停止又は略停止したことに応じて、第３のゲーム処理を実行する、ことを特徴とする。１−４）の態様によれば、タッチ位置の移動方向を、所定のタイミングで取得された移動方向とのなす角度が所定角度以上の任意の移動方向に変化させ、かつ、タッチ位置の移動を停止又は略停止させるという新たな操作をユーザに提供することができる。
【０１７３】
１−５）本発明の一態様では、前記ゲーム処理実行手段（１０５）は、前記検知手段（１０２）により移動方向の変化が検知された場合に、前記変化後の移動方向の起点となる前記タッチ位置と、当該タッチ位置が移動した後、停止又は略停止した場合の前記タッチ位置と、の距離に基づいて、前記第３のゲーム処理を実行する、ことを特徴とする。１−５）の態様によれば、変化後の移動方向の起点となるタッチ位置と、タッチ位置の移動が停止又は略停止した場合のタッチ位置と、の距離に基づいてゲーム処理を実行することで、当該距離を調整することでゲーム処理の内容を指示するという新たな操作を提供することができる。例えば、当該距離が長いほど、キャラクタの動作の強度（例えば、キックの強さ）を強くするようにした場合、距離と強度に相関関係が生まれるので、直感的な動作を可能とすることができる。
【０１７４】
１−６）本発明の一態様では、前記ゲーム制御装置（１０，３０）は、前記タッチパネルがタッチされた状態で前記タッチ位置が移動した場合に、前記タッチ位置の移動速度を取得する速度取得手段（１０３）と、前記速度取得手段（１０３）により取得された前記移動速度が基準速度以上であるかを判定する速度判定手段（１０４）と、を更に含み、前記所定のタイミングで取得された移動方向は、前記速度判定手段（１０４）により前記移動速度が前記基準速度以上であると判定された場合の移動方向である、ことを特徴とする。例えばタッチパネルがタッチし続ける操作をする場合には、ゲームのプレイ中にタッチ位置が自然にずれてしまうことがあるが、１−６）の態様によれば、タッチ位置の移動速度が基準速度以上である場合の移動方向が基準になるので、ユーザがはっきりとした意図を持って本発明に係る操作をした場合に、第２のゲーム処理を実行することができる。このため、上記のように、ゲームプレイ中にタッチ位置が自然にずれてしまった場合であったとしても、本発明に係る操作が行われたと判定されてしまうことを防止することができる。
【０１７５】
１−７）本発明の一態様では、前記第１のゲーム処理は、前記方向取得手段（１０１）により取得された前記移動方向に基づいて、仮想世界において移動物体を移動させる処理であり、前記第２のゲーム処理は、前記第１のゲーム処理とは異なる移動のさせ方で、前記仮想世界において前記移動物体を移動させる処理である、ことを特徴とする。１−７）の態様によれば、移動対象の移動のさせ方を指示可能な種々の操作を提供することができる。
【０１７６】
１−８）本発明の一態様では、前記第１のゲーム処理及び前記第２のゲーム処理の各々は、仮想世界において操作対象が移動物体を移動させる処理であり、前記ゲーム処理実行手段（１０５）は、前記操作対象が前記移動物体を保持している間、又は、前記操作対象が前記移動物体に触れる前において取得された移動方向に基づいて、前記第１のゲーム処理を実行し、前記ゲーム処理実行手段（１０５）は、前記操作対象が前記移動物体を保持している間、又は、前記操作対象が前記移動物体に触れる前の期間内において取得された移動方向に基づいて、前記第２のゲーム処理を実行する、ことを特徴とする。１−８）の態様によれば、操作対象が移動物体を移動させるための操作の種類を増やすことができる。また、操作対象が移動物体に触れる前の期間内において取得された移動方向に基づいてゲーム処理を実行可能とする場合には、操作対象が移動物体に触れる前に、予め操作をさせることができるので、操作対象が移動物体に触れてすぐに移動させることができる。
【０１７７】
［４−２．実施形態２に係る発明］
２−１）本発明の一態様に係るゲーム制御装置（１０）は、タッチパネルに対するユーザの操作に応じてオブジェクトを移動させるゲームにおいて、前記オブジェクトを表示領域に表示させる表示制御手段（１０６）と、前記表示領域のうちの第１の領域を、操作領域として設定する操作領域設定手段（１０７）と、前記操作領域に対する前記ユーザの操作に基づいて、前記オブジェクトを移動させる移動制御手段（１０８）と、を含み、前記操作領域設定手段（１０７）は、所定のゲーム状況であって、前記オブジェクトの全部若しくは一部が前記第１の領域外に含まれることになる状況、又は、前記オブジェクトが前記第１の領域の端部に配置されることになる状況では、前記操作領域を、前記オブジェクトが領域の端部に配置されることのない第２の領域に変更する、ことを特徴とする。
【０１７８】
２−１０）本発明の一態様に係るゲームシステム（Ｓ）は、タッチパネルに対するユーザの操作に応じてオブジェクトを移動させるゲームにおいて、前記オブジェクトを表示領域に表示させる表示制御手段（１０６）と、前記表示領域のうちの第１の領域を、操作領域として設定する操作領域設定手段（１０７）と、前記操作領域に対する前記ユーザの操作に基づいて、前記オブジェクトを移動させる移動制御手段（１０８）と、を含み、前記操作領域設定手段（１０７）は、所定のゲーム状況であって、前記オブジェクトの全部若しくは一部が前記第１の領域外に含まれることになる状況、又は、前記オブジェクトが前記第１の領域の端部に配置されることになる状況では、前記操作領域を、前記オブジェクトが領域の端部に配置されることのない第２の領域に変更する、を含むことを特徴とする。
【０１７９】
２−１１）本発明の一態様に係るプログラムは、２−１）〜２−９）の何れかに記載のゲーム制御装置（１０）又は２−１０）に記載のゲームシステム（Ｓ）としてコンピュータを機能させる。
【０１８０】
２−１２）本発明の一態様に係る情報記憶媒体は、２−１１）のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
【０１８１】
オブジェクトの全部又は一部が第１の領域外に含まれることになる状況、又は、オブジェクトが第１の領域の端部に配置されることになる状況は、ユーザの誤操作が起こりやすい状況であり、２−１）又は２−１０）〜２−１２）に係る発明によれば、このような状況において、操作領域が、オブジェクトが端部に配置されることのない領域に変更され、オブジェクトに触れる直感的な操作が可能になるので、誤操作を防止することができる。また、特に上記のような状況ではない場合（即ち、ユーザがオブジェクトに触れたいと思わない場合）には、オブジェクトの表示位置付近を他の操作のために割り当てることができるので、タッチパネル上の領域を有効活用することもできる。
【０１８２】
２−２）本発明の一態様では、前記表示領域には、前記オブジェクトが配置された仮想世界を仮想視点から見た様子が表示され、前記表示制御手段（１０６）は、前記ゲームの実行中に、前記仮想視点の位置及び視線方向を制御し、前記所定のゲーム状況は、前記仮想視点と前記オブジェクトとの位置関係が所定の関係となる状況である、ことを特徴とする。２−２）の態様によれば、仮想視点とオブジェクトとが特定の位置関係となり、ユーザがオブジェクトに触りたくなるような状況における誤操作を防止することができる。
【０１８３】
２−３）本発明の一態様では、前記所定のゲーム状況は、前記ゲームの実行中に、前記オブジェクトが停止する状況である、ことを特徴とする。２−３）の態様によれば、オブジェクトが停止してユーザがじっくりと狙いを定める場合には、ユーザがオブジェクトに触りたくなるため、ユーザの誤操作をより効果的に防止することができる。
【０１８４】
２−４）本発明の一態様では、前記操作は、前記操作領域をタッチした後にタッチ位置を移動させる操作であり、前記移動制御手段（１０８）は、前記タッチ位置が移動中に前記操作領域の外に移動したとしても、前記操作に基づいて前記オブジェクトを移動させる、ことを特徴とする。２−４）の態様によれば、タッチ位置が操作領域の外に移動したとしても、オブジェクトを移動させる処理が実行されるので、タッチ位置が他の操作領域に侵入したときに処理が変わってしまうことを防止することができる。
【０１８５】
２−５）本発明の一態様では、前記操作領域設定手段（１０７）は、前記ゲームが前記所定のゲーム状況になった場合に、前記操作領域を、少なくとも前記第１の領域を含む前記第２の領域に拡張する、ことを特徴とする。２−５）の態様によれば、ユーザが表示されているオブジェクトに直接触れたくなるような特定の状況になった場合に、元々の操作領域が拡張し、元々の操作領域に対して操作することもできるので、ユーザの好みに応じた操作を提供することができる。
【０１８６】
２−６）本発明の一態様では、前記表示領域は、横幅が縦幅よりも長く、前記操作領域設定手段（１０７）は、複数の操作領域を設定可能であり、前記第１の領域及び前記第２の領域は、他の操作領域よりも右側にある領域である、ことを特徴とする。２−６）の態様によれば、物理的なゲームコントローラでは、例えばオブジェクトを蹴って移動させるために右側のボタンを利用することが多いが、タッチパネルでも、右側にある操作領域への操作でオブジェクトを移動させることで、ユーザが使い慣れた自然な操作性を提供することができる。
【０１８７】
２−７）本発明の一態様では、前記移動制御手段（１０８）は、前記第１の領域が前記操作領域として設定されている場合は、前記第１の領域に対する第１の操作に基づいて前記オブジェクトを移動させ、前記第２の領域が前記操作領域として設定されている場合は、前記第２の領域に対する第２の操作に基づいて前記オブジェクトを移動させる、ことを特徴とする。２−７）の態様によれば、設定される操作領域に応じて操作体系を変えることができ、状況に応じた多種多様な操作をユーザに提供することができる。
【０１８８】
２−８）本発明の一態様では、前記移動制御手段（１０８）は、前記第１の領域が前記操作領域として設定されている場合と、前記第２の領域が前記操作領域として設定されている場合と、で前記オブジェクトの移動のさせ方を異ならせる、ことを特徴とする。２−８）の態様によれば、ゲームの状況に応じた移動のさせ方でオブジェクトを移動させることができる。
【０１８９】
２−９）本発明の一態様では、前記ゲームは、複数のオブジェクトが移動するゲームであり、前記移動制御手段（１０８）は、前記第１の領域が前記操作領域として設定されている場合と、前記第２の領域が前記操作領域として設定されている場合と、で前記複数のオブジェクトの中で制御対象となるオブジェクトを異ならせる、ことを特徴とする。２−９）の態様によれば、ゲームの状況に応じたオブジェクトを移動させることができる。
【符号の説明】
【０１９０】
Ｓ  ゲームシステム、１０  ゲーム制御装置、３０  サーバ、１１，３１  制御部、１２，３２  記憶部、１３，３３  通信部、１４  操作部、１４Ａ  タッチパネル、１５  表示部、１００  データ記憶部、１０１  方向取得部、１０２  検知部、１０３  速度取得部、１０４  速度判定部、１０５  ゲーム処理実行部、１０６  表示制御部、１０７  操作領域設定部、１０８  移動制御部、ＤＴ１  ゲーム状況データ、ＤＴ２  タッチ状況データ。
【図１】
2018143784.tif 000003
【図２】
2018143784.tif 000004
【図３】
2018143784.tif 000005
【図４】
2018143784.tif 000006
【図５】
2018143784.tif 000007
【図６】
2018143784.tif 000008
【図７】
2018143784.tif 000009
【図８】
2018143784.tif 000010
【図９】
2018143784.tif 000011
【図１０】
2018143784.tif 000012
【図１１】
2018143784.tif 000013
【図１２】
2018143784.tif 000014
【図１３】
2018143784.tif 000015
【図１４】
2018143784.tif 000016
【図１５】
2018143784.tif 000017
【図１６】
2018143784.tif 000018
【図１７】
2018143784.tif 000019
【図１８】
2018143784.tif 000020
【図１９】
2018143784.tif 000021
【図２０】
2018143784.tif 000022
【図２１】
2018143784.tif 000023
【図２２】
2018143784.tif 000024
【図２３】
2018143784.tif 000025
【図２４】
2018143784.tif 000026
【図２５】
2018143784.tif 000027
【図２６】
2018143784.tif 000028
【図２７】
2018143784.tif 000029