(57)【特許請求の範囲】
【請求項１】
タッチパネルを備え、当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置において実行されるゲームのためのプログラムであって、前記電子装置に、
プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示するステップと、
ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、複数の仮想コントローラから１つの仮想コントローラを決定するステップであって、前記仮想コントローラはフリック方向に対応したプレイヤキャラクタの移動方向を定めるものである、仮想コントローラを決定するステップと、
前記タッチパネルに対するフリックを検出するステップと、
前記検出されたフリックの方向を決定するステップと、
前記決定されたフリックの方向及び前記決定された仮想コントローラに基づいてプレイヤキャラクタを移動させるステップと、を実行させるプログラム。
【請求項２】
前記仮想コントローラを決定するステップは、
ゲームマップ上の前記プレイヤキャラクタの位置及び当該位置の周囲を含むサブマップを取得するステップと、
前記取得されたサブマップに含まれる、前記プレイヤキャラクタに接する移動不可能領域の有無に基づいてプレイヤキャラクタの移動可能方向を決定するステップと、
前記決定されたプレイヤキャラクタの移動可能方向に基づいて仮想コントローラを決定するステップと、を含む請求項１に記載のプログラム。
【請求項３】
前記仮想コントローラを決定するステップは、
ゲームマップ上の前記プレイヤキャラクタの位置及び当該位置の周囲を含むサブマップを取得するステップと、
前記取得されたサブマップに含まれる移動不可能領域の有無、並びに前記取得されたサブマップに移動不可能領域を含む場合、前記プレイヤキャラクタの位置から当該移動不可能領域への方向及び当該移動不可能領域までの距離に基づいてプレイヤキャラクタの移動可能方向を決定するステップと、
前記決定されたプレイヤキャラクタの移動可能方向に基づいて仮想コントローラを決定するステップと、を含む請求項１に記載のプログラム。
【請求項４】
前記仮想コントローラを決定するステップは、
ゲームマップ上の前記プレイヤキャラクタの位置のマップ情報を取得するステップであって、各々の位置のマップ情報は、各々の位置に接する移動不可能領域の有無に基づいて、又は各々の位置からゲームマップに含まれる移動不可能領域への方向及び当該移動不可能領域までの距離に基づいて決定されるプレイヤキャラクタの移動可能方向に対応した仮想コントローラを示す識別情報を有する、プレイヤキャラクタの位置のマップ情報を取得するステップと、
前記取得されたマップ情報の識別情報に基づいて仮想コントローラを決定するステップと、を含む請求項１に記載のプログラム。
【請求項５】
前記仮想コントローラを決定するステップは、ゲームマップ上の前記プレイヤキャラクタの位置におけるプレイヤキャラクタの移動可能方向の範囲が９０度以下の場合に、一部のフリック方向においてプレイヤキャラクタを移動させないように定める仮想コントローラを決定する、請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
タッチパネルを備え、当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置であって、
プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示する画面表示手段と、
ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、複数の仮想コントローラから１つの仮想コントローラを決定する仮想コントローラ決定手段であって、前記仮想コントローラはフリック方向に対応したプレイヤキャラクタの移動方向を定めるものである、仮想コントローラ決定手段と、
前記タッチパネルに対するフリックを検出するフリック検出手段と、
前記検出されたフリックの方向を決定するフリック方向決定手段と、
前記決定されたフリックの方向及び前記決定された仮想コントローラに基づいてプレイヤキャラクタを移動させる移動制御手段と、を備える電子装置。
【請求項７】
サーバと、前記サーバにネットワークを介して接続され、タッチパネルを備え、及び当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置とを含むシステムであって、
プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示する画面表示手段と、
ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、複数の仮想コントローラから１つの仮想コントローラを決定する仮想コントローラ決定手段であって、前記仮想コントローラはフリック方向に対応したプレイヤキャラクタの移動方向を定めるものである、仮想コントローラ決定手段と、
前記タッチパネルに対するフリックを検出するフリック検出手段と、
前記検出されたフリックの方向を決定するフリック方向決定手段と、
前記決定されたフリックの方向及び前記決定された仮想コントローラに基づいてプレイヤキャラクタを移動させる移動制御手段と、
の各手段を前記サーバ又は前記電子装置が備える、システム。
【請求項８】
サーバと、前記サーバにネットワークを介して接続され、タッチパネルを備え、及び当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置とを含むシステムの制御方法であって、
プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示するステップと、
ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、複数の仮想コントローラから１つの仮想コントローラを決定するステップであって、前記仮想コントローラはフリック方向に対応したプレイヤキャラクタの移動方向を定めるものである、仮想コントローラを決定するステップと、
前記タッチパネルに対するフリックを検出するステップと、
前記検出されたフリックの方向を決定するステップと、
前記決定されたフリックの方向及び前記決定された仮想コントローラに基づいてプレイヤキャラクタを移動させるステップと、
を備え、各ステップは前記サーバ又は前記電子装置により実行される制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はユーザ入力の操作性を向上させるプログラム、電子装置、システム及び方法に関する。
【背景技術】
【０００２】
近年のタッチパネル技術の向上に伴い、タッチパネル上のユーザインタフェースを介してユーザ入力を行う電子装置が広く普及してきた。そして、電子装置において実行されるゲームにおいては、従来型の物理的なコントローラによるユーザ入力に代えて、電子装置に備えられたタッチパネルを介してユーザ入力を行う形態が広く普及してきている。
【０００３】
特にスマートフォン等に代表される小型の携帯型電子装置の普及が急速に進み、このような携帯型電子装置上で実行されるゲームも数多くリリースされている。この種のゲームとしては、プレイヤがゲーム空間内でプレイヤキャラクタを移動させて、ゲーム空間内に存在する敵キャラクタとの戦闘や他のキャラクタとの会話を楽しみながら、与えられたミッションをクリアすることによって物語を進めるロールプレイングゲームなどが知られている。このような状況において、タッチパネルに表示されたキャラクタの操作方法については、様々な技術が提案されている。例えば特許文献１には、所定の場合にフリックを検出するとフリック方向にプレイヤキャラクタを移動させることが記載される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４‐８３３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、こうしたゲームをタッチパネル上の操作によりプレイする場合、家庭用テレビゲームにおける専用のコントローラを用いた場合と比較して、ゲーム空間内でのキャラクタの操作性が低くなってしまう傾向にある。例えば、フリック方向にプレイヤキャラクタを移動させる場合、プレイヤが想定しているフリック方向と電子装置が認識するフリック方向がずれることがある。このことは、プレイヤキャラクタの移動可能方向が限定されている状況において顕著となる場合がある。
【０００６】
したがって、ゲーム空間内のプレイヤキャラクタを移動させるにあたって、プレイヤによる入力の操作性を向上させることでゲームの興趣性を高めるユーザインタフェースの実現が望まれている。
【課題を解決するための手段】
【０００７】
本発明は上記の課題に鑑みてなされたものであり、以下のような特徴を有している。すなわち、本発明の一態様としてのプログラムは、タッチパネルを備え、当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置において実行されるゲームのためのプログラムであって、前記電子装置に、プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示するステップと、ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、フリック方向に対応したプレイヤキャラクタの移動方向を定める仮想コントローラを決定するステップと、前記タッチパネルに対するフリックを検出するステップと、前記検出されたフリックの方向を決定するステップと、前記決定されたフリックの方向及び仮想コントローラに基づいてプレイヤキャラクタを移動させるステップと、を実行させるプログラムである。
【０００８】
本発明の一態様として、前記仮想コントローラを決定するステップは、ゲームマップ上の前記プレイヤキャラクタの位置及び当該位置の周囲を含むサブマップを取得するステップと、前記取得されたサブマップに含まれる、前記プレイヤキャラクタに接する移動不可能領域の有無に基づいてプレイヤキャラクタの移動可能方向を決定するステップと、前記決定されたプレイヤキャラクタの移動可能方向に基づいて仮想コントローラを決定するステップと、を含む。
【０００９】
本発明の一態様として、前記仮想コントローラを決定するステップは、ゲームマップ上の前記プレイヤキャラクタの位置及び当該位置の周囲を含むサブマップを取得するステップと、前記取得されたサブマップに含まれる移動不可能領域の有無、並びに前記取得されたサブマップに移動不可能領域を含む場合、前記プレイヤキャラクタの位置から当該移動不可能領域への方向及び当該移動不可能領域までの距離に基づいてプレイヤキャラクタの移動可能方向を決定するステップと、前記決定されたプレイヤキャラクタの移動可能方向に基づいて仮想コントローラを決定するステップと、を含む。
【００１０】
本発明の一態様として、前記仮想コントローラを決定するステップは、ゲームマップ上の前記プレイヤキャラクタの位置のマップ情報を取得するステップであって、各々の位置のマップ情報は、各々の位置に接する移動不可能領域の有無に基づいて、又は各々の位置からゲームマップに含まれる移動不可能領域への方向及び当該移動不可能領域までの距離に基づいて決定されるプレイヤキャラクタの移動可能方向に対応した仮想コントローラを示す識別情報を有する、プレイヤキャラクタの位置のマップ情報を取得するステップと、前記取得されたマップ情報の識別情報に基づいて仮想コントローラを決定するステップと、を含む。
【００１１】
本発明の一態様として、前記仮想コントローラは、プレイヤキャラクタの移動可能方向が９０度以下の場合に、一部のフリック方向においてプレイヤキャラクタを移動させないように定める。
【００１２】
本発明の一態様としての電子装置は、タッチパネルを備え、当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置であって、プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示する画面表示手段と、ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、フリック方向に対応したプレイヤキャラクタの移動方向を定める仮想コントローラを決定する仮想コントローラ決定手段と、前記タッチパネルに対するフリックを検出するフリック検出手段と、前記検出されたフリックの方向を決定するフリック方向決定手段と、前記決定されたフリックの方向及び仮想コントローラに基づいてプレイヤキャラクタを移動させる移動制御手段と、を備える電子装置である。
【００１３】
本発明の一態様としてのシステムは、サーバと、前記サーバにネットワークを介して接続され、タッチパネルを備え、及び当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置とを含むシステムであって、プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示する画面表示手段と、ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、フリック方向に対応したプレイヤキャラクタの移動方向を定める仮想コントローラを決定する仮想コントローラ決定手段と、前記タッチパネルに対するフリックを検出するフリック検出手段と、前記検出されたフリックの方向を決定するフリック方向決定手段と、前記決定されたフリックの方向及び仮想コントローラに基づいてプレイヤキャラクタを移動させる移動制御手段と、の各手段を前記サーバ又は前記電子装置が備える、システムである。
【００１４】
本発明の一態様としての制御方法は、サーバと、前記サーバにネットワークを介して接続され、タッチパネルを備え、及び当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置とを含むシステムの制御方法であって、プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示するステップと、ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、フリック方向に対応したプレイヤキャラクタの移動方向を定める仮想コントローラを決定するステップと、前記タッチパネルに対するフリックを検出するステップと、前記検出されたフリックの方向を決定するステップと、前記決定されたフリックの方向及び仮想コントローラに基づいてプレイヤキャラクタを移動させるステップと、を備え、各ステップは前記サーバ又は前記電子装置により実行される制御方法である。
【発明の効果】
【００１５】
本発明は、ゲームフィールド上のプレイヤキャラクタの位置に応じて、フリック入力の角度を補正することにより、プレイヤの意図するプレイヤキャラクタの移動を実現するものである。したがって、例えばプレイヤキャラクタの移動可能方向が限定されている場合において、フリック方向が当該移動可能方向ではない方向である場合に、当該フリック方向に最も近い移動可能方向へプレイヤキャラクタを移動させることを可能にする。このようなユーザインタフェースを提供することにより、プレイヤが想定しているフリック方向と電子装置が認識するフリック方向のずれを吸収し、プレイヤに没入感を持ってプレイさせることを可能にする。
【図面の簡単な説明】
【００１６】
【図１】本発明の１つの実施形態に係る電子装置のハードウェア構成である。
【図２】本発明の１つの実施形態に係る電子装置のタッチパネルの座標軸を示す図である。
【図３】本発明の１つの実施形態に係る電子装置の機能ブロック図である。
【図４ａ】本発明の１つの実施形態に係る仮想コントローラを示す図である。
【図４ｂ】図４ａにおいて、プレイヤによる上方向へのフリックを検出した場合の動作を示す図である。
【図４ｃ】本発明の１つの実施形態に係る仮想コントローラを示す図である。
【図４ｄ】本発明の１つの実施形態に係るプレイヤキャラクタが移動不可能領域に接しているときの仮想コントローラを示す図である。
【図４ｅ】本発明の１つの実施形態に係るプレイヤキャラクタが移動不可能領域と所定距離Ｘ離れているときの仮想コントローラを示す図である。
【図４ｆ】本発明の１つの実施形態に係るプレイヤキャラクタが移動不可能領域に接しているときの仮想コントローラを示す図である。
【図４ｇ】本発明の１つの実施形態に係るプレイヤキャラクタが移動不可能領域に接しているときの仮想コントローラを示す図である。
【図４ｈ】本発明の１つの実施形態に係るプレイヤキャラクタが移動不可能領域に接しているときの仮想コントローラを示す図である。
【図４ｉ】本発明の１つの実施形態に係るＵＩデータベースが格納する仮想コントローラを示す図である。
【図４ｊ】本発明の１つの実施形態に係るサブマップを示す図である。
【図４ｋ】本発明の１つの実施形態に係るサブマップを示す図である。
【図５ａ】本発明の１つの実施形態に係る仮想コントローラを用いたプレイヤキャラクタの移動制御に関する情報処理を示すフローチャートである。
【図５ｂ】本発明の１つの実施形態に係る仮想コントローラを用いたプレイヤキャラクタの移動制御に関する情報処理を示すフローチャートである。
【図６】本発明の１つの実施形態に係るシステムの全体構成である。
【図７】本発明の１つの実施形態に係るサーバのハードウェア構成である。
【図８ａ】１つの変形実施例に係る仮想コントローラを示す図である。
【図８ｂ】１つの変形実施例に係るプレイヤキャラクタが移動不可能領域と所定距離Ｘ離れているときの仮想コントローラを示す図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照して、本発明の実施形態を説明する。本実施形態に係るゲームシステムは、ネットワークを介して複数の電子装置が接続されるシステムによって実現することができるが、一台の電子装置によっても実現することもできる。最初に一台の電子装置で実現する実施形態を説明し、その後ネットワークに接続されたシステムについて説明する。
【００１８】
また本発明の実施形態に係るゲームシステムが提供するゲームは、プレイヤにより操作されるプレイヤキャラクタをゲーム上の仮想空間であるゲームフィールド（ゲームマップ）に配置させてプレイさせるものである。例えば当該ゲームは、ロールプレイングゲームを含む。以下で詳細に記載するように、当該ゲームにおいては、プレイヤはタッチ操作によりプレイヤキャラクタを移動させる。なおプレイヤとは、ゲームの実行に際して電子装置を操作するユーザであり、電子装置により操作されるキャラクタとは、プレイヤにより操作されるキャラクタを示す。なお本明細書においては主としてゲームシステムについて説明するが、ユーザが自らの操作により画面上のキャラクタを移動させる他のシステムにおいて利用することもできる。
【００１９】
［電子装置により実現される実施形態］
図１は本発明の実施形態に係る電子装置１００のハードウェア構成を示すブロック図である。電子装置１００は処理部１０１、表示部１０２、入力部１０３、記憶部１０４、及び通信部１０５を備える。これらの各構成部はバス１０８によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【００２０】
電子装置１００は、好ましくはスマートフォンであるが、例えば、タブレット型コンピュータ、ビデオゲーム機、携帯型ビデオゲーム機、タッチパッド等の接触型入力装置を備えるコンピュータも含まれる。
【００２１】
処理部１０１は、プログラム１０６、入力部１０３からの入力データ、又は通信部１０５から受信したデータに基づいて、ゲーム処理や画像生成処理などの各種の処理を行う。処理部１０１は、電子装置１００が備える各部を制御するプロセッサを備えており、プロセッサが含むレジスタや記憶部１０４をワーク領域として各種処理を行う。
【００２２】
表示部（ディスプレイ）１０２は、処理部１０１の制御に従って、ゲームの進行やプレイヤ操作に応じたゲーム画面を表示する。好ましくは液晶ディスプレイであるが、有機ＥＬを用いたディスプレイやプラズマディスプレイ等であってもよい。
【００２３】
記憶部１０４は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラム１０６が記憶される。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。また例えば電子装置１００がスマートフォンである場合はＲＯＭ及びＲＡＭを含む。記憶部１０４には、プログラム１０６や当該プログラムの実行に伴って参照され得る各種のデータが記憶される。プログラム１０６は、オペレーティングシステム、又はビデオゲーム、ウェブブラウザ等のユーザ入力を要求するあらゆるアプリケーションのためのプログラムを含み、各種のデータには、例えばゲームに登場するオブジェクトなどの各種画像を表示するための画像データやゲーム中に記憶部１０４に書き込まれうるデータも含まれる。
【００２４】
さらに記憶部１０４は、データベース１０７を含むことができる。この場合好ましくは、データベース１０７は、ゲームマップに関する情報を格納するマップ情報データベースと、プレイヤ入力に関する複数の仮想コントローラを格納するＵＩ（ユーザインタフェース）データベースと、を含むことができる。
【００２５】
通信部１０５は、移動体通信、無線ＬＡＮ等の無線通信やイーサネット（登録商標）ケーブル、ＵＳＢケーブル等を用いた有線通信を行う。この通信部１０５によって、プログラム１０６をサーバからダウンロードして、記憶部１０４に格納することもできる。
【００２６】
入力部１０３は、タッチパネル、タッチパッド、キーボード、マウス、又はゲームコントローラ等のように使用者からの入力を受け付ける機能を有するものである。入力部１０３は、例えばタッチパネルのように、プレイヤがタッチした位置に基づいた入力を電子装置１００に与える接触型入力部であるのが好ましい。電子装置１００が入力部１０３としてタッチパネル１１０を備える場合、タッチパネル１１０は表示部１０２としても機能し、表示部１０２と入力部１０３は一体とした構造である。この場合タッチパネル１１０は、表示部１０２（入力部１０３）へのプレイヤのタッチによる入力を受け付け、プレイヤがタッチした位置に対応する座標を検出し、電子装置１００に与える。検出方式は、静電容量方式などのあらゆる方式を含みうるが、タッチパネル１１０は、２以上の点を同時にプレイヤの指などがタッチしたことを検出し、検出した位置に対応する各座標情報を電子装置１００に与えられるものであることが好ましい。表示部１０２と入力部１０３は、別の位置に配置される別個の形態であっても構わないが、本実施形態においては主に、タッチパネル１１０を備えた電子装置１００について説明する。
【００２７】
ここでタッチとは、指などがタッチパネル１１０に接触する動作や状態である。なおプレイヤによるタッチはプレイヤの指によるものとして説明するが、どの指によるタッチでもよく、又は例えばスタイラスペンのような、その他のものであってもよい。一方、リリースとは指などがタッチパネルから離れる動作や状態である。プレイヤは主にタッチパネル１１０をタッチやリリースすることにより操作する。このようなタッチ操作には、タッチ、ロングタッチ、マルチタッチ、リリース、スワイプ、タップ、ダブルタップ、ロングタップ、ドラッグ、及びフリックなどを含むことができる。例えばタップは、タッチに続いてタッチ位置を移動させずにリリースをする操作である。またフリックは、タッチに続いてタッチ位置を一方方向へ高速で変化させながらそのままリリースする操作であるが、タッチに続いてタッチ位置を変化させてそのままリリースする操作を含むこともできる。好ましくは、処理部１０１が、指などのタッチパネルへの接触、接触位置、接触時間又は接触回数に基づいてタッチ操作の種類の一部又は全部を判別する。
【００２８】
タッチパネル１１０は、第１軸及び第１軸に実質的に直交する第２軸からなる座標平面を用いて、座標により位置が指定される。好ましくは図２に示すように、第１軸は略長方形であるタッチパネル１１０の短辺と、第２軸はタッチパネル１１０の長辺と、実質的に平行であって、第１軸方向の座標軸（横軸）及び第２軸方向の座標軸（縦軸）により座標（ｘ，ｙ）として表される。処理部１０１はプログラム等を用いて、タッチパネル１１０により検出するタッチ位置を当該座標（ｘ，ｙ）データとして取得することができる。例えばタッチパネル１１０の検出精度が６４０ドット×１，１３６ドットである場合は、横軸方向に６４０ドット、縦軸方向に１，１３６ドットの分解能を有することができる。この場合のドットは１つの点であってもよいし、一定の領域（セル）であっても構わない。ただしドット間の距離は、通常タッチパネル（電子装置）毎に異なることに注意が必要である。本明細書において、特に言及が無い限り、「距離」は座標上の距離を表すものとする。なお図２に示す座標設定はこの一例であり、座標軸はプログラムにより設定することもできる。また極座標を設定することもできるし、座標変換により他の座標系を設定することもできる。なお、表示部１０２と入力部１０３が別の位置に配置される別個の形態である場合、入力部１０３には上記のように座標を設定し、表示部１０２には入力部１０３の座標に対応する座標を設定することができる。
【００２９】
図３は本発明の電子装置１００の機能ブロック図の一例を示す。電子装置１００は、タッチ検出手段３０１、画面表示手段３０２、仮想コントローラ決定手段３０３、移動制御手段３０４、記憶手段３０５、及び通信手段３０６を備える。
【００３０】
タッチ検出手段３０１は、タッチパネル１１０上へのプレイヤによるタッチ位置やタッチ操作を検出する機能を有する。タッチ検出手段３０１は、好ましくはフリックを検出するフリック検出手段と、該フリックの方向を決定（又は取得）するフリック方向決定手段とを含む。フリック検出は、当分野において知られている任意の方法で実施することができ、フリック検出と同時にフリック方向を取得することもできる。
【００３１】
以下にフリック検出方法の具体例を記載する。例えば、プレイヤによるタッチ開始位置Ｓ（ｘ，ｙ）＝（ｘ（１），ｙ（１））、及びタッチ終了位置Ｅ（ｘ，ｙ）＝（ｘ（２），ｙ（２））を検出し、変位量
0005953418.tif 000002
を以下の式に基づいて算出する。ここで変位量は絶対値ではなく、正負を含んだ値である。
0005953418.tif 000003
上記変位量の算出とともに、Ｓ（ｘ，ｙ）からＥ（ｘ，ｙ）までの経過時間Ｔを取得する。このように算出された変位量の絶対値Ｄ、及び経過時間Ｔに基づいてフリックを検出する。フリック方向の決定は、
0005953418.tif 000004
に基づいて行う。例えば、
0005953418.tif 000005
とのなす角度を、ｘ（２）−ｘ（１）及びｙ（２）−ｙ（１）の正負符号とａｔａｎ（アークタンジェント）とを用いて、又はａｔａｎ２を用いて、算出することにより、フリック方向を決定することができる。
【００３２】
画面表示手段３０２は、ゲームマップ（ゲームフィールド）上に配置されたプレイヤキャラクタを移動させるためのゲーム画面をタッチパネル１１０へ表示し、ゲームの進行やプレイヤ操作に応じたゲーム画面を表示する機能を有する。好ましくはプレイヤキャラクタをゲームマップ（ゲームフィールド）上に表示する。
【００３３】
仮想コントローラ決定手段３０３は、ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、フリック方向に対応したプレイヤキャラクタの移動方向を定めるユーザインタフェースである仮想コントローラを決定する機能を有する。そして移動制御手段３０４は、決定されたフリック方向及び仮想コントローラに基づいてプレイヤキャラクタを移動させる機能を有する。
【００３４】
記憶手段３０５は、プログラムやデータ等を記憶部１０４へ格納する機能を有し、通信手段３０６は無線通信、有線通信を行う機能を有する。記憶手段３０５は、通信手段３０６を介して、サーバ、光学ディスク等からプログラム又はデータを取得して、格納することができる。
【００３５】
電子装置１００は、プログラム１０６が実行されることによってこれらの機能が実現される。したがって、一つの手段の一部又は全部の機能を他の手段が有してもよい。なお、これらの機能の一部は電子回路等を構成することによっても実現できる。
【００３６】
ここで仮想コントローラの決定とプレイヤキャラクタの移動制御について具体的に説明する。以下に示す例示においては、電子装置１００としてスマートフォンを用い、当該スマートフォンによって実行されるゲームにおけるプレイヤキャラクタの制御について記載する。
【００３７】
１つの実施例として、タッチパネル１１０上に表示される、仮想コントローラ決定手段３０３が決定した仮想コントローラ４１０を図４ａに示す。仮想コントローラ４１０は、複数の領域に分割され、かつ領域を分割する線の交点である仮想コントローラ４１０の円の中心点（以下「中心点」という）から、図に示す矢印の方向へのフリックを検出すると、当該矢印の方向に対応する方向へプレイヤキャラクタ４０１を移動させるユーザインタフェースである。すなわち、タッチパネル１１０上へタッチが開始された位置（円の中心点）とその後に検出されたフリックの方向（円の中心点からの放射方向）とに基づいて、プレイヤキャラクタ４０１を所定の方向へ移動させるユーザインタフェースである。説明を簡単にするために、本明細書の図面は円形の仮想コントローラを表示するが、仮想コントローラの形状は円形に限定されず、多角形でもよい。図４ａに示す場合、仮想コントローラ４１０は、中心点から領域４１０ａ方向へのフリックを検出するとプレイヤキャラクタ４０１を上方向へ移動させ、中心点から領域４１０ｂ方向へのフリックを検出するとプレイヤキャラクタ４０１を右方向へ移動させ、中心点から領域４１０ｃ方向へのフリックを検出するとプレイヤキャラクタ４０１を下方向へ移動させ、及び中心点から領域４１０ｄ方向へのフリックを検出するとプレイヤキャラクタ４０１を左方向へ移動させる、ユーザインタフェースである。例えば図４ｂに示す場合、中心点から領域４１０ａ方向へのフリックを検出すると、電子装置１００はプレイヤキャラクタを上方向へ移動させる命令又は情報を受け取り、移動制御手段３０４はプレイヤキャラクタ４０１を上方向へ移動させる。
【００３８】
説明を簡単にするため、本明細書の図面は、仮想コントローラをタッチパネル１１０上に表示するものであるが、表示しない形態が好ましい。ただしタッチパネル１１０の画面上の任意の場所に表示することもできるし、又は所定の透過率で半透明にして表示することもできる。前述のとおり、仮想コントローラ４１０はユーザインタフェースであるため、タッチパネル１１０上のあらゆる場所のフリックを検出し、移動制御手段３０４は、決定されたフリック方向及び仮想コントローラに基づいてプレイヤキャラクタを移動させることができる。なお移動制御手段３０４は、フリックを検出すると、プレイヤキャラクタがゲームフィールド上で移動できなくなるまで、又はタップを検出するまで、プレイヤキャラクタを移動させ続けることができる。あるいは移動制御手段３０４は、フリックを検出すると、検出されたフリックの距離に応じたゲームフィールド上の距離だけプレイヤキャラクタを移動させることができる。
【００３９】
他の１つの例示として、タッチパネル１１０上に表示される仮想コントローラ決定手段３０３が決定した仮想コントローラ４２０を図４ｃに示す。この場合、仮想コントローラ４２０は、中心点から領域４２０ａ方向へのフリックを検出するとプレイヤキャラクタ４０１を上方向へ移動させ、中心点から領域４２０ｂ方向へのフリックを検出するとプレイヤキャラクタ４０１を右上方向へ移動させ、中心点から領域４２０ｃ方向へのフリックを検出するとプレイヤキャラクタ４０１を右方向へ移動させ、中心点から領域４２０ｄ方向へのフリックを検出するとプレイヤキャラクタ４０１を右下方向へ移動させ、中心点から領域４２０ｅ方向へのフリックを検出するとプレイヤキャラクタ４０１を下方向へ移動させ、中心点から領域４２０ｆ方向へのフリックを検出するとプレイヤキャラクタ４０１を左下方向へ移動させ、中心点から領域４２０ｇ方向へのフリックを検出するとプレイヤキャラクタ４０１を左方向へ移動させ、及び中心点から領域４２０ｈ方向へのフリックを検出するとプレイヤキャラクタ４０１を左上方向へ移動させる、ユーザインタフェースである。ただし以下の実施例において、仮想コントローラ決定手段３０３は、プレイヤキャラクタ４０１が移動不可能領域をその周囲に有さない状況においては、図４ａに示す仮想コントローラ４１０を仮想コントローラとして決定するものとする。
【００４０】
図４ｄは、プレイヤキャラクタ４０１が移動不可能領域４０２に接している様子を示し、このとき仮想コントローラ決定手段３０３が決定した仮想コントローラ４３０を示す。本発明の実施形態に係るゲームシステムが提供するゲームは、プレイヤキャラクタ４０１をゲーム上の仮想空間であるゲームマップに配置させてプレイさせるものであるが、図４ｄに示すようにゲームマップはプレイヤキャラクタ４０１が侵入できない移動不可能領域４０２を含むものである。例えば図４ｄにおいて、プレイヤはプレイヤキャラクタを右方向へ移動させることができない。このようにプレイヤキャラクタが右方向へ移動できないことに対応して、仮想コントローラ決定手段３０３は、プレイヤキャラクタを右方向へ移動させる領域を含まない仮想コントローラ４３０を決定する。
【００４１】
この場合、仮想コントローラ４３０は、中心点から領域４３０ａ方向へのフリックを検出するとプレイヤキャラクタ４０１を左方向へ移動させ、中心点から領域４３０ｂ方向へのフリックを検出するとプレイヤキャラクタ４０１を上方向へ移動させ、及び中心点から領域４３０ｃ方向へのフリックを検出するとプレイヤキャラクタ４０１を下方向へ移動させる、ユーザインタフェースである。このような仮想コントローラを決定することにより、例えばプレイヤが上方向にプレイヤキャラクタ４０１を移動させたい場合において右上方向にフリックした場合、プレイヤキャラクタ４０１を上方向に移動させることができる。これは例えば、プレイヤキャラクタ４０１を右方向に移動させた後、速やかにプレイヤキャラクタ４０１を上方向に移動させたい場合などにおいてプレイヤに没入感を持ってプレイさせることを可能にする。なお図４ｄに示す仮想コントローラは、領域４１０ｄが領域４３０ａに対応し、領域４１０ａ及び領域４１０ｂの上半分の領域が領域４３０ｂに対応し、領域４１０ｃ及び領域４１０ｂの下半分の領域が領域４３０ｃに対応するユーザインタフェースであるのが好ましい。
【００４２】
説明を簡単にするため、主として本明細書の図面においては、プレイヤキャラクタ４０１が移動不可能領域４０２に接して初めて当該方向へのプレイヤキャラクタ４０１の移動を不可能とする仮想コントローラを、仮想コントローラ決定手段３０３が決定する実施形態について説明する。当該実施形態においては、仮想コントローラ決定手段３０３は、プレイヤキャラクタが移動不可能領域と接しない限り、図４ａに示すような仮想コントローラを決定する。しかしながら仮想コントローラ決定手段３０３は、ゲームマップ上のプレイヤキャラクタの位置と移動不可能領域とに基づいて仮想コントローラを決定するものである。したがって、図４ｅに示すようにプレイヤキャラクタ４０１がゲームマップ内の移動不可能領域４０２と所定距離Ｘ離れた位置よりも移動不可能領域に近い領域に侵入できないように、仮想コントローラを決定することもできる。なおここでの距離は、ゲームマップ上の距離である。また上述のプレイヤキャラクタ４０１と移動不可能領域４０２との位置関係の判定は、当分野において周知の技術である当たり判定処理などにより実行される。
【００４３】
他の１つの例示として、図４ｆは、プレイヤキャラクタ４０１が移動不可能領域４０２に接している様子を示し、このとき仮想コントローラ決定手段３０３が決定した仮想コントローラ４４０を示す。この場合、仮想コントローラ４４０は、中心点から領域４４０ａ方向へのフリックを検出するとプレイヤキャラクタ４０１を上方向へ移動させ、及び中心点から領域４４０ｂ方向へのフリックを検出するとプレイヤキャラクタ４０１を下方向へ移動させる、ユーザインタフェースである。
【００４４】
他の１つの例示として、図４ｇは、プレイヤキャラクタ４０１が移動不可能領域４０２に接している様子を示し、このとき仮想コントローラ決定手段３０３が決定した仮想コントローラ４５０を示す。この場合、仮想コントローラ４５０は、中心点から領域４５０ａ方向へのフリックを検出するとプレイヤキャラクタ４０１を左方向へ移動させ、中心点から領域４５０ｂ方向へのフリックを検出するとプレイヤキャラクタ４０１を下方向へ移動させるが、中心点から領域４５０ｃ方向へのフリックを検出してもプレイヤキャラクタ４０１を移動させない、ユーザインタフェースである。すなわち、中心点から領域４５０ｃ方向へのフリックについてはプレイヤキャラクタを移動させないように定める、仮想コントローラである。
【００４５】
一方、図４ｈは、無効領域を定めない場合に仮想コントローラ決定手段３０３が決定した仮想コントローラを示す。この場合、仮想コントローラ４６０は、中心点から領域４６０ａ方向へのフリックを検出するとプレイヤキャラクタ４０１を左方向へ移動させ、及び中心点から領域４６０ｂ方向へのフリックを検出するとプレイヤキャラクタ４０１を下方向へ移動させる、ユーザインタフェースである。しかしながら仮想コントローラ４６０は、例えば中心点から右上方向へのフリックを検出した場合には、プレイヤキャラクタ４０１を左又は下方向へ移動させるものである。このような移動制御、すなわちプレイヤがフリックした方向と９０度以上ずれた方向へプレイヤキャラクタ４０１を移動させる制御は、プレイヤの直感的な操作に反するものでありえ、プレイヤに没入感を持ってプレイさせることを妨げるおそれがある。仮想コントローラ４５０が、中心点から領域４５０ｃ方向へのフリックについてプレイヤキャラクタを移動させないように定めたのはこのためである。したがって、仮想コントローラ４５０の方が仮想コントローラ４６０よりも好ましい。さらにプレイヤの操作性の観点から、図４ｇに示すように、プレイヤキャラクタの移動可能方向が９０度以下の場合には、このような無効領域を有する仮想コントローラを決定するのが好ましい。なお仮想コントローラ４５０を決定した場合、中心点から領域４５０ｃ方向へのフリックについては、プレイヤキャラクタの移動以外の他の制御として利用することもできる。
【００４６】
以上の実施例に示すとおり、仮想コントローラ決定手段３０３は、画面表示手段３０２がプレイヤの操作によりプレイヤキャラクタをゲームマップ上で移動させることができる画面を表示する場合に、プレイヤキャラクタの位置に対応する仮想コントローラを決定する。仮想コントローラの決定は、プレイヤキャラクタが移動したタイミングで決定してもよいし、フレームレート等に対応させて一定時間毎に（例えば１／３０秒、１／６０秒毎に）決定してもよい。ここで図４ｉは、１つの実施形態に係るＵＩデータベースが格納する仮想コントローラを示す。仮想コントローラ決定手段３０３は、プレイヤキャラクタの現在位置における移動可能方向を含む情報を用いてＵＩデータベースに照会することにより、プレイヤキャラクタの移動可能方向に対応した仮想コントローラを決定することができる。
【００４７】
仮想コントローラ決定における１つの実施形態として、仮想コントローラ決定手段３０３は、サブマップ取得手段、及び移動可能方向決定手段を含むことができる。この場合、サブマップ取得手段は、マップ情報データベースからプレイヤキャラクタの現在位置に対応するサブマップを取得する。図４ｊ及び図４ｋはサブマップ４０３の１つの実施形態を示す。サブマップ４０３は、プレイヤキャラクタの位置、及び当該位置の周囲を含む。当該位置の周囲は、例えばプレイヤキャラクタ４０１の位置から上下左右に所定距離離れた外縁に含まれる領域である。サブマップの取得は、プレイヤキャラクタが移動したタイミングで取得してもよいし、フレームレート等に対応させて一定時間毎に取得してもよい。
【００４８】
移動可能方向決定手段は、取得されたサブマップに含まれる移動不可能領域の有無を判断し、プレイヤキャラクタの移動可能方向を決定する。１つの実施例においては、取得されたサブマップに含まれる、プレイヤキャラクタに接する移動不可能領域の有無に基づいて、移動可能方向を決定する。好ましくはプレイヤキャラクタが移動不可能領域に接していない方向を移動可能方向として決定する。当該実施例においては、サブマップ４０３は、プレイヤキャラクタ４０１に接する領域を含んでいればよいため、図４ｊに示すように比較的小さい領域とすることができる。
【００４９】
他の１つの実施例においては、取得されたサブマップ内に移動不可能領域が無いと判断された場合、全方向がプレイヤキャラクタの移動可能方向であると決定し、取得されたサブマップ内に移動不可能領域が有ると判断された場合、プレイヤキャラクタの位置から移動不可能領域への方向（位置関係）及びプレイヤキャラクタの位置から移動不可能領域までの距離に基づいてプレイヤキャラクタの移動可能方向を決定する。なおここでの距離は、ゲームマップ上の距離である。例えばプレイヤキャラクタがサブマップ内の移動不可能領域と所定距離Ｘ離れた位置より移動不可能領域に近い領域に侵入できないように仮想コントローラを定める場合において、図４ｋに示すようにプレイヤキャラクタ４０１の位置が移動不可能領域４０２から所定距離Ｘ離れた位置にある場合、当該移動不可能領域４０２のある方向へプレイヤキャラクタ４０１は移動できないものと判断して移動可能方向を決定する。なおこの場合においては、例えば所定距離Ｘを最も小さい値に設定した場合は、プレイヤキャラクタ４０１が移動不可能領域４０２に接して初めて当該方向へのプレイヤキャラクタ４０１の移動を不可能であると判断するため、結果的にプレイヤキャラクタに接する移動不可能領域の有無に基づいて移動可能方向を決定する場合と同じように、移動可能方向を決定することとなる。
【００５０】
仮想コントローラ決定手段３０３は、プレイヤキャラクタの移動可能方向が決定されると、当該移動可能方向を含む情報を用いてＵＩデータベースに照会することにより、プレイヤキャラクタの移動可能方向に対応した仮想コントローラを決定することができる。
【００５１】
仮想コントローラ決定における他の１つの実施形態として、仮想コントローラ決定手段３０３は、マップ情報取得手段を含むことができる。この場合、マップ情報データベースが格納する各々の位置のマップ情報は、ゲームマップ上の各々の位置に接する移動不可能領域の有無に基づいて、又はゲームマップ上の各々の位置から移動不可能領域への方向及びゲームマップ上の各々の位置から移動不可能領域までの距離に基づいて決定されるプレイヤキャラクタの移動可能方向に対応した仮想コントローラを示す識別情報を有するものである。なおここでの距離は、ゲームマップ上の距離である。このような識別情報は、ゲームマップ作成時にマップ情報の中に含ませてもよいし、ゲームマップ作成後にマップ情報データベースが管理するマップ情報に関連付けてもよい。いずれの場合も、マップ情報取得手段は、プレイヤキャラクタが位置するマップ情報を取得し、それにより当該位置のマップ情報が有する又は関連付けられる識別情報を取得することができる。仮想コントローラ決定手段３０３は、取得された識別情報を用いてＵＩデータベースに照会することにより、識別情報に対応する仮想コントローラを決定することができる。
【００５２】
例えば、図４ｉに示す仮想コントローラをＵＩデータベースが格納する場合、識別情報は以下のようにマップ情報に付加する。（１）プレイヤキャラクタの移動可能方向がすべての方向であるマップ位置のマップ情報には仮想コントローラ４１０を示す識別情報（例えば４１０など）を付加し、（２）プレイヤキャラクタの移動可能方向が、右、左、下、又は上方向のいずれか一方向以外のすべての方向であるマップ位置のマップ情報には、仮想コントローラ４３０、仮想コントローラ４３１、仮想コントローラ４３２、又は仮想コントローラ４３３を示す識別情報を付加し、（３）プレイヤキャラクタの移動可能方向が上下方向又は左右方向のみであるマップ位置のマップ情報には、仮想コントローラ４４０又は仮想コントローラ４４１を示す識別情報を付加し、（４）プレイヤキャラクタの移動可能方向が、左及び下方向、右及び下方向、左及び上方向、又は右及び上方向であるマップ位置のマップ情報には、仮想コントローラ４５０、仮想コントローラ４５１、仮想コントローラ４５２、又は仮想コントローラ４５３を示す識別情報を付加する。このようにプレイヤキャラクタの移動可能方向に対応する仮想コントローラを予めマップ情報に含ませておく又は関連付けておくことで、マップ情報から取得した識別情報に基づいて仮想コントローラを決定することができる。
【００５３】
図５ａは、本発明の１つの実施形態に係る仮想コントローラを用いたプレイヤキャラクタの移動制御に関する情報処理を示すフローチャートである。ステップ５０１において、プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面をタッチパネルに表示しているかを判定する。表示していない場合、本フローは終了となるが、表示している場合はステップ５０２へ進み、プレイヤキャラクタのゲームマップ上の位置Ｐ（ｘ，ｙ）を取得する。なお位置を表すＰ（ｘ，ｙ）は１つの例示であって、２次元のゲームマップ上の一意に定まるポイントをｘｙ座標により表したものである。タッチパネルの座標とは異なることに注意されたい。
【００５４】
続いてステップ５０３においてサブマップ取得手段が、Ｐ（ｘ，ｙ）周辺のサブマップＳｕｂＭａｐ（ｘ，ｙ）をマップ情報データベースから取得し、ステップ５０４において移動可能方向決定手段が、取得されたＳｕｂＭａｐ（ｘ，ｙ）に基づいてプレイヤキャラクタの移動可能方向を決定する。プレイヤキャラクタの移動可能方向が決定されると、ステップ５０５において仮想コントローラ決定手段３０３は、当該移動可能方向を含む情報を用いてＵＩデータベースに照会することにより、プレイヤキャラクタの移動可能方向に対応した仮想コントローラを決定する。
【００５５】
続いてステップ５０６においてプレイヤによるフリックの検出有無を判定する。フリックを検出しない場合、ステップ５０１へ戻る。フリックを検出した場合はステップ５０７において、検出されたフリックの方向を取得（決定）する。続いてステップ５０８において、取得されたフリック方向及び決定された仮想コントローラに基づいて、プレイヤキャラクタを移動させる。
【００５６】
本フローチャートは、フレームレート等に対応させて一定時間毎に（例えば１／３０秒、１／６０秒毎に）仮想コントローラを決定するが、プレイヤキャラクタが移動したタイミングで決定するようにフローチャートを変更することも可能である。
【００５７】
なお本フローチャートは、例えばゲームプログラムのメインループの一部として実行されるか、又はステップ５０１の判定によりメインループからの呼び出しにより実行されるものである。またフリックの検出を行うタッチイベント処理は、本フローチャートとは別のスレッドで処理され、フリック入力の有無及びフリック方向の取得を本フローチャートのステップ５０６及びステップ５０７へ返すことで実現されるのが好ましい。
【００５８】
図５ｂは、本発明の他の１つの実施形態に係る仮想コントローラを用いたプレイヤキャラクタの移動制御に関する情報処理を示すフローチャートである。図５ｂに示すフローチャートは、ステップ５０１〜５０２及びステップ５０６〜ステップ５０８については、図５ａに示すフローチャートと同じであるため、主に相違点を説明する。
【００５９】
ステップ５０９においてマップ情報取得手段が、Ｐ（ｘ，ｙ）のマップ情報Ｍａｐ（ｘ，ｙ）をマップ情報データベースから取得し、Ｍａｐ（ｘ，ｙ）に含まれる又は関連付けられた識別情報を取得する。続いてステップ５１０において仮想コントローラ決定手段３０３は、取得された識別情報を用いてＵＩデータベースに照会することにより、識別情報に対応する仮想コントローラを決定する。
【００６０】
［システムにより実現される実施形態］
図６は本発明の１つの実施形態に係るシステムの全体構成の一例を示す。システム６００は、１以上の電子装置１００と、サーバ７００とを含んで構成される。これらはネットワーク６１０によって互いに接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。また複数の電子装置のうちの１つをサーバとしても機能させる場合、システム６００はサーバを含まない構成とすることもできる。
【００６１】
またシステム６００は、電子装置１００やサーバ７００が備えうるデータベースとは別に、データベース６２０を含むこともできる。システム６００がデータベース６２０を含む場合、データベース６２０は各種データベースを格納し、電子装置１００又はサーバ７００はデータベース６２０に照会することで、所望のデータを取得することができる。以下では主としてサーバ７００内のデータベースの使用を想定しているが、ネットワークに直接接続されたデータベース６２０を使用した場合においても同様である。なお電子装置１００のハードウェア構成は図１に示すとおりである。
【００６２】
図７は本発明の実施形態に係るサーバ７００のハードウェア構成を示すブロック図である。サーバ７００は、処理部７０１、表示部７０２、入力部７０３、記憶部７０４及び通信部７０５を備える。これらの各構成部はバス７０８によって接続されるが、それぞれが必要に応じて個別に接続される形態であってもかまわない。
【００６３】
処理部７０１は、サーバ７００が備える各部を制御するプロセッサを備えており、記憶部７０４をワーク領域として各種処理を行う。表示部７０２は使用者に情報を表示する機能を有する。入力部７０３はキーボードやマウス等のように使用者からの入力を受け付ける機能を有するものである。
【００６４】
記憶部７０４は、ハードディスク、メインメモリ、及びバッファメモリを含む。ハードディスクにはプログラム７０６が記憶される。ただしハードディスクは、情報を格納できるものであればいかなる不揮発性ストレージ又は不揮発性メモリであってもよく、着脱可能なものであっても構わない。記憶部７０４には、プログラム７０６や当該プログラムの実行に伴って参照され得る各種のデータが記憶される。さらに記憶部７０４は、データベース７０７を含むことができる。この場合データベース７０７は、マップ情報データベースと、ＵＩデータベースと、を含むことができる。
【００６５】
通信部７０５はイーサネット（登録商標）ケーブル等を用いた有線通信や移動体通信、無線ＬＡＮ等の無線通信を行い、ネットワーク１０１へ接続する。
【００６６】
サーバ７００は、プログラム７０６が実行されることによって様々な機能が実現されるが、これらの機能の一部は電子回路等を構成することによっても実現できる。
【００６７】
上記の構成により、システム６００は、図３に示す各機能と同等の機能を有することができる。これらはプログラム１０６を電子装置１００に実行させ、かつプログラム７０６をサーバ７００に実行させることで実現される。すなわちこの場合、電子装置１００及びサーバ７００の少なくとも一方が図３に示す各種機能を備える。このように各種機能がプログラム読み込みにより実現される場合は、当然ながら１つの手段の一部の機能を他の手段が有していてもよい。
【００６８】
例えばシステム６００の１つの実施形態としては、電子装置１００が図３に示す各機能を有し、サーバ７００が図３に示す記憶手段及び通信手段の機能を有するとともに、記憶部７０４にマップ情報データベース及びＵＩデータベースを含むデータベース７０７を有する。この場合、電子装置１００の仮想コントローラ決定手段がデータベース７０７へ問い合わせを行いデータ取得する際に、電子装置１００とサーバ７００はデータ通信を行う。また例えばシステム６００の他の１つの実施形態としては、サーバ７００が図３に示す仮想コントローラ決定手段及び移動制御手段を有するとともに、記憶部７０４にマップ情報データベース及びＵＩデータベースを含むデータベース７０７を有する。この場合、電子装置１００から送信されるプレイヤキャラクタの位置情報に基づいてサーバ７００は仮想コントローラを決定し、電子装置１００から送信されるフリック及びフリック方向に応答してプレイヤキャラクタの移動制御を行う。電子装置１００は、サーバ７００から受信したデータに基づいてゲーム画面を表示する。
【００６９】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。また以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。例えば、以下のような変形実施例とすることもできる。
【００７０】
［他の変形実施例］
１つの変形実施例として、仮想コントローラ決定手段３０３が決定した仮想コントローラ８１０を図８ａに示す。図８aにおいては、タッチパネル１１０に対するプレイヤのフリック操作の有無とは関係なく仮想コントローラ８１０に対応する画像がタッチパネル１１０に表示される。また、図８ａは図４ａと同じように見えるが、図４ａの仮想コントローラ４１０が、タッチパネル１１０上において検出されたフリックの方向に基づいてプレイヤキャラクタ４０１を所定の方向へ移動させるユーザインタフェースであるのに対して、図８ａの仮想コントローラ８１０は、タッチパネル１１０上において検出されたフリックの開始位置及び終了位置に基づいて、プレイヤキャラクタ４０１を所定の方向へ移動させるユーザインタフェースである。したがって、仮想コントローラ４１０が、タッチ開始位置を方向選択の中心点としたユーザインタフェースであるのに対して、仮想コントローラ８１０は、タッチ開始位置が必ずしも方向選択の中心点でなくともよいユーザインタフェースであるということができる。
【００７１】
例えば、図８ａに示す場合、仮想コントローラ８１０は、検出されたフリックの開始位置と終了位置が、領域８１０ａ内である場合はプレイヤキャラクタ４０１を上方向へ移動させ、領域８１０ｂ内である場合はプレイヤキャラクタ４０１を右方向へ移動させ、領域８１０ｃ内である場合はプレイヤキャラクタ４０１を下方向へ移動させ、及び領域８１０ｄ内である場合はプレイヤキャラクタ４０１を左方向へ移動させる、ユーザインタフェースである。しかし、検出されたフリックの開始位置及び終了位置が、領域８１０ａ、領域８１０ｂ、領域８１０ｃ、又は領域８１０ｄのいずれか１つの同一の領域内にない場合、例えばプレイヤキャラクタを移動させないように定める、ユーザインタフェースである。
【００７２】
ただし変形実施例の仮想コントローラ８１０は、タッチパネル１１０の画面上の任意の場所に配置することができる。なお、仮想コントローラ８１０は、所定の透過率で半透明にして表示することもできる。
【００７３】
他の１つの変形実施例として、仮想コントローラ決定手段３０３が決定した仮想コントローラ８２０を図８ｂに示す。図８ｂにおいては、タッチパネル１１０に対するプレイヤのフリック操作の有無とは関係なく仮想コントローラ８２０に対応する画像がタッチパネル１１０に表示される。また、図に示すとおり、プレイヤキャラクタ４０１はゲームマップ内の移動不可能領域４０２と所定距離Ｘ離れている状態にある。この場合、仮想コントローラ８２０は、４つの領域の重みづけが異なっており、これらの領域の分岐点が円の中心点ではない。また、図８ｂは、検出されたフリックの開始位置と終了位置が、領域８２０ａ内である場合はプレイヤキャラクタ４０１を上方向へ移動させ、領域８２０ｂ内である場合はプレイヤキャラクタ４０１を右方向へ移動させ、領域８２０ｃ内である場合はプレイヤキャラクタ４０１を下方向へ移動させ、及び領域８２０ｄ内である場合はプレイヤキャラクタ４０１を左方向へ移動させる、ユーザインタフェースである。しかし、検出されたフリックの開始位置及び終了位置が、領域８２０ａ、領域８２０ｂ、領域８２０ｃ、又は領域８２０ｄのいずれか１つの同一の領域内にない場合、例えばプレイヤキャラクタを移動させないように定める、ユーザインタフェースである。ここで領域８２０ｂは、他の領域と比較して小さいため、プレイヤが右方向へ移動操作する際は、プレイヤは比較的慎重に操作する必要がある。また、仮想コントローラ８２０に対応する画像がフリック前に表示されているので、そして領域８２０ｂが比較的小さいことから、プレイヤは領域８２０ｂに対応する方向へプレイヤキャラクタを移動させ難いことをフリック前に認識することができる。
【００７４】
例えば、プレイヤキャラクタが所定距離Ｘ離れた位置より移動不可能領域に近い領域に進行しづらいように仮想コントローラを定める場合において、図８ｂに示すようにプレイヤキャラクタ４０１の位置が移動不可能領域４０２から所定距離Ｘ離れた位置にある場合、当該移動不可能領域４０２のある右方向へプレイヤキャラクタ４０１が移動しづらい仮想コントローラ８２０を、仮想コントローラ決定手段３０３は決定することができる。
【符号の説明】
【００７５】
１００  電子装置
１０１、７０１  処理部
１０２、７０２  表示部
１０３、７０３  入力部
１０４、７０４  記憶部
１０５、７０５  通信部
１０６、７０６  プログラム
１０７、７０７  データベース
１０８、７０８  バス
１１０  タッチパネル
３０１  タッチ検出手段
３０２  画面表示手段
３０３  仮想コントローラ決定手段
３０４  移動制御手段
３０５  記憶手段
３０６  通信手段
４０１  プレイヤキャラクタ
４０２  移動不可能領域
４０３  サブマップ
４１０、４２０、４３０、４３１、４３２、４３３、４４０、４４１、４５０、４５１、４５２、４５３、８１０、８２０  仮想コントローラ
４１０ａ、４１０ｂ、４１０ｃ、４１０ｄ、４２０ａ、４２０ｂ、４２０ｃ、４２０ｄ、４２０ｅ、４２０ｆ、４２０ｇ、４２０ｈ、４３０ａ、４３０ｂ、４３０ｃ、４４０ａ、４４０ｂ、４５０ａ、４５０ｂ、４５０ｃ、４６０ａ、４６０ｂ、８１０ａ、８１０ｂ、８１０ｃ、８１０ｄ、８２０ａ、８２０ｂ、８２０ｃ、８２０ｄ  領域
６００  システム
６１０  ネットワーク
６２０  データベース
７００  サーバ
【要約】
【課題】プレイヤによる入力の操作性を向上させることでゲームの興趣性を高めるＵＩの実現が望まれている。
【解決手段】本発明はタッチパネルを備え、当該タッチパネルに対するフリックを含むタッチ操作を受け付ける電子装置において実行されるゲームのためのプログラムであって、電子装置に、プレイヤの操作によりゲームマップ上に配置されたプレイヤキャラクタを移動させるための画面を表示するステップと、ゲームマップ上のプレイヤキャラクタの位置とゲームマップ上のプレイヤキャラクタが侵入できない移動不可能領域とに基づいて、フリック方向に対応したプレイヤキャラクタの移動方向を定める仮想コントローラを決定するステップと、タッチパネルに対するフリックを検出するステップと、検出されたフリックの方向を決定するステップと、決定されたフリックの方向及び仮想コントローラに基づいてプレイヤキャラクタを移動させるステップと、を実行させる。
【選択図】図１【図１】
0005953418.tif 000006
【図２】
0005953418.tif 000007
【図３】
0005953418.tif 000008
【図４ａ】
0005953418.tif 000009
【図４ｂ】
0005953418.tif 000010
【図４ｃ】
0005953418.tif 000011
【図４ｄ】
0005953418.tif 000012
【図４ｅ】
0005953418.tif 000013
【図４ｆ】
0005953418.tif 000014
【図４ｇ】
0005953418.tif 000015
【図４ｈ】
0005953418.tif 000016
【図４ｉ】
0005953418.tif 000017
【図４ｊ】
0005953418.tif 000018
【図４ｋ】
0005953418.tif 000019
【図５ａ】
0005953418.tif 000020
【図５ｂ】
0005953418.tif 000021
【図６】
0005953418.tif 000022
【図７】
0005953418.tif 000023
【図８ａ】
0005953418.tif 000024
【図８ｂ】
0005953418.tif 000025