(57)【要約】【課題】ゲーム性を高めることができる情報処理方法を提供する。【解決手段】情報処理方法は、ゲームにおける仮想空間に配置された仮想カメラＶＣによって撮影された画像を表示するためにコンピュータによって実行される。方法は、仮想空間においてゲームキャラクタＣＡ１の移動操作及び攻撃操作を受け付けるステップと、移動操作が受け付けられた場合、仮想空間を移動するゲームキャラクタＣＡ１を追尾するように仮想カメラＶＣを制御するステップと、攻撃操作が受け付けられた場合、ゲームキャラクタＣＡ１を攻撃動作の対象となる敵キャラクタＣＡ２に向かせるステップと、ゲームキャラクタＣＡ１が敵キャラクタＣＡ２に向けられた場合、予め定められた方向からゲームキャラクタＣＡ１を撮影するように仮想カメラＶＣを制御するステップとを有する。【選択図】図１０
2018102364.tif 000002
【特許請求の範囲】
【請求項１】
ゲームにおける仮想空間に配置された仮想カメラによって撮影された画像を表示するためにコンピュータによって実行される情報処理方法であって、
前記仮想空間においてキャラクタを移動させる移動操作及び前記キャラクタに攻撃動作を行わせる攻撃操作を受け付けるステップと、
前記移動操作が受け付けられた場合、前記仮想空間を移動するキャラクタを追尾するように前記仮想カメラを制御するステップと、
前記攻撃操作が受け付けられた場合、前記キャラクタを前記攻撃動作の対象となる対象キャラクタに向かせるステップと、
前記攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップと、
を有する情報処理方法。
【請求項２】
前記キャラクタを前記対象キャラクタに向かせるステップでは、所定期間内に連続する前記攻撃操作が受け付けられた場合、前記所定期間内に連続する前記攻撃操作のうち最初の攻撃動作の対象となる前記対象キャラクタに前記キャラクタを向かせ、
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御する、請求項１に記載の情報処理方法。
【請求項３】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作に基づいて決定された前記仮想カメラの撮影方向を、前記所定期間内に連続する前記攻撃操作を受け付けている間は変更しない、請求項２に記載の情報処理方法。
【請求項４】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記所定期間内に連続する前記攻撃操作を受け付けている間、前記最初の攻撃操作に基づいて決定された前記仮想カメラの撮影方向を維持するように、前記仮想カメラの撮影方向を変更し続ける、請求項２に記載の情報処理方法。
【請求項５】
前記所定期間内に連続する前記攻撃操作は、フリック操作を含み、
前記攻撃動作は、前記キャラクタの向きと前記フリック操作の方向に基づいて決定される、請求項２〜４のいずれか一項に記載の情報処理方法。
【請求項６】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記キャラクタの背後から前記キャラクタを撮影するように前記仮想カメラを制御する請求項１〜５のいずれか一項に記載の情報処理方法。
【請求項７】
前記仮想空間を移動する前記キャラクタを追尾するように前記仮想カメラを制御するステップでは、前記キャラクタの背後から前記キャラクタを撮影するように前記仮想カメラを制御する、請求項６に記載の情報処理方法。
【請求項８】
前記仮想空間を移動する前記キャラクタを追尾するように前記仮想カメラを制御するステップでは、前記キャラクタを前記仮想カメラにおける視野の所定位置に捉えるように、かつ、前記仮想カメラの移動量および向きの変化量が最小となるように、前記仮想カメラを制御する、請求項６に記載の情報処理方法。
【請求項９】
請求項１〜８のいずれか一項に記載の方法をコンピュータに実行させる、プログラム。
【請求項１０】
請求項９に記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、装置、及び当該情報処理方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
特許文献１は、ゲームにおける仮想カメラのカメラワークを開示する。この方法では、仮想カメラの注視点が撮影対象となる対象物の位置に設定される。仮想カメラは、その位置が移動した場合であっても撮影方向が常に注視点に向くように制御される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１９５６０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１記載の方法は、対象物を常に捉えることができるものの、カメラの動きが単純である。ゲーム性を高めるためには、カメラワークを改善する余地がある。
【課題を解決するための手段】
【０００５】
本開示に係る方法は、ゲームにおける仮想空間に配置された仮想カメラによって撮影された画像を表示するためにコンピュータによって実行される情報処理方法である。この方法は、前記仮想空間においてキャラクタを移動させる移動操作及び前記キャラクタに攻撃動作を行わせる攻撃操作を受け付けるステップと、前記移動操作が受け付けられた場合、前記仮想空間を移動するキャラクタを追尾するように前記仮想カメラを制御するステップと、前記攻撃操作が受け付けられた場合、前記キャラクタを前記攻撃動作の対象となる対象キャラクタに向かせるステップと、前記攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップと、を有する。
【発明の効果】
【０００６】
本開示によれば、ゲーム性を高めることができる方法、装置及びプログラムが提供される。
【図面の簡単な説明】
【０００７】
【図１】一実施形態のゲーム提供システムの構成を示す図である。
【図２】携帯端末の構成を示すブロック図である。
【図３】サーバの機能的な構成を示すブロック図である。
【図４】入力操作受付部が入力操作の種類を検知する処理を説明する図である。
【図５】移動方向検出部がユーザの入力操作に応じてゲームキャラクタを移動させる方向を検出する処理を説明する図である。
【図６】カメラ配置制御部が仮想カメラを制御する処理を説明する図である。カメラ配置制御部が仮想カメラを制御する処理を説明する図である。
【図７】ユーザによる入力操作に応じて変化するカメラワーク及び操作オブジェクトを説明する図である。
【図８】移動操作時の処理を説明するフローチャートである。
【図９】仮想カメラの撮影方向がゲームのイベントによって変更される場合の画面例である。
【図１０】交戦時における仮想カメラの撮影方向を説明するための画面例である。
【図１１】攻撃操作時の処理を説明するフローチャートである。
【図１２】オブジェクト制御部がコンボデータに基づいてゲームキャラクタに攻撃動作を実行させたときのアクションの一例を示す図である。
【図１３】フリック操作時の処理を説明するフローチャートである。
【図１４】フリック操作に基づく動作処理を説明するフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照しつつ、本開示の一実施形態について説明する。以下の説明では、同一の部品又は構成要素には同一の符号が付される。それらの名称及び機能は同一である。したがって、それらについての詳細な説明は繰り返さない。
【０００９】
［技術思想］
ゲームの一例として、ユーザによる入力操作に応じて、キャラクタがゲームの仮想空間を移動したり、ゲームの仮想空間に配置された敵キャラクタと交戦したりするゲームがある。ユーザには、ゲームの仮想空間に配置された仮想カメラにより撮像された画像がゲーム画面として提供される。ゲームの世界観を効果的に演出したり、ユーザのゲームへの没入感又はキャラクタとの一体感を高めたりするためには、この仮想カメラのカメラワークが重要になる。カメラワークとは、仮想カメラの撮影手法である。カメラワークの一例としては、固定撮影、パン、ティルト、ズームイン、ズームアウト、フォーカスイン、フォーカスアウト、又はトラック（追跡）などがある。
【００１０】
例えば、キャラクタが移動する場合には、移動の躍動感、迫力などを演出するために、キャラクタを追跡するカメラワークをすることがある。また、例えば、キャラクタが交戦する場合には、交戦時の臨場感、迫力、キャラクタとの一体感などを演出するために、キャラクタの背後から追跡するカメラワークをすることがある。このように、ゲーム性を高めるためには、シーンに応じたカメラワークが重要となる。
【００１１】
さらに、スマートフォンなどのタッチスクリーンを備える情報処理装置がゲームプログラムを実行する場合、タッチスクリーンにはゲームの画面が表示される。情報処理装置は、ゲームの画面上でユーザによる入力操作を受け付ける。ユーザによる入力操作には、タッチスクリーン上で指をドラッグさせる操作など、操作方向に意味を持たせた操作が含まれることがある。このような方向性のある入力操作は、キャラクタの移動方向、攻撃方向、攻撃パターンなどを指定する際に用いられる。ユーザは、ゲームの仮想空間におけるキャラクタの向きを意識して方向性のある入力操作を行う。したがって、カメラワークは、ゲームの演出だけでなく、ユーザによる入力操作の操作性を考慮する必要がある。本実施形態は、上述した課題の少なくとも１つを解決する。
【００１２】
［ゲーム提供システム］
本実施形態において、ユーザは、例えばスマートフォンなどの、タッチスクリーンを搭載した情報処理装置を操作する。ユーザは、ゲームサーバとスマートフォンとの間でゲームに関するデータを送受信させながらゲームを進行させる。
【００１３】
図１は、一実施形態のゲーム提供システムの構成を示す図である。図１に示されるように、ゲーム提供システム１は、ユーザにより使用される情報処理装置と、サーバ２０とを含み、これらの装置がネットワーク８０によって互いに通信可能に接続されている。
【００１４】
図１の例では、ユーザにより使用される情報処理装置として、携帯端末１０Ａ、携帯端末１０Ｂ及び携帯端末１０Ｃなど複数の携帯端末を示している。以下、携帯端末１０Ａ、１０Ｂ、１０Ｃなどの携帯端末を「携帯端末１０」と総称することもある。携帯端末１０Ａ及び携帯端末１０Ｂは、無線基地局８１と通信することにより、ネットワーク８０と接続する。携帯端末１０Ｃは、家屋などの施設に設置される無線ルータ８２と通信することにより、ネットワーク８０と接続する。携帯端末１０は、例えばタッチスクリーンを備える端末であり、一例として、スマートフォン、ファブレット、タブレットなどのコンピュータである。
【００１５】
携帯端末１０は、ゲームプログラムを実行することにより、ゲームプログラムに応じたゲームをプレイする環境をユーザに対して提供する。携帯端末１０には、例えば、アプリなどを配信するプラットフォームを介してゲームプログラムがインストールされる。携帯端末１０は、携帯端末１０にインストールされたゲームプログラム、又は、予めプリインストールされているゲームプログラムを実行することで、ユーザによるゲームのプレイを可能とする。携帯端末１０は、ゲームプログラムを読み込んで実行することにより、サーバ２０と通信接続し、ゲームの進行に応じてゲームに関連するデータをサーバ２０と送受信する。
【００１６】
サーバ２０は、ゲームのプレイに必要なデータを、適宜のタイミングで携帯端末１０へ送信することで、携帯端末１０でのゲームのプレイを進行させる。サーバ２０は、ゲームをプレイする各ユーザの、ゲームに関連する各種データを管理する。サーバ２０は、携帯端末１０と通信し、各ユーザのゲームの進行に応じて、画像、音声、テキストデータ、その他のデータなどを携帯端末１０へ送信する。
【００１７】
例えば、サーバ２０は、各ユーザがゲームのストーリーを進行させた進行状況、ゲーム内に登場するキャラクタ（以下、「ゲームキャラクタ」ともいう。）のうち各ユーザが使用可能なゲームキャラクタの情報、ゲームキャラクタの能力を示すパラメータ、ゲームキャラクタが使用する道具の性能を示すパラメータ、その他の各種データなどを管理する。また、サーバ２０は、ゲームの運営者によりユーザに対して行われるキャンペーン、ゲームの進行における不具合の発生、不具合の解消、その他のゲームの運営に関連する情報などをユーザに通知する処理を行う。
【００１８】
ゲームプログラムは、ユーザがゲームをプレイするモードとして、一人のユーザがプレイするシングルプレイと、複数人のユーザが協同してプレイするマルチプレイとに対応している。例えば、ゲーム提供システム１において、サーバ２０は、マルチプレイに参加するユーザを特定して各ユーザの各携帯端末１０と通信することなどにより、マルチプレイでゲームをプレイする環境を各ユーザに提供する。
【００１９】
ゲーム提供システム１は、マルチプレイに対応することにより、例えば、アクションゲームであれば、各ユーザでチームを結成して、クエストモードなど比較的強力なキャラクタと対戦するゲームモードを複数のユーザがプレイすることを可能とする。また、ゲーム提供システム１は、サッカーゲームであれば、各ユーザが同一のサッカーチームのメンバーとなって試合を行うことを可能とする。また、ゲーム提供システム１は、テニスゲームであれば、各ユーザでチームを結成してダブルスの試合を行うことを可能とする。
【００２０】
［構成］
サーバ２０のハードウェアの構成を説明する。サーバ２０は、通信ＩＦ（Interface）２２と、入出力ＩＦ２３と、メモリ２５と、ストレージ２６と、プロセッサ２９とを備え、これらが通信バスを介して互いに接続する。
【００２１】
通信ＩＦ２２は、通信機器であり、例えばＬＡＮ（Local  Area  Network）規格など各種の通信規格に対応しており、携帯端末１０などの外部の通信機器との間でデータを送受信するためのインタフェースとして機能する。
【００２２】
入出力ＩＦ２３は、インタフェース機器であり、サーバ２０への情報の入力を受け付けるとともに、サーバ２０の外部へ情報を出力するためのインタフェースとして機能する。入出力ＩＦ２３は、マウス、キーボードなどの情報入力機器の接続を受け付ける入力受付部と、画像などを表示するためのディスプレイなどの情報出力機器の接続を受け付ける出力部とを含む。
【００２３】
メモリ２５は、記憶装置であり、例えば、処理に使用されるデータなどを記憶するために用いられる。メモリ２５は、例えば、プロセッサ２９が処理を行う際に一時的に使用するための作業領域をプロセッサ２９に提供する。メモリ２５は、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）などを含んで構成される。
【００２４】
ストレージ２６は、記憶装置であり、例えば、プロセッサ２９が読み込んで実行するための各種プログラム及びデータを記憶するために用いられる。ストレージ２６が記憶する情報は、ゲームプログラム、ゲームプログラムに関連する情報、ゲームプログラムをプレイするユーザの情報、その他の情報を含む。ストレージ２６は、例えば、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリなどを含んで構成される。
【００２５】
プロセッサ２９は、演算装置であり、ストレージ２６に記憶されるプログラムなどを読み込んで実行することにより、サーバ２０の動作を制御する。プロセッサ２９は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）などを含んで構成される。
【００２６】
図２は、携帯端末１０の構成を示すブロック図である。図２に示されるように、携帯端末１０は、アンテナ１１０と、無線通信ＩＦ１２０と、タッチスクリーン１３０と、入出力ＩＦ１４０と、記憶部１５０と、音声処理部１６０と、マイク１７０と、スピーカ１８０と、制御部１９０とを含む。
【００２７】
アンテナ１１０は、携帯端末１０が発する信号を電波として空間へ放射する。また、アンテナ１１０は、空間から電波を受信して受信信号を無線通信ＩＦ１２０へ与える。
【００２８】
無線通信ＩＦ１２０は、携帯端末１０が他の通信機器と通信するため、アンテナ１１０などを介して信号を送受信するための変復調処理などを行う。無線通信ＩＦ１２０は、チューナー、高周波回路などを含む無線通信用の通信モジュールであり、携帯端末１０が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部１９０へ与える。
【００２９】
タッチスクリーン１３０は、ユーザからの入力操作を受け付けて、ユーザに対し情報をディスプレイ１３２に出力する。タッチスクリーン１３０は、ユーザの入力操作を受け付けるための部材であるタッチパネル１３１を含む。また、タッチスクリーン１３０は、メニュー画面や、ゲームの進行を画面に表示するための部材であるディスプレイ１３２を含む。タッチパネル１３１は、例えば、静電容量方式のものを用いることによって、ユーザの指などが接近したことを検出する。ディスプレイ１３２は、例えば、ＬＣＤ（Liquid  Crystal  Display）、有機ＥＬ（electroluminescence）、その他の表示装置によって実現される。
【００３０】
入出力ＩＦ１４０は、インタフェース機器であり、携帯端末１０への情報の入力を受け付けるとともに、携帯端末１０の外部へ情報を出力するためのインタフェースとして機能する。
【００３１】
記憶部１５０は、記憶装置であり、フラッシュメモリ、ＲＡＭ（Random  Access  Memory）などにより構成され、携帯端末１０が使用するプログラム、携帯端末１０がサーバ２０から受信する各種データ、その他の各種データを記憶する。
【００３２】
音声処理部１６０は、演算装置であり、音声信号の変復調を行う。音声処理部１６０は、マイク１７０から与えられる信号を変調して、変調後の信号を制御部１９０へ与える。また、音声処理部１６０は、音声信号をスピーカ１８０へ与える。音声処理部１６０は、例えば、音声処理用のプロセッサによって実現される。マイク１７０は、音声信号の入力を受け付けて制御部１９０へ出力するための音声入力部として機能する。スピーカ１８０は、音声信号を、携帯端末１０の外部へ出力するための音声出力部として機能する。
【００３３】
制御部１９０は、演算装置であり、記憶部１５０に記憶されるプログラムを読み込んで実行することにより、携帯端末１０の動作を制御する。制御部１９０は、例えば、アプリケーションプロセッサによって実現される。
【００３４】
携帯端末１０がゲームプログラム１５１を実行する処理について、より詳細に説明する。ある局面において、記憶部１５０は、ゲームプログラム１５１と、ゲーム情報１５２と、ユーザ情報１５３とを記憶する。携帯端末１０は、例えば、サーバ２０からゲームプログラムをダウンロードして記憶部１５０に記憶させる。また、携帯端末１０は、ゲームの進行に伴いサーバ２０と通信することで、ゲーム情報１５２及びユーザ情報１５３などの各種のデータをサーバ２０と送受信する。
【００３５】
ゲームプログラム１５１は、携帯端末１０においてゲームを進行させるためのプログラムである。ゲーム情報１５２は、ゲームプログラム１５１が参照する各種のデータを含む。ゲーム情報１５２は、例えば、ゲームにおいて仮想空間に配置されるオブジェクトの情報、オブジェクトに対応付けられた効果の情報（ゲームキャラクタに設定されるスキルの情報などを含む）基準モーションデータ、コンボデータなどを含む。基準モーションデータは、各ゲームキャラクタの動作を定義する。動作は、入力操作に対応付けて定義されてもよい。コンボデータは、所定の条件で発生するコンボによってゲームキャラクタに実行させる動作の内容（例えば、攻撃動作の種類、攻撃力、動きなど）を定義する。ユーザ情報１５３は、ゲームをプレイするユーザについての情報を含む。ユーザ情報１５３は、例えば、ゲームをプレイする携帯端末１０のユーザを識別する情報、マルチプレイ時に協働してゲームをプレイする他のユーザを識別する情報、その他の情報を含む。その他の情報は、例えば、タッチパネル１３１の履歴データなどを含む。履歴データは、タッチパネル１３１の操作履歴である。
【００３６】
制御部１９０は、ゲームプログラム１５１を読み込んで実行することにより、入力操作受付部１９１と、ゲーム進行処理部１９２と、移動方向検出部１９３と、カメラ配置制御部１９４と、オブジェクト制御部１９５と、表示制御部１９６と、の各機能を発揮する。
【００３７】
入力操作受付部１９１は、タッチスクリーン１３０の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部１９１は、ユーザの指などがタッチパネル１３１に接近したことを、タッチスクリーン１３０を構成する面の横軸及び縦軸からなる座標系の座標として検出する。
【００３８】
入力操作受付部１９１は、タッチスクリーン１３０に対するユーザの操作を判別する。入力操作受付部１９１は、例えば、（１）「接近操作」、（２）「リリース操作」、（３）「タップ操作」、（４）「ダブルタップ操作」、（５）「長押し操作（ロングタッチ操作）」、（６）「ドラッグ操作（スワイプ操作）」、（７）「ムーブ操作」、（８）「フリック操作」、その他のユーザの操作を判別する。入力操作受付部１９１が判別するユーザの操作は、上記に限られない。例えば、タッチパネル１３１が、ユーザがタッチパネル１３１に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部１９１は、ユーザにより押下された圧力の大きさを判別する。
【００３９】
（１）「接近操作」とは、ユーザが指などをタッチスクリーン１３０に接近させる操作である。タッチスクリーン１３０は、ユーザの指などが接近したこと（ユーザの指などがタッチスクリーン１３０に接触したことを含む）をタッチパネル１３１により検出し、検出したタッチスクリーン１３０の座標に応じた信号を制御部１９０へ出力する。制御部１９０は、タッチスクリーン１３０へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
【００４０】
（２）「リリース操作」とは、ユーザがタッチスクリーン１３０を接近操作している状態を止める操作である。入力操作受付部１９１は、例えば、ユーザが指などをタッチスクリーン１３０に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部１９０は、タッチスクリーン１３０へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
【００４１】
（３）「タップ操作」とは、ユーザがタッチスクリーン１３０に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。入力操作受付部１９１は、接近操作が検出されない状態（ユーザの指などがタッチパネル１３１から離れており、タッチパネル１３１がユーザの指などの接近を検出していない状態）から、タッチスクリーン１３０の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。入力操作受付部１９１は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合（接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合）に、ユーザの操作を「タップ操作」と判別する。
【００４２】
（４）「ダブルタップ操作」とは、ユーザがタップ操作を一定時間内に２回行う操作である。入力操作受付部１９１は、例えば、ユーザの操作をタップ操作と判別してから一定時間内に、タップ操作にかかる座標で再びタップ操作を判別した場合に、ユーザの操作を「ダブルタップ操作」と判別する。
【００４３】
（５）「長押し操作」とは、ユーザがタッチスクリーン１３０を押し続ける操作である。タッチスクリーン１３０は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」（「長押し操作」を、「ロングタッチ操作」と称することもある）と判別する。
【００４４】
（６）「ドラッグ操作」とは、ユーザがタッチスクリーン１３０に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
【００４５】
（７）「ムーブ操作」とは、ユーザがタッチスクリーン１３０において、接近操作を維持しつつ、タッチスクリーン１３０に指などを接近させている位置を移動させてリリース操作を行う一連の操作をいう。
【００４６】
（８）「フリック操作」は、ユーザがムーブ操作を予め定められた時間よりも短い時間で行う操作をいう。フリック操作は、ユーザがタッチスクリーン１３０で指を弾くような操作である。
【００４７】
入力操作受付部１９１は、所定期間のユーザの入力操作の判別結果を記憶部１５０に操作履歴として記憶する。入力操作受付部１９１により行われる入力操作の種類を検知する詳細な処理は、後述する。
【００４８】
ゲーム進行処理部１９２は、ユーザの操作に応じて、各種のプログラムを呼び出すなどによりゲームを進行させる処理を行う。例えば、ゲーム進行処理部１９２は、サーバ２０と通信し、ゲームの進行に応じてサーバ２０へデータを送信する処理、サーバ２０からゲームに関連するデータを受信する処理、ゲームの進行に応じてユーザに報酬を付与する処理、時間の経過を計測する処理、その他の処理を行う。
【００４９】
移動方向検出部１９３は、タッチスクリーン１３０に対するユーザの入力操作が移動操作である場合、ゲームに登場するキャラクタであるゲームキャラクタを移動させる入力操作の操作内容を検出する。移動操作とは、ゲームキャラクタの移動方向を指示する入力操作であり、方向性のある操作である。移動操作の一例としては、所定条件下のドラッグ操作又はフリック操作である。例えばゲームプログラム１５１がアクションゲームである場合、移動方向検出部１９３は、ユーザのドラッグ操作又はフリック操作に基づいて、ゲームキャラクタを移動させる方向を検出する。
【００５０】
具体的には、移動方向検出部１９３は、タッチスクリーン１３０からユーザの指が離れた状態から、ユーザが指をタッチスクリーン１３０に接近させて、入力操作受付部１９１がタッチパネル１３１にユーザの指が接近したことを検出した座標を初期タッチ位置として、ユーザがドラッグ操作を行った場合に、初期タッチ位置の座標とタッチスクリーン１３０の検出結果とに基づいて、ゲームキャラクタの移動方向を検出する。移動方向検出部１９３の詳細な処理は、後述する。
【００５１】
カメラ配置制御部１９４は、仮想空間に配置される各オブジェクトを、どのようにユーザに見せるかを決定する。具体的には、カメラ配置制御部１９４は、制御部１９０がゲームプログラム１５１を読み込んで実行することで生成される仮想空間において、仮想カメラの配置及び撮影方向（カメラワーク）を制御する。仮想カメラの配置及び撮影方向は、仮想空間の座標及び方向によって定義される。制御部１９０は、仮想空間における仮想カメラの撮影画像をディスプレイ１３２に表示することで、ユーザに対しゲームのプレイ環境を提供する。
【００５２】
オブジェクト制御部１９５は、携帯端末１０がゲームプログラム１５１を実行することにより進行されるゲームに登場する各種オブジェクト、及び、入力操作受付部１９１が受け付けたユーザの操作内容に基づいて生成される各種オブジェクト（例えば、ＧＵＩ（Graphical  User  Interface）画面など）の生成、変形、移動などの処理を制御する。オブジェクト制御部１９５は、例えば、タッチスクリーン１３０に対する入力操作に基づいて、ユーザの操作を示す操作オブジェクトを生成する。操作オブジェクトの詳細については後述する。
【００５３】
表示制御部１９６は、仮想カメラのカメラワークに従った画像をディスプレイ１３２に出力する。表示制御部１９６は、仮想空間内における仮想カメラの配置及び撮影方向に応じて、ディスプレイ１３２の表示内容を決定し、決定した表示内容に従う画像、テキストなどの各種の情報をディスプレイ１３２に出力する。
【００５４】
図３は、サーバ２０の機能的な構成を示すブロック図である。図３を参照して、サーバ２０の詳細な構成を説明する。サーバ２０は、一般的なコンピュータとして構成され、プログラムに従って動作することにより、通信部２２０と、記憶部２５０と、制御部２９０としての機能を発揮する。
【００５５】
通信部２２０は、通信機器であり、サーバ２０が携帯端末１０などの外部の通信機器と通信するためのインタフェースとして機能する。
【００５６】
記憶部２５０は、記憶装置であり、携帯端末１０においてユーザがゲームを進行させるための各種プログラム及びデータを記憶する。ある局面において、記憶部２５０は、ゲームプログラム２５１と、ゲーム情報２５２と、ユーザ情報２５３とを記憶する。
【００５７】
ゲームプログラム２５１は、サーバ２０が携帯端末１０と通信して、携帯端末１０においてゲームを進行させるためのプログラムである。ゲームプログラム２５１は、ゲームを進行させるための各種データであるゲーム情報２５２及びユーザ情報２５３などを参照して、ユーザの入力操作に応じてゲームを進行させる。ゲームプログラム２５１は、制御部２９０に実行されることにより、携帯端末１０とデータを送受信する処理、携帯端末１０のユーザが行った操作内容に応じてゲームを進行させる処理、ゲームをプレイするユーザの情報を更新する処理、その他の処理をサーバ２０に行わせる。
【００５８】
ゲーム情報２５２は、ゲームプログラム２５１が参照する各種のデータを含む。ゲーム情報２５２は、オブジェクト管理テーブル２５２Ａと、パッシブスキル管理テーブル２５２Ｂと、アクティブスキル管理テーブル２５２Ｃとを含む。
【００５９】
オブジェクト管理テーブル２５２Ａは、ゲームの仮想空間内に配置されるオブジェクトの設定を示す。携帯端末１０は、ゲームプログラム１５１を実行することにより、仮想空間内に配置されるオブジェクトを、仮想空間内に配置される仮想カメラによって撮影された画像をディスプレイ１３２に表示させることでゲームを進行させる。
【００６０】
ここで、オブジェクトとしては、例えば、ユーザが操作するゲームキャラクタを示すオブジェクト、ゲームキャラクタが装着する対象物を示すオブジェクトなど様々なものがある。これらオブジェクトは、ユーザがタッチスクリーン１３０に対して予め定められた入力操作を行うこと、ゲームの進行に伴い一定の条件を満たすこと、その他の様々な事象の発生を契機として、オブジェクトに対応付けられた処理が行われる。
【００６１】
例えば、あるオブジェクトに対してユーザがタッチスクリーン１３０に対して接近操作を行うことで、オブジェクトがユーザに選択された状態となる。また、例えば、ユーザがタップ操作を行うことで、ユーザに選択されているオブジェクトがユーザの入力操作に応じて攻撃するなどの処理が行われる。また、例えば、ユーザがドラッグ操作を行うことで、ユーザに選択されているオブジェクトがユーザの入力操作に応じて移動するなどの処理が行われる。また、例えば、ユーザがオブジェクトに対してロングタッチ操作をすることで、ユーザに対し、ゲームを有利に進めるための報酬が付与されるなどの処理が行われる。
【００６２】
パッシブスキル管理テーブル２５２Ｂは、オブジェクトを識別する情報と、オブジェクトに対応付けられたパッシブスキルの情報とが対応付けられている。ここで、パッシブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動され、ユーザがゲームを有利に進行させることができるものである。例えば、パッシブスキルが発動した場合に、ゲームキャラクタの移動速度が向上するなどの、ゲームを有利に進行させられる効果を発揮させる。
【００６３】
アクティブスキル管理テーブル２５２Ｃは、オブジェクトを識別する情報と、オブジェクトに対応付けられたアクティブスキルの情報とが対応付けられている。ここで、アクティブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動可能な状態となり、ユーザから、スキルを発動させるための入力操作を受け付けることにより、ユーザがゲームを有利に進行させることができるものである。
【００６４】
ユーザ情報２５３は、ゲームをプレイするユーザについての情報である。ユーザ情報２５３は、ユーザ管理テーブル２５３Ａを含む。ユーザ管理テーブル２５３Ａは、各ユーザを識別する情報と、ユーザがゲームを進行させた度合いを示す情報と、ユーザがゲーム内で保有するアイテム、ゲームキャラクタ、ゲームキャラクタが使用する装着物などの情報その他の情報を含む。
【００６５】
制御部２９０は、記憶部２５０に記憶されるゲームプログラム２５１を実行することにより、送受信部２９１、サーバ処理部２９２、データ管理部２９３、マッチング部２９４、計測部２９５としての機能を発揮する。
【００６６】
送受信部２９１は、ゲームプログラム１５１を実行する携帯端末１０から、各種情報を受信し、携帯端末１０に対し、各種情報を送信する。携帯端末１０とサーバ２０とは、ユーザに関連付けられるオブジェクトを仮想空間に配置する要求、オブジェクトを削除する要求、オブジェクトを移動させる要求、ユーザが獲得する報酬に応じて各種パラメータを更新する要求、ゲームを進行させるための画像、音声その他のデータ、サーバ２０から携帯端末１０へ送信される通知などの情報を送受信する。
【００６７】
サーバ処理部２９２は、サーバ２０全体の動作を制御し、各種のプログラムを呼び出すなどによりゲームの進行に必要な処理を行う。サーバ処理部２９２は、例えば、携帯端末１０から受信した情報に基づいて、ゲーム情報２５２、ユーザ情報２５３などのデータを更新し、携帯端末１０に各種データを送信することでゲームを進行させる。
【００６８】
データ管理部２９３は、サーバ処理部２９２の処理結果に従って、記憶部２５０に記憶される各種データを更新する処理、データベースにレコードを追加／更新／削除する処理などを行う。
【００６９】
マッチング部２９４は、複数のユーザを関連付けるための一連の処理を行う。マッチング部２９４は、例えば、ユーザがマルチプレイを行うための入力操作を行った場合に、ゲームを協同してプレイさせるユーザを関連付ける処理などを行う。
【００７０】
計測部２９５は、時間を計測する処理を行う。計測部２９５は、例えば、仮想空間に配置される各オブジェクトについて時間の経過を計測する。また、計測部２９５は、ゲームが進行している時間を計測する。サーバ２０は、携帯端末１０から、携帯端末１０においてゲームプログラム１５１を実行して計測される各種の計測結果の情報を受信し、受信した情報と、計測部２９５の計測結果とを照合することで、携帯端末１０とサーバ２０とで、各種の時間に関する情報を同期させる。
【００７１】
［実施形態の構成のまとめ］
以上のように、実施形態のゲーム提供システム１の構成を説明してきた。本実施形態において、ゲームプログラム１５１は、例えばアクションゲームであり、仮想空間内の仮想カメラの配置及び撮影方向に応じた画像をタッチスクリーン１３０に表示させることでゲームを進行させる。
【００７２】
例えば、ゲームプログラム１５１がアクションゲームである場合、ゲーム進行処理部１９２は、ユーザの操作に応じてストーリーを進行させ、画像、テキストなどディスプレイ１３２に表示するデータを決定する処理、交戦相手又は仲間の選択をユーザから受け付ける処理、ユーザの操作に応じてアクションゲームを進める処理などの基本的な処理を行う。
【００７３】
例えば、ゲームプログラム１５１がアクションゲームである場合、カメラ配置制御部１９４は、アクションゲームを行うための仮想空間における仮想カメラの配置位置及び撮影方向を、アクションゲームの進展に応じて、逐次、決定する。カメラ配置制御部１９４は、仮想カメラのカメラワークを制御する。カメラ配置制御部１９４の詳細な処理は、後述する。
【００７４】
例えば、表示制御部１９６は、ゲームキャラクタを一定領域に表示させるよう仮想カメラを配置した状態で、ゲームキャラクタに第１の動作（例えば、移動動作）を行わせるための入力操作を受け付けて、受け付けた入力操作に応じてゲームキャラクタに第１の動作を行わせる画面表示をする。
【００７５】
［動作］
図面を参照して、実施形態のゲーム提供システム１を構成する各装置の動作を説明する。
【００７６】
（入力操作の検知）
図４は、入力操作受付部１９１が入力操作の種類を検知する処理を説明する図である。
図４の例では、ユーザ情報１５３を記憶する記憶部１５０の配列ｆｐ［０］〜配列ｆｐ［１０］までの１１個の配列のそれぞれに、タッチパネル１３１により検知されたタッチスクリーン１３０上の位置を示す履歴情報が格納されている。履歴情報は、所定の期間毎（例えば、フレームレート毎）に履歴情報テーブルに格納される。履歴情報が格納される配列の個数は限定されず、任意の個数であってよい。また、履歴情報テーブルでは、タッチオフからタッチオンになった場合に検知された履歴情報を、初期位置座標として記憶部１５０に記憶してもよい。
【００７７】
図４に示されるように、例えば、配列ｆｐ［０］〜配列ｆｐ［９］に、履歴情報（ｘ０、ｙ０）が格納されており、配列ｆｐ［１０］にｎｕｌｌ値が格納された場合、入力操作受付部１９１は、入力操作はタップ操作であると判別する。また、例えば、タッチナウ状態において履歴情報が変化した後に、ｎｕｌｌ値が格納された場合、入力操作受付部１９１はｎｕｌｌ値が格納された配列ｆｐ［５］の直前の配列ｆｐ［３］および配列ｆｐ［４］に格納されている履歴情報を参照する。そして、入力操作受付部１９１は、配列ｆｐ［３］および配列ｆｐ［４］の履歴情報がそれぞれ示す位置の間の距離が予め設定された閾値以上である場合、入力操作はフリック操作であると判別する。また、入力操作受付部１９１は、タッチナウ状態において履歴情報が変化した後に、例えば配列ｆｐ［４］〜ｆｐ［１０］に履歴情報（ｘ１５、ｙ１５）が格納された場合、入力操作はドラッグ操作であると判別する。
【００７８】
（移動方向の検知）
図５は、移動方向検出部１９３がユーザの入力操作に応じてゲームキャラクタを移動させる方向を検出する処理を説明する図である。移動方向検出部１９３は、ユーザがタッチスクリーン１３０を押していない状態から、指などをタッチパネル１３１に接近させてタッチスクリーン１３０を押した位置（初期タッチ位置）を起点と設定する。入力操作受付部１９１は、ユーザの操作をドラッグ操作と判別している場合に、起点となる座標と、タッチスクリーン１３０がユーザの指などの接近を検出している座標とに基づいて、ゲームキャラクタを移動させる方向を検出する。
【００７９】
図５の状態（Ａ）は、タッチスクリーン１３０からユーザの指が離れた状態から、ユーザが指をタッチスクリーン１３０に接近させた状態を示す。入力操作受付部１９１は、ユーザの指がタッチパネル１３１に接近したことを検出し、検出した座標を初期タッチ位置として記憶部１５０にユーザ情報１５３として保持する。
【００８０】
図５の例では、記憶部１５０が保持する初期タッチ位置の座標を、初期タッチ位置座標１５５として示す。入力操作受付部１９１は、タッチスクリーン１３０の検出結果（ユーザの指がタッチスクリーン１３０に接近している座標、及び、ユーザの指がタッチスクリーン１３０に接近していることを検出していないこと（検出結果「ｎｕｌｌ」））を、一定フレーム分、ユーザ情報１５３としてバッファメモリに格納する。バッファメモリは、タッチスクリーン１３０における検出結果を、各フレームについて一定フレーム分（図５の例では、配列ｆｐ〔０〕〜配列ｆｐ〔１０〕までの１１フレーム分）、格納することができる。バッファメモリは、例えばリングバッファとして実現することができる。
【００８１】
状態（Ａ）の例では、ユーザがタッチスクリーン１３０を押した位置を、押下位置３０Ａ（タッチスクリーン１３０の座標（ｘ０，ｙ０））として示す。
【００８２】
図５の状態（Ｂ）は、ユーザがタッチスクリーン１３０に対してドラッグ操作を行って、タッチスクリーン１３０に対する押下位置を、押下位置３０Ａから押下位置３０Ｂ（タッチスクリーン１３０の座標（ｘ９，ｙ９））まで１０フレーム（配列ｆｐ〔０〕〜配列ｆｐ〔９〕までの１０フレーム分）で移動させたことを示す。入力操作受付部１９１は、タッチスクリーン１３０の検出結果をユーザ情報１５３としてバッファメモリに格納し、バッファメモリに保持される値を参照して、タッチスクリーン１３０に対するユーザの操作をドラッグ操作と判別する。
【００８３】
図５の状態（Ｃ）は、ユーザがタッチスクリーン１３０を押している位置を、押下位置３０Ｂから押下位置３０Ｃ（タッチスクリーン１３０の座標（ｘ１４，ｙ１４））まで、５フレーム（配列ｆｐ〔１０〕、ｆｐ〔０〕、ｆｐ〔１〕、ｆｐ〔２〕、ｆｐ〔３〕の５フレーム分）で移動させたことを示す。
【００８４】
図５の状態（Ｄ）は、移動方向検出部１９３が、状態（Ｂ）及び状態（Ｃ）のそれぞれにおいて、ユーザがゲームキャラクタを移動させる方向を指定する入力操作の検出結果を示す。移動方向検出部１９３は、バッファメモリにおいて、タッチスクリーン１３０が検出する押下位置の座標を書き込む対象となるメモリ領域がいずれであるかを示す情報（バッファメモリの書き込み位置）を管理している。
【００８５】
状態（Ｂ）において、移動方向検出部１９３は、入力操作受付部１９１の判別結果に基づいて、初期タッチ位置を示す座標３１Ａ（座標（ｘ０，ｙ０））から座標３１Ｂ（座標（ｘ９，ｙ９））までユーザがドラッグ操作を行ったことを検出する。移動方向検出部１９３は、初期タッチ位置の座標３１Ａを起点として、座標３１Ａと座標３１Ｂとによって規定されるベクトル３２Ｂ（（ｙ９−ｙ０）／（ｘ９−ｘ０））を、ゲームキャラクタを移動させる方向として検出する。
【００８６】
状態（Ｃ）において、移動方向検出部１９３は、入力操作受付部１９１の判別結果に基づいて、座標３１Ｂ（座標（ｘ９，ｙ９））から座標３１Ｃ（座標（ｘ１４，ｙ１４））までユーザがドラッグ操作を行ったことを検出する。移動方向検出部１９３は、初期タッチ位置の座標３１Ａを起点として、座標３１Ａと座標３１Ｃとによって規定されるベクトル３２Ｃ（（ｙ１４−ｙ０）／（ｘ１４−ｘ０））を、ゲームキャラクタを移動させる方向として検出する。
【００８７】
このように、移動方向検出部１９３は、ユーザの指が接近していない状態からタッチスクリーン１３０に接近したことを検出した第１のタッチ位置から、接近していることを検出したまま第２のタッチ位置へ検出位置が移動した場合に、接近していることを検出している間、第１のタッチ位置を起点とし第２のタッチ位置へ向かう方向である操作方向を、ゲームキャラクタＣＡ１の仮想空間における移動方向として決定する。
【００８８】
（仮想カメラの制御）
図６は、カメラ配置制御部１９４が仮想カメラＶＣを制御する処理を説明する図である。図６では、仮想カメラＶＣがゲームキャラクタＣＡ１を背後から追尾するカメラワークを説明する。図６の状態（Ａ）では、ゲームキャラクタＣＡ１が方向Ｄ１（移動方向）に向かって移動する様子が示されている。例えば、入力操作受付部１９１がユーザによる入力操作をドラッグ操作と判定し、移動方向検出部１９３がゲームキャラクタＣＡ１の移動方向を方向Ｄ１と検出したとき、オブジェクト制御部１９５は、ゲームキャラクタＣＡ１の正面を方向Ｄ１に向け、ゲームキャラクタＣＡ１を方向Ｄ１へ移動させる。カメラ配置制御部１９４は、ゲームキャラクタＣＡ１の背後から追尾するように、仮想カメラＶＣの配置位置及び撮影方向を制御する。ゲームキャラクタＣＡ１の背後から追尾する場合、カメラ配置制御部１９４は、撮影方向ＤＶとゲームキャラクタＣＡ１の向き（方向Ｄ１）とがなす角度θ１（対応関係）は０°となる。カメラ配置制御部１９４は、カメラ視界の中央付近にゲームキャラクタＣＡ１が表示されるように、仮想カメラＶＣを配置する。
【００８９】
図６の状態（Ｂ）では、ユーザによるドラッグ操作により移動方向が方向Ｄ１から方向Ｄ２へ変更された様子を示す。この場合、オブジェクト制御部１９５は、ゲームキャラクタＣＡ１の正面を方向Ｄ２に向け、ゲームキャラクタＣＡ１を方向Ｄ２へ移動させる。このとき、カメラ配置制御部１９４は、撮影方向ＤＶとゲームキャラクタＣＡ１の向き（方向Ｄ１）とがなす角度θ１（対応関係）が０°となるように、仮想カメラＶＣの配置位置及び撮影方向ＤＶを変更する。なお、カメラ配置制御部１９４は、変化前後の移動方向の変化角度θ２を検出し、検出された変化角度θ２を仮想カメラＶＣの変化角度θ３としてもよい。
【００９０】
このように、カメラ配置制御部１９４は、ユーザによる入力操作に応じて移動方向が変化するゲームキャラクタＣＡ１を背後から追尾するようなカメラワークを提供する。
【００９１】
（移動操作時の画面例）
図７は、ユーザによる入力操作に応じて変化するカメラワーク及び操作オブジェクトを説明する図である。画面例（Ａ）〜画面例（Ｄ）は、タッチスクリーン１３０に表示された画像である。画面例（Ａ）〜画面例（Ｄ）では、表示制御部１９６が、カメラ配置制御部１９４によりゲームキャラクタＣＡ１の背後から撮影された画像を、タッチスクリーン１３０に表示させている。入力操作受付部１９１によりユーザによる入力操作が受け付けられたとき、オブジェクト制御部１９５は、ユーザの入力操作に応じて操作オブジェクトを生成する。表示制御部１９６は、仮想カメラＶＣにより撮影された画像上に操作オブジェクトを重畳させて、タッチスクリーン１３０に表示させる。
【００９２】
画面例（Ａ）は、ユーザがタッチスクリーン１３０に指などを接近させた操作をしたときの画面の一例である。入力操作受付部１９１によりユーザがタッチスクリーン１３０の第１位置３００Ａに指などを接近させた操作をしたと判定されたとき、オブジェクト制御部１９５は、入力操作に応答して円形の操作オブジェクト３００を生成する。表示制御部１９６は、生成された円形の操作オブジェクト３００をタッチ位置である第１位置３００Ａに表示させる。画面例（Ａ）では、撮影方向を方向ＶＤ１、ゲームキャラクタＣＡ１の向きを方向ＣＤ１で示している。撮影方向である方向ＶＤ１とゲームキャラクタＣＡ１の向きである方向ＣＤ１の対応関係（なす角度）は０°である。
【００９３】
画面例（Ｂ）は、画面例（Ａ）の第１位置３００Ａを起点としてユーザがドラッグ操作をしたときの画面の一例である。入力操作受付部１９１は、起点である第１位置３００Ａから終点である第２位置３００Ｂまでのドラッグ操作を受け付ける。入力操作受付部１９１によりドラッグ操作が受け付けられた場合、オブジェクト制御部１９５は、ドラッグ操作の操作結果を示す操作オブジェクト３００を生成する。ドラッグ操作の操作結果を示す操作オブジェクト３００は、ドラッグ操作の起点となる位置と終点となる位置とを関連付けることで、操作結果（例えば操作方向）を表現する。画面例（Ｂ）の例では、オブジェクト制御部１９５は、起点及び終点に対応する位置に操作オブジェクト３００の端部がそれぞれ位置するように、第１位置３００Ａから第２位置３００Ｂに至るまで引き延ばされた操作オブジェクト３００を生成している。表示制御部１９６は、引き延ばされた操作オブジェクト３００をタッチスクリーン１３０に表示させる。この状態における操作方向及び撮影方向が図示されている。操作方向は方向ＳＤ１（図中右上方向）であり、撮影方向は方向ＶＤ１（図中上方向）である。方向ＳＤ１と方向ＶＤ１とのなす角はθ４である。
【００９４】
さらに、移動方向検出部１９３は、ドラッグ操作が受け付けられた場合、ゲームキャラクタＣＡ１の移動方向を、操作方向である方向ＳＤ１と同一の方向に決定する。オブジェクト制御部１９５は、ゲームキャラクタＣＡ１を移動方向に向け、移動を開始させる。
【００９５】
画面例（Ｂ）においてゲームキャラクタＣＡ１の向きが変更されると、カメラ配置制御部１９４は、ゲームキャラクタＣＡ１の背後を追尾するように仮想カメラＶＣの配置位置及び撮影方向を制御する。具体的には、方向ＳＤ１と方向ＶＤ１とのなす角であるθ４分だけ、撮影方向が注視点（ゲームキャラクタＣＡ１）を中心として右回転する。さらに、仮想カメラＶＣの配置位置は、ゲームキャラクタＣＡ１又は移動目的地が画面の中央にくるように制御される。これにより、タッチスクリーン１３０に表示される画像は、画面例（Ｂ）から画面例（Ｃ）へ遷移する。
【００９６】
画面例（Ｃ）は、画面例（Ｂ）における仮想カメラの撮影方向を変更したときの画面の一例である。画面例（Ｃ）に示されるように、仮想カメラＶＣの撮影方向が方向ＶＤ１から方向ＶＤ２へ変更されたとき、画面例（Ｂ）におけるユーザによる操作方向である方向ＳＤ１、つまり、操作オブジェクト３００の延在方向（伸び方向）は、ゲームの仮想空間内において変更されることになる。画面例（Ｃ）において、操作方向は、方向ＳＤ１と方向ＶＤ１とのなす角であるθ４分だけ右回転された方向ＳＤ２となる。このため、移動方向検出部１９３は、操作方向と移動方向との対応関係が仮想カメラＶＣの撮影方向の変更前後で維持されるように、操作方向の起点の位置を変更する。さらに、オブジェクト制御部１９５は、操作方向と移動方向との対応関係が仮想カメラＶＣの撮影方向の変更前後で維持されるように、操作オブジェクト３００の起点の位置を変更する。
【００９７】
画面例（Ｄ）は、操作方向の起点の位置、及び、操作オブジェクト３００の起点の位置を変更したときの画面の一例である。移動方向検出部１９３は、３つの手法の何れかを用いて、操作方向の起点の位置を変更する。
【００９８】
第１の手法は、相対量を用いる手法である。移動方向検出部１９３は、撮影方向の変更前（画面例（Ａ））における撮影方向（方向ＶＤ１）とゲームキャラクタＣＡ１の向きとがなす角度を相対量とする。カメラ配置制御部１９４は、ゲームキャラクタＣＡ１の背後から追尾する場合、撮影方向ＤＶとゲームキャラクタＣＡ１の向きとがなす角度θ１（相対量）を０°に設定している。このため、移動方向検出部１９３は、操作方向と撮影方向（方向ＶＤ２）とのなす角度が０°となるように、操作方向の起点の位置を変更する。これにより、操作方向の起点の位置が第１位置３００Ａから第２位置３００Ｃへ変更される。同様に、オブジェクト制御部１９５は、操作オブジェクト３００の伸び方向と撮影方向（方向ＶＤ２）とのなす角度が０°となるように、操作オブジェクト３００の端部の位置を変更する。これにより、操作オブジェクト３００の端部の位置は、第１位置３００Ａから第２位置３００Ｃへ変更される。第１の手法により、画面例（Ｄ）において、ゲームキャラクタＣＡ１の移動方向と操作方向とが一致する。
【００９９】
第２の手法は、変化量を用いる手法である。移動方向検出部１９３は、撮影方向の変更前（画面例（Ａ））における撮影方向（方向ＶＤ１）と撮影方向の変更後（画面例（Ｃ））における撮影方向（方向ＶＤ２）とのなす角度θ４（例えば右回転を正とする変化量）に基づいて、操作方向の起点の位置を変更する。移動方向検出部１９３は、操作方向である方向ＳＤ２を角度θ４だけ逆方向（左方向）に回転させるように操作方向の起点の位置を変更する。これにより、操作方向の起点の位置が第１位置３００Ａから第２位置３００Ｃへ変更される。同様に、オブジェクト制御部１９５は、操作オブジェクト３００の伸び方向を角度θ４だけ逆方向（左方向）に回転させるように操作オブジェクト３００の端部の位置を変更する。これにより、操作オブジェクト３００の端部の位置は、第１位置３００Ａから第２位置３００Ｃへ変更される。第２の手法により、画面例（Ｄ）において、ゲームキャラクタＣＡ１の移動方向と操作方向とが一致する。
【０１００】
第３の手法は、第１の手法の変形例であり、予め定められた固定値を用いる例である。第１の手法では、移動方向検出部１９３は、操作方向と撮影方向（方向ＶＤ２）とのなす角度が、撮影方向ＤＶとゲームキャラクタＣＡ１の向きとのなす角度θ１（相対量）と同一となるように制御している。ここで、相対量である角度θ１が０°の場合、つまり、仮想カメラＶＣがゲームキャラクタＣＡ１の背後からゲームキャラクタＣＡ１を撮影するように制御されている場合には、撮影方向ＤＶ及びゲームキャラクタＣＡ１の向きは、タッチスクリーン１３０上において下から上へと向かう方向と必ず一致する。よって、移動方向検出部１９３は、操作方向の起点の位置を、操作方向がタッチスクリーン１３０上において下から上へと向かう方向と一致するように変更する。これにより、操作方向の起点の位置が第１位置３００Ａから第２位置３００Ｃへ変更される。同様に、オブジェクト制御部１９５は、操作オブジェクト３００の端部の位置を、操作オブジェクト３００がタッチスクリーン１３０上において下から上へと向かう方向と一致するように変更する。これにより、操作オブジェクト３００の端部の位置は、第１位置３００Ａから第２位置３００Ｃへ変更される。第３の手法により、画面例（Ｄ）において、ゲームキャラクタＣＡ１の移動方向と操作方向とが一致する。
【０１０１】
（移動操作時のフローチャート）
図８は、移動操作時の処理を説明するフローチャートである。図８のフローチャートは、制御部１９０がゲームプログラム１５１を実行することによりアクションゲームを進行させる処理を示すフローチャートである。
【０１０２】
ステップＳ１０において、制御部１９０は、入力操作が受け付けられたか否かを判定する。
【０１０３】
入力操作が受け付けられたと判定されると（ステップＳ１０：Ｙｅｓ）、ステップＳ１２において、制御部１９０は、初期タッチ位置に操作オブジェクトを表示させる（図７の画面例（Ａ）に対応する）。オブジェクト制御部１９５は、入力操作に応答して円形の操作オブジェクト３００を生成する。表示制御部１９６は、生成された円形の操作オブジェクト３００をタッチ位置である第１位置３００Ａに表示させる。初期タッチ位置は、操作方向を決定する起点（操作オブジェクトの端部位置）の初期値となる。
【０１０４】
ステップＳ１４において、制御部１９０は、入力操作がドラッグ操作であるか否かを判定する。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、ドラッグ操作であるか否かを判定する（図４参照）。
【０１０５】
入力操作がドラッグ操作であると判定されると（ステップＳ１４：Ｙｅｓ）、ステップＳ１６において、制御部１９０は、起点（第１位置３００Ａ）からドラッグ方向（方向ＳＤ１）へ伸びる操作オブジェクト３００を表示させる（図７の画面例（Ｂ）に対応する）。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、操作オブジェクト３００を生成して、タッチスクリーン１３０に表示させる。
【０１０６】
ステップＳ１８において、制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、ドラッグ操作のドラッグ方向（方向ＳＤ１）を検出する（図５参照）。そして、制御部１９０は、ドラッグ方向（方向ＳＤ１）に基づいてゲームキャラクタＣＡ１の移動方向及びゲームキャラクタＣＡ１の向きを決定する。そして、制御部１９０は、移動方向に従ってゲームキャラクタＣＡ１をドラッグ方向（方向ＳＤ１）へ移動させる（図７の画面例（Ｂ）に対応する）。
【０１０７】
ステップＳ２０において、制御部１９０は、仮想カメラＶＣの撮影方向をゲームキャラクタＣＡ１の向きと一致させる（図６及び図７の画面例（Ｃ）に対応する）。
【０１０８】
ステップＳ２２において、制御部１９０は、操作方向の起点の位置及び操作オブジェクト３００の端部位置を変更する（図７の画面例（Ｄ）に対応する）。制御部１９０は、相対量、変化量、又は、予め定められた方向を用いて操作方向の起点の位置及び操作オブジェクト３００の起点の位置を第１位置３００Ａから第２位置３００Ｃへ変更する。
【０１０９】
ステップＳ２４において、制御部１９０は、ドラッグ操作が完了したか否かを判定する。ドラッグ操作が完了していないと判定されると（ステップＳ２４：Ｎｏ）、制御部１９０は、上述したステップＳ１６からステップＳ２４まで処理を再実行する。これにより、ユーザの指が接近していることをタッチスクリーン１３０が検出している間、つまり、ドラグ操作が継続されている間、操作オブジェクトが表示され、操作方向の起点の位置及び操作オブジェクト３００の起点の位置が適宜変更されることになる。
【０１１０】
ドラッグ操作が完了したと判定されると（ステップＳ２４：Ｙｅｓ）、ステップＳ２６として、制御部１９０は、ゲームキャラクタＣＡ１の移動を終了する。そして、ステップＳ２８として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１１１】
一方、入力操作がドラッグ操作でないと判定されると（ステップＳ１４：Ｎｏ）、ステップＳ２４において、制御部１９０は、入力操作に応じた動作をゲームキャラクタＣＡ１に実行させる。例えば、タップ操作であれば、攻撃対象を決定し、ゲームキャラクタＣＡ１に攻撃動作を実行させる。そして、ステップＳ２８として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１１２】
入力操作が受け付けられていないと判定された場合（ステップＳ１０：Ｎｏ）、又は、操作オブジェクト３００の表示を終了すると、図８に示されるフローチャートは終了する。そして、制御部１９０は、所定の条件が満たされるまで図８に示されるフローチャートを最初から実行する。以上で、移動操作時の一連の処理が終了する。
【０１１３】
（移動操作時の他の画面例）
上述の説明では、移動方向検出部１９３による操作方向の起点の位置の変更タイミング、及び、オブジェクト制御部１９５よる操作オブジェクト３００の端部の位置の変更タイミングは、ゲームキャラクタＣＡ１の向きに応じて仮想カメラＶＣの撮影方向が変化したときである。しかし、仮想カメラＶＣの撮影方向は、ゲームキャラクタＣＡ１の向きに応じて変更される例に限定されない。
【０１１４】
図９は、仮想カメラＶＣの撮影方向がゲームのイベントによって変更される場合の画面例である。図９の画面例（Ａ）〜画面例（Ｄ）は、タッチスクリーン１３０に表示された画像である。画面例（Ａ）,（Ｂ）では、表示制御部１９６が、カメラ配置制御部１９４により、移動するゲームキャラクタＣＡ１の背後から撮影された画像を、タッチスクリーン１３０に表示させている。つまり、操作方向である方向ＳＤ１と撮影方向である方向ＶＤ１は一致している。
【０１１５】
画面例（Ｂ）は、ゲームのイベントとして画面右上の火山Ｍ１が爆発したときの画面の一例である。カメラ配置制御部１９４は、爆発中の火山Ｍ１にユーザの注目を集めるカメラワークを行い、ユーザのゲームへの関心を高める工夫を行う。例えば、注目対象となる火山Ｍ１とゲームキャラクタＣＡ１とが視界に入る方向に撮影方向を変更する。これにより、タッチスクリーン１３０に表示される画像は、画面例（Ｂ）は画面例（Ｃ）へ遷移する。
【０１１６】
画面例（Ｃ）は、仮想カメラＶＣの撮影方向が９０°右回転されたときの画面の一例である。画面例（Ｃ）では、ゲームキャラクタＣＡ１を横から捉えるように仮想カメラＶＣの撮影方向が方向ＶＤ１から方向ＶＤ２へ変更される。図７の例と同様に、画面例（Ｂ）におけるユーザによる操作方向である方向ＳＤ１、つまり、操作オブジェクト３００の延在方向（伸び方向）は、ゲームの仮想空間内において変更されることになる。よって、図７の例と同様に、移動方向検出部１９３は、操作方向と移動方向との対応関係が仮想カメラＶＣの撮影方向の変更前後で維持されるように、操作方向の起点の位置を変更する。さらに、オブジェクト制御部１９５は、操作方向と移動方向との対応関係が仮想カメラＶＣの撮影方向の変更前後で維持されるように、操作オブジェクト３００の起点の位置を変更する。これにより、画面例（Ｄ）において、ゲームキャラクタＣＡ１の移動方向と操作方向とが一致する。
【０１１７】
（起点位置を変更する処理のまとめ）
制御部１９０は、仮想カメラＶＣの撮影方向が変更された場合、タッチスクリーン１３０上で操作された操作方向をキャラクタの移動方向と一致させる。このため、仮想カメラＶＣの撮影方向が変更された場合であっても、ユーザは操作方向を修正することなく撮影方向の変更前にドラッグ操作した方向へキャラクタを移動させることができる。さらに、制御部１９０は、カメラワークと操作方向とを連動させることで、カメラワークを自在に変更することができるので、種々のユーザ体験を提供することができる。
【０１１８】
（交戦時のカメラワークの概要）
一般的なアクションゲームにおいては、ゲームキャラクタＣＡ１が仮想空間のフィールドを移動するシーンだけでなく、仮想空間に配置された敵キャラクタ（対象キャラクタの一例）と交戦するシーンが存在する。
【０１１９】
ユーザは、シーンに応じて、仮想空間においてキャラクタを移動させる移動操作だけでなく、ゲームキャラクタＣＡ１に攻撃動作を行わせる攻撃動作を入力する。移動操作は、上述のとおり、ゲームキャラクタの移動方向を指示する入力操作であり、方向性のある操作である。移動操作の一例としては、所定条件下のドラッグ操作又はフリック操作である。一方、攻撃操作は、ゲームキャラクタＣＡ１に攻撃動作を行わせる入力操作である。基本的な攻撃操作の一例としては、タップ操作である。なお、攻撃操作には、タップ操作と組み合わされたフリック操作を含む。詳細については後述する。
【０１２０】
カメラ配置制御部１９４は、ユーザによる入力操作に応じて移動方向が変化するゲームキャラクタＣＡ１を背後から追尾するようなカメラワークを提供する。つまり、カメラ配置制御部１９４が仮想カメラＶＣの撮影方向を変更する契機（トリガ）は、ユーザによる移動操作である。ここで、カメラ配置制御部１９４は、仮想カメラＶＣの撮影方向を変更する契機（トリガ）として攻撃操作をさらに含む。これにより、敵キャラクタとの交戦時において、臨場感、迫力、キャラクタとの一体感などを演出するためのカメラワークを瞬時に提供することができる。
【０１２１】
（交戦時の画面例）
図１０は、交戦時における仮想カメラＶＣの撮影方向を説明するための画面例である。図１０の画面例（Ａ）〜画面例（Ｄ）は、タッチスクリーン１３０に表示された画像である。画面例（Ａ）〜画面例（Ｄ）では、表示制御部１９６が、カメラ配置制御部１９４により、ゲームキャラクタＣＡ１を撮影した画像を、タッチスクリーン１３０に表示させている。入力操作受付部１９１によりユーザによる入力操作が受け付けられたとき、オブジェクト制御部１９５は、ユーザの入力操作に応じて操作オブジェクトを生成する。表示制御部１９６は、仮想カメラＶＣにより撮影された画像上に操作オブジェクトを重畳させて、タッチスクリーン１３０に表示させる。
【０１２２】
画面例（Ａ）は、移動操作時において敵キャラクタＣＡ２が視界に入ったときの画面の一例である。画面例（Ａ）では、撮影方向を方向ＶＤ１、ゲームキャラクタＣＡ１の向きを方向Ｄ３で示している。
【０１２３】
画面例（Ｂ）は、画面例（Ａ）の状況において、攻撃操作であるタップ操作が行われたときの画面の一例である。オブジェクト制御部１９５は、タップ操作に応答して円形の操作オブジェクト３００を生成する。表示制御部１９６は、生成された円形の操作オブジェクト３００をタッチ位置に表示させる。このとき、敵キャラクタＣＡ２とゲームキャラクタＣＡ１との距離が予め定められた距離内にある場合、敵キャラクタＣＡ２を攻撃対象として決定する（ロックオン）。ゲームキャラクタＣＡ１は、ロックオンされた敵キャラクタＣＡ２の方向Ｄ４へ向けられる。カメラ配置制御部１９４は、仮想カメラＶＣがゲームキャラクタＣＡ１を背後から撮影するように、仮想カメラＶＣを制御する。仮想カメラＶＣの撮影方向は、ゲームキャラクタＣＡ１の向きである方向Ｄ４と同一方向である方向ＶＤ２へ変更される。これにより、タッチスクリーン１３０に表示される画像は、画面例（Ｂ）は画面例（Ｃ）へ遷移する。
【０１２４】
画面例（Ｃ）は、攻撃操作に応じて仮想カメラＶＣの撮影方向が変更されたときの画面の一例である。そして、画面例（Ｄ）は、敵キャラクタに対して攻撃操作を実行しているときの画面の一例である。このように、タップ操作という方向性の無い操作がなされた場合であっても、仮想カメラＶＣの撮影方向が変更され、臨場感のある交戦画面が提供される。
【０１２５】
（攻撃操作時のフローチャート）
図１１は、攻撃操作時の処理を説明するフローチャートである。図１１のフローチャートは、制御部１９０がゲームプログラム１５１を実行することによりアクションゲームを進行させる処理を示すフローチャートである。
【０１２６】
ステップＳ３０において、制御部１９０は、入力操作が受け付けられたか否かを判定する。制御部１９０は、入力操作として、仮想空間においてゲームキャラクタＣＡ１を移動させる移動操作及びゲームキャラクタＣＡ１に攻撃動作を行わせる攻撃操作を受け付けることができる。
【０１２７】
入力操作が受け付けられたと判定されると（ステップＳ３０：Ｙｅｓ）、ステップＳ３２において、制御部１９０は、初期タッチ位置に操作オブジェクトを表示させる（図１０の画面例（Ｂ）に対応する）。オブジェクト制御部１９５は、入力操作に応答して円形の操作オブジェクト３００を生成する。表示制御部１９６は、生成された円形の操作オブジェクト３００をタッチ位置に表示させる。
【０１２８】
ステップＳ３４において、制御部１９０は、入力操作がタップ操作であるか否かを判定する。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、タップ操作であるか否かを判定する（図４参照）。
【０１２９】
入力操作がタップ操作であると判定されると（ステップＳ３４：Ｙｅｓ）、ステップＳ３６において、制御部１９０は、攻撃範囲内に敵キャラクタが存在するか否かを判定する。攻撃範囲は、ゲームキャラクタＣＡ１を基準として予め設定される。
【０１３０】
攻撃範囲内に敵キャラクタが存在すると判定されると（ステップＳ３６：Ｙｅｓ）、ステップＳ３８において、制御部１９０は、攻撃対象となる敵キャラクタを特定する。制御部１９０は、攻撃範囲内に複数の敵キャラクタが存在する場合には、例えばゲームキャラクタＣＡ１に最も近接した敵キャラクタを攻撃対象にする。
【０１３１】
ステップＳ４０として、制御部１９０は、ゲームキャラクタＣＡ１を攻撃動作の対象となる敵キャラクタＣＡ２の位置と、ゲームキャラクタＣＡ１の位置とに基づいて、ゲームキャラクタＣＡ１を敵キャラクタＣＡ２に向けさせる（図１０の画面例（Ｂ）に対応する）。
【０１３２】
ステップＳ４２として、制御部１９０は、仮想カメラＶＣの撮影方向をゲームキャラクタＣＡ１の向きに基づいて決定する。制御部１９０は、ゲームキャラクタＣＡ１の向きに対して予め定められた方向からキャラクタを撮影するように制御する。ゲームキャラクタＣＡ１の向きに対して予め定められた方向とは、例えば、ゲームキャラクタＣＡ１の背後から撮影する方向、ゲームキャラクタＣＡ１の横から撮影する方向、ゲームキャラクタＣＡ１の上から撮影する方向などである。具体的な一例として、制御部１９０は、仮想カメラＶＣの撮影方向をゲームキャラクタＣＡ１の向きと一致させ、ゲームキャラクタＣＡ１の背後から撮影するように、仮想カメラＶＣを制御する（図１０の画面例（Ｃ）に対応する）。
【０１３３】
ステップＳ４４として、制御部１９０は、ゲームキャラクタＣＡ１に攻撃動作を実行させる（図１０の画面例（Ｄ）に対応する）。ステップＳ４６として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１３４】
一方、入力操作がタップ操作でないと判定されると（ステップＳ３４：Ｎｏ）、ステップＳ４８において、制御部１９０は、入力操作に応じた動作をゲームキャラクタＣＡ１に実行させる。このとき、入力操作がドラッグ操作などの移動操作であれば、制御部１９０は、図８で説明したとおり、ゲームキャラクタＣＡ１を移動させるとともに、仮想空間を移動するゲームキャラクタＣＡ１を追尾するように仮想カメラＶＣを制御する。そして、ステップＳ４６として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１３５】
また、攻撃範囲内に敵キャラクタが存在しないと判定されると（ステップＳ３６：Ｎｏ）、ステップＳ４６として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１３６】
入力操作が受け付けられていないと判定された場合（ステップＳ３０：Ｎｏ）、又は、操作オブジェクト３００の表示を終了すると、図１１に示されるフローチャートは終了する。そして、制御部１９０は、所定の条件が満たされるまで図１１に示されるフローチャートを最初から実行する。以上で、攻撃操作時の一連の処理が終了する。
【０１３７】
（交戦時における連撃攻撃）
アクションゲームにおいては、予め定められた期間内に攻撃操作を連続して受け付けた場合、連撃攻撃（いわゆるコンボ攻撃）を発生させることがある。このようなコンボ攻撃の内容は、ゲーム情報１５２にコンボデータとして定義されている。コンボ攻撃に多様性を持たせるために、コンボ攻撃中の攻撃操作に方向性のある入力操作を採用することがある。例えば、タップ操作、タップ操作、フリック操作という一連の入力操作に基づくコンボ攻撃である。
【０１３８】
図１２は、オブジェクト制御部１９５がコンボデータに基づいてゲームキャラクタＣＡ１に攻撃動作を実行させたときのアクションの一例を示す図である。図１２の状態（Ａ）は、アクションａ１を示す。図１２の状態（Ｂ）は、アクションａ２を示す。図１２の状態（Ｃ）は、アクションａ３を示す。入力操作受付部１９１がタップ操作を受け付けると、オブジェクト制御部１９５は、図１２の状態（Ａ）に示されるように、ゲームキャラクタＣＡ１にアクションａ１を実行させる。続いて、入力操作受付部１９１が予め定められた期間内に再びタップ操作を受け付けると、オブジェクト制御部１９５は、図１２の状態（Ｂ）に示すアクションａ２をゲームキャラクタＣＡ１に実行させる。続いて、入力操作受付部１９１が予め定められた期間内にフリック操作を受け付けると、オブジェクト制御部１９５は、図１２の状態（Ｃ）に示すアクションａ３をゲームキャラクタＣＡ１に実行させる。アクションａ３は、アクションａ１、ａ２より演出を派手にしたり、攻撃力を大きくしたりするように設定してもよい。また、アクションａ３のためのフリック操作の代わりに、タップ操作が３回続けられることによって、オブジェクト制御部１９５は、他の演出が派手であったり攻撃力が大きかったりするアクションをゲームキャラクタＣＡ１に実行させてもよい。一実施形態によれば、タッチスクリーン１３０によるタッチ操作でコンボ攻撃をゲームキャラクタＣＡ１に実行させるゲームであっても、コンボの流れを分岐させることができる。このように、コンボ攻撃中の攻撃操作に方向性のある入力操作を採用することで、ユーザは多様な操作によって次々と流れるようにゲームキャラクタＣＡ１に攻撃させることができる。よって、ゲームの趣向性が向上する。
【０１３９】
（連撃攻撃時のカメラワーク）
連撃攻撃時においても、制御部１９０は、図１１に示された攻撃操作時のフローチャートに沿って処理を実行する。入力操作が連撃攻撃の最初の攻撃操作であるか否かは、２回目の攻撃操作が入力されることによって初めて確定する。したがって、タップ操作が通常のタップ操作であるか連撃操作となるかに関わらず、制御部１９０は、図１１に示された攻撃操作時のフローチャートに沿って処理を実行する。つまり、制御部１９０は、事後的に連撃操作となる最初のタップ操作に応じて、図１１に示された攻撃操作時のフローチャートに沿って処理を実行する。
【０１４０】
このため、ステップＳ４０として、制御部１９０は、所定期間内に連続する攻撃操作が受け付けられた場合、所定期間内に連続する攻撃操作のうち最初の攻撃動作の対象となる敵キャラクタＣＡ２にゲームキャラクタＣＡ１を向かせることになる。そして、ステップＳ４２として、制御部１９０は、予め定められた方向からゲームキャラクタＣＡ１を撮影するように仮想カメラＶＣを制御する。
【０１４１】
そして、制御部１９０は、２回目以降のタップ操作が行われた場合、所定期間前にタップ操作が行われていたか否かを判定する。制御部１９０は、所定期間前にタップ操作が行われていない場合、２回目のタップ操作については、図１１に示された攻撃操作時のフローチャートに沿って処理を実行する。この場合、制御部１９０は、２回目のタップ操作によって攻撃対象となる敵キャラクタＣＡ２にゲームキャラクタＣＡ１を向かせることになる。そして、ステップＳ４２として、制御部１９０は、予め定められた方向からゲームキャラクタＣＡ１を撮影するように仮想カメラＶＣを制御する。
【０１４２】
一方、制御部１９０は、所定期間前にタップ操作が行われていた場合、当該タップ操作については、図１１に示された攻撃操作時のフローチャートのうち、ステップＳ４２については実行しない。つまり、制御部１９０は、予め定められた期間内に２回目以降の攻撃操作が行われた場合には、最初の攻撃操作に基づいて決定された仮想カメラＶＣの撮影方向を、所定期間内に連続する攻撃操作を受け付けている間は変更しない。これにより、ゲームキャラクタＣＡ１の攻撃によって敵キャラクタＣＡ２の位置が変化し、それに伴ってゲームキャラクタＣＡ１の向きが変更された場合であっても、仮想カメラＶＣの撮影方向は変更されないことになる。制御部１９０は、ユーザにキャラクタの向きを一度理解させた後は、固定されたアングルで連撃の様子を提供することにより、ユーザがキャラクタの向きを見失うことが無い状態で、連撃中のキャラクタや対象キャラクタを種々の角度から確認させることができる。
【０１４３】
同様に、制御部１９０は、コンボ攻撃中の攻撃操作に方向性のある入力操作が含まれていた場合であっても、最初の攻撃操作に基づいて決定された仮想カメラＶＣの撮影方向を、所定期間内に連続する攻撃操作を受け付けている間は変更しない。以下では、フリック操作がコンボ攻撃中の攻撃操作に含まれる場合の例を詳細に説明する。
【０１４４】
図１３は、フリック操作時の処理を説明するフローチャートである。図１３のフローチャートは、制御部１９０がゲームプログラム１５１を実行することによりアクションゲームを進行させる処理を示すフローチャートである。
【０１４５】
ステップＳ５０において、制御部１９０は、入力操作が受け付けられたか否かを判定する。制御部１９０は、入力操作として、仮想空間においてゲームキャラクタＣＡ１を移動させる移動操作及びゲームキャラクタＣＡ１に攻撃動作を行わせる攻撃操作を受け付けることができる。
【０１４６】
入力操作が受け付けられたと判定されると（ステップＳ５０：Ｙｅｓ）、ステップＳ３２において、制御部１９０は、初期タッチ位置に操作オブジェクトを表示させる（図１０の画面例（Ｂ）に対応する）。オブジェクト制御部１９５は、入力操作に応答して円形の操作オブジェクト３００を生成する。表示制御部１９６は、生成された円形の操作オブジェクト３００をタッチ位置に表示させる。
【０１４７】
ステップＳ５４において、制御部１９０は、入力操作がフリック操作であるか否かを判定する。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、フリック操作であるか否かを判定する（図４参照）。
【０１４８】
入力操作がフリック操作であると判定されると（ステップＳ５４：Ｙｅｓ）、ステップＳ５６において、制御部１９０は、初期タッチ位置からフリック方向へ延びる操作オブジェクトを表示させる。
【０１４９】
ステップＳ５８において、制御部１９０は、ゲームキャラクタＣＡ１が向いている方向を特定する。例えば記憶部１５０には、ゲームキャラクタＣＡ１の顔が向いている方向または直前の移動操作の進行方向等を示す情報が記憶されている。制御部１９０は、ゲームキャラクタＣＡ１に実行させたアクション、他のオブジェクトからの作用などに基づいて、記憶部１５０に記憶された情報が示す方向の中からゲームキャラクタＣＡ１が向いている方向を選択する。次に、制御部１９０は、選択した結果に基づき、記憶部１５０を参照してゲームキャラクタＣＡ１の向いている方向を特定する。
【０１５０】
ステップＳ６０において、制御部１９０は、フリック操作の方向とタッチスクリーン１３０に表示される画面においてゲームキャラクタＣＡ１が向いている方向とを比較する。
【０１５１】
ステップＳ６２において、制御部１９０は、ステップＳ６０における比較結果に応じたアクションを、ゲームキャラクタＣＡ１に実行させる。この処理の詳細は、図１４に示されたフローチャートを用いて後述する。
【０１５２】
ステップＳ４６として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１５３】
一方、入力操作がフリック操作でないと判定されると（ステップＳ５４：Ｎｏ）、ステップＳ６６において、制御部１９０は、入力操作に応じた動作をゲームキャラクタＣＡ１に実行させる。そして、ステップＳ４６として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１５４】
入力操作が受け付けられていないと判定された場合（ステップＳ５０：Ｎｏ）、又は、操作オブジェクト３００の表示を終了すると、図１３に示されるフローチャートは終了する。そして、制御部１９０は、所定の条件が満たされるまで図１３に示されるフローチャートを最初から実行する。以上で、攻撃操作時の一連の処理が終了する。
【０１５５】
図１４は、図１３に示されたフリック操作に基づく動作処理を説明するフローチャートである。制御部１９０は、図１４に示されるフローチャートに従い、比較結果に応じたアクションをゲームキャラクタＣＡ１に実行させる。
【０１５６】
ステップＳ７０において、制御部１９０は、図１４に示されたステップＳ５０においてフリック操作を受け付ける前の所定期間内に、攻撃動作を行なうためのタップ操作を受け付けたか否かを判定する。
【０１５７】
フリック操作の所定期間前に攻撃動作を行なうためのタップ操作を受け付けたと判定されると（ステップＳ７０：Ｙｅｓ）、ステップＳ７２において、制御部１９０は、フリック操作の方向はゲームキャラクタＣＡ１が向いている方向と所定関係にあるか否かを判定する。所定関係は、例えばゲームキャラクタＣＡ１が向いている方向を軸として、フリック操作の方向が当該軸から左右一定の範囲（例えば、左右それぞれに３０度以内、４５度以内等）となることとしてもよい。
【０１５８】
フリック操作の方向はゲームキャラクタＣＡ１が向いている方向により定まる一定範囲の方向に含まれていると判定されると（ステップＳ７２：Ｙｅｓ）、ステップＳ７４として、制御部１９０は、前回の攻撃動作に対応する操作がタップ操作であり、且つ、今回の操作がフリック操作であることに基づく攻撃動作を、ゲームキャラクタＣＡ１に実行させる。このように、連続してゲームキャラクタＣＡ１に攻撃動作を実行させる場合、毎回同じ攻撃動作をゲームキャラクタＣＡ１に実行させるのではなく、異なる攻撃動作をゲームキャラクタＣＡ１に実行させることができる。従って、攻撃動作が多様になる。ステップＳ７２が終了すると、図１４に示されるフローチャートが終了する。
【０１５９】
一方、フリック操作の方向はゲームキャラクタＣＡ１が向いている方向と所定関係にないと判定されると（ステップＳ７２：Ｎｏ）、ステップＳ７６として、制御部１９０は、ゲームキャラクタＣＡ１に、攻撃動作を実行することなくフリック操作の方向に移動するための回避動作を実行させる。それに続けて、ステップＳ７８として、制御部１９０は、ゲームキャラクタＣＡ１に攻撃動作を実行させる。ステップＳ７８において制御部１９０がゲームキャラクタＣＡ１に実行させる攻撃動作は、タップ操作に基づく攻撃動作とは異なってもよい。この場合、ゲームキャラクタＣＡ１による攻撃動作がより多様となり、ゲームの趣向性が向上する。ステップＳ７８が終了すると、図１４に示されるフローチャートが終了する。
【０１６０】
一方、フリック操作の所定期間前に攻撃動作を行なうためのタップ操作を受け付けていないと判定されると（ステップＳ７０：Ｎｏ）、ステップＳ８０において、制御部１９０は、ゲームキャラクタＣＡ１に回避動作を実行させ、攻撃動作を実行させない。そして、ステップＳ８２において、制御部１９０は、仮想カメラＶＣの向きをゲームキャラクタＣＡ１の向きに基づいて決定する。ステップＳ８２が終了すると、図１４に示されるフローチャートが終了する。
【０１６１】
このように、制御部１９０は、ゲームキャラクタＣＡ１が向いている方向とフリック操作の方向とに応じて、ゲームキャラクタＣＡ１に攻撃動作を実行させたり回避動作を実行させたりするなど、アクションを分けることができるので、ゲームの趣向性が向上する。特に、攻撃対象に対する入力操作に多様性を持たせることができる。
【０１６２】
また、制御部１９０は、コンボ攻撃の最初の攻撃操作に基づいて仮想カメラＶＣの撮影方向を決定し、コンボ攻撃中においては撮影方向を変更しない。このため、ユーザにゲームキャラクタＣＡ１の向きを一度理解させた後は、固定されたアングルで連撃の様子を提供することにより、フリック操作が入力し易くなる。
【０１６３】
また、フリック操作は、ゲーム中の素早い操作が必要とされる場面において、ユーザが直感的に素早く入力する操作である。本実施形態では、フリック操作の方向に応じて攻撃動作または回避動作を選択できるため、直感的に攻撃と回避とを選択することができる。よって、ゲームの趣向性が向上する。
【０１６４】
（変形例１）
カメラ配置制御部１９４は、移動操作を受け付けたときに、ゲームキャラクタＣＡ１をその背後から追尾するように仮想カメラＶＣを制御するだけなく、ゲームキャラクタＣＡ１を他の角度から追尾するように仮想カメラＶＣを制御してもよい。例えば、カメラ配置制御部１９４は、ゲームキャラクタＣＡ１を斜め後から追尾してもよい。あるいは、カメラ配置制御部１９４は、固定アングルでゲームキャラクタＣＡ１を追尾してもよい。固定アングルの場合、図６の状態（Ａ）から状態（Ｂ）へゲームキャラクタＣＡ１が変更されたときであっても、仮想カメラＶＣの視野内におけるゲームキャラクタＣＡ１の位置が維持される。この場合、移動操作に基づいてゲームキャラクタＣＡ１が移動すると、カメラ配置制御部１９４は、ゲームキャラクタＣＡ１を仮想カメラＶＣにおける視野の所定位置に捉えるように、かつ、仮想カメラＶＣの移動量と向きの変動量がいずれも最小となるように、仮想カメラＶＣの位置および向きを調整する。
【０１６５】
また、カメラ配置制御部１９４は、攻撃操作を受け付けたときに、ゲームキャラクタＣＡ１をその背後から撮影するように仮想カメラＶＣを制御するだけなく、ゲームキャラクタＣＡ１を他の角度から撮影するように仮想カメラＶＣを制御してもよい。
【０１６６】
さらに、実施形態では、カメラ配置制御部１９４は、コンボ攻撃中においてはコンボ攻撃の最初の攻撃操作に基づいて仮想カメラＶＣの撮影方向を決定し、以降のコンボ攻撃中の撮影方向を固定する例を説明したが、これに限定されない。例えば、カメラ配置制御部１９４は、攻撃操作（コンボ攻撃操作を含む）を受け付けた場合には、常にゲームキャラクタＣＡ１をその背後から撮影するように仮想カメラＶＣを制御してもよい。つまり、コンボ攻撃中においては、最初の攻撃操作に基づいて決定された仮想カメラＶＣの撮影方向（ゲームキャラクタＣＡ１をその背後から撮影する方向）を維持するように、仮想カメラの撮影方向を変更し続ける。この場合、制御部１９０は、図１４のステップＳ７４、ステップＳ７８の攻撃時において、攻撃対象となる敵キャラクタＣＡ２にゲームキャラクタＣＡ１を向かせ、ゲームキャラクタＣＡ１の向きに応じて仮想カメラＶＣの撮影方向を制御する（図１１のステップＳ４０及びＳ４２に相当する処理が行われる）。これにより、戦闘シーンにおいては、ゲームキャラクタＣＡ１は常に敵キャラクタＣＡ２に正面から対峙し、常にゲームキャラクタＣＡ１の背後から観察するゲーム画面が提供される。このようなカメラワークとすることにより、ユーザがキャラクタの向きを見失うことが無いため、攻撃操作に方向性のある入力操作が含まれる場合であっても、操作性を向上させることができる。
【０１６７】
（変形例２）
ドラッグ操作の操作結果を示す操作オブジェクト３００は、図７の状態（Ｂ）に示された例に限定されるものではなく、複数のオブジェクトを用いて操作結果が表現されもよい。
【０１６８】
（変形例３）
状態（Ａ）〜（Ｄ）において、操作オブジェクト３００は表示されなくてもよい。つまり、操作オブジェクト３００の端部は変更されず、操作方向の起点だけ変更される場合であってもよい。
【０１６９】
（変形例４）
連撃操作中に含まれている操作は、フリック操作である例を説明したが、ドラッグ操作であってもよい。
【０１７０】
（変形例５）
上述したゲーム処理の全てを携帯端末１０又はサーバ２０が単体で実行してもよい。
【０１７１】
以上、本開示の実施形態について説明したが、本開示の技術的範囲は、本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲の記載事項に基づいて、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本開示の技術的範囲は、特許請求の範囲の記載事項及びその均等の範囲に基づいて定められるべきである。
【０１７２】
本開示の主題は、例えば以下のような項目として示される。
【０１７３】
（項目１）
ゲームにおける仮想空間に配置された仮想カメラ（例えば仮想カメラＶＣ）によって撮影された画像を表示するためにコンピュータ（例えば携帯端末１０又はサーバ２０）によって実行される情報処理方法であって、
前記仮想空間においてキャラクタ（例えばゲームキャラクタＣＡ１）を移動させる移動操作（例えばドラッグ操作）及び前記キャラクタに攻撃動作を行わせる攻撃操作（例えばタップ操作）を受け付けるステップ（例えばステップＳ１０及びステップＳ３０）と、
前記移動操作が受け付けられた場合、前記仮想空間を移動するキャラクタを追尾するように前記仮想カメラを制御するステップ（例えばステップＳ２０）と、
前記攻撃操作が受け付けられた場合、前記キャラクタを前記攻撃動作の対象となる対象キャラクタ（例えば敵キャラクタＣＡ２）に向かせるステップ（例えばステップＳ４０）と、
前記攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向（例えばゲームキャラクタＣＡ１の背後）から前記キャラクタを撮影するように前記仮想カメラを制御するステップ（例えばステップＳ４２）と、
を有する情報処理方法。
この開示では、移動操作時においては仮想カメラがキャラクタを追尾するように制御され、攻撃操作時においては移動操作をトリガとせずにキャラクタを予め定められた方向から撮影するように仮想カメラが制御される。このように、この開示は、移動操作時においてはキャラクタの移動の流動感と臨場感とを増加させるカメラワークを提供でき、かつ、攻撃操作時においては移動操作が入力されなくても交戦時に適したカメラワークを提供できる。よって、この開示によればゲーム性を高めることができる。
【０１７４】
（項目２）
前記キャラクタを前記対象キャラクタに向かせるステップでは、所定期間内に連続する前記攻撃操作が受け付けられた場合、前記所定期間内に連続する前記攻撃操作のうち最初の攻撃動作の対象となる前記対象キャラクタに前記キャラクタを向かせ、
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御する、項目１に記載の情報処理方法。
この開示では、いわゆる連撃操作が行われた場合、最初の攻撃操作に基づいて予め定められた方向からキャラクタを撮影するように仮想カメラが制御される。よって、この開示によれば、連撃操作の開始時においてユーザにキャラクタの向きを理解させ、連撃操作に方向性のある入力操作が含まれていた場合であっても連撃操作を入力し易くすることができる。
【０１７５】
（項目３）
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作に基づいて決定された前記仮想カメラの撮影方向を、前記所定期間内に連続する前記攻撃操作を受け付けている間は変更しない、項目２に記載の情報処理方法。
この開示では、連撃中にキャラクタの向きが変更された場合であっても、最初の攻撃操作に基づいて設定された仮想カメラの撮影方向が固定される。このように、この開示は、ユーザにキャラクタの向きを一度理解させた後は、固定されたアングルで連撃の様子を提供することにより、ユーザがキャラクタの向きを見失うことが無い状態で、連撃中のキャラクタや対象キャラクタを種々の角度から確認させることができる。
【０１７６】
（項目４）
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記所定期間内に連続する前記攻撃操作を受け付けている間、前記最初の攻撃操作に基づいて決定された前記仮想カメラの撮影方向を維持するように、前記仮想カメラの撮影方向を変更し続ける、項目２に記載の情報処理方法。
この開示では、連撃中は、最初の攻撃操作に基づいて決定された仮想カメラの撮影方向を維持するように、仮想カメラの撮影方向が変更され続ける。このように、この開示は、連撃中のキャラクタの向きと撮影方向とを一定に保つことにより、ユーザがキャラクタの向きを見失うことが無い状態で、連撃中のキャラクタや対象キャラクタを確認させることができる。
【０１７７】
（項目５）
前記所定期間内に連続する前記攻撃操作は、フリック操作を含み、
前記攻撃動作は、前記キャラクタの向きと前記フリック操作の方向に基づいて決定される、項目２〜４のいずれか一項に記載の情報処理方法。
この開示によれば、連撃操作に方向性のあるフリック操作が含まれていた場合であっても連撃操作を入力し易くすることができる。
【０１７８】
（項目６）
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記キャラクタの背後から前記キャラクタを撮影するように前記仮想カメラを制御する項目１〜５のいずれか一項に記載の情報処理方法。
この開示によれば、交戦時の臨場感やキャラクタとの一体感を高めることができる。
【０１７９】
（項目７）
前記仮想空間を移動する前記キャラクタを追尾するように前記仮想カメラを制御するステップでは、前記キャラクタの背後から前記キャラクタを撮影するように前記仮想カメラを制御する、項目６に記載の情報処理方法。
この開示によれば、移動操作中から攻撃操作中に遷移するときに、カメラの動きが横方向（パン）になるので、急激な画面変化（視点変化）を抑えることができる。
【０１８０】
（項目８）
前記仮想空間を移動する前記キャラクタを追尾するように前記仮想カメラを制御するステップでは、前記キャラクタを前記仮想カメラにおける視野の所定位置に捉えるように、かつ、前記仮想カメラの移動量および向きの変化量が最小となるように、前記仮想カメラを制御する、項目６に記載の情報処理方法。
この開示によれば、移動シーンと攻撃シーンとで視点変化が大きくなるため、移動と交戦とのシーンの切り替わりをユーザに容易に理解させることができるとともに、交戦時のユーザの緊張感を高めることができる。
【０１８１】
（項目９）
項目１〜８のいずれか一項に記載の方法をコンピュータに実行させる、プログラム。
【０１８２】
（項目１０）
項目９に記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、装置。
【符号の説明】
【０１８３】
１…ゲーム提供システム、１０…携帯端末、２０…サーバ、２５…メモリ、２６…ストレージ、２９…プロセッサ、１３０…タッチスクリーン、１５０…記憶部、１５１…ゲームプログラム、１９０…制御部、１９１…入力操作受付部、１９２…ゲーム進行処理部、１９３…移動方向検出部、１９４…カメラ配置制御部、１９５…オブジェクト制御部、１９６…表示制御部、２２０…通信部、２５０…記憶部、２５１…ゲームプログラム、２９０…制御部、２９１…送受信部、２９２…サーバ処理部、２９３…データ管理部、２９４…マッチング部、２９５…計測部、３００…操作オブジェクト、ＣＡ１…ゲームキャラクタ（キャラクタの一例）、ＣＡ２…敵キャラクタ。
【図１】
2018102364.tif 000003
【図２】
2018102364.tif 000004
【図３】
2018102364.tif 000005
【図４】
2018102364.tif 000006
【図５】
2018102364.tif 000007
【図６】
2018102364.tif 000008
【図７】
2018102364.tif 000009
【図８】
2018102364.tif 000010
【図９】
2018102364.tif 000011
【図１０】
2018102364.tif 000012
【図１１】
2018102364.tif 000013
【図１２】
2018102364.tif 000014
【図１３】
2018102364.tif 000015
【図１４】
2018102364.tif 000016
【手続補正書】
【提出日】平成29年8月7日(2017.8.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲームにおける仮想空間に配置された仮想カメラによって撮影された画像を表示するためにコンピュータによって実行される情報処理方法であって、
前記仮想空間においてキャラクタを移動させる移動操作及び前記キャラクタに攻撃動作を行わせる攻撃操作を受け付けるステップと、
前記移動操作が受け付けられた場合、前記仮想空間を移動するキャラクタを追尾するように前記仮想カメラを制御するステップと、
前記攻撃操作が受け付けられた場合、前記攻撃操作を契機として前記キャラクタを前記攻撃動作の対象となる対象キャラクタに向かせるステップと、
前記攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップと、
を有する情報処理方法。
【請求項２】
前記キャラクタを前記対象キャラクタに向かせるステップでは、所定期間内に連続する前記攻撃操作が受け付けられた場合、前記所定期間内に連続する前記攻撃操作のうち最初の攻撃動作の対象となる前記対象キャラクタに前記キャラクタを向かせ、
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御する、請求項１に記載の情報処理方法。
【請求項３】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作に基づいて決定された前記仮想カメラの撮影方向を、前記所定期間内に連続する前記攻撃操作を受け付けている間は変更しない、請求項２に記載の情報処理方法。
【請求項４】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記所定期間内に連続する前記攻撃操作を受け付けている間、前記最初の攻撃操作に基づいて決定された前記仮想カメラの撮影方向を維持するように、前記仮想カメラの撮影方向を変更し続ける、請求項２に記載の情報処理方法。
【請求項５】
前記所定期間内に連続する前記攻撃操作は、フリック操作を含み、
前記攻撃動作は、前記キャラクタの向きと前記フリック操作の方向に基づいて決定される、請求項２〜４のいずれか一項に記載の情報処理方法。
【請求項６】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記キャラクタの背後から前記キャラクタを撮影するように前記仮想カメラを制御する請求項１〜５のいずれか一項に記載の情報処理方法。
【請求項７】
前記仮想空間を移動する前記キャラクタを追尾するように前記仮想カメラを制御するステップでは、前記キャラクタの背後から前記キャラクタを撮影するように前記仮想カメラを制御する、請求項６に記載の情報処理方法。
【請求項８】
前記仮想空間を移動する前記キャラクタを追尾するように前記仮想カメラを制御するステップでは、前記キャラクタを前記仮想カメラにおける視野の所定位置に捉えるように、かつ、前記仮想カメラの移動量および向きの変化量が最小となるように、前記仮想カメラを制御する、請求項６に記載の情報処理方法。
【請求項９】
請求項１〜８のいずれか一項に記載の方法をコンピュータに実行させる、プログラム。
【請求項１０】
請求項９に記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、装置。
【手続補正書】
【提出日】平成30年1月10日(2018.1.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲームにおける仮想空間に配置された仮想カメラによって撮影された画像を表示するためにコンピュータによって実行される情報処理方法であって、
前記仮想空間においてキャラクタを移動させる移動操作及び前記キャラクタに攻撃動作を行わせる攻撃操作を受け付けるステップと、
前記移動操作が受け付けられた場合、前記仮想空間を移動するキャラクタを追尾するように前記仮想カメラを制御するステップと、
前記攻撃操作が受け付けられた場合、前記攻撃操作を契機として前記キャラクタを前記攻撃動作の対象となる対象キャラクタに向かせるステップと、
前記攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップと、
前記攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、前記対象キャラクタに対する前記攻撃動作を前記キャラクタに実行させるステップと、
を有する情報処理方法。
【請求項２】
前記キャラクタを前記対象キャラクタに向かせるステップでは、所定期間内に連続する前記攻撃操作が受け付けられた場合、前記所定期間内に連続する前記攻撃操作のうち最初の攻撃動作の対象となる前記対象キャラクタに前記キャラクタを向かせ、
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御する、請求項１に記載の情報処理方法。
【請求項３】
ゲームにおける仮想空間に配置された仮想カメラによって撮影された画像を表示するためにコンピュータによって実行される情報処理方法であって、
前記仮想空間においてキャラクタを移動させる移動操作及び前記キャラクタに攻撃動作を行わせる攻撃操作を受け付けるステップと、
前記移動操作が受け付けられた場合、前記仮想空間を移動するキャラクタを追尾するように前記仮想カメラを制御するステップと、
前記攻撃操作が受け付けられた場合、前記キャラクタを前記攻撃動作の対象となる対象キャラクタに向かせるステップと、
前記攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップと、を含み、
前記キャラクタを前記対象キャラクタに向かせるステップでは、所定期間内に連続する前記攻撃操作が受け付けられた場合、前記所定期間内に連続する前記攻撃操作のうち最初の攻撃動作の対象となる前記対象キャラクタに前記キャラクタを向かせ、
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作が受け付けられたことによって前記キャラクタが前記対象キャラクタに向けられた場合、予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御する、情報処理方法。
【請求項４】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記最初の攻撃操作に基づいて決定された前記仮想カメラの撮影方向を、前記所定期間内に連続する前記攻撃操作を受け付けている間は変更しない、請求項２又は３に記載の情報処理方法。
【請求項５】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記所定期間内に連続する前記攻撃操作を受け付けている間、前記最初の攻撃操作に基づいて決定された前記仮想カメラの撮影方向を維持するように、前記仮想カメラの撮影方向を変更し続ける、請求項２又は３に記載の情報処理方法。
【請求項６】
前記所定期間内に連続する前記攻撃操作は、フリック操作を含み、
前記攻撃動作は、前記キャラクタの向きと前記フリック操作の方向に基づいて決定される、請求項２〜５のいずれか一項に記載の情報処理方法。
【請求項７】
前記予め定められた方向から前記キャラクタを撮影するように前記仮想カメラを制御するステップでは、前記キャラクタの背後から前記キャラクタを撮影するように前記仮想カメラを制御する請求項１〜６のいずれか一項に記載の情報処理方法。
【請求項８】
前記仮想空間を移動する前記キャラクタを追尾するように前記仮想カメラを制御するステップでは、前記キャラクタの背後から前記キャラクタを撮影するように前記仮想カメラを制御する、請求項７に記載の情報処理方法。
【請求項９】
前記仮想空間を移動する前記キャラクタを追尾するように前記仮想カメラを制御するステップでは、前記キャラクタを前記仮想カメラにおける視野の所定位置に捉えるように、かつ、前記仮想カメラの移動量および向きの変化量が最小となるように、前記仮想カメラを制御する、請求項７に記載の情報処理方法。
【請求項１０】
請求項１〜９のいずれか一項に記載の方法をコンピュータに実行させる、プログラム。
【請求項１１】
請求項１０に記載のプログラムを格納したメモリと、
前記メモリに結合され、前記プログラムを実行するためのプロセッサとを備える、装置。