(57)【要約】【課題】ゲーム性を高めることができる情報処理方法を提供する。【解決手段】情報処理方法は、ユーザによる入力操作に応じてゲームのキャラクタを動作させるためにコンピュータによって実行される。該方法は、第一キャラクタと第二キャラクタとが関連付けられたキャラクタユニットを構成する構成ステップと、ユーザによる入力操作に応じてキャラクタユニットを第一態様で動作させる第一進行ステップと、キャラクタユニットを第一態様で動作させるユーザによる入力操作が所定の操作条件を満たすか否かを判定する操作判定ステップと、操作判定ステップにおいてユーザによる入力操作が操作条件を満たすと判定された場合には、ユーザによる入力操作に応じてキャラクタユニットを第二態様で動作させる第二進行ステップと、を備える。【選択図】図１１
2018153467.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）画面など）の生成、変形、移動などの処理を制御する。オブジェクト制御部１９５は、例えば、タッチスクリーン１３０に対する入力操作に基づいて、ユーザの操作を示す操作オブジェクトを生成する。操作オブジェクトの詳細については後述する。
【００５２】
表示制御部１９６は、ディスプレイ１３２の表示を制御する。表示制御部１９６は、例えば、仮想カメラのカメラワークに従った画像をディスプレイ１３２に出力する。表示制御部１９６は、仮想空間内における仮想カメラの配置及び撮影方向に応じて、ディスプレイ１３２の表示内容を決定し、決定した表示内容に従う画像、テキストなどの各種の情報をディスプレイ１３２に出力する。
【００５３】
図３は、サーバ２０の機能的な構成を示すブロック図である。図３を参照して、サーバ２０の詳細な構成を説明する。サーバ２０は、一般的なコンピュータとして構成され、プログラムに従って動作することにより、通信部２２０と、記憶部２５０と、制御部２９０としての機能を発揮する。
【００５４】
通信部２２０は、通信機器であり、サーバ２０が携帯端末１０などの外部の通信機器と通信するためのインタフェースとして機能する。
【００５５】
記憶部２５０は、記憶装置であり、携帯端末１０においてユーザがゲームを進行させるための各種プログラム及びデータを記憶する。ある局面において、記憶部２５０は、ゲームプログラム２５１と、ゲーム情報２５２と、ユーザ情報２５３とを記憶する。
【００５６】
ゲームプログラム２５１は、サーバ２０が携帯端末１０と通信して、携帯端末１０においてゲームを進行させるためのプログラムである。ゲームプログラム２５１は、ゲームを進行させるための各種データであるゲーム情報２５２及びユーザ情報２５３などを参照して、ユーザの入力操作に応じてゲームを進行させる。ゲームプログラム２５１は、制御部２９０に実行されることにより、携帯端末１０とデータを送受信する処理、携帯端末１０のユーザが行った操作内容に応じてゲームを進行させる処理、ゲームをプレイするユーザの情報を更新する処理、その他の処理をサーバ２０に行わせる。
【００５７】
ゲーム情報２５２は、ゲームプログラム２５１が参照する各種のデータを含む。ゲーム情報２５２は、オブジェクト管理テーブル２５２Ａと、パッシブスキル管理テーブル２５２Ｂと、アクティブスキル管理テーブル２５２Ｃとを含む。
【００５８】
オブジェクト管理テーブル２５２Ａは、ゲームの仮想空間内に配置されるオブジェクトの設定を示す。携帯端末１０は、ゲームプログラム１５１を実行することにより、仮想空間内に配置されるオブジェクトを、仮想空間内に配置される仮想カメラによって撮影された画像をディスプレイ１３２に表示させることでゲームを進行させる。
【００５９】
ここで、オブジェクトとしては、例えば、ユーザが操作するゲームキャラクタを示すオブジェクト、ゲームキャラクタが装着する対象物を示すオブジェクトなど様々なものがある。これらオブジェクトは、ユーザがタッチスクリーン１３０に対して予め定められた入力操作を行うこと、ゲームの進行に伴い一定の条件を満たすこと、その他の様々な事象の発生を契機として、オブジェクトに対応付けられた処理が行われる。
【００６０】
例えば、あるオブジェクトに対してユーザがタッチスクリーン１３０に対して接近操作を行うことで、オブジェクトがユーザに選択された状態となる。また、例えば、ユーザがタップ操作を行うことで、ユーザに選択されているオブジェクトがユーザの入力操作に応じて攻撃するなどの処理が行われる。また、例えば、ユーザがドラッグ操作を行うことで、ユーザに選択されているオブジェクトがユーザの入力操作に応じて移動するなどの処理が行われる。また、例えば、ユーザがオブジェクトに対してロングタッチ操作をすることで、ユーザに対し、ゲームを有利に進めるための報酬が付与されるなどの処理が行われる。
【００６１】
パッシブスキル管理テーブル２５２Ｂは、オブジェクトを識別する情報と、オブジェクトに対応付けられたパッシブスキルの情報とが対応付けられている。ここで、パッシブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動され、ユーザがゲームを有利に進行させることができるものである。例えば、パッシブスキルが発動した場合に、ゲームキャラクタの移動速度が向上するなどの、ゲームを有利に進行させられる効果を発揮させる。
【００６２】
アクティブスキル管理テーブル２５２Ｃは、オブジェクトを識別する情報と、オブジェクトに対応付けられたアクティブスキルの情報とが対応付けられている。ここで、アクティブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動可能な状態となり、ユーザから、スキルを発動させるための入力操作を受け付けることにより、ユーザがゲームを有利に進行させることができるものである。
【００６３】
ユーザ情報２５３は、ゲームをプレイするユーザについての情報である。ユーザ情報２５３は、ユーザ管理テーブル２５３Ａを含む。ユーザ管理テーブル２５３Ａは、各ユーザを識別する情報と、ユーザがゲームを進行させた度合いを示す情報と、ユーザがゲーム内で保有するアイテム、ゲームキャラクタ、ゲームキャラクタが使用する装着物などの情報その他の情報を含む。
【００６４】
制御部２９０は、記憶部２５０に記憶されるゲームプログラム２５１を実行することにより、送受信部２９１、サーバ処理部２９２、データ管理部２９３、マッチング部２９４、計測部２９５としての機能を発揮する。
【００６５】
送受信部２９１は、ゲームプログラム１５１を実行する携帯端末１０から、各種情報を受信し、携帯端末１０に対し、各種情報を送信する。携帯端末１０とサーバ２０とは、ユーザに関連付けられるオブジェクトを仮想空間に配置する要求、オブジェクトを削除する要求、オブジェクトを移動させる要求、ユーザが獲得する報酬に応じて各種パラメータを更新する要求、ゲームを進行させるための画像、音声その他のデータ、サーバ２０から携帯端末１０へ送信される通知などの情報を送受信する。
【００６６】
サーバ処理部２９２は、サーバ２０全体の動作を制御し、各種のプログラムを呼び出すなどによりゲームの進行に必要な処理を行う。サーバ処理部２９２は、例えば、携帯端末１０から受信した情報に基づいて、ゲーム情報２５２、ユーザ情報２５３などのデータを更新し、携帯端末１０に各種データを送信することでゲームを進行させる。
【００６７】
データ管理部２９３は、サーバ処理部２９２の処理結果に従って、記憶部２５０に記憶される各種データを更新する処理、データベースにレコードを追加／更新／削除する処理などを行う。
【００６８】
マッチング部２９４は、複数のユーザを関連付けるための一連の処理を行う。マッチング部２９４は、例えば、ユーザがマルチプレイを行うための入力操作を行った場合に、ゲームを協同してプレイさせるユーザを関連付ける処理などを行う。
【００６９】
計測部２９５は、時間を計測する処理を行う。計測部２９５は、例えば、仮想空間に配置される各オブジェクトについて時間の経過を計測する。また、計測部２９５は、ゲームが進行している時間を計測する。サーバ２０は、携帯端末１０から、携帯端末１０においてゲームプログラム１５１を実行して計測される各種の計測結果の情報を受信し、受信した情報と、計測部２９５の計測結果とを照合することで、携帯端末１０とサーバ２０とで、各種の時間に関する情報を同期させる。
【００７０】
［実施形態の構成のまとめ］
以上のように、実施形態のゲーム提供システム１の構成を説明してきた。本実施形態において、ゲームプログラム１５１は、例えばアクションゲームであり、仮想空間内の仮想カメラの配置及び撮影方向に応じた画像をタッチスクリーン１３０に表示させることでゲームを進行させる。
【００７１】
例えば、ゲームプログラム１５１がアクションゲームである場合、ゲーム進行処理部１９２は、ユーザの操作に応じてストーリーを進行させ、画像、テキストなどディスプレイ１３２に表示するデータを決定する処理、交戦相手又は仲間の選択をユーザから受け付ける処理、ユーザの操作に応じてアクションゲームを進める処理などの基本的な処理を行う。
【００７２】
例えば、ゲームプログラム１５１がアクションゲームである場合、カメラ配置制御部１９４は、アクションゲームを行うための仮想空間における仮想カメラの配置位置及び撮影方向を、アクションゲームの進展に応じて、逐次、決定する。カメラ配置制御部１９４は、仮想カメラのカメラワークを制御する。カメラ配置制御部１９４の詳細な処理は、後述する。
【００７３】
例えば、表示制御部１９６は、ゲームキャラクタを一定領域に表示させるよう仮想カメラを配置した状態で、ゲームキャラクタに第１の動作（例えば、移動動作）を行わせるための入力操作を受け付けて、受け付けた入力操作に応じてゲームキャラクタに第１の動作を行わせる画面表示をする。
【００７４】
［動作］
図面を参照して、実施形態のゲーム提供システム１を構成する各装置の動作を説明する。
【００７５】
（入力操作の検知）
図４は、入力操作受付部１９１が入力操作の種類を検知する処理を説明する図である。
図４の例では、ユーザ情報１５３を記憶する記憶部１５０の配列ｆｐ［０］〜配列ｆｐ［１０］までの１１個の配列のそれぞれに、タッチパネル１３１により検知されたタッチスクリーン１３０上の位置を示す履歴情報が格納されている。履歴情報は、所定の期間毎（例えば、フレームレート毎）に履歴情報テーブルに格納される。履歴情報が格納される配列の個数は限定されず、任意の個数であってよい。また、履歴情報テーブルでは、タッチオフからタッチオンになった場合に検知された履歴情報を、初期位置座標として記憶部１５０に記憶してもよい。
【００７６】
図４に示されるように、例えば、配列ｆｐ［０］〜配列ｆｐ［９］に、履歴情報（ｘ０、ｙ０）が格納されており、配列ｆｐ［１０］にｎｕｌｌ値が格納された場合、入力操作受付部１９１は、入力操作はタップ操作であると判別する。また、例えば、タッチナウ状態において履歴情報が変化した後に、ｎｕｌｌ値が格納された場合、入力操作受付部１９１はｎｕｌｌ値が格納された配列ｆｐ［５］の直前の配列ｆｐ［３］および配列ｆｐ［４］に格納されている履歴情報を参照する。そして、入力操作受付部１９１は、配列ｆｐ［３］および配列ｆｐ［４］の履歴情報がそれぞれ示す位置の間の距離が予め設定された閾値以上である場合、入力操作はフリック操作であると判別する。また、入力操作受付部１９１は、タッチナウ状態において履歴情報が変化した後に、例えば配列ｆｐ［４］〜ｆｐ［１０］に履歴情報（ｘ１５、ｙ１５）が格納された場合、入力操作はドラッグ操作であると判別する。
【００７７】
（移動方向の検知）
図５は、移動方向検出部１９３がユーザの入力操作に応じてゲームキャラクタを移動させる方向を検出する処理を説明する図である。移動方向検出部１９３は、ユーザがタッチスクリーン１３０を押していない状態から、指などをタッチパネル１３１に接近させてタッチスクリーン１３０を押した位置（初期タッチ位置）を起点と設定する。入力操作受付部１９１は、ユーザの操作をドラッグ操作と判別している場合に、起点となる座標と、タッチスクリーン１３０がユーザの指などの接近を検出している座標とに基づいて、ゲームキャラクタを移動させる方向を検出する。
【００７８】
図５の状態（Ａ）は、タッチスクリーン１３０からユーザの指が離れた状態から、ユーザが指をタッチスクリーン１３０に接近させた状態を示す。入力操作受付部１９１は、ユーザの指がタッチパネル１３１に接近したことを検出し、検出した座標を初期タッチ位置として記憶部１５０にユーザ情報１５３として保持する。
【００７９】
図５の例では、記憶部１５０が保持する初期タッチ位置の座標を、初期タッチ位置座標１５５として示す。入力操作受付部１９１は、タッチスクリーン１３０の検出結果（ユーザの指がタッチスクリーン１３０に接近している座標、及び、ユーザの指がタッチスクリーン１３０に接近していることを検出していないこと（検出結果「ｎｕｌｌ」））を、一定フレーム分、ユーザ情報１５３としてバッファメモリに格納する。バッファメモリは、タッチスクリーン１３０における検出結果を、各フレームについて一定フレーム分（図５の例では、配列ｆｐ〔０〕〜配列ｆｐ〔１０〕までの１１フレーム分）、格納することができる。バッファメモリは、例えばリングバッファとして実現することができる。
【００８０】
図５の状態（Ａ）の例では、ユーザがタッチスクリーン１３０を押した位置を、押下位置３０Ａ（タッチスクリーン１３０の座標（ｘ０，ｙ０））として示す。
【００８１】
図５の状態（Ｂ）は、ユーザがタッチスクリーン１３０に対してドラッグ操作を行って、タッチスクリーン１３０に対する押下位置を、押下位置３０Ａから押下位置３０Ｂ（タッチスクリーン１３０の座標（ｘ９，ｙ９））まで１０フレーム（配列ｆｐ〔０〕〜配列ｆｐ〔９〕までの１０フレーム分）で移動させたことを示す。入力操作受付部１９１は、タッチスクリーン１３０の検出結果をユーザ情報１５３としてバッファメモリに格納し、バッファメモリに保持される値を参照して、タッチスクリーン１３０に対するユーザの操作をドラッグ操作と判別する。
【００８２】
図５の状態（Ｃ）は、ユーザがタッチスクリーン１３０を押している位置を、押下位置３０Ｂから押下位置３０Ｃ（タッチスクリーン１３０の座標（ｘ１４，ｙ１４））まで、５フレーム（配列ｆｐ〔１０〕、ｆｐ〔０〕、ｆｐ〔１〕、ｆｐ〔２〕、ｆｐ〔３〕の５フレーム分）で移動させたことを示す。
【００８３】
図５の状態（Ｄ）は、移動方向検出部１９３が、状態（Ｂ）及び状態（Ｃ）のそれぞれにおいて、ユーザがゲームキャラクタを移動させる方向を指定する入力操作の検出結果を示す。移動方向検出部１９３は、バッファメモリにおいて、タッチスクリーン１３０が検出する押下位置の座標を書き込む対象となるメモリ領域がいずれであるかを示す情報（バッファメモリの書き込み位置）を管理している。
【００８４】
図５の状態（Ｂ）において、移動方向検出部１９３は、入力操作受付部１９１の判別結果に基づいて、初期タッチ位置を示す座標３１Ａ（座標（ｘ０，ｙ０））から座標３１Ｂ（座標（ｘ９，ｙ９））までユーザがドラッグ操作を行ったことを検出する。移動方向検出部１９３は、初期タッチ位置の座標３１Ａを起点として、座標３１Ａと座標３１Ｂとによって規定されるベクトル３２Ｂ（（ｙ９−ｙ０）／（ｘ９−ｘ０））を、ゲームキャラクタを移動させる方向として検出する。
【００８５】
図５の状態（Ｃ）において、移動方向検出部１９３は、入力操作受付部１９１の判別結果に基づいて、座標３１Ｂ（座標（ｘ９，ｙ９））から座標３１Ｃ（座標（ｘ１４，ｙ１４））までユーザがドラッグ操作を行ったことを検出する。移動方向検出部１９３は、初期タッチ位置の座標３１Ａを起点として、座標３１Ａと座標３１Ｃとによって規定されるベクトル３２Ｃ（（ｙ１４−ｙ０）／（ｘ１４−ｘ０））を、ゲームキャラクタを移動させる方向として検出する。
【００８６】
このように、移動方向検出部１９３は、ユーザの指が接近していない状態からタッチスクリーン１３０に接近したことを検出した第１のタッチ位置から、接近していることを検出したまま第２のタッチ位置へ検出位置が移動した場合に、接近していることを検出している間、第１のタッチ位置を起点とし第２のタッチ位置へ向かう方向である操作方向を、ゲームキャラクタＣＡ１の仮想空間における移動方向として決定する。
【００８７】
（仮想カメラの制御）
図６は、カメラ配置制御部１９４が仮想カメラＶＣを制御する処理を説明する図である。図６では、仮想カメラＶＣがゲームキャラクタＣＡ１を背後から追尾するカメラワークを説明する。図６の状態（Ａ）では、ゲームキャラクタＣＡ１が方向Ｄ１（移動方向）に向かって移動する様子が示されている。例えば、入力操作受付部１９１がユーザによる入力操作をドラッグ操作と判定し、移動方向検出部１９３がゲームキャラクタＣＡ１の移動方向を方向Ｄ１と検出したとき、オブジェクト制御部１９５は、ゲームキャラクタＣＡ１の正面を方向Ｄ１に向け、ゲームキャラクタＣＡ１を方向Ｄ１へ移動させる。カメラ配置制御部１９４は、ゲームキャラクタＣＡ１の背後から追尾するように、仮想カメラＶＣの配置位置及び撮影方向を制御する。ゲームキャラクタＣＡ１の背後から追尾する場合、カメラ配置制御部１９４は、撮影方向ＤＶとゲームキャラクタＣＡ１の向き（方向Ｄ１）とがなす角度θ１（対応関係）は０°となる。カメラ配置制御部１９４は、カメラ視界の中央付近にゲームキャラクタＣＡ１が表示されるように、仮想カメラＶＣを配置する。
【００８８】
図６の状態（Ｂ）では、ユーザによるドラッグ操作により移動方向が方向Ｄ１から方向Ｄ２へ変更された様子を示す。この場合、オブジェクト制御部１９５は、ゲームキャラクタＣＡ１の正面を方向Ｄ２に向け、ゲームキャラクタＣＡ１を方向Ｄ２へ移動させる。このとき、カメラ配置制御部１９４は、撮影方向ＤＶとゲームキャラクタＣＡ１の向き（方向Ｄ１）とがなす角度θ１（対応関係）が０°となるように、仮想カメラＶＣの配置位置及び撮影方向ＤＶを変更する。なお、カメラ配置制御部１９４は、変化前後の移動方向の変化角度θ２を検出し、検出された変化角度θ２を仮想カメラＶＣの変化角度θ３としてもよい。
【００８９】
このように、カメラ配置制御部１９４は、ユーザによる入力操作に応じて移動方向が変化するゲームキャラクタＣＡ１を背後から追尾するようなカメラワークを提供する。
【００９０】
（移動操作時の画面例）
図７は、ユーザによる入力操作に応じて変化するカメラワーク及び操作オブジェクトを説明する図である。画面例（Ａ）〜画面例（Ｃ）は、タッチスクリーン１３０に表示された画像である。画面例（Ａ）〜画面例（Ｃ）では、表示制御部１９６が、カメラ配置制御部１９４によりゲームキャラクタＣＡ１の背後から撮影された画像を、タッチスクリーン１３０に表示させている。入力操作受付部１９１によりユーザによる入力操作が受け付けられたとき、オブジェクト制御部１９５は、ユーザの入力操作に応じて操作オブジェクトを生成する。表示制御部１９６は、仮想カメラＶＣにより撮影された画像上に操作オブジェクトを重畳させて、タッチスクリーン１３０に表示させる。
【００９１】
図７の画面例（Ａ）は、ユーザがタッチスクリーン１３０に指などを接近させた操作をしたときの画面の一例である。入力操作受付部１９１によりユーザがタッチスクリーン１３０の第１位置３００Ａに指などを接近させた操作をしたと判定されたとき、オブジェクト制御部１９５は、入力操作に応答して円形の操作オブジェクト３００を生成する。表示制御部１９６は、生成された円形の操作オブジェクト３００をタッチ位置である第１位置３００Ａに表示させる。図７の画面例（Ａ）では、撮影方向を方向ＶＤ１、ゲームキャラクタＣＡ１の向きを方向ＣＤ１で示している。撮影方向である方向ＶＤ１とゲームキャラクタＣＡ１の向きである方向ＣＤ１の対応関係（なす角度）は０°である。
【００９２】
図７の画面例（Ｂ）は、図７の画面例（Ａ）の第１位置３００Ａを起点としてユーザがドラッグ操作をしたときの画面の一例である。入力操作受付部１９１は、起点である第１位置３００Ａから終点である第２位置３００Ｂまでのドラッグ操作を受け付ける。入力操作受付部１９１によりドラッグ操作が受け付けられた場合、オブジェクト制御部１９５は、ドラッグ操作の操作結果を示す操作オブジェクト３００を生成する。ドラッグ操作の操作結果を示す操作オブジェクト３００は、ドラッグ操作の起点となる位置と終点となる位置とを関連付けることで、操作結果（例えば操作方向）を表現する。図７の画面例（Ｂ）の例では、オブジェクト制御部１９５は、起点及び終点に対応する位置に操作オブジェクト３００の端部がそれぞれ位置するように、第１位置３００Ａから第２位置３００Ｂに至るまで引き延ばされた操作オブジェクト３００を生成している。表示制御部１９６は、引き延ばされた操作オブジェクト３００をタッチスクリーン１３０に表示させる。この状態における操作方向及び撮影方向が図示されている。操作方向は方向ＳＤ１（図中右上方向）であり、撮影方向は方向ＶＤ１（図中上方向）である。方向ＳＤ１と方向ＶＤ１とのなす角はθ４である。
【００９３】
さらに、移動方向検出部１９３は、ドラッグ操作が受け付けられた場合、ゲームキャラクタＣＡ１の移動方向を、操作方向である方向ＳＤ１と同一の方向に決定する。オブジェクト制御部１９５は、ゲームキャラクタＣＡ１を移動方向に向け、移動を開始させる。
【００９４】
図７の画面例（Ｂ）においてゲームキャラクタＣＡ１の向きが変更されると、カメラ配置制御部１９４は、ゲームキャラクタＣＡ１の背後を追尾するように仮想カメラＶＣの配置位置及び撮影方向を制御する。具体的には、方向ＳＤ１と方向ＶＤ１とのなす角であるθ４分だけ、撮影方向が注視点（ゲームキャラクタＣＡ１）を中心として右回転する。さらに、仮想カメラＶＣの配置位置は、ゲームキャラクタＣＡ１又は移動目的地が画面の中央にくるように制御される。これにより、タッチスクリーン１３０に表示される画像は、画面例（Ｂ）から画面例（Ｃ）へ遷移する。
【００９５】
このように、ユーザによる入力操作に応じてゲームキャラクタを背後から追尾するカメラワークが実行されるため、臨場感のあるゲームが提供される。また、操作方向が画面上に示されることにより、ユーザにとって理解し易いゲームが提供される。
【００９６】
（キャラクタユニットの構成時の画面例）
本実施形態に係るゲームにおいては、複数のゲームキャラクタが関連付けられたキャラクタユニットを操作することができる。例えば、携帯端末１０のゲーム情報１５２又はサーバ２０のゲーム情報２５２は、ゲームキャラクタと、当該ゲームキャラクタとユニット化が可能な１又は複数の他のゲームキャラクタとが関連付けられたユニットテーブルを含む。オブジェクト制御部１９５は、入力操作受付部１９１によりユーザがキャラクタユニットを構成することを指示したときに、ユニットテーブルを参照してキャラクタユニットを構成する。
【００９７】
図８は、キャラクタユニットの構成の一例を説明する図である。画面例（Ａ）及び画面例（Ｂ）は、タッチスクリーン１３０に表示された画像である。図８の画面例（Ａ）は、ゲームキャラクタＣＡ１（第一キャラクタの一例）がゲーム空間内のフィールド上に起立している状態の画面である。タッチスクリーン１３０の右下には、３つの操作アイコンＩＣ１〜ＩＣ３が表示されている。第一操作アイコンＩＣ１及び第二操作アイコンＩＣ２は、キャラクタユニットの構成を指示する入力操作を受け付けるためのアイコンである。第一操作アイコンＩＣ１は、他のゲームキャラクタであるドラゴンとユニットを組むためのアイコンである。第二操作アイコンＩＣ２は、他のゲームキャラクタであるゴーレムとユニットを組むためのアイコンである。第三操作アイコンＩＣ３は、キャラクタユニットを解除するためのアイコンである。操作アイコンＩＣ１及び操作アイコンＩＣ２は、上述したユニットテーブルに基づいて表示される。
【００９８】
図８の画面例（Ａ）の状態で、ユーザがタップ操作により第一操作アイコンＩＣ１を選択すると、画面例（Ａ）から画面例（Ｂ）に画面が遷移する。図８の画面例（Ｂ）は、ゲームキャラクタＣＡ１がゲームキャラクタＣＡ２（第二キャラクタの一例）に乗った状態の画面である。図示されるように、ゲームキャラクタＣＡ１とゲームキャラクタＣＡ２とによってキャラクタユニットＣＵ１が構成される。なお、図８の画面例（Ｂ）はキャラクタユニットの一例であり、これに限定されない。ユニット化するキャラクタユニットは、一体的に移動可能なものであればよく、他のモンスター、人物、動物、車両や飛行機などの乗り物と構成してもよい。２つの人型のゲームキャラクタの例では、隊列を組んだり、手を繋いだりすることにより、キャラクタユニットを構成することができる。人型のゲームキャラクタと乗り物のゲームキャラクタとの例では、人型のゲームキャラクタが乗り物に乗り込むことにより、キャラクタユニットを構成することができる。
【００９９】
図８の画面例（Ｂ）の状態で、ユーザがタップ操作により第三操作アイコンＩＣ３を選択すると、キャラクタユニットＣＵ１が解除され、画面例（Ｂ）から画面例（Ａ）に画面が遷移する。
【０１００】
（キャラクタユニット構成のフローチャート）
図９は、キャラクタユニットの構成処理を説明するフローチャートである。図９のフローチャートは、制御部１９０がゲームプログラム１５１を実行することによりアクションゲームを進行させる処理を示すフローチャートである。以下では、ゲームキャラクタＣＡ１とドラゴンのゲームキャラクタＣＡ２とがキャラクタユニットを構成する一例を説明する。
【０１０１】
ステップＳ１０において、制御部１９０は、入力操作が受け付けられたか否かを判定する。
【０１０２】
入力操作が受け付けられたと判定されると（ステップＳ１０：ＹＥＳ）、ステップＳ１２において、制御部１９０は、キャラクタユニットを構成中であるか否かを判定する。制御部１９０は、例えば、ゲームキャラクタＣＡ１が図８の画面例（Ａ）に対応する状態の場合には「０」、ゲームキャラクタＣＡ１が図８の画面例（Ｂ）に対応する状態の場合には「１」となるユニットフラグを参照して、キャラクタユニットを構成中であるか否かを判定する。制御部１９０は、キャラクタユニットの構成時又は解除時にユニットフラグを更新する。
【０１０３】
キャラクタユニットを構成中でないと判定されると（ステップＳ１２：ＮＯ）、ステップＳ１４において、制御部１９０は、入力操作がドラゴンに乗る操作であるか否かを判定する。制御部１９０は、一例として、入力操作が、図８の画面例（Ａ）において表示された操作アイコンＩＣ１を選択するタップ操作であるか否かを判定する。
【０１０４】
入力操作がドラゴンに乗る操作であると判定されると（ステップＳ１４：ＹＥＳ）、ステップＳ１６（構成ステップの一例）において、制御部１９０のオブジェクト制御部１９５は、ゲームキャラクタＣＡ１とドラゴンのゲームキャラクタＣＡ２とでキャラクタユニットＣＵ１を構成する。オブジェクト制御部１９５は、ユニットテーブルを参照して、ゲームキャラクタＣＡ１とドラゴンのゲームキャラクタＣＡ２とが関連付けられたキャラクタユニットを構成する。制御部１９０の表示制御部１９６は、構成されたキャラクタユニットＣＵ１をタッチスクリーン１３０に表示させる（図８の画面例（Ｂ）に対応する）。
【０１０５】
入力操作がドラゴンに乗る操作でないと判定されると（ステップＳ１４：ＮＯ）、ステップＳ１８において、制御部１９０は、入力操作に応じた動作をゲームキャラクタＣＡ１に実行させる。例えば、タップ操作であれば、攻撃対象を決定し、ゲームキャラクタＣＡ１に攻撃動作を実行させる。
【０１０６】
一方、キャラクタユニットを構成中であると判定されると（ステップＳ１２：ＹＥＳ）、ステップＳ２０において、制御部１９０は、入力操作がドラゴンから降りる操作であるか否かを判定する。制御部１９０は、一例として、入力操作が、図８の画面例（Ａ）において表示された操作アイコンＩＣ３を選択するタップ操作であるか否かを判定する。
【０１０７】
入力操作がドラゴンから降りる操作であると判定されると（ステップＳ２０：ＹＥＳ）、ステップＳ２２において、制御部１９０のオブジェクト制御部１９５は、ゲームキャラクタＣＡ１とドラゴンのゲームキャラクタＣＡ２とのキャラクタユニットＣＵ１を解除する。制御部１９０の表示制御部１９６は、キャラクタユニットＣＵ１の表示を終了し、ゲームキャラクタＣＡ１をタッチスクリーン１３０に表示させる（図８の画面例（Ａ）に対応する）。
【０１０８】
入力操作がドラゴンから降りる操作でないと判定されると（ステップＳ２０：ＮＯ）、ステップＳ２４において、制御部１９０は、入力操作に応じた動作をキャラクタユニットＣＵ１に実行させる。例えば、タップ操作であれば、攻撃対象を決定し、キャラクタユニットＣＵ１に攻撃動作を実行させる。
【０１０９】
入力操作が受け付けられていないと判定された場合（ステップＳ１０：ＮＯ）、ステップＳ１６、ステップＳ１８、又は、ステップＳ２４が終了した場合には、図９に示されるフローチャートは終了する。そして、制御部１９０は、所定の条件が満たされるまで図９に示されるフローチャートを最初から実行する。以上で、キャラクタユニットの一連の構成処理が終了する。
【０１１０】
（キャラクタユニットの操作）
キャラクタユニットは、所定条件（操作条件）が満たされた場合を除き、図７に示されるような単体のゲームキャラクタと同一の手法で操作することができる。
【０１１１】
図１０は、キャラクタユニットの動作の第一態様及び第二態様の一例を説明する図である。画面例（Ａ）及び画面例（Ｂ）は、タッチスクリーン１３０に表示された画像である。図１０の画面例（Ａ）は、ユーザがタッチスクリーン１３０に対してドラッグ操作を行ったときの画面の一例である。オブジェクト制御部１９５は、起点及び終点に対応する位置に操作オブジェクト３００の端部がそれぞれ位置するように、第１位置３００Ａから第２位置３００Ｂに至るまで引き延ばされた操作オブジェクト３００を生成する。ユーザによる移動操作に応じて、キャラクタユニットＣＵ１は、操作方向ＳＤ２に向けてフィールド上を走行するように移動する。以下では、走行する移動態様を第一態様ともいう。キャラクタユニットＣＵ１をフィールド上で走行させるこのような移動操作は、単一のキャラクタを操作する場合と同一の操作となる。
【０１１２】
キャラクタユニットＣＵ１は、所定条件（操作条件）が満たされた場合には、第一態様とは異なる態様で移動する。所定条件は、入力操作に関連して予め定められた条件である。所定条件は、一例として、キャラクタユニットＣＵ１がフィールド上を非戦闘状態で所定時間継続して走行した場合に満たされる。図１０の画面例（Ｂ）は、図１０の画面例（Ａ）の走行状態が所定時間継続したときの画面の一例である。図１０の画面例（Ｂ）に示されるように、フィールド上を走行していたキャラクタユニットＣＵ１は、走行しながら翼を羽ばたかせ、空中を飛行する。以下では飛行する移動態様を第二態様ともいう。飛行状態となったキャラクタユニットＣＵ１は、フィールド上を走行する場合と比べて移動速度が速くなる。このような操作態様の遷移は、ユーザによる移動操作であるドラッグ操作が継続した状態で発生する。つまり、ユーザが同一の移動操作をし続けるだけで、キャラクタ移動の操作が変更される。このように、操作方法を変更することなくキャラクタの動作が変更されるため、ユーザは複雑な操作方法を理解する必要がない。このため、ユーザは操作そのものに集中する必要もなくなることからキャラクタとの一体感を得やすい。
【０１１３】
図１１は、キャラクタユニットの動作の第二態様の一例を説明する図である。画面例（Ａ）及び画面例（Ｂ）は、タッチスクリーン１３０に表示された画像である。図１１の画面例（Ａ）は、キャラクタユニットＣＵ１が飛行状態（図１０の画面例（Ｂ））のときに、ユーザがタッチスクリーン１３０に対してドラッグ操作の終端位置を変更したときの画面の一例である。図１１の画面例（Ａ）に示されるように、オブジェクト制御部１９５は、起点及び終点に対応する位置に操作オブジェクト３００の端部がそれぞれ位置するように、第１位置３００Ａから第２位置３００Ｂに至るまで引き延ばされた操作オブジェクト３００を生成する。ユーザによる移動操作に応じて、キャラクタユニットＣＵ１は、操作方向ＳＤ３に向けて飛行する。このとき、キャラクタユニットＣＵ１がユーザによる移動操作に応じて傾く。例えば、キャラクタユニットＣＵ１は、その正面方向を回転軸として回転する。図中では回転方向ＳＤ４に傾いている。回転方向は、ユーザによる入力操作による操作方向によって決定される。例えば、右方向への移動操作である場合には右回転となり、左方向への移動操作である場合には左回転となる。また、回転量は、ユーザによる入力操作による操作量によって決定される。例えば、ユーザによる入力操作による操作方向の角度変化量が大きいほど回転量が大きくなる。したがって、ユーザが素早く操作方向を変更した場合には、キャラクタユニットＣＵ１が大きく傾くことになる。キャラクタユニットＣＵ１が大きく傾いた場合、ドラゴンの翼がフィールドに接触し、飛行状態が解除される。つまり、所定角度以上の変化が伴う方向転換をした場合、飛行状態が解除される。この場合、図１０の画面例（Ａ）に遷移する。ユーザは、所定角度以上の変化が伴う方向転換が飛行状態では禁止されていることをドラゴンの翼の接触で知ることができる。したがって、ユーザは飛行状態で許容される操作範囲を学習することができる。
【０１１４】
図１１の画面例（Ｂ）は、キャラクタユニットＣＵ１が飛行状態のときに敵キャラクタと接触したときの画面の一例である。図１１の画面例（Ｂ）に示されるように、オブジェクト制御部１９５は、起点及び終点に対応する位置に操作オブジェクト３００の端部がそれぞれ位置するように、第１位置３００Ａから第２位置３００Ｂに至るまで引き延ばされた操作オブジェクト３００を生成する。ユーザによる移動操作に応じて、キャラクタユニットＣＵ１は、操作方向に向けて飛行する。キャラクタユニットＣＵ１の進行方向には、敵キャラクタＣＡ３が多数存在する。敵キャラクタＣＡ３には、体力値である「ＨＰ」がそれぞれ割り当てられており、対応するゲージで表示されている。飛行中のキャラクタユニットＣＵ１が敵キャラクタと接触した場合、キャラクタユニットＣＵ１よりも能力の劣る敵キャラクタＣＡ３（いわゆる「雑魚キャラ」）であれば、蹴散らすことができる。具体的な一例として、キャラクタユニットＣＵ１は、敵キャラクタＣＡ３と接触した場合には、接触した敵キャラクタＣＡ３を蹴散らすとともに、当該敵キャラクタＣＡ３の体力値である「ＨＰ」を減少させる。図中では、蹴散らされた敵キャラクタＣＡ３の「ＨＰ」ゲージが０（ここでは空白）になっている。このように、ユーザは、フィールド走行時と比べて速い移動速度で操作対象を移動させながら、移動操作だけで敵キャラクタを一掃することができるため、十分な爽快感を得ることができる。
【０１１５】
図１２は、キャラクタユニットの動作の第二態様の一例を説明する図である。画面例（Ａ）及び画面例（Ｂ）は、タッチスクリーン１３０に表示された画像である。図１２の画面例（Ａ）に示されるように、オブジェクト制御部１９５は、起点及び終点に対応する位置に操作オブジェクト３００の端部がそれぞれ位置するように、第１位置３００Ａから第２位置３００Ｂに至るまで引き延ばされた操作オブジェクト３００を生成する。ユーザによる移動操作に応じて、キャラクタユニットＣＵ１は、操作方向に向けて飛行する。キャラクタユニットＣＵ１の進行方向には、大型の敵キャラクタＣＡ４が存在する。敵キャラクタＣＡ４には、体力値である「ＨＰ」が割り当てられており、対応するゲージで表示されている。飛行中のキャラクタユニットＣＵ１は、接触した相手がキャラクタユニットＣＵ１よりも能力の高い敵キャラクタＣＡ４（いわゆる「ボスキャラ」）の場合には、接触後に後退し（ノックバック）、飛行状態が解除される（図１２の画面例（Ｂ））。このように、飛行状態が無敵状態ではないことにより、ユーザは飛行時において接触すべき敵キャラクタの選択に迫られるため、ゲーム性が向上する。
【０１１６】
（移動操作時のフローチャート）
図１３は、移動操作時の処理を説明するフローチャートである。図１３のフローチャートは、制御部１９０がゲームプログラム１５１を実行することによりアクションゲームを進行させる処理を示すフローチャートである。なお、フィールド上を走行により移動する処理は、ゲームキャラクタＣＡ１及びキャラクタユニットＣＵ１それぞれ同一の処理となる。このため、走行により移動する処理については、ゲームキャラクタＣＡ１を例にして説明する。
【０１１７】
ステップＳ３０において、制御部１９０は、入力操作が受け付けられたか否かを判定する。
【０１１８】
入力操作が受け付けられたと判定されると（ステップＳ３０：ＹＥＳ）、ステップＳ３２において、制御部１９０は、初期タッチ位置に操作オブジェクトを表示させる（図７の画面例（Ａ）に対応する）。オブジェクト制御部１９５は、入力操作に応答して円形の操作オブジェクト３００を生成する。表示制御部１９６は、生成された円形の操作オブジェクト３００をタッチ位置である第１位置３００Ａに表示させる。初期タッチ位置は、操作方向を決定する起点（操作オブジェクトの端部位置）の初期値となる。
【０１１９】
ステップＳ３４において、制御部１９０は、入力操作がドラッグ操作であるか否かを判定する。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、ドラッグ操作であるか否かを判定する（図４参照）。
【０１２０】
入力操作がドラッグ操作であると判定されると（ステップＳ３４：ＹＥＳ）、ステップＳ３６において、制御部１９０は、起点（第１位置３００Ａ）からドラッグ方向（方向ＳＤ１）へ伸びる操作オブジェクト３００を表示させる（図７の画面例（Ｂ）に対応する）。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、操作オブジェクト３００を生成して、タッチスクリーン１３０に表示させる。
【０１２１】
ステップＳ３８において、制御部１９０は、ゲームキャラクタＣＡ１又はキャラクタユニットＣＵ１を移動させる処理を行う。この処理については後述する。
【０１２２】
ステップＳ４０において、制御部１９０は、ドラッグ操作が完了したか否かを判定する。ドラッグ操作が完了していないと判定されると（ステップＳ４０：ＮＯ）、制御部１９０は、上述したステップＳ３６及びステップＳ３８を再実行する。これにより、ユーザの指が接近していることをタッチスクリーン１３０が検出している間、つまり、ドラグ操作が継続されている間、操作オブジェクトが表示され、ゲームキャラクタＣＡ１又はキャラクタユニットＣＵ１が移動することになる。
【０１２３】
ドラッグ操作が完了したと判定されると（ステップＳ４０：ＹＥＳ）、ステップＳ４２として、制御部１９０は、ゲームキャラクタＣＡ１又はキャラクタユニットＣＵ１の移動を終了する。そして、ステップＳ４４として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１２４】
一方、入力操作がドラッグ操作でないと判定されると（ステップＳ３４：ＮＯ）、ステップＳ４６において、制御部１９０は、入力操作に応じた動作をゲームキャラクタＣＡ１に実行させる。例えば、タップ操作であれば、攻撃対象を決定し、ゲームキャラクタＣＡ１又はキャラクタユニットＣＵ１に攻撃動作を実行させる。そして、ステップＳ４４として、制御部１９０は、操作オブジェクト３００の表示を終了する。
【０１２５】
入力操作が受け付けられていないと判定された場合（ステップＳ３０：ＮＯ）、又は、操作オブジェクト３００の表示を終了した場合には、図１３に示されるフローチャートは終了する。そして、制御部１９０は、所定の条件が満たされるまで図１３に示されるフローチャートを最初から実行する。
【０１２６】
（移動処理の詳細：移動態様の切り替え処理）
続いて、ステップＳ３８の移動処理について、図１４〜図１６に示されるフローチャートを用いて説明する。最初に、移動態様を変化させる処理について説明する。図１４は、移動操作時の処理を説明するフローチャートである。図１４のフローチャートは、図１３のステップＳ３８の移動処理の一部であり、ドラッグ操作が継続されている状態における制御部１９０による処理を示すフローチャートである。
【０１２７】
ステップＳ５０（操作判定ステップの一例）において、制御部１９０は、飛行フラグが「１」であるか否かを判定する。飛行フラグは、キャラクタユニットＣＵ１を飛行させる条件が満たされたときに「１」、キャラクタユニットＣＵ１を飛行させる条件が満たされていないときに「０」となるフラグである。飛行フラグの更新については後述する。
【０１２８】
飛行フラグが「１」であると判定されると（ステップＳ５０：ＹＥＳ）、ステップＳ５２（第二進行ステップの一例）において、制御部１９０は、キャラクタユニットＣＵ１を飛行させる。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、ドラッグ操作のドラッグ方向（操作方向ＳＤ２）及び操作角度変化量を検出する（図１０参照）。そして、制御部１９０は、ドラッグ操作の操作方向及び操作角度変化量に基づいて、キャラクタユニットＣＵ１の移動方向及び傾きを決定する。そして、制御部１９０は、キャラクタユニットＣＵ１をドラッグ方向へ飛行させながら移動させる（図１０の画面例（Ｂ）及び図１１の画面例（Ａ）に対応する）。飛行による移動態様を第二態様ともいう。
【０１２９】
ステップＳ５４において、制御部１９０は、仮想カメラＶＣの撮影方向をキャラクタユニットＣＵ１の向きと一致させる。
【０１３０】
一方、飛行フラグが「１」でないと判定されると（ステップＳ５０：ＮＯ）、ステップＳ５６（動作ステップ又は第一進行ステップの一例）において、制御部１９０は、ユーザによるドラッグ操作に応じてゲームキャラクタＣＡ１又はキャラクタユニットＣＵ１を走行させる。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、ドラッグ操作のドラッグ方向を検出する（図７又は図１０の画面例（Ａ）参照）。そして、制御部１９０は、ドラッグ操作の操作方向に基づいて、ゲームキャラクタＣＡ１又はキャラクタユニットＣＵ１の移動方向及び傾きを決定する。そして、制御部１９０は、ゲームキャラクタＣＡ１又はキャラクタユニットＣＵ１をドラッグ方向へ走行させながら移動させる（図７又は図１０の画面例（Ａ）に対応する）。走行による移動態様を第一態様ともいう。
【０１３１】
ステップＳ５８において、制御部１９０は、仮想カメラＶＣの撮影方向をゲームキャラクタＣＡ１又はキャラクタユニットＣＵ１の向きと一致させる。
【０１３２】
ステップＳ５４又はステップＳ５８が終了した場合には、図１４に示されるフローチャートは終了する。そして、制御部１９０は、図１３に示されるステップＳ３８の移動処理が実行されるたびに、つまり、ドラッグ操作が継続されている間は、図１４に示されるフローチャートを最初から実行する。
【０１３３】
（移動処理の詳細：飛行中の接触処理）
続いて、キャラクタユニットＣＵ１が飛行して移動する場合における、敵キャラクタとの接触処理について説明する。図１５は、第二態様で動作するキャラクタユニットの接触処理を説明するフローチャートである。図１５のフローチャートは、図１３のステップＳ３８の移動処理の一部であり、ドラッグ操作が継続されている状態における制御部１９０による処理を示すフローチャートである。
【０１３４】
ステップＳ６０において、制御部１９０は、飛行フラグが「１」であるか否かを判定する。飛行フラグの更新については後述する。
【０１３５】
飛行フラグが「１」であると判定されると（ステップＳ６０：ＹＥＳ）、ステップＳ６２（衝突判定ステップの一例）において、制御部１９０は、飛行中のキャラクタユニットＣＵ１が敵キャラクタと接触したか否かを判定する。制御部１９０は、キャラクタユニットＣＵ１と敵キャラクタとのゲーム空間上の相対位置に基づいて、接触判定を行う。
【０１３６】
飛行中のキャラクタユニットＣＵ１が敵キャラクタと接触したと判定されると（ステップＳ６２：ＹＥＳ）、ステップＳ６４において、制御部１９０は、接触した敵キャラクタが雑魚キャラであるか否かを判定する。制御部１９０は、一例として、キャラクタユニットＣＵ１のゲームパラメータと、接触した敵キャラクタとのゲームパラメータとを比較して雑魚キャラであるか否かを判定する。ゲームパラメータは、攻撃力、防御力、レベル、属性値、ＨＰなどが採用される。比較対象は同種のゲームパラメータである必要はない。例えば、制御部１９０は、キャラクタユニットＣＵ１の攻撃力と敵キャラクタの防御力との差分を算出し、閾値を用いて雑魚キャラであるか否かを判定してもよい。このような比較ルール（比較対象及び閾値）は、予め設定され、携帯端末１０のゲーム情報１５２又はサーバ２０のゲーム情報２５２に含まれている。あるいは、敵キャラクタに雑魚キャラの属性が予め設定されていてもよい。この場合、制御部１９０は、敵キャラクタの属性を判定することにより、接触した敵キャラクタが雑魚キャラであるか否かを判定する。
【０１３７】
接触した敵キャラクタが雑魚キャラであると判定されると（ステップＳ６４：ＹＥＳ）、ステップＳ６６（減少ステップの一例）において、制御部１９０は、接触した敵キャラクタのゲームパラメータを減少させる。減少対象のゲームパラメータの一例はＨＰである（図１１の画面例（Ｂ）に対応する）。なお、減少対象のゲームパラメータは、攻撃力、防御力、レベル、属性値などであってもよい。制御部１９０は、キャラクタユニットＣＵ１のゲームパラメータと、接触した敵キャラクタとのゲームパラメータとを比較して、ゲームパラメータの減少量を決定する。比較対象は同種のゲームパラメータである必要はない。例えば、制御部１９０は、キャラクタユニットＣＵ１の攻撃力と敵キャラクタの防御力との差分を算出し、差分に応じた減少量を決定してもよい。このような比較ルール（比較対象及び差分に対する比例係数）は、予め設定され、携帯端末１０のゲーム情報１５２又はサーバ２０のゲーム情報２５２に含まれている。そして、制御部１９０は、接触した敵キャラクタＣＡ３を吹き飛ばす演出を行う（図１１の画面例（Ｂ）に対応する）。
【０１３８】
一方、接触した敵キャラクタが雑魚キャラでないと判定されると（ステップＳ６４：ＮＯ）、ステップＳ６８において、制御部１９０は、キャラクタユニットＣＵ１が接触後に後退する動作（ノックバックモーション）をするように制御する（図１２の画面例（Ｂ）に対応する）。ステップＳ６９において、制御部１９０は、ボスに接触したことを示すボス判定フラグを「１」に設定する。
【０１３９】
飛行フラグが「１」でないと判定された場合（ステップＳ６０：ＮＯ）、飛行中のキャラクタユニットＣＵ１が敵キャラクタと接触していないと判定された場合（ステップＳ６２：ＮＯ）、又は、ステップＳ６６もしくはステップＳ６９が終了した場合には、図１５に示されるフローチャートは終了する。そして、制御部１９０は、図１３に示されるステップＳ３８の移動処理が実行されるたびに、つまり、ドラッグ操作が継続されている間は、図１５に示されるフローチャートを最初から実行する。
【０１４０】
（移動処理の詳細：飛行フラグの更新処理）
続いて、飛行フラグの更新処理について説明する。飛行フラグは、上述のとおり、飛行条件を満たしているか否かを示すフラグである。図１６は、第一態様と第二態様とを切り替えるためのフラグ更新処理を説明するフローチャートである。図１６のフローチャートは、図１３のステップＳ３８の移動処理の一部であり、ドラッグ操作が継続されている状態における制御部１９０による処理を示すフローチャートである。
【０１４１】
ステップＳ７０において、制御部１９０は、飛行フラグが「１」であるか否かを判定する。飛行フラグの更新は、本フローチャートにて実行される。
【０１４２】
飛行フラグが「１」であると判定されると（ステップＳ７０：ＹＥＳ）、ステップＳ７２（終了判定ステップの一例）において、制御部１９０は、キャラクタユニットＣＵ１が所定角度以上の方向転換をする入力操作が受け付けられたか否かを判定する（第一終了条件）。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、ドラッグ操作の角度変化量を検出する。そして、制御部１９０は、角度変化量と予め定められた閾値とを比較することにより、キャラクタユニットＣＵ１が所定角度以上の方向転換をする入力操作が受け付けられたか否かを判定する。制御部１９０は、ドラッグ操作の所定時間内における操作方向の角度変化量が閾値以上の場合に、キャラクタユニットＣＵ１が所定角度以上の方向転換をする入力操作が受け付けられたと判定する。
【０１４３】
キャラクタユニットＣＵ１が所定角度以上の方向転換をする入力操作が受け付けられていないと判定されると（ステップＳ７２：ＮＯ）、ステップＳ７４（終了判定ステップの一例）として、制御部１９０は、キャラクタユニットＣＵ１が進行不可オブジェクトに所定角度以上の入射角度で衝突した状況であるか否かを判定する（第二終了条件）。制御部１９０は、キャラクタユニットＣＵ１と進行不可オブジェクトとのゲーム空間上の相対位置に基づいて上記判定を行う。
【０１４４】
キャラクタユニットＣＵ１が進行不可オブジェクトに所定角度以上の入射角度で衝突した状況でないと判定されると（ステップＳ７４：ＮＯ）、ステップＳ７６（終了判定ステップの一例）として、制御部１９０は、ボス判定フラグが「１」であるか否かを判定する（第三終了条件）。
【０１４５】
ボス判定フラグが「１」でないと判定された場合（ステップＳ７６：ＮＯ）には、図１６のフローチャートを終了する。つまり、第一終了条件、第二終了条件及び第三終了条件の何れも満たされていない場合には、飛行フラグは「１」のままである。このため、キャラクタユニットＣＵ１は飛行による移動を継続する（図１４参照）。
【０１４６】
一方、キャラクタユニットＣＵ１が所定角度以上の方向転換をする入力操作が受け付けられたと判定され場合（ステップＳ７２：ＹＥＳ）、キャラクタユニットＣＵ１が進行不可オブジェクトに所定角度以上の入射角度で衝突した状況であると判定された場合（Ｓ７４：ＹＥＳ）、又は、ボス判定フラグが「１」であると判定された場合（ステップＳ７６：ＹＥＳ）には、ステップＳ７８として、制御部１９０は、飛行フラグを「１」から「０」、ボス判定フラグを「１」から「０」に更新し、図１６のフローチャートを終了する。つまり、第一終了条件、第二終了条件及び第三終了条件の何れか１つの終了条件が満たされた場合には、飛行フラグは「１」から「０」に更新される。このため、キャラクタユニットＣＵ１は飛行による移動を中断する（図１４参照）。
【０１４７】
飛行フラグが「１」でないと判定されると（ステップＳ７０：ＮＯ）、ステップＳ８０において、制御部１９０は、キャラクタユニットを構成中であるか否かを判定する。制御部１９０は、例えば、ゲームキャラクタＣＡ１が図８の画面例（Ａ）に対応する状態の場合には「０」、ゲームキャラクタＣＡ１が図８の画面例（Ｂ）に対応する状態の場合には「１」となるユニットフラグを参照して、キャラクタユニットを構成中であるか否かを判定する（第一条件）。制御部１９０は、キャラクタユニットの構成時又は解除時にユニットフラグを更新する。
【０１４８】
キャラクタユニットを構成中であると判定されると（ステップＳ８０：ＹＥＳ）、ステップＳ８２（操作判定ステップの一例）において、制御部１９０は、入力操作に攻撃操作が含まれているか否かを判定する（第一操作条件）。制御部１９０は、タッチスクリーン１３０の履歴情報を用いて、ゲームキャラクタＣＡ１、ゲームキャラクタＣＡ２又はキャラクタユニットＣＵ１に攻撃させる攻撃操作が入力されたか否かを判定する。
【０１４９】
入力操作に攻撃操作が含まれていないと判定されると（ステップＳ８２：ＮＯ）、ステップＳ８４（操作判定ステップの一例）において、制御部１９０は、キャラクタユニットＣＵ１が所定角度以上の方向転換をする入力操作が受け付けられたか否かを判定する（第二操作条件）。この判定は、ステップＳ７２の第一終了条件の判定と同一である。
【０１５０】
キャラクタユニットＣＵ１が所定角度以上の方向転換をする入力操作が受け付けられていないと判定されると（ステップＳ８４：ＮＯ）、ステップＳ８６として、制御部１９０は、走行時間をカウントアップする。
【０１５１】
続いて、ステップＳ８８（操作判定ステップの一例）において、制御部１９０は、カウント中の走行時間が閾値以上であるか否かを判定する（第三操作条件）。閾値は、予め定められた時間閾値であり、飛行前に必要な助走時間である。
【０１５２】
カウント中の走行時間が閾値以上であると判定されると（ステップＳ８８：ＹＥＳ）、ステップＳ９０として、制御部１９０は、飛行フラグを「０」から「１」に設定し、図１６のフローチャートを終了する。つまり、第一条件、第一操作条件、第二操作条件及び第三操作条件の全てが満たされた場合には、飛行フラグが「０」から「１」に更新される。このため、キャラクタユニットＣＵ１は走行状態（第一態様の一例）から飛行状態（第二態様の一例）へと遷移する（図１４参照）。
【０１５３】
一方、キャラクタユニットを構成中でないと判定された場合（ステップＳ８０：ＮＯ）、入力操作に攻撃操作が含まれていると判定された場合（ステップＳ８２：ＹＥＳ）、キャラクタユニットＣＵ１が所定角度以上の方向転換をする入力操作が受け付けられたと判定された場合（ステップＳ８４：ＹＥＳ）には、ステップＳ９２として、制御部１９０は、走行時間をリセットする。
【０１５４】
カウント中の走行時間が閾値以上でないと判定された場合（ステップＳ８８：ＮＯ）、又は、ステップＳ９２が終了した場合には、図１６のフローチャートを終了する。つまり、飛行フラグは「０」のままである。このため、キャラクタユニットＣＵ１は走行による移動を継続する（図１４参照）。
【０１５５】
（移動処理のまとめ）
制御部１９０は、キャラクタユニットＣＵ１が所定時間走行した場合、飛行させた状態で移動させる。つまり、制御部１９０は、ユーザがドラッグ操作をし続けるだけで、キャラクタ移動の操作が変更されるゲームを提供することができる。
【０１５６】
（変形例１）
第一態様の動作及び第二態様の動作は、移動動作に限定されるものではなく、例えば、攻撃操作であってもよい。
【０１５７】
（変形例２）
飛行中のキャラクタユニットＣＵ１の動作として、翼を羽ばたかせる動作をランダムで追加してもよい。
【０１５８】
（変形例３）
操作オブジェクト３００は表示されなくてもよい。操作オブジェクト３００の端部は変更されず、操作方向の起点だけ変更される場合であってもよい。
【０１５９】
（変形例４）
上述したゲーム処理の全てを携帯端末１０又はサーバ２０が単体で実行してもよい。
【０１６０】
以上、本開示の実施形態について説明したが、本開示の技術的範囲は、本実施形態の説明によって限定的に解釈されるべきではない。本実施形態は一例であって、特許請求の範囲の記載事項に基づいて、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本開示の技術的範囲は、特許請求の範囲の記載事項及びその均等の範囲に基づいて定められるべきである。
【０１６１】
本開示の主題は、例えば以下のような項目として示される。
【０１６２】
（項目１）
ユーザによる入力操作（一例として移動操作）に応じてゲームのキャラクタ（一例としてキャラクタユニットＣＵ１）を動作（一例として移動）させるためにコンピュータによって実行される情報処理方法であって、
第一キャラクタ（一例としてゲームキャラクタＣＡ１）と第二キャラクタ（一例としてゲームキャラクタＣＡ２）とが関連付けられたキャラクタユニット（一例としてキャラクタユニットＣＵ１）を構成する構成ステップ（一例としてステップＳ１６）と、
前記ユーザによる入力操作に応じて前記キャラクタユニットを第一態様（一例として走行状態）で動作させる第一進行ステップ（一例としてステップＳ５６）と、
前記キャラクタユニットを前記第一態様で動作させる前記ユーザによる入力操作が所定の操作条件（一例として第一操作条件、第二操作条件、又は、第三操作条件）を満たすか否かを判定する操作判定ステップ（一例としてステップＳ５０，Ｓ８２，Ｓ８４，Ｓ８６）と、
前記操作判定ステップにおいて前記ユーザによる入力操作が前記操作条件を満たすと判定された場合には、前記ユーザによる入力操作に応じて前記キャラクタユニットを第二態様で動作させる第二進行ステップ（一例としてステップＳ５２）と、
を備える、情報処理方法。
【０１６３】
この情報処理方法によれば、キャラクタユニットを第一態様で動作させるユーザによる入力操作が所定の操作条件を満たしたときに、入力操作に応じて第一態様で動作するキャラクタユニットを第二態様で動作させることができる。このように、操作のバリエーションが増加するため、ゲーム性を向上させることができる。
【０１６４】
（項目２）
前記操作判定ステップでは、前記第一キャラクタ、前記第二キャラクタ又は前記キャラクタユニットに攻撃させる攻撃操作が入力されず、かつ、前記キャラクタユニットを前記第一態様で移動させる移動操作が所定時間以上継続して入力された場合に、前記ユーザによる入力操作が前記操作条件を満たすと判定する、項目１に記載の情報処理方法。
【０１６５】
この情報処理方法によれば、非戦闘状態で所定時間の間、第一態様でキャラクタユニットが移動した場合に、第二態様で動作する操作に切り替えることができる。このため、ユーザは簡単に操作モードを切り替えることができる。
【０１６６】
（項目３）
前記キャラクタユニットを前記第二態様で動作させる前記ユーザによる入力操作は、前記キャラクタユニットを前記第二態様で移動させる移動操作である、項目１又は２に記載の情報処理方法。
【０１６７】
この情報処理方法によれば、操作モードを切り替えた後も移動操作を継続することができる。
【０１６８】
（項目４）
前記キャラクタユニットの前記第二態様での移動中においては、操作方向に応じた角度で前記キャラクタユニットを傾斜させて表示させる、項目３に記載の情報処理方法。
【０１６９】
この情報処理方法によれば、ユーザは、キャラクタとの一体感を感じることができる。
【０１７０】
（項目５）
前記第二態様で動作する前記キャラクタユニットと敵キャラクタとの衝突を判定する衝突判定ステップと、
前記衝突判定ステップにおいて前記衝突が判定された場合には前記敵キャラクタの第一パラメータを減少させる減少ステップと、
を備える、項目１〜４の何れか一項に記載の情報処理方法。
【０１７１】
この情報処理方法によれば、キャラクタユニットを第二態様で動作させながら、敵キャラクタに対して攻撃や弱体化を行うことができる。
【０１７２】
（項目６）
前記減少ステップでは、前記第一キャラクタ及び前記第二キャラクタの少なくとも一方のパラメータと、前記敵キャラクタのパラメータとの比較結果に基づいて、前記第一パラメータの減少量を決定する、項目５に記載の情報処理方法。
【０１７３】
この情報処理方法によれば、ゲームキャラクタ及び敵キャラクタのパラメータに応じて、敵キャラクタに対する攻撃や弱体化の程度を変化させることができる。
【０１７４】
（項目７）
前記第二進行ステップの実行中において、前記第二進行ステップの終了条件を満たすか否かを判定する終了判定ステップを備え、
前記第二進行ステップは、前記終了判定ステップにおいて前記第二進行ステップの前記終了条件が満たされたと判定された場合に終了する、項目３〜６の何れか一項に記載の情報処理方法。
【０１７５】
この情報処理方法によれば、キャラクタユニットが第二態様で動作する場面を制限することができる。
【０１７６】
（項目８）
前記終了判定ステップでは、前記第一キャラクタ及び前記第二キャラクタの少なくとも一方のパラメータと、前記敵キャラクタのパラメータとの比較結果に基づいて、前記第二進行ステップの前記終了条件が満たされたか否かを判定する、項目７に記載の情報処理方法。
【０１７７】
この情報処理方法によれば、キャラクタユニットが第二態様で動作する場面をゲームパラメータに関連付けて制限することができる。
【０１７８】
（項目９）
前記終了判定ステップでは、前記キャラクタユニットを前記第二態様で動作させる前記ユーザによる入力操作がドラッグ操作であり、かつ、前記ドラッグ操作の所定時間内における操作方向の角度変化量が閾値以上の場合には、前記第二進行ステップの前記終了条件が満たされたと判定する、項目７に記載の情報処理方法。
【０１７９】
この情報処理方法によれば、キャラクタユニットが第二態様で動作する場面をドラッグ操作に関連付けて制限することができる。
【０１８０】
（項目１０）
前記構成ステップの実行前において、前記ユーザによる入力操作に応じて前記第一キャラクタを動作させる動作ステップを備える、項目１〜９の何れか一項に記載の情報処理方法。
【０１８１】
この情報処理方法によれば、キャラクタユニットを構成する前のゲームキャラクタを動作させることができる。
【０１８２】
（項目１１）
項目１〜１０の何れか一項に記載の方法をコンピュータに実行させる、プログラム。
【０１８３】
（項目１２）
メモリと、
前記メモリに結合されたプロセッサとを備え、
前記プロセッサの制御により請求項１〜１０の何れか一項に記載の方法を実行する、装置。
【符号の説明】
【０１８４】
１…ゲーム提供システム、１０…携帯端末、２０…サーバ、２５…メモリ、２６…ストレージ、２９…プロセッサ、１３０…タッチスクリーン、１５０…記憶部、１５１…ゲームプログラム、１９０…制御部、１９１…入力操作受付部、１９２…ゲーム進行処理部、１９３…移動方向検出部、１９４…カメラ配置制御部、１９５…オブジェクト制御部、１９６…表示制御部、２２０…通信部、２５０…記憶部、２５１…ゲームプログラム、２９０…制御部、２９１…送受信部、２９２…サーバ処理部、２９３…データ管理部、２９４…マッチング部、２９５…計測部、３００…操作オブジェクト、ＣＡ１…ゲームキャラクタ（第一キャラクタの一例）、ＣＡ２…ゲームキャラクタ（第二キャラクタの一例）、ＣＡ３，ＣＡ４…敵キャラクタ。
【図１】
2018153467.tif 000003
【図２】
2018153467.tif 000004
【図３】
2018153467.tif 000005
【図４】
2018153467.tif 000006
【図５】
2018153467.tif 000007
【図６】
2018153467.tif 000008
【図７】
2018153467.tif 000009
【図８】
2018153467.tif 000010
【図９】
2018153467.tif 000011
【図１０】
2018153467.tif 000012
【図１１】
2018153467.tif 000013
【図１２】
2018153467.tif 000014
【図１３】
2018153467.tif 000015
【図１４】
2018153467.tif 000016
【図１５】
2018153467.tif 000017
【図１６】
2018153467.tif 000018
【手続補正書】
【提出日】平成30年1月12日(2018.1.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザによる入力操作に応じてゲームのキャラクタを動作させるためにコンピュータによって実行される情報処理方法であって、
第一キャラクタと第二キャラクタとが関連付けられたキャラクタユニットを構成する構成ステップと、
前記ユーザによる入力操作に応じて前記キャラクタユニットを第一態様で動作させる第一進行ステップと、
前記キャラクタユニットを前記第一態様で動作させる前記ユーザによる入力操作が所定の操作条件を満たすか否かを判定する操作判定ステップと、
前記操作判定ステップにおいて前記ユーザによる入力操作が前記操作条件を満たすと判定された場合には、前記ユーザによる入力操作に応じて前記キャラクタユニットを第二態様で動作させる第二進行ステップと、
を備え、
前記操作判定ステップでは、前記第一キャラクタ、前記第二キャラクタ又は前記キャラクタユニットに攻撃させる攻撃操作が入力されず、かつ、前記キャラクタユニットを前記第一態様で移動させる移動操作が所定時間以上継続して入力された場合に、前記ユーザによる入力操作が前記操作条件を満たすと判定する、情報処理方法。
【請求項２】
前記キャラクタユニットを前記第二態様で動作させる前記ユーザによる入力操作は、前記キャラクタユニットを前記第二態様で移動させる移動操作である、請求項１に記載の情報処理方法。
【請求項３】
前記キャラクタユニットの前記第二態様での移動中においては、ユーザによる操作方向に応じた角度で前記キャラクタユニットを傾斜させて表示させる、請求項２に記載の情報処理方法。
【請求項４】
前記第二態様で動作する前記キャラクタユニットと敵キャラクタとの衝突を判定する衝突判定ステップと、
前記衝突判定ステップにおいて前記衝突が判定された場合には前記敵キャラクタの第一パラメータを減少させる減少ステップと、
を備える、請求項１〜３の何れか一項に記載の情報処理方法。
【請求項５】
前記減少ステップでは、前記第一キャラクタ及び前記第二キャラクタの少なくとも一方のパラメータと、前記敵キャラクタのパラメータとの比較結果に基づいて、前記第一パラメータの減少量を決定する、請求項４に記載の情報処理方法。
【請求項６】
前記第二進行ステップの実行中において、前記第二進行ステップの終了条件を満たすか否かを判定する終了判定ステップを備え、
前記第二進行ステップは、前記終了判定ステップにおいて前記第二進行ステップの前記終了条件が満たされたと判定された場合に終了する、請求項２〜５の何れか一項に記載の情報処理方法。
【請求項７】
前記終了判定ステップでは、前記第一キャラクタ及び前記第二キャラクタの少なくとも一方のパラメータと、敵キャラクタのパラメータとの比較結果に基づいて、前記第二進行ステップの前記終了条件が満たされたか否かを判定する、請求項６に記載の情報処理方法。
【請求項８】
前記終了判定ステップでは、前記キャラクタユニットを前記第二態様で動作させる前記ユーザによる入力操作がドラッグ操作であり、かつ、前記ドラッグ操作の所定時間内における操作方向の角度変化量が閾値以上の場合には、前記第二進行ステップの前記終了条件が満たされたと判定する、請求項７に記載の情報処理方法。
【請求項９】
前記構成ステップの実行前において、前記ユーザによる入力操作に応じて前記第一キャ
ラクタを動作させる動作ステップを備える、請求項１〜８の何れか一項に記載の情報処理
方法。
【請求項１０】
請求項１〜９の何れか一項に記載の方法をコンピュータに実行させる、プログラム。
【請求項１１】
メモリと、
前記メモリに結合されたプロセッサとを備え、
前記プロセッサの制御により請求項１〜９の何れか一項に記載の方法を実行する、装置。