JP2011258151A - 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法 - Google Patents

情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法 Download PDF

Info

Publication number
JP2011258151A
JP2011258151A JP2010134539A JP2010134539A JP2011258151A JP 2011258151 A JP2011258151 A JP 2011258151A JP 2010134539 A JP2010134539 A JP 2010134539A JP 2010134539 A JP2010134539 A JP 2010134539A JP 2011258151 A JP2011258151 A JP 2011258151A
Authority
JP
Japan
Prior art keywords
camera
input
virtual camera
virtual
aim
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
JP2010134539A
Other languages
English (en)
Other versions
JP5800473B2 (ja
Inventor
Masahiro Sakurai
政博 桜井
Shinya Abe
慎也 阿部
Teppei Ikeda
哲平 池田
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
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2010134539A priority Critical patent/JP5800473B2/ja
Priority to US13/158,839 priority patent/US9149720B2/en
Publication of JP2011258151A publication Critical patent/JP2011258151A/ja
Application granted granted Critical
Publication of JP5800473B2 publication Critical patent/JP5800473B2/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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5255Changing parameters of virtual cameras according to dedicated instructions from a player, e.g. using a secondary joystick to rotate the camera around a player's character
    • 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
    • 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/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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
    • G06F3/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • 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/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • 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/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets
    • 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
    • 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/98Accessories, i.e. detachable arrangements optional for the use of the video game device, e.g. grip supports of game controllers
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6676Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dedicated player input

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】本発明の目的は、座標入力手段への操作により、操作性良く仮想カメラの向きを変更可能にすることである。
【解決手段】上記目的を達成するために、ゲーム装置は、タッチパネル等の座標入力手段と表示手段を利用可能であり、仮想空間内に仮想カメラCaを配置する。そして、座標入力手段に対するプレイヤの座標入力(タッチ操作)が有る入力状態か、当該座標入力が無い非入力状態かを判別する。ここで、ゲーム装置は、非入力状態であると判別したときには、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて仮想カメラCaの撮像方向を変更する。
【選択図】図10

Description

本発明は、情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法に関し、より特定的には、タッチパネルに対するプレイヤによる操作に基づいて仮想カメラの向きを変更する情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法に関する。
従来、タッチパネルに対するプレイヤのタッチ操作に基づいて三次元仮想空間に配置された仮想カメラ向きを変更することができる情報処理装置は知られている。例えば、非特許文献1に記載するゲーム装置では、プレイヤがタッチパネルのスライド操作を行ったときにこのスライド量に応じて仮想カメラの向きを回転させることが可能である。
"メトロイドプライムハンターズ ゲーム紹介"、〔online〕、任天堂株式会社、〔平成22年5月9日検索〕、インターネット<URL:http://metroid.jp/metroid_version4/system/index1.html#System>
しかしながら、上記のようなゲーム装置では、スライド操作を行った量だけ仮想カメラの向きが変更されていた。従って、プレイヤは、仮想カメラの向きを変更するためにスライド操作を頻繁に行わなくてはならず煩わしかった。
それゆえ、本発明の目的は、座標入力手段への操作により、操作性良く仮想カメラの向きを変更可能な情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法に関する。
第1の発明のプログラムは、上記目的を達成するために、座標入力手段を含む操作手段と表示手段とを利用可能な情報処理装置のコンピュータを、仮想カメラ配置手段、仮想画像生成手段手段、表示処理手段、操作判別手段、および第1カメラ向き変更手段として機能させる。
ここで、仮想カメラ配置手段は、仮想空間内に仮想カメラを配置する。仮想画像生成手段は、仮想カメラにより仮想空間を撮影して仮想画像を生成する。表示処理手段は、仮想画像生成手段により生成された仮想画像を表示手段に表示させる。操作判別手段は、座標入力手段に対してプレイヤが座標入力している入力状態か、当該タッチをしていない非入力状態かを座標入力手段からの出力信号に基づいて判別する。第1カメラ向き変更手段は、非入力状態であると操作判別手段によって判別されたときには、非入力状態になる直前の前記座標入力手段に対する入力座標の変化に基づいて仮想カメラの撮像方向を変更する。
上記構成によれば、プレイヤが座標入力手段に操作し続けていなくても、仮想カメラの撮像方向が変更されるため、仮想カメラの撮像方向を変更するために頻繁にプレイヤが操作しなくてもよくなり、仮想カメラの撮像方向を変更するためのプレイヤの操作性を向上させることができる。また、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて仮想カメラの撮像方向が変更される。このため、非入力状態になる直前の操作によって仮想カメラの撮像方向の変更の仕方を変えることが可能になり、プレイヤの操作に応じてプレイヤの所望の向きに仮想カメラの撮像方向を変更することが可能になる。
なお、上記座標入力手段は、一例としてタッチパネル、又はポインティングデバイス等がある。タッチパネルは、プレイヤがタッチパネル上をタッチすることで座標入力を行うことができる。また、ポインティングデバイスには、例えば、マウス等があり、この場合には、プレイヤがマウスをクリック操作することで座標入力が行われる。このクリック操作を受け付けている状態が入力状態、受け付けていない状態が非入力状態となる。そして、クリック操作をしながらスライド操作することで入力座標が変化することになる。この入力座標の変化に基づいて仮想カメラの撮像方向を変更する構成も第1の発明に含まれる。
また、ポインティングデバイスの他の例としては、画面内の位置をポイント(指定)することが可能なリモートコントローラ等がある。具体例としては、プレイヤがこのリモートコントローラを画面に向けた状態でこのリモートコントローラの所定の操作子を押下することで、座標入力が行われる。このリモートコントローラがポイントした画面内の位置で入力座標が決定される。なお、所定の操作子が押下されている状態が入力状態、されていない状態が非入力状態となる。そして、所定の操作子を押下しながらプレイヤが画面内のポイント位置を変えることで、入力座標が変化することになる。この入力座標の変化に基づいて仮想カメラの撮像方向を変更する構成も第1の発明に含まれる。
第2の発明のプログラムでは、第1カメラ向き変更手段は、非入力状態になる直前における座標入力手段に対する入力座標の変化方向に応じた方向に仮想カメラの撮像方向を回転させる。この構成によれば、非入力状態になる直前の操作によって仮想カメラの撮像方向の変更方向を変えることが可能になる。
第3の発明のプログラムでは、第1カメラ向き変更手段は、座標入力手段に対する入力座標の変化度合いに応じた角速度で仮想カメラの撮像方向を回転させ、かつ当該角速度を時間の経過とともに0になるまで減速するように、撮像方向を変更する。この構成によれば、入力座標の変化度合いに応じて、仮想カメラの撮像方向の変化が大きくなる。従って、プレイヤの座標入力手段に対するスライド操作の速度が速い程仮想カメラの撮像方向が大きく変化することになり、プレイヤはスライド操作の速度を調整することで仮想カメラの撮像方向の変化度合いを調整することが可能になる。また、仮想カメラの撮像方向の変化は徐々に減速して停止するため、プレイヤが特に仮想カメラの撮像方向の変化を停止させるための操作を行わなくても、仮想カメラの撮像方向の変更を停止させることが可能になる。
第4の発明のプログラムでは、第1カメラ向き変更手段は、第1カメラ向き変更手段により撮像方向が変更されている途中に、操作判別手段によって非入力状態から入力状態に変化したときには、第1カメラ向き変更手段による撮像方向の変更を停止する。この構成によれば、仮想カメラの撮像方向の変更を、プレイヤの座標入力手段に対する座標入力によって停止させることが可能になる。
第5の発明のプログラムは、コンピュータを、仮想空間に所定のオブジェクトを配置するオブジェクト配置手段、として更に機能させる。ここで、第1カメラ向き変更手段は、第1カメラ向き変更手段により撮像方向が変更されている途中に、撮像方向に前記オブジェクトが位置するときには、角速度を減速する減速力を強くする。この構成によれば、例えば、プレイヤが所定の停止操作を行ったときに仮想カメラの撮像方向の変更が停止される構成を採用したときに、仮想カメラの撮像方向にオブジェクトが位置するタイミングでプレイヤが所定の停止操作を行うことが容易になる。従って、オブジェクトを表示する向きに仮想カメラの撮像方向を設定することが容易になる。
第6の発明のプログラムは、コンピュータを、プレイヤオブジェクト配置手段として更に機能させる。ここで、プレイヤオブジェクト配置手段は、仮想空間にプレイヤオブジェクトを配置する。また、所定のオブジェクトは、プレイヤオブジェクトに所定の動作を行った特定のノンプレイヤオブジェクトである。この構成によれば、プレイヤオブジェクトに所定の動作(攻撃動作等)を行った特定のノンプレイヤオブジェクト、すなわち表示されるべき特定のノンプレイヤオブジェクトが仮想カメラの撮像方向に位置するときに、仮想カメラの撮像方向の変更がゆるやかになる。従って、例えば、プレイヤが所定の停止操作を行ったときに仮想カメラの撮像方向の変更が停止される構成を採用したときに、特定のノンプレイヤオブジェクトを表示する向きに仮想カメラの撮像方向を設定することが容易になる。
第7の発明のプログラムは、コンピュータを、射撃手段、照準表示手段、およびオブジェクト配置手段として更に機能させる。ここで、射撃手段は、仮想空間において所定の射撃位置から仮想的に射撃を行う。照準表示手段は、射撃手段による射撃方向を示す照準を仮想画像内に表示する。オブジェクト配置手段は、仮想空間にオブジェクトを配置する。第1カメラ向き変更手段は、仮想画像において照準の位置から所定範囲以内に所定のオブジェクトが位置するときには、角速度を減速する減速力を強くする。
上記構成によれば、仮想画像において照準から所定範囲以内に所定のオブジェクトが位置するときには、仮想カメラの撮像方向の変更がゆるやかになる。このため、例えば、プレイヤが所定の停止操作を行ったときに仮想カメラの撮像方向の変更が停止される構成を採用したときに、照準と所定のオブジェクトとが仮想画像において重なるタイミングで、プレイヤが所定の停止操作を行うことが容易になる。従って、照準と所定のオブジェクトとが仮想画像において重なるように、仮想カメラの撮像方向を設定することが容易になる。
第8の発明のプログラムは、第6の発明のプログラムにおいて、コンピュータを、プレイヤオブジェクト配置手段として更に機能させる。ここで、プレイヤオブジェクト配置手段は、仮想空間にプレイヤオブジェクトを配置する。また、所定のオブジェクトは、プレイヤオブジェクトに所定の動作(攻撃動作等)を行った特定のノンプレイヤオブジェクトである。この構成によれば、プレイヤが射撃対象とすべき特定のノンプレイヤオブジェクトと照準とが仮想画像において重なるように、仮想カメラの撮像方向を設定することが容易になる。
第9の発明のプログラムは、第4の発明のプログラムにおいて、コンピュータを、プレイヤオブジェクト配置手段として更に機能させる。ここで、プレイヤオブジェクト配置手段は、仮想空間にプレイヤオブジェクトを配置する。第1カメラ向き変更手段は、仮想空間においてプレイヤオブジェクトから所定範囲以内又は仮想カメラから所定範囲以内に所定数以上のオブジェクトが位置するときには、撮像方向に前記オブジェクトが位置するときであっても、前記角速度を減速する減速力を強くしない。
なお、第5の発明のプログラムにおいては、仮想カメラの撮像方向にオブジェクトが位置するときには、仮想カメラの撮像方向の変更がゆるやかになる。従って、仮想カメラの位置付近又はプレイヤオブジェクトの位置付近にオブジェクトが多く居れば、仮想カメラの撮像方向にオブジェクトが位置する頻度が多くなる場合がある。このため、仮想カメラの撮像方向の変更を頻繁に強く減速することになってしまい、仮想カメラの撮像方向を変更するための制御が有効に働かなくなる。このため、第9の発明のプログラムによれば、オブジェクトがプレイヤオブジェクト又は仮想カメラの周辺に多く居るときには、撮像方向に前記オブジェクトが位置するときであっても、前記角速度を減速する減速力を強くしないことで、上記問題が生じることを防止することが可能になる。
第10の発明のプログラムは、第1カメラ向き変更手段は、カメラ向き変更手段により撮像方向が変更されている途中に、撮像方向が前記プレイヤキャラクタの進行すべき方向と一致するときには、角速度を減速する減速力を強くする。この構成によれば、例えば、プレイヤが所定の停止操作を行ったときに仮想カメラの撮像方向の変更が停止される構成を採用したときに、プレイヤオブジェクトの進行方向に仮想カメラの撮像方向を設定することが容易になる。
第11の発明のプログラムは、コンピュータを、オブジェクト配置手段及び第2カメラ向き変更手段、として更に機能させる。ここで、オブジェクト配置手段は、仮想空間に所定のオブジェクトを配置する。第2カメラ向き変更手段は、入力状態であると操作判別手段によって判別されている間において、座標入力手段に対する入力座標の変化方向および変化量に基づいて、仮想カメラの撮像方向を変更する。第1カメラ向き変更手段は、当該第1カメラ向き変更手段により撮像方向が変更されている途中においては、撮像方向に前記オブジェクトが位置するときには、角速度を減速する減速力を強くする。第2カメラ向き変更手段は、第2カメラ向き変更手段により撮像方向が変更されている途中においては、撮像方向にオブジェクトが位置するか否かに関わらず、変化方向および変化量に基づいて撮像方向を変更する。この構成によれば、入力状態と非入力状態とでは、仮想カメラの撮像方向の変更のされ方が異なるため、プレイヤが操作の仕方を変えることで、所望の撮像方向の変更方法を選択することが可能になる。
第12の発明のプログラムは、コンピュータを、指示受付手段として更に機能させる。ここで、指示受付手段は、角速度の減速度合いの設定を変更するための設定変更指示をプレイヤから受け付ける。第1カメラ向き変更手段は、指示受付手段で受け付けた設定変更指示に応じて、角速度を減速する減速力を変更する。この構成によれば、プレイヤの設定変更指示によって減速力の強さを変えることができる。
第13の発明のプログラムでは、第1カメラ向き変更手段は、入力状態であると操作判別手段によって判別されたとき、この入力状態を判別した直前の座標入力手段に対する入力座標の変化に基づいて仮想カメラの撮像方向を変更する。この構成によれば、入力状態を判別した直前の座標入力手段に対する入力座標の変化に基づいて仮想カメラの撮像方向が変更される。すなわち、入力状態であっても仮想カメラの撮像方向が変更される場合があり、仮想カメラの撮像方向を変更するために、プレイヤが複数の操作方法から自己のとって操作性の良い1の操作方法を選択することが可能になる。
第14の発明のプログラムでは、第1カメラ向き変更手段は、仮想空間における垂直方向への仮想カメラの撮像方向の変更については、所定範囲内でのみ行う。また、第1カメラ向き変更手段は、仮想空間における水平方向への仮想カメラの撮像方向の変更については、変更可能な範囲の制限なく変更を行う。ここで、仮想カメラの撮像方向が垂直方向にも水平方向にも無制限に変更可能とすると、プレイヤにカメラ酔いをさせる可能性がある。また、特に仮想空間で地上を模している場合には、水平方向の撮像方向を無制限にすると、仮想空間の真上(空、天井等)や真下方向(地面)を表示してしまい、違和感のある表示になってしまう可能性がある。
上記構成によれば、プレイヤにカメラ酔いをさせる可能性が低く、かつ仮想空間の表示が違和感のある表示となってしまうことを効果的に防止することが可能になる。
第15の発明のプログラムでは、第1カメラ向き変更手段は、仮想空間における垂直方向への仮想カメラの撮像方向の変更については所定範囲内でのみ行い、仮想カメラの撮像方向が所定範囲の境界に到ったときには、所定の初期の向きに戻すように仮想カメラの撮像方向を変更する。この構成によれば、プレイヤが所定の向きに撮像方向の変更を行う操作を行わなくても撮像方向が所定の範囲を超えたときには初期の向きに戻すことが可能になる。
第16の発明のプログラムは、コンピュータを、射撃手段、照準表示手段および照準移動手段として機能させる。ここで、射撃手段は、仮想空間において所定の射撃位置から仮想的に射撃を行う。照準表示手段は、射撃手段による射撃方向を示す照準を仮想画像内に表示する。照準移動手段は、非入力状態であると操作判別手段によって判別されたときには、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて、所定範囲に限って仮想空間における照準オブジェクトの位置を移動する。第1カメラ向き変更手段は、照準オブジェクトが所定範囲の境界に到った後に、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて仮想カメラの撮像方向の変更を行う。
上記構成によれば、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて、照準オブジェクトの位置に加え仮想カメラの撮像方向も変更することが可能になる。従って、1の操作によって照準オブジェクトの位置と撮像方向の双方を変更することが可能になる。また、照準オブジェクトが移動可能な範囲の境界まで移動した後に、初めて撮像方向が変更される。すなわち、非入力状態になる直前の操作が照準オブジェクトが移動可能な範囲の境界まで移動させるような操作でなければ、撮像方向の変更が行われない。このように、プレイヤの座標入力手段への操作に応じて、照準オブジェクトの位置のみを変更したり、照準オブジェクトの位置と撮像方向の双方を変更したりすることが可能になる。また、照準オブジェクトと撮像方向の変更を同時に行わないことで、照準オブジェクトの位置の調整と、撮像方向の調整とをプレイヤが容易に行うことが可能になる。
なお、照準表示手段が、仮想画像内に照準を表示するための処理としては、仮想空間における仮想カメラのビューボリューム内に照準のオブジェクトを配置する処理が一例として挙げられる。なお、他の一例としては、仮想空間が投影された投影画像に照準の画像を重畳(合成)する処理も含まれる。この投影画像に他の画像を合成する手法は、公知の手法なので詳細な説明は省略する。
第17の発明のプログラムでは、コンピュータを、パラメータ算出手段として更に機能させる。ここで、パラメータ算出手段は、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて第1の制御パラメータを算出する。照準移動手段は、第1の制御パラメータに基づいて、所定範囲に限って仮想空間における照準の位置を移動する。第1カメラ向き変更手段は、第1の制御パラメータから照準オブジェクトの移動に使用した成分を除いた第2のパラメータを算出し、この算出した第2の制御パラメータに基づいて仮想カメラの撮像方向を変更する。
上記構成によれば、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて第1の制御パラメータが算出される。そして、照準は第1の制御パラメータに基づいて移動可能範囲の境界まで移動する。ここで、照準が境界まで移動するのに使用した成分を除いても第1の制御パラメータが0にならない場合に限って、撮像方向の変更が行うことができる。
第18の発明のプログラムは、コンピュータを、第2仮想向き変更手段として更に機能させる。照準移動手段は、入力状態であると操作判別手段によって判別されたとき、座標入力手段に対する入力座標の変化方向及び変化量に基づいて所定範囲に限って照準の位置を移動する。また、第2カメラ向き変更手段は、入力状態であると操作判別手段によって判別されたとき、照準オブジェクトが所定範囲の境界に到った後に、入力状態を判別した直前の座標入力手段に対する入力座標の変化方向および変化量に基づいて仮想カメラの撮像方向の変更を行う。
上記構成によれば、入力状態であると操作判別手段によって判別されたときでも、入力座標の変化方向及び変化量に基づいて仮想画像における照準の位置及び仮想カメラの撮像方向を変更させることが可能になる。従って、照準の位置及び/又は仮想カメラの撮像方向を変更するために、プレイヤが複数の操作方法から自己のとって操作性の良い1の操作方法を選択することが可能になる。
第19の発明のプログラムでは、射撃手段は、操作手段においてプレイヤからの射撃指示を受け付けたときには、仮想空間において仮想的に射撃を行う。また、照準移動手段は、照準を移動した後、座標入力及び/又は射撃指示を操作手段において所定期間受け付けなかったときには、照準を所定の初期の位置に移動させる。この構成によれば、座標入力及び/又は射撃指示を操作手段において所定期間受け付けなかったときには、プレイヤの特別な操作がなくても照準が自動的に所定の初期の位置に移動される。
第20の発明のプログラムは、第20の発明のプログラムにおいて、コンピュータを、照準消去手段として更に機能させる。ここで、照準消去手段は、照準を移動した後、座標入力及び/又は射撃指示を操作手段において所定期間受け付けなかったときには、表示手段に照準を表示させないための消去処理を行う。この構成によれば、座標入力及び/又は射撃指示を操作手段において所定期間受け付けなかったとき、すなわち照準が不要であると推定されるときには、照準が自動的に消去される。
第21の発明のプログラムでは、第21の発明のプログラムにおいて、照準消去手段は、消去処理の実行後、座標入力及び/又は射撃指示を操作手段において受け付けたときに、照準を表示手段に再度表示するための処理を実行する。
上記構成によれば、照準が表示されていなくても、座標入力及び/又は射撃指示を操作手段において受け付けたとき、すなわち照準の表示が必要になったと推定されたときに、照準が自動的に再度表示手段に表示される。ここで、照準の位置は初期位置で表示される。なお、照準の表示が一旦消去されてから再度表示される場合は、表示されている仮想空間の状況(表示されている領域やキャラクタの位置)が変化している可能性が高い。従って、照準の位置は初期位置に戻されていた方が、プレイヤにとって仮想空間の状況にあわせて照準の位置を変更することが容易になる。ゆえに、第21の発明のプログラムによれば、照準の再表示後に表示されている仮想空間に合わせて好適な位置に、プレイヤが照準を移動させることが容易になる。
第22の発明のプログラムは、コンピュータを、パラメータ算出手段として機能させる。ここで、パラメータ算出手段は、操作判別手段によって入力状態であると判別されたときには、前回の入力座標と現在の入力座標との差分に基づく第1の制御パラメータを算出する。一方、パラメータ算出手段は、操作判別手段によって非入力状態であると判別されたときには、非入力状態になる直前の数回分の入力座標について、各入力座標と当該各入力座標の前回の入力座標との差の平均値を算出し、この算出した平均値に基づいて第1の制御パラメータを算出する。また、第1カメラ向き変更手段は、第1のパラメータに基づいて仮想カメラの撮像方向を変更する。
上記構成によれば、入力状態であるときと、非入力状態であるときとで、照準の移動及び撮像方向の変更のために使用する第1の制御パラメータの算出方法が異なることになる。従って、プレイヤが操作の仕方を変えることで、照準の移動及び撮像方向の変更のさせ方を変えることが可能になる。
第23の発明のプログラムは、コンピュータを、連続入力判断手段、およびズーム処理手段として更に機能させる。ここで、連続入力判断手段は、操作判別手段によって入力状態であると判別されたときには、座標入力手段に対して所定の時間内で所定回数の断続的な座標入力を行う連続入力を受け付けたかどうかを判断する。ズーム処理手段は、連続入力判断手段によって連続入力を受け付けたと判断されたときには、ズームを行う。この構成によれば、連続入力という簡易な操作をプレイヤが行うことで、仮想空間における撮像対象をズームで表示することが可能になる。
第24の発明のプログラムは、コンピュータを、デフォルト戻し指示受付手段として更に機能させる。ここで、デフォルト戻し指示受付手段は、仮想カメラの撮像方向及び位置をデフォルトに戻すためのデフォルト戻し指示を受け付ける。また、第1カメラ向き変更手段は、デフォルト戻し指示受付手段でデフォルト戻し指示を受け付けたときには、仮想カメラの撮像方向を所定の初期の向きに変更するとともに仮想カメラの位置を所定の初期の位置に変更する。この構成によれば、プレイヤがデフォルト戻し操作を行うだけで、仮想カメラの撮像方向を初期の向きに変更し、かつ仮想カメラの位置を初期の位置に変更することが可能になる。
本発明の他の実施形態にかかるプログラムは、コンピュータをプレイヤオブジェクト配置手段として更に機能させる。ここで、第1カメラ向き変更手段は、仮想空間内に配置されたプレイヤオブジェクトの位置を中心として、又は仮想カメラの位置を中心として仮想カメラの視線を回転させるように、撮像方向を変更する。この構成によれば、プレイヤオブジェクトの位置を中心として仮想カメラの視線が回転される場合があり、この場合には、仮想カメラの位置がプレイヤオブジェクトを中心に回転するように移動され、かつプレイヤオブジェクトに視線が向くようになる。これによって、仮想カメラに常にプレイヤオブジェクトを表示させながら、仮想カメラの撮像方向を変更することが可能になる。また、上記構成によれば、仮想カメラの位置を中心として仮想カメラの視線が回転される場合があり、この場合には仮想カメラの位置に変更がない状態で、仮想カメラの視線が変更されることになる。これによって、仮想カメラの位置を維持しながら、仮想カメラの撮像方向を変更することが可能になる。
本発明の他の実施形態にかかるプログラムは、コンピュータをノンプレイヤオブジェクト配置手段として更に機能させる。ここで、ノンプレイヤオブジェクト配置手段は、仮想空間にノンプレイヤオブジェクトを配置する。第1カメラ向き変更手段は、仮想空間において、仮想カメラの位置から撮像方向に延びる直線を基準として所定角度以内に所定のノンプレイヤオブジェクトが位置するときには、角速度を減速する減速力を強くする。
上記構成によれば、仮想カメラの撮像範囲内(ビューボリューム内)または撮像範囲付近にノンプレイヤオブジェクトが位置するときには、仮想カメラの撮像方向の変更がゆるやかになる。このため、例えば、プレイヤが所定の停止操作を行ったときに仮想カメラの撮像方向の変更が停止される構成を採用したときに、仮想カメラのビューボリューム内にノンプレイヤオブジェクトが位置するタイミングでプレイヤが所定の停止操作を行うことが容易になる。従って、ノンプレイヤオブジェクトを表示する向きに仮想カメラの撮像方向を向けることが容易になる。
本発明の他の実施形態にかかるプログラムは、コンピュータを、プレイヤオブジェクト配置手段として更に機能させる。ここで、プレイヤオブジェクト配置手段は、仮想空間にプレイヤオブジェクトを配置する。第1カメラ向き変更手段は、仮想空間に予め設定されたパス上に仮想カメラが位置し、かつ仮想カメラの位置からのパスの方向を仮想カメラの撮像方向が向いているときには、角速度を減速する減速力を強くする。
上記構成によれば、仮想カメラがパス上に位置するときに、この位置からのパスの方向に仮想カメラの撮像方向が向いているときには、仮想カメラの撮像方向の変更がゆるやかになる。このため、例えば、プレイヤが所定の停止操作を行ったときに仮想カメラの撮像方向の変更が停止される構成を採用したときに、仮想カメラの撮像方向がパスの方向を向いているタイミングで、プレイヤが所定の停止操作を行うことが容易になる。従って、パス方向の仮想空間を表示させることが容易になる。
第25の発明の情報処理装置は、座標入力手段と表示手段とを利用可能であって、仮想カメラ配置手段、仮想画像生成手段、表示処理手段、操作判別手段、および第1カメラ向き変更手段を備える。また、第26の発明の情報処理システムは、座標入力手段と表示手段とを利用可能であって、仮想カメラ配置手段、仮想画像生成手段、表示処理手段、操作判別手段、および第1カメラ向き変更手段を備える。
ここで、仮想カメラ配置手段は、仮想空間内に仮想カメラを配置する。仮想画像生成手段は、仮想カメラにより仮想空間を撮影して仮想画像を生成する。表示処理手段は、仮想画像生成手段により生成された仮想画像を表示手段に表示させる。操作判別手段は、座標入力手段に対してプレイヤの座標入力がある入力状態か、当該座標入力が無い非入力状態かを座標入力手段からの出力信号に基づいて判別する。第1カメラ向き変更手段は、非入力状態であると操作判別手段によって判別されたときに、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて仮想カメラの撮像方向を変更する。
上記構成によれば、第1の発明のプログラムと同様の作用効果を奏する。
第27の発明の情報処理方法は、カメラ配置ステップ、仮想画像生成ステップ、表示ステップ、操作判別ステップ、および撮像方向変更ステップを含む。カメラ配置ステップにおいて、仮想カメラ配置手段が仮想空間に仮想カメラを配置する。仮想画像生成ステップにおいて、仮想画像生成手段が、仮想カメラにより仮想空間を撮影して仮想画像を生成する。表示ステップにおいて、表示処理手段が、仮想画像生成手段によって生成された仮想画像を表示手段に表示させる。操作判別ステップにおいて、操作判別手段が、座標入力手段に対するプレイヤの座標入力が有る入力状態か、当該座標入力が無い非入力状態かを座標入力手段からの出力信号に基づいて判別する。撮像方向変更ステップにおいて、第1カメラ向き変更手段が、非入力状態であると操作判別手段によって判別されたときに、非入力状態になる直前の座標入力手段に対する入力座標の変化に基づいて仮想カメラの撮像方向を変更する。
上記構成によれば、第1の発明のプログラムと同様の作用効果を奏する。
本発明によれば、仮想カメラの向きが座標入力をしていないとき(例えばタッチしていないとき)も変更されるので、仮想カメラの向きの変更のために座標入力のための操作(例えばタッチ操作)を頻繁に行う必要がなく、操作性の良いインタフェースを提供できる。
本発明の一実施形態にかかるゲーム装置の外観図 ゲーム装置の内部構成の一例を示すブロック図 地上戦ステージにおける表示画面の一例を示す図 仮想カメラCaのデフォルトでの位置と向きを示す図 照準G3の位置とプレイヤのシューティング方向の関係を示す図 地上戦ステージにおける表示画面の一例を示す図 照準の移動可能領域を示す図 スライド操作におけるタッチ位置の変化をX成分の変化とY成分の変化に分解した状態を示す図 地上戦ステージにおける表示画面の一例を示す図 スライド操作中における仮想カメラCaの向き及び位置の水平方向における変更を示す図 スライド操作中における仮想カメラCaの向き及び位置の垂直方向における変更を示す図 スライドオフ後の、垂直方向における仮想カメラ移動可能範囲及び仮想カメラCaの向きの変化を示す図 照準G3の位置、仮想カメラCaの向き及び位置の慣性力による変化の減速度合いが小さくなる場合を説明するための図 照準G3の位置、仮想カメラCaの向き及び位置の慣性力による変化の減速度合いが小さくなる場合を説明するための図 照準G3の位置、仮想カメラCaの向き及び位置の慣性力による変化の減速度合いが小さくなる場合を説明するための図 仮想空間をズームで表示する上側LCDを示す図 通常時の画角を説明するための図 ズーム時の画角を説明するための図 ズーム時の照準移動可能範囲を示す図 空中戦ステージにおける表示画面の一例を示す図 仮想空間に配置されたパスとプレイヤキャラクタの移動ルートとの関係を示す図 プレイヤキャラクタG1の移動可能方向を示す図 空中戦ステージにおける表示画面の一例を示す図 照準位置G3のスクリーン画面G4におけるデフォルト位置の変更を示す図 プレイヤキャラクタG1のデフォルト位置と、このデフォルト位置に対する照準G3の双方を変更して表示する上側LCDを示す図 メインメモリが記憶するプログラム及び各種データの一例を示す図 メイン処理の一例を示すフローチャート 地上戦時照準位置・カメラ制御処理の一例を示すフローチャート 通常照準位置・カメラ制御処理の一例を示すフローチャート パラメータ設定処理の一例を示すフローチャート 照準位置設定処理の一例を示すフローチャート カメラ向き設定処理の一例を示すフローチャート カメラ位置設定処理の一例を示すフローチャート ズーム処理の一例を示すフローチャート ズーム時照準設定処理の一例を示すフローチャート 空中戦時キャラクタ制御処理の一例を示すフローチャート
以下に図面を参照して、本発明を適用した一実施形態にかかるゲーム装置について説明する。本ゲーム装置は、本発明の情報処理装置の一例であり、タッチパネル(座標入力手段の一例)を備えている。また、本実施形態で想定するゲームは、3次元仮想空間を舞台としたシューティングゲームである。本ゲームでは、基本的には、プレイヤキャラクタ(プレイヤオブジェクト)の後方に配置された仮想カメラで撮影されたゲーム画像が表示されてゲームが進行する(いわゆるTPS(Third Person Shooting Game))。この仮想カメラに関して、上記タッチパネルに対するプレイヤの操作に応じて三次元仮想空間に配置された仮想カメラの向き(撮像方向)を変更することが可能である。
本実施形態では、タッチパネルに対してプレイヤがスライド操作(タッチオンした後、タッチを継続しつつタッチ位置を移動する操作)を行っている間にこのスライド量に応じて仮想カメラの向きを変更するのに加え、タッチパネルに対してプレイヤがタッチ操作を行っていないときにも仮想カメラの向きを変更する場合がある点が第1の特徴である。すなわち、プレイヤが、スライド操作を行った後にタッチオフすると(以下、「スライドオフ」と言う)を行ったときには、タッチオフ直前のスライド操作(スライド方向、スライド速さ;少なくともスライド方向)に応じて、タッチオフ後において慣性的に仮想カメラの向きを変更する点が本実施形態の第1の特徴となる。ただし、後述のとおり、スライド操作の最後にタッチ位置を停止させた後タッチオフした場合には、慣性的な変更は行われない。なお、本明細書においてタッチオンとは非タッチ状態からタッチ状態に移行した瞬間のことを言い、タッチオフとはタッチ状態から非タッチ状態に移行した瞬間のことを言う。
また、本実施形態の第2の特徴は、タッチパネルの所定領域内(例えば、全面)におけるプレイヤの任意の位置でプレイヤがダブルタップ操作を行うことで、仮想カメラの画角の変更等によって画面をズームすることである。なお、ダブルタップ操作(連続入力)とは、プレイヤが所定時間内に所定回数(例えば2回)の断続的なタッチ操作(座標入力)を行うこと、例えば、1回目のタッチ操作があってから所定の期間以内に2回目のタッチ操作を行うことである。なお、2回目のタッチ位置が1回目のタッチ位置から所定距離以内であることをダブルタップ操作のさらなる条件としてもよい。また、本実施形態において、ズームアップのことを単にズームと記載する。
また、本実施形態では、上記のようなシューティングゲームを想定しているが、ゲーム画面上には、プレイヤのシューティング方向を示す照準が表示されている。そして、本実施形態では、当該照準の位置をプレイヤのタッチパネルに対するスライド操作に応じてデフォルト位置から変更することを第3の特徴とする。
以下、本実施形態にかかるゲーム装置1の構成について図1及び図2を用いて説明する。図1は、本発明の一実施形態にかかるゲーム装置の外観図である。ゲーム装置は、本発明のプログラムを実行することで、本発明の情報処理装置として機能する。
図1において、ゲーム装置1は、折り畳み型の携帯ゲーム装置であり、開いた状態(開状態)のゲーム装置1を示している。ゲーム装置1は、開いた状態においてもプレイヤが両手または片手で把持することができるようなサイズで構成される。
ゲーム装置1は、下側ハウジング11及び上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に連結されている。図1の例では、下側ハウジング11及び上側ハウジング21は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回転可能に連結されている。通常、プレイヤは、開状態でゲーム装置1を使用する。また、プレイヤは、ゲーム装置1を使用しないときには閉状態としてゲーム装置1を保管する。また、図1に示した例では、ゲーム装置1は、上記閉状態及び開状態のみでなく、下側ハウジング11と上側ハウジング21とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング21を下側ハウジング11に対して任意の角度で静止させることができる。
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12が設けられる。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。なお、本実施形態では、ゲーム装置1に内蔵されている表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を利用してもよい。また、ゲーム装置1は、任意の解像度の表示装置を利用することができる。なお、詳細は後述するが、下側LCD12は、主に、内側カメラ23または外側カメラ25で撮影されている画像をリアルタイムに表示するために用いられる。
下側ハウジング11には、入力装置として、各操作ボタン14A〜14K、アナログ操作子14L及びタッチパネル13が設けられる。図1に示されるように、各操作ボタン14A〜14Kのうち、方向入力ボタン14A、操作ボタン14B、操作ボタン14C、操作ボタン14D、操作ボタン14E、電源ボタン14F、スタートボタン14G、及びセレクトボタン14Hは、上側ハウジング21と下側ハウジング11とを折りたたんだときに内側となる、下側ハウジング11の内側主面上に設けられる。方向入力ボタン14Aは、例えば選択操作等に用いられる。各操作ボタン14B〜14Eは、例えば決定操作やキャンセル操作等に用いられる。電源ボタン14Fは、ゲーム装置1の電源をオン/オフするために用いられる。図1に示す例では、方向入力ボタン14A及び電源ボタン14Fは、下側ハウジング11の内側主面中央付近に設けられる下側LCD12に対して、左右一方側(図1では左側)の当該主面上に設けられる。また、操作ボタン14B〜14E、スタートボタン14G、及びセレクトボタン14Hは、下側LCD12に対して左右他方側(図1では右側)となる下側ハウジング11の内側主面上に設けられる。方向入力ボタン14A、操作ボタン14B〜14E、スタートボタン14G、及びセレクトボタン14Hは、ゲーム装置1に対する各種操作を行うために用いられる。
なお、図1においては、操作ボタン14I〜14Kの図示を省略している。例えば、Lボタン14Iは、下側ハウジング11の上側面の左端部に設けられ、Rボタン14Jは、下側ハウジング11の上側面の右端部に設けられる。Lボタン14I及びRボタン14Jは、ゲーム装置1に対して、例えば撮影指示操作(シャッター操作)を行うために用いられる。また、本ゲーム装置1は上述したようにシューティングゲームを実行するが、Lボタン14Iはプレイヤがシューティング操作を行うために用いられる。更に、音量ボタン14Kは、下側ハウジング11の左側面に設けられる。音量ボタン14Kは、ゲーム装置1が備えるスピーカの音量を調整するために用いられる。
また、ゲーム装置1はアナログ操作子14Lを備えている。このアナログ操作子14Lは、例えば365°の方向に傾倒可能なジョイスティック等であり、傾倒方向と傾倒量に応じた操作信号を出力する。本実施形態では、アナログ操作子14Lは、仮想空間内のプレイヤキャラクタの位置を移動させるための操作をプレイヤから受け付け、例えばスライドスティックのスライド方向とスライド量に応じてゲーム装置1はプレイヤキャラクタを移動させる。
更に、ゲーム装置1は、各操作ボタン14A〜14K及びアナログ操作子14Lとは別の入力装置として、さらにタッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル13は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル13として、例えば下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。
本実施形態では、このタッチパネル13は照準の位置の変更を指示する操作と、仮想カメラの向き及び位置の変更を指示する操作をプレイヤから受け付ける。タッチパネル13に対する操作に基づく具体的な照準の位置の変更方法、仮想カメラの向き及び位置の変更方法については説明を後述する。
また、下側ハウジング11の右側面には、挿入口(図1に示す破線)が設けられている。挿入口は、タッチパネル13に対する操作を行うために用いられるタッチペン27を収納することができる。なお、タッチパネル13に対する入力は、通常タッチペン27を用いて行われるが、タッチペン27に限らずプレイヤの指でタッチパネル13を操作することも可能である。
また、下側ハウジング11の右側面には、メモリカード28を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置1とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、例えばSD(Secure Digital)メモリカードであり、コネクタに着脱自在に装着される。メモリカード28は、例えば、ゲーム装置1によって撮影された画像を記憶(保存)したり、他の装置で生成された画像をゲーム装置1に読み込んだりするために用いられる。
さらに、下側ハウジング11の上側面には、カートリッジ29を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置1とカートリッジ29とを電気的に接続するためのコネクタ(図示せず)が設けられる。カートリッジ29は、ゲームプログラム等を記録した記録媒体であり、下側ハウジング11に設けられた挿入口に着脱自在に装着される。
下側ハウジング11と上側ハウジング21との連結部の左側部分には、3つのLED15A〜15Cが取り付けられる。ここで、ゲーム装置1は、他の機器との間で無線通信を行うことが可能であり、第1LED15Aは、ゲーム装置1の電源がオンであるときに点灯する。第2LED15Bはゲーム装置1の充電中に点灯する。第3LED15Cは無線通信が確立している場合に点灯する。したがって、3つのLED15A〜15Cによって、ゲーム装置1の電源のオン/オフ状況、充電状況、及び、通信確立状況をプレイヤに通知することができる。
一方、上側ハウジング21には、上側LCD22が設けられる。上側LCD22は横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。なお、下側LCD12と同様、上側LCD22に代えて、他の任意の方式及び任意の解像度の表示装置を利用してもよい。なお、上側LCD22上を覆うように、タッチパネルを設けてもかまわない。例えば、上側LCD22には、プレイヤに各操作ボタン14A〜14K、アナログ操作子14L及びタッチパネル13の役割を教えるための、操作説明画面が表示される。
また、上側ハウジング21には、2つのカメラ(内側カメラ23及び外側カメラ25)が設けられる。図1に示されるように、内側カメラ23は、上側ハウジング21の連結部付近の内側主面に取り付けられる。一方、外側カメラ25は、内側カメラ23が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング21の外側主面(ゲーム装置1が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング21の背面)に取り付けられる。なお、図1においては、外側カメラ25を破線で示している。これによって、内側カメラ23は、上側ハウジング21の内側主面が向く方向を撮影することが可能であり、外側カメラ25は、内側カメラ23の撮像方向の逆方向、すなわち、上側ハウジング21の外側主面が向く方向を撮影することが可能である。このように、本実施形態では、2つの内側カメラ23及び外側カメラ25の撮像方向が互いに逆方向となるように設けられる。例えば、プレイヤは、ゲーム装置1からプレイヤの方を見た景色を内側カメラ23で撮影することができるとともに、ゲーム装置1からプレイヤの反対側の方向を見た景色を外側カメラ25で撮影することができる。
なお、上記連結部付近の内側主面には、音声入力装置としてマイク(図2に示すマイク41)が収納されている。そして、上記連結部付近の内側主面には、マイク41がゲーム装置1外部の音を検知できるように、マイクロフォン用孔16が形成される。マイク41を収納する位置及びマイクロフォン用孔16の位置は必ずしも上記連結部である必要はなく、例えば下側ハウジング11にマイク41を収納し、マイク41を収納位置に対応させて下側ハウジング11にマイクロフォン用孔16を設けるようにしても良い。
また、上側ハウジング21の外側主面には、第4LED26(図1では、破線で示す)が取り付けられる。第4LED26は、外側カメラ25によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、外側カメラ25によって動画が撮影される間点灯する。第4LED26によって、ゲーム装置1による撮影が行われた(行われている)ことを撮影対象者や周囲に通知することができる。
また、上側ハウジング21の内側主面中央付近に設けられる上側LCD22に対して、左右両側の当該主面に音抜き孔24がそれぞれ形成される。音抜き孔24の奥の上側ハウジング21内にはスピーカが収納されている。音抜き孔24は、スピーカからの音をゲーム装置1の外部に放出するための孔である。
以上に説明したように、上側ハウジング21には、画像を撮影するための構成である内側カメラ23及び外側カメラ25と、例えば撮影の際に操作説明画面を表示する表示手段である上側LCD22とが設けられる。一方、下側ハウジング11には、ゲーム装置1に対する操作入力を行うための入力装置(タッチパネル13、各操作ボタン14A〜14K及びアナログ操作子14L)と、ゲーム画面を表示するための表示手段である下側LCD12とが設けられる。したがって、ゲーム装置1を使用する際には、プレイヤは、下側LCD12に表示される撮影画像(カメラによって撮影された画像)を見ながら、下側ハウジング11を把持して入力装置に対する入力を行うことができる。
次に、図2を参照して、ゲーム装置1の内部構成を説明する。なお、図2は、ゲーム装置1の内部構成の一例を示すブロック図である。
図2において、ゲーム装置1は、CPU(Central Processing Unit)31、メインメモリ32、メモリ制御回路33、保存用データメモリ34、プリセットデータ用メモリ35、メモリカードインターフェース(メモリカードI/F)36及びカートリッジI/F43、無線通信モジュール37、リアルタイムクロック(RTC)38、電源回路39、及びインタフェース回路(I/F回路)40等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて、下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
CPU31は、所定のプログラム(本発明の情報処理プログラムを含む)を実行するための情報処理手段である。CPU31は、通信に関する処理を実行するコア31Aとアプリケーションの実行を行うコア31Bを備える。本実施形態では、所定のプログラムがゲーム装置1内のメモリ(例えば保存用データメモリ34)やメモリカード28、カートリッジ29に記憶されており、コア31Aは当該所定のプログラムを実行することによって通信処理の一部を実行する。
また、コア31Bは、当該所定のプログラムを実行することによって、所定のゲーム処理を実行する。この所定のゲーム処理としてはゲーム画像データの作成処理を含む。より具体的には、コア31Bは、ゲーム画像データの作成処理として、3Dグラフィックスの表示に必要な計算処理、例えば、モデリング処理、仮想カメラ及び光源の設定処理及びレンダリング処理等の実行によって所定期間毎(例えば1/60秒毎)にゲーム画像データを作成してメインメモリ32のVRAM領域に書き込む。また、所定のゲーム処理にはメイン処理も含まれる。メイン処理についての詳細は図24を用いて後述する。
本実施形態では、コア31Aが専ら通信処理を行うため、コア31Bがアプリケーションを実行している間もアプリケーションの実行処理とは無関係に他のゲーム装置との間の通信処理を行うことができる。なお、CPU31によって実行されるプログラムは、ゲーム装置1内のメモリに予め記憶されていてもよいし、メモリカード28及び/またはカートリッジ29から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。例えば、インターネットを経由して所定のサーバからダウンロードすることで取得しても良いし、据置型ゲーム装置と通信を行うことで、当該据置型ゲーム装置に記憶されている所定のプログラムをダウンロードすることで取得しても良い。
CPU31には、メインメモリ32、メモリ制御回路33、及びプリセットデータ用メモリ35が接続される。また、メモリ制御回路33には、保存用データメモリ34が接続される。メインメモリ32は、CPU31のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ32は、上記したCPU31の実行する処理に用いられる各種データを記憶したり、外部(メモリカード28及び29や他の機器等)から取得されるプログラムを記憶したりする。また、メインメモリ32には、画面表示を行う為に使用するVRAM領域が設定されている。本実施形態では、メインメモリ32として、例えばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ34は、CPU31によって実行されるプログラムや内側カメラ23及び外側カメラ25によって撮影された画像のデータ等を記憶するための記憶手段である。保存用データメモリ34は、不揮発性の記憶媒体によって構成されており、例えば本実施例ではNAND型フラッシュメモリで構成される。メモリ制御回路33は、CPU31の指示に従って、保存用データメモリ34に対するデータの読み出し及び書き込みを制御する回路である。プリセットデータ用メモリ35は、ゲーム装置1において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ35としては、SPI(Serial Peripheral Interface)バスによってCPU31と接続されるフラッシュメモリを用いることができる。
メモリカードI/F36はCPU31に接続される。メモリカードI/F36は、コネクタに装着されたメモリカード28に対するデータの読み出し及び書き込みを、CPU31の指示に応じて行う。本実施形態では、外側カメラ25によって撮像された画像データがメモリカード28に書き込まれたり、メモリカード28に記憶された画像データがメモリカード28から読み出されて保存用データメモリ34に記憶されたりする。
カートリッジI/F43はCPU31に接続される。カートリッジI/F43は、コネクタに装着されたカートリッジ29に対するデータの読み出し及び書き込みをCPU31の指示に従って行う。本実施形態では、アプリケーションプログラムがカートリッジ29から読み出されてCPU31によって実行されたり、当該アプリケーションプログラムに関するデータ(例えばゲームのセーブデータ等)がカートリッジ29に書き込まれたりする。
無線通信モジュール37は、例えばIEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。無線通信モジュール37はコア31Aに接続される。コア31Aは、無線通信モジュール37を用いてインターネットを介して、又は介さないで他の機器との間でデータを送受信することができる。
また、無線通信モジュール37は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。ここで、無線通信モジュール37は、この無線通信で使用する電波は例えば無線局の免許が不要な程の微弱電波であり、例えばデータ伝送距離が10mの範囲内の近距離無線通信を行う。従って、コア31Aは、他のゲーム装置1の通信可能範囲内(例えば、両機間の距離が10m以内)に位置するときに、無線通信モジュール37を用いて当該他のゲーム装置1とデータを送受信することができる。このデータの送受信は、プレイヤの指示があったときに行われるのに加え、プレイヤの指示を条件とせずに所定周期毎に自動的に繰り返し行われる。
また、CPU31にはRTC38及び電源回路39が接続される。RTC38は時間をカウントしてCPU31に出力する。例えば、CPU31はRTC38によって計時された時間に基づいて、現在時刻(日付)等を計算することもできる。電源回路39は、ゲーム装置1が有する電源(典型的には電池であり、下側ハウジング11に収納される)から供給される電力を制御し、ゲーム装置1の各部品に電力を供給する。
また、ゲーム装置1はマイク41及びアンプ42を備えている。マイク41及びアンプ42はそれぞれI/F回路40に接続される。マイク41は、ゲーム装置1に向かって発声されたプレイヤの音声を検知して、当該音声を示す音声信号をI/F回路40に出力する。アンプ42はI/F回路40から音声信号を増幅してスピーカ(図示せず)から出力させる。I/F回路40はCPU31に接続される。
また、タッチパネル13はI/F回路40に接続される。I/F回路40はマイク41及びアンプ42(スピーカ)の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換及びD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成してCPU31に出力する。例えば、タッチ位置データは、タッチパネル13の入力面に対して入力が行われた位置の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、及び、タッチ位置データの生成を所定時間に1回の割合で行う。CPU31は、I/F回路40を介して、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
操作子14は、上記各操作ボタン14A〜14K及びアナログ操作子14Lから構成され、CPU31に接続される。操作子14からCPU31へは、各操作ボタン14A〜14K及びアナログ操作子14Lに対する入力状況(押下されたか否か)を示す操作情報が出力される。CPU31は、操作子14から操作情報を取得することによって、操作子14に対する入力に応じた処理を実行する。
内側カメラ23及び外側カメラ25は、それぞれCPU31に接続される。内側カメラ23及び外側カメラ25は、CPU31の指示に応じて画像を撮影し、撮影した画像データをCPU31に出力する。本実施形態では、CPU31は、内側カメラ23及び外側カメラ25のいずれか一方に対して撮影指示を行い、撮影指示を受けたカメラが画像を撮影して画像データをCPU31に送る。
また、下側LCD12及び上側LCD22は、それぞれCPU31に接続される。下側LCD12及び上側LCD22は、それぞれCPU31の指示に従って画像を表示する。
以下、図3〜図22を用いて本ゲーム装置1が実行するシューティングゲームの内容を説明する。このシューティングゲームでは、複数のステージが用意されており、プレイヤが1のステージをクリアすると次のステージに進むようになっている。また、これらのステージの種類として、空中戦ステージと地上戦ステージの2種類のステージがある。空中戦ステージは、空又は宇宙等の空中を表す仮想空間内をプレイヤキャラクタが飛行するステージである。また、地上戦ステージは、陸上を表す仮想空間内をプレイヤキャラクタが徒歩又は走行するステージである。空中戦ステージは、プレイヤキャラクタの移動経路が予め決まっていて、プレイヤキャラクタはその経路に沿って自動的に移動する。そして、プレイヤ操作によりプレイヤキャラクタはその経路から一定範囲だけ離れることが可能である。一方、地上戦ステージでは、プレイヤキャラクタは自動的に移動せずプレイヤ操作によって自由に移動する。空中戦ステージ及び地上戦ステージの何れのステージにおいても、仮想空間内にスタート地点とゴール地点(または、例えばボスキャラを倒すなどのゴールとなる条件)が設定されている。そして、プレイヤが、キャラクタ移動操作を行うことによって、プレイヤキャラクタをスタート地点からゴール地点まで移動させることができたらゲームクリアとなる。
ここで、スタート地点からゴール地点までの道中には敵キャラクタが出現して、この敵キャラクタの攻撃によってプレイヤキャラクタの体力値が0になると、ゲームは終了してしまう。プレイヤは、プレイヤキャラクタを移動操作したり、射撃動作の指示操作をおこなって、敵キャラクタを射撃(シューティング)して倒したり、敵キャラクタからの攻撃を回避することができる。このシューティング方向は上述しように仮想空間における照準の位置に基づいて決定される。
本実施形態においては、照準の位置、仮想カメラの向き、位置及び画角がプレイヤのタッチパネル13に対する操作に応じて変更されることが特徴である。以下、本実施形態の特徴となる照準位置、仮想カメラの向き、位置及び画角の変更について記載する。ここで、地上戦ステージと空中戦ステージとでは照準位置、仮想カメラの向き、位置及び画角の変更に関する処理が異なるため、地上戦ステージと空中戦ステージとに分けて照準位置、仮想カメラの向き、位置及び画角の変更に関する処理を説明する。
(地上戦ステージ上のスライド操作中における照準位置の変更)
図3は地上戦ステージにおける表示画面の一例を示す図である。地上戦ステージにおいては上側LCD22には、仮想カメラCa(図4を参照)から見た仮想空間が表示されている。この仮想空間には、プレイヤキャラクタG1、このプレイヤキャラクタを攻撃するノンプレイヤキャラクタである複数の敵キャラクタG2、及び照準G3(常に仮想カメラの方向を向くように制御される板ポリゴンオブジェクト)が配置されている。また図示を省略しているが地上を表す背景オブジェクトも仮想空間に配置されている。地上戦ステージでは、プレイヤキャラクタG1はプレイヤのアナログ操作子14Lによるキャラクタ移動操作に応じて仮想空間内を自由に移動することが可能となっている。
そして、本実施形態では、仮想カメラCaの制御については、基本的には、キャラクタの移動に追従して仮想カメラCaの位置及び向きも移動するように制御される。図4は仮想カメラCaのデフォルトでの位置と向きを示す図である。図4では仮想空間を上方から真下に見た状態を示している。なお、図7、図10、図13〜図15、図17、図18、図19及び図22Bについても同様である。
図4で示すように、仮想カメラCaの位置(図面では「P1」で示す)は、デフォルトでは、プレイヤキャラクタG1の代表点P2と同一水平面上でこの代表点P2から所定距離だけ離れた位置で、かつプレイヤキャラクタG1の水平方向での向き(プレイヤキャラクタG1の前方方向)と仮想カメラCaの水平方向での向きとが一致する位置に設定される。なお、仮想カメラの向きは、デフォルトでは水平方向、かつプレイヤキャラクタG1(代表点P2)を向くように設定される。また、代表点P2は、例えば、プレイヤキャラクタG1の所定部位の位置(例えば頭部の重心位置)に設定される。
次に、同図(図4)を用いて照準G3のデフォルト位置を説明する。照準G3の代表点P3は、デフォルトでは、プレイヤキャラクタG1の代表点P2から仮想カメラCaの向いている方向に延びる直線とスクリーン面G4との交点に配置される。例えば、代表点P3は照準G3の板ポリゴンオブジェクトの所定位置(例えば中心位置)に設定される。なお、本実施形態では、照準G3はスクリーン面G4上に配置されるが、この構成に代えて、照準G3は、代表点P2から仮想カメラCaの向いている方向に所定距離だけ離れた仮想カメラCaの撮像方向に垂直な平面上に配置されてもよい。また、本実施形態では、プレイヤキャラクタG1及び敵キャラクタG2に隠れて照準G3が表示されないことを防止するために、照準G3の手前に重なるオブジェクトに対して透過処理を施すことで、他のオブジェクトに隠されることなく照準G3を必ず表示している。なお、この構成に代えて、照準G3の仮想空間における位置をスクリーン上の位置(スクリーン上位置)に変換し、仮想カメラCaの撮像画像のスクリーン上位置に照準G3の画像を合成する構成であってもよい。
図5は照準G3の位置とプレイヤのシューティング方向の関係を示す図である。この図5は仮想空間を上方から見た状態を示す。図5で示すように、シューティング方向は、プレイヤキャラクタG1の代表点P2から照準G3の代表点P3に向かう方向であり、この方向に向けて代表点P2から弾丸オブジェクトG5が発射されて飛行する。そして、弾丸オブジェクトG5と衝突した敵キャラクタG2がシューティングされて倒される。なお、本実施形態では、プレイヤキャラクタG1の代表点P2と照準P3の代表点P3を結ぶ直線を基準として、水平方向で所定角度以内に敵キャラクタG2が位置するときには、シューティング方向がその敵キャラクタG2に向かうように補正される。
次に、図6〜図8を用いてスライド操作中(スライド操作をしてタッチオフしていない状態)の照準の移動について説明する。図6は地上戦ステージにおける表示画面の一例を示す図である。この図では、スライド操作に応じて照準G3が移動されている。本実施形態では、プレイヤがタッチパネル13に対してスライド操作を行うと、このスライド量に応じた移動量及び移動方向で照準G3が仮想空間を移動する。図6では、タッチペン27が図1で示すタッチ位置からスライド量a1だけX軸正方向にスライド操作されている。なお、ここのでX軸正方向とはタッチパネル13の座標を基準とした方向であり、タッチパネル13の座標では図6における右方向がX軸正方向、左方向がX軸負方向、上方向がY軸正方向、下方向がY軸負方向となる。このとき、照準G3が、カメラ座標系のX軸方向にスライド量a1に応じた移動量だけデフォルト位置から移動する。ここで、照準G3は、スライド操作に応じて無制限に移動可能ではなく、図6に点線で示す範囲(照準移動可能範囲)でのみ移動可能になっている。なお、この点線は画面には表示されない。
図7は照準移動可能領域を示す図である。照準移動可能範囲は、スクリーン面G4上における仮想カメラG4の画角θ1よりも小さい角度の範囲に設定されている。具体的には、代表点P2から仮想カメラG4の向いている方向に延びる直線を基準として、照準G3は水平方向に左右にθ2x(θ1より小さい)の範囲まで移動可能である。また、この直線を基準として照準G3は垂直方向に上下にθ2y(θ1より小さい)の範囲まで移動可能である。
前述の通り、照準G3の代表点P3は、デフォルトでは、プレイヤキャラクタG1の代表点P2から仮想カメラCaの向いている方向に延びる直線上に存在し、また、照準移動可能範囲は、当該直線を基準として、水平方向に左右にθ2x、上下にθ2yの範囲である。すなわち、照準G3の位置や照準移動可能範囲は、仮想カメラの位置および向きに基づいて決定されるものであり、仮想カメラCaの位置および向きに追従して変更される。
そして、図8で示すように、スライド操作におけるタッチ位置の変化は、タッチパネル13の座標におけるX成分の変化と、Y成分の変化に分けて検出される。ここでは、スライド量a1のうち、X成分の変化量が変化量axであり、Y成分の変化量が変化量ayである。そして、このX成分の変化量axに応じた移動量で、照準G3における代表点P3が仮想カメラCaの座標系を基準としてX軸方向に移動する。そして、このY成分の変化量ayに応じた移動量で、照準G3における代表点P3が仮想カメラCaの座標系を基準としてY軸方向に移動する。なお、仮想カメラCaの座標系では、図7における右方向が、X軸正方向、左方向がX軸負方向、手前方向がY軸正方向、奥方向がY軸負方向となる。
上述したように、本実施形態では、照準G3の仮想空間における位置をプレイヤのスライド操作という直感的で簡易な操作で変更することができる。なお、従来技術では、常に表示画面の中央に位置するように照準G3が配置され、照準の位置を移動させるためには仮想カメラの向きそのものを変更しなければならなかったが、本実施形態では仮想カメラCaの向き又は位置を変更しなくても一定の範囲で照準G3の位置を変更させてシューティング方向を変えることができる。
(地上戦ステージにおけるスライド操作による仮想カメラの向き、位置の変更)
次に、図9〜図11を用いてスライド操作中の仮想カメラ向き及び仮想カメラ位置の移動について説明する。図9は地上戦ステージにおける表示画面の一例を示す図である。この図9の例では、タッチペン27が図6で示すタッチ位置から更にスライド量a2だけスライド操作されている。従って、この例では、タッチペン27はタッチオンした位置からスライド量a(スライド量a1+スライド量a2)移動している。この例では、照準G3がスライド量a1に応じた移動量で移動すると照準移動可能範囲の境界に到るが、本実施形態では、照準G3が境界位置に到るまではスライド操作によって照準G3の位置が変更され、到った後には、スライド操作によって仮想カメラCaの向きと位置の移動が行われる。
すなわち、仮想カメラCaの向きおよび向きは、照準G3が境界に至った後のスライド操作の方向に応じた方向にスライド量a2に応じた度合いで変更される。
なお、以下の説明において、照準G3がX軸方向の境界位置に至ってからのX軸方向(タッチパネル13の座標系におけるX軸方向)のスライド量をa2xとし、照準G3がY軸方向の境界位置に至ってからのY軸方向(タッチパネル13の座標系におけるY軸方向)のスライド量をa2yとして説明する。
図10はスライド操作中における仮想カメラCaの向き及び位置の水平方向における変更を示す図である。仮想カメラCaの位置は、プレイヤキャラクタG1の代表点P2を含む水平面において、当該P2を中心とする所定半径r1の円上に設定される。すなわち、仮想カメラCaの水平方向についての移動可能範囲(仮想カメラ移動可能範囲)はこの円上である。そして、図1の右方向(X軸正方向)にスライド操作があったときには、照準G3がX軸方向の右側境界に至った後、仮想カメラCaの位置が現在位置からC1の方向にスライド量a2xに応じて移動する。また、図1の左方向(X軸負方向)にスライド操作があったときには、照準G3がX軸方向の左側境界に至った後、仮想カメラCaの位置がデフォルト位置からC2の方向にスライド量a2xに応じて移動する。
そして、仮想カメラCaの向きは仮想カメラCaの移動後においてもプレイヤキャラクタG1の代表点P2を向くように変更される。同図では、仮想カメラCaの向きは、デフォルトでは矢印Aの方向を向いていたが、位置の変更後には矢印Bの方向に向くように変更されている。上述したように仮想カメラCaの位置はスライド量a2xとスライド操作の方向に応じて変更されるため、仮想カメラCaの向きもスライド量a2xとスライド操作の方向に応じて変更されることになる。
図11はスライド操作中における仮想カメラCaの向き及び位置の垂直方向における変更を示す図である。仮想カメラCaの位置は、プレイヤキャラクタG1の代表点P2を含む垂直面において、当該P2を中心とする所定半径r1の円弧上に設定される。すなわち、仮想カメラの垂直方向についての移動可能範囲はこの円弧上であり、仮想カメラCaは、直線r1を基準として下方向にα1°(90°よりも小さい角度)、上方向にα2°(例えば90°)の範囲で移動可能である。そして、図1の上方向にスライド操作があったときには、照準G3がY軸方向の上側境界に至った後、仮想カメラCaの位置がデフォルト位置からC3の方向にスライド量a2yに応じて移動する。また、図1の下方向にスライド操作があったときには、照準G3がY軸方向の下側境界に至った後、仮想カメラCaの位置がデフォルト位置からC4の方向にスライド量a2yに応じて移動する。
そして、仮想カメラCaの向きは仮想カメラCaの移動後もプレイヤキャラクタG1の代表点P2を向くように変更される。同図では、仮想カメラCaの向きは、デフォルトでは矢印Aの方向を向いていたが、位置の変更後には矢印Cの方向に向くように変更されている。上述したように垂直方向においても、仮想カメラCaの位置はスライド量a2yとスライド操作の方向に応じて変更されるため、仮想カメラCaの向きもスライド量a2yとスライド操作の方向に応じて変更されることになる。
上述したように、本実施形態では、スライド操作によって照準G3の位置、仮想カメラCaの向き及び位置を変更することができるが、さらに、「スライドオフ」(スライド操作をしてタッチオフすること)の後においても、照準G3の位置、仮想カメラCaの向き及び位置は慣性力によって変化する。なお、スライド操作中は慣性力による変化はしない。
以下、この慣性力による照準G3の位置、仮想カメラCaの向き及び位置の変化について図7、図10、図12〜図15を用いて説明する。
(地上戦ステージにおけるスライドオフ後の照準位置の変更)
まず、スライドオフの時点において、照準が照準移動可能範囲の境界に到達していないときには、照準G3の位置が慣性的に変化する。
照準G3の慣性力による移動について説明する。まず、照準移動可能範囲を説明すると、この照準移動可能範囲については図7を用いて説明したスライド操作中のものと同一である。スライド操作中と相違する点は、スライド操作中は照準G3がスライド操作の方向に応じた方向とスライド量に応じた移動量で移動するが、スライドオフ後には照準G3がタッチオフ直前のスライド方向とスライド量に応じた慣性力に応じて移動し、かつ徐々に減速して停止することである。ここで、慣性停止する前にプレイヤがタッチパネル13上の任意の1点をタッチすると、照準G3の移動は瞬時に停止する。このため、プレイヤが、自己の所望の位置に照準G3が移動させるためには、スライドオフ後、慣性移動している照準が所望の位置まで移動したときに任意の位置をタッチオンするだけの操作でよい。これによって、タッチ操作を行い続けなくても、操作性よく照準G3を所望の位置まで移動させることができる。
(地上戦ステージのスライドオフ後における仮想カメラの向き、位置の変更)
スライドオフの時点において、照準が照準移動可能範囲の境界に既に到達しているとき、または、慣性力で移動する照準G3が照準移動可能範囲の境界に到達した後には、仮想カメラの向き、位置が慣性力で変化する。
仮想カメラCaの向きの慣性力による変更及び仮想カメラCaの位置の慣性力による移動について説明する。ここで、水平方向における仮想カメラ移動可能範囲及び仮想カメラCaの向きの変化は図10を用いて説明したスライド操作中のものと同一である。しかしながら、垂直方向における仮想カメラ移動可能範囲及び仮想カメラCaの向きの変化については、スライド操作中とは異なっている。
図12は、スライドオフ後の、垂直方向における仮想カメラ移動可能範囲及び仮想カメラCaの向きの変化を示す図である。図12で示すように、スライドオフ後においてもスライド操作中と同様に、仮想カメラCaの位置は、プレイヤキャラクタG1の代表点P2を含む垂直面において、当該P2を中心とする所定半径r1の円弧上に設定され、この円弧上で変更可能である。しかしながら、仮想カメラ移動可能範囲が、直線r1を基準として下方向にα1°(90°よりも小さい角度)、上方向にα1°の範囲で移動可能である点が異なっている。なお、スライド操作中には仮想カメラCaは上方向にα2°の範囲で移動可能であるが、このα2°はα1°よりも大きい角度となっている。このように、仮想カメラ移動可能範囲がスライド操作中よりも狭くなっている。そして、仮想カメラCaの向きについてもスライド操作中と同様にして変更される。もっとも、垂直方向における仮想カメラ移動可能範囲がスライド操作中よりも狭くなっているため、垂直方向における仮想カメラCaの向きについてはスライド操作中よりも小さい度合いでのみ変更可能(D方向からE方向まで変更可能)になっている。
照準G3が照準移動可能範囲の境界に到達した後は、スライドオフ後に、仮想カメラCaの向き及び位置がタッチオフ直前のスライド方向とスライド量に応じた慣性力で変化又は移動する。そして、仮想カメラCaの向きの変化及び位置の移動が徐々に減速して停止する。ここで、慣性力による仮想カメラCaの向きの変化及び位置の移動が停止する前にプレイヤがタッチパネル13上の任意の1点をタッチすると、仮想カメラCaの向きの変化及び位置の移動が瞬時に停止する。このため、自己の所望の仮想カメラCaの向き及び位置にするためには、スライドオフをした後、慣性で変化している仮想カメラCaが自己の所望の向き及び位置に到ったときに任意の位置をタッチオンするだけの操作でよい。これにより、プレイヤがタッチ操作を行い続けなくても、所望の向き及び位置に仮想カメラCaの向き及び位置させることができ、操作性よく仮想カメラCaの向き及び位置の変更を行うことができる。
なお、スライドオフ後には垂直方向の仮想カメラCaの位置及び向きは、自動的にデフォルト位置(プレイヤキャラクタG1の代表点P2と同一水平面)及びデフォルト向き(水平方向)に徐々に戻っていく。
なお、前述の通り、照準G3の位置は仮想カメラCaの位置および向きに基づいて決定されるので、スライド操作により、または、スライドオフ後に慣性的に、仮想カメラCaの位置および向きが変化する場合、それに応じて、照準G3の位置も変化する。ただし、照準G3の画面上の位置は変化しない(例えば、照準が境界位置に達した後、仮想カメラCaが慣性移動する場合において、照準G3は境界位置のままである)。
(仮想カメラの慣性制御の減速度合いの変化:仮想カメラの撮像方向の一定範囲内にNPCが存在する場合)
上述したように、スライドオフ後には、照準G3の位置、仮想カメラCaの向き及び位置が慣性力によって変化していき、徐々にこの変化が減速していくが、本実施例では、この変化の減速度合いをある条件で大きくする。具体的には、ノンプレイヤキャラクタ(NPC)が仮想カメラの撮像方向の一定範囲内に存在するときに減速度合いを大きくする。例えば、図13に示すように、慣性移動中の仮想カメラCaの位置から仮想カメラCaの向きに延びる直線と、仮想カメラCaの位置から或るNPCの位置に延びる直線の構成する角度が所定角度α3°以内であるときには、仮想カメラCaの向き及び位置の慣性力による変化の減速度合いを大きくする。ここで、撮像方向の一定範囲内に存在するときに減速度合いを大きくする対象は、任意のNPCとしてもよいし、特定のNPC(例えば、すべての敵キャラクタ、または、特定種類の敵キャラクタ)としてもよいし、プレイヤキャラクタG1が敵キャラクタから攻撃を受けてダメージを受けたときに、その敵キャラクタG2の識別情報を記憶しておいて、当該敵キャラクタのみとしてもよい(または、当該敵キャラクタについての減速力をさらに強くしてもよい)。なお、NPCの種類によって減速度合いを変更してもよい。これによって、プレイヤがシューティングすべき敵キャラクタG2が仮想カメラの中心付近に表示されているとき等には仮想カメラCaの向き及び位置の変化がゆるやかになり、敵キャラクタG2を仮想カメラでとらえることが容易となる。
(仮想カメラの慣性制御の減速度合いの変化:プレイヤキャラクタの近くに所定数以上のNPCが存在する場合)
また、図14で示すように、プレイヤキャラクタG1を中心として所定距離以内に居る敵キャラクタG2の数が所定数以上のときには(または、現在のプレイエリアに存在する敵キャラクタG2の数が所定数以上のときには)、上述の「仮想カメラCaの撮像方向の一定範囲内にNPCが存在する場合の減速度合いの変化」の処理を停止してもよい。これは、多数の敵キャラクタG2が存在するときには、敵キャラクタG2が撮像方向に存在する頻度が高く、頻繁に強く減速することになって、慣性によるカメラ制御が有効に働かない。このため、敵キャラクタG2がプレイヤキャラクタG2の周辺に多くいるときには、上述の減速度合いの変更処理を停止するようにする。
(仮想カメラの慣性制御の減速度合いの変化:プレイヤキャラクタの進行すべき方向に撮像方向が向いている場合)
また、本実施形態において、地上戦ステージでは、当該ステージのスタート地点からゴール地点を結ぶ所定のルートがパスとして定義されている。当該パスは、プレイヤキャラクタG1の進行すべき方向(ルート)をガイドするためのものであり、仮想ゲーム空間においてその座標およびその座標それぞれについて進行方向(水平方向のみ)が定義されている。(または、地面オブジェクトに埋め込む形で設定されていてもよい。)そして、例えば、プレイヤキャラクタG1がパスの近辺に居るとき(一定距離以内等)には進行方向を示す矢印オブジェクトが表示される。ここで、図15で示すように、仮想カメラCa(またはプレイヤキャラクタG1)が、パスの近辺(例えば、仮想カメラCaからパスへの距離が一定以内、または、プレイヤキャラクタG1からパスへの距離が一定以内)に位置するときに、仮想カメラCaの向き及び位置の慣性力による変化の減速度合いを大きくしてもよい。具体的には、仮想カメラCaが位置する地点(またはプレイヤキャラクタG1の地点)から一番近いパス上の点に設定された進行方向(水平方向)が仮想カメラCaの向いている方向(水平方向)から角度α4°以内で場合である。従って、仮想カメラCaの位置(またはプレイヤキャラクタG1の位置)がパスの近辺にあり、かつ仮想カメラCaの向きがパス方向に近いときには、仮想カメラCaの向き及び位置の変化がゆるやかになり、プレイヤが、仮想カメラCaをプレイヤキャラクタG1の進行すべき方向に向くように制御することが容易になる。
(地上戦ステージにおけるズーム処理)
次に、図16〜18を用いて地上戦ステージにおけるズーム処理について説明する。図16は仮想空間をズームで表示する上側LCD22を示す図である。地上戦ステージにおいては、プレイヤがダブルタップ操作をタッチパネル13に対して行うことで、図16で示すように、仮想カメラCaの視点が主観視点に変更され、かつ通常時よりもズームして仮想空間を仮想カメラCaに投影する。具体的には、注視点を同一に維持した状態で仮想カメラCaの画角θ1を変更することで、仮想空間がズームで表示される。図17は通常時(地上戦ステージにおいてズーム時ではない時)の画角を説明するための図であり、図18はズーム表示がなされている期間(ズーム時)の画角を説明するための図である。ダブルタップ操作があると、仮想カメラCaの画角θ1を小さく変更することで、敵キャラクタG2等のオブジェクトのスクリーン面G4上における投影範囲が大きくなる。なお、図17及び図18の斜線部分が敵キャラクタG2の投影範囲を示している。従って、画角θ1を小さく変更することでズーム表示が行われる。
上述したズーム処理はダブルタップ操作によって行われるが、このダブルタップ操作はタッチパネル13の所定領域内(たとえば、全面)の何れの領域で行ってもよい。これによって、プレイヤのタッチパネル13における所望の位置でダブルタップ操作を行うという簡易な操作によって、ズーム処理の実行をゲーム装置1に指示することができる。
なお、ズームは、ダブルタップにおける2回目のタッチ操作を継続している間だけ行われ、当該2回目のタッチ操作をオフすると、ズーム処理は解除されて、通常の処理に戻る。ダブルタップにおける2回目のタッチ操作が継続している限り、そのタッチ位置が移動してもズーム処理は継続する。
なお、ズーム時には、上述したように、仮想カメラCaの視点は主観視点に変更される。すなわち、プレイヤキャラクタG1の代表点P2の位置に仮想カメラCa位置が設定される(図19を参照)。また、ズーム中にスライド操作を行っても(すなわち、ダブルタップしてそのままタッチ操作を継続しつつタッチ位置を移動させても)仮想カメラCaの向き及び位置は変更しない。ズーム中にスライド操作を行うと、照準G3の位置が移動する。
(ズーム処理時の照準G3の移動)
以下に、図19を用いて、ズーム中の照準G3の移動について説明する。ズーム中においても照準G3は、スクリーン面G4上に配置され、デフォルト位置についても通常時(非ズーム時)と同一である。また、ズーム中のスライド操作の方向とスライド量に応じて、照準G3がデフォルト位置から移動する。ただし、ズーム時ではスライド操作によってのみ照準G3の位置を変更することができ、慣性力によって照準G3を移動させることができない。
また、図19はズーム中の照準移動可能範囲を示す図であるが、図19で示すように、照準移動可能範囲が通常時の照準移動可能範囲よりも広く、具体的には、スクリーン面G4の全域である点が異なっている。すなわち、移動可能範囲を規定する角度θ2(θ2x、θ2y)が通常時のθ2(θ2x、θ2y)よりも大きく、具体的には、画角θ1と同一に設定される。更に、スライド操作の量に対する照準G3の移動量が通常時よりも小さい点が異なっている。これによって、ズーム時ではプレイヤは通常時よりも緻密に照準G3の位置を変更することができる。
(空中戦ステージにおける照準位置、カメラ向き及び位置の変更)
次に、空中戦ステージにおける照準G3の位置、仮想カメラCaの向き及び位置に関する処理を説明する。なお、空中戦ステージでは仮想カメラCaの画角θ1の変更は行われず、仮想空間がズーム表示されることはない。図20は空中戦ステージにおける表示画面の一例を示す図である。
図20で示すように、空中戦ステージにおいても地上戦ステージと同様に、上側LCD22には仮想カメラCa(図4を参照)から見た仮想空間が表示されている。そして、地上戦ステージと同様に、この仮想空間には、プレイヤキャラクタG1、このプレイヤキャラクタを攻撃するノンプレイヤキャラクタである複数の敵キャラクタG2、及び照準G3が配置されている。また、図示を省略しているが、空中戦ステージでは地上戦ステージとは異なり、空中(宇宙や空)を表す背景オブジェクトも仮想空間に配置されている。
本実施形態では、空中戦ステージにおいても、上述したような、スタート地点からゴール地点に至るまでの仮想区間内の所定のルートがパスとして設定されている。但し、地上戦ステージとは異なり、プレイヤがキャラクタ移動操作を行わなくても、プレイヤキャラクタG1が当該設定されたパスに沿って自動的に移動する。図21Aは仮想空間に配置されたパスとプレイヤキャラクタの移動ルートとの関係を示す図である。図21Aでは上方から真下に見た状態の仮想空間が示されている。同図では、二点鎖線矢印がパスの位置及び向きを示している。なお、パスは画面には表示されない。ここでは、プレイヤがキャラクタ移動操作を全く行わず(つまり、アナログ操作子14Lを一切操作せず)、プレイヤキャラクタG1が自動的に移動したときの状態を示している。この様に、キャラクタ移動操作を行わなければ、プレイヤキャラクタG1はパスに沿って代表点P2が通るように移動する。但し、プレイヤはキャラクタ移動操作によってパスを基準として所定範囲まではプレイヤキャラクタG1を移動させることができる。
次に、図21Bを用いてキャラクタ移動操作に基づくプレイヤキャラクタG1の移動を説明する。図21BはプレイヤキャラクタG1の移動可能方向を示す図である。図21Bで示すように、本実施形態では、プレイヤキャラクタG1のローカル座標系のZ軸方向はパス方向と一致するように設定される。そして、プレイヤキャラクタG1のローカル座標系のZ軸方向の移動は、プレイヤのキャラクタ移動操作によって移動されず、自動で移動される。もっとも、ローカル座標系のX軸方向とY軸方向についてはパスの位置から所定範囲以内に限って、プレイヤのキャラクタ移動操作によってプレイヤキャラクタG1の位置を移動させることができる。
具体的には、プレイヤがアナログ操作子14Lを図1における左にスライドさせるとプレイヤキャラクタG1はパスに向かって左側に移動するように(X軸負方向に)移動する。また、プレイヤがアナログ操作子14Lを図1における右にスライドさせるとプレイヤキャラクタG1はパスに向かって右側に移動するように(X軸正方向に)移動する。また、プレイヤがアナログ操作子14Lを図1における上にスライドさせるとプレイヤキャラクタG1はパスに向かって上側に移動するように(Y軸正方向に)移動する。プレイヤがアナログ操作子14Lを図1における下にスライドさせるとプレイヤキャラクタG1はパスに向かって下側に移動するように(Y軸負方向に)移動する。
ここで、空中戦ステージにおけるデフォルトでの仮想カメラCaの向き及び位置を説明する。まず、上記パスの全域に亘って対応点が配置されている。この対応点には仮想カメラCaのデフォルト位置及び向きが設定されている。そして、図21Aを参照して、仮想カメラCaのデフォルトでの位置及び向きは、プレイヤキャラクタG2が位置する対応点に設定された位置及び向きで決定される。なお、仮想カメラCaのデフォルトでの位置は必ずプレイヤキャラクタG1と同一水平面上に設定される。また、仮想カメラCaのデフォルトでの向きは必ずプレイヤキャラクタG1の代表点P2を向くように設定されている。従って、プレイヤキャラクタG1の移動がなければ、画面の中心に必ずプレイヤキャラクタG1が表示されている状態になる。
しかしながら、プレイヤ操作によりプレイヤキャラクタG1がパスから上下左右方向に移動したときでも基本的には仮想カメラCaの位置及び向きの変更はされないため、このときには、プレイヤキャラクタG1は画面の中心から移動した位置に表示される(図22Cを参照)。
なお、空中戦ステージにおいては、スライド操作に応じて仮想カメラCaの位置及び向きが変更されることはないし、スライドオフ後も仮想カメラCaの位置及び向きが変更されることはない。
次に、図22Aを用いて空中戦ステージにおける照準G3について説明する。図22Aは空中戦ステージにおける表示画面の一例を示す図である。
照準G3のデフォルト位置は、地上戦ステージと同様、プレイヤキャラクタG1の代表点P2から仮想カメラCaの向いている方向に延びる直線とスクリーン面G4(または、代表点P2から仮想カメラCaの向いている方向に所定距離だけ離れた仮想カメラCaの向きに垂直な平面)との交点に配置される。プレイヤキャラクタG1が移動したときには、図22Bで示すように、移動後におけるプレイヤキャラクタG1の代表点P2の位置に基づいて照準G3のデフォルト位置も変更される。図22Bは、プレイヤキャラクタG1が移動した場合の照準位置G3のスクリーン画面G4におけるデフォルト位置の変更を示す図である。なお、同図では、照準G3のデフォルト位置について、プレイヤキャラクタG1の移動前の位置を斜線で示し、プレイヤキャラクタG1の移動後の位置を黒塗で示す。
上記のように、プレイヤキャラクタG1の移動に応じて照準G3のデフォルト位置が変化する。スライド操作がされなければ、照準G3の位置はこのデフォルト位置に設定される。そして、スライド操作中は、地上戦ステージの通常時(ズーム中でないとき)と同様、スライド操作の移動方向及びスライド量に応じて、照準G3はデフォルト位置から移動する。また、スライドオフ後にも、地上戦ステージの通常時と同様、慣性により照準G3は移動する。図22Aでは、照準G3の位置がデフォルト位置から移動されている。図22Cは、図22Aの状態から、プレイヤキャラクタG1が移動した場合の上側LCD22を示す図である。
なお、上述のように照準G3の位置がデフォルト位置から変更されて算出されることで、プレイヤキャラクタG1が移動することによって、照準G3(代表点P3)の位置がスクリーン面G4の境界位置を超えるときがある。このときには、図22Cで示すように、スクリーン面G4の境界位置に照準G3の位置が補正される。なお、空中戦ステージにおける照準G3は、照準移動可能範囲がスクリーン面G4の全域である。また、空中戦ステージにおいても、地上戦ステージと同様、照準G3は仮想カメラの方向を向く板ポリゴンオブジェクトである。
次に、図23を参照して、ゲーム装置1がメインメモリ32に記憶する各種プログラムや各種データについて説明する。
図23はメインメモリ32が記憶するプログラム及び各種データの一例を示す図である。各種データはプログラムをゲーム装置1が実行することに応じて記憶される。
メインメモリ32は、プログラム記憶領域32aとデータ記憶領域32bを備える。プログラム記憶領域32aは、図24を用いて後述のメイン処理等を実行するメイン処理プログラム321等を記憶する。
データ記憶領域32bは、タッチパネル操作情報322、ステージ情報323、プレイヤキャラクタ情報324、ノンプレイヤキャラクタ情報325、照準情報326、カメラ情報327及びダブルタップフラグ328等を記憶する。タッチパネル操作情報322はタッチの有無、及びタッチパネル13におけるプレイヤにタッチされた位置(タッチ座標、すなわち入力座標)を示す情報である。タッチパネル13からの入力信号は所定周期毎(例えば1/60秒の描画周期毎)に検出されるが、タッチパネル操作情報322はこの入力信号に基づくタッチ座標を示す。なお、タッチデータ記憶領域32bには複数回分の操作情報322が記憶される。また、ステージ情報323は各ステージの仮想空間の生成に必要な情報であり、例えば背景オブジェクトに関する情報、仮想空間に設定されるパスの位置等に関する情報、スタート地点とゴール地点を示す情報等を含む。
そして、プレイヤキャラクタ情報324は、プレイヤキャラクタG1を仮想空間に生成するための情報であり、例えばプレイヤキャラクタG1のポリゴンデータやテクスチャデータ、保有アイテムを示すデータ等が含まれる。また、ノンプレイヤキャラクタ情報325は、敵キャラクタG2を仮想空間に生成するための情報であり、例えば敵キャラクタG2の種類、初期配置位置を示すデータ、ポリゴンデータやテクスチャデータ、動作パターンを示すデータ等が含まれる。ノンプレイヤキャラクタ情報325は、仮想空間に配置する敵キャラクタG2の数だけ記憶されている。また、プレイヤに特定の攻撃を加えた敵キャラクタG2に対応するノンプレイヤキャラクタ情報325には所定のフラグが一定時間の間、オンとして設定される。
また、照準情報326は、照準G3のスクリーン面G4上の位置を、例えば、スクリーン面G4上のデフォルト位置からのベクトルで示す情報である。更に、照準情報326は仮想空間における照準326の位置及び向きを示す。なお、最新の照準情報326だけでなく、過去数回分の照準情報326も記憶されている。そして、カメラ情報327は、仮想カメラCaの仮想空間における位置、向き、注視点の位置及び画角を示す情報である。そして、ダブルタップフラグ328は、プレイヤのダブルタップ操作が行われたことを示すフラグであり、ダブルタップ操作が検出されたときから2回目のタッチ操作がオフになるまで記憶される。
以下、図24を用いてゲーム装置1が実行するメイン処理を説明する。図24はゲーム装置1が実行するメイン処理の一例を示すフローチャートである。まず、コア31Bがゲームに関する初期処理を実行する(S1)。具体的には、コア31Bは、プレイヤの選択によって、複数のキャラクタの中からゲームに使用するプレイヤキャラクタG1及びこのプレイヤキャラクタG1の装備(保有アイテム)等の選択を行う。そして、コア31Bは、複数のステージの中からステージを選択する(S2)。ここで、最初はファーストステージを選択する。そして、コア31Bは、プレイヤキャラクタG1及び敵キャラクタG2等のゲームキャラクタのデータ、および、選択したステージの仮想空間を構築するための地形オブジェクトのデータ等をカートリッジ29から読み込んで、仮想空間を構築する処理を行う(S3)。具体的には、コア31Bは、読み込んだデータを用いて当該ステージの3次元空間を構築し、プレイヤキャラクタG1、及び敵キャラクタG2や他のオブジェクトを仮想空間の初期位置に配置する処理等を実行する。また、コア31Bは、デフォルト位置で照準G3及び仮想カメラCaを仮想空間に設定するとともに、仮想カメラCaの向きをデフォルトの向きに設定する。
次に、コア31Bは操作情報を取得する。すなわち、操作子14から送信されてくる操作情報がメインメモリに記憶されるので、CPU10は、この操作情報を取得して操作内容を判別する(S4)。例えば、コア31Bは、タッチパネル13に対するタッチの有無やタッチ位置を判別してタッチパネル操作情報322を生成してデータ記憶領域32bに記憶させる。また、アナログ操作子14Lの操作方向及び操作量、Lボタン14Iの押下の有無等を判別して、この判別内容をデータ記憶領域32bに記憶させる。
次に、コア31BはステップS2で選択したステージが地上戦ステージか否かを判断する(S5)。そして、地上戦ステージであると判断したときには(S5でYES)、コア31Bは地上戦キャラクタ制御処理を実行する(S6)。この地上戦キャラクタ制御処理では、コア31Bは、アナログ操作子14Lの操作方向及び操作量に基づいてプレイヤキャラクタG1の位置、向き及び動作を変更するようメインメモリ32に設定する。このメインメモリ32へのプレイヤキャラクタG1の位置、向き及び動作の設定に基づいて、後述のステップS11の描画処理が行われる。なお、上述したように、地上戦ステージにおいては、コア31Bはアナログ操作子14の操作に基づいて仮想空間内を水平方向に移動するように制御される。更に、地上戦キャラクタ制御処理では、コア31Bは敵キャラクタG2の仮想空間における向き、位置及び動作を所定のアルゴリズムを用いて決定してメインメモリ32に設定する。なお、このメインメモリ32への敵キャラクタG2の位置、向き及び動作の設定に基づいて、後述のステップS11の描画処理が行われる。
続いて、コア31Bは地上戦時照準位置・カメラ制御処理を実行する(S7)。この地上戦時照準位置・カメラ制御処理は、上述したような、プレイヤのスライド操作中及びスライドオフ後における照準位置の変更及びカメラ制御(位置及び向きの変更)を行う。また、地上戦照準位置・カメラ制御処理では、上述したようなズーム処理とズーム時の照準位置の変更が行われる場合もある。この地上戦照準位置・カメラ制御処理についての詳細は図25等を用いて後述する。この後、コア31Bは続くステップS10に処理を進める。
一方、地上戦ステージではないと判断したとき、すなわち空中戦ステージであると判断したときには(S5でNO)、コア31Bは空中戦時キャラクタ制御処理を実行する(S8)。この空中戦時キャラクタ制御処理は、アナログ操作子14Lの操作方向及び操作量とパスに基づいてプレイヤキャラクタG1の位置、向き及び動作をメインメモリ32に設定するための処理である。なお、上述したように、空中戦ステージでは地上戦ステージとは異なり、プレイヤキャラクタG1は仮想空間に設定されたパスに沿って自動的に移動する。そして、プレイヤキャラクタG1は、アナログ操作子14Lの操作方向及び操作量に基づいて、プレイヤキャラクタG1のローカル座標系のX軸方向とY軸方向に所定範囲だけパスから移動することになっている。従って、コア31Bは、プレイヤキャラクタG1の位置を、プレイヤキャラクタG1のZ軸方向に所定量だけ自動的に移動させる。また、アナログ操作子14Lの操作があったときには、更に、アナログ操作子14Lの操作方向及び操作量に基づいて、プレイヤキャラクタG1のローカル座標系のX軸方向とY軸方向に所定範囲だけパスから移動させてプレイヤキャラクタG1の位置がメインメモリ32に設定される。そして、プレイヤキャラクタG1の向きは常にパス方向を向くようにメインメモリ32に設定される。なお、このメインメモリ32へのプレイヤキャラクタG1の位置、向き及び動作の設定に基づいて、後述のステップS11の描画処理が行われる。更に、空中戦キャラクタ制御処理では、敵キャラクタG2の仮想空間における向き、位置及び動作を所定のアルゴリズムを用いて決定して、メインメモリ32に設定する。なお、このメインメモリ32への敵キャラクタG2の位置、向き及び動作の設定に基づいて、後述のステップS11の描画処理が行われる。
次に、コア31Bは空中戦時照準位置・カメラ制御処理を実行する(S9)。この空中戦時照準位置・カメラ制御処理では、上述したような、プレイヤのスライド操作中の照準G3の位置の変更を行う。また、パスに設定された仮想カメラCaの向き及び位置と、仮想空間におけるプレイヤキャラクタG1の位置に応じてカメラ制御(位置及び向きの設定)を行う。この空中戦照準位置・カメラ制御処理についての詳細は図33等を用いて後述する。この後、コア31Bは続くステップS10に処理を進める。
ステップS10では、コア31Bは攻撃関連処理を行う(S10)。この攻撃関連処理では、プレイヤキャラクタG1のシューティングに関連するシューティング処理と敵キャラクタG2からプレイヤキャラクタG1への攻撃に関連する敵攻撃処理が行われる。シューティング処理では、シューティング操作の入力の有無が判断され、この操作の入力があったときには後の描画処理S11で弾が発射するように描画されるように設定する。また、シューティング操作があったときには、コア31Bはシューティング方向を算出する。このシューティング方向はプレイヤキャラクタG1の代表点P2の位置から照準G3の代表点P3の位置に向かう方向である。
この後、コア31Bは敵キャラクタG2のシューティングの成否を判断する。具体的には、コア31BはプレイヤキャラクタG1の代表点P2からシューティング方向に発射された弾丸オブジェクトG5が敵キャラクタG2に衝突したか否かを判断し、衝突したときにはこの敵キャラクタG2のシューティングが成功した(射撃が命中した)と決定する。なお、上述したように、シューティング直線(プレイヤキャラクタG1の代表点P2からシューティング方向に発射された弾丸オブジェクトG5が所定距離だけ延びる直線)上に敵キャラクタG2が居ないときでも、敵キャラクタG2の位置がこのシューティング直線から所定角度以内の位置でありかつプレイヤキャラクタG1から所定距離以内であるときには、このシューティング方向は敵キャラクタG2に向かうように補正される。そして、当該敵キャラクタG2へのシューティングの成功が決定される。
そして、敵攻撃処理では、コア31Bは、敵キャラクタG2にプレイヤキャラクタG1に対して攻撃動作(例えばシューティング動作)を行わせるか否かを所定のアルゴリズムを用いて決定する。そして、攻撃動作を行わせると決定したときには、コア31Bは後の描画処理S11で数フレームかけて敵キャラクタG2に攻撃モーションをさせるように設定する。そして、コア31Bは、所定のアルゴリズムを用いて敵キャラクタG2の攻撃が成功したか否かを決定し、成功したときにはプレイヤの体力値を所定値だけ減少させる。
この後、コア31Bは、仮想空間を上側LCD22に表示するための描画処理を実行する(S11)。なお、コア13Bは下側LCD12にも所定の画像を表示するための処理を実行する。
その後、コア31Bは、プレイヤキャラクタG1がゴール地点に到達し、ステップS2で選択したステージを攻略(ステージクリア)したか否かを判断する(S12)。そして、ステップS2でステージクリアしたと判断したときには(S12でYES)、コア31BはステップS2に戻って新たなステージを選択し、上記ステップS3移行の処理を繰り返す。一方、ステップS2でステージクリアしていないと判断したときには(S12でNO)、コア31Bは、プレイヤの体力値が0になり、ゲーム終了であるか否かを判断する(S13)。そして、ゲーム終了であると判断したときには(S13でNO)、コア31Bは処理をステップS4に戻す。一方、ゲーム終了でないと判断したときには(S13でYES)、コア31Bは本メイン処理を終了させる。
以下、図25を用いて、上記ステップS11の地上戦時照準位置・カメラ制御処理を説明する。図25は地上戦時照準位置・カメラ制御処理の一例を示すフローチャートである。まず、コア31は、最新のタッチパネル操作情報322を参照してタッチ有りか否か(入力状態か否か)を判断する(S21)。ここで、タッチ有りと判断したときには(S21でYES)、コア31Bは、タッチが継続中であるか否かを判断する(S22)。なお、タッチが継続中か否かは前回のフレームにかかる処理ループにおいてもタッチ有りであったか否かで判断される。この判断には、前回のタッチパネル操作情報322が使用される。
ここで、タッチ継続中ではないと判断したときには(S22でNO)、コア31Bは、デフォルト戻しフラグ(このフラグについては詳細を後述)をオフに設定して(S23)、タイマの作動がないか否かを判断する(S24)。なお、タイマの作動がないときとは、ダブルタップ操作の2回目のタッチがオフされた後からタッチオンのときと初回時だけであり、他のときにはタイマが作動されている。そして、タイマ作動なしと判断した場合には(S24でYES)、コア31Bは、タイマのカウント値をリセットした後にタイマを作動させ(S25)、処理をステップS36に進める。一方、タイマ作動ありと判断した場合には(S24でNO)、コア31Bは、タイマのカウント期間が所定期間以内であるか否かを判断し(S26)、所定期間以内であるときには(S26でYES)、タイマのカウント値をリセットした後にタイマの作動を停止し、ダブルタップフラグ328をオンする(S27)。この後、コア31Bは、本地上戦時照準位置・カメラ制御処理を終了させ、処理を図24のステップS10に戻す。
また、タイマのカウント期間が所定期間以内でないときには(S26でNO)、コア31Bは、タイマのカウント値をリセットする。これによって、タイマのカウント期間が所定期間を超えたときには、タイマが初期値に戻されて再度初期値からカウントが開始される。この後、コア31Bは処理をステップS35に進める。すなわち、タイマは、前回のタッチオンから今回のタッチオンまでの時間を計測するものである。これは、ダブルタップの判定に用いられる。
次に、ステップS22でタッチ継続中であると判断したとき(S22でYES)の処理を説明する。このときには、コア31Bはダブルタップフラグ328がオンか否かを判断する(S28)。ここで、ダブルタップフラグ328がオンでないと判断したとき、すなわちダブルタップ操作がないと判断したときには(S28でNO)、コア31Bは後述のステップS36の処理を実行する。一方、ダブルタップフラグ328がオンであると判断したときには(S28でYES)、コア31Bは、仮想空間をズームで表示するためのズーム処理(S29)と、プレイヤの所望の位置にスクリーン面G4における照準G3の位置を設定するためのズーム時照準位置設定処理を実行する(S30)。このズーム処理及びズーム時照準位置設定処理についての詳細は図31及び図32を用いて後述する。この後、コア31Bは、設定されているスクリーン面G4における照準G3の位置に基づいて、照準G3のワールド座標上の位置を算出してメインメモリ32に設定する(S31)。なお、この設定された照準G3の位置に基づいて、図24のステップS11で照準G3が描画される。そして、コア31Bは、本地上戦時照準位置・カメラ制御処理を終了させ、処理を図24のステップS10に戻す。
次に、ステップS21でタッチ無し(非入力状態)と判断されたときの処理を説明する。タッチ無しと判断したときには(S21でNO)、コア31Bは、ダブルタップフラグ328がオンか否かを判断する(S32)。ここで、ダブルタップフラグ328がオンであると判断したときには(S32でYES)、コア31Bは仮想カメラCaの画角θ1の設定を通常設定に戻す(S33)。これによって、タッチオフになったときには、ダブルタップ操作によって変更された特別な設定が解除される。
そして、コア31Bは、ダブルタップフラグ328をオフに設定する(S34)。続いて、コア31Bは、プレイヤキャラクタG1の代表点P2の位置に(主観視点で)配置された仮想カメラCaを、水平方向かつ仮想カメラCaの撮像方向と反対の方向に代表点P2から所定距離だけ離れた位置に移動させる(S35)。その後、通常照準位置・カメラ制御処理を実行する(S36)。この通常照準位置・カメラ制御処理についての詳細は図31及び図32を用いて後述する。なお、この処理で設定された仮想カメラCaの向き及び位置に基づいて図24のステップS11で描画処理が行われる。この後、コア31Bは、上記ステップS31を実行して、照準Gのワールド座標上の位置を算出してメインメモリ32に設定する(S31)。そして、コア31Bは、本地上戦時照準位置・カメラ制御処理を終了させ、処理を図24のステップS10に戻す。
次に、図26〜図30を用いて、図25のステップS35の通常照準位置・カメラ制御処理を説明する。図26は通常照準位置・カメラ制御処理の一例を示すフローチャートである。まず、コア31Bは、照準G3の位置、仮想カメラCaの向き及び位置を算出するために必要な各種パラメータを設定するための処理(パラメータ設定処理)を実行する(S41)。このパラメータ設定処理の詳細については図27を用いて後述する。次に、コア31Bは、照準G3のスクリーン面G4上の位置を算出するとともに、この位置に基づいて仮想空間における照準G3の位置及び向きを決定するための処理(照準位置設定処理)を実行する(S42)。この照準位置設定処理の詳細については図28を用いて後述する。
この後、コア31Bは、仮想カメラCaの仮想空間における向きを算出して設定するための処理(カメラ向き設定処理)を実行する(S43)。このカメラ向き設定処理の詳細については図29を用いて後述する。そして、コア31Bは、ステップS43によって算出された仮想カメラCaの向きに基づいて仮想空間における仮想カメラCaの位置を算出して設定するための処理(カメラ位置設定処理)を実行する(S44)。このカメラ位置設定処理の詳細については図30を用いて後述する。この後、コア31Bは本通常照準位置・カメラ制御処理を終了させて、図25のステップS31に処理を進める。
図27を参照して、上記ステップS41のパラメータ設定処理を説明する。図27はパラメータ設定処理の一例を示すフローチャートである。まず、コア31Bは、仮想カメラCaの位置から仮想カメラCaの撮像方向に延びる直線と、仮想カメラCaの位置から特定の敵キャラクタG2に延びる直線の構成する角度が所定角度以内であるか否かを判断する(S51)。
なお、特定の敵キャラクタG2か否かは、例えば図23で示すノンプレイヤキャラクタ情報315にフラグが含まれるか否かで判断される。また、本実施形態では、特定の敵キャラクタG2についてのみステップS51の判断が行われているが、全ての敵キャラクタG2についてステップS51の判断が行われてもよい。更に、敵キャラクタG2ではなくノンプレイヤキャラクタについてステップS51の判断を行ってもよい。また、上記ステップS51に代えて、スクリーン面G4において、特定の敵キャラクタG2が前回の照準G3の位置から所定範囲以内に位置するか否かを判断してもよい。
ステップS51でNoと判断したときには、コア31Bは、係数A(詳細は後述する)をリセットして(すなわち、係数Aに1を設定して)(S52)、処理をステップS55に進める。一方、ステップS51でYesと判断したときには、コア31BはプレイヤキャラクタG1における代表点P2を中心として所定距離以内に居る敵キャラクタG2の数が所定数以上であるか否かを判断する(S53)。なお、代表点P2に代えて、仮想カメラCaの位置を中心として所定距離以内に居る敵キャラクタG2の数が所定数以上であるか判断する構成を採用してもよい。そして、代表点P2を中心として所定距離以内に居る敵キャラクタG2の数が所定数以上であると判断したときには(S53でYES)、コア31Bは、係数Aをリセットして(S52)、処理をステップS55に進める。また、代表点P2を中心として所定距離以内に居る敵キャラクタG2の数が所定数以上でないと判断したときには(S53でNO)、コア31Bは、係数Aをセットして(すなわち、係数Aに1より小さい正の小数を設定して)(S54)、処理をステップS55に進める。
次に、ステップS55の処理について説明する。ステップS55では、コア31Bは、仮想カメラCaがパスから一定距離以内に位置し、かつ仮想カメラCaの向きとパスの向きとの差が一定以内であるか否かを判断する(S55)。ここで、仮想カメラCaの向きとパスの向きとの差が一定以内であると判断したときには(S55でYES)、コア31Bは、係数Bをセットして(すなわち、係数Bに1より小さい正の小数を設定して)(S56)、続くステップS58に処理を進める。また、仮想カメラCaの向きとパスの向きとの差が一定より大きいと判断したときには(S55でNO)、コア31Bは、係数Bをリセットして(すなわち、係数Bに1を設定して)(S57)、続くステップS58に処理を進める。
ステップS58では、コア31Bはタッチオンかどうかを判断する。このタッチオンとは、上述したように、直前のフレームにかかる処理ループにおいて非タッチ(タッチ無し)が検出されており、今回のフレームにかかる処理ループにおいてタッチ有りが検出された状態(すなわち、タッチした瞬間)のことである。ここで、タッチオンであると判断したときには(S58でYES)、コア31Bは制御ベクトルに0をセットして(S59)、コア31Bは、本照準位置設定処理を終了させ、処理を図26のステップS43で示すカメラ向き設定処理に進める。
一方、タッチオンではないと判断したときには(S58でNO)、コア31Bは、制御ベクトルを算出する(S60)。この制御ベクトルとは、照準G3の位置、仮想カメラCaの位置及び向きを算出するために用いられる値である。以下、制御ベクトルの算出方法について詳細に説明する。制御ベクトルの算出方法は、「タッチオン時」(タッチオンした瞬間)、「タッチ継続中」、「タッチオフ時」(タッチオフした瞬間)及び「非タッチ継続中」で異なっている。 次に、「タッチ継続中」の制御ベクトルの算出方法を説明する。「タッチ継続中」とは、タッチパネル13に対するタッチが継続して検出されている状態のことである。このときは、以下の式(A)を用いて制御ベクトルを算出する。
制御ベクトル=最新のタッチ位置−前回のタッチ位置・・・式(A)
そして、上述したように、タッチ位置の変化はX座標の変化とY座標の変化に分解することができるため、X座標とY座標の両方について上記式(A)で制御ベクトルを算出する。以下、X座標の制御ベクトルとY座標の制御ベクトルを区別する場合には、「X制御ベクトル」と「Y制御ベクトル」と記載する。なお、タッチ位置がスライドしているとき(スライド操作中)は、制御ベクトルの値は0にはならないが、タッチパネル13の1点で停止してタッチが継続されているときには、最新のタッチ位置と前回のタッチ位置が同一になるため、制御ベクトルが0になる。最新のタッチ位置と前回のタッチ位置の取得には、タッチパネル操作情報322が使用される。
次に、「タッチオフ時」の制御ベクトルの算出方法について説明する。「タッチオフ時」とは、直前のフレームにかかる処理ループにおいて、タッチが検出されており、今回のフレームにかかる処理ループにおいて非タッチが検出された時である。このときには、下記の式(B)を使用して制御ベクトルを算出する。なお、X制御ベクトル、Y制御ベクトルの両方を算出する点は上記「タッチ継続中」の制御ベクトルの算出方法と同一である。
制御ベクトル=(タッチ位置(n)−タッチ位置(n+1))+(タッチ位置(n−1)−タッチ位置(n))…(タッチ位置(1)−タッチ位置(2))/n・・・式(B)
なお、上記式(B)において、nは2以上の自然数であり、タッチ位置(n)とはタッチオフが検出されたフレームのnフレーム前のタッチ位置のことであり、タッチ位置(n+1)とはn+1フレーム前のタッチ位置のことであり、タッチ位置(n−1)とはn−1フレーム前のタッチ位置のことである。また、タッチ位置(1)はタッチオフの検出がされたフレームの1フレーム前のタッチ位置で、タッチ位置(2)はタッチオフの検出がされたフレームの2フレーム前のタッチ位置である。上記式(B)では、過去nフレーム分のタッチ位置について前回のタッチ位置との差を算出し、この差の平均値を算出している。すなわち、上記式(B)は、過去nフレーム分のスライド量(1フレーム当たりのタッチ位置の変化量)の平均である。なお、nは本実施例では固定値である。
上記式(B)において、過去nフレーム分のうち1回分でもスライド操作がなされていたときには、上記式(B)で算出された制御ベクトルは0にはならない。もっとも、過去n回分の全ての操作においてタッチ位置が変化していないとき(タッチパネル13の1点で停止してタッチされているとき)には、上記式(B)で算出された制御ベクトルは0になる。
続いて、「非タッチ継続中」の制御ベクトルの算出方法を説明する。ここで、「非タッチ継続中」とは、上記「タッチオフ時」を除く、タッチパネル13に対するタッチがない期間のことである。このときには、下記の式(C)を使用して制御ベクトルを算出する。なお、X制御ベクトル、Y制御ベクトルの両方を算出する点は上記「タッチ継続中」「タッチオフ時」の制御ベクトルの算出方法と同一である。
制御ベクトル=(前回の制御ベクトル+(前回の制御ベクトル×減衰率))÷2×係数A×係数B・・・式(C)
なお、上述したように、タッチオフ直前の過去nフレーム分の操作において1回分もスライド操作がなされていないときには、上記式(B)で算出された制御ベクトルは0になる。このときには、上記式(C)において前回の制御ベクトルは0になるため、上記式(C)においても制御ベクトルが0に算出される。
上述のようにして算出した制御ベクトルを、コア31Bがメインメモリ32にセットする(S61)。この制御ベクトルは、図26の上記ステップ42の照準位置設定処理において照準の位置を算出するために使用されるとともに、上記ステップS43のカメラ向き設定処理において仮想カメラCaの向きを算出するために使用される。この後、コア31Bは、本パラメータ設定処理を終了させ、処理を図26のステップS42で示す照準位置設定処理に進める。
次に、図28を参照して、上記ステップS42の照準位置設定処理を説明する。図28は照準位置設定処理の一例を示すフローチャートである。まず、コア31Bは一定期間、タッチパネル13へのタッチ及びシューティング操作のいずれもなかったか否かを判断する(S71)。このステップS71でYESのときには、コア31Bは、照準G3のスクリーン面G4上の位置をデフォルト位置に設定し(S72)、消去フラグをオンする(S73)。この消去フラグがオンのときには、後の描画処理(ステップS11)において照準G3が描画されない(S11)。この様に、一定期間、プレイヤがタッチ操作及びシューティング操作のいずれも行わなければ照準G3はデフォルト位置に戻ることになる。なお、この後、コア31Bは、本照準位置設定処理を終了させ、処理を図26のステップS43で示すカメラ向き設定処理に進める。
一方、ステップS71において、一定期間内にタッチ及びシューティング操作の何れかがあったと判断したときの処理を説明する。このときには(S71でNO)、コア31Bは、消去フラグをオフして(S74)、照準G3のスクリーン面G4上の位置を算出する(S75)。以下に、照準位置の算出方法を説明する。照準G3のスクリーン面G4上の位置(照準位置)は下記式(D)を用いて算出する。
今回の照準位置=前回の照準位置+制御ベクトル・・・式(D)
なお、照準位置についてもX座標における位置とY座標における位置に分けて算出される。また、ここで照準位置はデフォルト位置を基準(X=0,Y=0)とした座標で算出される。
ここで、上述したように、制御ベクトルは、スライドオフ後の慣性制御中とスライド操作中は0にならないため、今回の照準位置が前回の照準位置から移動することになる。一方、タッチをしていないとき(スライドオフ後の慣性制御中を除く)、または、タッチオン時や同じ位置をタッチし続けているときは、制御ベクトルは0になるため、今回の照準位置は前回の照準位置から変化しない。なお、タッチオン時には制御ベクトルが0になるので、このことを利用して、スライドオフ後に慣性力によって照準G3の位置が変化しているときに、プレイヤがタッチパネル13の任意の点をタッチオンすることにより、慣性移動中の照準G3の位置の変化を停止させることができる。
次に、コア31Bは、ステップS75で算出した照準G3の位置がX座標において境界位置外(照準移動可能範囲外)になるか否かを判断する(S76)。ここで、X座標において境界位置外になると判断したときには(S76でYES)、コア31Bは照準G3のスクリーン面G4上のX座標を境界位置(算出した座標が超えてしまった境界の座標)に設定する(S77)。この後、コア31Bは処理をステップS79に進める。一方、X座標において境界位置外にならないと判断したときには(S76でNO)、コア31Bは照準G3のスクリーン面G4上のX座標をステップS75で算出した位置に設定する(S78)。この後、コア31Bは処理をステップS79に進める。
次に、ステップS79の処理を説明する。コア31Bは、ステップS75で算出した照準G3の位置がY座標において境界位置外(照準移動可能範囲外)になるか否かを判断する(S79)。ここで、Y座標において境界位置外になると判断したときには(S79でYES)、コア31Bは照準G3のスクリーン面G4上のY座標を境界位置(算出した座標が超えてしまった境界の座標)に設定する(S80)。この後、コア31Bは処理をステップS79に進める。一方、Y座標において境界位置外にならないと判断したときには(S79でNO)、コア31Bは照準G3のスクリーン面G4上のY座標をステップS75で算出した位置に設定する(S81)。この後、コア31Bは、本照準位置設定処理を終了させ、処理を図26のステップS43で示すカメラ向き設定処理に進める。
図29を参照して、上記ステップS43のカメラ向き設定処理を説明する。図29はカメラ向き設定処理の一例を示すフローチャートである。まず、コア31Bはプレイヤのデフォルト戻し操作があったかを判断する(S91)。ここで、デフォルト戻し操作とは例えばRボタン14Jの押下等である。そして、デフォルト戻し操作があったと判断したときには(S91でYES)、コア31Bは、仮想カメラ92の向きをデフォルトに設定して(S92)、本カメラ向き設定処理を終了させ、処理を図26のステップS44で示すカメラ位置設定処理に進める。なお、S92では、具体的には、仮想カメラCaの向きは、デフォルトでは水平方向、かつプレイヤキャラクタG1(代表点P2)を向くように設定される。また、仮想カメラCaの向きがこの様に設定されることで、後述のステップS44で示すカメラ位置設定処理において、仮想カメラの位置は、プレイヤキャラクタG1の代表点P2と同一水平面上でこの代表点P2から所定距離だけ離れた位置で、かつプレイヤキャラクタG1の水平方向での向きと仮想カメラCaの水平方向での向きとが一致する位置に設定される。
一方、デフォルト戻し操作がなかったと判断したときには(S91でNO)、コア31Bは、デフォルト戻しフラグがオンしているかを判断する(S93)。ここで、デフォルト戻しフラグがオンしているときには(S93でYES)、コア31Bは、垂直方向で所定角度分だけデフォルト位置に戻す(S94)。このように、このデフォルト戻しフラグがオンしているときには、垂直方向の仮想カメラCaの垂直方向における角度がデフォルト向きまで徐々に戻される状態(デフォルト戻し状態)になる。なお、図25で示すように、タッチオンがなされたときにデフォルト戻しフラグがオフされるためステップ(S23)、プレイヤのタッチオンによってデフォルト戻し状態が解除される。
そして、コア31Bは、仮想カメラCaの向きがデフォルトに戻ったか否かを判断する(S95)。ここで、仮想カメラCaの向きがデフォルトに戻っているときには(S95でYES)、コア31Bはデフォルト戻しフラグをオフする(S96)。この後、コア31Bは処理をステップS102に進める。また、仮想カメラCaの向きがデフォルトに戻っていないときには(S95でNO)、デフォルト戻しフラグをオフに設定することなく、コア31Bは処理をステップS102に進める。
次に、ステップS93でNOと判断したときのコア31Bの処理を説明する。デフォルト戻しフラグがオフしているときには(S93でNO)、コア31Bは、垂直方向の仮想カメラCaの向きを算出する(S97)。以下に、仮想カメラCaの向きの算出方法を説明する。なお、ステップS97では垂直方向の仮想カメラCaの向きしか算出されないが、後述のステップS102で実行される水平方向における仮想カメラCaの向きの算出方法についてもここで説明する。まず、下記式(E)を用いてカメラ回頭用ベクトルを算出する。
カメラ回頭用ベクトル=制御ベクトル−(今回の照準位置−前回の照準位置)・・・式(E)
上記式(E)では制御ベクトルから今回の照準位置と前回の照準位置との差分を除いているがこの理由は次のようなものである。すなわち、制御ベクトルの成分のうち、図9で示すように、照準G3の位置が境界に到るまでのスライド操作のスライド量a1が照準G3の移動に用いられ、照準G3の位置が境界に到ってからのスライド量a2が仮想カメラの向きの変更に用いられる。また、スライドオフ後においても、照準G3の位置が境界に到るまでの制御ベクトルの成分は照準G3の移動に用いられる。従って、上記式(E)によって、制御ベクトルから照準G3の移動に用いる成分を除くことで、仮想カメラCaの向きの変更に用いるカメラ回頭用制御ベクトルを算出するのである。ここで、上述したように制御ベクトルはY制御ベクトルとX制御ベクトルとがあるため、カメラ回頭用ベクトルについてもX成分とY成分に分けて算出される。このX成分とY成分のカメラ回頭用ベクトルを区別するときには、「Xカメラ回頭用ベクトル」と「Yカメラ回頭用ベクトル」と記載する。
なお、上述したように、制御ベクトルは、スライドオフ後の慣性制御中及びスライド操作中は0にならない。従って、このときにはカメラ回頭用ベクトルも0にはならない。一方、タッチをしていないとき(スライドオフ後の慣性制御中を除く)、タッチオン時、または、同じ位置をタッチし続けているときは、制御ベクトルは0になるため、カメラ回頭用ベクトルも0になる。なお、タッチオン時はカメラ回頭用ベクトルが0になるので、このことを利用して、スライドオフ後に慣性力によって仮想カメラCaの位置や向きが変化しているときに、プレイヤがタッチパネル13の任意の点をタッチオンしてタッチ位置を変化させなければ、仮想カメラCaの位置や向きの変化を停止させることができる。
次に、下記式(F)を用いてカメラ角速度が算出される。
カメラ角速度=カメラ回頭用ベクトル×係数D・・・式(F)
なお、Yカメラ回頭用ベクトルを用いて垂直方向のカメラ角速度(垂直方向カメラ角速度)が算出されるとともに、Xカメラ回頭用ベクトルを用いて水平方向のカメラ角速度(水平方向カメラ角速度)が算出される。
そして、水平方向カメラ角速度分だけ仮想カメラCaの向きを垂直方向に回転するように、仮想カメラCaの垂直方向の向きを算出する。また、水平方向カメラ角速度分だけ仮想カメラCaの向きを水平方向に回転するように、仮想カメラCaの水平方向の向きを算出する。なお、仮想カメラCaの回転をするときの中心は、プレイヤキャラクタの代表点P2である。
なお、上述したように、カメラ回頭用ベクトルは、スライドオフ後の慣性制御中及びスライド操作中は0にならない。従って、カメラ角速度も0にならず、仮想カメラCaの向きが変更される。一方、タッチをしていないとき(スライドオフ後の慣性制御中を除く)、タッチオン時、または、同じ位置をタッチし続けているときは、は、カメラ回頭用ベクトルは0になる。このため、カメラ角速度も0になり、仮想カメラCaの向きが変更されない。
上述した仮想カメラCaの向きの算出方法を用いて、ステップS97で垂直方向の仮想カメラCaの向きを算出した後、コア31Bは非タッチ状態か否かを判断する(S98)。非タッチ状態であると判断したときには(S98でYES)、コア31Bは、算出した垂直方向での仮想カメラCaの向きがデフォルトの向きから所定角度以内を向いているか否かを判断する(S99)。この所定角度は、スライドオフ後における仮想カメラCaの向きの変更可能範囲を示す角度であり、例えば図12の角度α1°等である。以下、この所定角度を慣性限界角度と記載する。
そして、算出した垂直方向での仮想カメラCaの向きがデフォルトの向きから慣性限界角度以内を向いていないと判断したときには(S99でNO)、コア31Bは、仮想カメラCaの向きが慣性限界角度を向くように、ステップS97で算出した向きを補正し、この補正後の向きに仮想カメラCaの向きを設定する(S100)。この後、コア31Bはデフォルト戻しフラグをオンする(S101)。これによって、垂直方向での仮想カメラCaの向きがデフォルトの向きから慣性限界角度に到ったときには、上述のステップS94〜S96の実行によって、垂直方向での仮想カメラCaの向きが徐々にデフォルト向きにもどされることになる。この後、コア31Bは、上述した仮想カメラCaの向きの算出方法を用いて仮想カメラCaの水平方向での向きを算出して、この算出した向きに仮想カメラCaの水平方向での向きを設定する(S102)。この後、コア31Bは、本カメラ向き設定処理を終了させ、処理を図26のステップS44で示すカメラ位置設定処理に進める。
一方、算出した垂直方向での仮想カメラCaの向きがデフォルトの向きから慣性限界角度以内を向いていると判断したときには(S99でYES)、コア31Bは、垂直方向での仮想カメラCaの向きがステップS97で算出した向きを向くように設定する(S103)。そして、コア31Bは、上記ステップS102によって水平方向での仮想カメラCaの向きを算出及び設定し、この後、本カメラ向き設定処理を終了させ、処理を図26のステップS44で示すカメラ位置設定処理に進める。
次に、ステップS98でNOと判断されたときの処理を説明する。コア31Bが非タッチ状態であると判断したときには(S98でNO)、コア31Bは、算出した垂直方向での仮想カメラCaの向きがデフォルトの向きから所定角度以内を向いているか否かを判断する(S104)。この所定角度は、ステップS99における角度とは異なっており、スライド操作における仮想カメラCaの向きの変更可能範囲を示す角度である。この所定角度は例えば図11の角度α1°及びα2°等である。以下、この所定角度をスライド操作中限界角度と記載する。
そして、算出した垂直方向での仮想カメラCaの向きがデフォルトの向きからスライド操作中限界角度以内を向いていないと判断したときには(S104でNO)、コア31Bは仮想カメラCaの向きがスライド操作中限界角度を向くようにステップS97で算出した向きを補正し、この補正後の向きに仮想カメラCaの向きを設定する(S105)。そして、コア31Bは、上記ステップS102によって水平方向での仮想カメラCaの向きを算出及び設定し、この後、本カメラ向き設定処理を終了させ、処理を図26のステップS44で示すカメラ位置設定処理に進める。
一方、算出した垂直方向での仮想カメラCaの向きがデフォルトの向きからスライド操作中限界角度以内を向いていると判断したときには(S104でYES)、コア31Bは、垂直方向での仮想カメラCaの向きがステップS97で算出した向きを向くように設定する(S103)。そして、コア31Bは、上記ステップS102によって水平方向での仮想カメラCaの向きを算出及び設定し、この後、本カメラ向き設定処理を終了させ、処理を図26のステップS44で示すカメラ位置設定処理に進める。
次に、図30を参照して、上記ステップS44のカメラ位置設定処理を説明する。図30はカメラ位置設定処理の一例を示すフローチャートである。この処理において、コア31Bは、上記カメラ位置設定処理によって設定した仮想カメラCaの向きに基づいて仮想カメラCaの仮想空間における位置を算出して、メインメモリ32に設定する(S111)。ここで、仮想カメラCaの位置は、図10〜図12に示すようにプレイヤキャラクタG1の代表点P2から所定距離だけ離れた位置でこの代表点P2を向くように算出され、設定される。
そして、コア31Bはシューティング操作があったか否かを判断する(S112)。ここで、シューティング操作があったと判断したときには(S112でYES)、コア31BはステップS111で算出した仮想カメラCaの位置を仮想カメラCaの座標でX軸方向に所定値だけスライド移動(シフト)するよう補正する(S113)。この後、コア31Bはシフトフラグをオンに設定する(S114)。本実施形態では、図3で示すように、照準G3の位置はデフォルト位置ではプレイヤキャラクタG1に重ねて表示される。従って、仮想カメラCaの位置をシフトさせないと、プレイヤキャラクタG1の表示に妨げられて、仮想空間におけるシューティングの様子をプレイヤが視認することができない。ステップS113によって、シューティング時には仮想カメラCaの位置がスライドするため、プレイヤはプレイヤキャラクタG1の表示に妨げられずにシューティングの様子を視認することができる。この後、コア31Bは、本カメラ位置設定処理及び通常照準位置・カメラ制御処理を終了させて、処理を図25のステップS31に進める。
一方、シューティング操作がなかったと判断したときには(S112でNO)、コア31Bは、シフトフラグがオンか否かを判断する(S115)。そして、シフトフラグがオンであると判断したときには(S115でYES)、コア31BはステップS111で算出した仮想カメラCaの位置をステップS113でスライド移動させた分だけ戻すよう補正する(S116)。この後、コア31Bは、シフトフラグをオフに設定する(S117)。そして、コア31Bは本カメラ位置設定処理及び通常照準位置・カメラ制御処理を終了させて、処理を図25のステップS31に進める。また、シフトフラグがオンでないと判断したときには(S115でNO)、コア31Bは、上記ステップS116及びS117の処理を実行することなく、本カメラ位置設定処理及び通常照準位置・カメラ制御処理を終了させて、処理を図25のステップS31に進める。
ここまで、図25で示す地上戦時照準位置・カメラ制御処理のステップS36の処理について説明してきたが、続いて、図31及び図32を用いてステップS29のズーム処理とステップS30のズーム時照準位置設定処理とを説明する。
図31はズーム処理の一例を示すフローチャートである。まず、コア31Bは、仮想カメラCaの画角θ1をズームの角度に変更済みか否かを判断する(S121)。ここで、ズームの角度は図17及び図18を用いて上述したように、通常時の角度よりも小さい角度である。
そして、画角θ1をズームの画角に変更済みでないと判断したときには(S121でYES)、コア31Bは仮想カメラCaの画角θ1をズームの角度に変更する(S122)。なお、このステップS121において、プレイヤが特定アイテム(例えば、武器アイテム等)を保有しているか否かで、画角θ1が異なった角度で設定されてもよい。また、特定アイテムを複数種類設定し、何れの種類の特定アイテムを保持しているかによって、画角θ1に設定される角度が異なるようにしてもよい。例えば、特定アイテムとこのアイテムに対応する角度を登録したテーブルをメインメモリ32に記憶し、コア31Bは、プレイヤキャラクタ情報324で示す保有アイテムでこのテーブルを検索する。この検索の結果、保有アイテムが登録されているときには、このアイテムに対応する角度で画角θ1を変更する。続いて、コア31Bは、ステップS123において、仮想カメラCaの撮像方向を維持したまま、仮想カメラCaの位置をプレイヤキャラクタG1の代表点P2の位置に移動させる(主観視点に変更する)。この後、コア31Bは、本ズーム処理を終了させて、処理を図25のステップS30で示すズーム時照準設定処理に進める。
一方、画角θ1をズーム時の画角に変更済みであると判断したときには(S121でYES)、コア31Bは、仮想カメラCaの画角θ1をズームの角度に変更することなく、本ズーム処理を終了させて、処理を図25のステップS30で示すズーム時照準設定処理に進める。
次に、図32を参照して図25のステップS30で示すズーム時照準設定処理を説明する。図32はズーム時照準設定処理の一例を示すフローチャートである。まず、コア31Bは下記式(F)を用いて制御ベクトルを算出する(S131)。
制御ベクトル=(最新のタッチ位置−前回のタッチ位置)×係数C・・・式(F)
なお、この係数Cは正の小数である。式(A)と異なり、最新のタッチ位置と前回のタッチ位置の差分に係数C(C<1である正の数)が乗算されている。このため、同じ量だけスライド操作を行ったときには、ズーム時の方が通常時よりも制御ベクトルが小さく算出されることになる。
そして、コア31Bは上記式(D)を用いて照準G3のスクリーン面G4上の位置を算出する(S132)。ここで、上述したように、同じ量だけスライド操作を行ったときには、ズーム時の方が通常時よりも制御ベクトルが小さく算出される。このため、同じ量だけスライド操作を行ったときには、ズーム時の方が通常時よりも小さく照準G3の位置が移動することになる。この後、コア31Bは、ステップS132で算出したX座標の位置がスクリーン面G4の範囲外(照準移動可能範囲外)になるどうかを判断する(S133)。そして、ステップS132で算出したX座標の位置がスクリーン面G4の範囲外になるときには(S133でYES)、コア31Bは、照準G3のX座標をスクリーン面G4の境界の座標(算出した座標が超えてしまった境界の座標)に設定する(S134)。この後、コア31Bは、処理をステップS136に進める。
一方、ステップS132で算出したX座標の位置がスクリーン面G4の範囲内になるときには(S133でNO)、コア31Bは、照準G3のX座標をステップS132で算出した座標に設定する(S135)。この後、コア31Bは、処理をステップS136に進める。ステップS136では、コア31Bは、ステップS132で算出したY座標の位置がスクリーン面G4の範囲外(照準移動可能範囲外)になるどうかを判断する(S136)。ここで、ステップS132で算出したY座標の位置がスクリーン面G4の範囲外になるときには(S136でYES)、コア31Bは、照準G3のY座標をスクリーン面G4の境界の座標(算出した座標が超えてしまった境界の座標)に設定する(S137)。この後、コア31Bは、本ズーム時照準設定処理を終了させて、処理を図25のステップS31に進める。
また、ステップS132で算出したY座標の位置がスクリーン面G4の範囲内になるときには(S136でNO)、コア31Bは、照準G3のY座標をステップS132で算出した座標に設定する(S138)。この後、コア31Bは、本ズーム時照準設定処理を終了させて、処理を図25のステップS31に進める。
以上、地上戦ステージにおける照準G3の位置、仮想カメラCaの向き及び位置の制御処理を説明してきたが、以下に図28及び図33を用いて空中戦ステージにおける照準G3の位置、仮想カメラCaの向き及び位置の制御処理を説明する。
図33は図24で示すメイン処理のステップS9で実行される空中戦時キャラクタ制御処理の一例を示すフローチャートである。本処理では、コア31Bは、タッチオンかどうかを判断する(S140)。そして、タッチオンでないと判断したときには(S140でNO)、コア31Bは、地上戦時と同様、上記式(A)、式(B)及び式(C)を用いて制御ベクトルを算出する(S141)。この制御ベクトルの算出の方法は、図27のステップS58における方法と同一である。これによって、空中戦ステージにおいても通常時の地上戦ステージと同様に、スライド操作中だけでなくスライドオフ後においても照準G3の位置が変更されることになる。
次に、コア31Bは照準位置設定処理を実行する(S142)。ここで図28を参照して、ステップS142の照準位置設定処理を説明する。ステップS142の照準位置設定処理は、スクリーン面G4における照準G3の位置を設定するための処理であり、図28で示す通常時の地上戦ステージにおける照準位置処理と同じである。しかしながら、ステップS142の照準位置設定処理においては、通常時の地上戦ステージにおける照準位置設定処理とは、ステップS76とステップS79で判断されるX座標及びY座標における境界位置が異なった位置に設定されている。すなわち、ステップS142の照準位置設定処理では、ステップS76とステップS79で判断されるX座標及びY座標における境界位置がスクリーン面G4の端に設定されている。これによって、照準移動可能範囲はスクリーン面G4全域になる。
そして、コア31Bは、プレイヤキャラクタG1の位置を取得するとともに、パスに設定された対応点のうちプレイヤキャラクタG1の位置に最寄りの対応点を決定する。そして、コア31Bは、この決定した対応点に関連付けられた仮想カメラCaのデフォルトでの位置及び向きを取得する。この後、コア31Bは、取得した仮想カメラCaのデフォルトでの位置と、後述のステップS145でメインメモリ32に記憶された補正値に基づいて、仮想空間の仮想カメラCaの位置を算出してメインメモリ32に設定する(S143)。そして、コア31Bは、取得した仮想カメラCaのデフォルトでの向きに、仮想空間の仮想カメラCaの向きをメインメモリ32に設定する(S144)。なお、このメインメモリ32に設定された仮想カメラCaの位置及び向きに基づいて、図24のステップS11で仮想空間の描画が行われる。
そして、コア31Bは、設定されているスクリーン面G4における照準G3の位置に基づいて、照準Gのワールド座標上の位置を算出してメインメモリ32に設定する(S145)。なお、この設定された照準G3の位置に基づいて、図24のステップS11で照準G3が描画される。この後、コア31Bは、本空中戦時照準位置・カメラ制御処理を終了させ、図24のステップS10に処理を進める。
なお、ステップS140でYES、すなわち、タッチオンであると判断したときには、コア31Bは、制御パラメータを0にセットし(S146)、上記ステップS142の照準位置設定処理を実行する。これによって、空中戦ステージにおいても地上戦ステージと同様に、タッチパネル13に対してタッチオンするだけの操作で、照準G3の移動を停止させることができる。
上述したように、本実施形態では、タッチパネル13に対してプレイヤがスライド操作を行っている間にはこのスライド量に応じて仮想カメラの向きが変更されるのに加え、タッチパネル13に対してプレイヤがタッチ操作を行っていないときにも仮想カメラの向きを変更することが可能である。すなわち、プレイヤがスライドオフを行ったときには、タッチオフ直前のスライド操作(スライド方向、スライド速さ)に応じて慣性的に仮想カメラの向きが変更される。これによって、タッチ操作を行っていないときにも、プレイヤのそれまでの操作に応じて、仮想カメラCaの向きを変更することができる。すなわち、本実施形態では、自己の所望の向きに仮想カメラCaが向くまでスライド操作を行わなくても、スライドオフを行った後、慣性力によって仮想カメラCaが所望の向きになったときにタッチパネル13をタッチ(1点で停止してタッチ)するだけの操作で、プレイヤが自己の所望の向きに仮想カメラCaの向きを設定することができる。このため、仮想カメラCaの向きを変更するための操作性を向上させることができる。
また、タッチパネル全面におけるプレイヤの任意の位置でプレイヤがダブルタップ操作を行うことで、仮想カメラの画角の変更等によって画面をズームさせることができる。従って、オブジェクト上をタッチすることで画面がズームされていた従来技術に比較して、画面をズームさせるためのプレイヤの操作性を向上させることができる。また、入力座標に応じて仮想カメラの撮像方向が変更しないので、プレイヤは入力座標を気にせずに、簡単にズームアップ入力を行うことができる。
更に、本実施形態では、照準G3のスクリーン面G4上の位置及び三次元仮想空間での位置をプレイヤのタッチパネルに対するスライド操作に応じてデフォルト位置から変更することができる。これによって、常に表示画面の中央に位置するように照準G3が配置されていた従来技術のように、照準G3の位置を移動させるために、仮想カメラの向き又は位置を移動しなくてもよい。本実施形態では、タッチパネル13に対するスライド操作という直感的で簡易な操作で、仮想カメラの位置又は向きを変えることなくシューティング方向を変えることができる。
なお、本実施形態では、スライドオフ後における慣性力による照準G3の移動、仮想カメラCaの向き及び位置の移動が減速していく度合について、プレイヤの設定変更によって変更することができないが、プレイヤによって設定変更することができるようにしてもよい。例えば、プレイヤの設定変更によって、式(C)における減衰率を変更するか、所定の係数を乗算してもよい。
また、本実施形態では、スライド操作中及びスライドオフ後において、仮想カメラCaの向き及び位置が、プレイヤキャラクタG1に設定された代表点P2の位置を中心に回転するように変更されているが、この構成に限られず、プレイヤキャラクタG1外にプレイヤキャラクタG1と所定の位置関係で設定された所定位置を中心に回転するように変更されてもよい。例えば、回転の中心は、仮想カメラCaの位置であってもよいし、仮想カメラCaの注視点であってもよいし、特定のオブジェクトの位置であってもよい。また、仮想カメラCaの位置の変更を伴わず、仮想カメラCaの向きだけ回転する構成であってもよい。
そして、本実施形態では、本発明の情報処理装置をゲーム装置1に適用したものであるが、本発明はゲーム装置に限定されない。例えば、携帯電話機、簡易型携帯電話機(PHS)、携帯情報端末(PDA)等の携帯端末情報にも本発明の適用は可能である。また、据え置き型ゲーム機やパーソナルコンピュータにも本発明の適用は可能である。また、本発明の情報処理装置は、複数の装置(例えば、サーバとクライアント等)から構成されてもよい。例えば、上述した情報処理装置の処理のうち、主要な処理をサーバ側で実行し、他の処理をクライアント側で実行してもよい。
本発明の情報処理装置は、仮想空間における仮想カメラの設定を変更するための情報処理装置において有用である。
1…ゲーム装置
11…下側ハウジング
12…下側LCD
13…タッチパネル
14…操作子
15、26…LED
16…マイクロフォン用孔
21…上側ハウジング
22…上側LCD
23…内側カメラ
24…音抜き孔
25…外側カメラ
27…タッチペン
28…メモリカード
29…カートリッジ
31…CPU
32…メインメモリ
33…メモリ制御回路
34…保存用データメモリ
35…プリセットデータ用メモリ
36…メモリカードI/F
37…無線通信モジュール
38…RTC
39…電源回路
40…I/F回路
41…マイク
42…アンプ

Claims (27)

  1. 座標入力手段を含む操作手段と表示手段とを利用可能な情報処理装置のコンピュータを、
    仮想空間内に仮想カメラを配置する仮想カメラ配置手段、
    前記仮想カメラにより前記仮想空間を撮影して仮想画像を生成する仮想画像生成手段、
    前記仮想画像生成手段により生成された仮想画像を前記表示手段に表示させる表示処理手段、
    前記座標入力手段に対してプレイヤが座標入力している入力状態か、当該座標入力をしていない非入力状態かを前記座標入力手段からの出力信号に基づいて判別する操作判別手段、および
    前記非入力状態であると前記操作判別手段によって判別されたときに、前記非入力状態になる直前の前記座標入力手段に対する入力座標の変化に基づいて前記仮想カメラの撮像方向を変更する第1カメラ向き変更手段、
    として機能させる情報処理プログラム。
  2. 前記カメラ向き変更手段は、前記非入力状態になる直前における前記座標入力手段に対する入力座標の変化方向に応じた方向に前記仮想カメラの撮像方向を回転させる、請求項1に記載の情報処理プログラム。
  3. 前記カメラ向き変更手段は、前記非入力状態になる直前の前記座標入力手段に対する入力座標の変化度合いに応じた角速度で前記仮想カメラの撮像方向を回転させ、かつ当該角速度を時間の経過とともに0になるまで減速するように、前記撮像方向を変更する、
    請求項2に記載の情報処理プログラム。
  4. 前記第1カメラ向き変更手段は、当該第1カメラ向き変更手段により撮像方向が変更されている途中に、前記操作判別手段によって前記非入力状態から前記入力状態に変化したときには、当該第1カメラ向き変更手段による前記撮像方向の変更を停止する、請求項2に記載の情報処理プログラム。
  5. 前記コンピュータを、
    前記仮想空間に所定のオブジェクトを配置するオブジェクト配置手段、
    として更に機能させ、
    前記第1カメラ向き変更手段は、当該第1カメラ向き変更手段により撮像方向が変更されている途中に、撮像方向に前記オブジェクトが位置するときには、前記角速度を減速する減速力を強くする、請求項3に記載の情報処理プログラム。
  6. 前記コンピュータを、
    前記仮想空間にプレイヤオブジェクトを配置するプレイヤオブジェクト配置手段、
    として更に機能させ、
    前記所定のオブジェクトは、前記プレイヤオブジェクトに所定の動作を行った特定のノンプレイヤオブジェクトである、
    請求項5に記載の情報処理プログラム。
  7. 前記コンピュータを、
    前記仮想空間において所定の射撃位置から仮想的に射撃を行う射撃手段、
    前記射撃手段による射撃方向を示す照準を前記仮想画像内に表示する照準表示手段、および
    前記仮想空間にオブジェクトを配置するオブジェクト配置手段、
    として更に機能させ、
    前記第1カメラ向き変更手段は、前記仮想画像において前記照準の位置から所定範囲以内に所定のオブジェクトが位置するときには、前記角速度を減速する減速力を強くする、
    請求項3に記載の情報処理プログラム。
  8. 前記コンピュータを、
    前記仮想空間にプレイヤオブジェクトを配置するプレイヤオブジェクト配置手段、
    として更に機能させ、
    前記所定のオブジェクトは、前記プレイヤオブジェクトに所定の動作を行った特定のノンプレイヤオブジェクトである、
    請求項7に記載の情報処理プログラム。
  9. 前記コンピュータを、
    前記仮想空間にプレイヤオブジェクトを配置するプレイヤオブジェクト配置手段、
    として更に機能させ、
    前記第1カメラ向き変更手段は、前記仮想空間において前記プレイヤオブジェクトから所定範囲以内、又は仮想カメラから所定範囲以内に所定数以上のオブジェクトが位置するときには、撮像方向に前記オブジェクトが位置するときであっても、前記角速度を減速する減速力を強くしない、
    請求項5に記載の情報処理プログラム。
  10. 前記第1カメラ向き変更手段は、当該第1カメラ向き変更手段により撮像方向が変更されている途中に、撮像方向がプレイヤキャラクタが進行すべき方向と一致するときには、前記角速度を減速する減速力を強くする、請求項3に記載の情報処理プログラム。
  11. 前記コンピュータを、
    前記仮想空間に所定のオブジェクトを配置するオブジェクト配置手段、
    前記入力状態であると前記操作判別手段によって判別されている間において、前記座標入力手段に対する入力座標の変化方向および変化量に基づいて、前記仮想カメラの撮像方向を変更する第2カメラ向き変更手段、
    として更に機能させ、
    前記第1カメラ向き変更手段は、当該第1カメラ向き変更手段により撮像方向が変更されている途中においては、撮像方向に前記オブジェクトが位置するときには、前記角速度を減速する減速力を強くし、前記第2カメラ向き変更手段は、当該第2カメラ向き変更手段により撮像方向が変更されている途中においては、撮像方向に前記オブジェクトが位置するか否かに関わらず、前記変化方向および変化量に基づいて撮像方向を変更する、請求項3に記載の情報処理プログラム。
  12. 前記コンピュータを、
    前記角速度の減速度合いの設定を変更するための設定変更指示をプレイヤから受け付ける指示受付手段、
    として更に機能させ、
    前記第1カメラ向き変更手段は、前記指示受付手段で受け付けた設定変更指示に応じて、前記角速度を減速する減速力を変更する、
    請求項3に記載の情報処理プログラム。
  13. 前記第1カメラ向き変更手段は、前記入力状態であると前記操作判別手段によって判別されたとき、この入力状態を判別した直前の前記座標入力手段に対する入力座標の変化に基づいて前記仮想カメラの撮像方向を変更する、
    請求項1に記載の情報処理プログラム。
  14. 前記第1カメラ向き変更手段は、前記仮想空間における垂直方向への前記仮想カメラの撮像方向の変更については、所定範囲内でのみ行い、前記仮想空間における水平方向への前記仮想カメラの撮像方向の変更については、変更可能な範囲の制限なく変更を行う、
    請求項1に記載の情報処理プログラム。
  15. 前記第1カメラ向き変更手段は、前記仮想空間における垂直方向への前記仮想カメラの撮像方向の変更については所定範囲内でのみ行い、前記仮想カメラの撮像方向が前記所定範囲の境界に到ったときには、所定の初期の向きに戻すように前記仮想カメラの撮像方向を変更する、
    請求項1に記載の情報処理プログラム。
  16. 前記コンピュータを、
    前記仮想空間において所定の射撃位置から仮想的に射撃を行う射撃手段、
    前記射撃手段による射撃方向を示す照準を前記仮想画像内に表示する照準表示手段、および
    前記非入力状態であると前記操作判別手段によって判別されたときに、前記非入力状態になる直前の前記座標入力手段に対する入力座標の変化に基づいて、前記表示手段の所定範囲に限って照準の表示位置を移動する照準移動手段、
    として更に機能させ、
    前記第1カメラ向き変更手段は、前記非入力状態であると前記操作判別手段によって判別されたときに、前記照準が前記所定範囲の境界に到った後に、前記仮想カメラの撮像方向の変更を行う、
    請求項1に記載の情報処理プログラム。
  17. 前記コンピュータを、
    前記非入力状態になる直前の前記座標入力手段に対する入力座標の変化に基づいて第1の制御パラメータを算出するパラメータ算出手段、
    として更に機能させ、
    前記照準移動手段は、第1の制御パラメータに基づいて、前記所定範囲に限って前記照準の位置を移動し、
    前記第1カメラ向き変更手段は、第1の制御パラメータから前記照準の移動に使用した成分を除いた第2のパラメータを算出し、この算出した第2の制御パラメータに基づいて前記仮想カメラの撮像方向を変更する、
    請求項16に記載の情報処理プログラム。
  18. コンピュータを、
    前記入力状態であると前記操作判別手段によって判別されている間において、前記仮想カメラの撮像方向を変更する第2カメラ向き変更手段、
    として更に機能させ、
    前記照準移動手段は、前記入力状態であると前記操作判別手段によって判別されたとき、前記座標入力手段に対する入力座標の変化方向および変化量に基づいて前記所定範囲に限って照準の位置を移動し、
    前記第2カメラ向き変更手段は、前記入力状態であると前記操作判別手段によって判別されたとき、前記照準オブジェクトが前記所定範囲の境界に到った後に、前記入力座標の変化方向および変化量に基づいて前記仮想カメラの撮像方向の変更を行う、
    請求項16に記載の情報処理プログラム。
  19. 前記射撃手段は、前記操作手段においてプレイヤからの射撃指示を受け付けたときには、前記仮想空間において仮想的に射撃を行い、
    前記照準移動手段は、前記照準を移動した後、座標入力及び/又は射撃指示を前記操作手段において所定期間受け付けなかったときには、前記照準を所定の初期の位置に移動させる、
    請求項16に記載の情報処理プログラム。
  20. 前記コンピュータを、
    前記照準を移動した後、座標入力及び/又は前記射撃指示を前記操作手段において所定期間受け付けなかったときには、前記表示手段に前記照準を表示させないための消去処理を行う照準消去手段、
    として更に機能させる請求項19に記載の情報処理プログラム。
  21. 前記照準消去手段は、前記消去処理の実行後、座標入力及び/又は射撃指示を前記操作手段において受け付けたときに、前記照準を前記表示手段に再度表示するための処理を実行する、
    請求項20に記載の情報処理プログラム。
  22. 前記コンピュータを、
    前記操作判別手段によって前記入力状態であると判別されたときには、前回の入力座標と現在の入力座標との差分に基づく第1の制御パラメータを算出し、前記操作判別手段によって前記非入力状態であると判別されたときには、前記非入力状態になる直前の数回分の入力座標について、各入力座標と当該各入力座標の前回の入力座標との差の平均値を算出し、この算出した平均値に基づいて第1の制御パラメータを算出するパラメータ算出手段、
    として機能させ、
    前記第1カメラ向き変更手段は、第1のパラメータに基づいて前記仮想カメラの撮像方向を変更する、
    請求項1に記載の情報処理プログラム。
  23. 前記コンピュータを、
    前記操作判別手段によって前記入力状態であると判別されたときには、座標入力手段に対して所定の時間内で所定回数の断続的な座標入力を行う連続入力を受け付けたかどうかを判断する連続入力判断手段、および
    前記連続入力判断手段によって前記連続入力を受け付けたと判断されたときには、ズームをおこなうズーム処理手段
    として更に機能させる、
    請求項1に記載の情報処理プログラム。
  24. 前記コンピュータを、
    前記仮想カメラの撮像方向及び位置をデフォルトに戻すためのデフォルト戻し指示を受け付けるデフォルト戻し指示受付手段、
    として更に機能させ、
    前記第1カメラ向き変更手段は、前記デフォルト戻し指示受付手段で前記デフォルト戻し指示を受け付けたときには、前記仮想カメラの撮像方向を所定の初期の向きに変更するとともに前記仮想カメラの位置を所定の初期の位置に変更する、
    請求項1に記載の情報処理プログラム。
  25. 座標入力手段と表示手段とを利用可能な情報処理装置であって、
    仮想空間に仮想カメラを配置する仮想カメラ配置手段、
    前記仮想カメラにより前記仮想空間を撮影して仮想画像を生成する仮想画像生成手段、
    前記仮想画像生成手段により生成された仮想画像を前記表示手段に表示させる表示処理手段、
    前記座標入力手段に対するプレイヤの座標入力が有る入力状態か、当該座標入力が無い非入力状態かを前記座標入力手段からの出力信号に基づいて判別する操作判別手段、および
    前記非入力状態であると前記操作判別手段によって判別されたときに、前記非入力状態になる直前の前記座標入力手段に対する座標入力の変化に基づいて前記仮想カメラの撮像方向を変更する第1カメラ向き変更手段、
    を備えた情報処理装置。
  26. 座標入力手段と表示手段とを利用可能な情報処理装置であって、
    仮想空間に仮想カメラを配置する仮想カメラ配置手段、
    前記仮想カメラにより前記仮想空間を撮影して仮想画像を生成する仮想画像生成手段、
    前記仮想画像生成手段により生成された仮想画像を前記表示手段に表示させる表示処理手段、
    前記座標入力手段に対するプレイヤの座標入力が有る入力状態か、当該座標入力が無い非入力状態かを前記座標入力手段からの出力信号に基づいて判別する操作判別手段、および
    前記非入力状態であると前記操作判別手段によって判別されたときには、前記非入力状態になる直前の前記座標入力手段に対する座標入力の変化に基づいて前記仮想カメラの撮像方向を変更する第1カメラ向き変更手段、
    を備えたシステム。
  27. 仮想カメラ配置手段が仮想空間に仮想カメラを配置するカメラ配置ステップ、
    仮想画像生成手段が、前記仮想カメラにより前記仮想空間を撮影して仮想画像を生成する仮想画像生成ステップ、
    表示処理手段が、前記仮想画像生成手段によって生成された仮想画像を表示手段に表示させる表示ステップ、
    操作判別手段が、座標入力手段に対するプレイヤの座標入力が有る入力状態か、当該座標入力が無い非入力状態かを前記座標入力手段からの出力信号に基づいて判別する操作判別ステップ、および
    第1カメラ向き変更手段が、前記非入力状態であると前記操作判別手段によって判別されたときに、前記非入力状態になる直前の前記座標入力手段に対する座標入力の変化に基づいて前記仮想カメラの撮像方向を変更する撮像方向変更ステップ、
    を含む情報処理方法。
JP2010134539A 2010-06-11 2010-06-11 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法 Active JP5800473B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010134539A JP5800473B2 (ja) 2010-06-11 2010-06-11 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
US13/158,839 US9149720B2 (en) 2010-06-11 2011-06-13 Computer-readable storage medium having information processing program stored therein, information processing apparatus, information processing system, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010134539A JP5800473B2 (ja) 2010-06-11 2010-06-11 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2011258151A true JP2011258151A (ja) 2011-12-22
JP5800473B2 JP5800473B2 (ja) 2015-10-28

Family

ID=45438274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010134539A Active JP5800473B2 (ja) 2010-06-11 2010-06-11 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法

Country Status (2)

Country Link
US (1) US9149720B2 (ja)
JP (1) JP5800473B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013533550A (ja) * 2010-07-07 2013-08-22 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ウィンドウオブジェクト慣性移動の実現方法及び実現装置
JP2014208258A (ja) * 2014-06-12 2014-11-06 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP2016502171A (ja) * 2012-10-16 2016-01-21 ジョン、ジェ ウンJEON, Jae Woong 3次元の仮想空間内で仮想カメラを制御するための方法、システムおよびコンピュータ読取可能な記録媒体
US9283473B2 (en) 2012-10-26 2016-03-15 DeNA Co., Ltd. Game providing device
JP2016077462A (ja) * 2014-10-15 2016-05-16 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理方法、および情報処理システム
JP2017000794A (ja) * 2016-08-19 2017-01-05 グリー株式会社 オンラインシューティングゲームの提供装置及びその方法
US10039980B2 (en) 2012-08-31 2018-08-07 Kabushiki Kaisha Square Enix Video game processing apparatus and video game processing program product
CN112691364A (zh) * 2020-10-30 2021-04-23 上海酷量信息技术有限公司 一种在直播中利用转盘进行互动的系统和方法
JP2021512445A (ja) * 2018-02-09 2021-05-13 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 視野角調整方法、電子機器、及び記憶媒体

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130099420A (ko) * 2012-02-29 2013-09-06 주식회사 팬택 정전용량 방식의 터치 스크린을 구비하는 단말기와 그의 터치 위치 검출 방법
US9213948B2 (en) * 2012-04-27 2015-12-15 Salestree Inc. System and method for process data management and organization
US9561436B2 (en) * 2013-02-26 2017-02-07 Gree, Inc. Shooting game control method and game system
CN103488413B (zh) * 2013-04-26 2016-12-28 展讯通信(上海)有限公司 触控设备及在触控设备上显示3d界面的控制方法和装置
USD755809S1 (en) * 2013-12-30 2016-05-10 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US10600245B1 (en) * 2014-05-28 2020-03-24 Lucasfilm Entertainment Company Ltd. Navigating a virtual environment of a media content item
JP6385725B2 (ja) 2014-06-06 2018-09-05 任天堂株式会社 情報処理システム及び情報処理プログラム
JP5735696B1 (ja) * 2014-11-05 2015-06-17 株式会社 ディー・エヌ・エー ゲームプログラム、及び、情報処理装置
JP6402826B2 (ja) * 2015-06-04 2018-10-10 株式会社リコー 情報処理装置、画像表示方法、プログラム
JP6598522B2 (ja) * 2015-06-12 2019-10-30 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法、及び情報処理プログラム
JP2017062598A (ja) * 2015-09-24 2017-03-30 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
US10293253B2 (en) 2015-11-27 2019-05-21 Gree, Inc. Program, game control method, and information processing apparatus
US10102423B2 (en) * 2016-06-30 2018-10-16 Snap Inc. Object modeling and replacement in a video stream
JP6185123B1 (ja) 2016-08-18 2017-08-23 グリー株式会社 プログラム、制御方法、及び情報処理装置
CN107050861B (zh) * 2017-04-24 2020-09-29 网易(杭州)网络有限公司 镜头锁定目标的方法、装置、存储介质和处理器
CN107213636B (zh) * 2017-05-31 2021-07-23 网易(杭州)网络有限公司 镜头移动方法、装置、存储介质和处理器
CN107168611B (zh) * 2017-06-16 2018-12-28 网易(杭州)网络有限公司 信息处理方法、装置、电子设备及存储介质
CN109568956B (zh) * 2019-01-10 2020-03-10 网易(杭州)网络有限公司 游戏中的显示控制方法、装置、存储介质、处理器及终端
CN109847336B (zh) * 2019-02-26 2021-08-06 腾讯科技(深圳)有限公司 虚拟场景显示方法、装置、电子设备及存储介质
JP7341685B2 (ja) * 2019-03-19 2023-09-11 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体
JP7257370B2 (ja) * 2020-11-18 2023-04-13 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10161628A (ja) * 1996-11-26 1998-06-19 Sony Corp 画面のスクロール制御装置及びスクロール制御方法
JP2001046743A (ja) * 1999-08-09 2001-02-20 Sega Corp 射撃ゲーム方法
JP2004117830A (ja) * 2002-09-26 2004-04-15 Denso Corp ナビゲーション装置
JP2008068060A (ja) * 2006-09-14 2008-03-27 Nintendo Co Ltd ポインティング入力を利用した、3d視点およびオブジェクト指定の制御方法および装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4662495B2 (ja) * 2007-11-30 2011-03-30 株式会社スクウェア・エニックス 画像生成装置、画像生成プログラム、画像生成プログラム記録媒体及び画像生成方法
JP5390115B2 (ja) * 2008-03-31 2014-01-15 株式会社バンダイナムコゲームス プログラム、ゲームシステム
JP5138520B2 (ja) * 2008-09-16 2013-02-06 株式会社バンダイナムコゲームス プログラム及びゲーム装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10161628A (ja) * 1996-11-26 1998-06-19 Sony Corp 画面のスクロール制御装置及びスクロール制御方法
JP2001046743A (ja) * 1999-08-09 2001-02-20 Sega Corp 射撃ゲーム方法
JP2004117830A (ja) * 2002-09-26 2004-04-15 Denso Corp ナビゲーション装置
JP2008068060A (ja) * 2006-09-14 2008-03-27 Nintendo Co Ltd ポインティング入力を利用した、3d視点およびオブジェクト指定の制御方法および装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200900203002; 川添 歩 AYUMU KAWAZOE: 'iPhone×企業情報システム-次世代UIのガイドライン iPhone and Corporate IT Systems - Next-Gen' DESIGN IT! magazine vol.1 第1巻, 20080630, 10-19, 株式会社リックテレコム RIC TELECOM. *
JPN6014028314; 川添 歩 AYUMU KAWAZOE: 'iPhone×企業情報システム-次世代UIのガイドライン iPhone and Corporate IT Systems - Next-Gen' DESIGN IT! magazine vol.1 第1巻, 20080630, 10-19, 株式会社リックテレコム RIC TELECOM. *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013533550A (ja) * 2010-07-07 2013-08-22 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ウィンドウオブジェクト慣性移動の実現方法及び実現装置
US10543428B2 (en) 2012-08-31 2020-01-28 Kabushiki Kaisha Square Enix Video game processing apparatus and video game processing program product
US11383160B2 (en) 2012-08-31 2022-07-12 Kabushiki Kaisha Square Enix Video game processing apparatus and video game processing program product
US10039980B2 (en) 2012-08-31 2018-08-07 Kabushiki Kaisha Square Enix Video game processing apparatus and video game processing program product
US10780345B2 (en) 2012-08-31 2020-09-22 Kabushiki Kaisha Square Enix Video game processing apparatus and video game processing program product
JP2016502171A (ja) * 2012-10-16 2016-01-21 ジョン、ジェ ウンJEON, Jae Woong 3次元の仮想空間内で仮想カメラを制御するための方法、システムおよびコンピュータ読取可能な記録媒体
JP2018160260A (ja) * 2012-10-16 2018-10-11 ジョン、ジェ ウンJEON, Jae Woong 3次元の仮想空間内で仮想カメラを制御するための方法、システムおよびコンピュータ読取可能な記録媒体
US9283473B2 (en) 2012-10-26 2016-03-15 DeNA Co., Ltd. Game providing device
JP2014208258A (ja) * 2014-06-12 2014-11-06 株式会社スクウェア・エニックス ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP2016077462A (ja) * 2014-10-15 2016-05-16 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理方法、および情報処理システム
US10434402B2 (en) 2014-10-15 2019-10-08 Nintendo Co., Ltd. Information processing apparatus, computer-readable non-transitory storage medium having stored therein information processing program, information processing method, and information processing system
JP2017000794A (ja) * 2016-08-19 2017-01-05 グリー株式会社 オンラインシューティングゲームの提供装置及びその方法
JP2021512445A (ja) * 2018-02-09 2021-05-13 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 視野角調整方法、電子機器、及び記憶媒体
JP7045486B2 (ja) 2018-02-09 2022-03-31 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド 視野角調整方法、電子機器、及びコンピュータプログラム
CN112691364A (zh) * 2020-10-30 2021-04-23 上海酷量信息技术有限公司 一种在直播中利用转盘进行互动的系统和方法

Also Published As

Publication number Publication date
JP5800473B2 (ja) 2015-10-28
US9149720B2 (en) 2015-10-06
US20120007882A1 (en) 2012-01-12

Similar Documents

Publication Publication Date Title
JP5800473B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP5622447B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
JP2011255119A (ja) 情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法
CN109126129B (zh) 在虚拟环境中对虚拟物品进行拾取的方法、装置及终端
CN108815851B (zh) 在虚拟环境中射击时的界面显示方法、设备及存储介质
CN110755841B (zh) 虚拟环境中道具的切换方法、装置、设备及可读存储介质
US8882591B2 (en) Storage medium having image display program stored therein, image display apparatus, image display system, and image display method
CN110613938B (zh) 控制虚拟对象使用虚拟道具的方法、终端及存储介质
CN111589124B (zh) 虚拟对象的控制方法、装置、终端及存储介质
JP2021520978A (ja) 仮想対象と投擲物とのインタラクションを制御する方法及びその装置、並びにコンピュータプログラム
CN110585710B (zh) 互动道具控制方法、装置、终端及存储介质
JP6117464B2 (ja) ゲームシステム、ゲーム処理方法、ゲームプログラム、およびゲーム装置
CN112121422B (zh) 界面显示方法、装置、设备及存储介质
CN110694273A (zh) 控制虚拟对象使用道具的方法、装置、终端及存储介质
CN108786110B (zh) 虚拟环境中的瞄准镜显示方法、设备及存储介质
CN110585695B (zh) 在虚拟环境中使用近战道具的方法、装置、设备及介质
JP5690135B2 (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
CN109407959B (zh) 虚拟场景中的虚拟对象控制方法、设备以及存储介质
JP6581341B2 (ja) 情報処理装置、情報処理プログラム、情報処理方法、および情報処理システム
CN111760285B (zh) 虚拟场景的显示方法、装置、设备及介质
CN111265857A (zh) 虚拟场景中的弹道控制方法、装置、设备及存储介质
JP7558985B2 (ja) 画像処理システム、画像処理プログラム、および画像処理方法
CN111330278A (zh) 基于虚拟环境的动画播放方法、装置、设备及介质
CN111249726B (zh) 虚拟环境中虚拟道具的操作方法、装置、设备及可读介质
CN113289336A (zh) 在虚拟环境中标记物品的方法、装置、设备及介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141006

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141014

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20141114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150825

R150 Certificate of patent or registration of utility model

Ref document number: 5800473

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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