JP2006034516A - ゲームプログラム、ゲーム装置、および入力装置 - Google Patents

ゲームプログラム、ゲーム装置、および入力装置 Download PDF

Info

Publication number
JP2006034516A
JP2006034516A JP2004217440A JP2004217440A JP2006034516A JP 2006034516 A JP2006034516 A JP 2006034516A JP 2004217440 A JP2004217440 A JP 2004217440A JP 2004217440 A JP2004217440 A JP 2004217440A JP 2006034516 A JP2006034516 A JP 2006034516A
Authority
JP
Japan
Prior art keywords
coordinate
designated
coordinates
input
game
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.)
Granted
Application number
JP2004217440A
Other languages
English (en)
Other versions
JP3734819B1 (ja
Inventor
Keizo Ota
敬三 太田
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=35335587&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2006034516(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2004217440A priority Critical patent/JP3734819B1/ja
Priority to EP07014987A priority patent/EP1844824A3/en
Priority to US11/156,493 priority patent/US7824266B2/en
Priority to EP05013346.1A priority patent/EP1621238B2/en
Application granted granted Critical
Publication of JP3734819B1 publication Critical patent/JP3734819B1/ja
Publication of JP2006034516A publication Critical patent/JP2006034516A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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/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
    • 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
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1018Calibration; Key and button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1043Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • A63F2300/1075Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad using a touch screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/301Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device using an additional display connected to the game console, e.g. on the controller
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands

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)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 ポインティングデバイスを用いてジョイスティックを模した操作を行い、プレイヤの操作感覚に一致させることによって操作の混乱を防ぎ、操作のレスポンスも向上させたゲームプログラム、ゲーム装置、および入力装置を提供する。
【解決手段】 ジョイスティックを模した操作を行うためにポインティングデバイスに設定される原点が、プレイヤの操作に引き寄せられて移動するため、ポインティングデバイスを用いた操作をプレイヤの操作感覚に一致させることができる。また、ポインティングデバイスで操作を行っている点と上記原点との距離が必要以上に長くはならないため、操作のレスポンスも向上させることができる。
【選択図】 図3

Description

本発明は、ゲームプログラム、ゲーム装置、および入力装置に関し、より特定的には、タッチパネル等のポインティングデバイスを用いたコンピュータゲームで用いられるゲームプログラム、ゲーム装置、および入力装置に関する。
従来、ジョイスティックをコントローラとして用いるゲームが各種開発されている。ジョイスティックにはレバーが設けられており、当該レバーをプレイヤが前後左右に倒すことによってその方向に応じた入力が行われる。一般的には、ジョイスティックを倒した方向とその倒し具合とを、それぞれ入力方向および入力量としてゲーム装置で処理される。そして、プレイヤがジョイスティックのレバーをある方向にある量だけ倒してその位置で保持している場合、その位置情報が継続的に出力されて入力方向および入力量としてゲーム装置で処理される。なお、ジョイスティックは、家庭用ゲーム装置のコントローラの他に、一般的なパーソナルコンピュータにも用いられる。
一方、プレイヤがタッチパネルを用いて操作する入力装置も開発されている(例えば、特許文献1および特許文献2参照)。特許文献1で開示された入力装置は、当該特許文献1の図1および図3に示されているように、プレイヤがタッチパネルを使用し、予めタッチパネル上の決められた原点からポインティングした点への方向および距離を、カーソルの移動方向および移動速度に利用していた。また、特許文献2で開示された入力装置では、当該特許文献2の図6に示されているように、タッチパネルが装着されたディスプレイにゲーム画面が表示されている。そして、プレイヤがタッチパネルをタッチした指の動きのベクトル量に応じた動きで、タッチして選択された対象をゲーム画面上で移動させる。
ここで、タッチパネルを備えるゲーム装置でジョイスティックを模した操作を実現することができれば便利である。この場合、結果的に欲しい情報は、ジョイスティックの入力値に相当するXY2軸のベクトル値である。このベクトル値を、スティック座標系でベクトル値(sx、sy)と表す。そして、このベクトル値(sx、sy)が示す方向がジョイスティックを倒している方向であり、このベクトル値の長さがジョイスティックの倒し具合となる。また、ジョイスティックを最大まで倒した状態を長さ「1」と設定する。この場合、sx=−1〜+1、sy=−1〜+1であり、長さ「0」の時、ジョイスティックがニュートラル(直立)状態であることを示す。
また、スティック座標系のベクトル値(sx、sy)は、タッチパネル座標系で示されるタッチパネル上にある原点(ox、oy)およびプレイヤがタッチパネルを押圧している点(tx、ty)を用いて、次の式から求められる。
sx=(tx−ox)×ratio
sy=(ty−oy)×ratio
ここで、ratioは、タッチパネル座標系のどれくらいの長さをスティック座標系での長さ「1」と見なすかを定める変換比率である。例えば、タッチパネル座標系で原点から長さ「10」離れた所で、スティック座標系の「1」と見なす場合は、ratio=1÷10=0.1に設定される。
特開平11−53115号公報 特開平7−182092号公報
上記特許文献1に開示された発明は、タッチパネルを押圧している点と原点との差を情報処理に利用したものであるが、特許文献1に開示された発明の入力方式をそのままジョイスティックを模した操作に適用すると種々の問題点がある。図13および図14を参照して、特許文献1で開示された入力装置における課題を説明する。なお、紙面において左右方向をタッチパネル座標のX軸方向(右方向がプラス方向)とし、上下方向をY軸方向(上方がプラス方向)とする。また、Oがタッチパネル座標の原点である。
図13は、プレイヤがタッチパネルを用いて真上へのスティック入力(ジョイスティックを真上に倒すことに相当する入力;スティック座標値がsx=0かつsy>0になるような入力)から右方向へのスティック入力(ジョイスティックを真右に倒すことに相当する入力;スティック座標値がsx>0かつsy=0になるような入力)に移行する際の操作例を示している。図14は、プレイヤがタッチパネルを用いて右方向へのスティック入力から左方向へのスティック入力(ジョイスティックを真左に倒すことに相当する入力;スティック座標値がsx<0かつsy=0になるような入力)に移行する際の操作例を示している。なお、図13および図14において、手を表すマークが記されているが、これは、タッチパネルを押圧するプレイヤの手を模式的に表したものである。
図13(a)において、タッチパネルを用いて真上へのスティック入力を行う場合、プレイヤは、タッチパネルに設けられた原点O(ox、oy)の上方向(Y軸に平行でY値が増す方向)にある点T1(t1x、t1y)を押圧する。そして、原点(ox、oy)および点T1(t1x、t1y)を用いて、真上方向のベクトル値V1が得られる。
一方、図13(b)において、タッチパネルを用いて右方向へのスティック入力を行う場合、プレイヤは、タッチパネルに設けられた原点O(ox、oy)の右方向(X軸に平行でX軸が増す方向)にある点T2(t2x、t2y)を押圧する必要がある。そして、原点(ox、oy)および点T2(t2x、t2y)を用いて、右方向のベクトル値V2が得られる。したがって、プレイヤは、タッチパネルを用いて真上へのスティック入力から、右方向へのスティック入力に移行する際、図示破線で示すように点T1から見て右下のタッチポイントを目指してタッチパネルを押圧しなければならない。つまり、右方向へのスティック入力をしたい場合、プレイヤの操作としては現在ポインティングしている点から右方向(X軸に平行でX軸が増す方向)へ押圧点を動かしたくなるが(またはそのほうが都合が良いが)、現在ポインティングしている点が原点からみて上下方向にずれている場合、右方向に押圧点を動かしただけでは不十分であることになる。例えば、現在ポインティングしている点が原点の上方向である場合、右方向のスティック入力をする為には右下方向へ移動させる必要があり、感覚のズレが操作の混乱を招いてしまうし、原点の位置を絶えず確認しておく必要がある。
実際のジョイスティックの場合、レバーをガイドする枠があるため、例えば上方向最大までレバーを倒した状態から右方向へ傾倒力を加えた場合、レバーはガイドに沿って自然と右下方向に移動し、やがて右方向最大までレバーを倒した状態となる。しかしながら、タッチパネルを用いてジョイスティックを模した操作を実現する場合、上記のようなガイドがないため、プレイヤは意図的に右下方向に押圧点を移動しなければならないのである。また、実際のジョイスティックの場合、レバーの傾倒状態は指や手の感覚で感じ取ることができるため、ジョイスティックの原点を目で確認する必要がないが、タッチパネルを用いてジョイスティックを模した操作を実現する場合、指の感覚で原点を感じることができないため、原点の位置を目で確認する必要が生じてしまうのである。
また、図14(a)において、タッチパネルを用いて右方向のスティック入力を行う場合、プレイヤは、タッチパネルに設けられた原点O(ox、oy)の右方向にある点T3(t3x、t3y)を押圧する。そして、原点(ox、oy)および点T3(t3x、t3y)を用いて、右方向のベクトル値V3が得られる。
そして、プレイヤがタッチパネルを用いて上述した点T3による右方向のスティック入力から、左方向のスティック入力に移行する場合、プレイヤの操作としてはポインティングしている点T3から少し左方向(X軸に平行でX軸が減少する方向)へ押圧点を動かしたくなる。しかしながら、図14(b)に示すように、点T3から少し左方向の点T4(t4x、t4y)を押圧した場合、点T4が原点Oの右方向にあるかぎり右方向のベクトル値V4が得られてしまう。
したがって、プレイヤがタッチパネルを用いて上述した点T3による右方向のスティック入力から左方向のスティック入力に移行する場合、プレイヤの操作としてはポインティングしている点T3から原点Oを超えた左方向に押圧点を動かさなくてはならない。例えば、図14(c)に示すように、タッチパネルを用いて左方向のスティック入力を行う場合、プレイヤは、タッチパネルに設けられた原点O(ox、oy)の左方向にある点T5(t5x、t5y)を押圧する必要がある。そして、原点(ox、oy)および点T5(t5x、t5y)を用いて、左方向のベクトル値V5が得られる。したがって、プレイヤは、タッチパネルを用いて右方向のスティック入力から左方向のスティック入力に移行する際、図示破線で示すように点T3から見て原点を超えた左方向のタッチポイントを目指してタッチパネルを押圧しなければならない。すなわち、押圧点を長い距離移動しなければならないし、原点の位置を確認しながら操作する必要が生じてしまう。
実際のジョイスティックの場合、レバーをガイドする枠があるため、例えば右方向最大までレバーを倒した状態からさらに右方向にレバーを倒すことはできない。しかしながら、タッチパネルを用いてジョイスティックを模した操作を実現する場合、上記のようなガイドがないため、タッチパネル平面内であればいくらでも右方向に押圧点を移動することができるため、左方向の入力に変更したい場合に、押圧点を長い距離だけ移動しなければならなくなる(すなわち操作のレスポンスが悪くなる)のである。
特に、タッチパネルの所定領域(例えば原点Oを中心とした円領域)を各スティック座標値に割り当て、当該所定領域外をタッチ操作したときは最大のスティック入力量が入力されたとみなして処理するようにすれば、よりジョイスティックに近い操作を実現することができるが、この場合、所定領域外をタッチ操作しているときにスティックの入力量を変更したいときには所定領域内まで押圧点を移動する必要があり、また、スティック入力の方向を変更したいときには、押圧点を長い距離移動させる必要が生じることになる。また、実際のジョイスティックの場合、レバーの傾倒状態は指や手の感覚で感じ取ることができるため、ジョイスティックの原点を目で確認する必要がないが、タッチパネルを用いてジョイスティックを模した操作を実現する場合、指の感覚で原点を感じることができないため、原点の位置を目で確認する必要が生じてしまうのである。
なお、特許文献1には、プレイヤの指の移動軌跡にあわせ相対的にカーソルを移動させる方式も開示されている。また、特許文献2では、プレイヤがタッチパネルをタッチした指の動きのベクトルに応じた動きで、タッチして選択された対象をゲーム画面上で移動させる方式が開示されている。しかしながら、これらの方式では、プレイヤの指が移動しない限り入力がされないため、ジョイスティックを模した入力を実現することができない。なぜなら、実際のジョイスティックはレバーを所定位置で保持しているときに一定の入力が継続して出力されるものであるからである。より具体的に言えば、特許文献2で開示された方式を用いてタッチした指の動きのベクトルに応じた動きでゲームオブジェクトを移動させる場合、ゲームオブジェクトを移動させるためには指を動かし続けなければならない。
それ故に、本発明の目的は、ポインティングデバイスを用いてジョイスティックを模した操作を行い、プレイヤの操作感覚に一致させることによって操作の混乱を防ぎ、操作のレスポンスも向上させたゲームプログラム、ゲーム装置、および入力装置を提供することである。
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号(ステップをSと略称しステップ番号のみを記載する)等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
第1の発明は、ポインティングデバイス(13)によって操作されるゲーム装置(1)のコンピュータ(21)に実行されるゲームプログラムである。ポインティングデバイスは、プレイヤの操作に応じて指定される所定の座標系(タッチパネル座標系)に基づいた座標情報(tx、ty)を出力する。ゲームプログラムは、初期基準座標設定ステップ(S42)、指示座標設定ステップ(S43)、基準座標変更ステップ(S44〜S46)、およびゲーム制御ステップ(S47)を、コンピュータに実行させる。初期基準座標設定ステップは、座標系における基準座標(ox、oy)の初期位置を設定する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標(ux、uy)を設定する。基準座標変更ステップは、所定条件を満たすときに(制限範囲外(S45でYes)や基準と指示点座標とのなす角度が前回の入力時と異なったとき、または、基準と指示点座標とのなす角度が所定角度以上になったときなど)、その指示座標に近づけるように(すなわち、指示座標と基準座標との間の距離が短くなるように)その基準座標の位置を変更する(S46)。ゲーム制御ステップは、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方(sx、sy)に基づいて、ゲーム制御を行う。なお、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、タッチパネル、マウス、トラックパッド、トラックボールなどで実現される。そして、それぞれの入力装置で用いられる座標系は、タッチパネル座標系や画面座標系である。
第2の発明は、第1の発明において、基準座標変更ステップで用いる所定条件は、指示座標が基準座標を基準とする所定領域(制限範囲)外である(S45でYes)。なお、所定領域は、円形領域であってもよいし、楕円領域や矩形領域等、円形領域以外であってもよい。
第3の発明は、第2の発明において、ゲーム制御ステップは、少なくとも入力距離に基づいてゲーム制御をおこなう。そして、指示座標が基準座標を基準とする所定領域外のとき、入力距離を基準座標から当該所定領域の境界までの所定距離に設定する(S47)。所定領域の境界が基準座標から一定距離でない場合(楕円領域等の場合)には、指示座標と基準座標を結ぶ線分と所定領域の境界の交点と基準座標までの距離を入力距離に設定する。なお、所定領域が円形領域のときには、指示座標と基準座標との間の距離(L1)が所定距離(R)以上のとき、その所定距離を入力距離に設置する。さらに、基準座標変更ステップは、指示座標が基準座標を基準とする所定領域外のとき、その指示座標に近づけるようにその基準座標の位置を変更する。
第4の発明は、第2の発明において、所定領域は、基準座標を中心とする円形領域(半径R)で形成される。
第5の発明は、第3の発明において、基準座標変更ステップは、指示座標と基準座標との間の距離が所定距離になるように、その指示座標に近づけてその基準座標の位置を変更する。
第6の発明は、第2または第5の発明において、基準座標変更ステップは、指示座標と基準座標とを結ぶ線分(s2)に沿って、その指示座標に近づけるようにその基準座標の位置を変更する。例えば、指示座標と基準座標を結ぶ線分(s2)上の点(基準座標を含まず)を新しい基準座標に設定してもよい。また、このとき、新しい基準座標と指示座標が所定距離(R)以上近づかないようにしてもよい。
第7の発明は、第3の発明において、基準座標変更ステップは、第1円弧(ar1)、第2円弧(ar2)、線分(s2)、および直線(s1)によって囲まれる領域(β)に基準座標の位置を変更する(図11)。第1円弧は、指示座標(U6)を中心に所定距離(R)を半径とする。第2円弧は、指示座標を中心にその指示座標と基準座標(O5)との間の長さ(L1)を半径とする。線分は、指示座標と基準座標とを結ぶ。直線は、指示座標設定ステップが現在設定している指示座標(U6)と前回設定した指示座標(U5)とを通る。
第8の発明は、第7の発明において、基準座標変更ステップは、線分上を除いた位置で、かつその線分および直線に挟まれる第1円弧上に基準座標の位置を変更する。
第9の発明は、第7または第8の発明において、基準座標変更ステップは、線分上の点を除く位置に基準座標の位置を変更する。
第10の発明は、第9の発明において、基準座標変更ステップは、現在設定している指示座標と前回設定した指示座標との間の移動量が大きいほど、基準座標を直線に近づけるように、その基準座標の位置を変更する。
第11の発明は、第2の発明において、周辺領域設定ステップ(S62、遊び範囲)を、さらにコンピュータに実行させる。周辺領域設定ステップは、ポインティングデバイスから出力される座標情報に基づいて設定される指示座標の周辺に周辺領域を設定する。指示座標設定ステップは、ポインティングデバイスから新たに出力される座標情報が示す位置が周辺領域内のとき指示座標を変更せず、その新たに出力される座標情報が示す位置が周辺領域外のとき(S62でYes)、その座標情報が示す位置に基づいて指示座標を変更する(S64)。
第12の発明は、第2の発明において、位置関係記憶ステップを、さらにコンピュータに実行させる。位置関係記憶ステップは、ポインティングデバイスから座標情報の出力がなくなったとき、その出力がなくなる前の指示座標および基準座標の相対的な位置関係を記憶する。指示座標設定ステップは、出力がなくなった後にポインティングデバイスから出力される最初の座標情報が示す位置を座標系における指示座標に設定する。初期基準座標設定ステップは、位置関係記憶ステップで記憶した相対的な位置関係に基づいて、最初の座標情報が示す位置を基準に座標系における基準座標の初期位置を設定する。
第13の発明は、第2の発明において、ゲーム制御ステップは、ポインティングデバイスから座標情報の出力がなくなったとき、その出力がなくなる前の指示座標および基準座標に応じた入力方向および入力距離の少なくとも一方に基づいたゲーム制御を継続して行う。
第14の発明は、第2の発明において、ゲーム装置は、ポインティングデバイスに覆われた表示部(12)を備えている。基準座標位置表示ステップを、さらにコンピュータに実行させる。基準座標位置表示ステップは、基準座標の位置を示す画像を表示部に表示する。
第15の発明は、ポインティングデバイスによって操作されるゲーム装置である。ポインティングデバイスは、プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力する。ゲーム装置は、初期基準座標設定手段、指示座標設定手段、基準座標変更手段、およびゲーム制御手段を備える。初期基準座標設定手段は、座標系における基準座標の初期位置を設定する。指示座標設定手段は、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更手段は、所定条件を満たすときに、その指示座標に近づけるようにその基準座標の位置を変更する。ゲーム制御手段は、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行う。
第16の発明は、プレイヤの操作に応じてゲーム装置に情報を入力する入力装置である。入力装置は、座標情報出力手段(13)、初期基準座標設定手段、指示座標設定手段、および基準座標変更手段を備える。座標情報出力手段は、プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力する。初期基準座標設定手段は、座標系における基準座標の初期位置を設定する。指示座標設定手段は、座標情報出力手段から出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更手段は、所定条件を満たすときに、その指示座標に近づけるようにその基準座標の位置を変更する。ゲーム装置は、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行う。
第17の発明は、ポインティングデバイスによって操作される情報処理装置(1)のコンピュータに実行されるプログラムである。ポインティングデバイスは、ユーザの操作に応じて指定される所定の座標系に基づいた座標情報を出力する。プログラムは、初期基準座標設定ステップ、指示座標設定ステップ、基準座標変更ステップ、およびゲーム制御ステップを、コンピュータに実行させる。初期基準座標設定ステップは、座標系における基準座標の初期位置を設定する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更ステップは、所定条件を満たすときに、その指示座標に近づけるようにその基準座標の位置を変更する。ゲーム制御ステップは、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行う。
第1の発明によれば、基準座標を指示座標に近づけるようにするため、ゲーム制御を行うための入力方向および入力距離の少なくとも一方を遅滞なく変化させることができる。入力方向に関しては、基準座標と指示座標との間の距離が離れるほど、指示座標を同じ距離だけ移動しても入力方向の変化が少なくなるが、第1の発明では、基準座標を指示座標に近づけるようにするため、入力方向の変化レスポンスを良くすることができる。入力距離に関しては、基準座標と指示座標との間の距離が離れるほど、入力距離の入力量を0にしたり半分にしたりするための指示座標の移動距離が大きくなるが、第1の発明では、基準座標が指示座標に近づけるようにするため、入力距離の入力量の変化レスポンスを良くすることができる。
第2の発明によれば、基準座標が指示座標から離れすぎないようにするため、ゲーム制御を行うための入力方向および入力距離の少なくとも一方を遅滞なく変化させることができる。
第3の発明によれば、指示座標が基準座標を基準とする所定領域外のとき、入力距離を基準座標から所定領域の境界までの所定距離に設定するため、よりジョイスティックに近い操作を実現することができる。そして、指示座標が基準座標を基準とする所定領域外のとき、指示座標に近づけるように基準座標の位置を変更するので、押圧点を長い距離移動させることなく、入力距離の入力量や入力方向を変更することができる。
第4の発明によれば、上記所定領域が円形であるため、いっそうジョイスティックに近い操作を実現することができる。
第5の発明によれば、上記所定領域内に指示座標を常に含めることができるため、ジョイスティックを模した操作を高い操作レスポンスで実現することができる。また、指示座標に対して、常に一定範囲に基準座標が設定されるため、プレイヤはポインティングデバイスで設定される基準座標のおおよその位置を感覚的に把握することができ、ジョイスティックを操作するような感覚でポインティングデバイスを操作することができる。
第6の発明によれば、指示座標と基準座標とを結ぶ線分に沿って、当該指示座標に近づけるように当該基準座標の位置を変更するため、指示座標と基準座標とを結ぶ線分の方向が変化しない、すなわち、入力方向が変化しないため、入力方向をプレイヤの操作感覚に一致させることができる。
第7の発明によれば、プレイヤの操作感覚に一致させて操作のレスポンスを向上させることができる。
第8の発明によれば、基準座標と指示座標が一定距離以上離れないため、操作のレスポンスが一定以上悪くなることを確実に防止することができる。
第9の発明によれば、入力方向が指示座標の移動方向に近づくように補正されるため、指示座標の移動方向を考慮して入力方向を決定することができる。
第10の発明によれば、指示座標の移動量が大きいほど、指示座標の移動方向をスティック入力の方向に反映させることができる。
第11の発明によれば、プレイヤが無意識に押圧点を微妙に変動させた場合やポインティングデバイスにおけるハードウェア上の精度その他の要因により、ポインティングデバイスから指示される座標情報が1点に特定できずに多少変動した場合に、周辺領域内での変動であれば無視することになり、いわゆる遊びを持たせることができる。
第12の発明によれば、基準座標および指示座標の相対的な位置関係が継続されているため、プレイヤが意図しない状態で操作が途切れても、そのままの操作状態でゲームを継続することができる。
第13の発明によれば、プレイヤが同じ操作を長時間継続することが不要となり、同じ操作を継続する操作が容易になる。
第14の発明によれば、表示部に基準座標の位置を示す画像を表示することによって、さらにプレイヤに基準の位置をリアルタイムに示すことができる。
また、本発明のゲーム装置、入力装置、およびプログラムによれば、上述したゲームプログラムと同様の効果を得ることができる。
図面を参照して、本発明の一実施形態に係るゲームプログラムを実行するゲーム装置について説明する。なお、図1は、本発明のゲームプログラムを実行するゲーム装置1の外観図である。ここでは、ゲーム装置1の一例として、携帯ゲーム装置を示す。
図1において、本実施形態のゲーム装置1は、2つの液晶表示器(LCD)11および12を所定の配置位置となるように、ハウジング18に収納して構成される。具体的には、第1液晶表示器(以下、「LCD」という)11および第2LCD12を互いに上下に配置して収納する場合は、ハウジング18が下部ハウジング18aおよび上部ハウジング18bから構成され、上部ハウジング18bが下部ハウジング18aの上辺の一部で回動自在に支持される。上部ハウジング18bは、第1LCD11の平面形状よりも少し大きな平面形状を有し、一方主面から第1LCD11の表示画面を露出するように開口部が形成される。下部ハウジング18aは、その平面形状が上部ハウジング18bよりも横長に選ばれ、横方向の略中央部に第2LCD12の表示画面を露出する開口部が形成され、第2LCD12を挟む何れか一方にスピーカ15の音抜き孔が形成されるとともに、第2LCD12を挟む左右に操作スイッチ部14が装着される。
操作スイッチ部14は、第2LCD12の右横における下部ハウジング18aの一方主面に装着される動作スイッチ(Aボタン)14aおよび動作スイッチ(Bボタン)14bと、第2LCD12の左横における下部ハウジング18aの一方主面に装着される方向指示スイッチ(十字キー)14cと、スタートスイッチ14dと、セレクトスイッチ14eと、側面スイッチ14fおよび14gとを含む。動作スイッチ14aおよび14bは、例えばサッカーゲーム等のスポーツゲームにおいてはパスやシュートを行う等の指示、アクションゲームにおいてはジャンプ、パンチ、武器を動かす等の指示、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいてはアイテムの取得、武器またはコマンドの選択決定等の指示入力に使用される。方向指示スイッチ14cは、プレイヤによって操作スイッチ部14を用いて操作可能なプレイヤオブジェクト(またはプレイヤキャラクタ)の移動方向を指示したり、カーソルの移動方向を指示したりする等のゲーム画面における方向指示に用いられる。側面スイッチ(Lボタン)14fおよび側面スイッチ(Rボタン)14gは、下部ハウジング18aにおける上部面(上部側面)の左右に設けられる。また、必要に応じて、動作スイッチをさらに追加してもかまわない。
また、第2LCD12の上面には、本発明の入力装置の一例としてタッチパネル13(図1における破線領域)が装着される。タッチパネル13は、例えば、抵抗膜方式、光学式(赤外線方式)、静電容量結合式の何れの種類でもよく、その上面をスタイラス16(または指でも可)で押圧操作、移動操作、または撫でる操作をしたとき、スタイラス16の座標位置を検出して座標データを出力するポインティングデバイスである。
上部ハウジング18bの側面近傍には、必要に応じてタッチパネル13を操作するスタイラス16を収納するための収納孔(図1における二点破線領域)が形成される。この収納孔には、スタイラス16が収納される。下部ハウジング18aの側面の一部には、ゲームプログラムを記憶したメモリ(例えば、ROM)を内蔵したゲームカートリッジ17(以下、単にカートリッジ17と記載する)を着脱自在に装着するためのカートリッジ挿入部(図1における一点破線領域)が形成される。カートリッジ17は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ROMまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ17と電気的に接続するためのコネクタ(図2参照)が内蔵される。さらに、下部ハウジング18a(または上部ハウジング18bでも可)には、CPU等の各種電子部品を実装した電子回路基板が収納される。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
次に、図2を参照して、ゲーム装置1の内部構成について説明する。なお、図2は、ゲーム装置1の内部構成を示すブロック図である。
図2において、ハウジング18に収納される電子回路基板には、CPUコア21が実装される。CPUコア21には、所定のバスを介して、カートリッジ17と接続するためのコネクタ28が接続されるとともに、入出力インターフェース(I/F)回路27、第1のグラフィック処理ユニット(第1GPU)24、第2のグラフィック処理ユニット(第2GPU)26、およびワーキングRAM(WRAM)22が接続される。
コネクタ28には、カートリッジ17が着脱自在に接続される。カートリッジ17は、上述したようにゲームプログラムを格納するための記憶媒体であり、具体的には、ゲームプログラムを記憶するROM171とバックアップデータを書き換え可能に記憶するRAM172とを搭載する。カートリッジ17のROM171に記憶されたゲームプログラムは、WRAM22にロードされ、当該WRAM22にロードされたゲームプログラムがCPUコア21によって実行される。CPUコア21がゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータがWRAM22に記憶される。
このように、ROM171には、ゲーム装置1のコンピュータ、特にCPUコア21によって実行可能な形式の命令群及びデータ群であるゲームプログラムが記録される。そして、このゲームプログラムは、WRAM22に適宜読み込まれ実行される。なお、本実施例では、ゲームプログラムなどをカートリッジ17に記録させたが、これらゲームプログラムを他の媒体や通信回線を通じて供給することもできる。
I/F回路27には、タッチパネル13、操作スイッチ部14、およびスピーカ15が接続される。スピーカ15は、上述した音抜き孔の内側位置に配置される。
第1GPU24には、第1ビデオRAM(以下「VRAM」)23が接続され、第2GPU26には、第2のビデオRAM(以下「VRAM」)25が接続される。第1GPU24は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第1ゲーム画像を生成し、第1VRAM23に描画する。第2GPU26は、CPUコア21からの指示に応じて、WRAM22に記憶される画像を生成するためのデータに基づいて第2ゲーム画像を生成し、第2VRAM25に描画する。
第1GPU24が第1LCD11に接続され、第2GPU26が第2LCD12に接続される。第1GPU24は、CPUコア21からの指示に応じて第1VRAM23に描画された第1ゲーム画像を第1LCD11に出力する。そして、第1LCD11は、第1GPU24から出力された第1ゲーム画像を表示する。第2GPU26は、CPUコア21からの指示に応じて第2VRAM25に描画された第2ゲーム画像を第2LCD12に出力する。そして、第2LCD12は、第2GPU26から出力された第2ゲーム画像を表示する。
I/F回路27は、タッチパネル13、操作スイッチ部14、およびスピーカ15等の外部入出力装置とCPUコア21との間のデータの受け渡しを行う回路である。タッチパネル13(タッチパネル用のデバイスドライバを含む)は、第2VRAM25の座標系に対応するタッチパネル座標系を有し、スタイラス16等によって入力(指示)された位置に対応する位置座標のデータを出力するものである。例えば、第2LCD12の表示画面の解像度は256dot×192dotであり、タッチパネル13の検出精度も表示画面に対応した256dot×192dotである。なお、タッチパネル13の検出精度は、第2LCD12の表示画面の解像度よりも低いものであってもよいし、高いものであってもよい。
次に、図3〜図11を参照して、本発明のゲームプログラムによってゲーム装置1で実行されるタッチパネル13から入力される情報に基づいた処理について説明する。なお、図3は、当該ゲームプログラムを実行することによってゲーム装置1が処理する動作を示すフローチャートである。図4は、図3におけるステップ42のタッチ開始時の初期化処理について詳細な動作を示すサブルーチンである。図5は、図3におけるステップ43の接触点の手ブレ補正処理について詳細な動作を示すサブルーチンである。図6は、図3におけるステップ46の原点の引き寄せ処理について詳細な動作を示すサブルーチンである。図7〜図11は、図3に示すフローチャートに基づいた動作によって処理されるタッチ操作の一例を示す図である。なお、これらの処理を実行するためのプログラムは、ROM171に格納されたゲームプログラムに含まれており、ゲーム装置1の電源がオンになったときに、ROM171からWRAM22に読み出されて、CPUコア21によって実行される。
まず、ゲーム装置1の電源(図示せず)がONされると、CPUコア21によってブートプログラム(図示せず)が実行され、これによりカートリッジ17に格納されているゲームプログラムがWRAM22にロードされる。当該ロードされたゲームプログラムがCPUコア21に実行されることによって、図3に示すステップ(図3〜図6では「S」と略称する)が実行される。なお、上記ゲームプログラムを実行することによって、当該ゲームプログラムに応じたゲーム画像などが第1LCD11および第2LCD12に描画されるが、ゲーム内容についての詳細な説明を省略し、ここではタッチパネル13から入力される情報に基づいた処理について詳述する。
図3において、CPUコア21は、プレイヤがタッチパネル13に触れているか否かを判断する(ステップ40)。タッチパネル13は、上述したようにタッチパネル座標系を有し、スタイラス16やプレイヤの指などによって入力(指示)された位置に対応する位置座標のデータを出力する。つまり、ステップ40では、CPUコア21がタッチパネル13(タッチパネル13を制御するデバイスドライバを含む)から出力される位置座標のデータ有無を検出する。そして、CPUコア21は、プレイヤがタッチパネル13に触れていない場合、接触フラグをOFFに設定し(ステップ48)、スティック値をニュートラルに設定して(ステップ49)、当該フローチャートによる処理を終了する。一方、CPUコア21は、プレイヤがタッチパネル13に触れている場合、処理を次のステップ41に進める。
ステップ41において、CPUコア21は、プレイヤのタッチパネル13に対するタッチ操作がタッチ開始時か否かを判断する(すなわち、非タッチ状態からタッチ状態に変化したか否かを判断する)。なお、CPUコア21は、後述で明らかとなる接触フラグのONまたはOFFの設定によってタッチ開始時か否かを判断することができる。そして、CPUコア21は、タッチ開始時である(接触フラグがOFF)場合、処理を次のステップ42に進める。一方、CPUコア21は、タッチ開始時でない(すなわち、タッチが継続している状態;接触フラグがON)場合、処理を次のステップ43に進める。
ステップ42において、CPUコア21は、タッチ開始時の初期化処理を行う。以下、図4に示すサブルーチンを参照して、タッチ開始時の初期化処理について説明する。
図4において、CPUコア21は、接触フラグをONに設定する(ステップ51)。そして、CPUコア21は、現在プレイヤがタッチパネル13をタッチ操作している接触点(以下、単に接触点と記載する)をタッチパネル13の原点(以下、単に原点と記載する)に設定する(ステップ52)。具体的には、上記タッチパネル座標系において、接触点を(tx、ty)、原点を(ox、oy)とすると、CPUコア21は、
ox=tx
oy=ty
として、原点座標を設定する。
次に、CPUコア21は、接触点をタッチパネル13の指示点(以下、単に指示点と記載する)に設定し(ステップ53)、当該サブルーチンによる処理を終了する。具体的には、上記タッチパネル座標系において、接触点を(tx、ty)、指示点を(ux、uy)とすると、CPUコア21は、
ux=tx
uy=ty
として、指示点座標を設定する。
図3に戻り、ステップ43において、CPUコア21は、接触点の手ブレ補正処理を行う。以下、図5に示すサブルーチンを参照して、接触点の手ブレ補正処理について説明する。例えば、タッチパネル13は、指先などの広い面積を有するものでタッチ操作した場合、接触点が1点に特定できずに接触点座標が振れる場合がある。そこで、接触点の手ブレ補正処理では、処理に使用する指示点座標を接触点座標とは別に定め、当該接触点座標に遊びを持たせる。すなわち、指示点座標から所定範囲以内で接触点座標が変動している間は、指示点座標を変更しないようにしている。例えば、指示点座標を中心とした円形枠(遊び範囲)を設定し、当該円形枠の中心を指示点座標とする。そして、指示点座標が当該円形枠の中に位置している間は円形枠を移動せず、接触点座標が当該円形枠から外れるとその動きに合わせて円形枠を移動させて結果的に指示点座標も移動させる。つまり、指示点座標は、接触点が円形枠の外縁と接触することによる円形枠の移動によって、その位置が移動する。なお、円形枠の半径が、タッチパネル13への手ブレの遊び範囲に相当する。なお、遊び範囲の領域は円形でなくてもよいし、指示点座標は領域の中心でなくてもよい。
図5において、CPUコア21は、現在設定されている指示点と接触点との差分から、それらの距離L2を求める(ステップ61)。具体的には、上記タッチパネル座標系において、接触点を(tx、ty)、指示点を(ux、uy)とすると、CPUコア21は、差分vxおよびvyを、
vx=ux−tx
vy=uy−ty
として求める。そして、CPUコア21は、距離L2を
Figure 2006034516
として求める。これによって、タッチパネル座標系に基づいた指示点および接触点間の距離L2が求められる。
次に、CPUコア21は、接触点が指示点に設けられた遊び範囲を逸脱しているか否かを判断する(ステップ62)。図7(a)に示すように、指示点(ux、uy)を中心とした所定領域は、遊び範囲として設定される。例えば、遊び範囲は、指示点(ux、uy)を中心とした所定半径を有する円領域で設定される。そして、CPUコア21は、上記ステップ61で求めた距離L2と遊び範囲の半径とを比較して、距離L2が大きい場合に接触点が遊び範囲を逸脱していると判断する。そして、CPUコア21は、接触点が遊び範囲を逸脱している場合(図7(a)の状態)、処理を次のステップ63に進める。一方、CPUコア21は、接触点が遊び範囲内に含まれている場合、当該サブルーチンによる処理を終了する。
ステップ63において、CPUコア21は、後述する指示点の移動速度を求めるために、現在の指示点の座標を保存する。具体的には、図7(b)に示すように、上記タッチパネル座標系において、保存する指示点の座標を(uxa、uya)とすると、CPUコア21は、
uxa=ux
uya=uy
として設定する。
次に、CPUコア21は、接触点が上記遊び範囲の外縁に位置するように指示点を移動させる(ステップ64)。例えば、図7(b)に示すように、CPUコア21は、指示点と接触点との間が距離L2となるように、指示点と接触点とを結ぶ直線に沿って指示点を移動させ、新たな指示点を設定する。具体的には、上記タッチパネル座標系において、新たな指示点を(ux、uy)とすると、
ux=tx+vx*r/L2
uy=ty+vy*r/L2
として設定する。ここで、rは、遊び範囲の半径である。
次に、CPUコア21は、指示点の移動量を算出し(ステップ65)、当該サブルーチンによる処理を終了する。具体的には、CPUコア21は、指示点の移動量を、以下の式を用いて算出する。
uvx=ux−uxa
uvy=uy−uya
この移動ベクトル(uvx,uvy)は、原点の引き寄せ方向の調整に用いられるが、詳細は後述する。
図3に戻り、CPUコア21は、現在設定されている原点と指示点との差分から、それらの距離L1を求める(ステップ44)。具体的には、上記タッチパネル座標系において、原点を(ox、oy)、指示点を(ux、uy)とすると、CPUコア21は、差分vxおよびvyを、
vx=ox−ux
vy=oy−uy
として求める。そして、CPUコア21は、距離L1を、
Figure 2006034516
として求める。これによって、タッチパネル座標系に基づいた原点および指示点間の距離L1が求められる。
次に、CPUコア21は、指示点が原点に設けられた制限範囲を逸脱しているか否かを判断する(ステップ45)。図8に示すように、原点(ox、oy)を中心とした所定領域は、制限範囲として設定される。例えば、制限範囲は、原点(ox、oy)を中心とした所定半径を有する円領域で設定される。そして、CPUコア21は、上記ステップ44で求めた距離L1と制限範囲の半径Rとを比較して、距離L1が大きい場合に指示点が制限範囲を逸脱していると判断する。そして、CPUコア21は、指示点が制限範囲を逸脱している場合、処理を次のステップ46に進める。一方、CPUコア21は、指示点が制限範囲内に含まれている場合(図8の状態)、処理を次のステップ47に進める。
ステップ46を説明する前に、指示点が原点の制限範囲内に含まれている場合(ステップ45でNo)のステップ47の処理について説明する。ステップ47において、CPUコア21は、原点から指示点へのベクトル値に基づいて、スティック値を求める。
本実施例では、タッチパネル13を用いてジョイスティックを模した操作を実現し、必要な情報は、ジョイスティックの入力値(以下、スティック値と記載する)に相当するXY2軸のベクトル値である。このベクトル値を、スティック座標系でスティック値(sx、sy)と表す。そして、このスティック値(sx、sy)が示す方向がジョイスティックを倒している方向であり、このスティック値の長さがジョイスティックの倒し具合となる。また、ジョイスティックを最大まで倒した状態を長さ「1」と設定する。この場合、sx=−1〜+1、sy=−1〜+1であり、長さ「0」の時、ジョイスティックがニュートラル(直立)状態であることを示す。
ステップ47において、スティック座標系のスティック値(sx、sy)は、タッチパネル座標系で示されるタッチパネル13上にある原点(ox、oy)および指示点(ux、uy)を用いて、次の式から求められる。
sx=(ux−ox)×ratio
sy=(uy−oy)×ratio
ここで、ratioは、タッチパネル座標系のどれくらいの長さをスティック座標系での長さ「1」と見なすかを定める変換比率である。なお、原点から指示点へのベクトル値は、ベクトル(ux−ox、uy−oy)で表される。
本実施例では、原点の周辺にジョイスティックのレバーの倒し具合を機械的に止める枠に対応する制限範囲を設け、制限範囲の外縁部がタッチ操作されるとジョイスティックを限界まで倒した操作として取り扱う。そして、上記制限範囲を逸脱したタッチ操作は、制限範囲の外縁部への操作と同等に扱われる。つまり、原点に設けられる制限範囲の外縁部が、スティック座標系の「1」と見なされる。したがって、ratio=1/Rに設定される。ここで、Rは、タッチパネル座標系における制限範囲の半径である。
図8に示すように、タッチパネル13に対して、プレイヤが制限範囲内の原点(ox、oy)の真上位置をタッチ操作することによって、指示点(ux1、uy1)が設定されている。この場合、原点から指示点へのベクトル値は、真上方向を示すベクトルv1(ux1−ox、uy1−oy)となる。そして、このベクトルv1に基づいて求められるスティック値も真上方向となり、その長さは「1」以下となる。
その後、タッチパネル13に対して、プレイヤが制限範囲内で指示点(ux1、uy1)の右方向の位置をタッチ操作することによって、指示点(ux2、uy2)が設定される。この場合、原点から指示点へのベクトル値は、右上方向を示すベクトルv2(ux2−ox、uy2−oy)となる。そして、このベクトルv2に基づいて求められるスティック値も右上方向となり、その長さは「1」以下となる。
図3に戻り、CPUコア21は、指示点が原点の制限範囲を逸脱している場合(ステップ45でYes)、ステップ46において原点の引き寄せ処理を行う。以下、図6に示すサブルーチンを参照して、原点の引き寄せ処理について説明する。
図6において、CPUコア21は、原点の引き寄せ方向を設定する(ステップ71)。例えば、CPUコア21は、原点を引き寄せる方向をタッチパネル座標系において、引き寄せ方向(px、py)で設定する。そして、CPUコア21は、引き寄せ方向(px、py)を、
px=ox−(ux+uvx*m)
py=oy−(uy+uvy*m)
ここで、mは、原点を引き寄せる方向を調整する0以上のパラメータであり、その値が大きいほど、原点を引き寄せる方向が指示点の移動方向に近くなり、原点が指示点の後方(指示点の移動方向を前方とする)に回り込むことになる。すなわち、m=0のときは、原点と指示点を結ぶベクトルの方向が変化しないように原点が引き寄せられる。そして、mが大きくなるにつれて、原点から指示点へ向くベクトルの方向が指示点の移動ベクトルの方向に近づくように原点が引き寄せられることになる。このmの値を調整することによって、指示点と原点との位置関係を重視してスティック値のベクトル方向を決定するか(mが小さい)、それとも、指示点の移動方向を重視してスティック値のベクトル方向を決定するか(mが大きい)を調整することができるのである。なお、引き寄せ方向という用語を用いているが、実際に原点が引き寄せられる方向とは逆向きの方向であることに注意されたい。なお、パラメータmによる原点の引き寄せ方向の詳細については後述する。
例えば、図9(a)に示すように、タッチパネル13に対して、プレイヤが制限範囲内の原点(ox、oy)の真上位置をタッチ操作することによって、指示点(ux1、uy1)が設定されているとする。この場合、指示点(ux1、uy1)が制限範囲内であるため、原点の引き寄せ処理は実行されない。その後、タッチパネル13に対して、プレイヤが指示点(ux1、uy1)の右方向で制限範囲を逸脱した位置をタッチ操作することによって、指示点(ux3、uy3)が設定される。そして、上記ステップ71によって、m=0の場合、原点(ox、oy)から指示点(ux3、uy3)を結ぶ方向が原点を引き寄せる方向(px、py)に設定される。
次に、CPUコア21は、原点の移動先目標座標を算出する(ステップ72)。具体的には、CPUコア21は、まずステップ71で設定した引き寄せ方向(px、py)に基づいた長さL3を、
Figure 2006034516
で算出する。そして、CPUコア21は、タッチパネル座標系に基づいた原点の移動先目標座標(ox2、oy2)を、
ox2=ux+px*R/L3
oy2=uy+py*R/L3
で算出する。
次に、CPUコア21は、原点を移動させ(ステップ73)、当該サブルーチンに基づく処理を終了する。なお、前述のようにして決定された移動先目標座標に原点を移動させてもよいが、移動先目標座標に少しずつ近づくように原点を移動してもよい。具体的には、CPUコア21は、移動後の原点座標(ox、oy)を、
ox=ox+(ox2−ox)*n
oy=oy+(oy2−oy)*n
で算出する。ここで、nは、原点を移動先目標座標に近づける割合を示すパラメータである。パラメータnの設定値によって、移動前の原点がステップ72で算出された移動先目標座標(ox2、oy2)への足りない差分に対してどれくらいの割合(パラメータn)を加算するかを調整することができる。
例えば、図9(b)は、パラメータmおよびnをそれぞれm=0、n=1に設定して、指示点(ux3、uy3)に引き寄せられる原点(ox、oy)の一例を示している。図9(b)に示すように、指示点(ux3、uy3)が制限範囲(図示破線領域)を逸脱した位置に設定された場合、原点(ox、oy)が指示点(ux3、uy3)に引き寄せられ、その制限範囲も指示点(ux3、uy3)に引き寄せられる。m=0の場合、原点(ox、oy)が引き寄せられる方向は、移動前の原点から指示点(ux3、uy3)に向かう方向となる。そして、n=1の場合、原点(ox、oy)が移動することによって、当該原点の制限範囲の外縁に指示点(ux3、uy3)が配置され、移動後の原点と指示点との距離L1=制限範囲の半径Rとなる。このように、原点の引き寄せ処理によって、指示点が制限範囲外であるとき、原点を当該指示点に近づけるように変更される。
次に、原点の引き寄せ処理後のステップ47の処理について説明する。ステップ47では、上述したように、CPUコア21が原点から指示点へのベクトル値に基づいて、スティック値を求めるが、ここでは、引き寄せ処理された原点を用いてベクトル値が算出される。以下、図10を参照して、引き寄せ処理された原点を用いてベクトル値の変化の一例を説明する。なお、図10は、原点の引き寄せ処理が繰り返されることによって、原点から指示点へのベクトル値が変化する一例を示す図であり、説明を具体的にするためにパラメータmおよびnをそれぞれm=0、n=1に設定している。
図10(a)において、タッチパネル13に対して、プレイヤが制限範囲A1内の原点O1の真上位置をタッチ操作することによって、指示点U1が設定されている。この場合、原点O1から指示点U1へのベクトル値は、真上方向を示すベクトルV1となる。そして、このベクトルV1に基づいて求められるスティック値も真上方向となり、その長さは「1」以下となる。
その後、指示点が右方向に移動して、図10(b)において、タッチパネル13に対して、プレイヤが指示点U1の右方向にある制限範囲A1の外縁部をタッチ操作することによって、指示点U2が設定される。この場合、原点O1から指示点U2へのベクトル値は、水平方向との間で角度θ2を形成する右上方向を示すベクトルV2となる。そして、このベクトルV2に基づいて求められるスティック値も同様の右上方向となり、その長さは「1」となる。
さらに、指示点が右方向に移動して、図10(c)において、タッチパネル13に対して、プレイヤが指示点U1およびU2の右方向で制限範囲A1(図示破線領域)を逸脱した位置をタッチ操作することによって、指示点U3が設定される。そして、m=0の場合、原点(図示白抜き丸印)が指示点U3へ向かう方向に引き寄せられ、その制限範囲A2の外縁に指示点U3が配置されるように原点O2が設定される。この場合、原点O2から指示点U3へのベクトル値は、水平方向との間で角度θ3(θ3<θ2)を形成する右上方向を示すベクトルV3となる。そして、このベクトルV3に基づいて求められるスティック値も同様の右上方向となり、その長さは「1」となる。
さらに、図10(d)において、タッチパネル13に対して、プレイヤが指示点U1、U2、およびU3の右方向で制限範囲A2(図示破線領域)を逸脱した位置をタッチ操作することによって、指示点U4が設定される。そして、m=0の場合、原点(図示白抜き丸印)が指示点U4へ向かう方向に引き寄せられ、その制限範囲A3の外縁に指示点U4が配置されるように原点O3が設定される。この場合、原点O3から指示点U4へのベクトル値は、水平方向との間で角度θ4(θ4<θ3)を形成する右上方向を示すベクトルV4となる。そして、このベクトルV4に基づいて求められるスティック値も同様の右上方向となり、その長さは「1」となる。
なお、上述したように、パラメータnの設定値によって、原点を移動先目標座標に近づける割合(すなわち、スティック値が示す長さが所定距離R以上になったときに所定距離Rに近づける割合)が調整される。したがって、パラメータnの値によっては、原点と指示点との距離がRより離れることがある。この場合、上記ステップ47で求められるスティック値(sx、sy)において、sxの絶対値およびsyの絶対値が1以上となり、結果的にスティック値の長さが1より大きな値に設定されてしまう。しかしながら、上述したようにスティック値の長さがジョイスティックの倒し具合となり、ジョイスティックを最大まで倒した状態を長さ「1」と設定しているため、スティック値の長さが1より大きな値となった場合、スティック値の長さを「1」に設定する。
このように、原点の引き寄せ処理によって、指示点を一定方向(プレイヤによるタッチ点が移動する方向;図10では右水平方向)に継続的に移動していると、スティック値が示す方向(つまり、ジョイスティックを倒している方向)は、指示点の移動方向(右水平方向)に次第に近づいていく。これにより、プレイヤは指示座標を一定方向に継続的に移動することによって原点の位置を意識せずにスティック入力の方向を決定することができる。
なお、背景技術のように原点を固定した場合もスティック値が示す方向がタッチ操作する右水平方向に近づいていくが、角度θ4等が原点固定よりも小さくなり、原点の引き寄せ処理を行った方がタッチ操作する方向により近づくことは明らかである。また、指示点は、必ず制限範囲内に設定され、指示点と原点との距離は常に所定距離以内である。したがって、プレイヤが指示点(接触点)を原点から極端に遠い位置に動かし、ジョイスティックを限界まで倒してから戻していくような操作を行うときでも、タッチパネルの原点までの距離が所定距離以内であるため、操作のレスポンスが向上する。また、タッチパネル13に対する接触点に対して、常に一定範囲に原点が設定されるため、プレイヤはタッチパネル13に設定される原点を感覚的に把握することができ、タッチパネル13自体を視認しなくても、ジョイスティックを操作するような感覚でタッチパネル13を操作することができる。
前述の通り、パラメータm設定値によって、移動先目標座標を指示点の後方(指示点の移動方向を前方とする)に回り込ませる割合(すなわち、スティック値が示す方向を指示点の移動方向に近づける割合)を調整することができる。また、パラメータnの設定値によって、原点を移動先目標座標に近づける割合(すなわち、スティック値が示す長さが所定距離R以上になったときに所定距離Rに近づける割合)を調整することができる。以下、図11を参照して、パラメータmおよびnと原点が引き寄せられる位置との関係について説明する。なお、図11は、パラメータmおよびnに応じて引き寄せられる原点の位置を説明するための図である。
図11において、タッチパネル13に対して、プレイヤが原点O5に設定された制限範囲A5内をタッチ操作することによって、指示点U5が設定されている。その後、指示点が右に移動し、タッチパネル13に対して、プレイヤが指示点U5の右方向の直線s1上にある制限範囲A5外をタッチ操作することによって、指示点U6が設定される。そして、原点O5と指示点U5およびU6とに応じて原点が引き寄せられて原点O6が配置され、原点O6を基準に制限範囲A6が設定される。なお、図11で示す原点O6および制限範囲A6は、パラメータm=0およびn=1の場合を示している。
上述したようにパラメータmは、原点を引き寄せる方向を調整し、m≧0である。そして、パラメータmの設定値が大きいほど指示点U5が指示点U6へ移動する方向(直線s1)の後方位置に原点が近づくように引き寄せられる。また、m=0の場合、原点O5から指示点U6を結ぶ方向(直線s2)が原点を引き寄せる方向に設定される。ここで、できるだけ直線s1に原点が近づくように引き寄せるためには、指示点U6が直線s1に沿った方向へさらに大きく動いたようにして計算をすればよい。このため、上記ステップ71で説明したように、原点O5と指示点U6との差分から引き寄せ方向(px、py)を求める際に、指示点U6が更に大きく動いたような値になるように、指示点の移動ベクトル(uvx、uvy)の所定割合(パラメータm)を加算している。したがって、パラメータmの設定値に応じて、原点は直線s1およびs2に挟まれた範囲に引き寄せられることになり、すなわち、移動先目標座標は、直線s1およびs2に挟まれた範囲に設定されることになる。また、前述の式から明らかなように、移動先目標座標は、指示点座標から所定距離(R)だけ離れた位置に設定されるので、結局、移動先目標座標が図11の円弧ar1上のいずれかの点に決定される。なお、移動先目標座標は、m=0のとき、直線s2と円弧ar1との交点に限りなく近づくように設定され、mが無限大のときに、直線s1と円弧ar1との交点に設定される。なお、mが一定以上大きな値になったときに、引き寄せ方向(px、py)を(uvx、uvy)と一致するように設定してもよい。そうすれば、mが一定以上大きな値になったときに、移動先目標座標を直線s2と円弧ar1との交点に設定できる。
また、上述したようにパラメータnは、原点を移動先目標座標に引き寄せる強さを調整し、0<n≦1である。そして、n=1の場合、原点を移動先目標座標に移動させる処理となる。また、0<n<1の場合、原点と移動先目標座標を結ぶ線分上のいずれかの点(両端を含まず)へ移動させる処理となる。当該線分上のどの点に移動させるかはnの値によって異なり、nが小さいほど現在の原点に近い点が選択され、nが大きいほど移動先目標座標に近い点が選択される。
したがって、パラメータmおよびnの設定値を調整することによって、原点は図11に示す領域α内の位置に引き寄せられる(移動する)。領域αは、半径Rで指示点U6を中心とする円周のうち直線s1と直線s2で切り取られる円弧ar1と、当該円弧ar1の両端と原点O5をそれぞれ結ぶ直線によって囲まれる領域である(ただし、原点O5を含まない)。
また、引き寄せ方向(px、py)を求めた後、移動後の原点座標(ox、oy)を求めるときに、
ox=ux+(px/L3)*n´
oy=uy+(py/L3)*n´
(R≦n´<L4(O5とU6間の長さ))
で決定するようにすれば、原点を図12に示すの領域β内の位置に移動させることができる。領域βは、直線s1およびs2によって鋭角に挟まれる範囲で、半径Rで指示点U6を中心とする円弧ar1と指示点U6から原点O5までの長さを半径として指示点U6を中心とする円弧ar2との間の範囲である(ただし、円弧ar2上の点を含まない)。
このようにパラメータmおよびn(またはn´)の設定値によって原点が引き寄せられる位置が調整可能であり、ゲーム毎のレスポンスや操作性に応じて最良の値に調整することができる。
逆に、図12を参照して、領域βの外に原点を移動する場合を考える。まず、円弧ar1より指示座標U6側(例えば、図12に示す点O7)に原点を移動した場合、プレイヤは、スティック入力値の長さを増加させる方向に押圧点を移動しているにもかかわらず入力値の長さが減少することになり、プレイヤの操作感覚に一致しない。また、直線s1よりも紙面において上方の位置(例えば、図12に示す点O8)に原点を移動した場合、プレイヤは、原点に対して右斜め上の点をタッチし、かつ、タッチ位置を右方向に変化させているにもかかわらず、スティック入力値の方向が右下方向となってしまって、プレイヤの操作感覚に一致しない。さらに、直線s2よりも紙面において下方の位置(例えば、図12に示す点O9)に原点を移動した場合、プレイヤは、タッチ位置を右方向に変化させているにもかかわらず、スティック入力値の右方向成分が減少してしまって、プレイヤの操作感覚に一致しない。また、円弧ar2よりも指示点座標U6から離れる側に原点を移動させることは、原点と指示点座標との距離が長くなることを意味する。このように、領域βの中に原点を移動する場合と、領域βの外に原点を移動する場合とで、プレイヤに与える操作感覚に大きな差が生じるのである。
このように、本発明では、ジョイスティックを模した操作を行うためにタッチパネル上に設定される原点が、プレイヤのタッチ操作に引き寄せられて移動するため、タッチ操作をプレイヤの操作感覚に一致させることができる。また、タッチパネルにタッチ操作を行っている点と上記原点との距離が必要以上に長くはならないため、操作のレスポンスも向上させることができる。
なお、ステップ47で求められたスティック値は、従来のジョイスティックを使用するゲームと同様、ゲーム処理に利用される。
また、上記実施例では、原点の引き寄せ処理をした後スティック値を求めるようにしたが、スティック値を求めた後原点の引き寄せ処理をし、次回のスティック値を求める際に引き寄せ後の原点を利用するようにしてもよい。ただし、通常は、原点の引き寄せ処理をした後スティック値を求めるようにした方がよい。
なお、上記実施例で説明した原点および当該原点を中心に設定される制限範囲の少なくとも一方を表す画像を、第2LCD12に表示してもかまわない。本発明は、プレイヤがタッチパネル13を視認しなくても感覚的に原点位置を認識できるものであるが、タッチパネル13が覆う第2LCD12に原点や制限範囲を表示することによって、さらにプレイヤにタッチパネル13における原点や制限範囲の位置をリアルタイムに示すことができる。
また、上記実施例では、指示点を中心とした遊び範囲の中に接触点が自由に配置されており、接触点が遊び範囲から外れるとその動きに合わせて遊び範囲が移動し、結果的に指示点が移動することによって接触点の手ブレ補正処理を行っている。しかしながら、手ブレ補正による効果を期待しない場合は、手ブレ補正処理を行わなくてもかまわない。この場合、接触点がそのまま指示点として取り扱われて遊び範囲は設定されず、上記ステップ43の処理は行われない。このように接触点をそのまま指示点として取り扱っても、本発明の効果を同様に得ることができる。
また、上記ステップ42における処理では、プレイヤがタッチパネル13を最初にタッチ操作した位置が原点に設定されるが、タッチパネル13で予め設定された所定位置(例えば中央)を原点の初期位置に設定してもかまわない。この場合、プレイヤが最初にタッチ操作した時点で原点および指示点が設定可能であるため、迅速にジョイスティックを模した操作を開始することができる。
また、図3で説明したフローチャートでは、プレイヤがタッチパネル13へのタッチ操作を終了する(ステップ40でNo)と、スティック値がニュートラルに設定されるが、次のタッチ操作が行われるまで、または所定時間を経過するまで、タッチ操作終了前に設定されているスティック値をゲームパラメータとして継続して処理してもかまわない。次のタッチ操作が行われるまでスティック値をゲームパラメータとして継続して処理する場合、プレイヤが同じタッチ操作を長時間継続することが不要となり、同じ操作を継続する操作が容易になる。また、所定時間を経過するまでスティック値をゲームパラメータとして継続して処理する場合、プレイヤが意図しない状態でタッチパネル13へのタッチ操作が途切れても(例えば、不注意でタッチパネルから指が離れてしまった場合でも)、そのままの操作状態でゲームを継続することができる。
また、図3で説明したフローチャートでは、プレイヤがタッチパネル13へのタッチ操作を終了し、再度タッチ操作をすると新たに原点が設定されるが、次のタッチ操作が行われた場合、指示点と原点との相対的な位置関係を継続してもかまわない。例えば、タッチ操作終了前のステップ47で用いられた原点および指示点の相対的な位置関係を記憶し、タッチ操作が再開された際、その接触点が指示点に設定される。そして、記憶されている相対的な位置関係を用いて、指示点を基準に原点が設定される。一般的に、プレイヤがタッチパネル13をタッチ操作中にタッチパネル13の領域外に達すると、タッチパネル13の異なった位置を再度タッチ操作して同じ操作を継続しようとする。このようなタッチ操作のやり直しにおいても、原点および指示点の相対的な位置関係が継続されているため、操作が途切れることなくゲームを楽しむことができる。また、原点をタッチパネル13の外に設定することも可能となるため、ゲーム操作のバリエーションが広くなる。
また、タッチ操作が終了してから再度タッチ操作をするまでの時間が一定時間以内の場合に限り、指示点と原点との相対的な位置関係を継続し、一定時間を越えた場合は、再度タッチした点を新たに原点に設定するようにしてもよい。このようにすれば、プレイヤが意図せず少しの間だけ指を離してしまった場合に原点が再設定されてしまうことを防止しつつ、意図的に指を離した場合(一定時間以上指を離した場合)には原点を再設定することができる。
また、上記実施例における原点とは、厳密な意味でのタッチパネル座標の原点でなくてよい。すなわち、タッチパネル座標の原点は固定しておいて、スティック入力の基準となる基準点を変化させればよい。
また、上記実施例では、ジョイスティックを模した操作を行う入力装置としてタッチパネルを用いたが、他のポインティングデバイスを用いてもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、マウス、トラックパッド、トラックボールなどを入力装置として使用し、入力装置から出力される出力値から計算された画面座標系の情報を用いれば、本発明を同様に実現することができる。なお、マウス等のポインティングデバイスの場合、タッチ状態と非タッチ状態とをクリックボタンのオンオフに対応させ、マウス等から出力される出力値から座標を計算する処理はゲーム装置等で行えばよい。
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。また、上記実施例では表示器を2つ設けたが、表示器は1つであってもかまわない。すなわち、上記実施例において、第2LCD12設けず単にタッチパネル13のみを設けるようにしてもよい。また、上記実施例において、第2LCD12を設けず第1LCD11の上面にタッチパネル13を設けても良い。
また、上記実施例では、ゲーム装置1にタッチパネル13が一体的に設けられているが、タッチパネルを入力装置の1つとする一般的なパーソナルコンピュータなどの情報処理装置でもかまわない。この場合、この情報処理装置のコンピュータが実行するプログラムは、典型的にゲームに用いられるゲームプログラムに限らず、上述した方式で得られたスティック値が上記情報処理装置に対する操作処理に用いられる汎用的なプログラムである。
また、上記実施例においては、指示点座標が制限範囲から外れたときに、原点の引き寄せ処理をおこなうようにしたが、原点の引き寄せる処理を実行する条件は他の条件であってもよい。例えば、原点と指示点座標とのなす角度が前回の入力時と異なったとき、または、原点と指示点座標とのなす角度が所定角度以上になったとき等が考えられる。
本発明のゲームプログラム、ゲーム装置、および入力装置は、レスポンスを高めながらプレイヤの操作感覚に一致させてジョイスティックを模した操作を行うことができ、ポインティングデバイスを用いて操作するゲーム等に適用できる。
本発明の一実施形態に係るゲームプログラムを実行するゲーム装置1の外観図 図1のゲーム装置1の内部構成を示すブロック図 本発明の一実施形態に係るゲームプログラムを実行することによってゲーム装置1が処理する動作を示すフローチャート 図3におけるステップ42のタッチ開始時の初期化処理について詳細な動作を示すサブルーチン 図3におけるステップ43の接触点の手ブレ補正処理について詳細な動作を示すサブルーチン 図3におけるステップ46の原点の引き寄せ処理について詳細な動作を示すサブルーチン 図3に示すフローチャートに基づいた動作によって処理される手ブレ補正処理の一例を示す図 図3に示すフローチャートに基づいた動作によって処理される指示点、原点、および制限範囲の一例を示す図 図3に示すフローチャートに基づいた動作によって処理される原点の引き寄せ処理の一例を示す図 図3に示すフローチャートに基づいて原点の引き寄せ処理が繰り返されることによって、原点から指示点へのベクトル値が変化する一例を示す図 パラメータmおよびnに応じて引き寄せられる原点の位置を説明するための一例を示す図 パラメータmおよびnに応じて引き寄せられる原点の位置を説明するための他の例を示す図 従来のプレイヤがタッチパネルを用いて真上への入力から右方向への入力に移行する際の操作例 従来のプレイヤがタッチパネルを用いて右方向への入力から左方向への入力に移行する際の操作例
符号の説明
1…ゲーム装置
11…第1LCD
12…第2LCD
13…タッチパネル
14…操作スイッチ部
15…スピーカ
16…スタイラス
17…カートリッジ
171…ROM
172…RAM
18…ハウジング
21…CPUコア
22…WRAM
23…第1VRAM
24…第1GPU
25…第2VRAM
26…第2GPU
27…I/F回路
28…コネクタ
第1の発明は、ポインティングデバイス(13)によって操作されるゲーム装置(1)のコンピュータ(21)に実行されるゲームプログラムである。ポインティングデバイスは、プレイヤの操作に応じて指定される所定の座標系(タッチパネル座標系)に基づいた座標情報(tx、ty)を出力する。ゲームプログラムは、基準座標設定ステップ(S42)、指示座標設定ステップ(S43)、基準座標変更ステップ(S44〜S46)、およびゲーム制御ステップ(S47)を、コンピュータに実行させる。基準座標設定ステップは、座標系における基準座標(ox、oy)の位置を設定する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標(ux、uy)を設定する。基準座標変更ステップは指示座標に近づけるように(すなわち、指示座標と基準座標との間の距離が短くなるように)基準座標の位置を変更する(S46)。ゲーム制御ステップは、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方(sx、sy)に基づいて、ゲーム制御を行う。なお、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、タッチパネル、マウス、トラックパッド、トラックボールなどで実現される。そして、それぞれの入力装置で用いられる座標系は、タッチパネル座標系や画面座標系である。
第2の発明は、第1の発明において、基準座標変更ステップは、所定条件を満たすときに(制限範囲外(S45でYes)や基準と指示点座標とのなす角度が前回の入力時と異なったとき、または、基準と指示点座標とのなす角度が所定角度以上になったときなど)、指示座標に近づけるように、基準座標の位置を変更する。
の発明は、第1の発明において、基準座標変更ステップで用いる所定条件は、指示座標が基準座標を基準とする所定領域(制限範囲)外である(S45でYes)。なお、所定領域は、円形領域であってもよいし、楕円領域や矩形領域等、円形領域以外であってもよい。
の発明は、第の発明において、ゲーム制御ステップは、少なくとも入力距離に基づいてゲーム制御をおこなう。そして、指示座標が基準座標を基準とする所定領域外のとき、入力距離を基準座標から当該所定領域の境界までの所定距離に設定する(S47)。所定領域の境界が基準座標から一定距離でない場合(楕円領域等の場合)には、指示座標と基準座標を結ぶ線分と所定領域の境界の交点と基準座標までの距離を入力距離に設定する。なお、所定領域が円形領域のときには、指示座標と基準座標との間の距離(L1)が所定距離(R)以上のとき、その所定距離を入力距離に設置する
の発明は、第の発明において、所定領域は、基準座標を中心とする円形領域(半径R)で形成される。
の発明は、第の発明において、基準座標変更ステップは、指示座標と基準座標との間の距離が所定距離になるように、その指示座標に近づけてその基準座標の位置を変更する。
の発明は、第の発明において、基準座標変更ステップは、指示座標と
基準座標とを結ぶ線分(s2)に沿って、その指示座標に近づけるようにその基準座標の位置を変更する。例えば、指示座標と基準座標を結ぶ線分(s2)上の点(基準座標を含まず)を新しい基準座標に設定してもよい。また、このとき、新しい基準座標と指示座標が所定距離(R)以上近づかないようにしてもよい。
の発明は、第3の発明において、基準座標変更ステップは、第1円弧(ar1)、第2円弧(ar2)、線分(s2)、および直線(s1)によって囲まれる領域(β)に基準座標の位置を変更する(図11)。第1円弧は、指示座標(U6)を中心に所定距離(R)を半径とする。第2円弧は、指示座標を中心にその指示座標と基準座標(O5)との間の長さ(L1)を半径とする。線分は、指示座標と基準座標とを結ぶ。直線は、指示座標設定ステップが現在設定している指示座標(U6)と前回設定した指示座標(U5)とを通る。
の発明は、第の発明において、基準座標変更ステップは、線分上を除いた位置で、かつその線分および直線に挟まれる第1円弧上に基準座標の位置を変更する。
10の発明は、第または第の発明において、基準座標変更ステップは、線分上の点を除く位置に基準座標の位置を変更する。
11の発明は、第の発明において、基準座標変更ステップは、現在設定している指示座標と前回設定した指示座標との間の移動量が大きいほど、基準座標を直線に近づけるように、その基準座標の位置を変更する。
12の発明は、第の発明において、周辺領域設定ステップ(S62、遊び範囲)を、さらにコンピュータに実行させる。周辺領域設定ステップは、ポインティングデバイスから出力される座標情報に基づいて設定される指示座標の周辺に周辺領域を設定する。指示座標設定ステップは、ポインティングデバイスから新たに出力される座標情報が示す位置が周辺領域内のとき指示座標を変更せず、その新たに出力される座標情報が示す位置が周辺領域外のとき(S62でYes)、その座標情報が示す位置に基づいて指示座標を変更する(S64)。
13の発明は、第の発明において、位置関係記憶ステップを、さらにコンピュータに実行させる。位置関係記憶ステップは、ポインティングデバイスから座標情報の出力がなくなったとき、その出力がなくなる前の指示座標および基準座標の相対的な位置関係を記憶する。指示座標設定ステップは、出力がなくなった後にポインティングデバイスから出力される最初の座標情報が示す位置を座標系における指示座標に設定する。基準座標設定ステップは、位置関係記憶ステップで記憶した相対的な位置関係に基づいて、最初の座標情報が示す位置を基準に座標系における基準座標の位置を設定する。
14の発明は、第の発明において、ゲーム制御ステップは、ポインティングデバイスから座標情報の出力がなくなったとき、その出力がなくなる前の指示座標および基準座標に応じた入力方向および入力距離の少なくとも一方に基づいたゲーム制御を継続して行う。
15の発明は、第の発明において、ゲーム装置は、ポインティングデバイスに覆われた表示部(12)を備えている。基準座標位置表示ステップを、さらにコンピュータに実行させる。基準座標位置表示ステップは、基準座標の位置を示す画像を表示部に表示する。
16の発明は、ポインティングデバイスによって操作されるゲーム装置である。ポインティングデバイスは、プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力する。ゲーム装置は、基準座標設定手段、指示座標設定手段、基準座標変更手段、およびゲーム制御手段を備える。基準座標設定手段は、座標系における基準座標の位置を設定する。指示座標設定手段は、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更手段は、指示座標に近づけるように基準座標の位置を変更する。ゲーム制御手段は、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行う。
17の発明は、プレイヤの操作に応じてゲーム装置に情報を入力する入力装置である。入力装置は、座標情報出力手段(13)、基準座標設定手段、指示座標設定手段、および基準座標変更手段を備える。座標情報出力手段は、プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力する。基準座標設定手段は、座標系における基準座標の位置を設定する。指示座標設定手段は、座標情報出力手段から出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更手段は、指示座標に近づけるように基準座標の位置を変更する。ゲーム装置は、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行う。
18の発明は、ポインティングデバイスによって操作される情報処理装置(1)のコンピュータに実行されるプログラムである。ポインティングデバイスは、ユーザの操作に応じて指定される所定の座標系に基づいた座標情報を出力する。プログラムは、基準座標設定ステップ、指示座標設定ステップ、基準座標変更ステップ、およびゲーム制御ステップを、コンピュータに実行させる。基準座標設定ステップは、座標系における基準座標の位置を設定する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更ステップは、指示座標に近づけるように基準座標の位置を変更する。ゲーム制御ステップは、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行う。
第1または第2の発明によれば、基準座標を指示座標に近づけるようにするため、ゲーム制御を行うための入力方向および入力距離の少なくとも一方を遅滞なく変化させることができる。入力方向に関しては、基準座標と指示座標との間の距離が離れるほど、指示座標を同じ距離だけ移動しても入力方向の変化が少なくなるが、第1の発明では、基準座標を指示座標に近づけるようにするため、入力方向の変化レスポンスを良くすることができる。入力距離に関しては、基準座標と指示座標との間の距離が離れるほど、入力距離の入力量を0にしたり半分にしたりするための指示座標の移動距離が大きくなるが、第1の発明では、基準座標が指示座標に近づけるようにするため、入力距離の入力量の変化レスポンスを良くすることができる。
の発明によれば、基準座標が指示座標から離れすぎないようにするため、ゲーム制御を行うための入力方向および入力距離の少なくとも一方を遅滞なく変化させることができる。
の発明によれば、指示座標が基準座標を基準とする所定領域外のとき、入力距離を基準座標から所定領域の境界までの所定距離に設定するため、よりジョイスティックに近い操作を実現することができる。そして、指示座標が基準座標を基準とする所定領域外のとき、指示座標に近づけるように基準座標の位置を変更するので、押圧点を長い距離移動させることなく、入力距離の入力量や入力方向を変更することができる。
の発明によれば、上記所定領域が円形であるため、いっそうジョイスティックに近い操作を実現することができる。
の発明によれば、上記所定領域内に指示座標を常に含めることができるため、ジョイスティックを模した操作を高い操作レスポンスで実現することができる。また、指示座標に対して、常に一定範囲に基準座標が設定されるため、プレイヤはポインティングデバイスで設定される基準座標のおおよその位置を感覚的に把握することができ、ジョイスティックを操作するような感覚でポインティングデバイスを操作することができる。
の発明によれば、指示座標と基準座標とを結ぶ線分に沿って、当該指示座標に近づけるように当該基準座標の位置を変更するため、指示座標と基準座標とを結ぶ線分の方向が変化しない、すなわち、入力方向が変化しないため、入力方向をプレイヤの操作感覚に一致させることができる。
の発明によれば、プレイヤの操作感覚に一致させて操作のレスポンスを向上させることができる。
の発明によれば、基準座標と指示座標が一定距離以上離れないため、操作のレスポンスが一定以上悪くなることを確実に防止することができる。
10の発明によれば、入力方向が指示座標の移動方向に近づくように補正されるため、指示座標の移動方向を考慮して入力方向を決定することができる。
11の発明によれば、指示座標の移動量が大きいほど、指示座標の移動方向をスティック入力の方向に反映させることができる。
12の発明によれば、プレイヤが無意識に押圧点を微妙に変動させた場合やポインティングデバイスにおけるハードウェア上の精度その他の要因により、ポインティングデバイスから指示される座標情報が1点に特定できずに多少変動した場合に、周辺領域内での変動であれば無視することになり、いわゆる遊びを持たせることができる。
13の発明によれば、基準座標および指示座標の相対的な位置関係が継続されているため、プレイヤが意図しない状態で操作が途切れても、そのままの操作状態でゲームを継続することができる。
14の発明によれば、プレイヤが同じ操作を長時間継続することが不要となり、同じ操作を継続する操作が容易になる。
15の発明によれば、表示部に基準座標の位置を示す画像を表示することによって、さらにプレイヤに基準の位置をリアルタイムに示すことができる。

第1の発明は、ポインティングデバイス(13)によって操作されるゲーム装置(1)のコンピュータ(21)に実行されるゲームプログラムである。ポインティングデバイスは、所定の座標系(タッチパネル座標系)に基づいて、プレイヤの操作に応じて指定される座標情報(tx、ty)を出力する。ゲームプログラムは、基準座標設定ステップ(S42)、指示座標設定ステップ(S43)、基準座標変更ステップ(S44〜S46)、およびゲーム制御ステップ(S47)を、コンピュータに実行させる。基準座標設定ステップは、座標系における基準座標(ox、oy)の位置を設定する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標(ux、uy)を設定する。基準座標変更ステップは、指示座標に近づけるように(すなわち、指示座標と基準座標との間の距離が短くなるように)基準座標の位置を変更する(S46)。ゲーム制御ステップは、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方(sx、sy)に基づいて、ゲーム制御を行う。なお、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、タッチパネル、マウス、トラックパッド、トラックボールなどで実現される。そして、それぞれの入力装置で用いられる座標系は、タッチパネル座標系や画面座標系である。
第2の発明は、第1の発明において、基準座標変更ステップは、所定条件を満たすときに(制限範囲外(S45でYes)や基準と指示点座標とのなす角度が前回の入力時と異なったとき、または、基準と指示点座標とのなす角度が所定角度以上になったときなど)、指示座標に近づけるように、基準座標の位置を変更する。
第6の発明は、第の発明において、基準座標変更ステップは、指示座標と基準座標との間の距離が所定距離になるように、その指示座標に近づけてその基準座標の位置を変更する。
第8の発明は、第の発明において、基準座標変更ステップは、第1円弧(ar1)、第2円弧(ar2)、線分(s2)、および直線(s1)によって囲まれる領域(β)に基準座標の位置を変更する(図11)。第1円弧は、指示座標(U6)を中心に所定距離(R)を半径とする。第2円弧は、指示座標を中心にその指示座標と基準座標(O5)との間の長さ(L1)を半径とする。線分は、指示座標と基準座標とを結ぶ。直線は、指示座標設定ステップが現在設定している指示座標(U6)と前回設定した指示座標(U5)とを通る。
第1の発明は、第1の発明において、周辺領域設定ステップ(S62、遊び範囲)を、さらにコンピュータに実行させる。周辺領域設定ステップは、ポインティングデバイスから出力される座標情報に基づいて設定される指示座標の周辺に周辺領域を設定する。指示座標設定ステップは、ポインティングデバイスから新たに出力される座標情報が示す位置が周辺領域内のとき指示座標を変更せず、その新たに出力される座標情報が示す位置が周辺領域外のとき(S62でYes)、その座標情報が示す位置に基づいて指示座標を変更する(S64)。
第1の発明は、第1の発明において、位置関係記憶ステップを、さらにコンピュータに実行させる。位置関係記憶ステップは、ポインティングデバイスから座標情報の出力がなくなったとき、その出力がなくなる前の指示座標および基準座標の相対的な位置関係を記憶する。指示座標設定ステップは、出力がなくなった後にポインティングデバイスから出力される最初の座標情報が示す位置を座標系における指示座標に設定する。基準座標設定ステップは、位置関係記憶ステップで記憶した相対的な位置関係に基づいて、最初の座標情報が示す位置を基準に座標系における基準座標の位置を設定する。
第1の発明は、第1の発明において、ゲーム制御ステップは、ポインティングデバイスから座標情報の出力がなくなったとき、その出力がなくなる前の指示座標および基準座標に応じた入力方向および入力距離の少なくとも一方に基づいたゲーム制御を継続して行う。
第1の発明は、第1の発明において、ゲーム装置は、ポインティングデバイスに覆われた表示部(12)を備えている。基準座標位置表示ステップを、さらにコンピュータに実行させる。基準座標位置表示ステップは、基準座標の位置を示す画像を表示部に表示する。
第1の発明は、ポインティングデバイスによって操作されるゲーム装置である。ポインティングデバイスは、所定の座標系に基づいて、プレイヤの操作に応じて指定される座標情報を出力する。ゲーム装置は、基準座標設定手段、指示座標設定手段、基準座標変更手段、およびゲーム制御手段を備える。基準座標設定手段は、座標系における基準座標の位置を設定する。指示座標設定手段は、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更手段は、指示座標に近づけるように基準座標の位置を変更する。ゲーム制御手段は、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行う。
第1の発明は、プレイヤの操作に応じてゲーム装置に情報を入力する入力装置である。入力装置は、座標情報出力手段(13)、基準座標設定手段、指示座標設定手段、および基準座標変更手段を備える。座標情報出力手段は、所定の座標系に基づいて、プレイヤの操作に応じて指定される座標情報を出力する。基準座標設定手段は、座標系における基準座標の位置を設定する。指示座標設定手段は、座標情報出力手段から出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更手段は、指示座標に近づけるように基準座標の位置を変更する。ゲーム装置は、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行う。
第1の発明は、ポインティングデバイスによって操作される情報処理装置(1)のコンピュータに実行されるプログラムである。ポインティングデバイスは、所定の座標系に基づいて、ユーザの操作に応じて指定される座標情報を出力する。プログラムは、基準座標設定ステップ、指示座標設定ステップ、基準座標変更ステップ、および操作処理ステップを、コンピュータに実行させる。基準座標設定ステップは、座標系における基準座標の位置を設定する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。基準座標変更ステップは、指示座標に近づけるように基準座標の位置を変更する。操作処理ステップは、基準座標から指示座標への方向である入力方向および基準座標から指示座標までの距離である入力距離の少なくとも一方に基づいて、操作処理を行う。
第1の発明によれば、プレイヤが無意識に押圧点を微妙に変動させた場合やポインティングデバイスにおけるハードウェア上の精度その他の要因により、ポインティングデバイスから指示される座標情報が1点に特定できずに多少変動した場合に、周辺領域内での変動であれば無視することになり、いわゆる遊びを持たせることができる。
第1の発明によれば、基準座標および指示座標の相対的な位置関係が継続されているため、プレイヤが意図しない状態で操作が途切れても、そのままの操作状態でゲームを継続することができる。
第1の発明によれば、プレイヤが同じ操作を長時間継続することが不要となり、同じ操作を継続する操作が容易になる。
第1の発明によれば、表示部に基準座標の位置を示す画像を表示することによって、さらにプレイヤに基準の位置をリアルタイムに示すことができる。

Claims (17)

  1. プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作されるゲーム装置のコンピュータに実行されるゲームプログラムであって、
    前記コンピュータに、
    前記座標系における基準座標の初期位置を設定する初期基準座標設定ステップと、
    前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定ステップと、
    所定条件を満たすときに、当該指示座標に近づけるように当該基準座標の位置を変更する基準座標変更ステップと、
    前記基準座標から前記指示座標への方向である入力方向および前記基準座標から前記指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行うゲーム制御ステップとを実行させる、ゲームプログラム。
  2. 前記基準座標変更ステップで用いる所定条件は、前記指示座標が前記基準座標を基準とする所定領域外であることを特徴とする、請求項1に記載のゲームプログラム。
  3. 前記ゲーム制御ステップは、少なくとも前記入力距離に基づいてゲーム制御をおこない、かつ、前記指示座標が前記基準座標を基準とする所定領域外のとき、前記入力距離を前記基準座標から当該所定領域の境界までの所定距離に設定し、
    前記基準座標変更ステップは、前記指示座標が前記基準座標を基準とする所定領域外のとき、当該指示座標に近づけるように当該基準座標の位置を変更することを特徴とする、請求項2に記載のゲームプログラム。
  4. 前記所定領域は、前記基準座標を中心とする円形領域で形成されることを特徴とする、請求項2に記載のゲームプログラム。
  5. 前記基準座標変更ステップは、前記指示座標と前記基準座標との間の距離が前記所定距離になるように、当該指示座標に近づけて当該基準座標の位置を変更することを特徴とする、請求項3に記載のゲームプログラム。
  6. 前記基準座標変更ステップは、前記指示座標と前記基準座標とを結ぶ線分に沿って、当該指示座標に近づけるように当該基準座標の位置を変更することを特徴とする、請求項2または5に記載のゲームプログラム。
  7. 前記基準座標変更ステップは、
    前記指示座標を中心に前記所定距離を半径とする第1円弧、
    前記指示座標を中心に当該指示座標と前記基準座標との間の長さを半径とする第2円弧、
    前記指示座標と前記基準座標とを結ぶ線分、および
    前記指示座標設定ステップが現在設定している指示座標と前回設定した指示座標とを通る直線によって囲まれる領域に前記基準座標の位置を変更することを特徴とする、請求項3に記載のゲームプログラム。
  8. 前記基準座標変更ステップは、前記線分および前記直線に挟まれる前記第1円弧上に前記基準座標の位置を変更することを特徴とする、請求項7に記載のゲームプログラム。
  9. 前記基準座標変更ステップは、前記線分上の点を除く位置に前記基準座標の位置を変更することを特徴とする、請求項7または8に記載のゲームプログラム。
  10. 前記基準座標変更ステップは、前記現在設定している指示座標と前回設定した指示座標との間の移動量が大きいほど、前記基準座標を前記直線に近づけるように、当該基準座標の位置を変更することを特徴とする、請求項9に記載のゲームプログラム。
  11. 前記ポインティングデバイスから出力される座標情報に基づいて設定される前記指示座標の周辺に周辺領域を設定する周辺領域設定ステップを、さらに前記コンピュータに実行させ、
    前記指示座標設定ステップは、前記ポインティングデバイスから新たに出力される座標情報が示す位置が前記周辺領域内のとき前記指示座標を変更せず、当該新たに出力される座標情報が示す位置が前記周辺領域外のとき、当該座標情報が示す位置に基づいて前記指示座標を変更することを特徴とする、請求項2に記載のゲームプログラム。
  12. 前記ポインティングデバイスから座標情報の出力がなくなったとき、当該出力がなくなる前の前記指示座標および前記基準座標の相対的な位置関係を記憶する位置関係記憶ステップを、さらに前記コンピュータに実行させ、
    前記指示座標設定ステップは、前記出力がなくなった後に前記ポインティングデバイスから出力される最初の座標情報が示す位置を前記座標系における指示座標に設定し、
    前記初期基準座標設定ステップは、前記位置関係記憶ステップで記憶した相対的な位置関係に基づいて、前記最初の座標情報が示す位置を基準に前記座標系における基準座標の初期位置を設定することを特徴とする、請求項2に記載のゲームプログラム。
  13. 前記ゲーム制御ステップは、前記ポインティングデバイスから座標情報の出力がなくなったとき、当該出力がなくなる前の前記指示座標および前記基準座標に応じた前記入力方向および前記入力距離の少なくとも一方に基づいたゲーム制御を継続して行うことを特徴とする、請求項2に記載のゲームプログラム。
  14. 前記ゲーム装置は、前記ポインティングデバイスに覆われた表示部を備えており、
    前記基準座標の位置を示す画像を前記表示部に表示する基準座標位置表示ステップを、さらに前記コンピュータに実行させる、請求項2に記載のゲームプログラム。
  15. プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作されるゲーム装置であって、
    前記座標系における基準座標の初期位置を設定する初期基準座標設定手段と、
    前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定手段と、
    所定条件を満たすときに、当該指示座標に近づけるように当該基準座標の位置を変更する基準座標変更手段と、
    前記基準座標から前記指示座標への方向である入力方向および前記基準座標から前記指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行うゲーム制御手段とを備える、ゲーム装置。
  16. プレイヤの操作に応じてゲーム装置に情報を入力する入力装置であって、
    プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力する座標情報出力手段と、
    前記座標系における基準座標の初期位置を設定する初期基準座標設定手段と、
    前記座標情報出力手段から出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定手段と、
    所定条件を満たすときに、当該指示座標に近づけるように当該基準座標の位置を変更する基準座標変更手段とを備え、
    前記ゲーム装置は、前記基準座標から前記指示座標への方向である入力方向および前記基準座標から前記指示座標までの距離である入力距離の少なくとも一方に基づいて、ゲーム制御を行うことを特徴とする、入力装置。
  17. ユーザの操作に応じて指定される所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作される情報処理装置のコンピュータに実行されるプログラムであって、
    前記コンピュータに、
    前記座標系における基準座標の初期位置を設定する初期基準座標設定ステップと、
    前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定ステップと、
    所定条件を満たすときに、当該指示座標に近づけるように当該基準座標の位置を変更する基準座標変更ステップと、
    前記基準座標から前記指示座標への方向である入力方向および前記基準座標から前記指示座標までの距離である入力距離の少なくとも一方に基づいて、操作処理を行う操作処理ステップとを実行させる、プログラム。
JP2004217440A 2004-07-26 2004-07-26 ゲームプログラム、ゲーム装置、および入力装置 Active JP3734819B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004217440A JP3734819B1 (ja) 2004-07-26 2004-07-26 ゲームプログラム、ゲーム装置、および入力装置
EP07014987A EP1844824A3 (en) 2004-07-26 2005-06-21 Joystick emulation using a pointing device
US11/156,493 US7824266B2 (en) 2004-07-26 2005-06-21 Storage medium having game program stored thereon, game apparatus and input device
EP05013346.1A EP1621238B2 (en) 2004-07-26 2005-06-21 Joystick emulation using a pointing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004217440A JP3734819B1 (ja) 2004-07-26 2004-07-26 ゲームプログラム、ゲーム装置、および入力装置

Publications (2)

Publication Number Publication Date
JP3734819B1 JP3734819B1 (ja) 2006-01-11
JP2006034516A true JP2006034516A (ja) 2006-02-09

Family

ID=35335587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004217440A Active JP3734819B1 (ja) 2004-07-26 2004-07-26 ゲームプログラム、ゲーム装置、および入力装置

Country Status (3)

Country Link
US (1) US7824266B2 (ja)
EP (2) EP1621238B2 (ja)
JP (1) JP3734819B1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004571A (ja) * 2005-06-24 2007-01-11 Nintendo Co Ltd 入力データ処理プログラムおよび入力データ処理装置
JP2007300961A (ja) * 2006-05-08 2007-11-22 Nintendo Co Ltd オブジェクト処理装置及びオブジェクト処理プログラム
JP2011138355A (ja) * 2009-12-28 2011-07-14 Nintendo Co Ltd 情報処理プログラム、情報処理装置および情報処理方法
JP2013052119A (ja) * 2011-09-05 2013-03-21 Epx Corp 遊技機
JP2013127683A (ja) * 2011-12-16 2013-06-27 Namco Bandai Games Inc プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム
JP2016126514A (ja) * 2014-12-26 2016-07-11 株式会社バンダイナムコエンターテインメント 入力処理装置及びプログラム
JP2017188140A (ja) * 2017-06-14 2017-10-12 株式会社スクウェア・エニックス プログラム、コンピュータ装置、プログラム実行方法、及び、システム
JP2018010541A (ja) * 2016-07-14 2018-01-18 望月 貴里子 ユーザーインターフェース
JP2018183214A (ja) * 2017-04-24 2018-11-22 株式会社ユニバーサルエンターテインメント 遊技機
JP2020058479A (ja) * 2018-10-05 2020-04-16 株式会社コナミデジタルエンタテインメント プログラム、及び、情報処理装置
US10901549B2 (en) 2016-03-23 2021-01-26 Square Enix Co., Ltd. Program, computer apparatus, program execution method, and system

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8882590B2 (en) 2006-04-28 2014-11-11 Nintendo Co., Ltd. Touch-controlled game character motion providing dynamically-positioned virtual control pad
US8146018B2 (en) * 2006-04-28 2012-03-27 Nintendo Co., Ltd. Gesture-based control of multiple game characters and other animated objects
JP4326568B2 (ja) 2007-02-20 2009-09-09 任天堂株式会社 情報処理装置および情報処理プログラム
FR2925708B1 (fr) * 2007-12-20 2009-12-18 Dav Procede de detection d'une variation angulaire d'une trajectoire de commande sur une surface tactile et module de commande correspondant
US9785330B1 (en) * 2008-02-13 2017-10-10 Apple Inc. Systems for and methods of providing inertial scrolling and navigation using a fingerprint sensor calculating swiping speed and length
EP2263140B1 (en) * 2008-04-01 2012-01-04 Koninklijke Philips Electronics N.V. Pointing device for use on an interactive surface
JP5448370B2 (ja) * 2008-05-20 2014-03-19 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体
JP5436909B2 (ja) * 2009-03-30 2014-03-05 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および、情報処理方法
FR2957266B1 (fr) 2010-03-11 2012-04-20 Parrot Procede et appareil de telecommande d'un drone, notamment d'un drone a voilure tournante.
FR2957265B1 (fr) * 2010-03-11 2012-04-20 Parrot Procede et appareil de telecommande d'un drone, notamment d'un drone a voilure tournante.
JP5313994B2 (ja) 2010-11-16 2013-10-09 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法および情報処理システム
US8678927B2 (en) * 2011-10-04 2014-03-25 Microsoft Corporation Game controller on mobile touch-enabled devices
US9868062B2 (en) * 2012-03-13 2018-01-16 Sony Interactive Entertainment America Llc System, method, and graphical user interface for controlling an application on a tablet
JP6185123B1 (ja) * 2016-08-18 2017-08-23 グリー株式会社 プログラム、制御方法、及び情報処理装置
US10444899B2 (en) * 2017-01-23 2019-10-15 Stmicroelectronics Asia Pacific Pte Ltd Multiple threshold motion tolerance to filter coordinate jitter in touch sensing
JP6450794B2 (ja) 2017-03-27 2019-01-09 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲーム制御装置、及びプログラム
JP2018161446A (ja) * 2017-03-27 2018-10-18 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲーム制御装置、及びプログラム
JP6921193B2 (ja) 2017-05-22 2021-08-18 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
JP6921192B2 (ja) 2017-05-22 2021-08-18 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
JP7083822B2 (ja) 2017-05-22 2022-06-13 任天堂株式会社 ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
US11038684B2 (en) 2018-06-28 2021-06-15 Microsoft Technology Licensing, Llc User authentication using a companion device
US10569174B1 (en) * 2018-09-27 2020-02-25 Microsoft Licensing Technology, LLC Implementing a graphical overlay for a streaming game based on current game scenario
EP3756741A1 (fr) * 2019-06-28 2020-12-30 Bigben Interactive SA Procede de contrôle d'un element d'affichage par une unite de traitement numerique
GB2588426A (en) * 2019-10-23 2021-04-28 Cambridge Touch Tech Ltd Device for force input

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002000939A (ja) * 2000-06-19 2002-01-08 Sega Corp 電子ゲーム装置、その方法及び記憶媒体

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029833A (ja) 1983-07-28 1985-02-15 Canon Inc 画像表示装置
US6037930A (en) 1984-11-28 2000-03-14 The Whitaker Corporation Multimodal touch sensitive peripheral device
JP2619383B2 (ja) * 1987-03-20 1997-06-11 株式会社日立製作所 座標入力装置
US5327161A (en) * 1989-08-09 1994-07-05 Microtouch Systems, Inc. System and method for emulating a mouse input device with a touchpad input device
JP2784825B2 (ja) 1989-12-05 1998-08-06 ソニー株式会社 情報入力制御装置
JP3301079B2 (ja) * 1990-06-18 2002-07-15 ソニー株式会社 情報入力装置、情報入力方法、情報処理装置及び情報処理方法
US5880411A (en) 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US5488204A (en) 1992-06-08 1996-01-30 Synaptics, Incorporated Paintbrush stylus for capacitive touch sensor pad
US5632679A (en) 1992-10-26 1997-05-27 Tremmel; Michael Touch sensitive computer interface controller
US5409239A (en) 1992-10-26 1995-04-25 Michael Tremmel Touch sensitive video game controller
JP3289072B2 (ja) 1993-12-22 2002-06-04 株式会社セガ ベクトル入力装置
US5745719A (en) * 1995-01-19 1998-04-28 Falcon; Fernando D. Commands functions invoked from movement of a control input device
US5757368A (en) * 1995-03-27 1998-05-26 Cirque Corporation System and method for extending the drag function of a computer pointing device
JP3212914B2 (ja) 1997-07-30 2001-09-25 群馬日本電気株式会社 入力装置
JPH11110134A (ja) 1997-10-07 1999-04-23 Fuji Electric Co Ltd 信号変換装置
US6053814A (en) 1997-12-04 2000-04-25 Logitech, Inc. System and method for automatically adjusting game controller sensitivity to player inputs
US20010013855A1 (en) 1998-06-12 2001-08-16 Jean-Philippe Fricker Resistive and capacitive touchpad
US6559833B2 (en) * 1998-10-01 2003-05-06 Hewlett-Packard Development Company Apparatus and method for achieving absolute and relative positioning of a graphics cursor
US6196917B1 (en) 1998-11-20 2001-03-06 Philips Electronics North America Corp. Goal directed user interface
JP4316733B2 (ja) * 1999-06-30 2009-08-19 富士通コンポーネント株式会社 座標入力装置及び記憶媒体
JP3421006B2 (ja) 1999-09-11 2003-06-30 株式会社ソニー・コンピュータエンタテインメント 操作装置
US7730401B2 (en) 2001-05-16 2010-06-01 Synaptics Incorporated Touch screen with user interface enhancement
US20050024341A1 (en) 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
JP3574106B2 (ja) 2001-12-14 2004-10-06 株式会社スクウェア・エニックス ネットワークゲームシステム、ゲームサーバ装置、ビデオゲーム装置、ネットワークゲームにおけるメッセージの送信方法及び表示制御方法、プログラム、並びに記録媒体
WO2003058373A2 (en) 2002-01-11 2003-07-17 Cheol-Woo Park Input device for computer system
US7109975B2 (en) 2002-01-29 2006-09-19 Meta4Hand Inc. Computer pointer control
US20050009608A1 (en) 2002-05-13 2005-01-13 Consolidated Global Fun Unlimited Commerce-enabled environment for interacting with simulated phenomena
JP4758594B2 (ja) 2002-09-24 2011-08-31 セイコーエプソン株式会社 入力装置、情報装置及び制御情報生成方法
US20040130525A1 (en) 2002-11-19 2004-07-08 Suchocki Edward J. Dynamic touch screen amusement game controller
JP4215549B2 (ja) 2003-04-02 2009-01-28 富士通株式会社 タッチパネル・モードとポインティング・デバイス・モードで動作する情報処理装置
US7474772B2 (en) 2003-06-25 2009-01-06 Atrua Technologies, Inc. System and method for a miniature user input device
US7587072B2 (en) 2003-08-22 2009-09-08 Authentec, Inc. System for and method of generating rotational inputs
US20050119036A1 (en) 2003-10-03 2005-06-02 Amro Albanna Input system and method
US7578742B2 (en) 2004-03-26 2009-08-25 Nintendo Co., Ltd. Recording medium storing video game program and video game device
JP4210936B2 (ja) 2004-07-08 2009-01-21 ソニー株式会社 情報処理装置及びこれに用いるプログラム
JP4445826B2 (ja) 2004-10-06 2010-04-07 任天堂株式会社 ゲーム装置およびゲームプログラム
JP2006146556A (ja) 2004-11-19 2006-06-08 Nintendo Co Ltd 画像表示処理プログラムおよび画像表示処理装置
JP4176741B2 (ja) 2005-05-25 2008-11-05 株式会社スクウェア・エニックス 移動先情報設定装置及び方法、プログラム、並びに記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002000939A (ja) * 2000-06-19 2002-01-08 Sega Corp 電子ゲーム装置、その方法及び記憶媒体

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4748657B2 (ja) * 2005-06-24 2011-08-17 任天堂株式会社 入力データ処理プログラムおよび入力データ処理装置
JP2007004571A (ja) * 2005-06-24 2007-01-11 Nintendo Co Ltd 入力データ処理プログラムおよび入力データ処理装置
US8643640B2 (en) 2006-05-08 2014-02-04 Nintendo Co., Ltd. Object processing apparatus and storage medium having object processing program stored thereon
JP2007300961A (ja) * 2006-05-08 2007-11-22 Nintendo Co Ltd オブジェクト処理装置及びオブジェクト処理プログラム
JP2011138355A (ja) * 2009-12-28 2011-07-14 Nintendo Co Ltd 情報処理プログラム、情報処理装置および情報処理方法
JP2013052119A (ja) * 2011-09-05 2013-03-21 Epx Corp 遊技機
JP2013127683A (ja) * 2011-12-16 2013-06-27 Namco Bandai Games Inc プログラム、情報記憶媒体、端末、サーバ及びネットワークシステム
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
JP2018010541A (ja) * 2016-07-14 2018-01-18 望月 貴里子 ユーザーインターフェース
JP2018018509A (ja) * 2016-07-14 2018-02-01 望月 貴里子 ユーザーインターフェース
JP2018183214A (ja) * 2017-04-24 2018-11-22 株式会社ユニバーサルエンターテインメント 遊技機
JP2017188140A (ja) * 2017-06-14 2017-10-12 株式会社スクウェア・エニックス プログラム、コンピュータ装置、プログラム実行方法、及び、システム
JP2020058479A (ja) * 2018-10-05 2020-04-16 株式会社コナミデジタルエンタテインメント プログラム、及び、情報処理装置

Also Published As

Publication number Publication date
US7824266B2 (en) 2010-11-02
US20060019752A1 (en) 2006-01-26
JP3734819B1 (ja) 2006-01-11
EP1621238B2 (en) 2017-09-06
EP1621238A1 (en) 2006-02-01
EP1844824A2 (en) 2007-10-17
EP1844824A3 (en) 2012-11-07
EP1621238B1 (en) 2013-06-05

Similar Documents

Publication Publication Date Title
JP3734819B1 (ja) ゲームプログラム、ゲーム装置、および入力装置
JP3734820B1 (ja) ゲームプログラム、ゲーム装置、および入力装置
JP4471761B2 (ja) ゲームプログラム、ゲーム装置、および入力装置
JP4172645B2 (ja) 入力位置との関係でゲームオブジェクトの動作を変化させるゲームプログラム
US8212780B2 (en) Apparatus and program for controlling the state of an object displayed on a screen by operating a touch panel
JP4358181B2 (ja) ゲームプログラムおよびゲーム装置
JP4961112B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP2006146556A (ja) 画像表示処理プログラムおよび画像表示処理装置
US20060052165A1 (en) Storage medium having stored thereon game program, game machine, and input device
US8643640B2 (en) Object processing apparatus and storage medium having object processing program stored thereon
JP2006141723A (ja) ゲームプログラムおよびゲーム装置
US8062113B2 (en) Information processing program and information processing apparatus
JP4388878B2 (ja) 入力処理プログラムおよび入力処理装置
JP5687826B2 (ja) ゲームプログラムおよびゲーム装置
JP4121492B2 (ja) ゲーム装置およびゲームプログラム
US8926427B2 (en) Video game with screen flip and dual sets of collision data
JP6301813B2 (ja) ゲームプログラムおよびゲーム装置
JP2008257746A (ja) 入力処理プログラムおよび入力処理装置
JP2009093666A (ja) 入力処理プログラムおよび入力処理装置
JP2011129166A (ja) 入力処理プログラムおよび入力処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050328

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20050328

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20050408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051019

R150 Certificate of patent or registration of utility model

Ref document number: 3734819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081028

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121028

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131028

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250