(57)【要約】【課題】指示位置の移動方向の変化に応じて基準点を変更することができるので、プレーヤの操作感覚にマッチした入力方向判定を行うこと。【解決手段】本プログラムは、基準点と指示位置により入力方向を判定する入力方向判定部１１３と、基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部１１２と、してコンピュータを機能させる。【選択図】図１８
2013127683.tif 000002
【特許請求の範囲】
【請求項１】
指示位置に基づいて入力方向を判定する処理を行うプログラムであって、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、してコンピュータを機能させるプログラム。
【請求項２】
請求項１において、
入力方向に基づき、移動制御を行う移動制御部と、してさらにコンピュータを機能させるプログラム。
【請求項３】
請求項１又は２において、
前記基準点変更処理部は、
過去の指示位置に基づき変更後の基準点の位置を決定するプログラム。
【請求項４】
請求項２又は２に従属する３において、
オブジェクトの表示制御を行う表示制御部をさらに含み、
前記移動制御部は、
入力方向に基づき、表示されるオブジェクトの移動制御を行うプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記指示位置として、表示部に対する接触位置の情報を取得するプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
所定の入力情報に基づき、設定されている基準点をリセットする基準点リセット処理部と、してさらにコンピュータを機能させるプログラム。
【請求項７】
請求項５に従属する６において、
前記基準点リセット処理部は、
表示部の所定の領域に対応する領域をリセットエリアとして設定し、
表示部に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
所定の入力情報に基づき現在設定されている入力モードを変更する入力モード変更処理部と、してさらにコンピュータを機能させ、
前記入力方向判定部は、
第１の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めるプログラム。
【請求項９】
請求項２又は２に従属する３乃至８のいずれかにおいて、
前記移動制御部は、
接触位置の情報に基づき対象オブジェクトを変更し、入力方向に基づき変更後の対象オブジェクトの移動制御を行うプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記基準点変更処理部は、
第１のタイミング又それ以前の複数のタイミングの接触位置に基づき、第１の方向を決定するプログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記基準点変更処理部は、
第２のタイミング以前の３つ以上のタイミングの接触位置に基づき、第２の方向を決定するプログラム。
【請求項１２】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜１１のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１３】
指示位置に基づいて入力方向を判定する処理を行う端末であって、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含む端末。
【請求項１４】
端末に対する指示位置に基づいて入力方向を判定する処理を行うサーバであって、
ネットワークを介して端末から指示位置に関する情報を受信する通信制御部と、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含むサーバ。
【請求項１５】
ネットワークを介して接続された端末とサーバとを含み、前記端末に対する指示位置に基づいて入力方向を判定する処理を行うネットワークシステムであって、
端末の指示位置に関する情報を取得する取得部と、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含むネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、端末、サーバ及びネットワークシステムに関する。
【背景技術】
【０００２】
従来からジョイスティックをコントローラとして用い、ジョイスティックのレバーをプレーヤが前後左右に倒すことによってその方向に応じた入力が行われるゲームが知られている。かかるゲームでは、ジョイスティックを倒した方向とその倒し具合とが、それぞれ入力方向および入力量として処理される。そして、プレーヤがジョイスティックのレバーをある方向にある量だけ倒してその位置で保持している場合、その位置情報が継続的に出力されて入力方向および入力量として処理される。
【０００３】
最近ではタッチパネルを備えるゲーム装置でジョイスティックを模した操作を実現するゲームが開発されている。係るゲームでは、タッチパネルのタッチ位置から、ジョイスティックの入力値に相当するＸＹ２軸のベクトル値を得ることになる。このベクトル値の方向がジョイスティックを倒している方向であり、このベクトル値の長さがジョイスティックの倒し具合となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３７３４８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に開示された発明は、タッチパネルが押圧されていない状態から押圧している状態に変化した場合に押圧時の位置に基づき基準点を設定し、その後押圧状態が継続している場合には基準点を変更しないように制御するものである。
【０００６】
しかしタッチパネルが押圧されている間は基準点の位置が固定されてしまうと、プレーヤの入力感覚とのずれが生じる可能性がある。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、本発明の幾つかの態様によれば、指示位置の移動方向の変化に応じて基準点を変更することができるので、プレーヤの操作感覚にマッチした入力方向判定を行うプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムを提供することができる。
【課題を解決するための手段】
【０００８】
（１）本発明は、
指示位置に基づいて入力方向を判定する処理を行うプログラムであって、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、してコンピュータを機能させるプログラムに関する。
【０００９】
また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関する。
【００１０】
また本発明は、
端末に対する指示位置に基づいて入力方向を判定する処理を行うサーバであって、
ネットワークを介して端末から指示位置に関する情報を受信する通信制御部と、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含むサーバに関する。
【００１１】
また本発明は、
ネットワークを介して接続された端末とサーバとを含み、前記端末に対する指示位置に基づいて入力方向を判定する処理を行うネットワークシステムであって、
端末の指示位置に関する情報を取得する取得部と、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含むネットワークシステムに関する。
【００１２】
指示位置は２次元座標で与えられてもよいし、３次元座標で与えられてもよい。例えばタッチパネル等の接触位置（２次元座標）を指示位置として取得してもよい。またポインタの空間的な位置の変化を検出可能な場合には、空間的な位置（３次元座標）を指示位置として取得してもよい。
【００１３】
基準点は入力により決定される場合でもよいし、予め与えられた位置に設定される構成でもよい。例えば接触していない状態から接触している状態に変化する時に接触した点を基準点として設定してもよい。また表示部の所定の位置を基準点として設定してもよい。
【００１４】
第１の方向は、基準点と第１のタイミング又はそれ以前の指示位置を結ぶ線分の方向でもよい。また第２の方向は、第１のタイミングの指示位置又はそれ以前の指示位置と第１のタイミングより後の第２のタイミングの指示位置結ぶ線分の方向でもよい。
【００１５】
また前記基準点変更処理部は、前回又は所定フレーム前の入力方向である第１の方向と前回又は所定フレーム前の指示位置と今回の指示位置を結ぶ第２の方向に基づき基準点変更条件を満たすか否か判断して、基準点を変更してもよい。
【００１６】
このようにすれば、指示位置の移動方向の変化に応じて基準点を変更することができるので、プレーヤの操作感覚にマッチした入力方向判定を行うことができる。さらにタッチパネルが押圧されている間であっても、指示位置の変化に基づき基準点を変化させることができる。
【００１７】
（２）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
入力方向に基づき、移動制御を行う移動制御部と、してさらにコンピュータを機能させてもよい。
【００１８】
移動制御の対象は２次元平面のオブジェクトでもよいし、３次元空間のオブジェクトでもよい。また移動制御の対象は表示オブジェクトでもよいし、非表示オブジェクト（例えば仮想カメラや１人称視点におけるプレーヤオブジェクト等）でもよい。
【００１９】
この様にすれば指示位置の移動方向の変化に応じて基準点を変更することができるので、プレーヤの操作感覚にマッチした移動制御を行うことができる。
【００２０】
（３）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記基準点変更処理部は、
過去の指示位置に基づき変更後の基準点の位置を決定してもよい。
【００２１】
前記基準点変更処理部は、
基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミング又はそれ以前の指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度に基づき基準点を変更する場合には、第１のタイミングの指示位置に基づき基準点の位置を決定してもよい。
【００２２】
（４）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
オブジェクトの表示制御を行う表示制御部をさらに含み、
前記移動制御部は、
入力方向に基づき、表示されるオブジェクトの移動制御を行ってもよい。
【００２３】
表示制御の対象は２次元オブジェクト（例えば２次元ゲームのオブジェクトでもよいし、表示部に表示されるアイコン等でもよい）でもよいし、３次元オブジェクト（例えば３次元空間内のオブジェクト）でもよい。
【００２４】
例えば、オブジェクト空間を仮想カメラから見た画像を生成する画像生成手段をさらに含み、前記移動制御部は、入力方向に基づき、オブジェクト空間におけるオブジェクトの移動制御を行い、前記表示制御部は、オブジェクト空間を仮想カメラから見た画像を表示部に表示し、仮想カメラを前記オブジェクトに追従させる制御を行うようにしてもよい。
【００２５】
（５）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記指示位置として、表示部に対する接触位置の情報を取得してもよい。
【００２６】
表示部は接触位置の検出機能を有する部材、例えばタッチパネル等で構成してもよい。
【００２７】
（６）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
所定の入力情報に基づき、設定されている基準点をリセットする基準点リセット処理部としてさらにコンピュータを機能させてもよい。
【００２８】
所定の入力情報とは、例えば操作部の所定のボタン等が押されたことを示す入力情報でもよいし、装置に加わる加速度や角加速度の検出結果が所定の状態であることを示す入力情報でもよい。
【００２９】
（７）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記基準点リセット処理部は、
表示部の所定の領域に対応する領域をリセットエリアとして設定し、
表示部に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットしてもよい。
【００３０】
基準点がリセットされた場合には、次の新たな接触位置を基準点に設定してもよい。また基準点がリセットされた場合には、基準点がリセットされたことを伝えるメッセージを出力して、新たな基準点の設定を促すようにしてもよい。
【００３１】
（８）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
所定の入力情報に基づき現在設定されている入力モードを変更する入力モード変更処理部としてさらにコンピュータを機能させ、
前記入力方向判定部は、
第１の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めてもよい。
【００３２】
所定の入力情報とは、例えば所定のボタンが押されたことを示す入力情報でもよいし、装置に加わる加速度や角加速度の検出結果が所定の状態であることを示す入力情報でもよい。
【００３３】
（９）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記移動制御部は、
接触位置の情報に基づき対象オブジェクトを変更し、入力方向に基づき変更後の対象オブジェクトの移動制御を行ってもよい。
【００３４】
（１０）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記基準点変更処理部は、
第１のタイミング又それ以前の複数のタイミングの接触位置に基づき、第１の方向を決定してもよい。
【００３５】
第１のタイミング以前の複数のタイミングの接触位置により決定される複数の入力方向に基づき第１の方向を決定してもよい。例えば複数の入力方向を所定の割合で加重平均して得られた方向を第１の方向としてもよい。この様にすると、接触位置の移動状況をより精度よく反映させた入力判定を行うことができる。
【００３６】
（１１）このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記基準点変更処理部は、
第２のタイミング以前の３つ以上のタイミングの接触位置に基づき、第２の方向を決定してもよい。
【００３７】
第２のタイミング以前の３つ以上のタイミングの接触位置を結ぶ複数の線分の方向に基づき第２の方向を決定してもよい。例えば複数の線分の方向を所定の割合で加重平均して得られた方向を第２の方向としてもよい。この様にすると、接触位置の移動状況をより精度よく反映させた入力判定を行うことができる。
【図面の簡単な説明】
【００３８】
【図１】本実施形態の端末の機能ブロック図の一例。
【図２】図２（Ａ）、（Ｂ）は、本実施形態の端末の一例。
【図３】本実施形態の端末の一例。
【図４】タッチパネルによるジョイスティックを模した入力操作について説明するための図。
【図５】図５（Ａ）〜（Ｃ）は、ジョイスティックを模した入力操作による移動制御の比較例について説明するための図。
【図６】図６（Ａ）〜（Ｃ）は、図５（Ａ）〜（Ｃ）の比較例の入力操作に対応したオブジェクトの移動制御例。
【図７】図７（Ａ）〜（Ｃ）は、本実施の形態におけるジョイスティックを模した入力操作による移動制御例。
【図８】図８（Ａ）〜（Ｃ）は、図７（Ａ）〜（Ｃ）の入力操作に対応したオブジェクトの移動制御例。
【図９】図９（Ａ）〜（Ｃ）は、本実施の形態の入力判定手法について説明するための図。
【図１０】図１０（Ａ）〜（Ｃ）は、基準点変更時のオブジェクトの移動制御例。
【図１１】図１１（Ａ）（Ｂ）は、本実施の形態における移動制御例について説明するための図。
【図１２】オブジェクト空間を仮想カメラから見た画像。
【図１３】リセットエリアによる基準点のリセット制御について説明するための図。
【図１４】リセットエリアによる基準点のリセット制御について説明するための図。
【図１５】図１５（Ａ）（Ｂ）は、移動制御の対象オブジェクトの切替制御について説明するための図。
【図１６】図１６（Ａ）（Ｂ）は、移動制御の対象オブジェクトの切替制御について説明するための図。
【図１７】本実施の形態の入力判定処理の流れを示すフローチャート。
【図１８】本実施の形態の入力方向判定処理の流れを示すフローチャート。
【図１９】ネットワークシステムの説明図。
【図２０】ネットワークシステムの説明図。
【図２１】ネットワークシステムの説明図。
【図２２】サーバの構成図。
【図２３】図２３（Ａ）〜（Ｃ）は、比較例の操作例について説明するための図。
【図２４】図２４（Ａ）〜（Ｃ）は基準点リセットについて説明するための図。
【図２５】図２５（Ａ）〜（Ｃ）は、本実施の形態における移動制御例について説明するための図。
【図２６】本実施の形態の入力判定手法について説明するための図。
【発明を実施するための形態】
【００３９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４０】
１．構成
まず、図１を用いて本実施形態における端末装置１０の構成について説明する。端末装置１０は、例えば、携帯電話、スマートフォン、携帯端末装置、ゲーム装置、携帯型ゲーム装置、画像生成装置などである。図１は、本実施形態における端末装置１０の機能ブロック図の一例である。なお、本実施形態の端末装置は、図１の構成要素（各部）の一部を省略した構成としてもよい。
【００４１】
撮像部１５０は、撮像部１６２は、被写体を撮像するものであり、ＣＣＤやＣＭＯＳセンサなどの撮像素子や、レンズ等の光学系により実現できる。
【００４２】
入力部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、タッチパネル、タッチパネル型ディスプレイ、マウス、トラックボールなどにより実現できる。つまり、入力部１６０は、２次元の指示位置座標（ｘ，ｙ）を検出可能な検出部１６２を備えている。例えば、入力部１６０は、接触検出領域（タッチパネル）における、２次元の接触位置座標（ｘ，ｙ）を検出可能な検出部１６２を備えている。
【００４３】
つまり、接触位置（接触位置座標、指示位置の一例）は、プレーヤの接触操作により、接触検出領域から得られる位置情報である。接触検出領域に同時に複数の接触位置が検出される場合には、いずれか１つの接触位置（先に検出された接触位置）を用いるようにしてもよい。
【００４４】
特に、本実施形態では、図２（Ａ）（Ｂ）に示す表示画面（ディスプレイ）１２や図３に示す表示画面１２１０が、液晶ディスプレイと、プレーヤ（操作者、ユーザ）の接触位置を検出するためのタッチパネルとが積層されたタッチパネル型ディスプレイとなっている。従って、本実施形態では、表示画面が入力部１６０として機能するとともに表示部１９０としても機能する。なお、表示画面１２への接触操作は、指先を用いて行うようにしてもよいし、タッチペンなどの入力機器を用いて行うようにしてもよい。また入力部１６０を、操作部の操作子（ボール）の操作方向（回転方向）を変化させるものとして機能してもよい。
【００４５】
なお、入力部１６０は、指示位置以外の操作情報（操作信号）を入力可能なボタンやレバー、キーボード、ステアリング、マイク、加速度センサなどを備えていてもよい。
【００４６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、ワーク領域として使用される主記憶部１７１と、最終的な表示画像等が記憶される画像バッファ１７２とを含む。なお、これらの一部を省略する構成としてもよい。
【００４７】
特に本実施形態の記憶部１７０では、取得部１１１において取得された接触位置、及び、基準点の座標等を主記憶部１７１に記憶することができる。
【００４８】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００４９】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。特に本実施形態では表示部１９０であるディスプレイ１２は、タッチパネルディスプレイを用いることによりプレーヤがゲーム操作を行う入力部１６０としても機能する。ここでタッチパネルとして、例えば抵抗膜方式（４線式、５線式）、静電容量方式、電磁誘導方式、超音波表面弾性波方式、赤外線走査方式などのタッチパネルを用いることができる。
【００５０】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５１】
通信部１９６は、外部（例えばホスト装置や他の端末装置）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５２】
なお、端末装置１０は、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して端末装置１０を機能させる場合も本発明の範囲内に含めることができる。
【００５３】
処理部１００（プロセッサ）は、入力部１６０からの入力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、プレーヤオブジェクト、敵オブジェクトなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００５４】
特に、本実施形態の処理部１００は、オブジェクト空間設定部１１０と、取得部１１１と、基準点変更処理部１１２と、入力方向判定部１１３と、移動制御部１１４と、ゲーム処理部１１５と、表示制御部１１６と、画像生成部１２０と、通信制御部１２１、音処理部１３０とを含む。なお、これらの一部を省略する構成としてもよい。
【００５５】
オブジェクト空間設定部１１０は、オブジェクト（プレーヤオブジェクト、移動体、敵オブジェクト）、移動経路、建物、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（スプライト、ビルボード、ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。具体的にはオブジェクト空間設定部１１０は、オブジェクト（モデルオブジェクト）の位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ）或いは（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ軸回りでの回転角度）或いは（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００５６】
ここで、オブジェクト空間とは、いわゆる仮想２次元空間、仮想３次元空間の両方を含む。２次元空間とは、例えば２次元座標（Ｘ，Ｙ）においてオブジェクトが配置される空間であり、３次元空間とは、例えば３次元座標（Ｘ，Ｙ，Ｚ）においてオブジェクトが配置される空間である。
【００５７】
そしてオブジェクト空間を２次元空間とした場合には、複数のオブジェクトそれぞれについて設定された優先順位に基づいてオブジェクトを配置する。例えば、奥側にあるように見せたいオブジェクト（スプライト）から順にオブジェクトを配置し、手前側にあるように見せたいオブジェクトを重ねて配置する処理を行うことができる。
【００５８】
また、描画サイズが大きなオブジェクトを画像の下方に配置し、描画サイズが小さなオブジェクトを画像の上方に配置すれば、画面の上方に対応するオブジェクト空間が奥側にあるように見せることができ、画面の下方に対応するオブジェクト空間が手前側にあるように見せることができる。
【００５９】
またオブジェクト空間を３次元空間とした場合には、ワールド座標系にオブジェクトを配置し、所与の視点から見える画像であって、奥行きがあるように見える画像を生成する。この場合画像生成部が、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置や視線方向を制御する処理）を行う。
【００６０】
例えば仮想カメラによりオブジェクト（例えば、キャラクタ、ボール、車）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動制御部１１４で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させる制御や、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００６１】
取得部１１１は、プレーヤが入力部１６０から入力した入力情報の認識処理を行う。具体的には、本実施形態の取得部１１１は、入力部１６０によって入力された指示位置を取得する。
【００６２】
例えば、取得部１１１は、プレーヤの接触操作（タッチ操作）を検出する接触検出領域（タッチパネル）における接触位置（２次元の接触位置座標）を指示位置として取得する。つまり、取得部１１１は、プレーヤが指でタッチパネルにタッチし、そのまま指を移動して最後にタッチパネルから離す操作を行う期間に相当する接触操作期間中（スライド操作期間中）における接触位置を取得する。
【００６３】
また、入力情報は、マウスなどによって指示された２次元の位置座標としてもよい。かかる場合には、取得部１１１は、プレーヤがマウスのボタンを押し、そのままの状態でマウスを移動（ドラッグ）させて、マウスのボタンを離すまでの期間中における、マウスが指示した位置座標を取得してもよい。
【００６４】
また、取得部１１１は、所定の周期毎に入力された指示位置を取得する。例えば、所定の周期とは１／６０秒、１／３０秒、１／１０秒とすることができる。つまり、周期が１／３０秒である場合には、１／３０秒毎に指示位置を取得する。また、取得部１１１は、描画フレームレートと同じ周期で指示位置を取得してもよい。
【００６５】
入力方向判定部１１３は、基準点と指示位置により入力方向を判定し、基準点変更処理部１１２は、基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミングの指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する処理を行う。
【００６６】
移動制御部１１４は、入力方向に基づき、移動制御を行う。
【００６７】
基準点変更処理部１１２は、過去の指示位置に基づき変更後の基準点の位置を決定してもよい。
【００６８】
表示制御部１１６は、オブジェクトの表示制御を行い、移動制御部１１４は、入力方向に基づき、表示されるオブジェクトの移動制御を行ってもよい。
【００６９】
取得部１１１は、前記指示位置として、表示部に対する接触位置の情報を取得してもよい。
【００７０】
基準点リセット処理部１１７は、所定の入力情報に基づき、設定されている基準点をリセットしてもよい。
【００７１】
また基準点リセット処理部１１７は、表示部の所定の領域に対応する領域をリセットエリアとして設定し、表示部に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットしてもよい。
【００７２】
入力モード変更処理１１８は、所定の入力情報に基づき現在設定されている入力モードを変更する処理をおこない、入力方向判定部１１３は、第１の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めてもよい。
【００７３】
移動制御部１１４は、接触位置の情報に基づき対象オブジェクトを変更し、入力方向に基づき変更後の対象オブジェクトの移動制御を行ってもよい。移動制御部１１４は、オブジェクト（キャラクタオブジェクト、移動体オブジェクト等）の移動演算を行う。即ち、この移動制御部１１４は、入力部１６０によりプレーヤが入力した入力データ又はプログラム（移動アルゴリズム）や各種データ（モーションデータ）などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作（モーション、アニメーション）を制御するための処理を行う。
【００７４】
具体的には、本実施形態の移動制御部１１４は、オブジェクトの移動情報（移動方向、移動量、移動速度、位置、回転角度、或いは加速度）や動作情報（各パーツオブジェクトの位置、或いは回転角度）を、１フレーム（例えば１／６０秒）毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動処理、動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【００７５】
本実施形態の移動制御部１１４は、入力方向判定部１１３において判定された入力方向に基づいて、オブジェクトを移動させる処理を行う。つまり、入力方向判定部１１３において判定された入力方向に対応する方向を移動方向とし、当該移動方向にオブジェクトを移動させる処理を行う。例えば、入力方向が右である場合には、画面の右方向（ｘ軸プラス方向）にオブジェクトを移動させる処理を行う。また、入力方向が下方向である場合には、画面の下方向（ｙ軸マイナス方向）にオブジェクトを移動させ、また、入力方向が左方向である場合には、画面の左方向（ｘ軸マイナス方向）にオブジェクトを移動させ、また、入力方向が上方向である場合には、画面の上方向（ｙ軸プラス方向）にオブジェクトを移動させる。
【００７６】
なお、移動制御部１１４は、３次元のオブジェクト空間において入力方向に基づいてオブジェクトを移動させる処理を行ってもよい。例えば、予め、入力方向毎に移動方向を対応づけ、入力方向に対応する移動方向にオブジェクトを移動させる。
【００７７】
ゲーム処理部１１５は、種々のゲーム演算処理を行う。
【００７８】
表示制御部１１６は、プレーヤオブジェクト、敵オブジェクトなどを含むゲーム画像を表示させる処理等を行う。
【００７９】
通信制御部１２１は、端末（例えば第１の端末）が他の端末（例えば第２の端末）又はサーバ２０とネットワークを介して相互にデータを送受信する処理を行うようにしてもよい。
【００８０】
なお、本実施形態の端末１０では、通信制御で必要となるネットワーク情報をサーバから取得し、管理する処理等を行うようにしてもよい。例えば、端末は、各端末に個別に付与される端末の識別情報（オンラインゲームに参加できる端末を識別するために個別に付与されたデータ、ＩＤ）と、端末の識別情報に対応づけられたパケットの送信先を指定する宛先情報（ＩＰアドレスなど）とを取得し、管理する処理を行うようにしてもよい。
【００８１】
通信制御部１２１は、他の端末（第２の端末）又はサーバ２０に送信するパケットを生成する処理、パケット送信先の端末のＩＰアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部１７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
【００８２】
また、通信制御部１２１は、複数の端末間、又はサーバ２０においての接続（第１の端末と第２の端末との接続）が確立されてから接続が切断されるまで、データを所定周期（例えば、１秒周期で）互いに送受信する処理を行う。ここで、端末間で送受信されるデータは、入力部の入力情報としてもよいし、各端末の操作対象のオブジェクト（キャラクタ、移動体）の位置情報、移動情報としてもよい。
【００８３】
また、本実施形態の通信制御部１２１は、他の端末（第２の端末）又はサーバ２０から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを記憶部に記憶する処理を行う。
【００８４】
なお、複数の端末で構成されるネットワークシステムの場合は、複数の端末間でデータの送受信を行いながらオンラインゲームを実行するピア・ツー・ピア（いわゆるＰ２Ｐ）方式としてもよいし、サーバ２０を介して各端末がデータ（情報）の送受信を行いながらオンラインゲームを実行するクライアント・サーバ方式によるものであってもよい。また、本実施形態のネットワークシステムでは、有線通信のみならず無線通信でデータを送受信してもよい。
【００８５】
また、通信制御部１２１は、サーバ２０に、端末１０の入力部からの入力情報（加速度値）を送信する処理を行うようにしてもよい。
【００８６】
なお、通信制御部１２１は、ゲーム端末１０の表示部１９０に表示させるための種々の画像を受信してもよい。
【００８７】
画像生成部１２０は処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部（ディスプレイ）１９０に出力する。画像生成部１２０が生成する画像は、いわゆる２次元画像であってもよいし、いわゆる３次元画像であってもよい。
【００８８】
ここで２次元画像を生成する場合には、画像生成部１２０は、設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画する。
【００８９】
また、３次元画像を生成する場合には、本実施形態の画像生成部１２０は、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００９０】
また、頂点処理では、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（フラグメント処理）が行われる。
【００９１】
ピクセル処理では、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ１７２（フレームバッファ、ピクセル単位で画像情報を記憶できるバッファ、ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【００９２】
これにより、オブジェクト空間内に設定された仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００９３】
なお、画像生成部１２０が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００９４】
そして、画像生成部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００９５】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度
データ）、法線ベクトル、或いはα値等）を記憶部１７０に記憶する。
【００９６】
テクスチャマッピングでは、記憶部１７０のテクスチャ記憶部に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出し、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００９７】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布（テクセルパターン）を動的に変化させることができる。
【００９８】
また、この場合において、色分布（ピクセルパターン）が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【００９９】
隠面消去処理では、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファに格納されるＺ値を参照するとともに、当該参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファのＺ値を新たなＺ値に更新する。
【０１００】
αブレンディング（α合成）では、画像生成部１２０は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【０１０１】
音処理部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【０１０２】
なお、本実施形態の端末装置は、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【０１０３】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末装置を用いて分散処理により生成してもよい。
【０１０４】
２．本実施形態の処理の手法
２−１．端末の例
本実施形態では、端末装置１０を用いて、オブジェクト空間（ゲーム空間）に存在するオブジェクトを移動させるゲーム処理に関するものである。例えば、端末装置１０は、図２（Ａ）（Ｂ）に示すような携帯電話（スマートフォン）とすることができる。プレーヤは、表示領域でもある接触検出領域を備えたディスプレイ（タッチパネル型ディスプレイ）１２に指を接触させて入力方向を指示することができる。
【０１０５】
また例えば、端末装置１０は図３に示すような携帯型ゲーム装置１２００でもよい。携帯型ゲーム装置１２００は、生成された画像を表示する表示部１２１０と、操作入力が行われる操作部（スライドパッド１２３２、十字キー１２３４、ボタン１２３０、セレクトボタン等１２４２）とが携帯型ゲーム装置に一体的に形成されている。
【０１０６】
また携帯型ゲーム装置１２００は、操作者が音入力（音声入力）を行うための音入力装置（マイク）が設けられていてもよい。
【０１０７】
また、表示部１２１０は、液晶ディスプレイとタッチパネルとを積層して構成し、表示領域に対する接触操作位置を検出できるようにしてもよい。
【０１０８】
また携帯型ゲーム装置１２００は加速度、角速度、速度などの物理量を検出するセンサを内蔵することで、携帯型ゲーム装置１２００の動き、姿勢、向き等を検出してもよい。なおセンサには、加速度センサ（圧電型や動電式、歪みケージ式等）や姿勢方位センサやジャイロなどを用いることができる。
【０１０９】
２−２．タッチパネルによるジョイスティックを模した入力操作の例
ここでは、指示位置に基づいて入力方向を判定する例を、タッチパネルの接触位置を指示位置とする場合（２次元的に指示位置を与える場合）を例にとり説明する。
【０１１０】
図４は、タッチパネルによるジョイスティックを模した入力操作について説明するための図である。
【０１１１】
ジョイスティックを模した入力操作は、ジョイスティックを倒した方向とその倒し具合とを、それぞれ入力方向および入力量として処理する。そして、プレーヤがジョイスティックのレバーをある方向にある量だけ倒してその位置で保持している場合、その位置情報が継続的に出力されて入力方向および入力量として処理する。
【０１１２】
タッチパネルでジョイスティックを模した操作を実現する場合、タッチパネルの接触位置から、ジョイスティックの入力値（入力方向および入力量）に相当するＸＹ２軸のベクトル値（表示画面をＸ軸とＹ軸の2次元平面とした場合）を得ることになる。このベクトル値の方向がジョイスティックを倒している方向であり、このベクトル値の長さがジョイスティックの倒し具合となる。
【０１１３】
例えば図４（Ａ）に示すように、タッチパネル（ここでは表示部）への時刻（フレーム）ｔ０、・・ｔｎ、ｔｎ＋１、ｔｎ＋２のタッチ位置がＰ０、・・Ｐｎ、Ｐｎ＋１、Ｐｎ＋２であった場合、時刻ｔｎにおける入力ベクトルＶｎは、基準点ＫＰを始点とし、時刻ｔｎにおける接触位置Ｐｎを終点とするベクトルとしてもよい。
【０１１４】
ここで基準点ＫＰは、予め与えられている点（例えば表示部上の所定の位置を基準点として設定しておく場合）でもよいし、接触位置により決定される点でもよい。ここでは、時刻（フレーム）ｔ０におけるタッチ位置（タッチパネルがタッチされていない状態において、最初にタッチされた位置）を基準点として設定する場合について説明する。
【０１１５】
係る場合、時刻（フレーム）ｔｎ、ｔｎ＋１、ｔｎ＋２における入力ベクトル（入力方向の一例）は、それぞれＶｎ、Ｖｎ＋１、Ｖｎ＋２となる。
【０１１６】
入力ベクトルをもちいて、表示部に表示されるオブジェクト（例えばアイコンでもよいし、ゲーム画像におけるオブジェクトでもよい）の移動制御を行うようにしてもよい。
【０１１７】
例えば、時刻（フレーム）ｔｎにおいて取得した入力ベクトル（入力方向の一例）を、時刻ｔｎ＋１においてオブジェクトに作用させるようにしてもよい。
【０１１８】
２−３．本実施の形態の手法
図９（Ａ）〜（Ｃ）、図２６は、本実施の形態の入力判定手法について説明するための図である。
【０１１９】
図９（Ａ）は、第１のタイミング（ｔｎ）における基準点ＫＰ１と接触位置Ｐｎ、第２のタイミング（ｔｎ＋１）における基準点ＫＰ１と接触位置Ｐｎ＋１の位置関係を示している。例えば接触していない状態から接触している状態に変化する場合に接触した点を基準点ＫＰ１として設定してもよい。また表示部の所定の位置やデフォルト位置を基準点ＫＰ１として設定してもよい。
【０１２０】
本実施の形態では、例えば基準点ＫＰ１と第１のタイミング（ｔｎ）の接触位置（指示位置の一例、ここではＰｎ）により得られる第１の方向（入力方向）（Ｖｎ）と、第１のタイミング（ｔｎ）の接触位置（ここではＰｎ）と第１のタイミング（ｔｎ）より後の第２のタイミング（ｔｎ＋１）の接触位置（Ｐｎ＋１）により得られる第２の方向（ＩＶｎ）のなす角度θ（図９（Ｂ）参照）に基づき基準点を変更するか否か判断して、基準点を変更してもよい。
【０１２１】
また図２６に示すように基準点ＫＰ１と第１のタイミング（ｔｎ）以前の時刻ｔｎ−１の接触位置（指示位置の一例、Ｐｎ―１）により得られる第１の方向（入力方向）（Ｖｎ−１）と、第１のタイミング（ｔｎ）接触位置（ここではＰｎ）と第１のタイミング（ｔｎ）より後の第２のタイミング（ｔｎ＋１）の接触位置（Ｐｎ＋１）により得られる第２の方向（ＩＶｎ）のなす角度θに基づき基準点を変更するか否か判断してもよい。
【０１２２】
また基準点ＫＰ１を時刻ｔ０における接触点Ｐ０であるとすると、複数のタイミング（ここではｔ０、ｔｎ、ｔｎ＋１）における接触位置（Ｐ０、Ｐｎ、Ｐｎ＋１）を結ぶ結線（Ｖｎ、ＩＶｎ）の方向のなす角度θ（図９（Ｂ参照）に基づき基準点を変更するか否か判断して、基準点を変更してもよい。
【０１２３】
基準点の変更位置は、第１のタイミング（ｔｎ）の接触位置Ｐｎに基づき決定してもよい。例えば第１のタイミングｔｎにおける接触位置Ｐｎに変更する場合には、時刻ｔｎ＋１における基準点はＰｎとなる。
【０１２４】
図９（Ｂ）は、基準点変更条件について説明するための図である。
【０１２５】
基準点ＫＰ１と第１のタイミング（ｔｎ）又はそれ以前の接触位置（指示位置の一例、ここではＰｎ）により得られる第１の方向（入力方向）（Ｖｎ）と、第１のタイミング（ｔｎ）又はそれ以前の接触位置（ここではＰｎ）と第１のタイミング（ｔｎ）より後の第２のタイミング（ｔｎ＋１）の接触位置（Ｐｎ＋１）により得られる第２の方向（ＩＶｎ）のなす角度θが基準点変更条件を満たしている場合に基準点を変更してもよい。例えばα＜θ＜β又はθはα以上、β以下（例えばα＝５０°、β＝２１０°）の場合に基準点変更条件を満たすと判断してもよい。
【０１２６】
基準点が変更になるタイミングは、第２のタイミング（ｔｎ＋１）でもよい。このようにすると、第２のタイミング（ｔｎ＋１）における入力ベクトルＶ’ｎ＋１は、図９（Ｃ）に示すように、変更後の基準点ＫＰ２（Ｐｎ）を始点とし、第２のタイミング（ｔｎ＋１）の接触位置（Ｐｎ＋１）を終点とするベクトルＩＶｎとなる。
【０１２７】
図１０（Ａ）〜（Ｃ）は、基準点変更時のオブジェクトの移動制御例（ここでは２次元的な移動制御の例）である。
【０１２８】
例えば時刻ｔｎにおける表示部上に表示されているオブジェクトＯＢの位置がＬｎであり、時刻ｔｎにおける入力ベクトルがＶｎであったとすると、時刻ｔｎ＋１におけるオブジェクトＯＢの位置Ｌｎ＋１は、時刻ｔｎにおけるオブジェクトの位置Ｌｎに入力ベクトルＶ１を作用させた位置Ｌｎ＋１である。従って表示画面上でオブジェクトＯＢをＬｎからＬｎ＋１に移動させる制御が行われる。
【０１２９】
次に時刻ｔｎ＋２におけるオブジェクトＯＢの位置Ｌｎ＋２は、時刻ｔｎ＋１におけるオブジェクトＯＢの位置Ｌｎ＋１に入力ベクトルＶ’ｎ＋１を作用させた位置Ｌｎ＋２である。従って表示画面上でオブジェクトＯＢをＬｎ＋１からＬｎ＋２に移動させる制御が行われる。
【０１３０】
なおオブジェクトＯＢの移動制御を行う際に、表示画面上のオブジェクトが接触される必要はない。移動制御の対象となるオブジェクトＯＢが選択された状態であれば、画面上の任意の位置（対象オブジェクトにタッチする必要はない）で接触位置をスライドさせることにより得られる入力ベクトルを用いて、対象オブジェクトの移動制御を行うことができる。
【０１３１】
２−４．比較例に対する有意な効果
図５（Ａ）〜（Ｃ）は、ジョイスティックを模した入力操作による移動制御の比較例について説明するための図である。
【０１３２】
図５（Ａ）に示すように、タッチパネル（ここでは表示部１９０）への時刻（フレーム）ｔ０、ｔ１、ｔ２のタッチ位置がＰ０、Ｐ１、Ｐ２であり、基準点がＰ０である場合について説明する。このような場合図５（Ｂ）に示すように時刻（フレーム）ｔ１における入力ベクトル（入力方向の一例）はＶ１（始点が基準点であるＰ０、終点がＰ１のベクトル）になる。また図５（Ｃ）に示すように、時刻（フレーム）ｔ２における入力ベクトルはＶ２（始点が基準点であるＰ０、終点がＰ２のベクトル）となる。
【０１３３】
図６（Ａ）〜（Ｃ）は、図５（Ａ）〜（Ｃ）の比較例の入力操作に対応したオブジェクトの移動制御例（ここでは２次元的な移動制御の例）である。
【０１３４】
例えば時刻ｔ１における表示部上に表示されているオブジェクトＯＢの位置がＬ１であり、時刻ｔ１における入力ベクトルがＶ１であったとすると、時刻ｔ２におけるオブジェクトＯＢの位置Ｌ２は、時刻ｔ１におけるオブジェクトの位置Ｌ１に入力ベクトルＶ１を作用させた位置Ｌ２である。従って表示画面上でオブジェクトＯＢをＬ１からＬ２に移動させる制御が行われる。
【０１３５】
次に時刻ｔ３におけるオブジェクトＯＢの位置Ｌ３は、時刻ｔ２におけるオブジェクトＯＢの位置Ｌ２に入力ベクトルＶ２を作用させた位置Ｌ３である。従って表示画面上でオブジェクトＯＢをＬ２からＬ３に移動させる制御が行われる。
【０１３６】
しかし、タッチパネル上の接触位置がＰ１からＰ２に変化した場合とは、プレーヤがＰ１からＰ２に接触位置を戻す操作を行った場合であるため、プレーヤ自身は、オブジェクトＯＢを時刻ｔ１の場合とは逆方向に動かしたいと思っている可能性も高い。このような場合には、プレーヤの操作感覚とオブジェクトの移動制御にずれが生じる可能性がある。
【０１３７】
図２３（Ａ）〜（Ｃ）は、比較例においてオブジェクトＯＢを時刻ｔ１の場合とは逆方向に動かしたい場合の操作例（タッチ位置）について説明するための図である。係る場合には時刻ｔ１における入力ベクトルＶ１（図２３（Ｂ）参照）と、時刻ｔ２における入力ベクトルＶ２（図２３（Ｃ）参照）が逆方向になる必要がある。しかし、指を接触させたままこれを実現する場合には、Ｐ１をタッチした後、基準点であるＰ０を通り越してＰ２までタッチ位置をスライドさせることが必要になる。しかしＰ０からＰ１までの移動距離よりＰ１からＰ２までの移動距離が長いにも関わらず、Ｖ２ベクトルの大きさ＜Ｖ１ベクトルの大きさとなる。すなわちタッチ位置の移動距離と入力ベクトルとして判定される大きさが逆であるため、プレーヤに違和感を与える可能性がある。また表示部に領域にはかぎりがあるため、基準点（ここでは時刻ｔ０の接触位置Ｐ０）が画面の端にある場合、反対方向への移動は制限され、意図する大きさの入力を行うことができないという問題点もある。
【０１３８】
図７（Ａ）〜（Ｃ）は、本実施の形態におけるジョイスティックを模した入力操作による移動制御例について説明するための図である。
【０１３９】
図７（Ａ）に示すように、タッチパネル（ここでは表示部１９０）への時刻（フレーム）ｔ０、ｔ１、ｔ２のタッチ位置がＰ０、Ｐ１、Ｐ２であり、基準点がＰ０である場合について説明する。このような場合図７（Ｂ）に示すように時刻（フレーム）ｔ１における入力ベクトル（入力方向の一例）はＶ１（始点が基準点であるＰ０、終点がＰ１のベクトル）になる。
【０１４０】
しかし本実施の形態では、タッチパネル上の接触位置がＰ１からＰ２に変化した場合（プレーヤはＰ１からＰ２に接触位置を戻す操作を行った場合）、基準点変更条件を満たすと判断して、基準点をＰ０からＰ１に変更する。すると時刻ｔ２における入力ベクトルＶ’２は、図７（Ｃ）に示すように、始点が変更後の基準点であるＰ１、終点がＰ２のベクトルとなる。
【０１４１】
図８（Ａ）〜（Ｃ）は、図７（Ａ）〜（Ｃ）の入力操作に対応したオブジェクトの移動制御例（ここでは２次元的な移動制御の例）である。
【０１４２】
例えば時刻ｔ１における表示部上に表示されているオブジェクトＯＢの位置がＬ１であり、時刻ｔ１における入力ベクトルがＶ１であったとすると、時刻ｔ２におけるオブジェクトＯＢの位置Ｌ２は、時刻ｔ１におけるオブジェクトの位置Ｌ１に入力ベクトルＶ１を作用させた位置Ｌ２である。従って表示画面上でオブジェクトＯＢをＬ１からＬ２に移動させる制御が行われる。
【０１４３】
次に時刻ｔ３におけるオブジェクトＯＢの位置Ｌ’３は、時刻ｔ２におけるオブジェクトＯＢの位置Ｌ２に基準点変更後の入力ベクトルＶ’２を作用させた位置Ｌ’３である。従って表示画面上でオブジェクトＯＢをＬ２からＬ’３に移動させる制御が行われる。
【０１４４】
タッチパネル上の接触位置がＰ１からＰ２に変化した場合とは、プレーヤがＰ１からＰ２に接触位置を戻す操作を行った場合であるため、図８（Ｃ）に示すように、オブジェクトＯＢを前回とは逆方向に動かすことでプレーヤの操作感覚とずれが少なくなる。
【０１４５】
２−５．本実施の形態の移動制御
先に述べた手法により得られた入力ベクトル（入力方向の一例）に基づき、移動制御を行ってもよい。移動制御の対象は２次元平面にオブジェクトでもよいし、３次元空間のオブジェクトでもよい。また移動制御の対象は表示オブジェクトでもよいし、非表示オブジェクト（例えば仮想カメラや１人称視点におけるプレーヤオブジェクト等）でもよい。
【０１４６】
図２５（Ａ）〜（Ｃ）は、本実施の形態における移動制御例について説明するための図である。ここでは、スマートフォンやタブレット端末の表示部に表示されているアイコンオブジェクト４１０−１、４１０−２、４１０−３の移動制御を例にとり説明する。
【０１４７】
例えば時刻ｔｎにおいてスマートフォンの表示部上に表示されているアイコンオブジェクトｉＯＢ（４１０−３）の位置がＬｎであり、時刻ｔｎにおける入力ベクトルがＶｎであったとすると、時刻ｔｎ＋１におけるアイコンオブジェクトｉＯＢ（４１０−３）の位置Ｌｎ＋１は、時刻ｔｎにおけるアイコンオブジェクトｉＯＢ（４１０−３）の位置Ｌｎに入力ベクトルＶ１を作用させた位置Ｌｎ＋１である。従ってスマートフォンの表示部上でアイコンオブジェクトｉＯＢ（４１０−３）をＬｎからＬｎ＋１に移動させる制御が行われる。
【０１４８】
次に時刻ｔｎ＋２におけるアイコンオブジェクトｉＯＢ（４１０−３）の位置Ｌｎ＋２は、時刻ｔｎ＋１におけるアイコンオブジェクトｉＯＢ（４１０−３）の位置Ｌｎ＋１に入力ベクトルＶ’ｎ＋１を作用させた位置Ｌｎ＋２である。従ってスマートフォンの表示部上でアイコンオブジェクトｉＯＢ（４１０−３）をＬｎ＋１からＬｎ＋２に移動させる制御が行われる。
【０１４９】
入力ベクトルは、基準点と接触位置を結ぶベクトルであるが、基準点は、例えば表示部に接触していない状態から接触している状態に変化する場合に接触した点でもよいし、表示部の所定の位置やデフォルト位置でもよい。
【０１５０】
またアイコンオブジェクト４１０−３の移動制御を行う際に、表示画面上のアイコンオブジェクトをタッチする必要はない。移動制御の対象となるアイコンオブジェクトが選択された状態であれば、画面上の任意の位置（対象オブジェクトにタッチする必要はない）で接触位置をスライドさせることにより得られる入力ベクトルを用いて、対象オブジェクトの移動制御を行うことができる。
【０１５１】
図１１（Ａ）（Ｂ）は、本実施の形態における移動制御例について説明するための図である。
【０１５２】
図１１（Ａ）のＯＢはオブジェクト空間（仮想３次元空間）内の移動オブジェクトであり、入力ベクトルに基づき移動制御が行われるオブジェクトである。例えば時刻ｔｎにおけるオブジェクトＯＢの位置がＬｎ（ｘｎ、ｙｎ）であり、タッチパネルの接触位置に基づき図１１（Ｂ）に示すような２次元の入力ベクトルＶｎ（ｖｘｎ、ｖｙｎ）が取得された場合、時刻ｔｎ＋１のオブジェクトＯＢの位置Ｌｎ＋１（ｘｎ＋１、ｙｎ＋１）は、ｘｎ＋１＝ｘｎ＋ｖｘｎ、ｙｎ＋１＝ｙｎ＋ｖｙｎでもよい。この様な場合の２次元の入力ベクトルＶｎ（ｖｘｎ、ｖｙｎ）を、視点座標系における値として与えてもよい。
【０１５３】
図１２は、オブジェクト空間を仮想カメラから見た画像である。時刻ｔｎにおいて表示部（スクリーン座標系）のＤ１（図１１（Ａ）のオブジェクト空間のＬｎに対応する位置）に表示されていたオブジェクトは、時刻ｔｎ＋１において表示部（スクリーン座標系）のＤ２（図１１（Ａ）のオブジェクト空間のＬｎ＋１に対応する位置）に移動する。
【０１５４】
２−６．基準点のリセット制御
所定の入力情報に基づき、設定されている基準点をリセットしてもよい。
【０１５５】
例えば所定のボタンが押された場合や、端末に加わる加速度や角加速度の検出結果が所定の状態である場合に基準点をリセットしてもよい。
【０１５６】
図２４（Ａ）〜（Ｃ）は基準点リセットについて説明するための図である。
【０１５７】
図２４（Ａ）に示すように、タッチパネル（ここでは表示部１９０）への時刻（フレーム）ｔ０、ｔ１、ｔ２、ｔ３のタッチ位置がＰ０、Ｐ１、Ｐ２、Ｐ３（ここでＰ１＝Ｐ２）であり、時刻ｔ０における基準点がＰ０である場合について説明する。このような場合図２４（Ｂ）に示すように時刻（フレーム）ｔ１における入力ベクトル（入力方向の一例）はＶ１（始点が基準点であるＰ０、終点がＰ１のベクトル）になる。時刻ｔ２において、リセット入力（所定のボタンが押された場合や、端末に加わる加速度や角加速度の検出結果が所定の状態である場合）が検出されると、基準点がリセットされる（Ｐ０が基準点でなくなる）。新たな基準点は、リセット入力時の接触位置（ここではＰ１）でもよい。この場合リセット入力時の接触位置がＰ２なので、時刻ｔ２において基準点がＰ０からＰ２に変更になる。
【０１５８】
時刻ｔ３においてタッチパネル上の接触位置がＰ２からＰ３に変化した場合、時刻ｔ３における入力ベクトルＶ’３は、図２４（Ｃ）に示すように、始点が変更後の基準点であるＰ２、終点がＰ３のベクトルとなる。
【０１５９】
図１３、図１４は、リセットエリアによる基準点のリセット制御について説明するための図である。
【０１６０】
図１３に示すように表示部１９０の所定のエリア３１０（表示部の端のエリア）をリセットエリアとして設定し、 表示部１９０に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットするようにしてもよい。
【０１６１】
例えば表示部１９０（タッチパネル）への時刻（フレーム）ｔ０、ｔ１、ｔ２の接触位置がＰ０、Ｐ１、Ｐ２であり、時刻ｔ０における基準点がＰ０である場合について説明する。このような場合時刻（フレーム）ｔ２における接触位置Ｐ２はリセットエリアに属しているので、時刻ｔ２において基準点がリセットされる。すなわち、時刻（フレーム）ｔ１における基準点はＰ０であるが、時刻ｔ２では基準点はＰ０でなくなる。
【０１６２】
基準点がリセットされた場合には、次の新たな接触位置を新たな基準点に設定してもよいし、デフォルト位置を新たな基準点としてもよい。
【０１６３】
表示部の端のエリアに設定されたリセットエリアに接触してしまうのは、図１３に示すように画面中央付近から端に向けて接触位置を移動させた場合や、進行方向にそれ以上進むと画面外になるケースが多いので、一旦接触状態を解除して、新たな接触位置から再度接触操作を行うほうが操作しやすい。
【０１６４】
従って基準点がリセットされた場合には、図１４に示すような基準点がリセットされたことを伝えるメッセージ３２０を出力して、新たな基準点の設定を促すようにしてもよい。
【０１６５】
２−７．入力モード切替制御
複数の入力モードを用意して、入力モード毎に、指示位置に対する入力判定の内容を変更するようにしてもよい。
【０１６６】
例えば第１の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めるが、他の入力モードの場合には、指示位置を用いて他の入力判定処理を行うようにしてもよい。
【０１６７】
例えば第１の入力モードが、タッチパネルによるジョイスティックを模した入力操作を行う入力モードで、第１の入力モード中に所定のボタンが押された場合や、端末に加わる加速度や角加速度の検出結果が所定の状態になった場合に第１の入力モードを終了して、他の入力モードに切り替えてもよい。
【０１６８】
また例えば同時に複数の接触位置を検出可能なタッチパネルを用いて入力情報を取得している場合には、１点のタッチでジョイスティックを模した入力操作を行っているときに、２点目のタッチを検出した場合に、入力情報が所定の状態になったとして、第１の入力モードを終了して、他の入力モードに切り替えてもよい。
【０１６９】
２−８．制御対象オブジェクトの切替制御
接触位置の情報に基づき対象オブジェクトを変更し、前記入力方向に基づき変更後の対象オブジェクトの移動制御を行うようにしてもよい。
【０１７０】
図１５（Ａ）（Ｂ）、図１６（Ａ）（Ｂ）は、移動制御の対象オブジェクトの切替制御について説明するための図である。
【０１７１】
図１５（Ａ）（Ｂ）は、移動制御の対象となる対象オブジェクトが第１のオブジェクトＯＢ１から第２のオブジェクトＯＢ２に変更になる例を示している。まず第１のオブジェクトＯＢ１がタッチされ、タッチパネル上で接触位置をスライドさせる操作（タッチパネルによるジョイスティックを模した入力操作）が行われると、得られた入力ベクトルに応じて第１のオブジェクトＯＢ１がＤ１からＤ２に移動する。
【０１７２】
次に第２のオブジェクトＯＢ２がタッチされると、対象オブジェクトが第１のオブジェクトＯＢ１から第２のオブジェクトＯＢ２に変更になる。その後タッチパネル上で接触位置をスライドさせる操作（タッチパネルによるジョイスティックを模した入力操作）が行われると、入力ベクトルに応じて第２のオブジェクトＯＢ１がＤ１からＤ２に移動する。
【０１７３】
図１６（Ａ）（Ｂ）は、移動制御の対象となる対象オブジェクトが第１のオブジェクトＯＢ１から、第１のオブジェクトＯＢ１と第２のオブジェクトＯＢ２の両方に変更になる例を示している。まず第１のオブジェクトＯＢ１がタッチされ、タッチパネル上で接触位置をスライドさせる操作（タッチパネルによるジョイスティックを模した入力操作）が行われると、得られた入力ベクトルに応じて第１のオブジェクトＯＢ１がＤ１からＤ２に移動する。
【０１７４】
次に第２のオブジェクトＯＢ２がタッチされると、対象オブジェクトが第１のオブジェクトＯＢ１から第１のオブジェクトＯＢ１と第２のオブジェクトＯＢ２の両方に変更になる。その後タッチパネル上で接触位置をスライドさせる操作（タッチパネルによるジョイスティックを模した入力操作）が行われると、入力ベクトルに応じて第１のオブジェクトＯＢ１と第２のオブジェクトＯＢ２がＤ２からＤ３に移動する。
【０１７５】
３．本実施の形態の処理
図１７は、本実施の形態の入力判定処理の流れを示すフローチャートである。
【０１７６】
図１７に示す処理をフレーム毎に行う。
【０１７７】
フレーム毎に接触位置に情報を取得する（ステップＳ１０）。接触位置の情報がタッチパネルに接触していることを示していない場合には（ステップＳ２０でＮ）、接触フラグをＯＦＦにする（ステップＳ３０）。接触位置の情報がタッチパネルに接触していることを示している場合には（ステップＳ２０でＹ）、接触フラグがＯＮでない場合には（ステップＳ４０でＮ）、接触点を基準点に設定し（ステップＳ５０）、接触フラグをＯＮに設定する（ステップＳ６０）。接触フラグがＯＮである場合には（ステップＳ４０でＹ）、接触点がリセットエリアである場合（ステップＳ７０でＹ）、基準点をリセットし（ステップＳ８０）、基準点リセットメッセージを出力して、接触フラグをＯＦＦにする（ステップＳ９０）。接触点がリセットエリアでない場合（ステップＳ７０でＮ）、入力方向判定処理（ステップＳ１００）を行う。
【０１７８】
図１８は、図１７の入力方向判定処理（ステップＳ１００）の流れを示すフローチャートである。
【０１７９】
前回の接触位置と今回の接触位置とに基づき第２の方向を求める（ステップＳ１１０）。次に第２の方向と前回の入力方向（第１の方向）のなす角に基づき基準点変更条件を判断する（ステップＳ１２０）。
【０１８０】
基準点変更条件を満たす場合（ステップＳ１３０でＹ）には、基準点を前回の接触位置に変更する（ステップＳ１４０）。そして基準点と今回の接触位置に基づき入力方向を求める（ステップＳ１５０）。なお基準点を始点とし回の接触位置を終点とする入力ベクトルをもとめ、入力ベクトルの方向をジョイスティックを倒している方向（入力方向）とし、入力ベクトルの大きさをジョイスティックの倒し具合と見なして、ジョイスティックを模した入力操作による制御をおこなってもよい。
【０１８１】
４．ネットワークシステム
４−１.  オンラインゲームの処理例１
本実施形態では、複数の端末１０とネットワークを介して相互にデータの送受信を行い、対戦ゲームを実現可能としてもよい。つまり、本実施形態では、ピア・ツー・ピア方式のオンラインゲームに適用してもよい。
【０１８２】
図１９及び図２０は、本実施形態のネットワークシステムの構成を示す図である。例えば、本実施形態のネットワークシステムでは、複数の端末１０Ａ〜１０Ｃの間で無線通信を行って、各端末１０Ａ〜１０Ｃの所有者が対戦プレイや協力プレイを行うことができる。なお、本実施形態のネットワークシステムでは、複数の端末１０Ａ〜１０Ｃの間で有線通信を行ってもよい。
【０１８３】
無線通信の態様としては、図１９に示すように、各端末１０Ａ〜１０Ｃが自律分散的にネットワークを構築し、直接的にゲーム情報等を含むパケットの送受信を行うアドホックモードと、図２０に示すように、端末１０ＡがアクセスポイントＡＣＳＰ１を介し、端末１０Ｂ、１０ＣがアクセスポイントＡＣＳＰ２を介して、間接的にゲーム情報等を含むパケットの送受信を行うインフラストラクチャモードとがある。インフラストラクチャモードでは、アクセスポイントＡＣＳＰ１又はＡＳＣＰ２を介してインターネットＩｎｅｔ（公衆通信網）にアクセスすることができる。そして、各端末１０Ａ〜１０Ｃは、インターネットＩｎｅｔに接続されたサーバ２０との間でゲーム情報あるいはファームウェアのアップデート情報等を含むパケットを、アクセスポイントＡＣＳＰ１又はＡＣＳＰ２を介して送受信することができる。
【０１８４】
本実施形態のネットワークシステムは、端末１０Ａのキャラクタが、他の端末１０Ｂのキャラクタと対戦するゲーム処理を行うようにしてもよい。また、本実施形態のネットワークシステムは、複数の端末１０Ａ、１０Ｂそれぞれの操作対象のキャラクタによって構成される第１のグループと、他の複数の端末１０Ｃ他のそれぞれの操作対象のキャラクタによって構成される第２のグループとが対戦を行うゲーム処理を行うようにしてもよい。
【０１８５】
また、本実施形態では、各端末が相互にネットワークを介して移動情報等のデータに基づいて、端末のオブジェクト空間に配置される他のキャラクタ（他の端末を操作するプレーヤの操作対象のキャラクタ）を移動・動作させる。つまり、各端末１０は、ネットワークを介して、キャラクタの位置制御、移動制御などを含むデータ、アナログレバー、ボタンの入力情報、加速度値などのデータを送受信する。
【０１８６】
例えば、描画のフレームレートで（例えば、１／６０秒毎）、端末１０Ａが、端末１０Ａの操作対象のキャラクタの位置を端末１０Ｂに送信する。一方、端末１０Ｂにおいても、端末１０Ａと同じように、描画のフレームレートで端末１０Ｂの操作対象のキャラクタの位置を端末１０Ａに送信する。
【０１８７】
また、各端末は、各端末にタッチパネルに対する接触位置（指示位置の一例）に基づいて、ジョイスティックを模した入力操作による制御を行えるように構成されている。
【０１８８】
４−２.  オンラインゲームの処理例２
また、本実施形態では、クライアント・サーバ方式のオンラインゲームに適用してもよい。つまり、サーバ２０が、端末１０で行う一部の処理（例えば、処理部１００の少なくとも１つの処理）を行うようにしてもよい。図２１に示すように、サーバ２０が、ネットワーク（例えば、インターネット）を介して複数の端末１０Ａ〜１０Ｃと接続され、サーバ２０が、端末１０から入力情報を受信する。そして、サーバ２０が、受信した第１、第２、第３の入力情報に基づいて画像を生成し、生成した画像を端末１０に送信してもよい。
【０１８９】
また、サーバ２０は各端末から受信した各端末のタッチパネルに対する接触位置（指示位置の一例）に基づいて、各端末の入力判定処理を行うようにしてもよい。
【０１９０】
例えば、サーバ２０は、ソーシャル・ネットワーキング・サービス（以下、「ＳＮＳ」という。）と呼ばれる、コミュニティ型のサービスをユーザに提供するサーバとして機能してもよい。
【０１９１】
また、サーバ２０は、Ｗｅｂサーバ機能を備えていてもよい。例えば、端末１０がＷｅｂページ（ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のデータ）を閲覧可能なウェブブラウザを備えていている場合には、サーバ２０は端末１０にブラウザゲームを提供してもよい。例えば、サーバ２０は、端末１０に対して、Ｗｅｂページ（例えば、ゲームサービスを提供するためのアドレス（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を公開する。そして、サーバ２０が、端末１０から当該Ｗｅｂページのアドレスへの要求を受信した場合には、当該端末１０に対して当該Ｗｅｂページのゲームデータを送信し、端末１０から受信した入力情報に基づいてゲーム処理を行うようにしてもよい。なお、ゲームデータは、ブラウザゲーム処理で用いる各種パラメータのほか、画像データ（入れ替え画面用の画像データや、キャラクタＣＨ、敵キャラクタＥを含む画像データ、ゲーム結果画像等）、音声データ等を含む。
【０１９２】
図２２は、サーバ２０の機能ブロック図の例を示す。なお本実施形態のサーバ２０は図２１の構成要素（各部）の一部を省略した構成としてもよい。
【０１９３】
記憶部２７０は、処理部２００や通信部２９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。オブジェクトデータ記憶部２７３には、オブジェクトに関する各種データが記憶されている。
【０１９４】
情報記憶媒体２８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、あるいはメモリ（ＲＯＭ）などにより実現できる。処理部２００は、情報記憶媒体２８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体２８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【０１９５】
通信部２９６は外部（例えば端末１０、他のサーバ）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【０１９６】
なお、他のサーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体２８０や記憶部２７０に記憶してもよい。このようにプログラムやデータを受信してサーバ２０を機能させる場合も本発明の範囲内に含む。
【０１９７】
処理部２００（プロセッサ）は、受信したデータやプログラムなどに基づいて、ゲーム処理、画像生成処理、音処理などの処理を行う。
【０１９８】
この処理部２００は記憶部２７０内の主記憶部２７１をワーク領域として各種処理を行う。処理部２００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１９９】
処理部２００は、オブジェクト空間設定部２１０、取得部２１１、基準点変更処理部２１２、入力方向判定部２１３、移動制御部２１４、ゲーム処理部２１５、表示制御部２１６、画像生成部２２０、通信制御部２２１、音処理部２３０とを含む。なお、これらの一部を省略する構成としてもよい。
【０２００】
取得部２１１は、端末から撮像画像情報やプレーヤの入力情報や端末の入力部からの入力情報（加速度値）を取得する処理を行う。
【０２０１】
入力方向判定部２１３は、基準点と指示位置により入力方向を判定し、基準点変更処理部２１２は、基準点と第１のタイミング又はそれ以前の指示位置により得られる第１の方向と、第１のタイミング又はそれ以前の指示位置と第１のタイミングより後の第２のタイミングの指示位置により得られる第２の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する処理を行う。
【０２０２】
移動制御部２１４は、入力方向に基づき、移動制御を行う。
【０２０３】
基準点変更処理部２１２は、過去の指示位置に基づき変更後の基準点の位置を決定してもよい。
【０２０４】
表示制御部２１６は、オブジェクトの表示制御を行い、移動制御部２１４は、入力方向に基づき、表示されるオブジェクトの移動制御を行ってもよい。
【０２０５】
取得部２１１は、前記指示位置として、表示部に対する接触位置の情報を取得する接触位置情報取得部として機能してもよい。
【０２０６】
基準点リセット処理部２１７は、所定の入力情報に基づき、設定されている基準点をリセットしてもよい。
【０２０７】
また基準点リセット処理部２１７は、表示部の所定の領域に対応する領域をリセットエリアとして設定し、表示部に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットしてもよい。
【０２０８】
入力モード変更処理２１８は、所定の入力情報に基づき現在設定されている入力モードを変更する処理をおこない、入力方向判定部２１３は、第１の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めてもよい。
【０２０９】
移動制御部２１４は、接触位置の情報に基づき対象オブジェクトを変更し、入力方向に基づき変更後の対象オブジェクトの移動制御を行ってもよい。
【０２１０】
オブジェクト空間設定部２１１は、オブジェクト（キャラクタなど）をオブジェクト空間（仮想的３次元空間）に配置する処理を行う。例えば、オブジェクト空間設定部２１１は、端末１０のオブジェクト空間設定部１１１と同様の処理を行う。
【０２１１】
ゲーム処理部２１５は、端末１０のゲーム処理部１１５と同様な処理を行う。
【０２１２】
また、特にサーバ２０のゲーム処理部２１５は、端末１０にブラウザゲームを提供するための処理を行うようにしてもよい。例えば、ゲーム処理部２１５は、端末１０からゲームサービスを提供するＷｅｂページのアドレスへの要求を受信した場合には、当該端末１０に対して当該Ｗｅｂページのゲームデータを送信し、端末１０から受信した入力情報に基づいてゲーム処理を行うようにしてもよい。
【０２１３】
画像生成部２２０は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。例えば、画像生成部２２０は、端末１０の画像生成部１２０と同様の処理を行う。
【０２１４】
通信制御部２２１は、端末１０とネットワークを介して相互にデータを送受信する処理を行うようにしてもよい。
【０２１５】
なお、本実施形態のサーバ２０は、通信制御で必要となるネットワーク情報を端末１０に送信してもよい。なお、例えば、サーバ２０は、各端末に個別に付与される端末の識別情報と、端末の識別情報に対応づけられたパケットの送信先を指定する宛先情報を管理する。
【０２１６】
サーバ２０の通信制御部２２１は、端末１０に送信するパケットを生成する処理、パケット送信先の端末のＩＰアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部２７０に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
【０２１７】
また、本実施形態の通信制御部２２１は、端末と接続が確立されてから接続が切断されるまで、データを所定周期（例えば、１秒周期で）互いに送受信する処理を行う。ここで、端末１０から送信されるデータは、端末１０の入力部１６０からの入力情報としてもよいし、各端末１０の操作対象のオブジェクト（キャラクタ、移動体）の位置情報、移動情報としてもよい。
【０２１８】
また、本実施形態の通信制御部２２１は、端末１０から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを主記憶部２７１に記憶する処理を行う。
【０２１９】
特に、本実施形態の通信制御部２２１は、プレーヤの入力情報を受信する処理を行う。
【０２２０】
また、通信制御部２２１は、端末１０から、端末１０の入力部からの入力情報（加速度値）を受信する処理を行うようにしてもよい。
【０２２１】
また、通信制御部２２１は、端末１０に各種ゲームデータを送信する。なお、通信制御部２２１は、ゲーム端末１０の表示部１９０に表示させるための種々の画像（例えば拡張現実画像）を送信してもよい。
【０２２２】
画像生成部２２０は、処理部２００で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成する。画像生成部２２０の処理は、端末１０の画像生成部１２０と同様な処理を行う。
【０２２３】
また本発明は、個人用または業務用等の種々のゲームシステムに適用できる。また、本実施形態では、優劣判定ゲーム、対戦ゲーム、ロールプレイングゲーム、アクションゲーム等に限らず、種々のゲームに応用してもよい。例えば、これらの種々のゲームを提供するサーバで行うようにしてもよい。
【０２２４】
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０２２５】
本発明は、実施の形態で説明した構成と実質的に同一の構成（例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成）を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。なお、本実施形態で説明した実施例は、自由に組み合わせることができる。
【０２２６】
上記実施の形態では、タッチパネルでジョイスティックを模した操作を実現する場合についての入力判定を例にとり説明したが、これに限られない。基準点と接触位置に基づいて入力方向を判定する場合に適用可能である。
【０２２７】
また本実施の形態の入力判定方法により取得した入力方向を用いてオブジェクトの移動制御を行う際には、表示画面上のオブジェクトが接触されている必要はない。移動制御の対象となるオブジェクトが選択された状態、又は移動制御の対象となるオブジェクトが決まっている場合や自動で選択される場合であれば、画面上の任意の位置（対象オブジェクトにタッチする必要はない）で接触位置をスライドさせることにより得られる入力ベクトルを用いて、対象オブジェクトの移動制御を行うことができる。
【符号の説明】
【０２２８】
１００  処理部、１１０  オブジェクト空間設定部、１１１  取得部、
１１２  基準点変更処理部、１１３  入力方向判定部、１１４  移動制御部、１１５  ゲーム処理部、１１６  表示制御部、１１７  基準点リセット処理部、１１８  入力モード変更処理部、１２０  画像生成部、１２１  通信制御部、１３０  音処理部、１６０  入力部、１６２  検出部、
１７０  記憶部、１７１  主記憶部、１７２  画像バッファ、
２００  処理部、２１０  取得部、２１２  基準点変更処理部、２１３  入力方向判定部、２１４  移動制御部、２１５  ゲーム処理部、２１６  表示制御部、２１７  基準点リセット処理部、２１８  入力モード変更処理部、２２０  画像生成部、
２２１  通信制御部、２３０  音処理部
【図１】
2013127683.tif 000003
【図２】
2013127683.tif 000004
【図３】
2013127683.tif 000005
【図４】
2013127683.tif 000006
【図５】
2013127683.tif 000007
【図６】
2013127683.tif 000008
【図７】
2013127683.tif 000009
【図８】
2013127683.tif 000010
【図９】
2013127683.tif 000011
【図１０】
2013127683.tif 000012
【図１１】
2013127683.tif 000013
【図１２】
2013127683.tif 000014
【図１３】
2013127683.tif 000015
【図１４】
2013127683.tif 000016
【図１５】
2013127683.tif 000017
【図１６】
2013127683.tif 000018
【図１７】
2013127683.tif 000019
【図１８】
2013127683.tif 000020
【図２０】
2013127683.tif 000021
【図２１】
2013127683.tif 000022
【図２２】
2013127683.tif 000023
【図２３】
2013127683.tif 000024
【図２４】
2013127683.tif 000025
【図２５】
2013127683.tif 000026
【図２６】
2013127683.tif 000027
【図１９】
2013127683.tif 000028