【文献】
パワースマッシュ4,WEEKLYファミ通,株式会社エンターブレイン,2011年10月13日,第26巻第44号,P.102-103,特に、P.103の「すべての操作がタッチスクリーンでも可能に!」の項を参照
【文献】
編集部:oNo,Vita版「パワースマッシュ4」,タッチスクリーンでの操作方法の一部や選手タイプを紹介,[online],Aetas株式会社,2011年10月28日,4Gamer.net、[2016年9月16日検索],URL,http://www.4gamer.net/games/134/G013437/20111019040/
(58)【調査した分野】(Int.Cl.,DB名)
前記着弾点は、前記着弾基準点の位置と、前記オフセット量と、前記プレイヤキャラクタのキャラクタパラメータに基づいて設定される着弾領域に基づいて決定される、請求項1に記載の方法。
前記着弾点は、前記タイミング値の変動に基づいて、前記着弾基準点から前記オブジェクトが前記ゲーム空間の相手陣地へ向けて移動する方向に交差する第1の線上における所定位置にオフセットされるように決定される、請求項3に記載の方法。
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド水平線との間のY軸方向における距離が最小である場合、前記着弾点は前記ゲーム空間の相手陣地内に設定され、
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド水平線との間のY軸方向における距離が最小でない場合、前記着弾点は前記相手陣地外に設定され得る、請求項4に記載の方法。
前記着弾点は、前記ミート値の変動に基づいて、前記着弾基準点から前記オブジェクトが前記ゲーム空間の相手陣地へ向けて移動する方向に沿った第2の線上における所定位置にオフセットされるように決定される、請求項6に記載の方法。
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド垂直線との間のX軸方向における距離が最小である場合、前記着弾点は前記ゲーム空間の相手陣地内に設定され、
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド垂直線との間のX軸方向における距離が最小でない場合、前記着弾点は前記相手陣地外に設定され得る、請求項7に記載の方法。
【発明を実施するための形態】
【0008】
[本発明の実施形態の説明]
最初に、本発明の実施形態の内容を列挙して説明する。本発明の一実施形態は、以下のような構成を備える。
(項目1)
ディスプレイと該ディスプレイに関連して設けられたタッチパネルとを備えたコンピュータで実行される方法であって、
前記タッチパネルに対するプレイヤによるタッチ入力を検出し、タッチ開始位置およびタッチ終了位置を特定するステップと、
前記タッチ開始位置から前記タッチ終了位置に対するタッチ方向に基づいて、ゲーム空間における複数の着弾基準領域のうちの1つを指定するステップと、
前記ゲーム空間内におけるオブジェクトを、指定された前記着弾基準領域へ着弾するように、前記ディスプレイへ表示させるステップと、を含む方法。
(項目2)
前記プレイヤにより選択された球種を判定するステップをさらに備え、
前記着弾基準領域は、前記球種と前記タッチ方向に基づいて指定される、項目1に記載の方法。
(項目3)
前記タッチ方向に基づいて、前記球種が特定される、項目2に記載の方法。
(項目4)
前記球種は、
前記プレイヤにより2つ以上の球種候補が選択された後、前記タッチ方向に基づいて、前記球種候補のうちの1つが特定される、項目2または3に記載の方法。
(項目5)
プレイヤキャラクタの位置に基づいて前記ゲーム空間内にスイングフィールドを設定するステップと、
前記タッチ入力が検出されたときに、前記オブジェクトが前記スイングフィールド内にあるかを判定するステップと、
前記タッチ入力が検出されたときの前記スイングフィールド内における前記オブジェクトの位置と、前記プレイヤキャラクタの位置に基づいて、前記プレイヤキャラクタが行う打撃動作を選択するステップと、
選択された前記打撃動作によって前記オブジェクトを打撃するよう前記キャラクタを前記ディスプレイへ表示させるステップをさらに含む、
項目1〜4のいずれかに記載の方法。
(項目6)
前記スイングフィールドの領域の大きさは、前記プレイヤキャラクタの位置の移動に基づいて可変である、項目5に記載の方法。
(項目7)
前記ゲーム空間はXY平面を含み、
前記スイングフィールドの領域を定義する外縁と、
前記プレイヤキャラクタを通り、X軸方向に平行なフィールド水平線を前記ディスプレイへ表示させるステップをさらに含む、項目5または6に記載の方法。
(項目8)
複数の前記着弾基準領域のそれぞれは着弾基準点を含み、
前記タッチ方向に基づいて、複数の前記着弾基準点のうちの1つが指定され、
前記タッチ入力が検出されたときの前記スイングフィールド内における前記オブジェクトの位置と、前記プレイヤキャラクタの位置に基づいて、前記着弾基準点からのオフセット量を決定するステップと、
前記着弾基準点の位置と前記オフセット量に基づいて、前記オブジェクトが着弾する着弾点を決定するステップと、
前記着弾点に着弾するように前記オブジェクトを前記ディスプレイへ表示させるステップと、
をさらに含む、項目5〜7のいずれかに記載の方法。
(項目9)
前記着弾点は、前記着弾基準点の位置と、前記オフセット量と、前記プレイヤキャラクタのキャラクタパラメータに基づいて設定される着弾領域に基づいて決定される、項目8に記載の方法。
(項目10)
前記ゲーム空間はXY平面を含み、
前記スイングフィールドは、前記プレイヤキャラクタを通り、前記ゲーム空間におけるX軸方向に平行なフィールド水平線を含み、
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、フィールド水平線との間のY軸方向における距離に基づいてタイミング値を算出するステップと、
前記タイミング値に基づいて前記オフセット量を決定するステップと、
を含む、項目8または9に記載の方法。
(項目11)
前記着弾点は、前記タイミング値の変動に基づいて、前記着弾基準点から前記オブジェクトが前記ゲーム空間の相手陣地へ向けて移動する方向に交差する第1の線上における所定位置にオフセットされるように決定される、項目10に記載の方法。
(項目12)
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド水平線との間のY軸方向における距離が最小である場合、前記着弾点は前記ゲーム空間の相手陣地内に設定され、
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド水平線との間のY軸方向における距離が最小でない場合、前記着弾点は前記相手陣地外に設定され得る、項目11に記載の方法。
(項目13)
前記ゲーム空間はXY平面を含み、
前記スイングフィールドは、前記ゲーム空間におけるY軸方向に平行なフィールド垂直線を含み、
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、フィールド垂直線との間のX軸方向における距離に基づいてミート値を算出するステップと、
前記ミート値に基づいて前記オフセット量を決定するステップと、
を含む、項目10〜12のいずれかに記載の方法。
(項目14)
前記着弾点は、前記ミート値の変動に基づいて、前記着弾基準点から前記オブジェクトが前記ゲーム空間の相手陣地へ向けて移動する方向に沿った第2の線上における所定位置にオフセットされるように決定される、項目13に記載の方法。
(項目15)
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド垂直線との間のX軸方向における距離が最小である場合、前記着弾点は前記ゲーム空間の相手陣地内に設定され、
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド垂直線との間のX軸方向における距離が最小でない場合、前記着弾点は前記相手陣地外に設定され得る、項目14に記載の方法。
(項目16)
前記ゲーム空間はXY平面を含み、
前記スイングフィールドは、前記プレイヤキャラクタを通り、前記ゲーム空間におけるX軸方向に平行なフィールド水平線と、前記ゲーム空間におけるY軸方向に平行なフィールド垂直線を含み、
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド水平線との間のY軸方向における距離に基づいてタイミング値を算出するステップと、
前記タッチ入力が検出されたときの、前記オブジェクトの位置と、前記フィールド垂直線との間のX軸方向における距離に基づいてミート値を算出するステップと、
前記タイミング値または前記ミート値に基づいて前記オブジェクトのオブジェクトパラメータを決定するステップと、
を含む、項目8〜15のいずれかに記載の方法。
(項目17)
項目1から16のいずれか1項に記載の方法を、前記コンピュータのプロセッサに実行させるためのプログラム。
【0009】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。
<第1実施形態>
図1は、本発明の一実施形態に係る一実施形態に係るコンピュータの一例としての端末100のハードウェア構成図である。
図1に示すように、端末100は、主に操作入力部102と、画像処理部104と、プロセッサ106と、主記憶装置としてのROM(Read Only Memory)108及びRAM(Random Access Memory)110と、補助記憶装置112と、ディスプレイ114と、サウンド処理部116と、音声入力部118と、音声出力部120と、通信制御部122とを備えており、構成要素102〜112、および116はバスライン130を介して相互に接続されている。なお、バスライン130と各構成要素との間にはインタフェース回路(不図示)が適宜介在している。
【0010】
操作入力部102は、ユーザの操作入力を受け入れて当該操作入力に対応した入力信号を、バスライン130を介してプロセッサ106に出力するものである。操作入力部102の例としては、端末100の本体に設けられた方向指示ボタン、決定ボタン、英数文字等入力ボタンなどの物理的ボタンがある。なお、ディスプレイ114をタッチスクリーンとして構成している場合には、当該タッチパネルが操作入力部102となる。タッチパネル102は、その表面を指やスティック、スタイラスペンなどで触れると、その接触位置に対応する座標データを出力する機能を有している。タッチパネル102は、タッチ入力位置を所定のサンプリング間隔で検出して、座標データを出力する。
【0011】
画像処理部104は、プロセッサ106からの画像表示命令に基づいてディスプレイ114を駆動し、当該ディスプレイ114に画像を表示させる。ディスプレイ114としては、液晶ディスプレイ等の種々の表示装置を採用できる。
【0012】
プロセッサ106は、端末100全体の制御を行う。ROM108には、端末100の動作制御に必要なプログラム等が記憶されている。また、RAM110には、ROM108または補助記憶装置112からロードされた各種プログラムやデータが記憶され、プロセッサ106に対して作業領域を提供する。プログラムはROM108または補助記憶装置112に格納されても良いし、端末100にネットワークを介して接続されたサーバに格納されていてもよい。
【0013】
補助記憶装置112は、各種プログラムやデータ等を格納する記憶装置である。補助記憶装置112としては、携帯電話端末の内部メモリとして、例えばフラッシュメモリ等を用いることができ、また、携帯電話端末の外部メモリとして、例えばメモリカードリーダライタ等を用いることができる。
【0014】
サウンド処理部116は、音声入力部118から音声が入力されたときにアナログ音声信号をデジタル音声信号に変換するとともに、プロセッサ106からの発音指示に基づいてアナログ音声信号を生成して音声出力部118に出力する。音声入力部120は、端末100に内蔵されたマイクロフォンからなり、電話通信する場合や録音を行う場合などに用いられる。音声出力部118は、電話通信時の受話スピーカおよび電話着信音やゲーム実行時の効果音などを出力するスピーカからなる。
【0015】
通信制御部122は、通信インタフェースを備え、ゲーム操作時等にデータ通信するための通信制御機能および携帯電話端末として音声データを送受信するための通信制御機能等を有している。ここで、データ通信用の通信制御機能には、例えば、無線LAN接続機能、無線LANや携帯電話回線網を介したインターネット接続機能、近距離無線通信機能などが含まれる。通信制御部122は、プロセッサ106からの命令に基づいて端末100を無線LANやインターネット等に接続するための接続信号を発信するとともに、通信相手側から送信されてきた情報を受信してプロセッサ106へ供給する。
【0016】
なお、端末100には、GPS(Global Positioning System)信号受信回路、CCD(Charge Coupled Device)イメージセンサ等の撮像装置(カメラ)、3軸加速度センサ、3軸角速度センサなどが備えられていてもよく、例えば、GPS位置情報などをゲーム内で活用してもよい。
【0017】
図2は、本発明の第1実施形態に従った端末100の機能的な構成を示すブロック図である。端末100は、アプリケーション進行部210と表示処理部230を備える処理部200を備える。アプリケーション進行部210はさらに、タッチ入力検出部212、球種判定部214、着弾基準領域決定部216、オブジェクト動作制御部218を備える。処理部200はさらに、通信制御部(図示せず)を備えてもよい。
【0018】
本実施形態に係る端末100は、ゲームプログラムによってテニスゲームを実行する。端末100は、ディスプレイ114に
図3に示すようなテニスコート、プレイヤキャラクタ302,対戦キャラクタ304、ボール(オブジェクトの一例、不図示)を表示させる。また、後述するようにプレイヤから入力されたコマンドに従ってプレイヤキャラクタ302、対戦キャラクタ304の一方の動作を制御し、互いにボールを打ち合うことによって、テニスゲームを進行させる。
【0019】
図3は、端末100のディスプレイ114に表示されるゲーム空間300を示す。ゲーム空間300は、XY平面を含んで構成された3次元ゲーム空間を含む。ゲーム空間300は、プレイヤにより操作されるプレイヤキャラクタ302と、Y軸方向に沿ってネットを挟むようにして配置された自陣地310と相手陣地312を含む。自陣地310よび相手陣地312はXY平面を含む。自陣地310と相手陣地312には、それぞれサービスライン、センターサービスライン、ベースライン、サイドラインが設定されている。ゲーム空間300において、プレイヤキャラクタ302はこのようなテニスコート上で対戦キャラクタ304とテニスゲームを行う。
【0020】
相手陣地312には、キャラクタ302により打撃されたボールが着弾する着弾基準領域308が複数設定されている。プレイヤは後述するような操作によって着弾基準領域1as〜6asのいずれかを指定することで、ボールが相手陣地312に着弾する地点を打ち分けることができる。着弾基準領域308のそれぞれは、着弾基準点306を含み、プレイヤの操作によって着弾基準点1s〜6sのいずれかが指定された後、適宜の誤差をさらに計算することにより、着弾基準領域1as〜6as内におけるボールの着弾位置が決定される。
【0021】
図3においては、着弾基準領域308のそれぞれは、サイドライン、ネット、センターサービスラインに囲まれた領域314に設定された所定の区分内にそれぞれ収まる大きさの半径を有する円である。着弾基準領域308は相手陣地312に仮想的に配置されており、ゲーム画面300に表示しても良いし、しなくても良い。
図3はプレイヤキャラクタ302が対戦キャラクタ304に向けてサーブを行う場合の着弾基準領域308の一例を示しており、キャラクタ302が自陣の右コートからサーブする場合には、相手陣地312上のサービスラインとネットの間であって、センターサービスラインより左側の領域に着弾基準領域1as〜6asが設定される。また、キャラクタ302が自陣の左コートからサーブする場合には、相手陣地312上のサービスラインとネットの間であって、センターサービスラインより右側の領域に着弾基準領域1’as〜6’asが設定される。
【0022】
次に、
図2及び
図4を参照して、本実施形態におけるゲームプログラムによって処理部200が実行する各機能部の動作を説明する。処理部200は、アプリケーション進行部210、表示制御部230として機能する。アプリケーション進行部210は、タッチ入力検出部212、球種判定部214、着弾基準領域決定部216、オブジェクト動作制御部218として機能する。
【0023】
まず、アプリケーション進行部210は、進行中のゲームの場面を判定し、判定されたゲームの場面に応じて、プレイヤにより選択可能な球種候補を選定する(ステップS1)。例えば、プレイヤキャラクタがサーブを打つ場面では、サーブに関連する球種の候補(スピン、フラット)を、対戦キャラクタからの打球(相手打球)を返球する場面では、リターンに関連する球種の候補(スピン/ロブ)を選定する。表示処理部230は、選定された球種候補をディスプレイ114に表示させる(ステップS1)。
【0024】
そして、タッチ入力検出部212は、ディスプレイ114に表示されている選択可能な球種候補に対するタッチ入力を検出する(ステップS2)。
次に、球種判定部214は、ステップS2にて検出されたタッチ入力に基づいて、プレイヤにより選択されたサーブ球種、又はリターン球種を判定する。表示処理部230は、プレイヤにより選択された球種をディスプレイ114に表示させる(ステップS3)。
【0025】
図5は、プレイヤにより選択されたサーブの球種がトップスピンである場合を示す。
図6は、プレイヤにより選択されたサーブの球種がフラットサーブである場合を示す。各ゲーム空間300には、球種切り替えボタン504にプレイヤにより選択可能な球種候補が表示される。
図5および
図6では、プレイヤの球種切り替えボタン504に対する操作により、球種をトップスピンとフラットサーブを切り替え可能とされている。本実施形態ではプレイヤによるタッチパネル102における所定位置に配置された球種切り替えボタン504にタッチ操作(例えばタップ)が入力されることにより、球種判定部214は打撃時の球種を指定する。
【0026】
図7、
図8は、プレイヤにより選択されるリターンの球種候補を複数示す球種切り替えボタン702を示す。
図7、
図8においては、球種候補として「スピン/ロブ」の2種類が示されている。
【0027】
次に、タッチ入力検出部212は、タッチ入力のタッチ開始位置からタッチ終了位置に対するタッチ方向を検出する(ステップS4)。タッチ入力検出部212は、プレイヤによるタップ操作が入力されたタッチパネル上の座標位置や、及び連続して検出されるタッチ入力(スライド・スワイプ操作)を検出することができる。連続して検出されるタッチ位置のうちで最初に検出される位置をタッチ開始位置、最後に検出される位置をタッチ終了位置と呼ぶ。タッチ入力検出部212は、主にタッチ開始位置およびタッチ終了位置に基づいて、連続して検出されるタッチ入力のタッチ方向を特定することができる。また、タッチ入力検出部212は、タッチ操作の距離や、タッチ開始からタッチ終了までに要した時間を検出することができる。タッチ開始位置は操作入力部(タッチパネル)102にあらかじめ設定された点であっても良いし、任意の位置であっても良い。
【0028】
次に、着弾基準領域決定部216は、ステップS3にて選択された球種、及びステップS4にて検出されたタッチ方向に基づいて、ゲーム空間内の相手陣地312上に規定されている複数の着弾基準領域308のうち1つを指定する(ステップS5)。
例えば、
図5に示すように、プレイヤのタッチ操作502の軌跡に基づいて、タッチ入力検出部212はタッチ開始位置(A点)とタッチ終了位置を検出し、タッチ方向1ts〜6tsを特定する。着弾基準領域決定部216は、特定されたタッチ方向1ts〜6tsに対応する着弾基準領域1as〜6asを指定する。
【0029】
本実施形態では、まずタッチ方向1ts〜6tsに対応する着弾基準点1s〜6sが指定される。例えば、タッチ開始位置(A)から画面左上、画面左方向へのタッチ操作が検出されると、対応するタッチ方向1tsが特定され、これに対応した着弾基準点1sが特定される。さらに、後述するような様々な手法により着弾基準点1sに対して所定のずれを加味することによって、着弾基準領域1as内における実際の着弾点(図示せず)が決定される。これにより、タッチ方向1ts〜6tsに応じた着弾基準領域1as〜6asが指定され得る。そして、プレイヤは比較的単純な操作により、様々なプレイスタイルを楽しむことができる。
【0030】
本実施形態では、球種が指定されることにより、タッチ方向に対応付けられる着弾基準領域308(着弾基準点306)が変化する。すなわち、着弾基準領域308は、球種とタッチ方向に基づいて指定される。
図6に示されるようにフラットサーブが指定されている場合、タッチ操作がX軸方向に向けた変位を含んでいる場合には、該変位に応じて相手陣地312上の着弾基準領域1as〜3asが指定される。例えば、タッチ開始位置(A)からX軸に負の領域area1まで到達するタッチ方向およびタッチ操作距離が検出された場合には、着弾基準領域1asが指定される。タッチ開始位置(A)からX軸に正の領域area3まで到達するタッチ方向およびタッチ操作距離が検出された場合には、着弾基準領域3asが指定される。タッチ開始位置(A)から負の領域area1および正の領域area3のいずれまでも到達しなかった場合には、着弾基準領域2asが指定される。
【0031】
図7、
図8に示すリターンの場面においては、タッチ方向に基づいて球種および着弾基準領域308が特定される。
図7に示されるように、タッチ方向がY軸に正の方向に向けた変位を含んでいる場合、又はY軸方向の変位を殆ど含まない場合には、該変位に応じて球種「スピン」が指定されると共に、相手陣値312上の着弾基準領域1a〜6aのいずれかが指定される。例えば、タッチ開始位置(A)からY軸方向に正で、かつX軸方向に負の領域area1まで到達するタッチ方向及びタッチ操作距離が検出された場合には、着弾基準領域1aが指定される。タッチ開始位置(A)からY軸方向に正で、かつX軸方向のほぼ変位が無い領域area2まで到達するタッチ方向及びタッチ操作距離が検出された場合には、着弾基準領域2aが指定される。また、タッチ開始位置(A)からY軸方向に正で、かつX軸方向に正の領域area3まで到達するタッチ方向及びタッチ操作距離が検出された場合には、着弾基準領域3aが指定される。さらに、タッチ開始位置(A)からY軸方向の変位がほぼ無く、かつX軸方向に負の領域area4まで到達するタッチ方向及びタッチ操作距離が検出された場合には、着弾基準領域4aが指定される。さらに、タッチ開始位置(A)からY軸方向の変位がほぼ無く、かつX軸方向に正の領域area6まで到達するタッチ方向及びタッチ操作距離が検出された場合には、着弾基準領域6aが指定される。さらに、タッチ開始位置(A)からのタッチ操作距離が一定値を下回る場合には、着弾基準領域5aが指定される。
【0032】
また、
図8に示されるように、タッチ方向がY軸に負の方向の変位を含んでいる場合には、該変位に応じて球種「ロブ」が指定されると共に、相手陣値312上の着弾基準領域1a〜3aのいずれかが指定される。例えば、タッチ開始位置(A)からY軸方向、X軸方向共に負の領域area1まで到達するタッチ方向及びタッチ操作距離が検出された場合には、着弾基準領域1aが指定される。タッチ開始位置(A)からY軸方向に負で、かつX軸方向にほぼ変位が無い領域area2まで到達するタッチ方向及びタッチ操作距離が検出された場合には、着弾基準領域2aが指定される。また、タッチ開始位置(A)からY軸方向に負で、かつX軸方向に正の領域area3まで到達するタッチ方向及びタッチ操作距離が検出された場合には、着弾基準領域3aが指定される。
【0033】
次に、オブジェクト動作制御部218は、ステップS4において指定された着弾基準基準領域内の任意の位置へ着弾するよう、キャラクタ302により打たれたボールの軌道を算出する(ステップS6)。オブジェクト動作制御部218は、着弾基準領域308内の任意の位置を実際の着弾点として指定する。また、オブジェクト動作制御部218は、ステップS3にて選択された球種に応じて、プレイヤキャラクタ302にボールを打撃する動作(リターン動作、サーブ動作)を行わせる(ステップS6)。
【0034】
次に、表示処理部230は、オブジェクト動作制御部218により制御されたプレイヤキャラクタや、算出された軌道に沿って移動するボール等をディスプレイ114に表示させる(ステップS7)。表示処理部230は、オブジェクト動作制御部218からの情報に基づいて、プレイヤキャラクタ、対戦キャラクタを仮想空間内のコート上で移動表示させる画像信号をディスプレイ114に出力する。また、表示処理部230は、オブジェクト動作制御部218からの情報に基づいて、算出された軌道に沿って移動するボールを仮想空間内のコート上で移動表示させる画像信号をディスプレイ114に出力する。
<第2実施形態>
本実施形態においては、タッチパネルに対してなされたタッチ入力に関する情報と、ゲーム空間内に位置するボールに関する情報に基づいて、ボールが着弾する位置を着弾基準点より変化させる。簡単な操作(タッチ入力)を検出するだけで、ゲームが複雑に展開される。
【0035】
図9は、本発明の第2実施形態に従った端末100の機能的な構成を示すブロック図である。端末100は、アプリケーション進行部210と表示処理部230を備える処理部200を備えることができる。アプリケーション進行部210はさらに、タッチ入力検出部212、着弾基準領域決定部216、オブジェクト動作制御部218、着弾領域サイズ決定部220、スイングフィールド決定部222、タイミング判定部224、オフセット・着弾点決定部226、打球速度決定部228を備えることができる。処理部200、処理部200に含まれる各部212、216,218、220、222,224、226、228、230は、
図2に示されるプロセッサ106がメモリ108内のゲームプログラムを読み出して実行することによって実現される。
【0036】
本実施形態においては、プレイヤキャラクタはスライド操作に基づいて、ゲーム空間内の任意の位置に移動される。例えば、プレイヤキャラクタはスライド操作により、ボールが到達するとプレイヤが予測した位置近辺に移動される。そして、スイングフィールド内に相手打球が位置するときに、タップ又はフリック操作が検出されると、プレイヤキャラクタは相手打球を打ち返すことができる。すなわち、本実施形態においては、スライド操作に基づいて、プレイヤキャラクタが自陣内で移動し、タップ又はフリック操作に基づいて、プレイヤキャラクタがボールを打撃してゲームが展開される。さらに、タップ又はフリック操作を検出することにより、打ち返すタイミング、ボールの飛行方向、ボールの速度、ボールの到達位置の全て又は一部が指定される。本実施形態においては、タップ、フリック操作といった簡単な操作を検出することにより、種々のゲームパラメータを指定することができ、複雑なゲームが展開される。
【0037】
図10は、プレイヤキャラクタ周辺のゲーム空間をX−Y平面に投影した場合の略線図である。
図10はスイングフィールド1402、ボール1404、プレイヤキャラクタ1406、2つの領域1408を示す。スイングフィールド1402は、対戦キャラクタからの打球をプレイヤキャラクタが打ち返すことができる(打撃できる)領域である。
図10において、プレイヤキャラクタ1406は、右手にラケットを保持しており、飛んできたボールをフォアストロークで打ち返そうとしている。フォアストロークとは、プレイヤキャラクタのラケットを持つ側(ここでは右手側)を通過するボールを打つ際の打法である。
【0038】
スイングフィールド1402は、プレイヤキャラクタ1406を中心として、上方向、左右方向、前後方向に所定の幅を有する立体的な領域(例えば、直方体)であり、プレイヤキャラクタの位置に基づいて規定される。本実施形態においては、対戦キャラクタにより打撃されたボールがスイングフィールド内に位置する場合に、タップ、フリック操作が検出されると、プレイヤキャラクタは相手打球を打ち返すことができる。従って、本実施形態は、タップ、フリック操作を検出するタイミングに一定の期間を設け、相手打球を打ち返し易いゲームを提供する。特に、ディスプレイが小さい場合に、ボールはディスプレイ内で非常に小さく表示されるため、ボールがプレイヤキャラクタの近傍を通過するタイミングは非常に短い。スイングフィールドを設けることにより、プレイヤに対し、進行しやすい(タイミングを計りやすい)ゲームを提供することができる。
【0039】
図10は、中心座標が(xc、yc、0)であるプレイヤキャラクタ1406を示す。スイングフィールド1402は、プレイヤキャラクタ1406の中心座標(xc、yc、0)を中心として、X軸の正及び負方向にそれぞれxfの幅(すなわち(xc−xf)から(xc+xf))を有し、Y軸の正及び負方向にそれぞれyfの幅(すなわち、(yc−yf)から(yc+yf))を有し、Z軸の正方向にzfの幅(すなわち0からzf)を有するように設定される。xf、yf、zfの値はプレイヤキャラクタの位置に基づく変数であり、ネットに近づくほど小さく、ベースラインに近づくほど大きく設定される。すなわち、スイングフィールドの領域の大きさは可変であり、ベースラインで最大であり、ネットに近づくにつれて徐々に小さくなる。これは、キャラクタをネット付近に配置したときも、ベースラインに配置したときと同じ要領で対戦キャラクタからの打球がとれると、キャラクタをベースラインに配置していれば多くのボールがとれることとなり、ゲームが面白くないからである。
【0040】
また、プレイヤキャラクタ位置のy座標ycを有し、ゲーム空間におけるX軸に平行なプレイヤキャラクタを通る直線を、フィールド水平線という。プレイヤキャラクタ位置のx座標xcを中心として、X軸方向にxf、及び(−xf)ずれた位置にあるゲーム空間におけるY軸に平行な2本の直線を、フィールド垂直線という。プレイヤキャラクタは、スイングフィールド1402外の領域(
図10に示す一点鎖線で囲われた2つの網掛け領域1408)、すなわちフィールド垂直線を越えた領域1408においても、相手打球を打ち返すこととしてもよい。この場合、領域1408(飛びつき領域)に位置する相手打球を、プレイヤキャラクタは飛びついて打ち返すことになる。スイングフィールド1402はその範囲を定義する外縁を備え、外縁の内部にフィールド垂直線を含む。
【0041】
次に、
図10、及び
図11を参照して、各種パラメータ(コントロール値、タイミング値、及びミート値)の指定方法について説明する。
図11は、各着弾基準点と、着弾領域の各着弾基準点からのずれ(オフセット)の方向を示す。タイミング値及びミート値に基づいて各着弾基準点からの着弾領域中心のオフセット量(ずれ量)が求められる。オフセット量に基づいて、着弾領域中心の着弾基準点からのオフセット範囲が決定される。そして、着弾領域中心のオフセット範囲と、プレイヤキャラクタのキャラクタパラメータに基づいて広さが決定された着弾領域に基づいて、着弾基準領域が設定される。本実施形態において、着弾基準領域はオフセット量を考慮したとしても、この領域内のどこかにボールが落ちる領域である。コントロール値、タイミング値、及びミート値は、相手陣地へ着弾するボールの着弾点(或いは着弾基準領域)、ボールの飛行方向、ボールの速度を指定するために用いられる。これらのパラメータは、タッチ入力されたときのプレイヤキャラクタと、対戦キャラクタにより打撃されたボールとの位置関係に基づいて指定される。これらのパラメータの値は、離散的な値(整数)であっても、連続的な値であっても良い。
【0042】
コントロール値とは、タッチ入力が検出されたとき(例えば、タッチ終了位置が検出されたとき)の相手打球のボールの位置と、フィールド水平線とのY軸方向における距離に基づいて設定される値である。コントロール値は、フィールド水平線上に相手打球が位置するときにタッチ入力がなされたときに最も大きく(例えば、値8)、フィールド水平線から離れるにつれて線形に小さくなり、スイングフィールドの端部では最も小さく(例えば、値1)設定される。コントロール値に基づいて、オブジェクトパラメータ(例えば、プレイヤキャラクタの返球したボールのスピード)が決定される。例えば、コントロール値が大きいほど、早いボールがリターンされる。
【0043】
タイミング値とは、コントロール値と同様に、タッチ入力が検出されたとき(例えば、タッチ終了位置が検出されたとき)のボールの位置と、フィールド水平線とのY軸方向における距離に基づいて設定されるが、値の設定方法が異なる。タイミング値は、各着弾基準点からの着弾領域のオフセット量を決定する。着弾領域とは、プレイヤキャラクタが打ったボールがランダムに着弾する相手陣地内に位置する領域である。そして、タイミング値に基づく着弾領域は、着弾基準点から
図11に示す実線矢印方向へずれる。タイミング値は、フィールド水平線上に相手打球が位置するときにタッチ入力がなされたときに絶対値が最も小さく(例えば、値0)、フィールド水平線から離れるにつれて絶対値が大きくなり、スイングフィールドの端部では絶対値が最も大きく(例えば、値8)設定される。タイミング値は、フィールド水平線よりもY軸に正の方向ではプラスの値が、Y軸に負の方向ではマイナスの値が設定される。タイミング値の絶対値が最小(すなわち、値0)の場合、フィールド水平線上に相手打球が位置するときにタッチ入力がなされたことを意味する。この場合、着弾領域は、着弾基準点から、
図11に示す実線矢印方向にずれのない(オフセットされていない)位置に設定される。一方、タイミング値の絶対値が最大(例えば、値+8、又は−8)の場合には、着弾領域は着弾基準点から左右方向に最もずれた(オフセットされた)位置に設定される。すなわち、着弾領域は、タイミング値の絶対値が最小のとき、着弾基準点から相手陣地の外周へ延びる第1の線(
図11に示す点線矢印)上にあり、タイミング値の絶対値が最大のとき、着弾領域は着弾基準点から相手陣地の外周へ延びる第1の線から最もずれた位置にある。例えば、着弾基準点1、3の場合、着弾基準点から相手陣地の外周へ延びる第1の線とは、着弾基準点1、3から相手陣地の「コーナー」へ延びる線である。また、着弾基準点2の場合、第1の線とは、着弾基準点2から相手陣地の「ベースライン」へ延びる線である。そして、プレイヤキャラクタが打撃したボールは、オフセットされた、またはオフセットされていない着弾領域内へ着弾する。
【0044】
例えば、フィールド水平線よりも上側(Y軸に正の方向)にボールが位置するときに、タッチ入力がなされると、好適なタイミングよりも早くスイングがなされたと判定される。そして、右手にラケットを保持しフォアストロークで打ち返す場合には、プレイヤキャラクタにより打撃されたボールは着弾基準点よりも左側にずれた着弾領域内に着弾する。一方、フィールド水平線よりも下側(Y軸に負の方向)にボールが位置するときに、タッチ入力がなされると、好適なタイミングよりも遅くスイングがなされたと判定される。そして、右手にラケットを保持しフォアストロークで打ち返す場合には、プレイヤキャラクタにより打撃されたボールは着弾基準点よりも右側にずれた着弾領域内に着弾する。また、バックストロークの場合には、反対に、好適なタイミングよりも早くスイングがなされたと判定されると、ボールは着弾基準点よりも右側にずれた着弾領域内に着弾し、好適なタイミングよりも遅くスイングがなされたと判定されると、ボールは着弾基準点よりも左側にずれた着弾領域内に着弾することになる。
【0045】
ミート値とは、タッチ入力がなされたとき(例えば、タッチ終了位置が検出されたとき)のボールの位置と、フィールド垂直線とのX軸方向における距離に基づいて設定される値である。プレイヤキャラクタの左側にボールが位置するときは、プレイヤキャラクタの左側のフィールド垂直線に基づいてミート値が設定される。ミート値は、各着弾基準点からの着弾領域のオフセット量を決定する。ミート値に基づく着弾領域は、着弾基準点から
図11に示す点線矢印方向へずれる(オフセットされる)。
【0046】
図11に示すように、ミート値に基づいて着弾領域がオフセットされる方向(
図11の点線矢印方向)は、タイミング値に基づいて着弾領域がオフセットされる方向(
図11の実線矢印方向)とほぼ垂直または垂直に交わっている。ミート値は、フィールド垂直線上に相手打球が位置するときにタッチ入力がなされたときに最も大きく(例えば、値8)、フィールド垂直線から離れるにつれて(すなわち、フィールド垂直線よりも左側(X軸に負の方向)又は右側(X軸に正の方向)になるにつれ)小さく(例えば、値1)設定される。フィールド垂直線よりも左側、又は右側にボールがずれるにつれて、打ちにくくなるため、ミート値が低くなる。ミート値が最も大きい(例えば、値8の)場合には、打撃したボールは、着弾基準点から所定方向に最もずれた着弾領域内に(すなわち、対戦キャラクタが打ち返すことの困難な位置に)着弾する。一方、ミート値が最も低い(例えば、値1の)場合には、打撃したボールは、着弾基準点からずれていない(すなわち、対戦キャラクタが打ち返すことの容易な位置に)着弾領域内に着弾する。すなわち、着弾領域は、ミート値が最小のとき、着弾基準点を通り第1の線(
図11に示す点線矢印)にほぼ垂直な第2の線上(
図11に示す実線矢印)上にあり、ミート値が最大のとき、着弾領域は第2の線から最もずれた位置にある。ミート値が高い程、プレイヤキャラクタの打球は着弾基準点からベースライン、サイドライン、ネットの方へ、ずれた着弾領域内に着弾する。
【0047】
このように、タッチ入力に関する情報と、ゲーム空間内に位置するボールに関する情報に基づいて、コントロール値、タイミング値、及びミート値が求められる。そして、処理部200は、コントロール値、タイミング値、及びミート値に基づいて、返球するボールの速度を決定したり、着弾基準点からの着弾領域のオフセット量を決定したりすることができる。
【0048】
図11に示す着弾領域の大きさは、例えば最小半径を0.1m、最大半径を0.4mに設定される。該着弾領域の大きさは、プレイヤキャラクタのキャラクタパラメータ、ゲームのステージ等に応じて可変であり、ゲーム毎に事前に設定される。例えば、着弾領域の大きさは、キャラクタのレベル、各種ゲームパラメータ(例えば、ショット(トップスピン、スライス、ロブ、ドロップ、スマッシュ、ボレー、エアショット、ライジング)毎に決定されるパラメータ、ゲームのプレイを通じて取得されたコントロール値及び/又はミート値の平均値)に基づいて決定される。着弾領域が狭い方が、ピンポイントで着弾点が決定されるため、例えば、プレイヤキャラクタのレベルが低い場合には着弾領域は大きく、レベルが高くなるにつれて着弾領域が狭くなるよう決定する。
図11は選択された着弾基準点に応じて、オフセットされる方向が異なることを示す。例えば相手陣地の着弾基準点1が選択された場合には、ミート値が大きくなるにつれて、相手陣地の隅(コーナー)に着弾領域が移動し、タイミング値の絶対値が大きくなるにつれて、サイドライン又はベースラインへ着弾領域の中心が移動する。
【0049】
図12A、Bは、タイミング値及びミート値に応じて決定される、着弾領域の着弾基準点1からのずれを例示する図である。黒丸は、着弾基準点1を示し、灰色円は着弾領域を示す。
図12Aは着弾領域が狭い場合を、
図12Bは着弾領域が広い場合を示す。また、
図12A、Bの実線矢印はタイミング値が変化した場合の着弾領域の着弾基準点からのずれの一態様を示し、点線矢印はミート値が変化した場合の、着弾領域の着弾基準点からのずれの一態様を示す。
図12A、Bに示すように、ミート値が大きくなるにつれて、相手陣地の隅(コーナー)側に向けて着弾領域が移動し、タイミング値の絶対値が大きくなるにつれて、サイドライン又はベースラインへ向けて着弾領域が移動する。ミート値が最大の場合、着弾領域は相手陣地の隅へ移動するが、着弾領域は相手陣地内に収まるようにする。ミート値最大のときに、ボールがアウトとならないようにするためである。
【0050】
領域1602は、タイミング指標が+4、ミート値が4の場合にオフセット・着弾点決定部226が決定する着弾領域である。領域1604は、タイミング指標が−8、ミート値が4の場合の着弾領域である。領域1606は、タイミング値が+8、ミート値が4の場合の着弾領域である。オフセット・着弾点決定部226は、さらに決定された着弾領域内でランダムに着弾点を決定する。本実施形態においては、タイミング値の絶対値が最大の場合に、着弾領域の中心は、サイドライン、ベースライン上に位置する。従って、着弾領域が領域1604や1606の場合、ベースライン又はサイドラインを超えた領域にボールが着弾しアウトとなる場合がある。
図12Aに示すように着弾領域が狭いほど、好適なタイミング値、ミート値が取得された(すなわち、タイミング値0、ミート値8の)場合に、より相手陣地の隅(コーナー)にボールを着弾させることができる。
【0051】
図13A〜Hは、タイミング値、ミート値に応じて決定される着弾基準点2〜9からの着弾領域のずれをそれぞれ例示する図である。
図13Aは、着弾基準点2からの着弾領域のずれの一態様を示す。ミート値が高くなるほど、着弾領域はベースラインへ近づく。タイミング値の絶対値が大きくなるほど、着弾領域は左右にずれる。例えば、右利きでフォアハンドの場合、スイングフィールド内のフィールド水平線よりもY軸に上の領域でボールを打つ(早くボールを打つ)と、相手陣地における着弾領域が左側にずれる。
図13Bは、着弾基準点3からの着弾領域のずれの一態様を示す。ミート値が高くなるほど、着弾領域はコーナーへ近づく。タイミング値の絶対値が大きくなるほど、着弾領域は左右にずれる。
図13Cは、着弾基準点4からの着弾領域のずれを、
図13Dは着弾基準点5からの着弾領域のずれを、
図13Eは着弾基準点6からの着弾領域のずれを、
図13Fは着弾基準点7からの着弾領域のずれを、
図13Gは着弾基準点8からの着弾領域のずれを、
図13Hは着弾基準点9からの着弾領域のずれをそれぞれ示す。
図13A、D、Gに示すように、着弾基準点2、着弾基準点5、着弾基準点8が選択された場合に、着弾領域はベースライン又はサイドラインを超えることがないため、相手陣地へ着弾するボールがアウトになることはない。
【0052】
以下、
図9、及び
図14を参照して、処理部200において行われる処理の流れを説明する。
まず、ステップS1において、着弾領域サイズ決定部220は、着弾領域の大きさを、プレイヤキャラクタのキャラクタパラメータ、各種ゲームパラメータの一部又は全てに応じて設定する。例えば、着弾領域サイズ決定部220は、キャラクタのレベルが高いほど着弾領域を狭くし、キャラクタのレベルが低いほど着弾領域を広くする。
【0053】
次に、ステップS2において、タッチ入力検出部212は、ディスプレイに表示されているプレイヤキャラクタに対してなされたプレイヤによるタッチパネルに対するタッチ入力に関する情報を検出する。
【0054】
次に、ステップS3において、ステップS2にて検出したタッチ入力に関する情報に基づいて、タッチ入力検出部212はタッチ入力の種類(スライド操作、タップ操作、フリック操作)を判定する。タッチ入力がスライド操作の場合ステップS4へ進み、タップ又はフリック操作の場合ステップS5へ進む。
【0055】
ステップS3においてスライド操作であると判定されると、ステップS4に進む。ステップS4において、オブジェクト動作制御部218は、タッチ入力検出部212により検出されたタッチ入力に関する情報のうち、タッチ開始位置からタッチ終了位置までの距離、方向に基づいてプレイヤキャラクタをゲーム空間の自陣内で移動させる。そして、表示処理部230は、オブジェクト動作制御部218により制御されたプレイヤキャラクタをディスプレイ114に表示させ、ステップS2へ戻る。
【0056】
ステップS3においてタップ操作又はフリック操作であると判定されると、ステップS5へ進む。ステップS5において、スイングフィールド設定部222は、プレイヤキャラクタのゲーム空間内の現在の位置に基づいてスイングフィールドをゲーム空間に設定する。このとき、表示処理部230は、スイングフィールドの広さを定義する外縁と、フィールド水平線とを前記ディスプレイへ出力させてもよい。
【0057】
次に、ステップS6において、タイミング判定部224は、タッチ入力検出部212によりタッチ終了位置が検出されたときの、ゲーム空間内のボールの位置を検出する。そして、タイミング判定部224は、検出されたボールが、設定されたスイングフィールド内に位置するときにステップS2におけるタッチ入力がなされたか否かを判定する。
【0058】
次に、スイングフィールド内にボールが位置するときに、ステップS2におけるタッチ入力がなされたと判定されると、ステップS7へ進む。ステップS7において、着弾基準領域決定部216はタッチ入力検出部212により検出されたタッチ開始位置からタッチ終了位置までの方向に基づいて、ゲーム空間内の相手陣地上に事前に規定されている複数の着弾基準点のうち1つの着弾基準点を決定する。
【0059】
次に、ステップS8においてオフセット・着弾点決定部226は、着弾領域サイズ決定部220により決定された大きさを有する着弾領域を、着弾基準点からオフセットする量を決定する。さらに、オフセット・着弾点決定部226は、オフセットされた着弾領域内にランダムで着弾点を決定する。
【0060】
次に、ステップS9において、オブジェクト動作制御部218は、タッチ終了位置が検出されたときの、ボールの位置と、プレイヤキャラクタの位置に基づいて、ラケットをテイクバックして、ボールを打つ動作を選定し、プレイヤキャラクタに対し、選定された動作を行わせる。テイクバックしてボールを打つ動作は、スイングパターン毎にあらかじめ規定されている。より具体的には、オブジェクト動作制御部218は、タッチ終了位置が検出されたときのスイングフィールド内におけるボールの位置と、プレイヤキャラクタの位置によって、プレイヤキャラクタに対して行わせる打撃動作(スイングパターン、スイング時間)を適宜適当に選択する。基本的なスイングパターンには、フォアストローク、バックストローク、ボレー、スマッシュがある。フォアストロークとは、プレイヤキャラクタのラケットを持つ側(ここでは右手側)を通過するボールを打つ打法である。バックストロークとは、プレイヤキャラクタがラケットを持つ側と反対側(ここでは左手側)を通過するボールを打つ打法である。ボレーとは、自陣にボールがバウンドする前に相手陣地にボールを打ち込む打法である。スマッシュとは、プレイヤキャラクタの図上を通過するボールを相手陣地に急角度で打ち込む打法である。オブジェクト動作制御部218は、例えば、キャラクタの右側にボールが位置する場合に、キャラクタにフォアストロークを行わせ、また、キャラクタがネット付近に位置するときに、キャラクタにボレーを行わせる。オブジェクト動作制御部218は、ボールとキャラクタとの位置関係や、キャラクタのネットからの距離によって、キャラクタに対して行わせる動作を異ならせる。
【0061】
さらに、オブジェクト動作制御部218は、相手打球の速度や、プレイヤキャラクタと相手打球の位置に応じてテイクバックの動作を異ならせる。例えば、タッチ終了位置が検出されたときの相手打球の位置が、プレイヤキャラクタから十分離れている場合には、あらかじめ規定されているテイクバックしてボールを打つ動作を全てプレイヤキャラクタに行わせる。タッチ終了位置が検出されたときの相手打球の位置が、プレイヤキャラクタに近い場合には、プレイヤキャラクタに全ての動作を行わせる時間は無いため、あらかじめ規定されているテイクバックしてボールを打つ動作のうち一部(例えば、最初の動作)を省略してプレイヤキャラクタに行わせる。
【0062】
さらに、オブジェクト動作制御部218は、オフセット・着弾点決定部226により決定された着弾点に着弾するようボールを移動させる。このとき、打球速度決定部228は、ミート値及びコントロール値に基づいてプレイヤキャラクタにより打撃されるボールのオブジェクトパラメータを決定する。例えば、ミート値、コントロール値のいずれか又は両方に基づいて、プレイヤキャラクタにより返球されるボールの速度(オブジェクトパラメータ)を決定する。また、打球速度決定部228は、ミート値、コントロール値を掛合わせた値に、ボールの球種(サーブ、ドロップ)毎の固有値、キャラクタのパラメータ(例えばキャラクタのレベル)を用いて、プレイヤキャラクタにより返球されるボールの速度を決定してもよい。
【0063】
そして、表示処理部230は、オブジェクト動作制御部218により制御されたプレイヤキャラクタ及びボールを、ゲーム空間内で移動表示させる画像信号をディスプレイ114へ出力する。
【0064】
ステップS6において、タッチ入力が検出されたときのボールがスイングフィールド外に位置する場合には、ステップS10へ進む。ステップS10においてプレイヤキャラクタに選択された各種動作を行わせるもののボールを打つことはできず、プレイヤキャラクタは空振りすることになる。
【0065】
以上、本発明の一実施形態につき説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施態様の変更がなされうることを当業者は理解するであろう。
【解決手段】ディスプレイ104とディスプレイ104に関連して設けられたタッチパネル102とを備えた端末100を用いて、タッチ入力により、相手陣地に着弾するオブジェクトの着弾領域を決定する。端末100は、ディスプレイ104に対するプレイヤによるタッチ開始位置とタッチ終了位置を検出するタッチ入力検出部212と、検出されたタッチ開始位置からタッチ終了位置までのタッチ方向に基づいて、ゲーム空間に規定された複数の着弾基準領域のうち1つを決定する着弾基準領域決定部216と、決定された1つの着弾基準領域内へ着弾するようオブジェクトをディスプレイ104上で移動表示させる表示処理部230を備える。