(57)【要約】【課題】ゲームにおけるユーザの操作性を向上する。【解決手段】基準点特定部は、矩形領域（５０）の右辺（５３）を構成する複数の点のうちの、ゲーム画面において第２接触点（４２）に最も近い位置に配置される基準点（４４）を特定する。方向算出部は、ゲーム画面における基準点（４４）から第２接触点（４２）に向かう方向（４５）を算出する。距離算出部は、ゲーム画面における基準点（４４）と第２接触点（４２）との距離（４６）を算出する。ゲーム実行部は、方向（４５）および距離（４６）の少なくともいずれか一方に応じたゲーム処理を実行する。【選択図】図７
2019150137.tif 000002
【特許請求の範囲】
【請求項１】
ゲームプログラムであって、
前記ゲームプログラムは、プロセッサ、メモリ、およびタッチスクリーンを備えるコンピュータにより実行され、
前記ゲームプログラムは、前記プロセッサに、
前記タッチスクリーンにゲーム画面を表示するステップと、
前記タッチスクリーンに対する第１接触点から第２接触点までの移動操作を検出するステップと、
前記第１接触点を内部に含む多角形領域を、前記ゲーム画面に設定するステップと、
前記多角形領域の辺を構成する複数の点のうちの、前記第２接触点に最も近い位置に配置される基準点を特定するステップと、
前記ゲーム画面における前記基準点から前記第２接触点に向かう方向を算出するステップと、
前記ゲーム画面における前記基準点と前記第２接触点との距離を算出するステップと、
前記方向および前記距離の少なくともいずれか一方に応じたゲーム処理を実行するステップとを実行させる、ゲームプログラム。
【請求項２】
前記ゲームプログラムは、前記プロセッサに、前記多角形領域を構成する複数の辺のうちの第１辺を特定するステップをさらに実行させ、
前記基準点は、前記第１辺を構成する複数の点のうちの、前記ゲーム画面において前記第２接触点に最も近い位置に配置される点である、請求項１に記載のゲームプログラム。
【請求項３】
前記第１辺を特定するステップにおいて、前記複数の辺のうちの、前記ゲーム画面において前記第１接触点と前記第２接触点との間に位置する辺を、前記第１辺として特定する、請求項２に記載のゲームプログラム。
【請求項４】
前記第１辺を特定するステップにおいて、前記複数の辺のうちの、前記ゲーム画面において前記第１接触点を挟んで前記第２接触点の反対側に位置する辺を、前記第１辺として特定する、請求項２に記載のゲームプログラム。
【請求項５】
前記多角形領域を設定するステップにおいて、互いに平行な一対の辺を少なくとも有する前記多角形領域を設定する、請求項１〜４のいずれか１項に記載のゲームプログラム。
【請求項６】
前記多角形領域を設定するステップにおいて、前記ゲーム画面の縦方向および横方向にそれぞれ平行な一対の横辺および一対の縦辺を有する矩形の前記多角形領域を設定する、請求項５に記載のゲームプログラム。
【請求項７】
前記多角形領域を設定するステップにおいて、前記第１接触点を中心に含む前記多角形領域を設定する、請求項１〜６のいずれか１項に記載のゲームプログラム。
【請求項８】
前記ゲームプログラムは、前記プロセッサに、前記距離が第１閾値を超えるか否かを判定するステップをさらに実行させ、
前記ゲーム処理を実行するステップにおいて、前記距離が前記第１閾値を超える場合は第１ゲーム処理を実行し、前記距離が前記第１閾値を超えない場合は前記第１ゲーム処理とは異なる第２ゲーム処理を実行する、請求項１〜７のいずれか１項に記載のゲームプログラム。
【請求項９】
前記ゲーム処理を実行するステップにおいて、前記ゲーム画面において前記方向と平行な方向にキャラクタを移動させるゲーム処理を実行する、請求項１〜８のいずれか１項に記載のゲームプログラム。
【請求項１０】
前記ゲームプログラムは、前記プロセッサに、前記基準点から前記第２接触点に向かって弾性変形する弾性体を、前記ゲーム画面に表示するステップをさらに実行させる、請求項１〜９のいずれか１項に記載のゲームプログラム。
【請求項１１】
コンピュータがゲームプログラムを実行する方法であって、
前記コンピュータは、プロセッサ、メモリ、およびタッチスクリーンを備え、
前記プロセッサが請求項１に記載の各ステップを実行する、方法。
【請求項１２】
情報処理装置であって、
前記情報処理装置は、
タッチスクリーンと、
請求項１に記載のゲームプログラムを記憶する記憶部と、
該ゲームプログラムを実行することにより、情報処理装置の動作を制御する制御部とを備えている、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はゲームプログラム、ゲームプログラムを実行する方法および情報処理装置に関する。
【背景技術】
【０００２】
特許文献１に、スマートフォンのタッチパネルに操作ボタン（十字キー、ジョイスティックなど）を表示する技術の一例が開示される。ユーザは、当該操作ボタンを使用して、ゲームキャラクタの移動などを行うことができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１６８９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、ユーザが意図した入力方向に応じたゲーム処理が必ずしも実行されるとは限らないため、ゲームにおけるユーザの操作性が低いという問題がある。
【０００５】
本開示の一態様は、ゲームにおけるユーザの操作性を向上することを目的とする。
【課題を解決するための手段】
【０００６】
本開示に係るゲームプログラムは、プロセッサ、メモリ、およびタッチスクリーンを備えるコンピュータにより実行される。ゲームプログラムは、プロセッサに、タッチスクリーンにゲーム画面を表示するステップと、タッチスクリーンに対する第１接触点から第２接触点までの移動操作を検出するステップと、第１接触点を内部に含む多角形領域を、ゲーム画面に設定するステップと、多角形領域の辺を構成する複数の点のうちの、第２接触点に最も近い位置に配置される基準点を特定するステップと、ゲーム画面における基準点から第２接触点に向かう方向を算出するステップと、ゲーム画面における基準点と第２接触点との距離を算出するステップと、方向および距離の少なくともいずれか一方に応じたゲーム処理を実行するステップとを実行させる。
【発明の効果】
【０００７】
本開示の一態様によれば、ゲームにおけるユーザの操作性を向上することができる効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】ゲームシステムのハードウェア構成を示す図である。
【図２】ユーザ端末の機能的構成を示すブロック図である。
【図３】操作受付部が入力操作の種類を検知する処理を説明する図である。
【図４】ユーザ端末が、ゲームプログラムに基づいて実行する処理の流れを示すフローチャートである。
【図５】ある実施の形態に係るゲーム画面を示す図である。
【図６】ある実施の形態に係るゲーム画面を示す図である。
【図７】ある実施の形態に係る矩形領域の詳細を示す図である。
【図８】ある実施の形態に係るゲーム画面を示す図である。
【図９】ある実施の形態に係るゲーム画面を示す図である。
【図１０】ある実施の形態に係る矩形領域を示す図である。
【図１１】ある実施の形態に係るゲーム画面を示す図である。
【図１２】ある実施の形態に係るゲーム画面を示す図である。
【図１３】ある実施の形態に係る矩形領域を示す図である。
【図１４】ある実施の形態に係る矩形領域を示す図である。
【図１５】ある実施の形態に係る正六角形領域および正三角形領域を示す図である。
【発明を実施するための形態】
【０００９】
〔実施形態１〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
【００１０】
＜ゲームシステム１のハードウェア構成＞
図１は、ゲームシステム１のハードウェア構成を示す図である。ゲームシステム１は図示の通り、複数のユーザ端末１００と、サーバ２００とを含む。各ユーザ端末１００は、サーバ２００とネットワーク２を介して接続する。ネットワーク２は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂３Ｇ、４Ｇ移動通信システム、ＬＴＥ（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）ディスプレイ等によって構成される。
【００３２】
入力部１５１は、入力面に対しユーザの操作（主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作）が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部１５１は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
【００３３】
図示していないが、ユーザ端末１００は、該ユーザ端末１００の保持姿勢を特定するための１以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末１００がセンサを備えている場合、プロセッサ１０は、センサの出力からユーザ端末１００の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ１０は、ユーザ端末１００が縦向きに保持されているときには、縦長の画像を表示部１５２に表示させる縦画面表示としてもよい。一方、ユーザ端末１００が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ１０は、ユーザ端末１００の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
【００３４】
カメラ１７は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
【００３５】
測距センサ１８は、測定対象物までの距離を測定するセンサである。測距センサ１８は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ１８は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ１８は、指向性を有する光を発する光源を有することとしてもよい。
【００３６】
ここで、ユーザ端末１００が、カメラ１７と測距センサ１８とを用いて、ユーザ端末１００の近傍の物体１０１０を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ１７および測距センサ１８は、例えば、ユーザ端末１００の筐体の側面に設けられてもよい。カメラ１７の近傍に測距センサ１８が設けられてもよい。カメラ１７としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ１７に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ１７の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
【００３７】
プロセッサ１０は、カメラ１７の撮影画像に対して、例えば以下の（１）〜（５）に示す処理のうち１つ以上の処理を行ってもよい。（１）プロセッサ１０は、カメラ１７の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ１０は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。（２）また、プロセッサ１０は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ１０は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数（伸びている指の本数）を特定する。プロセッサ１０はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ１０は、指の本数が５本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ１０は、指の本数が０本である（指が検出されなかった）場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ１０は、指の本数が２本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。（３）プロセッサ１０は、カメラ１７の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。（４）プロセッサ１０は、カメラ１７の撮影画像の画像認識結果、および、測距センサ１８の出力値等の少なくともいずれか１つに基づいて、ユーザ端末１００の近傍の物体１０１０（ユーザの手など）とユーザ端末１００との距離を検出する。例えば、プロセッサ１０は、カメラ１７の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末１００の近傍（例えば所定値未満の距離）にあるのか、遠く（例えば所定値以上の距離）にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ１０は、ユーザの手がユーザ端末１００に接近しているのか遠ざかっているのかを検出してもよい。（５）カメラ１７の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末１００とユーザの手との距離が変化していることが判明した場合、プロセッサ１０は、ユーザが手をカメラ１７の撮影方向において振っていると認識する。カメラ１７の撮影範囲よりも指向性が強い測距センサ１８において、物体が検出されたりされなかったりする場合に、プロセッサ１０は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
【００３８】
このように、プロセッサ１０は、カメラ１７の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か（「グー」のジェスチャであるか、それ以外のジェスチャ（例えば「パー」）であるか）を検出する。また、プロセッサ１０は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ１０は、ユーザがこの手をユーザ端末１００に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末１００は、例えば、ユーザの手の移動に応じて、タッチスクリーン１５においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末１００は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末１００は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作（またはドラッグ操作）に対応する操作として認識することもできる。また、ユーザ端末１００は、カメラ１７の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
【００３９】
＜ゲームシステム１の機能的構成＞
図２は、ゲームシステム１に含まれるサーバ２００およびユーザ端末１００の機能的構成を示すブロック図である。サーバ２００およびユーザ端末１００のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
【００４０】
ユーザ端末１００は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末１００は、プロセッサ１０、メモリ１１、ストレージ１２、通信ＩＦ１３、および入出力ＩＦ１４等の協働によって、制御部１１０および記憶部１２０として機能する。
【００４１】
サーバ２００は、各ユーザ端末１００と通信して、ユーザ端末１００がゲームを進行させるのを支援する機能を有する。例えば、有価データの販売、サービスの提供などを実行する。ゲームがマルチプレイゲームである場合には、サーバ２００は、ゲームに参加する各ユーザ端末１００と通信して、ユーザ端末１００同士のやりとりを仲介する機能を有していてもよい。サーバ２００は、プロセッサ２０、メモリ２１、ストレージ２２、通信ＩＦ２３、および入出力ＩＦ２４等の協働によって、制御部２１０および記憶部２２０として機能する。
【００４２】
記憶部１２０および記憶部２２０は、ゲームプログラム１３１、ゲーム情報１３２およびユーザ情報１３３を格納する。ゲームプログラム１３１は、ユーザ端末１００およびサーバ２００で実行するゲームプログラムである。ゲーム情報１３２は、制御部１１０および制御部２１０がゲームプログラム１３１を実行する際に参照するデータである。ユーザ情報１３３は、ユーザのアカウントに関するデータである。記憶部２２０において、ゲーム情報１３２およびユーザ情報１３３は、ユーザ端末１００ごとに格納されている。
【００４３】
（ユーザ端末１００の機能的構成）
制御部１１０は、記憶部１２０に格納されたゲームプログラム１３１を実行することにより、ユーザ端末１００を統括的に制御する。例えば、制御部１１０は、ゲームプログラム１３１およびユーザの操作にしたがって、ゲームを進行させる。また、制御部１１０は、ゲームを進行させている間、必要に応じて、サーバ２００と通信して、情報の送受信を行う。
【００４４】
制御部１１０は、ゲームプログラム１３１の記述に応じて、操作受付部１１１、領域設定部１１２、基準点特定部１１３、方向算出部１１４、距離算出部１１５、ゲーム実行部１１６、および表示制御部１１７として機能する。制御部１１０は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
【００４５】
操作受付部１１１は、タッチスクリーン１５（入力部１５１）の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、操作受付部１１１は、ユーザの指などがタッチスクリーン１５に接近したことを、タッチスクリーン１５を構成する面の横軸及び縦軸からなる座標系の座標として検出する。例えば、操作受付部１１１は、入力部１５１に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部１１１は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部１１１は、連続して検知されていた入力が途切れると、タッチスクリーン１５から接触入力が解除されたことを検知する。
【００４６】
操作受付部１１１は、タッチスクリーン１５に対するユーザの操作を判別する。操作受付部１１１は、例えば、（１）「接近操作」、（２）「リリース操作」、（３）「タップ操作」、（４）「ダブルタップ操作」、（５）「長押し操作（ロングタッチ操作）」、（６）「ドラッグ操作（スワイプ操作）」、（７）「ムーブ操作」、（８）「フリック操作」、その他のユーザの操作を判別する。操作受付部１１１が判別するユーザの操作は、上記に限られない。例えば、タッチスクリーン１５が、ユーザがタッチスクリーン１５に対して押下する圧力の大きさを検出可能な機構を有する場合、操作受付部１１１は、ユーザにより押下された圧力の大きさを判別する。
【００４７】
（１）「接近操作」とは、ユーザが指などをタッチスクリーン１５に接近させる操作である。タッチスクリーン１５は、ユーザの指などが接近したこと（ユーザの指などがタッチスクリーン１５に接触したことを含む）をタッチスクリーン１５により検出し、検出したタッチスクリーン１５の座標に応じた信号を制御部１１０へ出力する。制御部１１０は、タッチスクリーン１５へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
【００４８】
（２）「リリース操作」とは、ユーザがタッチスクリーン１５を接近操作している状態を止める操作である。操作受付部１１１は、例えば、ユーザが指などをタッチスクリーン１５に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部１１０は、タッチスクリーン１５へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
【００４９】
（３）「タップ操作」とは、ユーザがタッチスクリーン１５に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。操作受付部１１１は、接近操作が検出されない状態（ユーザの指などがタッチスクリーン１５から離れており、タッチスクリーン１５がユーザの指などの接近を検出していない状態）から、タッチスクリーン１５の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。操作受付部１１１は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合（接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合）に、ユーザの操作を「タップ操作」と判別する。
【００５０】
（４）「ダブルタップ操作」とは、ユーザがタップ操作を一定時間内に２回行う操作である。操作受付部１１１は、例えば、ユーザの操作をタップ操作と判別してから一定時間内に、タップ操作にかかる座標で再びタップ操作を判別した場合に、ユーザの操作を「ダブルタップ操作」と判別する。
【００５１】
（５）「長押し操作」とは、ユーザがタッチスクリーン１５を押し続ける操作である。タッチスクリーン１５は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」（「長押し操作」を、「ロングタッチ操作」と称することもある）と判別する。
【００５２】
（６）「ドラッグ操作」とは、ユーザがタッチスクリーン１５に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
【００５３】
（７）「ムーブ操作」とは、ユーザがタッチスクリーン１５において、接近操作を維持しつつ、タッチスクリーン１５に指などを接近させている位置を移動させてリリース操作を行う一連の操作をいう。
【００５４】
（８）「フリック操作」は、ユーザがムーブ操作を予め定められた時間よりも短い時間で行う操作をいう。フリック操作は、ユーザがタッチスクリーン１５で指を弾くような操作である。
【００５５】
図３は、操作受付部１１１が入力操作の種類を検知する処理を説明する図である。図３の例では、ユーザ情報１３３を記憶する記憶部１２０の配列ｆｐ［０］〜配列ｆｐ［１０］までの１１個の配列のそれぞれに、タッチスクリーン１５により検知されたタッチスクリーン１５上の位置を示す履歴情報が格納されている。履歴情報は、所定の期間毎（例えば、フレームレート毎）に履歴情報テーブルに格納される。履歴情報が格納される配列の個数は限定されず、任意の個数であってよい。また、履歴情報テーブルでは、タッチオフからタッチオンになった場合に検知された履歴情報を、初期位置座標として記憶部１２０に記憶してもよい。
【００５６】
図３に示されるように、例えば、配列ｆｐ［０］〜配列ｆｐ［９］に、履歴情報（ｘ０、ｙ０）が格納されており、配列ｆｐ［１０］にｎｕｌｌ値が格納された場合、操作受付部１１１は、入力操作はタップ操作であると判別する。また、例えば、タッチナウ状態において履歴情報が変化した後に、ｎｕｌｌ値が格納された場合、操作受付部１１１はｎｕｌｌ値が格納された配列ｆｐ［５］の直前の配列ｆｐ［３］および配列ｆｐ［４］に格納されている履歴情報を参照する。そして、操作受付部１１１は、配列ｆｐ［３］および配列ｆｐ［４］の履歴情報がそれぞれ示す位置の間の距離が予め設定された閾値以上である場合、入力操作はフリック操作であると判別する。また、操作受付部１１１は、タッチナウ状態において履歴情報が変化した後に、例えば配列ｆｐ［４］〜ｆｐ［１０］に履歴情報（ｘ１５、ｙ１５）が格納された場合、入力操作はスライド操作（移動操作）であると判別する。
【００５７】
領域設定部１１２は、タッチスクリーン１５に対するユーザの第１接触点を内部に含む矩形領域を、表示部１５２に表示されるゲーム画面に設定する。矩形領域は、互いに平行な一対の縦辺および一対の横辺を有する矩形の多角形領域である。矩形領域の詳細は後述する。
【００５８】
基準点特定部１１３は、矩形領域の辺を構成する複数の点のうちの、第２接触点に最も近い位置に配置される基準点を特定する。基準点特定部１１３は、矩形領域を構成する複数の辺のうちの第１辺を特定することもできる。この場合、基準点特定部１１３は、さらに、特定した第１辺を構成する複数の点のうちの、ゲーム画面においてユーザの第２接触点に最も近い位置に配置される基準点を特定する。
【００５９】
方向算出部１１４は、基準点から第２接触点に向かう方向を算出する。
【００６０】
距離算出部１１５は、基準点と第２接触点との距離を算出する。
【００６１】
ゲーム実行部１１６は、ユーザの操作に応じて、各種のプログラムを呼び出すなどによりゲームを進行させる処理を行う。例えば、ゲーム実行部１１６は、サーバ２００と通信し、ゲームの進行に応じてサーバ２００にデータを送信する処理、サーバ２００からゲームに関連するデータを受信する処理、ゲームの進行に応じてユーザに報酬を付与する処理、時間の経過を計測する処理、その他の処理を行う。
【００６２】
表示制御部１１７は、タッチスクリーン１５の表示部１５２に対して、上述の各要素によって実行された処理結果が反映されたゲーム画面を出力する。表示制御部１１７は、各種オブジェクトのモーションを示すアニメーションを含むゲーム画面を、表示部１５２に表示してもよい。また、表示制御部１１７は、ＵＩ（User  Interface）オブジェクトを、ゲーム画面に重畳して描画してもよい。
【００６３】
図２に示すユーザ端末１００の機能は、一例にすぎない。サーバ２００は、ユーザ端末１００が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末１００は、サーバ２００が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末１００およびサーバ２００以外の他の装置をゲームシステム１の構成要素とし、該他の装置にゲームシステム１における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラムを実行するコンピュータは、ユーザ端末１００、サーバ２００、および他の装置の何れであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
【００６４】
＜処理フロー＞
図４は、ユーザ端末１００が、ゲームプログラム１３１に基づいて実行する処理の流れを示すフローチャートである。図５は、ある実施の形態に係るゲーム画面３０Ａを示す図である。
【００６５】
ステップＳ１において、表示制御部１１７は、例えば図５に示すゲーム画面３０Ａを表示部１５２に表示する。ゲーム画面３０Ａは、ゲームプログラム１３１に基づくゲームに登場する一場面を表す。ゲーム画面３０Ａの中央に、キャラクタ３１が配置される。キャラクタ３１は、ゲームオブジェクトの一種であり、タッチスクリーン１５に対するユーザの操作に応じて、ゲーム画面３０Ａ内を移動することができる。ゲーム画面３０Ａには、ゲームに関する背景画像も含まれる。
【００６６】
図６は、ある実施の形態に係るゲーム画面３０Ａを示す図である。ユーザは、ゲーム中にキャラクタ３１を移動させるために、タッチスクリーン１５に対して、移動操作を入力する。移動操作は、例えば、タッチスクリーン１５に対するスライド操作である。ユーザは、キャラクタ３１をゲーム画面３０Ａの右側に真っ直ぐに移動させることを目的として、ゲーム画面３０Ａの右側に真っ直ぐに向かうスライド操作を入力するように、タッチスクリーン１５において指を滑らせる。しかし、ユーザの意図とは異なり、横方向に真っ直ぐではなく、実際にはわずかに斜め上側にずれながらゲーム画面３０Ａの右側に向かうスライド操作が、タッチスクリーン１５に対して入力される。ステップＳ２において、操作受付部１１１は、ゲーム画面３０Ａにおける第１接触点４１から第２接触点４２までのユーザのスライド操作を検出する。図６において、ユーザのスライド操作の方向４３は、ゲーム画面３０Ａの斜め上側にわずかにずれながら、ゲーム画面３０Ａの右側に向かっている。
【００６７】
ステップＳ３において、領域設定部１１２は、第１接触点４１を中心に含む矩形領域５０を、ゲーム画面３０Ａに設定する。領域設定部１１２は、タッチスクリーン１５の画面サイズ（言い換えれば、ゲーム画面３０Ａのサイズ）に応じた大きさの矩形領域５０を、設定することができる。領域設定部１１２は、ゲームの実行中における如何なる時点で設定された場合にも常に同一の大きさである矩形領域５０を、設定することができる。領域設定部１１２は、あるいは、スライド操作が受け付けられた時点でのゲームの進行状況に応じて異なる大きさの矩形領域５０を、設定することもできる。領域設定部１１２は、さらに、ユーザの指の大きさに応じた大きさの矩形領域５０を設定することもできる。
【００６８】
図６では、矩形領域５０が含まれるゲーム画面３０Ａに図示している。これは説明の便宜のためであり、ゲーム画面３０Ａに矩形領域５０が必ず表示されることを意図するものではない。言い換えれば、ゲーム画面３０Ａに矩形領域５０を設定することは、ゲーム画面３０Ａに矩形領域５０を表示することと必ずしも同義ではない。表示制御部１１７は、ゲーム画面３０Ａに矩形領域５０を表示してもよいし、しなくてもよい。言い換えれば、表示制御部１１７は、ゲーム画面３０Ａに表示されない矩形領域５０をゲーム画面３０Ａに設定することができる。表示制御部１１７がゲーム画面３０Ａに矩形領域５０を表示しない場合、矩形領域５０がユーザに視認されないので、ユーザをゲームにより集中させることができる。
【００６９】
図７は、ある実施の形態に係る矩形領域５０の詳細を示す図である。図７では、矩形領域５０は、上辺５１（横辺）、下辺５２（横辺）、右辺５３（縦辺）、および左辺５４（縦辺）を含む４つの辺を有する。上辺５１および下辺５２は、互いに平行であり、かつ、ゲーム画面３０Ａの横方向にも平行である。右辺５３および左辺５４は、互いに平行であり、かつ、ゲーム画面３０Ａの縦方向にも平行である。図７では、矩形領域５０の内部の中心に、第１接触点４１が位置する。第２接触点４２は、矩形領域５０の外部に位置する。図７では、第２接触点４２のｙ座標は、上辺５１のｙ座標よりも小さく、かつ、下辺５２のｙ座標よりも大きい。言い換えれば、第２接触点４２は、ゲーム画面３０Ａにおいて、上辺５１を延伸した第１線と、下辺５２を延伸した第２線との間に位置する。
【００７０】
ステップＳ４において、基準点特定部１１３は、矩形領域５０を構成する複数の辺５１〜５４のうち、ゲーム画面３０Ａにおいて第１接触点４１と第２接触点４２との間に位置する右辺５３（第１辺）を特定する。基準点特定部１１３は、例えば、右辺５３を構成するすべての点のｘ座標が、第１接触点４１のｘ座標よりも大きいことに基づいて、第１接触点４１と第２接触点４２との間に位置する右辺５３を特定する。ステップＳ５において、基準点特定部１１３は、特定した右辺５３を構成する複数の点のうちの、ゲーム画面３０Ａにおいて第２接触点４２に最も近い位置に配置される基準点４４を、特定する。第２接触点４２のｙ座標が、上辺５１のｙ座標よりも小さくかつ下辺５２のｙ座標よりも大きいことから、図７において特定される基準点４４は、第２接触点４２のｙ座標と同一のｙ座標を有し、かつ、右辺５３のｘ座標と同一のｘ座標を有する。
【００７１】
ステップＳ６において、方向算出部１１４は、ゲーム画面３０Ａにおいて基準点４４から第２接触点４２に向かう方向４５を算出する。方向算出部１１４は、基準点４４のｙ座標と第２接触点４２のｙ座標とが同一であることから、ゲーム画面３０Ａの横方向と平行でありかつゲーム画面３０Ａの右端に向かう方向を、方向４５として算出する。
【００７２】
ステップＳ７において、距離算出部１１５は、基準点４４と第２接触点４２との距離４６を算出する。ステップＳ８において、ゲーム実行部１１６は、算出された方向４５および距離４６の少なくともいずれかに応じたゲーム処理を実行する。ゲーム実行部１１６は、例えば、ゲーム画面３０Ａにおいて方向４５と平行であり、かつキャラクタ３１を起点とする方向６２に沿って、キャラクタ３１を移動させるゲーム処理を、実行する。
【００７３】
図８は、ある実施の形態に係るゲーム画面３０Ｂを示す図である。表示制御部１１７は、距離４６に応じたゲーム処理が実行された結果、図８に示すゲーム画面３０Ｂを生成し、表示部１５２に表示する。ゲーム画面３０Ｂでは、キャラクタ３１は、方向６２に沿って、言い換えれば、ゲーム画面３０Ａの右側に向かって、ゲーム画面３０Ａの横方向に沿って真っ直ぐに歩いている。
【００７４】
図８の例では、表示制御部１１７は、基準点４４を中心とする弾性体６１をゲーム画面３０Ｂに表示する。表示制御部１１７は、ゲーム画面３０Ａにおいて基準点４４から第２接触点４２に向かって、弾性体６１の一部を伸ばすように、弾性体６１を弾性変形させる。ゲーム画面３０Ｂにおいて弾性体６１が伸びる方向は、キャラクタ３１が移動する方向６２と同一である。ユーザは、弾性変形された弾性体６１を視認することによって、ゲーム画面３０Ａにおけるキャラクタ３１の移動方向をより正確に認識することができる。
【００７５】
表示制御部１１７は、基準点４４ではなく第１接触点４１を中心に含む弾性体６１をゲーム画面３０Ｂに表示することもできる。この場合、表示制御部１１７は、ゲーム画面３０Ｂにおいて第１接触点４１から第２接触点４２に向かって、弾性体６１の一部を伸ばすように、弾性体６１を弾性変形させる。ゲーム画面３０Ｂにおいて弾性体６１が伸びる方向は、スライド操作の方向４３と同一である。弾性体６１の伸びる方向と、キャラクタ３１が移動する方向６２とは、完全には一致しないが、両者のずれはそれほど大きくないので、ユーザに大きな違和感を与えることはない。言い換えれば、ユーザは、わずかにゲーム画面３０Ｂの上側にずれるようにゲーム画面３０Ｂの右側に向かって伸びる弾性体６１を視認することによって、キャラクタ３１がゲーム画面３０Ｂの右側に向かって真っ直ぐに移動することを、十分に理解することができる。
【００７６】
表示制御部１１７は、第１接触点４１のｘ座標と同一のｘ座標と、第１接触点４１のｙ座標と基準点４４のｙ座標との間に位置するいずれかのｙ座標とを有する基点を選択し、この基点を中心に含む弾性体６１をゲーム画面３０Ｂに表示することもできる。基点のｙ座標が基準点４４のｙ座標に近ければ近いほど、弾性体６１が伸びる方向と、キャラクタ３１が移動する方向６２とのずれを、より少なくすることができる。基点のｙ座標が基準点４４のｙ座標に一致すれば、弾性体６１が伸びる方向と、キャラクタ３１が移動する方向６２と完全に一致させる（平行にする）ことができる。
【００７７】
図６〜図８に示すように、方向算出部１１４は、ユーザのスライド操作の方向が、ゲーム画面３０Ａにおける完全な横方向ではなくある程度斜めにずれた方向であったとしても、ゲーム画面３０Ａの横方向に平行な方向４５を算出することができる。これにより、ユーザのスライド操作が上下にある程度ずれたとしても、キャラクタ３１の移動方向を常に横方向にすることができる。図６に示すように、ユーザがタッチスクリーン１５に入力したスライド操作の方向４３は、ユーザの意図と異なり、ゲーム画面３０Ａの横方向からずれた斜め方向になっている。しかし、図８に示すように、スライド操作の方向４３が斜め方向であるにも関わらず、キャラクタ３１はゲーム画面３０Ｂの斜め方向に移動しない。言い換えれば、キャラクタ３１は、ユーザの意図した通りに、ゲーム画面３０Ｂの横方向に真っ直ぐに移動している。したがって、ユーザは、キャラクタ３１を横方向に移動させるために、完全な横方向のスライド操作を必ず入力すること求められずに済み、ある程度の指の動きのずれを許容してもらえる。このように、ゲームプログラム１３１は、ゲームにおけるユーザによるキャラクタ３１の操作性を高めることができる。
【００７８】
図９は、ある実施の形態に係るゲーム画面３０Ｃを示す図である。図９の例では、ユーザは、キャラクタ３１をゲーム画面３０Ｃの右斜め下に向かって移動させるために、意図的に、ゲーム画面３０Ｃの右斜め下に向かうスライド操作をタッチスクリーン１５に対して入力する。したがって、第２接触点４２は、第１接触点４１よりもゲーム画面３０Ｃの下側に向かって十分に遠く離れた場所に位置する。図９において設定される矩形領域５０の大きさは、図６と同一である。第２接触点４２は、矩形領域５０の右斜め下の外部に位置する。
【００７９】
図１０は、ある実施の形態に係る矩形領域５０を示す図である。基準点特定部１１３は、矩形領域５０を構成する複数の辺５１〜５４のうち、ゲーム画面３０Ｃにおいて第１接触点４１と第２接触点４２との間に位置する右辺５３（第１辺）を特定する。基準点特定部１１３は、特定した右辺５３に含まれ、かつ、ゲーム画面３０Ｃにおいて第２接触点４２に最も近い位置に配置される基準点４４を特定する。図１０では、第２接触点４２のｙ座標が、右辺５３の下端に位置する点のｙ座標よりも小さいことから、図１０において特定される基準点４４は、右辺５３の下端に位置する点である。
【００８０】
方向算出部１１４は、ゲーム画面３０Ｃにおいて基準点４４から第２接触点４２に向かう方向４５を算出する。方向算出部１１４は、図１０において第２接触点４２のｙ座標が基準点４４のｙ座標よりも小さいことから、ゲーム画面３０Ｃの右斜め下方向に平行な方向を、方向４５として算出する。距離算出部１１５は、基準点４４と第２接触点４２との距離４６を算出する。ゲーム実行部１１６は、算出された方向４５および距離４６の少なくともいずれかに応じたゲーム処理を実行する。ゲーム実行部１１６は、例えば、ゲーム画面３０Ａにおいて方向４５と平行であり、かつキャラクタ３１を起点とする方向６３に沿って、キャラクタ３１を移動させるゲーム処理を、実行する。
【００８１】
図１１は、ある実施の形態に係るゲーム画面３０Ｄを示す図である。表示制御部１１７は、図１０に示す方向４５に応じたゲーム処理が実行された結果、図１２に示すゲーム画面３０Ｄを生成し、表示部１５２に表示する。ゲーム画面３０Ｄでは、キャラクタ３１は、方向６３に沿って、ゲーム画面３０Ｄの右斜め下に向かって真っ直ぐに歩いている。
【００８２】
図１１の例では、表示制御部１１７は、基準点４４を中心とする弾性体６１をゲーム画面３０Ｄに表示する。表示制御部１１７は、ゲーム画面３０Ｄにおいて基準点４４から第２接触点４２に向かって、弾性体６１の一部を伸ばすように、弾性体６１を弾性変形させる。ゲーム画面３０Ｄにおいて弾性体６１が伸びる方向は、キャラクタ３１が移動する方向６３と平行である。ユーザは、弾性変形された弾性体６１を視認することによって、ゲーム画面３０Ｄにおけるキャラクタ３１の移動方向をより正確に認識することができる。
【００８３】
図９〜図１１に示すように、方向算出部１１４は、ユーザのスライド操作の方向が、ゲーム画面３０Ｃにおいて矩形領域５０よりも下側に第２接触点４２が位置するほど十分に斜めに傾いている場合、ゲーム画面３０Ｃの右斜め下方向に平行な方向４５を算出することができる。これにより、ゲーム実行部１１６は、ユーザが意図的に斜め方向のスライド操作を入力した場合、ユーザの意図通りにキャラクタ３１をゲーム画面３０Ｄにおける斜め移動方向に移動させることができる。このように、ゲームプログラム１３１によれば、キャラクタ３１の移動方向がゲーム画面３０Ｄにおける横方向に限定されることがないので、キャラクタ３１の操作性の自由度を損ねずに済む。
【００８４】
ゲーム実行部１１６は、基準点４４と第２接触点４２との距離４６に応じたゲーム処理を実行することもできる。ゲーム実行部１１６は、例えば、算出された距離４６が第１閾値を超えるか否かを判定する。ゲーム実行部１１６は、距離４６が第１閾値を超える場合、第１ゲーム処理を実行し、距離４６が第１閾値を超えない場合、第１ゲーム処理とは異なる第２ゲーム処理を実行する。第１ゲーム処理は、例えばキャラクタ３１を第１速度で移動させることであり、より詳細には、例えばキャラクタ３１を走らせることである。第２ゲーム処理は、例えばキャラクタ３１を第１速度よりも遅い第２速度で移動させることであり、より詳細には、例えばキャラクタ３１を歩かせることである。
【００８５】
図８の例では、算出された距離４６は第１閾値を超えない。ゲーム実行部１１６は、算出された距離４６が第１距離を超えないことに応じて、キャラクタ３１を歩かせる第２ゲーム処理を実行する。表示制御部１１７は、第２ゲーム処理が実行されたことに応じて、キャラクタ３１が歩く様子を描いたゲーム画面３０Ｂを生成し、表示部１５２に表示する。
【００８６】
図１２は、ある実施の形態に係るゲーム画面３０Ｅを示す図である。ユーザは、ゲーム画面３０Ｅの表示時に、図６の場合に比べてよりより長い距離のスライド操作をタッチスクリーン１５に入力する。スライド操作の方向は、図６の場合とほぼ同様に、基本的にはゲーム画面３０Ｅの右側に向かっているが、ゲーム画面３０Ｅの上側に向かうようにわずかに斜めにずれている。図１２の例では、矩形領域５０に基づいて算出された方向４５は、図８と同様に、ゲーム画面３０Ｅの右側に真っ直ぐに向かう。矩形領域５０に基づいて算出された距離４６は、図８と異なり、第１閾値を超える。ゲーム実行部１１６は、算出された距離４６が第１距離を超えることに応じて、キャラクタ３１を走らせる第１ゲーム処理を実行する。表示制御部１１７は、第１ゲーム処理が実行されたことに応じて、キャラクタ３１が走る様子を描いたゲーム画面３０Ｅを生成し、表示部１５２に表示する。表示制御部１１７は、さらに、図８の場合に比べてより長く伸びた弾性体６１を、ゲーム画面３０Ｅに表示する。図１２に示すように、ユーザは、十分に長い距離のスライド操作をタッチスクリーン１５に入力することによって、キャラクタ３１をゲーム画面３０Ｅの横方向に真っ直ぐに走らせることができる。
【００８７】
図８および図１２に示すように、ユーザは、スライド操作の距離を適宜異ならせることによって、ゲーム画面３０Ｂにおいてキャラクタ３１を歩かせたり、ゲーム画面３０Ｅにおいてキャラクタ３１を走らせたりすることができる。このように、ゲームプログラム１３１は、ユーザによるキャラクタ３１の操作性を高めることができる。
【００８８】
距離算出部１１５は、第１接触点４１と基準点４４との距離をさらに算出することができる。この場合、ゲーム実行部１１６は、第１接触点４１と第２接触点４２との距離と、基準点４４と第２接触点４２との距離との合計に応じたゲーム処理を、実行する。その場合、ユーザがタッチスクリーン１５において動かした指の移動距離により近い算出距離に応じたゲーム処理が、実行される。したがって、スライド操作の結果として行われたゲーム処理に対してユーザの違和感を覚える可能性を、より低減することができる。
【００８９】
図１３は、ある実施の形態に係る矩形領域５０を示す図である。図１３の例では、タッチスクリーン１５における第１接触点４１および第２接触点４２の位置は、図７の場合と同一である。さらに、ゲーム画面３０Ａにおいて矩形領域５０が設定される位置も、矩形領域５０の大きさも、図７の例と同一である。図１３の例では、基準点特定部１１３は、図７の例とは異なり、矩形領域５０を構成する４つの辺のうち、ゲーム画面３０Ａにおいて第１接触点４１を挟んで第２接触点４２の反対側に位置する左辺５４を特定する。基準点特定部１１３は、例えば、左辺５４を構成するすべての点のｘ座標が、第１接触点４１のｘ座標よりも小さいことに基づいて、第１接触点４１を挟んで第２接触点４２と反対側に位置する辺として、左辺５４を特定する。基準点特定部１１３は、さらに、特定した左辺５４を構成する複数の点のうちの、ゲーム画面３０Ａにおいて第２接触点４２に最も近い位置に配置される基準点４７を特定する。第２接触点４２のｙ座標が、上辺５１のｙ座標よりも小さくかつ下辺５２のｙ座標よりも大きいことから、図１３において特定される基準点４７は、第２接触点４２のｙ座標と同一のｙ座標を有し、かつ、左辺５４のｘ座標と同一のｘ座標を有する。
【００９０】
方向算出部１１４は、ゲーム画面３０Ａにおいて基準点４４から第２接触点４２に向かう方向４８を算出する。方向算出部１１４は、基準点４７のｙ座標と第２接触点４２のｙ座標とが同一であることから、ゲーム画面３０Ａの横方向と平行でありかつゲーム画面３０Ａの右側に向かう方向を、方向４８として算出する。距離算出部１１５は、基準点４７と第２接触点４２との距離４９を算出する。ゲーム実行部１１６は、算出された方向４８および距離４９の少なくともいずれかに応じたゲーム処理を実行する。
【００９１】
図１３に示す方向４８は、図７に示す基準点４７から第２接触点４２に向かう方向４５と、同一である。したがって、ゲーム実行部１１６が方向４８に応じて実行するゲーム処理は、ゲーム実行部１１６が方向４４に応じて実行するゲーム処理と、結果的に同一になる。言い換えれば、ゲーム実行部１１６は、方向４８が算出された場合、ゲーム画面３０Ａにおいて方向４８と平行であり、かつキャラクタ３１を起点とする方向６２に沿って、キャラクタ３１を移動させるゲーム処理を実行する。
【００９２】
図７および図１３によれば、右辺５３および左辺５４のいずれが特定される場合であっても、ユーザが意図した入力方向に一致する方向４５または方向４８が特定される。したがって、ユーザが意図した方向にキャラクタ３１が移動するゲーム処理を実行できることに代わりはない。言い換えれば、右辺５３が特定される場合と同様の効果を、左辺５４が特定される場合にも奏することができる。
【００９３】
図１４は、ある実施の形態に係る矩形領域５０を示す図である。上述した矩形領域５０の設定、基準点の特定、ならびに方向および距離の算出は、図１４の各例に示すように、タッチスクリーン１５に対するユーザの任意の方向のスライド操作が受け付けられた場合に、等しく実行される。
【００９４】
図１４（Ａ）では、ユーザは、ゲーム画面３０Ａの左側に向かって、ゲーム画面３０Ａの左斜め下方向に僅かにずれるスライド操作を入力する。第２接触点４２は、矩形領域５０の左側の外部に位置する。図１４（Ａ）では、第２接触点４２のｙ座標は、上辺５１のｙ座標よりも小さく、かつ、下辺５２のｙ座標よりも大きい。言い換えれば、第２接触点４２は、ゲーム画面３０Ａにおいて、上辺５１を延伸した第１線と、下辺５２を延伸した第２線との間に位置する。
【００９５】
基準点特定部１１３は、矩形領域５０を構成する複数の辺５１〜５４のうち、ゲーム画面３０Ａにおいて第１接触点４１と第２接触点４２との間に位置する左辺５４を特定する。基準点特定部１１３は、特定した左辺５４に含まれ、かつ、ゲーム画面３０Ａにおいて第２接触点４２に最も近い位置に配置される基準点７１を特定する。第２接触点４２のｙ座標が、上辺５１のｙ座標よりも小さくかつ下辺５２のｙ座標よりも大きいことから、図１４において特定される基準点７１は、第２接触点４２のｙ座標と同一のｙ座標を有し、かつ、左辺５４のｘ座標と同一のｘ座標を有する。
【００９６】
方向算出部１１４は、ゲーム画面３０Ａにおいて基準点７１から第２接触点４２に向かう方向７２を算出する。方向算出部１１４は、基準点７１のｙ座標と第２接触点４２のｙ座標とが同一であることから、ゲーム画面３０Ａの横方向と平行でありかつゲーム画面３０Ａの左側に向かう方向を、方向７２として算出する。距離算出部１１５は、基準点７１と第２接触点４２との距離７３を算出する。ゲーム実行部１１６は、算出された方向７２および距離７３の少なくともいずれかに応じたゲーム処理を実行する。ゲーム実行部１１６は、例えば、ゲーム画面３０Ａにおいて方向７２と平行であり、かつキャラクタ３１を起点としてゲーム画面３０Ａの左側に向かう水平方向に沿って、キャラクタ３１を真っ直ぐ左方向に移動させるゲーム処理を、実行する。
【００９７】
図１４（Ｂ）では、ユーザは、ゲーム画面３０Ａの上側に向かって、ゲーム画面３０Ａの右斜め上方向に僅かにずれるスライド操作を入力する。第２接触点４２は、矩形領域５０の上側の外部に位置する。図１４（Ｂ）では、第２接触点４２のｘ座標は、右辺５３のｘ座標よりも小さく、かつ、左辺５４のｘ座標よりも大きい。言い換えれば、第２接触点４２は、ゲーム画面３０Ａにおいて、右辺５３を延伸した第１線と、左辺５４を延伸した第２線との間に位置する。
【００９８】
基準点特定部１１３は、矩形領域５０を構成する複数の辺５１〜５４のうち、ゲーム画面３０Ａにおいて第１接触点４１と第２接触点４２との間に位置する上辺５１を特定する。基準点特定部１１３は、特定した上辺５１に含まれ、かつ、ゲーム画面３０Ａにおいて第２接触点４２に最も近い位置に配置される基準点７４を特定する。第２接触点４２のｘ座標が、右辺５３のｘ座標よりも小さくかつ左辺５４のｘ座標よりも大きいことから、図１４（Ｂ）において特定される基準点７４は、第２接触点４２のｘ座標と同一のｘ座標を有し、かつ、上辺５１のｙ座標と同一のｙ座標を有する。
【００９９】
方向算出部１１４は、ゲーム画面３０Ａにおいて基準点７４から第２接触点４２に向かう方向７５を算出する。方向算出部１１４は、基準点７４のｘ座標と第２接触点４２のｘ座標とが同一であることから、ゲーム画面３０Ａの縦方向と平行でありかつゲーム画面３０Ａの上側に向かう方向を、方向７５として算出する。距離算出部１１５は、基準点７４と第２接触点４２との距離７６を算出する。ゲーム実行部１１６は、算出された方向７５および距離７６の少なくともいずれかに応じたゲーム処理を実行する。ゲーム実行部１１６は、例えば、ゲーム画面３０Ａにおいて方向７５と平行であり、かつキャラクタ３１を起点としてゲーム画面３０Ａの上側に向かう垂直方向に沿って、キャラクタ３１を真っ直ぐ上方向に移動させるゲーム処理を、実行する。
【０１００】
図１４（Ｃ）では、ユーザは、ゲーム画面３０Ａの下側に向かって、ゲーム画面３０Ａの左斜め下方向に僅かにずれるスライド操作を入力する。第２接触点４２は、矩形領域５０の下側の外部に位置する。図１４（Ｃ）では、第２接触点４２のｘ座標は、右辺５３のｘ座標よりも小さく、かつ、左辺５４のｘ座標よりも大きい。言い換えれば、第２接触点４２は、ゲーム画面３０Ａにおいて、右辺５３を延伸した第１線と、左辺５４を延伸した第２線との間に位置する。
【０１０１】
基準点特定部１１３は、矩形領域５０を構成する複数の辺５１〜５４のうち、ゲーム画面３０Ａにおいて第１接触点４１と第２接触点４２との間に位置する下辺５２を特定する。基準点特定部１１３は、特定した下辺５２に含まれ、かつ、ゲーム画面３０Ａにおいて第２接触点４２に最も近い位置に配置される基準点７７を特定する。第２接触点４２のｘ座標が、右辺５３のｘ座標よりも小さくかつ左辺５４のｘ座標よりも大きいことから、図１４（Ｃ）において特定される基準点７７は、第２接触点４２のｘ座標と同一のｘ座標を有し、かつ、下辺５２のｙ座標と同一のｙ座標を有する。
【０１０２】
方向算出部１１４は、ゲーム画面３０Ａにおいて基準点７７から第２接触点４２に向かう方向７８を算出する。距離算出部１１５は、基準点７７のｘ座標と第２接触点４２のｘ座標とが同一であることから、ゲーム画面３０Ａの縦方向と平行でありかつゲーム画面３０Ａの下側に向かう方向を、方向７８として算出する。距離算出部１１５は、基準点７７と第２接触点４２との距離７９を算出する。ゲーム実行部１１６は、算出された方向７８および距離７９の少なくともいずれかに応じたゲーム処理を実行する。ゲーム実行部１１６は、例えば、ゲーム画面３０Ａにおいて方向７８と平行であり、かつキャラクタ３１を起点としてゲーム画面３０Ａの下側に向かう垂直方向に沿って、キャラクタ３１を真っ直ぐ下方向に移動させるゲーム処理を、実行する。
【０１０３】
図１５は、ある実施の形態に係る正六角形領域８１および正三角形領域８２を示す図である。領域設定部１１２がゲーム画面３０Ａに設定する領域は、矩形領域５０に限らず、図１５（Ａ）に示すような中心に第１接触点４１を含む正六角形領域８１でもよく、図１５（Ｂ）に示すような中心に第１接触点４１を含む正三角形領域８２でもよい。このように、領域設定部１１２は、第１接触点４１を中心に含む任意の形状の多角形領域を、ゲーム画面３０Ａに設定することができる。また、領域設定部１１２は、第１接触点４１を中心以外の任意の箇所に含む多角形領域を設定することもできる。
【０１０４】
基準点特定部１１３は、矩形領域５０などの、互いに平行な一対の辺を有する多角形領域を設定することが好ましい。この場合、方向算出部１１４は、これらの一対の辺に直交しかつ互いに反対側に向かう第１方向および第２方向を、いずれも容易に算出することができる。
【０１０５】
（変形例）
操作受付部１１１は、第１接触点４１および第２接触点４２がいずれも矩形領域５０内に位置する場合、タッチスクリーン１５に対するユーザの操作をスライド操作ではなくタップ操作として受け付ける。この場合、ゲーム実行部１１６は、タップ操作に応じたゲーム処理を実行する。
【０１０６】
領域設定部１１２は、必ずしも多角形領域を設定する必要はない。領域設定部１１２は、例えば、方向４５および距離４６を算出するために用いられる領域として、円または楕円などの円形領域をゲーム画面３０Ａに設定することができる。
【０１０７】
基準点特定部１１３は、矩形領域５０を構成する複数の辺のうちの第１辺を特定することなく、基準点４４を特定することもできる。基準点特定部１１３は、例えば、矩形領域５０の形状を規定する線全体を構成する複数の点のうちの、ゲーム画面３０Ａにおいて第２接触点４２に最も近い位置に配置される点を、基準点４４として特定する。これにより、図７の例では、右辺５３を特定することなく、結果的に右辺５３に含まれる基準点４４を特定することができる。
【０１０８】
領域設定部１１２は、例えば、ゲームプログラム１３１に基づくゲームが、キャラクタ３１をゲーム画面３０Ａの縦方向に比べて横方向の方により頻繁に移動させるゲームである場合、横辺（上辺５１および下辺５２）よりも長い縦辺（右辺５３および左辺５４）を有する矩形領域５０を、ゲーム画面３０Ａに設定する。これにより、タッチスクリーン１５に対するユーザの横方向のスライド操作が、横方向に対してある程度大きく斜めにずれた場合であっても、キャラクタ３１をゲーム画面３０Ａにおいて横方向に真っ直ぐに移動させることができる。したがって、ユーザにゲームを快適にプレイさせることができる。
【０１０９】
領域設定部１１２は、例えば、ゲームプログラム１３１に基づくゲームが、キャラクタ３１をゲーム画面３０Ａの横方向に比べて縦方向の方により頻繁に移動させるゲームである場合、縦辺（右辺５３および左辺５４）よりも長い横辺（上辺５１および下辺５２）を有する矩形領域５０を、ゲーム画面３０Ａに設定する。これにより、タッチスクリーン１５に対するユーザの縦方向のスライド操作が、縦方向に対してある程度大きく斜めにずれた場合であっても、キャラクタ３１をゲーム画面３０Ａにおいて横方向に真っ直ぐに移動させることができる。したがって、ユーザにゲームを快適にプレイさせることができる。
【０１１０】
領域設定部１１２は、例えば、ゲームの進行状況に応じて、矩形領域５０の縦辺と横辺との比率を異ならせることができる。領域設定部１１２は、例えば、キャラクタ３１をゲーム画面３０Ａの横方向に移動させる必要がある第１シーンがゲームに登場した場合、横辺（上辺５１および下辺５２）よりも長い縦辺（右辺５３および左辺５４）を有する矩形領域５０を、ゲーム画面３０Ａに設定する。領域設定部１１２は、さらに、キャラクタ３１をゲーム画面３０Ａの縦方向に移動させる必要がある第２シーンが同じゲームに登場した場合、縦辺（右辺５３および左辺５４）よりも長い横辺（上辺５１および下辺５２）を有する矩形領域５０を、ゲーム画面３０Ａに設定する。これらにより、第１シーンおよび第２シーンのいずれにおいても、ユーザにゲームを快適にプレイさせることができる。
【０１１１】
領域設定部１１２は、例えば、正確な横方向のスライド操作の入力が不要な第１シーンがゲームに登場した場合、より長い縦辺（右辺５３および左辺５４）を有する矩形領域５０をゲーム画面３０Ａに設定する。領域設定部１１２は、例えば、正確な横方向のスライド操作の入力が必要な第２シーンがゲームに登場した場合、より短い縦辺（右辺５３および左辺５４）を有する矩形領域５０をゲーム画面３０Ａに設定する。第２シーンは、例えば、ゲーム画面３０の横方向に配置された細長いオブジェクト（丸太橋など）上をキャラクタ３１に真っ直ぐ横方向にに移動させる必要があり、かつ、キャラクタ３１が移動中にオブジェクトから転落するとペナルティがユーザに与えられるシーンである。ペナルティは、例えば、オブジェクト上のキャラクタ３１の移動をやり直す必要があること、または、キャラクタ３１に設定される体力パラメータが減少することである。第２シーンにおいて、より短い縦辺を有する矩形領域５０が設定される場合、ペナルティを受けないようにキャラクタ３１にオブジェクト上を正確に移動させるために、できるだけ厳密な横方向のスライド操作をタッチスクリーン１５に対して入力することが、ユーザに求められる。このように、シーンに応じてユーザに求められるスライド操作の厳密さを変更することによって、ゲームの興趣性を高めることができる。
【０１１２】
〔ソフトウェアによる実現例〕
制御部１１０の制御ブロックは、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１１３】
後者の場合、制御部１１０、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１１４】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【０１１５】
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
【０１１６】
（項目１）  ゲームプログラム（１３１）について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ（１０）、メモリ（１１）、およびタッチスクリーン（１５）を備えるコンピュータ（ユーザ端末１００）により実行される。ゲームプログラムは、プロセッサに、タッチスクリーンにゲーム画面を表示するステップＳ１と、タッチスクリーンに対する第１接触点４１から第２接触点４２までの移動操作を検出するステップＳ２と、第１接触点を内部に含む多角形領域（矩形領域５０）を、ゲーム画面に設定するステップＳ３と、多角形領域の辺を構成する複数の点のうちの、第２接触点に最も近い位置に配置される基準点４４を特定するステップＳ５と、ゲーム画面における基準点から第２接触点に向かう方向４５を算出するステップＳ６と、ゲーム画面における基準点と第２接触点との距離４６を算出するステップＳ７と、方向および距離の少なくともいずれか一方に応じたゲーム処理を実行するステップＳ８とを実行させる。
【０１１７】
（項目２）  （項目１）において、ゲームプログラムは、プロセッサに、前記多角形領域を構成する複数の辺（上辺５１、下辺５２、右辺５３、および左辺５４）のうちの第１辺（右辺５３）を特定するステップＳ４をさらに実行させ、前記基準点は、前記第１辺を構成する複数の点のうちの、前記ゲーム画面において前記第２接触点に最も近い位置に配置される点である。
【０１１８】
（項目３）  （項目２）において、第１辺を特定するステップにおいて、複数の辺のうちの、ゲーム画面において第１接触点と第２接触点との間に位置する辺（右辺５３）を、第１辺として特定する。
【０１１９】
（項目４）  （項目２）において、第１辺を特定するステップにおいて、複数の辺のうちの、ゲーム画面において第１接触点を挟んで第２接触点の反対側に位置する辺（左辺５４）を、第１辺として特定する。
【０１２０】
（項目５）  （項目４）において、多角形領域を設定するステップにおいて、互いに平行な一対の辺を少なくとも有する多角形領域を設定する。
【０１２１】
（項目６）  （項目５）において、多角形領域を設定するステップにおいて、ゲーム画面の縦方向および横方向にそれぞれ平行な一対の横辺および一対の縦辺を有する矩形の多角形領域を設定する。
【０１２２】
（項目７）  （項目１）〜（項目６）のいずれかにおいて、多角形領域を設定するステップにおいて、第１接触点を中心に含む多角形領域を設定する。
【０１２３】
（項目８）  （項目１）〜（項目８）のいずれかにおいて、ゲームプログラムは、プロセッサに、距離が第１閾値を超えるか否かを判定するステップをさらに実行させ、ゲーム処理を実行するステップにおいて、距離が第１閾値を超える場合は第１ゲーム処理を実行し、距離が第１閾値を超えない場合は第１ゲーム処理とは異なる第２ゲーム処理を実行する。
【０１２４】
（項目９）  （項目１）〜（項目８）のいずれかにおいて、ゲーム処理を実行するステップにおいて、ゲーム画面において方向と平行な方向にキャラクタ３１を移動させるゲーム処理を実行する。
【０１２５】
（項目１０）  （項目１）〜（項目９）のいずれかにおいて、ゲームプログラムは、プロセッサに、基準点から第２接触点に向かって弾性変形する弾性体６１を、ゲーム画面に表示するステップをさらに実行させる。
【０１２６】
（項目１１）  ゲームプログラム（１３１）を実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ（１０）、メモリ（１１）、およびタッチスクリーン（１５）を備えるコンピュータ（ユーザ端末１００）により実行される。該方法は、プロセッサが（項目１）に記載の各ステップを実行する。
【０１２７】
（項目１２）  情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、タッチスクリーン（１５）と、（項目１）に係るゲームプログラムを記憶する記憶部（１２０）と、該ゲームプログラムを実行することにより、情報処理装置（ユーザ端末１００）の動作を制御する制御部（１１０）とを備える。
【符号の説明】
【０１２８】
１  ゲームシステム、２  ネットワーク、１０，２０  プロセッサ、１１，２１  メモリ、１２，２２  ストレージ、１３，２３  通信ＩＦ（操作部）、１４，２４  入出力ＩＦ（操作部）、１５  タッチスクリーン（表示部）、１７  カメラ（操作部）、１８  測距センサ（操作部）、４１  第１接触点、４２  第２接触点、４３  方向、４４  基準点、４５  方向、４６  距離、４７  方向、４８距離、５０  矩形領域、５１  上辺、５２  下辺、５３  右辺、５４  左辺、６１  弾性体、６２  方向、６３  方向、７１，７４  基準点、７２，７５  方向、７６，７９  距離、８１  正六角形領域、８２  正三角形領域、１００  ユーザ端末（情報処理装置）、１１０，２１０  制御部、１１１  操作受付部、１１２  領域設定部、１１３  基準点特定部、１１４  方向算出部、１１５  距離算出部、１１６  ゲーム実行部、１１７  表示制御部、１２０，２２０  記憶部、１３１  ゲームプログラム、１３２  ゲーム情報、１３３  ユーザ情報、１５１  入力部（操作部）、１５２  表示部、２００  サーバ
【図１】
2019150137.tif 000003
【図２】
2019150137.tif 000004
【図３】
2019150137.tif 000005
【図４】
2019150137.tif 000006
【図５】
2019150137.tif 000007
【図６】
2019150137.tif 000008
【図７】
2019150137.tif 000009
【図８】
2019150137.tif 000010
【図９】
2019150137.tif 000011
【図１０】
2019150137.tif 000012
【図１１】
2019150137.tif 000013
【図１２】
2019150137.tif 000014
【図１３】
2019150137.tif 000015
【図１４】
2019150137.tif 000016
【図１５】
2019150137.tif 000017