JP2013127683A - プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム - Google Patents

プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム Download PDF

Info

Publication number
JP2013127683A
JP2013127683A JP2011276512A JP2011276512A JP2013127683A JP 2013127683 A JP2013127683 A JP 2013127683A JP 2011276512 A JP2011276512 A JP 2011276512A JP 2011276512 A JP2011276512 A JP 2011276512A JP 2013127683 A JP2013127683 A JP 2013127683A
Authority
JP
Japan
Prior art keywords
reference point
input
timing
unit
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011276512A
Other languages
English (en)
Inventor
Shigeto Murata
茂人 村田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2011276512A priority Critical patent/JP2013127683A/ja
Priority to EP12196892.9A priority patent/EP2605118A3/en
Priority to US13/713,133 priority patent/US9652063B2/en
Publication of JP2013127683A publication Critical patent/JP2013127683A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】指示位置の移動方向の変化に応じて基準点を変更することができるので、プレーヤの操作感覚にマッチした入力方向判定を行うこと。
【解決手段】本プログラムは、基準点と指示位置により入力方向を判定する入力方向判定部113と、基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部112と、してコンピュータを機能させる。
【選択図】図18

Description

本発明は、プログラム、情報記憶媒体、端末、サーバ及びネットワークシステムに関する。
従来からジョイスティックをコントローラとして用い、ジョイスティックのレバーをプレーヤが前後左右に倒すことによってその方向に応じた入力が行われるゲームが知られている。かかるゲームでは、ジョイスティックを倒した方向とその倒し具合とが、それぞれ入力方向および入力量として処理される。そして、プレーヤがジョイスティックのレバーをある方向にある量だけ倒してその位置で保持している場合、その位置情報が継続的に出力されて入力方向および入力量として処理される。
最近ではタッチパネルを備えるゲーム装置でジョイスティックを模した操作を実現するゲームが開発されている。係るゲームでは、タッチパネルのタッチ位置から、ジョイスティックの入力値に相当するXY2軸のベクトル値を得ることになる。このベクトル値の方向がジョイスティックを倒している方向であり、このベクトル値の長さがジョイスティックの倒し具合となる。
特許第3734820号公報
上記特許文献1に開示された発明は、タッチパネルが押圧されていない状態から押圧している状態に変化した場合に押圧時の位置に基づき基準点を設定し、その後押圧状態が継続している場合には基準点を変更しないように制御するものである。
しかしタッチパネルが押圧されている間は基準点の位置が固定されてしまうと、プレーヤの入力感覚とのずれが生じる可能性がある。
本発明は、上記課題に鑑みてなされたものであり、本発明の幾つかの態様によれば、指示位置の移動方向の変化に応じて基準点を変更することができるので、プレーヤの操作感覚にマッチした入力方向判定を行うプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムを提供することができる。
(1)本発明は、
指示位置に基づいて入力方向を判定する処理を行うプログラムであって、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、してコンピュータを機能させるプログラムに関する。
また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する端末に関する。
また本発明は、
端末に対する指示位置に基づいて入力方向を判定する処理を行うサーバであって、
ネットワークを介して端末から指示位置に関する情報を受信する通信制御部と、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含むサーバに関する。
また本発明は、
ネットワークを介して接続された端末とサーバとを含み、前記端末に対する指示位置に基づいて入力方向を判定する処理を行うネットワークシステムであって、
端末の指示位置に関する情報を取得する取得部と、
基準点と指示位置により入力方向を判定する入力方向判定部と、
基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含むネットワークシステムに関する。
指示位置は2次元座標で与えられてもよいし、3次元座標で与えられてもよい。例えばタッチパネル等の接触位置(2次元座標)を指示位置として取得してもよい。またポインタの空間的な位置の変化を検出可能な場合には、空間的な位置(3次元座標)を指示位置として取得してもよい。
基準点は入力により決定される場合でもよいし、予め与えられた位置に設定される構成でもよい。例えば接触していない状態から接触している状態に変化する時に接触した点を基準点として設定してもよい。また表示部の所定の位置を基準点として設定してもよい。
第1の方向は、基準点と第1のタイミング又はそれ以前の指示位置を結ぶ線分の方向でもよい。また第2の方向は、第1のタイミングの指示位置又はそれ以前の指示位置と第1のタイミングより後の第2のタイミングの指示位置結ぶ線分の方向でもよい。
また前記基準点変更処理部は、前回又は所定フレーム前の入力方向である第1の方向と前回又は所定フレーム前の指示位置と今回の指示位置を結ぶ第2の方向に基づき基準点変更条件を満たすか否か判断して、基準点を変更してもよい。
このようにすれば、指示位置の移動方向の変化に応じて基準点を変更することができるので、プレーヤの操作感覚にマッチした入力方向判定を行うことができる。さらにタッチパネルが押圧されている間であっても、指示位置の変化に基づき基準点を変化させることができる。
(2)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
入力方向に基づき、移動制御を行う移動制御部と、してさらにコンピュータを機能させてもよい。
移動制御の対象は2次元平面のオブジェクトでもよいし、3次元空間のオブジェクトでもよい。また移動制御の対象は表示オブジェクトでもよいし、非表示オブジェクト(例えば仮想カメラや1人称視点におけるプレーヤオブジェクト等)でもよい。
この様にすれば指示位置の移動方向の変化に応じて基準点を変更することができるので、プレーヤの操作感覚にマッチした移動制御を行うことができる。
(3)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記基準点変更処理部は、
過去の指示位置に基づき変更後の基準点の位置を決定してもよい。
前記基準点変更処理部は、
基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミング又はそれ以前の指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度に基づき基準点を変更する場合には、第1のタイミングの指示位置に基づき基準点の位置を決定してもよい。
(4)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
オブジェクトの表示制御を行う表示制御部をさらに含み、
前記移動制御部は、
入力方向に基づき、表示されるオブジェクトの移動制御を行ってもよい。
表示制御の対象は2次元オブジェクト(例えば2次元ゲームのオブジェクトでもよいし、表示部に表示されるアイコン等でもよい)でもよいし、3次元オブジェクト(例えば3次元空間内のオブジェクト)でもよい。
例えば、オブジェクト空間を仮想カメラから見た画像を生成する画像生成手段をさらに含み、前記移動制御部は、入力方向に基づき、オブジェクト空間におけるオブジェクトの移動制御を行い、前記表示制御部は、オブジェクト空間を仮想カメラから見た画像を表示部に表示し、仮想カメラを前記オブジェクトに追従させる制御を行うようにしてもよい。
(5)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記指示位置として、表示部に対する接触位置の情報を取得してもよい。
表示部は接触位置の検出機能を有する部材、例えばタッチパネル等で構成してもよい。
(6)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
所定の入力情報に基づき、設定されている基準点をリセットする基準点リセット処理部としてさらにコンピュータを機能させてもよい。
所定の入力情報とは、例えば操作部の所定のボタン等が押されたことを示す入力情報でもよいし、装置に加わる加速度や角加速度の検出結果が所定の状態であることを示す入力情報でもよい。
(7)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記基準点リセット処理部は、
表示部の所定の領域に対応する領域をリセットエリアとして設定し、
表示部に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットしてもよい。
基準点がリセットされた場合には、次の新たな接触位置を基準点に設定してもよい。また基準点がリセットされた場合には、基準点がリセットされたことを伝えるメッセージを出力して、新たな基準点の設定を促すようにしてもよい。
(8)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
所定の入力情報に基づき現在設定されている入力モードを変更する入力モード変更処理部としてさらにコンピュータを機能させ、
前記入力方向判定部は、
第1の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めてもよい。
所定の入力情報とは、例えば所定のボタンが押されたことを示す入力情報でもよいし、装置に加わる加速度や角加速度の検出結果が所定の状態であることを示す入力情報でもよい。
(9)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記移動制御部は、
接触位置の情報に基づき対象オブジェクトを変更し、入力方向に基づき変更後の対象オブジェクトの移動制御を行ってもよい。
(10)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記基準点変更処理部は、
第1のタイミング又それ以前の複数のタイミングの接触位置に基づき、第1の方向を決定してもよい。
第1のタイミング以前の複数のタイミングの接触位置により決定される複数の入力方向に基づき第1の方向を決定してもよい。例えば複数の入力方向を所定の割合で加重平均して得られた方向を第1の方向としてもよい。この様にすると、接触位置の移動状況をより精度よく反映させた入力判定を行うことができる。
(11)このプログラム、情報記憶媒体、端末、サーバ及びネットワークシステムにおいて、
前記基準点変更処理部は、
第2のタイミング以前の3つ以上のタイミングの接触位置に基づき、第2の方向を決定してもよい。
第2のタイミング以前の3つ以上のタイミングの接触位置を結ぶ複数の線分の方向に基づき第2の方向を決定してもよい。例えば複数の線分の方向を所定の割合で加重平均して得られた方向を第2の方向としてもよい。この様にすると、接触位置の移動状況をより精度よく反映させた入力判定を行うことができる。
本実施形態の端末の機能ブロック図の一例。 図2(A)、(B)は、本実施形態の端末の一例。 本実施形態の端末の一例。 タッチパネルによるジョイスティックを模した入力操作について説明するための図。 図5(A)〜(C)は、ジョイスティックを模した入力操作による移動制御の比較例について説明するための図。 図6(A)〜(C)は、図5(A)〜(C)の比較例の入力操作に対応したオブジェクトの移動制御例。 図7(A)〜(C)は、本実施の形態におけるジョイスティックを模した入力操作による移動制御例。 図8(A)〜(C)は、図7(A)〜(C)の入力操作に対応したオブジェクトの移動制御例。 図9(A)〜(C)は、本実施の形態の入力判定手法について説明するための図。 図10(A)〜(C)は、基準点変更時のオブジェクトの移動制御例。 図11(A)(B)は、本実施の形態における移動制御例について説明するための図。 オブジェクト空間を仮想カメラから見た画像。 リセットエリアによる基準点のリセット制御について説明するための図。 リセットエリアによる基準点のリセット制御について説明するための図。 図15(A)(B)は、移動制御の対象オブジェクトの切替制御について説明するための図。 図16(A)(B)は、移動制御の対象オブジェクトの切替制御について説明するための図。 本実施の形態の入力判定処理の流れを示すフローチャート。 本実施の形態の入力方向判定処理の流れを示すフローチャート。 ネットワークシステムの説明図。 ネットワークシステムの説明図。 ネットワークシステムの説明図。 サーバの構成図。 図23(A)〜(C)は、比較例の操作例について説明するための図。 図24(A)〜(C)は基準点リセットについて説明するための図。 図25(A)〜(C)は、本実施の形態における移動制御例について説明するための図。 本実施の形態の入力判定手法について説明するための図。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
まず、図1を用いて本実施形態における端末装置10の構成について説明する。端末装置10は、例えば、携帯電話、スマートフォン、携帯端末装置、ゲーム装置、携帯型ゲーム装置、画像生成装置などである。図1は、本実施形態における端末装置10の機能ブロック図の一例である。なお、本実施形態の端末装置は、図1の構成要素(各部)の一部を省略した構成としてもよい。
撮像部150は、撮像部162は、被写体を撮像するものであり、CCDやCMOSセンサなどの撮像素子や、レンズ等の光学系により実現できる。
入力部160は、プレーヤが操作データを入力するためのものであり、その機能は、タッチパネル、タッチパネル型ディスプレイ、マウス、トラックボールなどにより実現できる。つまり、入力部160は、2次元の指示位置座標(x,y)を検出可能な検出部162を備えている。例えば、入力部160は、接触検出領域(タッチパネル)における、2次元の接触位置座標(x,y)を検出可能な検出部162を備えている。
つまり、接触位置(接触位置座標、指示位置の一例)は、プレーヤの接触操作により、接触検出領域から得られる位置情報である。接触検出領域に同時に複数の接触位置が検出される場合には、いずれか1つの接触位置(先に検出された接触位置)を用いるようにしてもよい。
特に、本実施形態では、図2(A)(B)に示す表示画面(ディスプレイ)12や図3に示す表示画面1210が、液晶ディスプレイと、プレーヤ(操作者、ユーザ)の接触位置を検出するためのタッチパネルとが積層されたタッチパネル型ディスプレイとなっている。従って、本実施形態では、表示画面が入力部160として機能するとともに表示部190としても機能する。なお、表示画面12への接触操作は、指先を用いて行うようにしてもよいし、タッチペンなどの入力機器を用いて行うようにしてもよい。また入力部160を、操作部の操作子(ボール)の操作方向(回転方向)を変化させるものとして機能してもよい。
なお、入力部160は、指示位置以外の操作情報(操作信号)を入力可能なボタンやレバー、キーボード、ステアリング、マイク、加速度センサなどを備えていてもよい。
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171と、最終的な表示画像等が記憶される画像バッファ172とを含む。なお、これらの一部を省略する構成としてもよい。
特に本実施形態の記憶部170では、取得部111において取得された接触位置、及び、基準点の座標等を主記憶部171に記憶することができる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。特に本実施形態では表示部190であるディスプレイ12は、タッチパネルディスプレイを用いることによりプレーヤがゲーム操作を行う入力部160としても機能する。ここでタッチパネルとして、例えば抵抗膜方式(4線式、5線式)、静電容量方式、電磁誘導方式、超音波表面弾性波方式、赤外線走査方式などのタッチパネルを用いることができる。
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部196は、外部(例えばホスト装置や他の端末装置)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、端末装置10は、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体180や記憶部170に記憶してもよい。このようにプログラムやデータを受信して端末装置10を機能させる場合も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、入力部160からの入力データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、プレーヤオブジェクト、敵オブジェクトなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
特に、本実施形態の処理部100は、オブジェクト空間設定部110と、取得部111と、基準点変更処理部112と、入力方向判定部113と、移動制御部114と、ゲーム処理部115と、表示制御部116と、画像生成部120と、通信制御部121、音処理部130とを含む。なお、これらの一部を省略する構成としてもよい。
オブジェクト空間設定部110は、オブジェクト(プレーヤオブジェクト、移動体、敵オブジェクト)、移動経路、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(スプライト、ビルボード、ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。具体的にはオブジェクト空間設定部110は、オブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y)或いは(X、Y、Z)にその回転角度(X、Y軸回りでの回転角度)或いは(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
ここで、オブジェクト空間とは、いわゆる仮想2次元空間、仮想3次元空間の両方を含む。2次元空間とは、例えば2次元座標(X,Y)においてオブジェクトが配置される空間であり、3次元空間とは、例えば3次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
そしてオブジェクト空間を2次元空間とした場合には、複数のオブジェクトそれぞれについて設定された優先順位に基づいてオブジェクトを配置する。例えば、奥側にあるように見せたいオブジェクト(スプライト)から順にオブジェクトを配置し、手前側にあるように見せたいオブジェクトを重ねて配置する処理を行うことができる。
また、描画サイズが大きなオブジェクトを画像の下方に配置し、描画サイズが小さなオブジェクトを画像の上方に配置すれば、画面の上方に対応するオブジェクト空間が奥側にあるように見せることができ、画面の下方に対応するオブジェクト空間が手前側にあるように見せることができる。
またオブジェクト空間を3次元空間とした場合には、ワールド座標系にオブジェクトを配置し、所与の視点から見える画像であって、奥行きがあるように見える画像を生成する。この場合画像生成部が、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
例えば仮想カメラによりオブジェクト(例えば、キャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動制御部114で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させる制御や、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
取得部111は、プレーヤが入力部160から入力した入力情報の認識処理を行う。具体的には、本実施形態の取得部111は、入力部160によって入力された指示位置を取得する。
例えば、取得部111は、プレーヤの接触操作(タッチ操作)を検出する接触検出領域(タッチパネル)における接触位置(2次元の接触位置座標)を指示位置として取得する。つまり、取得部111は、プレーヤが指でタッチパネルにタッチし、そのまま指を移動して最後にタッチパネルから離す操作を行う期間に相当する接触操作期間中(スライド操作期間中)における接触位置を取得する。
また、入力情報は、マウスなどによって指示された2次元の位置座標としてもよい。かかる場合には、取得部111は、プレーヤがマウスのボタンを押し、そのままの状態でマウスを移動(ドラッグ)させて、マウスのボタンを離すまでの期間中における、マウスが指示した位置座標を取得してもよい。
また、取得部111は、所定の周期毎に入力された指示位置を取得する。例えば、所定の周期とは1/60秒、1/30秒、1/10秒とすることができる。つまり、周期が1/30秒である場合には、1/30秒毎に指示位置を取得する。また、取得部111は、描画フレームレートと同じ周期で指示位置を取得してもよい。
入力方向判定部113は、基準点と指示位置により入力方向を判定し、基準点変更処理部112は、基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する処理を行う。
移動制御部114は、入力方向に基づき、移動制御を行う。
基準点変更処理部112は、過去の指示位置に基づき変更後の基準点の位置を決定してもよい。
表示制御部116は、オブジェクトの表示制御を行い、移動制御部114は、入力方向に基づき、表示されるオブジェクトの移動制御を行ってもよい。
取得部111は、前記指示位置として、表示部に対する接触位置の情報を取得してもよい。
基準点リセット処理部117は、所定の入力情報に基づき、設定されている基準点をリセットしてもよい。
また基準点リセット処理部117は、表示部の所定の領域に対応する領域をリセットエリアとして設定し、表示部に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットしてもよい。
入力モード変更処理118は、所定の入力情報に基づき現在設定されている入力モードを変更する処理をおこない、入力方向判定部113は、第1の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めてもよい。
移動制御部114は、接触位置の情報に基づき対象オブジェクトを変更し、入力方向に基づき変更後の対象オブジェクトの移動制御を行ってもよい。移動制御部114は、オブジェクト(キャラクタオブジェクト、移動体オブジェクト等)の移動演算を行う。即ち、この移動制御部114は、入力部160によりプレーヤが入力した入力データ又はプログラム(移動アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
具体的には、本実施形態の移動制御部114は、オブジェクトの移動情報(移動方向、移動量、移動速度、位置、回転角度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動処理、動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
本実施形態の移動制御部114は、入力方向判定部113において判定された入力方向に基づいて、オブジェクトを移動させる処理を行う。つまり、入力方向判定部113において判定された入力方向に対応する方向を移動方向とし、当該移動方向にオブジェクトを移動させる処理を行う。例えば、入力方向が右である場合には、画面の右方向(x軸プラス方向)にオブジェクトを移動させる処理を行う。また、入力方向が下方向である場合には、画面の下方向(y軸マイナス方向)にオブジェクトを移動させ、また、入力方向が左方向である場合には、画面の左方向(x軸マイナス方向)にオブジェクトを移動させ、また、入力方向が上方向である場合には、画面の上方向(y軸プラス方向)にオブジェクトを移動させる。
なお、移動制御部114は、3次元のオブジェクト空間において入力方向に基づいてオブジェクトを移動させる処理を行ってもよい。例えば、予め、入力方向毎に移動方向を対応づけ、入力方向に対応する移動方向にオブジェクトを移動させる。
ゲーム処理部115は、種々のゲーム演算処理を行う。
表示制御部116は、プレーヤオブジェクト、敵オブジェクトなどを含むゲーム画像を表示させる処理等を行う。
通信制御部121は、端末(例えば第1の端末)が他の端末(例えば第2の端末)又はサーバ20とネットワークを介して相互にデータを送受信する処理を行うようにしてもよい。
なお、本実施形態の端末10では、通信制御で必要となるネットワーク情報をサーバから取得し、管理する処理等を行うようにしてもよい。例えば、端末は、各端末に個別に付与される端末の識別情報(オンラインゲームに参加できる端末を識別するために個別に付与されたデータ、ID)と、端末の識別情報に対応づけられたパケットの送信先を指定する宛先情報(IPアドレスなど)とを取得し、管理する処理を行うようにしてもよい。
通信制御部121は、他の端末(第2の端末)又はサーバ20に送信するパケットを生成する処理、パケット送信先の端末のIPアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部170に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
また、通信制御部121は、複数の端末間、又はサーバ20においての接続(第1の端末と第2の端末との接続)が確立されてから接続が切断されるまで、データを所定周期(例えば、1秒周期で)互いに送受信する処理を行う。ここで、端末間で送受信されるデータは、入力部の入力情報としてもよいし、各端末の操作対象のオブジェクト(キャラクタ、移動体)の位置情報、移動情報としてもよい。
また、本実施形態の通信制御部121は、他の端末(第2の端末)又はサーバ20から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを記憶部に記憶する処理を行う。
なお、複数の端末で構成されるネットワークシステムの場合は、複数の端末間でデータの送受信を行いながらオンラインゲームを実行するピア・ツー・ピア(いわゆるP2P)方式としてもよいし、サーバ20を介して各端末がデータ(情報)の送受信を行いながらオンラインゲームを実行するクライアント・サーバ方式によるものであってもよい。また、本実施形態のネットワークシステムでは、有線通信のみならず無線通信でデータを送受信してもよい。
また、通信制御部121は、サーバ20に、端末10の入力部からの入力情報(加速度値)を送信する処理を行うようにしてもよい。
なお、通信制御部121は、ゲーム端末10の表示部190に表示させるための種々の画像を受信してもよい。
画像生成部120は処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部(ディスプレイ)190に出力する。画像生成部120が生成する画像は、いわゆる2次元画像であってもよいし、いわゆる3次元画像であってもよい。
ここで2次元画像を生成する場合には、画像生成部120は、設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画する。
また、3次元画像を生成する場合には、本実施形態の画像生成部120は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ172(フレームバッファ、ピクセル単位で画像情報を記憶できるバッファ、VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお、画像生成部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして、画像生成部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度
データ)、法線ベクトル、或いはα値等)を記憶部170に記憶する。
テクスチャマッピングでは、記憶部170のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)では、画像生成部120は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
音処理部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の端末装置は、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末装置を用いて分散処理により生成してもよい。
2.本実施形態の処理の手法
2−1.端末の例
本実施形態では、端末装置10を用いて、オブジェクト空間(ゲーム空間)に存在するオブジェクトを移動させるゲーム処理に関するものである。例えば、端末装置10は、図2(A)(B)に示すような携帯電話(スマートフォン)とすることができる。プレーヤは、表示領域でもある接触検出領域を備えたディスプレイ(タッチパネル型ディスプレイ)12に指を接触させて入力方向を指示することができる。
また例えば、端末装置10は図3に示すような携帯型ゲーム装置1200でもよい。携帯型ゲーム装置1200は、生成された画像を表示する表示部1210と、操作入力が行われる操作部(スライドパッド1232、十字キー1234、ボタン1230、セレクトボタン等1242)とが携帯型ゲーム装置に一体的に形成されている。
また携帯型ゲーム装置1200は、操作者が音入力(音声入力)を行うための音入力装置(マイク)が設けられていてもよい。
また、表示部1210は、液晶ディスプレイとタッチパネルとを積層して構成し、表示領域に対する接触操作位置を検出できるようにしてもよい。
また携帯型ゲーム装置1200は加速度、角速度、速度などの物理量を検出するセンサを内蔵することで、携帯型ゲーム装置1200の動き、姿勢、向き等を検出してもよい。なおセンサには、加速度センサ(圧電型や動電式、歪みケージ式等)や姿勢方位センサやジャイロなどを用いることができる。
2−2.タッチパネルによるジョイスティックを模した入力操作の例
ここでは、指示位置に基づいて入力方向を判定する例を、タッチパネルの接触位置を指示位置とする場合(2次元的に指示位置を与える場合)を例にとり説明する。
図4は、タッチパネルによるジョイスティックを模した入力操作について説明するための図である。
ジョイスティックを模した入力操作は、ジョイスティックを倒した方向とその倒し具合とを、それぞれ入力方向および入力量として処理する。そして、プレーヤがジョイスティックのレバーをある方向にある量だけ倒してその位置で保持している場合、その位置情報が継続的に出力されて入力方向および入力量として処理する。
タッチパネルでジョイスティックを模した操作を実現する場合、タッチパネルの接触位置から、ジョイスティックの入力値(入力方向および入力量)に相当するXY2軸のベクトル値(表示画面をX軸とY軸の2次元平面とした場合)を得ることになる。このベクトル値の方向がジョイスティックを倒している方向であり、このベクトル値の長さがジョイスティックの倒し具合となる。
例えば図4(A)に示すように、タッチパネル(ここでは表示部)への時刻(フレーム)t0、・・tn、tn+1、tn+2のタッチ位置がP0、・・Pn、Pn+1、Pn+2であった場合、時刻tnにおける入力ベクトルVnは、基準点KPを始点とし、時刻tnにおける接触位置Pnを終点とするベクトルとしてもよい。
ここで基準点KPは、予め与えられている点(例えば表示部上の所定の位置を基準点として設定しておく場合)でもよいし、接触位置により決定される点でもよい。ここでは、時刻(フレーム)t0におけるタッチ位置(タッチパネルがタッチされていない状態において、最初にタッチされた位置)を基準点として設定する場合について説明する。
係る場合、時刻(フレーム)tn、tn+1、tn+2における入力ベクトル(入力方向の一例)は、それぞれVn、Vn+1、Vn+2となる。
入力ベクトルをもちいて、表示部に表示されるオブジェクト(例えばアイコンでもよいし、ゲーム画像におけるオブジェクトでもよい)の移動制御を行うようにしてもよい。
例えば、時刻(フレーム)tnにおいて取得した入力ベクトル(入力方向の一例)を、時刻tn+1においてオブジェクトに作用させるようにしてもよい。
2−3.本実施の形態の手法
図9(A)〜(C)、図26は、本実施の形態の入力判定手法について説明するための図である。
図9(A)は、第1のタイミング(tn)における基準点KP1と接触位置Pn、第2のタイミング(tn+1)における基準点KP1と接触位置Pn+1の位置関係を示している。例えば接触していない状態から接触している状態に変化する場合に接触した点を基準点KP1として設定してもよい。また表示部の所定の位置やデフォルト位置を基準点KP1として設定してもよい。
本実施の形態では、例えば基準点KP1と第1のタイミング(tn)の接触位置(指示位置の一例、ここではPn)により得られる第1の方向(入力方向)(Vn)と、第1のタイミング(tn)の接触位置(ここではPn)と第1のタイミング(tn)より後の第2のタイミング(tn+1)の接触位置(Pn+1)により得られる第2の方向(IVn)のなす角度θ(図9(B)参照)に基づき基準点を変更するか否か判断して、基準点を変更してもよい。
また図26に示すように基準点KP1と第1のタイミング(tn)以前の時刻tn−1の接触位置(指示位置の一例、Pn―1)により得られる第1の方向(入力方向)(Vn−1)と、第1のタイミング(tn)接触位置(ここではPn)と第1のタイミング(tn)より後の第2のタイミング(tn+1)の接触位置(Pn+1)により得られる第2の方向(IVn)のなす角度θに基づき基準点を変更するか否か判断してもよい。
また基準点KP1を時刻t0における接触点P0であるとすると、複数のタイミング(ここではt0、tn、tn+1)における接触位置(P0、Pn、Pn+1)を結ぶ結線(Vn、IVn)の方向のなす角度θ(図9(B参照)に基づき基準点を変更するか否か判断して、基準点を変更してもよい。
基準点の変更位置は、第1のタイミング(tn)の接触位置Pnに基づき決定してもよい。例えば第1のタイミングtnにおける接触位置Pnに変更する場合には、時刻tn+1における基準点はPnとなる。
図9(B)は、基準点変更条件について説明するための図である。
基準点KP1と第1のタイミング(tn)又はそれ以前の接触位置(指示位置の一例、ここではPn)により得られる第1の方向(入力方向)(Vn)と、第1のタイミング(tn)又はそれ以前の接触位置(ここではPn)と第1のタイミング(tn)より後の第2のタイミング(tn+1)の接触位置(Pn+1)により得られる第2の方向(IVn)のなす角度θが基準点変更条件を満たしている場合に基準点を変更してもよい。例えばα<θ<β又はθはα以上、β以下(例えばα=50°、β=210°)の場合に基準点変更条件を満たすと判断してもよい。
基準点が変更になるタイミングは、第2のタイミング(tn+1)でもよい。このようにすると、第2のタイミング(tn+1)における入力ベクトルV’n+1は、図9(C)に示すように、変更後の基準点KP2(Pn)を始点とし、第2のタイミング(tn+1)の接触位置(Pn+1)を終点とするベクトルIVnとなる。
図10(A)〜(C)は、基準点変更時のオブジェクトの移動制御例(ここでは2次元的な移動制御の例)である。
例えば時刻tnにおける表示部上に表示されているオブジェクトOBの位置がLnであり、時刻tnにおける入力ベクトルがVnであったとすると、時刻tn+1におけるオブジェクトOBの位置Ln+1は、時刻tnにおけるオブジェクトの位置Lnに入力ベクトルV1を作用させた位置Ln+1である。従って表示画面上でオブジェクトOBをLnからLn+1に移動させる制御が行われる。
次に時刻tn+2におけるオブジェクトOBの位置Ln+2は、時刻tn+1におけるオブジェクトOBの位置Ln+1に入力ベクトルV’n+1を作用させた位置Ln+2である。従って表示画面上でオブジェクトOBをLn+1からLn+2に移動させる制御が行われる。
なおオブジェクトOBの移動制御を行う際に、表示画面上のオブジェクトが接触される必要はない。移動制御の対象となるオブジェクトOBが選択された状態であれば、画面上の任意の位置(対象オブジェクトにタッチする必要はない)で接触位置をスライドさせることにより得られる入力ベクトルを用いて、対象オブジェクトの移動制御を行うことができる。
2−4.比較例に対する有意な効果
図5(A)〜(C)は、ジョイスティックを模した入力操作による移動制御の比較例について説明するための図である。
図5(A)に示すように、タッチパネル(ここでは表示部190)への時刻(フレーム)t0、t1、t2のタッチ位置がP0、P1、P2であり、基準点がP0である場合について説明する。このような場合図5(B)に示すように時刻(フレーム)t1における入力ベクトル(入力方向の一例)はV1(始点が基準点であるP0、終点がP1のベクトル)になる。また図5(C)に示すように、時刻(フレーム)t2における入力ベクトルはV2(始点が基準点であるP0、終点がP2のベクトル)となる。
図6(A)〜(C)は、図5(A)〜(C)の比較例の入力操作に対応したオブジェクトの移動制御例(ここでは2次元的な移動制御の例)である。
例えば時刻t1における表示部上に表示されているオブジェクトOBの位置がL1であり、時刻t1における入力ベクトルがV1であったとすると、時刻t2におけるオブジェクトOBの位置L2は、時刻t1におけるオブジェクトの位置L1に入力ベクトルV1を作用させた位置L2である。従って表示画面上でオブジェクトOBをL1からL2に移動させる制御が行われる。
次に時刻t3におけるオブジェクトOBの位置L3は、時刻t2におけるオブジェクトOBの位置L2に入力ベクトルV2を作用させた位置L3である。従って表示画面上でオブジェクトOBをL2からL3に移動させる制御が行われる。
しかし、タッチパネル上の接触位置がP1からP2に変化した場合とは、プレーヤがP1からP2に接触位置を戻す操作を行った場合であるため、プレーヤ自身は、オブジェクトOBを時刻t1の場合とは逆方向に動かしたいと思っている可能性も高い。このような場合には、プレーヤの操作感覚とオブジェクトの移動制御にずれが生じる可能性がある。
図23(A)〜(C)は、比較例においてオブジェクトOBを時刻t1の場合とは逆方向に動かしたい場合の操作例(タッチ位置)について説明するための図である。係る場合には時刻t1における入力ベクトルV1(図23(B)参照)と、時刻t2における入力ベクトルV2(図23(C)参照)が逆方向になる必要がある。しかし、指を接触させたままこれを実現する場合には、P1をタッチした後、基準点であるP0を通り越してP2までタッチ位置をスライドさせることが必要になる。しかしP0からP1までの移動距離よりP1からP2までの移動距離が長いにも関わらず、V2ベクトルの大きさ<V1ベクトルの大きさとなる。すなわちタッチ位置の移動距離と入力ベクトルとして判定される大きさが逆であるため、プレーヤに違和感を与える可能性がある。また表示部に領域にはかぎりがあるため、基準点(ここでは時刻t0の接触位置P0)が画面の端にある場合、反対方向への移動は制限され、意図する大きさの入力を行うことができないという問題点もある。
図7(A)〜(C)は、本実施の形態におけるジョイスティックを模した入力操作による移動制御例について説明するための図である。
図7(A)に示すように、タッチパネル(ここでは表示部190)への時刻(フレーム)t0、t1、t2のタッチ位置がP0、P1、P2であり、基準点がP0である場合について説明する。このような場合図7(B)に示すように時刻(フレーム)t1における入力ベクトル(入力方向の一例)はV1(始点が基準点であるP0、終点がP1のベクトル)になる。
しかし本実施の形態では、タッチパネル上の接触位置がP1からP2に変化した場合(プレーヤはP1からP2に接触位置を戻す操作を行った場合)、基準点変更条件を満たすと判断して、基準点をP0からP1に変更する。すると時刻t2における入力ベクトルV’2は、図7(C)に示すように、始点が変更後の基準点であるP1、終点がP2のベクトルとなる。
図8(A)〜(C)は、図7(A)〜(C)の入力操作に対応したオブジェクトの移動制御例(ここでは2次元的な移動制御の例)である。
例えば時刻t1における表示部上に表示されているオブジェクトOBの位置がL1であり、時刻t1における入力ベクトルがV1であったとすると、時刻t2におけるオブジェクトOBの位置L2は、時刻t1におけるオブジェクトの位置L1に入力ベクトルV1を作用させた位置L2である。従って表示画面上でオブジェクトOBをL1からL2に移動させる制御が行われる。
次に時刻t3におけるオブジェクトOBの位置L’3は、時刻t2におけるオブジェクトOBの位置L2に基準点変更後の入力ベクトルV’2を作用させた位置L’3である。従って表示画面上でオブジェクトOBをL2からL’3に移動させる制御が行われる。
タッチパネル上の接触位置がP1からP2に変化した場合とは、プレーヤがP1からP2に接触位置を戻す操作を行った場合であるため、図8(C)に示すように、オブジェクトOBを前回とは逆方向に動かすことでプレーヤの操作感覚とずれが少なくなる。
2−5.本実施の形態の移動制御
先に述べた手法により得られた入力ベクトル(入力方向の一例)に基づき、移動制御を行ってもよい。移動制御の対象は2次元平面にオブジェクトでもよいし、3次元空間のオブジェクトでもよい。また移動制御の対象は表示オブジェクトでもよいし、非表示オブジェクト(例えば仮想カメラや1人称視点におけるプレーヤオブジェクト等)でもよい。
図25(A)〜(C)は、本実施の形態における移動制御例について説明するための図である。ここでは、スマートフォンやタブレット端末の表示部に表示されているアイコンオブジェクト410−1、410−2、410−3の移動制御を例にとり説明する。
例えば時刻tnにおいてスマートフォンの表示部上に表示されているアイコンオブジェクトiOB(410−3)の位置がLnであり、時刻tnにおける入力ベクトルがVnであったとすると、時刻tn+1におけるアイコンオブジェクトiOB(410−3)の位置Ln+1は、時刻tnにおけるアイコンオブジェクトiOB(410−3)の位置Lnに入力ベクトルV1を作用させた位置Ln+1である。従ってスマートフォンの表示部上でアイコンオブジェクトiOB(410−3)をLnからLn+1に移動させる制御が行われる。
次に時刻tn+2におけるアイコンオブジェクトiOB(410−3)の位置Ln+2は、時刻tn+1におけるアイコンオブジェクトiOB(410−3)の位置Ln+1に入力ベクトルV’n+1を作用させた位置Ln+2である。従ってスマートフォンの表示部上でアイコンオブジェクトiOB(410−3)をLn+1からLn+2に移動させる制御が行われる。
入力ベクトルは、基準点と接触位置を結ぶベクトルであるが、基準点は、例えば表示部に接触していない状態から接触している状態に変化する場合に接触した点でもよいし、表示部の所定の位置やデフォルト位置でもよい。
またアイコンオブジェクト410−3の移動制御を行う際に、表示画面上のアイコンオブジェクトをタッチする必要はない。移動制御の対象となるアイコンオブジェクトが選択された状態であれば、画面上の任意の位置(対象オブジェクトにタッチする必要はない)で接触位置をスライドさせることにより得られる入力ベクトルを用いて、対象オブジェクトの移動制御を行うことができる。
図11(A)(B)は、本実施の形態における移動制御例について説明するための図である。
図11(A)のOBはオブジェクト空間(仮想3次元空間)内の移動オブジェクトであり、入力ベクトルに基づき移動制御が行われるオブジェクトである。例えば時刻tnにおけるオブジェクトOBの位置がLn(xn、yn)であり、タッチパネルの接触位置に基づき図11(B)に示すような2次元の入力ベクトルVn(vxn、vyn)が取得された場合、時刻tn+1のオブジェクトOBの位置Ln+1(xn+1、yn+1)は、xn+1=xn+vxn、yn+1=yn+vynでもよい。この様な場合の2次元の入力ベクトルVn(vxn、vyn)を、視点座標系における値として与えてもよい。
図12は、オブジェクト空間を仮想カメラから見た画像である。時刻tnにおいて表示部(スクリーン座標系)のD1(図11(A)のオブジェクト空間のLnに対応する位置)に表示されていたオブジェクトは、時刻tn+1において表示部(スクリーン座標系)のD2(図11(A)のオブジェクト空間のLn+1に対応する位置)に移動する。
2−6.基準点のリセット制御
所定の入力情報に基づき、設定されている基準点をリセットしてもよい。
例えば所定のボタンが押された場合や、端末に加わる加速度や角加速度の検出結果が所定の状態である場合に基準点をリセットしてもよい。
図24(A)〜(C)は基準点リセットについて説明するための図である。
図24(A)に示すように、タッチパネル(ここでは表示部190)への時刻(フレーム)t0、t1、t2、t3のタッチ位置がP0、P1、P2、P3(ここでP1=P2)であり、時刻t0における基準点がP0である場合について説明する。このような場合図24(B)に示すように時刻(フレーム)t1における入力ベクトル(入力方向の一例)はV1(始点が基準点であるP0、終点がP1のベクトル)になる。時刻t2において、リセット入力(所定のボタンが押された場合や、端末に加わる加速度や角加速度の検出結果が所定の状態である場合)が検出されると、基準点がリセットされる(P0が基準点でなくなる)。新たな基準点は、リセット入力時の接触位置(ここではP1)でもよい。この場合リセット入力時の接触位置がP2なので、時刻t2において基準点がP0からP2に変更になる。
時刻t3においてタッチパネル上の接触位置がP2からP3に変化した場合、時刻t3における入力ベクトルV’3は、図24(C)に示すように、始点が変更後の基準点であるP2、終点がP3のベクトルとなる。
図13、図14は、リセットエリアによる基準点のリセット制御について説明するための図である。
図13に示すように表示部190の所定のエリア310(表示部の端のエリア)をリセットエリアとして設定し、 表示部190に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットするようにしてもよい。
例えば表示部190(タッチパネル)への時刻(フレーム)t0、t1、t2の接触位置がP0、P1、P2であり、時刻t0における基準点がP0である場合について説明する。このような場合時刻(フレーム)t2における接触位置P2はリセットエリアに属しているので、時刻t2において基準点がリセットされる。すなわち、時刻(フレーム)t1における基準点はP0であるが、時刻t2では基準点はP0でなくなる。
基準点がリセットされた場合には、次の新たな接触位置を新たな基準点に設定してもよいし、デフォルト位置を新たな基準点としてもよい。
表示部の端のエリアに設定されたリセットエリアに接触してしまうのは、図13に示すように画面中央付近から端に向けて接触位置を移動させた場合や、進行方向にそれ以上進むと画面外になるケースが多いので、一旦接触状態を解除して、新たな接触位置から再度接触操作を行うほうが操作しやすい。
従って基準点がリセットされた場合には、図14に示すような基準点がリセットされたことを伝えるメッセージ320を出力して、新たな基準点の設定を促すようにしてもよい。
2−7.入力モード切替制御
複数の入力モードを用意して、入力モード毎に、指示位置に対する入力判定の内容を変更するようにしてもよい。
例えば第1の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めるが、他の入力モードの場合には、指示位置を用いて他の入力判定処理を行うようにしてもよい。
例えば第1の入力モードが、タッチパネルによるジョイスティックを模した入力操作を行う入力モードで、第1の入力モード中に所定のボタンが押された場合や、端末に加わる加速度や角加速度の検出結果が所定の状態になった場合に第1の入力モードを終了して、他の入力モードに切り替えてもよい。
また例えば同時に複数の接触位置を検出可能なタッチパネルを用いて入力情報を取得している場合には、1点のタッチでジョイスティックを模した入力操作を行っているときに、2点目のタッチを検出した場合に、入力情報が所定の状態になったとして、第1の入力モードを終了して、他の入力モードに切り替えてもよい。
2−8.制御対象オブジェクトの切替制御
接触位置の情報に基づき対象オブジェクトを変更し、前記入力方向に基づき変更後の対象オブジェクトの移動制御を行うようにしてもよい。
図15(A)(B)、図16(A)(B)は、移動制御の対象オブジェクトの切替制御について説明するための図である。
図15(A)(B)は、移動制御の対象となる対象オブジェクトが第1のオブジェクトOB1から第2のオブジェクトOB2に変更になる例を示している。まず第1のオブジェクトOB1がタッチされ、タッチパネル上で接触位置をスライドさせる操作(タッチパネルによるジョイスティックを模した入力操作)が行われると、得られた入力ベクトルに応じて第1のオブジェクトOB1がD1からD2に移動する。
次に第2のオブジェクトOB2がタッチされると、対象オブジェクトが第1のオブジェクトOB1から第2のオブジェクトOB2に変更になる。その後タッチパネル上で接触位置をスライドさせる操作(タッチパネルによるジョイスティックを模した入力操作)が行われると、入力ベクトルに応じて第2のオブジェクトOB1がD1からD2に移動する。
図16(A)(B)は、移動制御の対象となる対象オブジェクトが第1のオブジェクトOB1から、第1のオブジェクトOB1と第2のオブジェクトOB2の両方に変更になる例を示している。まず第1のオブジェクトOB1がタッチされ、タッチパネル上で接触位置をスライドさせる操作(タッチパネルによるジョイスティックを模した入力操作)が行われると、得られた入力ベクトルに応じて第1のオブジェクトOB1がD1からD2に移動する。
次に第2のオブジェクトOB2がタッチされると、対象オブジェクトが第1のオブジェクトOB1から第1のオブジェクトOB1と第2のオブジェクトOB2の両方に変更になる。その後タッチパネル上で接触位置をスライドさせる操作(タッチパネルによるジョイスティックを模した入力操作)が行われると、入力ベクトルに応じて第1のオブジェクトOB1と第2のオブジェクトOB2がD2からD3に移動する。
3.本実施の形態の処理
図17は、本実施の形態の入力判定処理の流れを示すフローチャートである。
図17に示す処理をフレーム毎に行う。
フレーム毎に接触位置に情報を取得する(ステップS10)。接触位置の情報がタッチパネルに接触していることを示していない場合には(ステップS20でN)、接触フラグをOFFにする(ステップS30)。接触位置の情報がタッチパネルに接触していることを示している場合には(ステップS20でY)、接触フラグがONでない場合には(ステップS40でN)、接触点を基準点に設定し(ステップS50)、接触フラグをONに設定する(ステップS60)。接触フラグがONである場合には(ステップS40でY)、接触点がリセットエリアである場合(ステップS70でY)、基準点をリセットし(ステップS80)、基準点リセットメッセージを出力して、接触フラグをOFFにする(ステップS90)。接触点がリセットエリアでない場合(ステップS70でN)、入力方向判定処理(ステップS100)を行う。
図18は、図17の入力方向判定処理(ステップS100)の流れを示すフローチャートである。
前回の接触位置と今回の接触位置とに基づき第2の方向を求める(ステップS110)。次に第2の方向と前回の入力方向(第1の方向)のなす角に基づき基準点変更条件を判断する(ステップS120)。
基準点変更条件を満たす場合(ステップS130でY)には、基準点を前回の接触位置に変更する(ステップS140)。そして基準点と今回の接触位置に基づき入力方向を求める(ステップS150)。なお基準点を始点とし回の接触位置を終点とする入力ベクトルをもとめ、入力ベクトルの方向をジョイスティックを倒している方向(入力方向)とし、入力ベクトルの大きさをジョイスティックの倒し具合と見なして、ジョイスティックを模した入力操作による制御をおこなってもよい。
4.ネットワークシステム
4−1. オンラインゲームの処理例1
本実施形態では、複数の端末10とネットワークを介して相互にデータの送受信を行い、対戦ゲームを実現可能としてもよい。つまり、本実施形態では、ピア・ツー・ピア方式のオンラインゲームに適用してもよい。
図19及び図20は、本実施形態のネットワークシステムの構成を示す図である。例えば、本実施形態のネットワークシステムでは、複数の端末10A〜10Cの間で無線通信を行って、各端末10A〜10Cの所有者が対戦プレイや協力プレイを行うことができる。なお、本実施形態のネットワークシステムでは、複数の端末10A〜10Cの間で有線通信を行ってもよい。
無線通信の態様としては、図19に示すように、各端末10A〜10Cが自律分散的にネットワークを構築し、直接的にゲーム情報等を含むパケットの送受信を行うアドホックモードと、図20に示すように、端末10AがアクセスポイントACSP1を介し、端末10B、10CがアクセスポイントACSP2を介して、間接的にゲーム情報等を含むパケットの送受信を行うインフラストラクチャモードとがある。インフラストラクチャモードでは、アクセスポイントACSP1又はASCP2を介してインターネットInet(公衆通信網)にアクセスすることができる。そして、各端末10A〜10Cは、インターネットInetに接続されたサーバ20との間でゲーム情報あるいはファームウェアのアップデート情報等を含むパケットを、アクセスポイントACSP1又はACSP2を介して送受信することができる。
本実施形態のネットワークシステムは、端末10Aのキャラクタが、他の端末10Bのキャラクタと対戦するゲーム処理を行うようにしてもよい。また、本実施形態のネットワークシステムは、複数の端末10A、10Bそれぞれの操作対象のキャラクタによって構成される第1のグループと、他の複数の端末10C他のそれぞれの操作対象のキャラクタによって構成される第2のグループとが対戦を行うゲーム処理を行うようにしてもよい。
また、本実施形態では、各端末が相互にネットワークを介して移動情報等のデータに基づいて、端末のオブジェクト空間に配置される他のキャラクタ(他の端末を操作するプレーヤの操作対象のキャラクタ)を移動・動作させる。つまり、各端末10は、ネットワークを介して、キャラクタの位置制御、移動制御などを含むデータ、アナログレバー、ボタンの入力情報、加速度値などのデータを送受信する。
例えば、描画のフレームレートで(例えば、1/60秒毎)、端末10Aが、端末10Aの操作対象のキャラクタの位置を端末10Bに送信する。一方、端末10Bにおいても、端末10Aと同じように、描画のフレームレートで端末10Bの操作対象のキャラクタの位置を端末10Aに送信する。
また、各端末は、各端末にタッチパネルに対する接触位置(指示位置の一例)に基づいて、ジョイスティックを模した入力操作による制御を行えるように構成されている。
4−2. オンラインゲームの処理例2
また、本実施形態では、クライアント・サーバ方式のオンラインゲームに適用してもよい。つまり、サーバ20が、端末10で行う一部の処理(例えば、処理部100の少なくとも1つの処理)を行うようにしてもよい。図21に示すように、サーバ20が、ネットワーク(例えば、インターネット)を介して複数の端末10A〜10Cと接続され、サーバ20が、端末10から入力情報を受信する。そして、サーバ20が、受信した第1、第2、第3の入力情報に基づいて画像を生成し、生成した画像を端末10に送信してもよい。
また、サーバ20は各端末から受信した各端末のタッチパネルに対する接触位置(指示位置の一例)に基づいて、各端末の入力判定処理を行うようにしてもよい。
例えば、サーバ20は、ソーシャル・ネットワーキング・サービス(以下、「SNS」という。)と呼ばれる、コミュニティ型のサービスをユーザに提供するサーバとして機能してもよい。
また、サーバ20は、Webサーバ機能を備えていてもよい。例えば、端末10がWebページ(HTML(HyperText Markup Language)形式のデータ)を閲覧可能なウェブブラウザを備えていている場合には、サーバ20は端末10にブラウザゲームを提供してもよい。例えば、サーバ20は、端末10に対して、Webページ(例えば、ゲームサービスを提供するためのアドレス(URL:Uniform Resource Locator)を公開する。そして、サーバ20が、端末10から当該Webページのアドレスへの要求を受信した場合には、当該端末10に対して当該Webページのゲームデータを送信し、端末10から受信した入力情報に基づいてゲーム処理を行うようにしてもよい。なお、ゲームデータは、ブラウザゲーム処理で用いる各種パラメータのほか、画像データ(入れ替え画面用の画像データや、キャラクタCH、敵キャラクタEを含む画像データ、ゲーム結果画像等)、音声データ等を含む。
図22は、サーバ20の機能ブロック図の例を示す。なお本実施形態のサーバ20は図21の構成要素(各部)の一部を省略した構成としてもよい。
記憶部270は、処理部200や通信部296などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。オブジェクトデータ記憶部273には、オブジェクトに関する各種データが記憶されている。
情報記憶媒体280(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、あるいはメモリ(ROM)などにより実現できる。処理部200は、情報記憶媒体280に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。情報記憶媒体280には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。
通信部296は外部(例えば端末10、他のサーバ)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、他のサーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体280や記憶部270に記憶してもよい。このようにプログラムやデータを受信してサーバ20を機能させる場合も本発明の範囲内に含む。
処理部200(プロセッサ)は、受信したデータやプログラムなどに基づいて、ゲーム処理、画像生成処理、音処理などの処理を行う。
この処理部200は記憶部270内の主記憶部271をワーク領域として各種処理を行う。処理部200の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部200は、オブジェクト空間設定部210、取得部211、基準点変更処理部212、入力方向判定部213、移動制御部214、ゲーム処理部215、表示制御部216、画像生成部220、通信制御部221、音処理部230とを含む。なお、これらの一部を省略する構成としてもよい。
取得部211は、端末から撮像画像情報やプレーヤの入力情報や端末の入力部からの入力情報(加速度値)を取得する処理を行う。
入力方向判定部213は、基準点と指示位置により入力方向を判定し、基準点変更処理部212は、基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミング又はそれ以前の指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する処理を行う。
移動制御部214は、入力方向に基づき、移動制御を行う。
基準点変更処理部212は、過去の指示位置に基づき変更後の基準点の位置を決定してもよい。
表示制御部216は、オブジェクトの表示制御を行い、移動制御部214は、入力方向に基づき、表示されるオブジェクトの移動制御を行ってもよい。
取得部211は、前記指示位置として、表示部に対する接触位置の情報を取得する接触位置情報取得部として機能してもよい。
基準点リセット処理部217は、所定の入力情報に基づき、設定されている基準点をリセットしてもよい。
また基準点リセット処理部217は、表示部の所定の領域に対応する領域をリセットエリアとして設定し、表示部に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットしてもよい。
入力モード変更処理218は、所定の入力情報に基づき現在設定されている入力モードを変更する処理をおこない、入力方向判定部213は、第1の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めてもよい。
移動制御部214は、接触位置の情報に基づき対象オブジェクトを変更し、入力方向に基づき変更後の対象オブジェクトの移動制御を行ってもよい。
オブジェクト空間設定部211は、オブジェクト(キャラクタなど)をオブジェクト空間(仮想的3次元空間)に配置する処理を行う。例えば、オブジェクト空間設定部211は、端末10のオブジェクト空間設定部111と同様の処理を行う。
ゲーム処理部215は、端末10のゲーム処理部115と同様な処理を行う。
また、特にサーバ20のゲーム処理部215は、端末10にブラウザゲームを提供するための処理を行うようにしてもよい。例えば、ゲーム処理部215は、端末10からゲームサービスを提供するWebページのアドレスへの要求を受信した場合には、当該端末10に対して当該Webページのゲームデータを送信し、端末10から受信した入力情報に基づいてゲーム処理を行うようにしてもよい。
画像生成部220は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。例えば、画像生成部220は、端末10の画像生成部120と同様の処理を行う。
通信制御部221は、端末10とネットワークを介して相互にデータを送受信する処理を行うようにしてもよい。
なお、本実施形態のサーバ20は、通信制御で必要となるネットワーク情報を端末10に送信してもよい。なお、例えば、サーバ20は、各端末に個別に付与される端末の識別情報と、端末の識別情報に対応づけられたパケットの送信先を指定する宛先情報を管理する。
サーバ20の通信制御部221は、端末10に送信するパケットを生成する処理、パケット送信先の端末のIPアドレスやポート番号を指定する処理、受信したパケットに含まれるデータを記憶部270に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する制御処理等を行う。
また、本実施形態の通信制御部221は、端末と接続が確立されてから接続が切断されるまで、データを所定周期(例えば、1秒周期で)互いに送受信する処理を行う。ここで、端末10から送信されるデータは、端末10の入力部160からの入力情報としてもよいし、各端末10の操作対象のオブジェクト(キャラクタ、移動体)の位置情報、移動情報としてもよい。
また、本実施形態の通信制御部221は、端末10から送信されたパケットを受信すると、受信したパケットを解析し、パケットに含まれる他の端末の操作対象のオブジェクトの位置情報などのデータを主記憶部271に記憶する処理を行う。
特に、本実施形態の通信制御部221は、プレーヤの入力情報を受信する処理を行う。
また、通信制御部221は、端末10から、端末10の入力部からの入力情報(加速度値)を受信する処理を行うようにしてもよい。
また、通信制御部221は、端末10に各種ゲームデータを送信する。なお、通信制御部221は、ゲーム端末10の表示部190に表示させるための種々の画像(例えば拡張現実画像)を送信してもよい。
画像生成部220は、処理部200で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成する。画像生成部220の処理は、端末10の画像生成部120と同様な処理を行う。
また本発明は、個人用または業務用等の種々のゲームシステムに適用できる。また、本実施形態では、優劣判定ゲーム、対戦ゲーム、ロールプレイングゲーム、アクションゲーム等に限らず、種々のゲームに応用してもよい。例えば、これらの種々のゲームを提供するサーバで行うようにしてもよい。
なお、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。なお、本実施形態で説明した実施例は、自由に組み合わせることができる。
上記実施の形態では、タッチパネルでジョイスティックを模した操作を実現する場合についての入力判定を例にとり説明したが、これに限られない。基準点と接触位置に基づいて入力方向を判定する場合に適用可能である。
また本実施の形態の入力判定方法により取得した入力方向を用いてオブジェクトの移動制御を行う際には、表示画面上のオブジェクトが接触されている必要はない。移動制御の対象となるオブジェクトが選択された状態、又は移動制御の対象となるオブジェクトが決まっている場合や自動で選択される場合であれば、画面上の任意の位置(対象オブジェクトにタッチする必要はない)で接触位置をスライドさせることにより得られる入力ベクトルを用いて、対象オブジェクトの移動制御を行うことができる。
100 処理部、110 オブジェクト空間設定部、111 取得部、
112 基準点変更処理部、113 入力方向判定部、114 移動制御部、115 ゲーム処理部、116 表示制御部、117 基準点リセット処理部、118 入力モード変更処理部、120 画像生成部、121 通信制御部、130 音処理部、160 入力部、162 検出部、
170 記憶部、171 主記憶部、172 画像バッファ、
200 処理部、210 取得部、212 基準点変更処理部、213 入力方向判定部、214 移動制御部、215 ゲーム処理部、216 表示制御部、217 基準点リセット処理部、218 入力モード変更処理部、220 画像生成部、
221 通信制御部、230 音処理部

Claims (15)

  1. 指示位置に基づいて入力方向を判定する処理を行うプログラムであって、
    基準点と指示位置により入力方向を判定する入力方向判定部と、
    基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、してコンピュータを機能させるプログラム。
  2. 請求項1において、
    入力方向に基づき、移動制御を行う移動制御部と、してさらにコンピュータを機能させるプログラム。
  3. 請求項1又は2において、
    前記基準点変更処理部は、
    過去の指示位置に基づき変更後の基準点の位置を決定するプログラム。
  4. 請求項2又は2に従属する3において、
    オブジェクトの表示制御を行う表示制御部をさらに含み、
    前記移動制御部は、
    入力方向に基づき、表示されるオブジェクトの移動制御を行うプログラム。
  5. 請求項1乃至4のいずれかにおいて、
    前記指示位置として、表示部に対する接触位置の情報を取得するプログラム。
  6. 請求項1乃至5のいずれかにおいて、
    所定の入力情報に基づき、設定されている基準点をリセットする基準点リセット処理部と、してさらにコンピュータを機能させるプログラム。
  7. 請求項5に従属する6において、
    前記基準点リセット処理部は、
    表示部の所定の領域に対応する領域をリセットエリアとして設定し、
    表示部に対する接触位置の情報に基づき、前記リセットエリアが接触されたか否かを判断し、接触されたと判断した場合には、基準点をリセットするプログラム。
  8. 請求項1乃至7のいずれかにおいて、
    所定の入力情報に基づき現在設定されている入力モードを変更する入力モード変更処理部と、してさらにコンピュータを機能させ、
    前記入力方向判定部は、
    第1の入力モードが設定されている場合には、入力情報として、基準点と指示位置の指示位置により入力方向を求めるプログラム。
  9. 請求項2又は2に従属する3乃至8のいずれかにおいて、
    前記移動制御部は、
    接触位置の情報に基づき対象オブジェクトを変更し、入力方向に基づき変更後の対象オブジェクトの移動制御を行うプログラム。
  10. 請求項1乃至9のいずれかにおいて、
    前記基準点変更処理部は、
    第1のタイミング又それ以前の複数のタイミングの接触位置に基づき、第1の方向を決定するプログラム。
  11. 請求項1乃至10のいずれかにおいて、
    前記基準点変更処理部は、
    第2のタイミング以前の3つ以上のタイミングの接触位置に基づき、第2の方向を決定するプログラム。
  12. コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜11のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
  13. 指示位置に基づいて入力方向を判定する処理を行う端末であって、
    基準点と指示位置により入力方向を判定する入力方向判定部と、
    基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含む端末。
  14. 端末に対する指示位置に基づいて入力方向を判定する処理を行うサーバであって、
    ネットワークを介して端末から指示位置に関する情報を受信する通信制御部と、
    基準点と指示位置により入力方向を判定する入力方向判定部と、
    基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含むサーバ。
  15. ネットワークを介して接続された端末とサーバとを含み、前記端末に対する指示位置に基づいて入力方向を判定する処理を行うネットワークシステムであって、
    端末の指示位置に関する情報を取得する取得部と、
    基準点と指示位置により入力方向を判定する入力方向判定部と、
    基準点と第1のタイミング又はそれ以前の指示位置により得られる第1の方向と、第1のタイミングの指示位置と第1のタイミングより後の第2のタイミングの指示位置により得られる第2の方向のなす角度、又は複数のタイミングにおける指示位置を結ぶ結線の方向のなす角度に基づき基準点を変更するか否か判断して、基準点を変更する基準点変更処理部と、を含むネットワークシステム。
JP2011276512A 2011-12-16 2011-12-16 プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム Pending JP2013127683A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011276512A JP2013127683A (ja) 2011-12-16 2011-12-16 プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム
EP12196892.9A EP2605118A3 (en) 2011-12-16 2012-12-13 Input direction determination system, terminal, server, network system, and input direction determination method
US13/713,133 US9652063B2 (en) 2011-12-16 2012-12-13 Input direction determination system, terminal, server, network system, information storage medium, and input direction determination method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011276512A JP2013127683A (ja) 2011-12-16 2011-12-16 プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム

Publications (1)

Publication Number Publication Date
JP2013127683A true JP2013127683A (ja) 2013-06-27

Family

ID=47563031

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011276512A Pending JP2013127683A (ja) 2011-12-16 2011-12-16 プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム

Country Status (3)

Country Link
US (1) US9652063B2 (ja)
EP (1) EP2605118A3 (ja)
JP (1) JP2013127683A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016126514A (ja) * 2014-12-26 2016-07-11 株式会社バンダイナムコエンターテインメント 入力処理装置及びプログラム
JP2016214888A (ja) * 2016-06-10 2016-12-22 グリー株式会社 ゲームプログラム、情報処理方法、及び情報処理装置
JP2017174144A (ja) * 2016-03-23 2017-09-28 株式会社スクウェア・エニックス プログラム、コンピュータ装置、プログラム実行方法、及び、システム
JP6244445B1 (ja) * 2016-12-22 2017-12-06 株式会社コロプラ 情報処理方法、装置、及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018183214A (ja) * 2017-04-24 2018-11-22 株式会社ユニバーサルエンターテインメント 遊技機
WO2018216080A1 (ja) 2017-05-22 2018-11-29 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
WO2018216078A1 (ja) 2017-05-22 2018-11-29 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
WO2018216079A1 (ja) 2017-05-22 2018-11-29 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
WO2020067133A1 (ja) * 2018-09-26 2020-04-02 株式会社Cygames プログラム、処理装置及び処理方法
JP2022000769A (ja) * 2014-04-04 2022-01-04 株式会社コロプラ ユーザインターフェースプログラムおよびゲームプログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102104057B1 (ko) * 2013-07-09 2020-04-23 삼성전자 주식회사 점별로 테셀레이션 팩터를 할당하는 방법과 상기 방법을 수행할 수 있는 장치들
JP6035290B2 (ja) * 2014-07-29 2016-11-30 京セラドキュメントソリューションズ株式会社 表示入力装置及びこれを備えた画像形成装置
KR102292312B1 (ko) * 2014-10-02 2021-08-24 삼성전자주식회사 전자 장치 및 전자 장치의 디스플레이 제어 방법
JP6310898B2 (ja) * 2015-11-17 2018-04-11 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、情報処理装置、および画像処理方法
JP6185123B1 (ja) * 2016-08-18 2017-08-23 グリー株式会社 プログラム、制御方法、及び情報処理装置
JP6389581B1 (ja) * 2018-05-16 2018-09-12 株式会社Cygames プログラム、電子装置、及び方法
JP6748281B1 (ja) * 2019-12-10 2020-08-26 株式会社Cygames サーバ、処理システム、処理方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153115A (ja) * 1997-07-30 1999-02-26 Nec Gumma Ltd 入力装置
JP2006034516A (ja) * 2004-07-26 2006-02-09 Nintendo Co Ltd ゲームプログラム、ゲーム装置、および入力装置
JP2011103044A (ja) * 2009-11-10 2011-05-26 Sony Computer Entertainment Inc プログラム、情報記憶媒体、情報入力装置、及びその制御方法
JP2011239985A (ja) * 2010-05-19 2011-12-01 Nintendo Co Ltd ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001015067A1 (de) * 1999-08-23 2001-03-01 Siemens Aktiengesellschaft Verfahren und anordnung zur eingabe von steuersignalen
JP3734820B1 (ja) * 2004-09-03 2006-01-11 任天堂株式会社 ゲームプログラム、ゲーム装置、および入力装置
JP2006146556A (ja) * 2004-11-19 2006-06-08 Nintendo Co Ltd 画像表示処理プログラムおよび画像表示処理装置
JP4322225B2 (ja) 2005-04-26 2009-08-26 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP4819467B2 (ja) * 2005-10-04 2011-11-24 任天堂株式会社 オブジェクト移動制御プログラムおよび情報処理装置
JP2010146266A (ja) * 2008-12-18 2010-07-01 Seiko Epson Corp 表示装置及びプログラム
US20100177051A1 (en) * 2009-01-14 2010-07-15 Microsoft Corporation Touch display rubber-band gesture
JP4932010B2 (ja) * 2010-01-06 2012-05-16 株式会社スクウェア・エニックス ユーザインタフェース処理装置、ユーザインタフェース処理方法、およびユーザインタフェース処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1153115A (ja) * 1997-07-30 1999-02-26 Nec Gumma Ltd 入力装置
JP2006034516A (ja) * 2004-07-26 2006-02-09 Nintendo Co Ltd ゲームプログラム、ゲーム装置、および入力装置
JP2011103044A (ja) * 2009-11-10 2011-05-26 Sony Computer Entertainment Inc プログラム、情報記憶媒体、情報入力装置、及びその制御方法
JP2011239985A (ja) * 2010-05-19 2011-12-01 Nintendo Co Ltd ゲーム装置、ゲームプログラム、ゲームシステム、およびゲーム処理方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7174820B2 (ja) 2014-04-04 2022-11-17 株式会社コロプラ ユーザインターフェースプログラムおよびゲームプログラム
JP2022000769A (ja) * 2014-04-04 2022-01-04 株式会社コロプラ ユーザインターフェースプログラムおよびゲームプログラム
JP2016126514A (ja) * 2014-12-26 2016-07-11 株式会社バンダイナムコエンターテインメント 入力処理装置及びプログラム
US10901549B2 (en) 2016-03-23 2021-01-26 Square Enix Co., Ltd. Program, computer apparatus, program execution method, and system
JP2017174144A (ja) * 2016-03-23 2017-09-28 株式会社スクウェア・エニックス プログラム、コンピュータ装置、プログラム実行方法、及び、システム
JP2016214888A (ja) * 2016-06-10 2016-12-22 グリー株式会社 ゲームプログラム、情報処理方法、及び情報処理装置
JP6244445B1 (ja) * 2016-12-22 2017-12-06 株式会社コロプラ 情報処理方法、装置、及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018102378A (ja) * 2016-12-22 2018-07-05 株式会社コロプラ 情報処理方法、装置、及び当該情報処理方法をコンピュータに実行させるためのプログラム
JP2018183214A (ja) * 2017-04-24 2018-11-22 株式会社ユニバーサルエンターテインメント 遊技機
WO2018216079A1 (ja) 2017-05-22 2018-11-29 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
US11071911B2 (en) 2017-05-22 2021-07-27 Nintendo Co., Ltd. Storage medium storing game program, information processing apparatus, information processing system, and game processing method
US11117048B2 (en) 2017-05-22 2021-09-14 Nintendo Co., Ltd. Video game with linked sequential touch inputs
US11198058B2 (en) 2017-05-22 2021-12-14 Nintendo Co., Ltd. Storage medium storing game program, information processing apparatus, information processing system, and game processing method
WO2018216078A1 (ja) 2017-05-22 2018-11-29 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
WO2018216080A1 (ja) 2017-05-22 2018-11-29 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
JP2020052620A (ja) * 2018-09-26 2020-04-02 株式会社Cygames プログラム、処理装置及び処理方法
WO2020067133A1 (ja) * 2018-09-26 2020-04-02 株式会社Cygames プログラム、処理装置及び処理方法

Also Published As

Publication number Publication date
US20130154974A1 (en) 2013-06-20
EP2605118A3 (en) 2017-10-25
EP2605118A2 (en) 2013-06-19
US9652063B2 (en) 2017-05-16

Similar Documents

Publication Publication Date Title
JP2013127683A (ja) プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム
JP6643776B2 (ja) 端末装置及びプログラム
JP5089079B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP5813948B2 (ja) プログラム及び端末装置
JP5085059B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP6959365B2 (ja) 中心窩レンダリングシステムにおけるシャドーの最適化及びメッシュスキンの適応
JP2009237680A (ja) プログラム、情報記憶媒体および画像生成システム
JP2007300974A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2008225985A (ja) 画像認識システム
JP6427414B2 (ja) 入力処理装置及びプログラム
JP6616072B2 (ja) 入力処理装置及びプログラム
JP6623008B2 (ja) ゲーム装置及びプログラム
JP2013208214A (ja) プログラム、情報記憶媒体及びサーバ
JP6928060B2 (ja) 入力処理装置及びプログラム
JP5995304B2 (ja) プログラム、情報記憶媒体、端末及びサーバ
JP2014199479A (ja) プログラム及び情報処理装置
JP2016126514A (ja) 入力処理装置及びプログラム
JP2007164557A (ja) プログラム、情報記録媒体および画像生成システム
JP2019166218A (ja) プログラム及びゲーム装置
JP2005032140A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP6385272B2 (ja) 入力処理装置及びプログラム
JP2010246759A (ja) プログラム、情報記憶媒体、ゲームシステム及びネットワークシステム
JP5063022B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP6956209B2 (ja) 端末装置及びプログラム
JP2008071049A (ja) プログラム、情報記憶媒体、及び画像生成システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140122