(57)【要約】      （修正有）【課題】ゲームの興趣性を向上させることが可能なゲームプログラムを提供する。【解決手段】ゲームプログラムは、プロセッサに、第１キャラクタに、第２キャラクタを対象とするアクションを実行させるステップと、アクションの実行に応じて、第２キャラクタを複数のオブジェクトに衝突させるステップＳ２０３と、複数のオブジェクトそれぞれに衝突する毎に、第２キャラクタに関連付けられた第１パラメータを変更するステップＳ２０５と、を実行させる。【選択図】図６
2020000734.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを備えたコンピュータにより実行されるゲームプログラムであって、
前記ゲームプログラムは、前記プロセッサに、
第１キャラクタに、第２キャラクタを対象とするアクションを実行させるステップと、
前記アクションの実行に応じて、前記第２キャラクタを複数の箇所に衝突させるステップと、
前記複数の箇所それぞれに衝突する毎に、前記第２キャラクタに関連付けられた第１パラメータを変更するステップと、を実行させる、ゲームプログラム。
【請求項２】
前記ゲームプログラムは、前記プロセッサに、
前記アクションの実行に応じて、前記第２キャラクタを衝突するまで移動させるか否かを決定するための第２パラメータを特定するステップと、
前記第２パラメータに応じて、前記第２キャラクタを次の箇所に衝突するまで移動させるか否かを決定するステップと、をさらに実行させる、請求項１に記載のゲームプログラム。
【請求項３】
前記ゲームプログラムは、前記プロセッサに、
前記第２キャラクタの移動中に、前記第２パラメータを更新するステップをさらに実行させ、
前記移動させるか否かを決定するステップでは、前記第２キャラクタが前記複数の箇所のいずれかに衝突する毎に、前記第２パラメータに応じて、前記第２キャラクタを次の箇所に衝突するまでにさらに移動させるか否かを決定する、請求項２に記載のゲームプログラム。
【請求項４】
前記第２パラメータを更新するステップでは、前記第２パラメータを減少させ、
前記移動させるか否かを決定するステップでは、前記第２パラメータが第１閾値より大きい値である場合、前記第２キャラクタを次の箇所に衝突するまで移動させると決定する、請求項３に記載のゲームプログラム。
【請求項５】
前記第２パラメータを更新するステップでは、前記第２キャラクタを次の箇所に衝突するまでさらに移動させると決定した場合、前記第２パラメータを増加させる、請求項４に記載のゲームプログラム。
【請求項６】
前記第１パラメータは、前記第１キャラクタと前記第２キャラクタとの対戦の勝敗を決定するためのパラメータであり、
前記複数の箇所それぞれに衝突する毎に、前記第２キャラクタに関連付けられた前記第１パラメータを変更するステップでは、前記移動させるか否かを決定するステップにて前記第２キャラクタを次の箇所に衝突するまでさらに移動させると決定した場合、前記第１パラメータを減少させ、
前記ゲームプログラムは、前記プロセッサに、
前記アクションの実行に応じて、前記第１パラメータを減少させるステップをさらに実行させる、請求項３から５のいずれか１項に記載のゲームプログラム。
【請求項７】
前記ゲームプログラムは、前記プロセッサに、
前記第２キャラクタを次の箇所に衝突するまで移動させると決定した場合、前記第２キャラクタを移動させる方向を特定するステップと、
特定した前記方向に前記第２キャラクタを衝突するまで移動させるステップと、をさらに実行させる、請求項２から６のいずれか１項に記載のゲームプログラム。
【請求項８】
前記第２キャラクタが前記複数の箇所のいずれかと接触しており、
前記特定された方向が前記接触している箇所へ移動させる方向である場合、
前記方向を特定するステップでは、前記第２キャラクタを移動させる方向を前記特定された方向と反対方向へ変更し、
前記第２パラメータを特定するステップでは、前記第２キャラクタを移動させる方向を変更した場合、前記第２パラメータを、前記第２キャラクタを移動させる方向を変更しない場合に比べて減少させる、請求項７に記載のゲームプログラム。
【請求項９】
前記第２キャラクタは、ユーザに関連付けられており、
前記ゲームプログラムは、前記プロセッサに、
前記第２キャラクタに、前記ユーザの操作に基づく動作を実行させるステップをさらに実行させ、
前記複数の箇所に衝突させるステップでは、前記第２キャラクタが前記複数の箇所に衝突している間の第１期間において前記操作が入力された場合、前記第２キャラクタに該操作に基づく動作を実行させない、請求項１から８のいずれか１項に記載のゲームプログラム。
【請求項１０】
情報処理装置であって、
前記情報処理装置は、
ゲームプログラムを記憶する記憶部と、
前記ゲームプログラムを実行することにより、前記情報処理装置の動作を制御する制御部と、を備え、
前記制御部は、
第１キャラクタに、第２キャラクタを対象とするアクションを実行させ、
前記アクションの実行に応じて、前記第２キャラクタを複数の箇所に衝突させ、
前記複数の箇所それぞれに衝突する毎に、前記第２キャラクタに関連付けられた第１パラメータを変更する、情報処理装置。
【請求項１１】
プロセッサを備えたコンピュータがゲームプログラムを実行する方法であって、
前記方法は、前記プロセッサが、
第１キャラクタに、第２キャラクタを対象とするアクションを実行させるステップと、
前記アクションの実行に応じて、前記第２キャラクタを複数の箇所に衝突させるステップと、
前記複数の箇所それぞれに衝突する毎に、前記第２キャラクタに関連付けられた第１パラメータを変更するステップと、を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はゲームプログラム、ゲームプログラムを実行する方法および情報処理装置に関する。
【背景技術】
【０００２】
特許文献１には、プレイヤキャラクタである第１キャラクタを始点としてオブジェクトを、第１キャラクタの対戦相手である第２キャラクタに衝突させ、第２キャラクタにダメージを与えるプログラムが開示されている。
【０００３】
非特許文献１には、対戦相手のキャラクタに攻撃を当ててふっ飛ばし、該キャラクタの後方にある壁に該キャラクタをぶつけることでダメージを与えるゲームが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１３６５４４号公報（２０１５年７月３０日公開）
【非特許文献】
【０００５】
【非特許文献１】Appliv Games、“ファイトクラブ〔ゲームレビュー〕”、[online］、保坂陽介、２０１８年４月１３日、[２０１８年６月１日検索]、インターネット＜https://games.app-liv.jp/archives/352190＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１および非特許文献１の技術には、ゲームにおける興趣性を向上することができる余地がある。
【０００７】
本開示の一態様は、ゲームの興趣性を向上させることを目的とする。
【課題を解決するための手段】
【０００８】
本開示に係るゲームプログラムは、プロセッサを備えたコンピュータにより実行される。ゲームプログラムは、プロセッサに、第１キャラクタに、第２キャラクタを対象とするアクションを実行させるステップと、アクションの実行に応じて、第２キャラクタを複数の箇所に衝突させるステップと、複数の箇所それぞれに衝突する毎に、第２キャラクタに関連付けられた第１パラメータを変更するステップと、を実行させる。
【発明の効果】
【０００９】
本開示の一態様によれば、ゲームの興趣性を向上させる効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】ゲームシステムのハードウェア構成を示す図である。
【図２】ユーザ端末の機能的構成を示すブロック図である。
【図３】本実施形態に係るゲームプログラムに基づいて、ユーザ端末において実行される処理の流れを示すフローチャートである。
【図４】表示部に表示されるゲーム画面の具体例を示す図である。
【図５】表示部に表示されるゲーム画面の具体例を示す図である。
【図６】本実施形態に係るゲームプログラムに基づいて、ユーザ端末において実行される処理の流れを示すフローチャートである。
【図７】表示部に表示されるゲーム画面の具体例を示す図である。
【図８】表示部に表示されるゲーム画面の具体例を示す図である。
【図９】表示部に表示されるゲーム画面の具体例を示す図である。
【図１０】表示部に表示されるゲーム画面の具体例を示す図である。
【発明を実施するための形態】
【００１１】
〔実施形態１〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
【００１２】
＜ゲームシステム１のハードウェア構成＞
図１は、ゲームシステム１のハードウェア構成を示す図である。ゲームシステム１は図示の通り、複数のユーザ端末１００と、サーバ２００とを含む。各ユーザ端末１００は、サーバ２００とネットワーク２を介して接続する。ネットワーク２は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂３Ｇ、４Ｇ移動通信システム、ＬＴＥ（Long Term Evolution）、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク（例えばWi-Fi（登録商標））等が挙げられる。
【００１３】
サーバ２００（コンピュータ、情報処理装置）は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ２００は、プロセッサ２０と、メモリ２１と、ストレージ２２と、通信ＩＦ２３と、入出力ＩＦ２４とを備える。サーバ２００が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
【００１４】
ユーザ端末１００（コンピュータ、情報処理装置）は、スマートフォン、フィーチャーフォン、ＰＤＡ（Personal Digital Assistant）、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末１００は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末１００は図示の通り、プロセッサ１０と、メモリ１１と、ストレージ１２と、通信インターフェース（ＩＦ）１３と、入出力ＩＦ１４と、タッチスクリーン１５（表示部）と、カメラ１７と、測距センサ１８とを備える。ユーザ端末１００が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末１００は、タッチスクリーン１５に代えて、または、加えて、ユーザ端末１００本体とは別に構成されたディスプレイ（表示部）を接続可能な入出力ＩＦ１４を備えていてもよい。
【００１５】
また、図１に示すように、ユーザ端末１００は、１つ以上のコントローラ１０２０と通信可能に構成されることとしてもよい。コントローラ１０２０は、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信規格に従って、ユーザ端末１００と通信を確立する。コントローラ１０２０は、１つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末１００へ送信する。また、コントローラ１０２０は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末１００へ送信する。
【００１６】
なお、ユーザ端末１００がカメラ１７および測距センサ１８を備えることに代えて、または、加えて、コントローラ１０２０がカメラ１７および測距センサ１８を有していてもよい。
【００１７】
ユーザ端末１００は、例えばゲーム開始時に、コントローラ１０２０を使用するユーザに、該ユーザの名前またはログインＩＤ等のユーザ識別情報を、該コントローラ１０２０を介して入力させることが望ましい。これにより、ユーザ端末１００は、コントローラ１０２０とユーザとを紐付けることが可能となり、受信した出力値の送信元（コントローラ１０２０）に基づいて、該出力値がどのユーザのものであるかを特定することができる。
【００１８】
ユーザ端末１００が複数のコントローラ１０２０と通信する場合、各コントローラ１０２０を各ユーザが把持することで、ネットワーク２を介してサーバ２００などの他の装置と通信せずに、該１台のユーザ端末１００でマルチプレイを実現することができる。また、各ユーザ端末１００が無線ＬＡＮ（Local Area Network）規格等の無線規格により互いに通信接続する（サーバ２００を介さずに通信接続する）ことで、複数台のユーザ端末１００によりローカルでマルチプレイを実現することもできる。１台のユーザ端末１００によりローカルで上述のマルチプレイを実現する場合、ユーザ端末１００は、さらに、サーバ２００が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末１００によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末１００は、サーバ２００が備える後述する種々の機能を分散して備えていてもよい。
【００１９】
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末１００はサーバ２００と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ２００に送信してもよい。
【００２０】
また、コントローラ１０２０は、ユーザ端末１００に着脱可能な構成であるとしてもよい。この場合、ユーザ端末１００の筐体における少なくともいずれかの面に、コントローラ１０２０との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末１００とコントローラ１０２０とが結合している場合は、ユーザ端末１００とコントローラ１０２０とは、有線を介して信号を送受信する。
【００２１】
図１に示すように、ユーザ端末１００は、外部のメモリカード等の記憶媒体１０３０の装着を、入出力ＩＦ１４を介して受け付けてもよい。これにより、ユーザ端末１００は、記憶媒体１０３０に記録されるプログラム及びデータを読み込むことができる。記憶媒体１０３０に記録されるプログラムは、例えばゲームプログラムである。
【００２２】
ユーザ端末１００は、サーバ２００等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末１００のメモリ１１に記憶してもよいし、記憶媒体１０３０から読み込むことにより取得したゲームプログラムをメモリ１１に記憶してもよい。
【００２３】
以上で説明したとおり、ユーザ端末１００は、該ユーザ端末１００に対して情報を入力する機構の一例として、通信ＩＦ１３、入出力ＩＦ１４、タッチスクリーン１５、カメラ１７、および、測距センサ１８を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
【００２４】
例えば、操作部が、カメラ１７および測距センサ１８の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末１００の近傍の物体１０１０を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体１０１０としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体１０１０の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末１００は、カメラ１７の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ（ユーザの手の一連の動き）を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
【００２５】
あるいは、操作部がタッチスクリーン１５で構成される場合、ユーザ端末１００は、タッチスクリーン１５の入力部１５１に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信ＩＦ１３で構成される場合、ユーザ端末１００は、コントローラ１０２０から送信される信号（例えば、出力値）をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力ＩＦ１４で構成される場合、該入出力ＩＦ１４と接続されるコントローラ１０２０とは異なる入力装置（図示せず）から出力される信号をユーザの入力操作として特定し、受け付ける。
【００２６】
＜ゲーム概要＞
ゲームシステム１は、一例として、第１キャラクタと、第２キャラクタとを戦わせる、いわゆる格闘要素を含むゲームを実行するためのシステムである。ゲームシステム１は、一例として、ゲーム空間を定義し、該ゲーム空間に第１キャラクタ、第２キャラクタ、およびオブジェクトを配置する。オブジェクトは、第１キャラクタおよび第２キャラクタと接触（衝突）し得る。ゲームシステム１は、一例として、該ゲーム空間に複数のオブジェクトを配置する。オブジェクトの一例としては、地面、床、地面および床以外の足場、壁、天井などであるが、この例に限定されるものではない。
【００２７】
一例として、第１キャラクタおよび第２キャラクタには、第１キャラクタと第２キャラクタとの対戦の勝敗を決定するための第１パラメータが関連付けられている。該第１パラメータは、例えば、第１キャラクタおよび第２キャラクタそれぞれの体力を示すパラメータである。第１キャラクタによる第２キャラクタを対象とした攻撃が成功した場合、ゲームシステム１は、一例として、第２キャラクタに関連付けられた第１パラメータの値を減少させる。また、第２キャラクタによる第１キャラクタを対象とした攻撃が成功した場合、ゲームシステム１は、一例として、第１キャラクタに関連付けられた第１パラメータの値を減少させる。
【００２８】
ゲームシステム１は、一例として、第２キャラクタに関連付けられた第１パラメータが所定の閾値以下となった場合、第２キャラクタが戦闘に敗北し、第１キャラクタが戦闘に勝利したと判定する。また、ゲームシステム１は、一例として、第１キャラクタに関連付けられた第１パラメータが所定の閾値以下となった場合、第１キャラクタが戦闘に敗北し、第２キャラクタが戦闘に勝利したと判定する。なお、以降、第１パラメータが所定の閾値以下となることを、「死亡」と表現する場合がある。
【００２９】
なお、以降、説明の明瞭化のために、第１キャラクタを攻撃するキャラクタ、第２キャラクタを攻撃されるキャラクタとして説明する。ただし、これは一例であり、ゲームシステム１が実行するゲームにおいて、攻撃するキャラクタと攻撃されるキャラクタとは、状況に応じて随時入れ替わる。
【００３０】
なお、第１キャラクタおよび第２キャラクタに関連付けられているパラメータは、第１パラメータに限定されない。一例として、第１キャラクタおよび第２キャラクタには、第１パラメータに加え、第１パラメータと異なる第２パラメータが関連付けられていてもよい。第２パラメータの詳細については後述する。
【００３１】
＜各装置のハードウェア構成要素＞
プロセッサ１０は、ユーザ端末１００全体の動作を制御する。プロセッサ２０は、サーバ２００全体の動作を制御する。プロセッサ１０および２０は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、およびＧＰＵ（Graphics Processing Unit）を含む。
【００３２】
プロセッサ１０は後述するストレージ１２からプログラムを読み出し、後述するメモリ１１に展開する。プロセッサ２０は後述するストレージ２２からプログラムを読み出し、後述するメモリ２１に展開する。プロセッサ１０およびプロセッサ２０は展開したプログラムを実行する。
【００３３】
メモリ１１および２１は主記憶装置である。メモリ１１および２１は、ＲＯＭ（Read Only Memory）およびＲＡＭ（Random Access Memory）等の記憶装置で構成される。メモリ１１は、プロセッサ１０が後述するストレージ１２から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ１０に作業領域を提供する。メモリ１１は、プロセッサ１０がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ２１は、プロセッサ２０が後述するストレージ２２から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ２０に作業領域を提供する。メモリ２１は、プロセッサ２０がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【００３４】
本実施形態においてプログラムとは、ゲームをユーザ端末１００により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末１００とサーバ２００との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末１００とサーバ２００との協働により実現されるゲームは、一例として、ユーザ端末１００において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末１００の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ユーザ端末１００とサーバ２００との間または複数のユーザ端末１００間で送受信する指示または通知を含んでいる。
【００３５】
ストレージ１２および２２は補助記憶装置である。ストレージ１２および２２は、フラッシュメモリまたはＨＤＤ（Hard Disk Drive）等の記憶装置で構成される。ストレージ１２およびストレージ２２には、ゲームに関する各種データが格納される。
【００３６】
通信ＩＦ１３は、ユーザ端末１００における各種データの送受信を制御する。通信ＩＦ２３は、サーバ２００における各種データの送受信を制御する。通信ＩＦ１３および２３は例えば、無線ＬＡＮ（Local Area Network）を介する通信、有線ＬＡＮ、無線ＬＡＮ、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
【００３７】
入出力ＩＦ１４は、ユーザ端末１００がデータの入力を受け付けるためのインターフェースであり、またユーザ端末１００がデータを出力するためのインターフェースである。入出力ＩＦ１４は、ＵＳＢ（Universal Serial Bus）等を介してデータの入出力を行ってもよい。入出力ＩＦ１４は、例えば、ユーザ端末１００の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ２００の入出力ＩＦ２４は、サーバ２００がデータの入力を受け付けるためのインターフェースであり、またサーバ２００がデータを出力するためのインターフェースである。入出力ＩＦ２４は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
【００３８】
ユーザ端末１００のタッチスクリーン１５は、入力部１５１と表示部１５２とを組み合わせた電子部品である。入力部１５１は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部１５２は、例えば液晶ディスプレイ、または有機ＥＬ（Electro-Luminescence）ディスプレイ等によって構成される。
【００３９】
入力部１５１は、入力面に対しユーザの操作（主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作）が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部１５１は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
【００４０】
図示していないが、ユーザ端末１００は、該ユーザ端末１００の保持姿勢を特定するための１以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末１００がセンサを備えている場合、プロセッサ１０は、センサの出力からユーザ端末１００の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ１０は、ユーザ端末１００が縦向きに保持されているときには、縦長の画像を表示部１５２に表示させる縦画面表示としてもよい。一方、ユーザ端末１００が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ１０は、ユーザ端末１００の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
【００４１】
カメラ１７は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
【００４２】
測距センサ１８は、測定対象物までの距離を測定するセンサである。測距センサ１８は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ１８は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ１８は、指向性を有する光を発する光源を有することとしてもよい。
【００４３】
ここで、ユーザ端末１００が、カメラ１７と測距センサ１８とを用いて、ユーザ端末１００の近傍の物体１０１０を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ１７および測距センサ１８は、例えば、ユーザ端末１００の筐体の側面に設けられてもよい。カメラ１７の近傍に測距センサ１８が設けられてもよい。カメラ１７としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ１７に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ１７の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
【００４４】
プロセッサ１０は、カメラ１７の撮影画像に対して、例えば以下の（１）〜（５）に示す処理のうち１つ以上の処理を行ってもよい。（１）プロセッサ１０は、カメラ１７の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ１０は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。（２）また、プロセッサ１０は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ１０は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数（伸びている指の本数）を特定する。プロセッサ１０はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ１０は、指の本数が５本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ１０は、指の本数が０本である（指が検出されなかった）場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ１０は、指の本数が２本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。（３）プロセッサ１０は、カメラ１７の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。（４）プロセッサ１０は、カメラ１７の撮影画像の画像認識結果、および、測距センサ１８の出力値等の少なくともいずれか１つに基づいて、ユーザ端末１００の近傍の物体１０１０（ユーザの手など）とユーザ端末１００との距離を検出する。例えば、プロセッサ１０は、カメラ１７の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末１００の近傍（例えば所定値未満の距離）にあるのか、遠く（例えば所定値以上の距離）にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ１０は、ユーザの手がユーザ端末１００に接近しているのか遠ざかっているのかを検出してもよい。（５）カメラ１７の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末１００とユーザの手との距離が変化していることが判明した場合、プロセッサ１０は、ユーザが手をカメラ１７の撮影方向において振っていると認識する。カメラ１７の撮影範囲よりも指向性が強い測距センサ１８において、物体が検出されたりされなかったりする場合に、プロセッサ１０は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
【００４５】
このように、プロセッサ１０は、カメラ１７の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か（「グー」のジェスチャであるか、それ以外のジェスチャ（例えば「パー」）であるか）を検出する。また、プロセッサ１０は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ１０は、ユーザがこの手をユーザ端末１００に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末１００は、例えば、ユーザの手の移動に応じて、タッチスクリーン１５においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末１００は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末１００は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作（またはドラッグ操作）に対応する操作として認識することもできる。また、ユーザ端末１００は、カメラ１７の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
【００４６】
＜ゲームシステム１の機能的構成＞
図２は、ユーザ端末１００の機能的構成を示すブロック図である。ユーザ端末１００は、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
【００４７】
ユーザ端末１００は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末１００は、プロセッサ１０、メモリ１１、ストレージ１２、通信ＩＦ１３、および入出力ＩＦ１４等の協働によって、制御部１１０および記憶部１２０として機能する。
【００４８】
記憶部１２０は、ゲームプログラム１３１、ゲーム情報１３２およびユーザ情報１３３を格納する。ゲームプログラム１３１は、ユーザ端末１００で実行するゲームプログラムである。ゲーム情報１３２は、制御部１１０がゲームプログラム１３１を実行する際に参照するデータである。ゲーム情報１３２は、一例として、上述した第１パラメータ、および、後述する第２パラメータを含む。ユーザ情報１３３は、ユーザのアカウントに関するデータである。
【００４９】
一例として、ゲームプログラム１３１、ゲーム情報１３２およびユーザ情報１３３は、サーバ２００にも格納されている。サーバ２００においては、ゲーム情報１３２およびユーザ情報１３３は、ユーザ端末１００ごとに格納されている。
【００５０】
（ユーザ端末１００の機能的構成）
制御部１１０は、記憶部１２０に格納されたゲームプログラム１３１を実行することにより、ユーザ端末１００を統括的に制御する。例えば、制御部１１０は、ゲームプログラム１３１およびユーザの操作にしたがって、ゲームを進行させる。また、制御部１１０は、ゲームを進行させている間、必要に応じて、サーバ２００と通信して、情報の送受信を行う。
【００５１】
制御部１１０は、ゲームプログラム１３１の記述に応じて、操作受付部１１１、体力算出部１１２、死亡判定部１１３、移動パラメータ算出部１１４、移動態様決定部１１５、ゲーム実行部１１６および表示制御部１１７として機能する。制御部１１０は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
【００５２】
操作受付部１１１は、入力部１５１に対するユーザの入力操作を検知し受け付ける。操作受付部１１１は、タッチスクリーン１５およびその他の入出力ＩＦ１４を介したコンソールに対してユーザが及ぼした作用から、いかなる操作が入力されたかを判別し、その結果を制御部１１０の各要素に出力する。
【００５３】
例えば、操作受付部１１１は、入力部１５１に対する入力操作を受け付け、該入力操作位置の座標を検出し、該操作の種類を特定する。操作受付部１１１は、操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部１１１は、連続して検知されていた入力操作が途切れると、入力操作が解除されたことを検知する。
【００５４】
体力算出部１１２は、第１キャラクタによる第２キャラクタを対象とする攻撃の実行に応じて、第２キャラクタに関連付けられた第１パラメータを変更する。一例として、体力算出部１１２は、該攻撃に応じた第１数値を特定する。第１数値はすなわち、該攻撃により第２キャラクタに与えられるダメージである。体力算出部１１２は、一例として、第１キャラクタおよび第２キャラクタに関連付けられているパラメータや、攻撃の種類などに応じて第１数値を特定する。該パラメータは、例えば、第１キャラクタの攻撃力、第２キャラクタの防御力、第１キャラクタおよび第２キャラクタの属性などである。体力算出部１１２は、特定した第１数値を、第２キャラクタに関連付けられた第１パラメータから減算することにより、該第１パラメータを変更する。
【００５５】
また、体力算出部１１２は、第２キャラクタが複数の箇所に衝突する毎に、第２キャラクタに関連付けられた第１パラメータを変更する。この処理の詳細については後述する。
【００５６】
死亡判定部１１３は、第２キャラクタが死亡したか否かを判定する。死亡判定部１１３は、体力算出部１１２が第１パラメータを変更する毎に、変更後の第１パラメータが所定の閾値以下となったか否かを判定する。所定の閾値以下となったと判定した場合、死亡判定部１１３は、第２キャラクタが死亡したと判定する。
【００５７】
移動パラメータ算出部１１４は、第１キャラクタによる第２キャラクタを対象とする攻撃の実行に応じて、第２キャラクタに関連付けられた第２パラメータを特定する。
【００５８】
ここで、第２パラメータの詳細について説明する。第２パラメータは、第２キャラクタの強制的な移動に関するパラメータである。強制的な移動とは、攻撃を受けたことをトリガとする移動であり、例えば、攻撃を受けて第２キャラクタがふっ飛ぶことである。
【００５９】
一例として、移動パラメータ算出部１１４は、第１キャラクタによる第２キャラクタを対象とする攻撃が成功した場合、該攻撃に応じて第２パラメータを特定する。移動パラメータ算出部１１４は、一例として、体力算出部１１２が特定した第１数値、第１キャラクタおよび第２キャラクタに関連付けられた各種パラメータ、攻撃の種類などに応じて、第２キャラクタに関連付けられた第２パラメータを特定する。該各種パラメータは、例えば、第２キャラクタに関連付けられた第１パラメータ、第２キャラクタの重さ（体重）、第１キャラクタおよび第２キャラクタの属性などである。
【００６０】
移動態様決定部１１５は、第２パラメータに応じて、第２キャラクタの移動態様を決定する。一例として、移動態様決定部１１５は、第２パラメータに応じて、第２キャラクタを複数の箇所のいずれかに衝突するまで移動させるか否かを決定する。「複数の箇所のいずれか」とは、例えば、オブジェクトのいずれかである。以上より、第２パラメータは、第２キャラクタを衝突するまで移動させるか否かを決定するためのパラメータ、と表現することもできる。
【００６１】
例えば、移動態様決定部１１５は、移動パラメータ算出部１１４が算出した第２パラメータが第１閾値より大きい値である場合、第２キャラクタをオブジェクトのいずれかに衝突するまで移動させると決定する。
【００６２】
移動態様決定部１１５は、第２キャラクタを衝突するまで移動させると決定した場合、その旨を移動パラメータ算出部１１４に通知してもよい。移動パラメータ算出部１１４は、移動態様決定部１１５からの通知に基づいて、第２キャラクタの移動中に、第２パラメータを更新してもよい。
【００６３】
また、移動態様決定部１１５は、第２キャラクタの移動態様として、第２キャラクタの移動方向を決定してもよい。一例として、移動態様決定部１１５は、第１キャラクタにより実行された、第２キャラクタを対象とする攻撃の方向に応じて、該移動方向を決定してもよい。例えば、移動態様決定部１１５は、第２キャラクタの移動方向を、攻撃の方向と同方向に決定してもよい。
【００６４】
ゲーム実行部１１６は、ユーザの入力操作に基づいてキャラクタの動作結果を決定することにより、ゲームを進行させる。以降、第１キャラクタがユーザの入力操作に基づいて動作するキャラクタであるとして説明する。換言すれば、第１キャラクタは、ユーザ端末１００のユーザに関連付けられるキャラクタである。また、以降、第２キャラクタは、ゲームプログラムに基づいて動作する、いわゆるＮＰＣ（non player character）であるものとして説明する。
【００６５】
例えば、操作受付部１１１がユーザによる第１キャラクタを移動させるための入力操作（以下、「移動操作」と称する）を受け付けたとする。この場合、ゲーム実行部１１６は、該移動操作に基づいて、第１キャラクタを移動させる。また、例えば、操作受付部１１１がユーザによる第１キャラクタをジャンプさせるための入力操作（以下、「ジャンプ操作」と称する）を受け付けたとする。この場合、ゲーム実行部１１６は、該ジャンプ操作に基づいて、第１キャラクタをジャンプさせる。また、例えば、操作受付部１１１がユーザによる第１キャラクタに攻撃の動作を行わせるための入力操作（以下、「攻撃操作」と称する）を受け付けたとする。この場合、ゲーム実行部１１６は、該攻撃操作に基づいて、第１キャラクタに攻撃の動作を行わせる。
【００６６】
また、ゲーム実行部１１６は、ゲームプログラム１３１に基づいて第２キャラクタを動作させる。
【００６７】
また、ゲーム実行部１１６は、移動態様決定部１１５が決定した移動態様に応じて、第２キャラクタを強制的に移動させる。一例として、ゲーム実行部１１６は、第２キャラクタをオブジェクトに衝突するまで移動させる（ふっ飛ばす）。一例として、ゲーム実行部１１６は、第２キャラクタを、第２パラメータに応じた速度で移動させてもよい。この場合、第２パラメータは、第２キャラクタがふっ飛ぶときの速度を示すパラメータであると表現することができる。
【００６８】
また、ゲーム実行部１１６は、死亡判定部１１３が、第２キャラクタが死亡したと判定した場合、第２キャラクタの死亡時処理を行う。死亡時処理の一例として、ゲーム実行部１１６は、攻撃を受けて倒れた（あるいは、ふっ飛んだ後に倒れた）第２キャラクタを起き上がらせず、倒れたままとする。ゲーム実行部１１６は、死亡時処理の実行後、第１キャラクタが戦闘に勝利したことを示す画面を表示部１５２に表示するなどして、ユーザに第１キャラクタが戦闘に勝利したことを通知してもよい。
【００６９】
表示制御部１１７は、タッチスクリーン１５の表示部１５２に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部１１７は、ゲームの種々の操作に必要なユーザインターフェース（以下、「ＵＩ」と称する）を、ゲーム画面に重畳するように描画してもよい。
【００７０】
なお、図２に示すユーザ端末１００の機能は一例にすぎない。例えば、サーバ２００が、ユーザ端末１００が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末１００およびサーバ２００以外の他の装置をゲームシステム１の構成要素とし、該他の装置にゲームシステム１における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末１００、サーバ２００、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
【００７１】
＜ゲーム進行フロー＞
図３は、ゲームプログラム１３１に基づいて、ユーザ端末１００において実行されるゲーム進行処理の流れを示すフローチャートである。
【００７２】
図４は、表示部１５２に表示されるゲーム画面の具体例を示す図である。ステップＳ１０１において、ゲーム実行部１１６は、第１キャラクタ、第２キャラクタ、オブジェクトをゲーム空間に配置する。図４の例では、ゲーム実行部１１６は、第１キャラクタ３０１および第２キャラクタ３０２をゲーム空間に配置する。さらに、図４の例では、ゲーム実行部１１６は、オブジェクトとして、地面３０３Ａ、足場３０３Ｂおよび足場３０３Ｃをゲーム空間に配置する。以降、地面３０３Ａ、足場３０３Ｂおよび足場３０３Ｃを総称して、オブジェクト３０３と称する場合がある。
【００７３】
また、図４の例では、ゲーム実行部１１６は、第１キャラクタ３０１の体力（第１パラメータ）を示すゲージ３０６Ａを第１キャラクタ３０１に関連付けてゲーム空間に配置する。一例として、ゲーム実行部１１６は、ゲージ３０６Ａを、第１キャラクタ３０１の近傍（図４の例では頭部の上）に配置する。同様に、ゲーム実行部１１６は、第２キャラクタ３０２の体力（第１パラメータ）を示すゲージ３０６Ｂを第２キャラクタ３０２に関連付けてゲーム空間に配置する。ゲーム実行部１１６は、ゲージ３０６Ａおよびゲージ３０６Ｂそれぞれを、第１キャラクタ３０１および第２キャラクタ３０２の移動に追随して移動させてもよい。
【００７４】
図４に示すゲージ３０６Ａおよび３０６Ｂは、その全体が第１色に着色されている。第１色は、第１キャラクタ３０１および第２キャラクタ３０２の、現在の第１パラメータの値、換言すれば、第１キャラクタ３０１および第２キャラクタ３０２の残りの体力を示す。なお、図４の例では、第１色を斜線で示している。図４に示すように、ゲージ３０６Ａおよび３０６Ｂの全体が第１色に着色されていることにより、ユーザは、第１キャラクタ３０１および第２キャラクタ３０２の体力が、初期値（最大値）であることを認識する。
【００７５】
また、図４の例では、表示制御部１１７は、戦闘の残り時間をカウントダウンするカウンタ３０４をゲーム画面に重畳させて表示部１５２に表示する。また、図４の例では、表示制御部１１７は、ユーザの入力操作を受け付けるＵＩ３０５Ａ〜３０５Ｅをゲーム画面に重畳させて表示部１５２に表示する。以降、ＵＩ３０５Ａ〜３０５Ｅを区別しない場合、「ＵＩ３０５」と記載する。ＵＩ３０５が受け付ける入力操作は例えば、ＵＩ３０５に対するタップ操作であってもよい。図４の例では、ＵＩ３０５がタップ操作を受け付けると、ゲーム実行部１１６は、タップ操作を受け付けたＵＩ３０５に応じたスキルを第１キャラクタ３０１に実行させる。
【００７６】
該スキルは例えば、攻撃操作に応じた攻撃より多くのダメージを第２キャラクタ３０２に与えられる特別な攻撃であってもよいし、第１キャラクタ３０１の体力、すなわち第１パラメータの回復であってもよい。あるいは、該スキルは、第３キャラクタ（不図示）をゲーム空間に所定時間配置し、第３キャラクタに攻撃を行わせることであってもよい。
【００７７】
ゲーム実行部１１６は、ＵＩ３０５に関連付けられたポイントが所定の閾値以上になった場合、タップ操作に応じて第１キャラクタ３０１にスキルを実行させてもよい。該ポイントが関連付けられたＵＩ３０５は、ＵＩ３０５Ａ〜３０５Ｅの一部であってもよいし、すべてであってもよい。この例において、ゲーム実行部１１６は、スキルを実行させた場合、ポイントを初期値（例えば、０）に戻してもよい。
【００７８】
再び図３を参照し、ゲーム進行処理の説明に戻る。ステップＳ１０２において、ゲーム実行部１１６は、ゲームプログラム１３１に基づいて第２キャラクタ３０２を動作させる。ステップＳ１０３において、操作受付部１１１は、ユーザの第１操作を受け付ける。ここで、第１操作とは、上述した攻撃操作である。
【００７９】
図５は、表示部１５２に表示されるゲーム画面の具体例を示す図である。ステップＳ１０４において、ゲーム実行部１１６は、第１操作に基づいて、第１キャラクタ３０１に第２キャラクタ３０２を攻撃させる。ステップＳ１０５において、体力算出部１１２は、第２キャラクタ３０２の第１パラメータを減少させる。図５の例では、ゲーム実行部１１６は、第１操作に基づいて第１キャラクタにパンチを行わせており、該パンチが第２キャラクタ３０２に当たっている（衝突している）。ゲーム実行部１１６が、第１キャラクタ３０１のパンチと第２キャラクタ３０２との衝突を検出すると、ゲーム実行部１１６は、第１キャラクタ３０１による第２キャラクタ３０２への攻撃が成功したと判定する。体力算出部１１２は、該攻撃が成功したと判定された場合、パンチに応じた第１数値を特定し、特定した第１数値に基づいて第２キャラクタ３０２の第１パラメータを減少させる。
【００８０】
なお、ゲーム実行部１１６は、第１キャラクタ３０１の攻撃が第２キャラクタ３０２に衝突したことを検出した場合であっても、第１条件が成立している場合には、攻撃が失敗したと判定してもよい。第１条件は、例えば、第２キャラクタ３０２が、防御姿勢を取るなどの、攻撃を防ぐための動作を行なっていることである。
【００８１】
ゲーム実行部１１６は、第２キャラクタ３０２に関連付けられたゲージ３０６Ｂを、第２キャラクタ３０２の第１パラメータの減少に合わせて更新する。具体的には、ゲーム実行部１１６は、図５に示すように、ゲージ３０６Ｂの第１色に着色された領域のうち、第１数値に応じた面積を第１色と異なる第２色で着色する。換言すれば、ゲーム実行部１１６は、ゲージ３０６Ｂにおける第１色に着色された領域の面積を、減少後の第１パラメータに基づいて減少させる。第２色は、第１キャラクタ３０１および第２キャラクタ３０２が攻撃を受けたことに基づいて算出された第１数値の合計値、換言すれば、第１キャラクタ３０１および第２キャラクタ３０２に与えられたダメージの合計値を示す。なお、図５の例では、第２色を白抜きで示している。このようにゲージ３０６Ｂを更新することにより、ユーザは、第１キャラクタ３０１の攻撃により、第２キャラクタ３０２の体力が減少したこと、および、第２キャラクタ３０２の残りの体力を認識する。
【００８２】
ステップＳ１０６において、死亡判定部１１３は、第２キャラクタ３０２の減少後の第１パラメータが所定の閾値以下となったか否かを判定する。ステップＳ１０６でＹＥＳの場合、すなわち、死亡判定部１１３が、減少後の第１パラメータが所定の閾値以下となったと判定した場合、ステップＳ１１０において、ゲーム実行部１１６は、第２キャラクタ３０２の死亡時処理を実行する。そして、ゲーム進行処理は終了する。
【００８３】
ステップＳ１０６でＮＯの場合、すなわち、死亡判定部１１３が、減少後の第１パラメータが所定の閾値より大きいと判定した場合、ステップＳ１０７において、移動パラメータ算出部１１４は第２キャラクタ３０２の第２パラメータを算出する。ステップＳ１０８において、移動態様決定部１１５は、算出された第２パラメータが第１閾値以上であるか否かを判定する。ステップＳ１０８でＮＯの場合、すなわち、移動態様決定部１１５が、第２パラメータが第１閾値未満であると判定した場合、ゲーム進行処理はステップＳ１０２へ戻る。
【００８４】
ステップＳ１０８でＹＥＳの場合、すなわち、移動態様決定部１１５が、第２パラメータが第１閾値以上であると判定した場合、制御部１１０は衝突処理を実行する。
【００８５】
＜衝突処理フロー＞
図６は、ゲームプログラム１３１に基づいて、ユーザ端末１００において実行される衝突処理の流れを示すフローチャートである。ステップＳ２０１において、ゲーム実行部１１６は、移動態様決定部１１５が決定した移動態様に応じて、第２キャラクタ３０２の移動（強制的な移動）を開始させる。図５の例では、ゲーム実行部１１６は、パンチを受けたことに基づき、第２キャラクタ３０２を方向４０１に、算出された第２パラメータに応じた速度で移動させる。
【００８６】
ステップＳ２０２において、移動パラメータ算出部１１４は、第２キャラクタ３０２の移動中に、移動速度を低下させ、第２パラメータを減少させる。一例として、移動パラメータ算出部１１４は、第２キャラクタ３０２がオブジェクト３０３に衝突するまで、継続的に第２パラメータを減少させる。これにより、移動パラメータ算出部１１４は、重力および空気抵抗に基づく第２キャラクタ３０２の移動速度の低下を、第２パラメータに反映することができる。
【００８７】
図７は、表示部１５２に表示されるゲーム画面の具体例を示す図である。ステップＳ２０３において、ゲーム実行部１１６は、第２キャラクタ３０２をオブジェクト３０３に衝突させる。図７の例では、ゲーム実行部１１６は、第２キャラクタ３０２を足場３０３Ｂに衝突させている。ゲーム実行部１１６は、一例として、第２キャラクタ３０２と、足場３０３Ｂが第１位置関係になった場合、第２キャラクタ３０２が足場３０３Ｂに衝突したことを検出する。第１位置関係とは、例えば、第２キャラクタ３０２と、足場３０３Ｂとの距離が第２距離を下回ることである。あるいは、第２キャラクタ３０２に規定されるコリジョンエリアと、足場３０３Ｂに規定されるコリジョンエリアとが少なくとも部分的に衝突することである。
【００８８】
ステップＳ２０４において、移動態様決定部１１５は、第２パラメータが第１閾値以上であるか否かを判定する。つまり、移動態様決定部１１５は、ステップＳ２０２において減少した第２パラメータが、第１閾値以上であるか否かを判定する。ステップＳ２０４でＮＯの場合、すなわち、移動態様決定部１１５が、第２パラメータが第１閾値未満であると判定した場合、衝突処理は終了し、ゲーム進行処理に戻る。そして、図３に示すように、ゲーム進行処理はステップＳ１０２へ戻る。
【００８９】
ステップＳ２０４でＹＥＳの場合、すなわち、移動態様決定部１１５が、第２パラメータが第１閾値以上であると判定した場合、移動態様決定部１１５は、第２キャラクタ３０２を次の箇所（例えば、オブジェクト３０３のいずれか）に衝突するまでさらに移動させると決定する。これにより、制御部１１０は、ステップＳ２０５以降の処理を行う。このため、ステップＳ２０４の処理は、第２キャラクタ３０２が複数の箇所のいずれかに衝突する毎に、第２パラメータに応じて、第２キャラクタ３０２を次の箇所に衝突するまでにさらに移動させるか否かを決定する処理と表現することもできる。
【００９０】
移動態様決定部１１５は、さらに、第２キャラクタ３０２の移動方向を決定する。一例として、移動態様決定部１１５は、足場３０３Ｂへ衝突する前の第２キャラクタ３０２の移動方向に基づいて、足場３０３Ｂに衝突した後の第２キャラクタ３０２の移動方向を決定する。図７の例の場合、移動態様決定部１１５は、足場３０３Ｂへ衝突する前の第２キャラクタ３０２の移動方向である方向４０１に基づいて、足場３０３Ｂに衝突した後の第２キャラクタ３０２の移動方向を、方向４０２に決定する。
【００９１】
ステップＳ２０５において、体力算出部１１２は、第２キャラクタ３０２の第１パラメータを、第２パラメータに応じて減少させる。つまり、体力算出部１１２は、移動態様決定部１１５が、第２キャラクタ３０２をオブジェクト３０３に衝突するまでさらに移動させると決定した場合、第１パラメータを減少させる。体力算出部１１２は、第２パラメータの値が大きいほど、第１パラメータの減少量を大きくしてもよい。換言すれば、体力算出部１１２は、ふっ飛んだ第２キャラクタの移動速度が大きいほど、第２キャラクタ３０２がオブジェクト３０３に衝突した場合のダメージの量を多くしてもよい。
【００９２】
ゲーム実行部１１６は、第２キャラクタ３０２に関連付けられたゲージ３０６Ｂを、第２キャラクタ３０２の第１パラメータの減少に合わせて更新する。図７の例では、ゲージ３０６Ｂの第２色に着色された領域の面積が、図５の例の該面積に比べて広くなっている。つまり、第２キャラクタ３０２の第１パラメータ（体力）は、第２キャラクタ３０２が足場３０３Ｂに衝突したことによりさらに減少している。このようにゲージ３０６Ｂを更新することにより、ユーザは、足場３０３Ｂへの衝突により、第２キャラクタ３０２の体力がさらに減少したこと、および、第２キャラクタ３０２の残りの体力を認識する。
【００９３】
ステップＳ２０６において、死亡判定部１１３は、第２キャラクタ３０２の減少後の第１パラメータが所定の閾値以下となったか否かを判定する。ステップＳ２０６でＹＥＳの場合、すなわち、死亡判定部１１３が、減少後の第１パラメータが所定の閾値以下となったと判定した場合、ゲーム実行部１１６は図３のステップＳ１１０の処理、すなわち第２キャラクタ３０２の死亡時処理を実行する。そして、ゲーム進行処理は終了する。
【００９４】
ステップＳ２０６でＮＯの場合、すなわち、死亡判定部１１３が、減少後の第１パラメータが所定の閾値より大きいと判定した場合、ステップＳ２０７において、移動パラメータ算出部１１４は、第２キャラクタ３０２の第２パラメータを増加させる。具体的には、ゲーム実行部１１６は、第２キャラクタ３０２と足場３０３Ｂの衝突を検出した場合、移動態様１１５が、第２パラメータが第１閾値以上であると判定したことに基づいて、第２キャラクタ３０２を足場３０３Ｂによってバウンドさせる。移動パラメータ算出部１１４は、第２キャラクタ３０２がバウンドしたことに基づき、第２キャラクタ３０２の第２パラメータを増加させる。ゲーム実行部１１６は、第２キャラクタ３０２を方向４０２に、増加後の第２パラメータに応じた速度で移動させる。つまり、ゲーム実行部１１６は、第２キャラクタ３０２がオブジェクト３０３に衝突し、バウンドすると、第２キャラクタ３０２を加速させて、強制的な移動を継続する。そして、衝突処理は、ステップＳ２０１へ戻る。
【００９５】
図８は、表示部１５２に表示されるゲーム画面の具体例を示す図である。ステップＳ２０２において、移動パラメータ算出部１１４は、第２キャラクタ３０２の移動中に、移動速度を低下させ、第２パラメータを減少させる。ステップＳ２０３において、ゲーム実行部１１６は、第２キャラクタ３０２をオブジェクト３０３に衝突させる。図８の例では、ゲーム実行部１１６は、第２キャラクタ３０２を地面３０３Ａに衝突させている。
【００９６】
ゲーム実行部１１６は、一例として、第２キャラクタ３０２と、地面３０３Ａが第２位置関係になった場合、第２キャラクタ３０２が地面３０３Ａに衝突したことを検出する。第２位置関係とは、例えば、第２キャラクタ３０２と、地面３０３Ａとの距離が第３距離を下回ることである。あるいは、第２キャラクタ３０２に規定されるコリジョンエリアと、地面３０３Ａに規定されるコリジョンエリアとが少なくとも部分的に衝突することである。
【００９７】
第２キャラクタ３０２の地面３０３Ａへの衝突が検出された場合、ステップＳ２０４において、移動態様決定部１１５は、第２パラメータが第１閾値以上であるか否かを判定する。ステップＳ２０４でＹＥＳの場合、すなわち、移動態様決定部１１５が、第２パラメータが第１閾値以上であると判定した場合、移動態様決定部１１５は、第２キャラクタ３０２をオブジェクト３０３に衝突するまでさらに移動させると決定する。ステップＳ２０５において、体力算出部１１２は、第２キャラクタ３０２の第１パラメータを、第２パラメータに応じて減少させる。
【００９８】
ステップＳ２０４でＮＯの場合、すなわち、移動態様決定部１１５が、第２パラメータが第１閾値未満であると判定した場合、衝突処理は終了し、ゲーム進行処理に戻る。このとき、ゲーム実行部１１６は、表示制御部１１７に指示し、地面３０３Ａ上を滑る第２キャラクタ３０２を描画させてもよい。
【００９９】
ゲーム実行部１１６は、第２キャラクタ３０２に関連付けられたゲージ３０６Ｂを、第２キャラクタ３０２の第１パラメータの減少に合わせて更新する。図８の例では、ゲージ３０６Ｂの第２色に着色された領域の面積が、図７の例の該面積に比べて広くなっている。つまり、第２キャラクタ３０２の第１パラメータ（体力）は、第２キャラクタ３０２が地面３０３Ａに衝突したことによりさらに減少している。このようにゲージ３０６Ｂを更新することにより、ユーザは、地面３０３Ａへの衝突により、第２キャラクタ３０２の体力がさらに減少したこと、および、第２キャラクタ３０２の残りの体力を認識する。
【０１００】
なお、ステップＳ２０６およびＳ２０７の処理も再度実行されるが、これらの処理の詳細な説明は、ここでは繰り返さない。
【０１０１】
以上のように、制御部１１０は、第１パラメータが所定の閾値以下となったと判定されるか、または、第２パラメータが第１閾値未満となったと判定されるまで、衝突処理を繰り返し実行する。換言すれば、ゲーム実行部１１６は、第１パラメータが所定の閾値以下となったと判定されるか、または、第２パラメータが第１閾値未満となったと判定されるまで、第２キャラクタ３０２を複数の箇所に衝突させる。そして、体力算出部１１２は、第２キャラクタ３０２の第１パラメータを、第２キャラクタ３０２が複数の箇所それぞれに衝突する毎に減少させる。
【０１０２】
これにより、従来のゲームに比べて、第１パラメータ、すなわち体力が減少する頻度が増加し、よりスリリングな対戦ゲームを実現することができる。結果として、ゲームにおける興趣性が向上する。
【０１０３】
また、移動態様決定部１１５は、第２キャラクタ３０２が複数の箇所のいずれかに衝突した場合、第２パラメータに応じて、第２キャラクタ３０２を次の箇所に衝突するまで移動させるか否かを決定する。一例として、移動態様決定部１１５は、第２キャラクタ３０２がオブジェクト３０３に衝突する毎に、第２パラメータに応じて、第２キャラクタ３０２を次のオブジェクト３０３に衝突するまで移動させるか否かを決定する。例えば、移動態様決定部１１５は、第２キャラクタ３０２がオブジェクト３０３に衝突したときの第２パラメータが第１閾値以上である場合、第２キャラクタ３０２を次のオブジェクト３０３に衝突するまでさらに移動させると決定する。また、一例として、移動パラメータ算出部１１４は、第２キャラクタ３０２の移動中に、第２キャラクタ３０２が次のオブジェクト３０３に衝突するまで、継続して第２パラメータを減少させる。
【０１０４】
これにより、第２キャラクタ３０２がオブジェクト３０３に衝突しても、移動が継続しない場合があり得る。例えば、第２キャラクタ３０２が衝突したオブジェクト３０３と、第２キャラクタ３０２が次に衝突すると予想されるオブジェクト３０３とが離れている場合、衝突後の移動距離が長くなり、第２パラメータの減少量が大きくなる。その結果、次のオブジェクト３０３への衝突時に、第２パラメータが第１閾値未満となり、衝突処理が終了することが考えられる。これは、第２キャラクタ３０２のオブジェクト３０３への衝突回数が減り、第２キャラクタ３０２へ与えるダメージの量が減少することを意味する。このためユーザは、第１キャラクタ３０１に、第２キャラクタ３０２への攻撃を行わせる際、より多くのダメージを第２キャラクタ３０２に与えるために、オブジェクト３０３の配置、第２キャラクタ３０２の移動方向などを考慮することになる。結果として、戦略性が向上し、ゲームにおける興趣性が向上する。
【０１０５】
上述した例では、第２キャラクタ３０２はＮＰＣであるものとして説明したが、第２キャラクタは、別のユーザ端末１００のユーザ（以下、「別のユーザ」と称する）に関連付けられ、別のユーザ端末１００に対する別のユーザの入力操作に基づいて動作するものであってもよい。
【０１０６】
この場合、サーバ２００は、ユーザ端末１００および別のユーザ端末１００から受信した、第１キャラクタと第２キャラクタとの戦闘に関する情報（以下、「戦闘情報」）を一旦記憶する。そして、サーバ２００は、該戦闘情報を統合し、ユーザ端末１００および別のユーザ端末１００に送信する。これにより、同期処理が実行される。該同期処理により、ユーザ端末１００および別のユーザ端末１００は、互いの戦闘情報をほぼ同じタイミングで共有することができる。
【０１０７】
戦闘情報の一例としては、第１キャラクタおよび第２キャラクタの動作に関する情報、第１キャラクタおよび第２キャラクタのパラメータ（例えば、第１パラメータ、第２パラメータ）に関する情報、戦闘の勝敗に関する情報、などが挙げられる。
【０１０８】
＜キャラクタの硬直＞
ゲーム実行部１１６は、一例として、第２キャラクタ３０２がオブジェクト３０３に複数回衝突している間、換言すれば、第２キャラクタ３０２を強制的に移動させている間、第２キャラクタ３０２を硬直状態とする。「硬直状態」とは、第２キャラクタ３０２を動作させないことであり、ここでの「動作」とは、ジャンプ、攻撃の動作などである。これらの動作は、第２キャラクタ３０２の強制的な移動に対する表現として、第２キャラクタ３０２の自発的な動作と表現することもできる。
【０１０９】
ゲーム実行部１１６は、第２キャラクタ３０２がオブジェクト３０３に複数回衝突している間の一部の期間（以下、「第１期間」と称する）において、第２キャラクタ３０２を硬直状態としてもよい。制御部１１０は、該第１期間を、第２パラメータに応じて決定してもよい。一例として、制御部１１０は、第２パラメータの値が大きいほど第１期間を長くしてもよい。
【０１１０】
別の例として、制御部１１０は、第２パラメータの値と、少なくとも１つの閾値との比較結果に基づいて、第１期間を決定してもよい。例えば、制御部１１０は、予め第２閾値および第３閾値を設定しておく。第２閾値は第３閾値より小さい値であるものとする。制御部１１０は、第２パラメータの値が第２閾値以下である場合、第１期間の長さを第１値に決定する。また、制御部１１０は、該第２パラメータの値が第２閾値を超え、かつ、第３閾値以下である場合、第１期間の長さを第２値に決定する。また、制御部１１０は、該第２パラメータの値が第３閾値を超える場合、第１期間の長さを第３値に決定する。なお、第１値、第２値、第３値は、第１値が最も小さく、第３値が最も大きい値であるものとする。すなわち、第２値は、第１値より大きく、第３値より小さい値である。
【０１１１】
また、別の例として、制御部１１０は、第２パラメータと第１閾値との比較（図３のステップＳ１０８、および、図６のステップＳ２０４の処理）が行われる毎に、第１期間を決定する構成であってもよい。この例における第１期間は、第２パラメータと第１閾値との比較が行われてから、次の第２パラメータと第１閾値との比較が行われるまでの少なくとも一部の期間である。換言すれば、この例における第１期間は、第２キャラクタ３０２の強制的な移動が開始されてから、第２キャラクタ３０２がオブジェクト３０３に衝突するまでの少なくとも一部の期間である。つまり、第２キャラクタ３０２が、オブジェクト３０３に複数回衝突する場合、複数回衝突する間において、第１期間が複数存在する。
【０１１２】
例えば、制御部１１０は、第２キャラクタ３０２が攻撃を受けてから、最初にオブジェクト３０３に衝突するまでの第１期間を、第２パラメータを用いた演算によって決定してもよい。さらに、制御部１１０は、第２キャラクタ３０２がオブジェクト３０３に衝突し、バウンドした場合、バウンドした時点での第２パラメータの値と、少なくとも１つの閾値との比較結果に基づいて、バウンドしてから、次にオブジェクト３０３に衝突するまでの移動の間における第１期間を決定してもよい。
【０１１３】
なお、第２キャラクタ３０２がユーザ（上記「別のユーザ」も含む）の入力操作に基づいて動作するキャラクタである場合、上記硬直状態は以下のように表現することができる。すなわち、該硬直状態は、第２キャラクタ３０２がオブジェクト３０３に複数回衝突している間の第１期間においてユーザの操作が入力された場合、第２キャラクタ３０２に、該操作に基づく動作を実行させない状態である。
【０１１４】
〔変形例〕
体力算出部１１２は、第２キャラクタ３０２がオブジェクトに衝突した場合の第１パラメータの減少量を、衝突したオブジェクト３０３の種類に応じて決定してもよい。例えば、第２キャラクタ３０２が棘を有するオブジェクト３０３（の棘を有する面）に衝突した場合、体力算出部１１２は、棘を有さないオブジェクト３０３に衝突した場合に比べて、第１パラメータの減少量を大きくしてもよい。
【０１１５】
移動態様決定部１１５は、第２キャラクタ３０２の強制的な移動に関し、該移動の移動方向を、第１キャラクタ３０１の攻撃の方向と異なる方向に決定してもよい。一例として、第２キャラクタ３０２が地面３０３Ａなどに立っている場合において、第１キャラクタ３０１が下方向の攻撃を第２キャラクタ３０２に対して行ったとする。この場合、移動態様決定部１１５は、第２キャラクタ３０２の移動方向を該攻撃の方向と反対の方向（すなわち、上方向）に決定してもよい。これにより、第２キャラクタ３０２が地面３０３Ａに衝突して反転したことを表現することができる。この例の場合、移動パラメータ算出部１１４は、同一の攻撃を下方向以外の方向で行った場合に比べて、第２パラメータを減少させてもよい。これにより、攻撃直後に地面３０３Ａに衝突したことによって第２キャラクタ３０２をふっ飛ばす力が減少したことを第２パラメータに反映することができる。また、体力算出部１１２は、同一の攻撃を下方向以外の方向で行った場合に比べて、第１数値、すなわち、第１パラメータの減少量を増加させてもよい。これにより、攻撃のダメージに加え、第２キャラクタ３０２が地面３０３Ａに衝突したことによるダメージを第１パラメータに反映することができる。
【０１１６】
すなわち、ユーザ端末１００の制御部１１０は、第２キャラクタ３０２が複数の箇所のいずれかと接触しており、特定した第２キャラクタ３０２の移動方向が、該接触している箇所へ移動させる方向である場合、第２キャラクタ３０２の移動方向を特定した移動方向と反対方向へ変更する。また、制御部１１０は、第２キャラクタ３０２の移動方向を変更した場合、第２パラメータを、第２キャラクタの移動方向を変更しない場合に比べて減少させる。
【０１１７】
ゲーム実行部１１６は、死亡時処理の一例として、死亡時処理以外の強制的な移動の態様と異なる態様で、第２キャラクタ３０２を強制的に移動させてもよい。例えば、ゲーム実行部１１６は、死亡時処理以外の強制的な移動において、移動の軌跡を示す複数の直線状のオブジェクト（図７、８参照）を表示部１５２に表示させる。一方、ゲーム実行部１１６は、例えば、死亡時処理以外の強制的な移動において、移動の軌跡を示す炎を模したオブジェクトを表示部１５２に表示させる。これにより、ユーザは、第２キャラクタ３０２が死亡したことを、第２キャラクタ３０２を強制的に移動させている時点で認識することができる。
【０１１８】
移動態様決定部１１５は、第２パラメータの値と、第１閾値を含む複数の閾値との比較結果に基づいて、第２キャラクタ３０２の移動態様を決定してもよい。一例として、複数の閾値は、第１閾値、第４閾値、第５閾値、第６閾値の４つであってもよい。これら複数の閾値を値が小さい順に並べると、第４閾値、第５閾値、第１閾値、第６閾値の順であるとする。例えば、移動態様決定部１１５は、第２パラメータの値が、第４閾値未満であると判定した場合、第２キャラクタ３０２を移動させず、またリアクションを取らせないと決定する。また、移動態様決定部１１５は、第２パラメータの値が、第４閾値以上第５閾値未満であると判定した場合、第２キャラクタ３０２をのけぞらせると決定する。また、移動態様決定部１１５は、第２パラメータの値が、第５閾値以上第１閾値未満であると判定した場合、第２キャラクタ３０２を所定距離移動させて停止させると決定する。この移動は、オブジェクト３０３に衝突しない移動である。また、移動態様決定部１１５は、第２パラメータの値が、第１閾値以上第６閾値未満であると判定した場合、第２キャラクタ３０２を、上述したように強制的に移動させると決定する。また、移動態様決定部１１５は、第２パラメータの値が、第６閾値以上であると判定した場合、第２キャラクタ３０２に対して、死亡時処理における強制的な移動を行わせると決定する。
【０１１９】
移動態様決定部１１５は、オブジェクト３０３に衝突した第２キャラクタ３０２を、オブジェクト３０３に衝突するまでさらに移動させるか否かを、第２パラメータと、第２キャラクタ３０２が硬直状態であるか否かに応じて決定してもよい。一例として、移動態様決定部１１５は、第２パラメータが第１閾値以上であり、かつ、オブジェクト３０３に衝突したときに第２キャラクタ３０２が硬直状態である場合に、第２キャラクタ３０２をオブジェクトに衝突するまでさらに移動させると決定する。
【０１２０】
この例において、移動態様決定部１１５が、第２キャラクタ３０２が硬直状態でないと判定した場合、衝突処理は終了する。ゲーム実行部１１６は、第２パラメータが第１閾値未満と判定されたことに基づき衝突処理が終了した場合と、第２キャラクタ３０２が硬直状態でないと判定されたことに基づき衝突処理が終了した場合とで、第２キャラクタ３０２の挙動を異ならせてもよい。この挙動の違いについて、第２キャラクタ３０２が地面３０３Ａに衝突した場合を例に挙げて説明する。第２パラメータが第１閾値未満と判定されたことに基づき衝突処理が終了した場合、ゲーム実行部１１６は、表示制御部１１７に指示し、例えば、地面３０３Ａ上を滑る第２キャラクタ３０２を描画させる。一方、第２キャラクタ３０２が硬直状態でないと判定されたことに基づき衝突処理が終了した場合、ゲーム実行部１１６は、表示制御部１１７に指示し、例えば、衝突した位置で横たわる（ダウンする）第２キャラクタ３０２を描画させる。
【０１２１】
第２キャラクタ３０２が硬直状態でないと判定された場合、ゲーム実行部１１６は、衝突したオブジェクト３０３の種類に応じて第２キャラクタ３０２の挙動を決定してもよい。図９および図１０は、表示部１５２に表示されるゲーム画面の具体例を示す図である。一例として、図９に示すように、第２キャラクタ３０２が、移動方向４０３に移動し、オブジェクト３０３に含まれる壁３０３Ｄに衝突したとする。さらに、移動態様決定部１１５が、第２キャラクタ３０２が硬直状態でないと判定し、衝突処理が終了したとする。この場合、ゲーム実行部１１６は、表示制御部１１７に指示し、図１０に示すように、衝突後に反転する第２キャラクタ３０２を描画させてもよい。ここで、「反転」とは、例えば図１０に示すように、衝突直前の第２キャラクタ３０２の移動方向４０３のＸ成分４０４の方向とは逆方向である方向４０５に、第２キャラクタ３０２を所定距離移動させることである。この挙動は、第２キャラクタ３０２が地面３０３Ａに衝突し、かつ、第２キャラクタ３０２が硬直状態でないと判定されて衝突処理が終了した場合の第２キャラクタ３０２の挙動、すなわち、「衝突した位置で横たわる」と異なる。
【０１２２】
体力算出部１１２は、第２キャラクタ３０２が反転した場合、例外的に、第２キャラクタ３０２の第１パラメータを、第２パラメータに応じて減少させてもよい。
【０１２３】
〔ソフトウェアによる実現例〕
制御部１１０の制御ブロックは、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１２４】
後者の場合、制御部１１０を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１２５】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１２６】
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
【０１２７】
（項目１）  ゲームプログラムを説明した。本開示のある局面によると、ゲームプログラム（１３１）は、プロセッサ（１０）を備えたコンピュータ（ユーザ端末１００）により実行される。ゲームプログラムは、プロセッサに、第１キャラクタ（３０１）に、第２キャラクタ（３０２）を対象とするアクションを実行させるステップ（Ｓ１０４）と、アクションの実行に応じて、第２キャラクタを複数の箇所（オブジェクト３０３）に複数回衝突させるステップ（Ｓ１０９、Ｓ２０３）と、複数の箇所それぞれに衝突する毎に、第２キャラクタに関連付けられた第１パラメータを変更するステップ（Ｓ２０５）と、を実行させる。
【０１２８】
（項目２）  （項目１）において、ゲームプログラムは、プロセッサに、アクションの実行に応じて、第２キャラクタを衝突するまで移動させるか否かを決定するための第２パラメータを特定するステップ（Ｓ１０７）と、第２パラメータに応じて、第２キャラクタを次の箇所に衝突するまで移動させるか否かを決定するステップ（Ｓ１０８、Ｓ２０４）と、をさらに実行させる。
【０１２９】
（項目３）  （項目２）において、ゲームプログラムは、プロセッサに、第２キャラクタの移動中に、第２パラメータを更新するステップ（Ｓ２０２、Ｓ２０７）をさらに実行させ、移動させるか否かを決定するステップでは、第２キャラクタが複数の箇所のいずれかに衝突する毎に、第２パラメータに応じて、第２キャラクタを次の箇所に衝突するまでにさらに移動させるか否かを決定する。
【０１３０】
（項目４）  （項目３）において、第２パラメータを更新するステップでは、第２パラメータを減少させ、移動させるか否かを決定するステップでは、第２パラメータが第１閾値より大きい値である場合、第２キャラクタを次の箇所に衝突するまで移動させると決定する。
【０１３１】
（項目５）  （項目４）において、第２パラメータを更新するステップでは、第２キャラクタを次の箇所に衝突するまでさらに移動させると決定した場合、第２パラメータを増加させる。
【０１３２】
（項目６）  （項目３）から（項目５）のいずれかにおいて、第１パラメータは、第１キャラクタと第２キャラクタとの対戦の勝敗を決定するためのパラメータであり、複数の箇所それぞれに衝突する毎に、第２キャラクタに関連付けられた第１パラメータを変更するステップでは、移動させるか否かを決定するステップにて第２キャラクタを次の箇所に衝突するまでさらに移動させると決定した場合、第１パラメータを減少させ、ゲームプログラムは、プロセッサに、アクションの実行に応じて、第１パラメータを減少させるステップ（Ｓ１０５）をさらに実行させる。
【０１３３】
（項目７）  （項目２）から（項目６）のいずれかにおいて、ゲームプログラムは、プロセッサに、第２キャラクタを次の箇所に衝突するまで移動させると決定した場合、第２キャラクタを移動させる方向を特定するステップと、特定した方向に第２キャラクタを衝突するまで移動させるステップ（Ｓ２０１）と、をさらに実行させる。
【０１３４】
（項目８）  （項目７）において、第２キャラクタが複数の箇所のいずれかと接触しており、特定された方向が接触している箇所へ移動させる方向である場合、方向を特定するステップでは、第２キャラクタを移動させる方向を特定された方向と反対方向へ変更し、第２パラメータを特定するステップでは、第２キャラクタを移動させる方向を変更した場合、第２パラメータを、第２キャラクタを移動させる方向を変更しない場合に比べて減少させる。
【０１３５】
（項目９）  （項目１）から（項目８）のいずれかにおいて、第２キャラクタは、ユーザに関連付けられており、ゲームプログラムは、プロセッサに、第２キャラクタに、ユーザの操作に基づく動作を実行させるステップをさらに実行させ、複数の箇所に衝突させるステップでは、第２キャラクタが複数の箇所に衝突している間の第１期間において操作が入力された場合、第２キャラクタに該操作に基づく動作を実行させない。
【０１３６】
（項目１０）  情報処理装置を説明した。本開示のある局面によると、情報処理装置（ユーザ端末１００）は、ゲームプログラム（１３１）を記憶する記憶部（１２０）と、ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部（１１０）と、を備える。制御部は、第１キャラクタに、第２キャラクタを対象とするアクションを実行させ、アクションの実行に応じて、第２キャラクタを複数の箇所に衝突させ、複数の箇所それぞれに衝突する毎に、第２キャラクタに関連付けられた第１パラメータを変更する。
【０１３７】
（項目１１）ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラム（１３１）は、プロセッサ（１０）を備えたコンピュータ（ユーザ端末１００）によって実行される。方法は、プロセッサが、第１キャラクタ（３０１）に、第２キャラクタ（３０２）を対象とするアクションを実行させる（Ｓ１０４）ステップと、アクションの実行に応じて、第２キャラクタを複数の箇所に衝突させるステップ（Ｓ１０９、Ｓ２０３）と、複数の箇所それぞれに衝突する毎に、第２キャラクタに関連付けられた第１パラメータを変更するステップ（Ｓ２０５）と、を含む。
【符号の説明】
【０１３８】
１  ゲームシステム、２  ネットワーク、１０，２０  プロセッサ、１１，２１  メモリ、１２，２２  ストレージ、１３，２３  通信ＩＦ（操作部）、１４，２４  入出力ＩＦ（操作部）、１５  タッチスクリーン（表示部、操作部）、１７  カメラ（操作部）、１８  測距センサ（操作部）、１００  ユーザ端末（情報処理装置）、１１０  制御部、１１１  操作受付部、１１２  体力算出部、１１３  死亡判定部、１１４  移動パラメータ算出部、１１５  移動態様決定部、１１６  硬直時間算出部、１１７  ゲーム実行部、１１８  表示制御部、１２０  記憶部、１３１  ゲームプログラム、１３２  ゲーム情報、１３３  ユーザ情報、１５１  入力部（操作部）、１５２  表示部、２００  サーバ、３０１  第１キャラクタ、３０２  第２キャラクタ、３０３Ａ  地面（オブジェクト）、３０３Ｂ，３０３Ｃ  足場（オブジェクト）、３０４  カウンタ、３０５Ａ、３０５Ｂ，３０５Ｃ，３０５Ｄ，３０５Ｅ  ＵＩ、３０６Ａ，３０６Ｂ  ゲージ、４０１，４０２，４０３，４０５  方向、４０４  Ｘ成分、１０１０  物体、１０２０  コントローラ（操作部）、１０３０  記憶媒体
【図１】
2020000734.tif 000003
【図２】
2020000734.tif 000004
【図３】
2020000734.tif 000005
【図４】
2020000734.tif 000006
【図５】
2020000734.tif 000007
【図６】
2020000734.tif 000008
【図７】
2020000734.tif 000009
【図８】
2020000734.tif 000010
【図９】
2020000734.tif 000011
【図１０】
2020000734.tif 000012